diff --git a/py/pyproject.toml b/py/pyproject.toml index 413e7f88..726928ec 100644 --- a/py/pyproject.toml +++ b/py/pyproject.toml @@ -286,13 +286,13 @@ conflicts = [ [tool.braintrust.matrix] [tool.braintrust.matrix.openai] -latest = "openai==2.33.0" +latest = "openai==2.36.0" "1.92.0" = "openai==1.92.0" "1.77.0" = "openai==1.77.0" "1.71.0" = "openai==1.71.0" [tool.braintrust.matrix.anthropic] -latest = "anthropic==0.97.0" +latest = "anthropic==0.100.0" "0.48.0" = "anthropic==0.48.0" [tool.braintrust.matrix.cohere] @@ -300,7 +300,7 @@ latest = "cohere==6.1.0" "5.0.0" = "cohere==5.0.0" [tool.braintrust.matrix.openai-agents] -latest = "openai-agents==0.15.1" +latest = "openai-agents==0.17.1" "0.13.6" = "openai-agents==0.13.6" "0.0.19" = "openai-agents==0.0.19" @@ -309,11 +309,11 @@ latest = "litellm==1.83.14" "1.74.0" = "litellm==1.74.0" [tool.braintrust.matrix.claude-agent-sdk] -latest = "claude-agent-sdk==0.1.72" +latest = "claude-agent-sdk==0.1.80" "0.1.10" = "claude-agent-sdk==0.1.10" [tool.braintrust.matrix.agno] -latest = "agno==2.6.4" +latest = "agno==2.6.5" "2.4.0" = "agno==2.4.0" "2.1.0" = "agno==2.1.0" @@ -330,15 +330,15 @@ latest = "autogen-ext[openai]==0.7.5" "0.7.0" = "autogen-ext[openai]==0.7.0" [tool.braintrust.matrix.strands-agents] -latest = "strands-agents==1.38.0" +latest = "strands-agents==1.39.0" "1.20.0" = "strands-agents==1.20.0" [tool.braintrust.matrix.pydantic-ai-integration] -latest = "pydantic-ai==1.89.1" +latest = "pydantic-ai==1.93.0" "1.10.0" = "pydantic-ai==1.10.0" [tool.braintrust.matrix.pydantic-ai-wrap-openai] -latest = "pydantic-ai==1.89.1" +latest = "pydantic-ai==1.93.0" "1.0.1" = "pydantic-ai==1.0.1" "0.1.9" = "pydantic-ai==0.1.9" @@ -347,11 +347,12 @@ latest = "autoevals==0.2.0" "0.0.129" = "autoevals==0.0.129" [tool.braintrust.matrix.google-genai] -latest = "google-genai==1.74.0" +latest = "google-genai==2.0.1" +"1.75.0" = "google-genai==1.75.0" "1.30.0" = "google-genai==1.30.0" [tool.braintrust.matrix.dspy] -latest = "dspy==3.2.0" +latest = "dspy==3.2.1" "2.6.0" = "dspy==2.6.0" [tool.braintrust.matrix.crewai] @@ -362,11 +363,11 @@ latest = "crewai==1.14.4" "1.13.0" = "crewai==1.13.0" [tool.braintrust.matrix.google-adk] -latest = "google-adk==1.32.0" +latest = "google-adk==1.33.0" "1.14.1" = "google-adk==1.14.1" [tool.braintrust.matrix.langchain-core] -latest = "langchain-core==1.3.2" +latest = "langchain-core==1.3.3" "0.3.28" = "langchain-core==0.3.28" [tool.braintrust.matrix.llama-index-core] @@ -378,7 +379,7 @@ latest = "openrouter==0.9.1" "0.6.0" = "openrouter==0.6.0" [tool.braintrust.matrix.mistralai] -latest = "mistralai==2.4.4" +latest = "mistralai==2.4.5" "1.12.4" = "mistralai==1.12.4" [tool.braintrust.matrix.temporalio] diff --git a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_agent_metadata_with_attachment.yaml b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_agent_metadata_with_attachment.yaml index 27d62a84..2184ad23 100644 --- a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_agent_metadata_with_attachment.yaml +++ b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_agent_metadata_with_attachment.yaml @@ -10,9 +10,9 @@ interactions: Content-Type: - application/json user-agent: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent response: @@ -26,8 +26,8 @@ interactions: 5,\n \"totalTokenCount\": 46,\n \"promptTokensDetails\": [\n {\n \ \"modality\": \"TEXT\",\n \"tokenCount\": 41\n }\n ],\n \ \"candidatesTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n - \ \"tokenCount\": 5\n }\n ]\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n - \ \"responseId\": \"ej_iafmqB5Oa9MoPzOjrmQ4\"\n}\n" + \ \"tokenCount\": 5\n }\n ],\n \"serviceTier\": \"standard\"\n + \ },\n \"modelVersion\": \"gemini-2.0-flash\",\n \"responseId\": \"rPMBasaUM4WN_PUPldbV0Qc\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -36,11 +36,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Fri, 17 Apr 2026 14:11:06 GMT + - Mon, 11 May 2026 15:20:13 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=595 + - gfet4t7; dur=633 Transfer-Encoding: - chunked Vary: @@ -72,24 +72,23 @@ interactions: Content-Type: - application/json user-agent: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent response: body: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": - [\n {\n \"text\": \"I have used the tool with the query - \\\"test\\\". The tool returned: \\\"Processed: test\\\".\\n\"\n }\n + [\n {\n \"text\": \"Processed: test\\n\"\n }\n \ ],\n \"role\": \"model\"\n },\n \"finishReason\": - \"STOP\",\n \"avgLogprobs\": -0.03503913538796561\n }\n ],\n \"usageMetadata\": - {\n \"promptTokenCount\": 53,\n \"candidatesTokenCount\": 21,\n \"totalTokenCount\": - 74,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \"STOP\",\n \"avgLogprobs\": -0.04451884329319\n }\n ],\n \"usageMetadata\": + {\n \"promptTokenCount\": 53,\n \"candidatesTokenCount\": 4,\n \"totalTokenCount\": + 57,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \ \"tokenCount\": 53\n }\n ],\n \"candidatesTokensDetails\": - [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 21\n - \ }\n ]\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n \"responseId\": - \"ej_iac6ZN_-g1MkP89XQ2Aw\"\n}\n" + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 4\n }\n + \ ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n + \ \"responseId\": \"rfMBaveKJLLj_uMP_K264Qo\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -98,11 +97,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Fri, 17 Apr 2026 14:11:07 GMT + - Mon, 11 May 2026 15:20:14 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=627 + - gfet4t7; dur=563 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_binary_data_attachment_conversion.yaml b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_binary_data_attachment_conversion.yaml index 293ee2ef..2743d9a8 100644 --- a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_binary_data_attachment_conversion.yaml +++ b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_binary_data_attachment_conversion.yaml @@ -9,9 +9,9 @@ interactions: Content-Type: - application/json user-agent: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent response: @@ -19,14 +19,14 @@ interactions: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": [\n {\n \"text\": \"The image is red.\"\n }\n \ ],\n \"role\": \"model\"\n },\n \"finishReason\": - \"STOP\",\n \"avgLogprobs\": -0.012568791210651398\n }\n ],\n \"usageMetadata\": + \"STOP\",\n \"avgLogprobs\": -0.011378899961709977\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": 289,\n \"candidatesTokenCount\": 5,\n \"totalTokenCount\": 294,\n \"promptTokensDetails\": [\n {\n \"modality\": \"IMAGE\",\n \ \"tokenCount\": 258\n },\n {\n \"modality\": \"TEXT\",\n \ \"tokenCount\": 31\n }\n ],\n \"candidatesTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 5\n }\n - \ ]\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n \"responseId\": - \"cT_iafXLI-2z1MkP9L7ykQc\"\n}\n" + \ ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n + \ \"responseId\": \"p_MBat-hIu6c_uMPnp-boAc\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -35,11 +35,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Fri, 17 Apr 2026 14:10:58 GMT + - Mon, 11 May 2026 15:20:08 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=832 + - gfet4t7; dur=939 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_braintrust_integration.yaml b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_braintrust_integration.yaml index 0eca3831..a3b54454 100644 --- a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_braintrust_integration.yaml +++ b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_braintrust_integration.yaml @@ -11,9 +11,9 @@ interactions: Content-Type: - application/json user-agent: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent response: @@ -27,8 +27,9 @@ interactions: 57,\n \"candidatesTokenCount\": 6,\n \"totalTokenCount\": 63,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 57\n \ }\n ],\n \"candidatesTokensDetails\": [\n {\n \"modality\": - \"TEXT\",\n \"tokenCount\": 6\n }\n ]\n },\n \"modelVersion\": - \"gemini-2.0-flash\",\n \"responseId\": \"bD_iaYDKNM6s1MkP74-0mAc\"\n}\n" + \"TEXT\",\n \"tokenCount\": 6\n }\n ],\n \"serviceTier\": + \"standard\"\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n \"responseId\": + \"o_MBatyPH7mM_PUP5cSkyAs\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -37,11 +38,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Fri, 17 Apr 2026 14:10:53 GMT + - Mon, 11 May 2026 15:20:04 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=622 + - gfet4t7; dur=616 Transfer-Encoding: - chunked Vary: @@ -59,164 +60,6 @@ interactions: status: code: 200 message: OK -- request: - body: '{"rows": [{"context": {"caller_filename": "/Users/abhijeetprasad/workspace/braintrust-sdk-python/py/.nox/test_google_adk-latest/lib/python3.14/site-packages/google/adk/runners.py", - "caller_functionname": "_invoke_run_async", "caller_lineno": 479}, "created": - "2026-04-17T14:10:48.686708+00:00", "id": "5e172b65-ecf1-4de9-9748-b63648da7fa3", - "input": {"new_message": {"parts": [{"text": "hello"}], "role": "user"}}, "log_id": - "g", "metadata": {"run_config": {"input_audio_transcription": {}, "max_llm_calls": - 500, "output_audio_transcription": {}, "save_input_blobs_as_artifacts": false, - "save_live_audio": false, "save_live_blob": false, "streaming_mode": "StreamingMode.NONE", - "support_cfc": false}, "session_id": "test-session-thread", "state_delta": null, - "user_id": "test-user"}, "metrics": {"end": 1776435048.689106, "start": 1776435048.6867058}, - "output": {"actions": {"artifact_delta": {}, "requested_auth_configs": {}, "requested_tool_confirmations": - {}, "state_delta": {}}, "author": "echo_agent", "content": {"parts": [{"text": - "ok"}], "role": "model"}, "id": "b644c795-c71b-4116-9d62-6446836b4e5b", "invocation_id": - "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", "timestamp": 1776435048.688139}, "project_id": - "test_adk", "root_span_id": "dcda4d0b-1606-42fd-a077-03855faa40aa", "span_attributes": - {"exec_counter": 2, "name": "invocation [thread_bridge_app]", "type": "task"}, - "span_id": "ae903ac6-8ca2-4ad8-928b-25f3426df859", "span_parents": ["dcda4d0b-1606-42fd-a077-03855faa40aa"]},{"context": - {"caller_filename": "/Users/abhijeetprasad/workspace/braintrust-sdk-python/py/.nox/test_google_adk-latest/lib/python3.14/site-packages/google/adk/runners.py", - "caller_functionname": "execute", "caller_lineno": 606}, "created": "2026-04-17T14:10:48.687223+00:00", - "id": "46a139df-227f-44c2-802f-2677634a7f38", "log_id": "g", "metadata": {"parent_context": - {"agent": {"description": "", "name": "echo_agent", "sub_agents": []}, "agent_states": - {}, "end_invocation": false, "end_of_agents": {}, "invocation_id": "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", - "plugin_manager": "", "run_config": {"input_audio_transcription": {}, "max_llm_calls": - 500, "output_audio_transcription": {}, "save_input_blobs_as_artifacts": false, - "save_live_audio": false, "save_live_blob": false, "streaming_mode": "StreamingMode.NONE", - "support_cfc": false}, "session": {"app_name": "thread_bridge_app", "events": - [{"actions": {"artifact_delta": {}, "requested_auth_configs": {}, "requested_tool_confirmations": - {}, "state_delta": {}}, "author": "user", "content": {"parts": [{"text": "hello"}], - "role": "user"}, "id": "dbdd5fb8-d657-4f7a-a8a9-1d0c35205fb5", "invocation_id": - "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", "timestamp": 1776435048.687071}], - "id": "test-session-thread", "last_update_time": 1776435048.687071, "state": - {}, "user_id": "test-user"}, "session_service": "", "token_compaction_checked": false, "user_content": - {"parts": [{"text": "hello"}], "role": "user"}}}, "metrics": {"end": 1776435048.689078, - "start": 1776435048.687222}, "output": {"actions": {"artifact_delta": {}, "requested_auth_configs": - {}, "requested_tool_confirmations": {}, "state_delta": {}}, "author": "echo_agent", - "content": {"parts": [{"text": "ok"}], "role": "model"}, "id": "b644c795-c71b-4116-9d62-6446836b4e5b", - "invocation_id": "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", "timestamp": 1776435048.688139}, - "project_id": "test_adk", "root_span_id": "dcda4d0b-1606-42fd-a077-03855faa40aa", - "span_attributes": {"exec_counter": 3, "name": "agent_run [echo_agent]", "type": - "task"}, "span_id": "650feffc-f6c9-4ee5-9948-6eed82af2d23", "span_parents": - ["ae903ac6-8ca2-4ad8-928b-25f3426df859"]},{"context": {"caller_filename": "/Users/abhijeetprasad/workspace/braintrust-sdk-python/py/.nox/test_google_adk-latest/lib/python3.14/site-packages/google/adk/agents/llm_agent.py", - "caller_functionname": "_run_async_impl", "caller_lineno": 487}, "created": - "2026-04-17T14:10:48.687649+00:00", "id": "0320ad76-4f40-4e25-b97c-311b272b33b7", - "log_id": "g", "metadata": {"invocation_context": {"agent": {"description": - "", "name": "echo_agent", "sub_agents": []}, "agent_states": {}, "end_invocation": - false, "end_of_agents": {}, "invocation_id": "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", - "plugin_manager": "", "run_config": {"input_audio_transcription": {}, "max_llm_calls": - 500, "output_audio_transcription": {}, "save_input_blobs_as_artifacts": false, - "save_live_audio": false, "save_live_blob": false, "streaming_mode": "StreamingMode.NONE", - "support_cfc": false}, "session": {"app_name": "thread_bridge_app", "events": - [{"actions": {"artifact_delta": {}, "requested_auth_configs": {}, "requested_tool_confirmations": - {}, "state_delta": {}}, "author": "user", "content": {"parts": [{"text": "hello"}], - "role": "user"}, "id": "dbdd5fb8-d657-4f7a-a8a9-1d0c35205fb5", "invocation_id": - "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", "timestamp": 1776435048.687071}], - "id": "test-session-thread", "last_update_time": 1776435048.687071, "state": - {}, "user_id": "test-user"}, "session_service": "", "token_compaction_checked": false, "user_content": - {"parts": [{"text": "hello"}], "role": "user"}}}, "metrics": {"end": 1776435048.68904, - "start": 1776435048.687648}, "output": {"actions": {"artifact_delta": {}, "requested_auth_configs": - {}, "requested_tool_confirmations": {}, "state_delta": {}}, "author": "echo_agent", - "content": {"parts": [{"text": "ok"}], "role": "model"}, "id": "b644c795-c71b-4116-9d62-6446836b4e5b", - "invocation_id": "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", "timestamp": 1776435048.688139}, - "project_id": "test_adk", "root_span_id": "dcda4d0b-1606-42fd-a077-03855faa40aa", - "span_attributes": {"exec_counter": 4, "name": "call_llm", "type": "task"}, - "span_id": "2821c120-172b-4f05-8ed1-f9833ceca4e5", "span_parents": ["650feffc-f6c9-4ee5-9948-6eed82af2d23"]},{"context": - {"caller_filename": "/Users/abhijeetprasad/workspace/braintrust-sdk-python/py/.nox/test_google_adk-latest/lib/python3.14/site-packages/google/adk/flows/llm_flows/base_llm_flow.py", - "caller_functionname": "_run_one_step_async", "caller_lineno": 881}, "created": - "2026-04-17T14:10:48.688347+00:00", "id": "dbc1a851-ffd7-4a4a-bcc5-632f600a627b", - "input": {"config": {"system_instruction": "Respond with ok.\n\nYou are an agent. - Your internal name is \"echo_agent\"."}, "contents": [{"parts": [{"text": "hello"}], - "role": "user"}], "live_connect_config": {"input_audio_transcription": {}, "output_audio_transcription": - {}}, "model": "test-llm-context-prop"}, "log_id": "g", "metadata": {"flow_class": - "AutoFlow", "invocation_context": {"agent": {"description": "", "name": "echo_agent", - "sub_agents": []}, "agent_states": {}, "end_invocation": false, "end_of_agents": - {}, "invocation_id": "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", "plugin_manager": - "", "run_config": - {"input_audio_transcription": {}, "max_llm_calls": 500, "output_audio_transcription": - {}, "save_input_blobs_as_artifacts": false, "save_live_audio": false, "save_live_blob": - false, "streaming_mode": "StreamingMode.NONE", "support_cfc": false}, "session": - {"app_name": "thread_bridge_app", "events": [{"actions": {"artifact_delta": - {}, "requested_auth_configs": {}, "requested_tool_confirmations": {}, "state_delta": - {}}, "author": "user", "content": {"parts": [{"text": "hello"}], "role": "user"}, - "id": "dbdd5fb8-d657-4f7a-a8a9-1d0c35205fb5", "invocation_id": "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", - "timestamp": 1776435048.687071}], "id": "test-session-thread", "last_update_time": - 1776435048.687071, "state": {}, "user_id": "test-user"}, "session_service": - "", "token_compaction_checked": false, "user_content": {"parts": - [{"text": "hello"}], "role": "user"}}, "model": "test-llm-context-prop", "model_response_event": - {"actions": {"artifact_delta": {}, "requested_auth_configs": {}, "requested_tool_confirmations": - {}, "state_delta": {}}, "author": "echo_agent", "id": "b644c795-c71b-4116-9d62-6446836b4e5b", - "invocation_id": "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", "timestamp": 1776435048.688139}}, - "metrics": {"end": 1776435048.689007, "start": 1776435048.6883461, "time_to_first_token": - 0.00035572052001953125}, "output": {"content": {"parts": [{"text": "ok"}], "role": - "model"}}, "project_id": "test_adk", "root_span_id": "dcda4d0b-1606-42fd-a077-03855faa40aa", - "span_attributes": {"exec_counter": 5, "llm_call_type": "direct_response", "name": - "llm_call [direct_response]", "type": "llm"}, "span_id": "3fb0390c-eb8e-4e08-b7c0-2e1e13b50f9c", - "span_parents": ["2821c120-172b-4f05-8ed1-f9833ceca4e5"]}], "api_version": 2}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, zstd - Connection: - - keep-alive - Content-Length: - - '9020' - User-Agent: - - python-requests/2.33.1 - method: POST - uri: https://staging-api.braintrust.dev/logs3 - response: - body: - string: '{"Code":"ForbiddenError","Message":"Missing read access to project_log - id test_adk, or the project_log does not exist [user_email=abhijeet@braintrustdata.com] - [user_org=braintrustdata.com] [timestamp=1776435054.353]","InternalTraceId":"69e23f6e00000000546138a31fd6b0d7","Path":"/logs3","Service":"api"}' - headers: - Connection: - - keep-alive - Content-Length: - - '236' - Content-Type: - - application/json; charset=utf-8 - Date: - - Fri, 17 Apr 2026 14:10:54 GMT - Via: - - 1.1 8757e4d26d0f26e2f05769a88e8a5ace.cloudfront.net (CloudFront), 1.1 b17b94cbc6db5cb82e8f8d6e55e1e85a.cloudfront.net - (CloudFront) - X-Amz-Cf-Id: - - 0eAYioBh_Uxb5RdhWdkli9TXSWS_dRmi8ZnzqdWQ2TBgaRRB7xoaRA== - X-Amz-Cf-Pop: - - YTO53-P2 - - YTO50-P1 - X-Amzn-Trace-Id: - - Root=1-69e23f6e-1992cf1935670b8038d5d306;Parent=26b42313097669d3;Sampled=0;Lineage=1:fc3b4ff1:0 - X-Cache: - - Error from cloudfront - access-control-allow-credentials: - - 'true' - access-control-expose-headers: - - x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id - content-encoding: - - gzip - etag: - - W/"12e-4M3VCaW2J+XD1ywqFI8KLSiHs4U" - vary: - - Origin, Accept-Encoding - x-amz-apigw-id: - - b97ZSEY9IAMEX9g= - x-amzn-RequestId: - - c9008ab9-de87-424b-a1b5-37c74c56a0e8 - x-bt-internal-trace-id: - - 69e23f6e00000000546138a31fd6b0d7 - status: - code: 403 - message: Forbidden - request: body: '{"contents": [{"parts": [{"text": "What''s the weather in San Francisco?"}], "role": "user"}, {"parts": [{"functionCall": {"args": {"location": "San Francisco"}, @@ -233,24 +76,24 @@ interactions: Content-Type: - application/json user-agent: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent response: body: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": [\n {\n \"text\": \"The weather in San Francisco is sunny - with a temperature of 72\xB0F. The humidity is 45% and the wind is 5 mph NW.\"\n - \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": - \"STOP\",\n \"avgLogprobs\": -0.012199996095715147\n }\n ],\n \"usageMetadata\": - {\n \"promptTokenCount\": 84,\n \"candidatesTokenCount\": 33,\n \"totalTokenCount\": - 117,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + with a temperature of 72\xB0F, 45% humidity, and 5 mph NW winds.\"\n }\n + \ ],\n \"role\": \"model\"\n },\n \"finishReason\": + \"STOP\",\n \"avgLogprobs\": -0.019228482246398927\n }\n ],\n \"usageMetadata\": + {\n \"promptTokenCount\": 84,\n \"candidatesTokenCount\": 30,\n \"totalTokenCount\": + 114,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \ \"tokenCount\": 84\n }\n ],\n \"candidatesTokensDetails\": - [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 33\n - \ }\n ]\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n \"responseId\": - \"bj_iaY3SFJOa9MoPzOjrmQ4\"\n}\n" + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 30\n + \ }\n ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": + \"gemini-2.0-flash\",\n \"responseId\": \"pPMBavmIFfSd_uMP9--LsAc\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -259,11 +102,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Fri, 17 Apr 2026 14:10:54 GMT + - Mon, 11 May 2026 15:20:04 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=631 + - gfet4t7; dur=652 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_captures_metrics.yaml b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_captures_metrics.yaml index 2298aeca..7a513b2f 100644 --- a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_captures_metrics.yaml +++ b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_captures_metrics.yaml @@ -8,23 +8,23 @@ interactions: Content-Type: - application/json user-agent: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent response: body: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": - [\n {\n \"text\": \"Hello, I'm metrics_agent.\\n\"\n }\n + [\n {\n \"text\": \"Hello, how can I help?\\n\"\n }\n \ ],\n \"role\": \"model\"\n },\n \"finishReason\": - \"STOP\",\n \"avgLogprobs\": -0.046773797273635863\n }\n ],\n \"usageMetadata\": - {\n \"promptTokenCount\": 27,\n \"candidatesTokenCount\": 10,\n \"totalTokenCount\": - 37,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \"STOP\",\n \"avgLogprobs\": -0.092875339090824127\n }\n ],\n \"usageMetadata\": + {\n \"promptTokenCount\": 27,\n \"candidatesTokenCount\": 8,\n \"totalTokenCount\": + 35,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \ \"tokenCount\": 27\n }\n ],\n \"candidatesTokensDetails\": - [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 10\n - \ }\n ]\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n \"responseId\": - \"cz_iaYOYA82z1MkPwPaSgA0\"\n}\n" + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 8\n }\n + \ ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n + \ \"responseId\": \"qPMBaoePKLq9_uMPvf3UkQU\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -33,11 +33,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Fri, 17 Apr 2026 14:10:59 GMT + - Mon, 11 May 2026 15:20:09 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=468 + - gfet4t7; dur=542 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_complex_nested_schema.yaml b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_complex_nested_schema.yaml index c4385c86..a92ad709 100644 --- a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_complex_nested_schema.yaml +++ b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_complex_nested_schema.yaml @@ -18,9 +18,9 @@ interactions: Content-Type: - application/json user-agent: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent response: @@ -30,13 +30,13 @@ interactions: \ \\\"age\\\": 30,\\n \\\"address\\\": {\\n \\\"street\\\": \\\"Rue de Rivoli\\\",\\n \\\"city\\\": \\\"Paris\\\",\\n \\\"country\\\": \\\"France\\\"\\n \ }\\n}\"\n }\n ],\n \"role\": \"model\"\n },\n - \ \"finishReason\": \"STOP\",\n \"avgLogprobs\": -0.0092399290629795617\n + \ \"finishReason\": \"STOP\",\n \"avgLogprobs\": -0.02110424212047032\n \ }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": 81,\n \"candidatesTokenCount\": 56,\n \"totalTokenCount\": 137,\n \"promptTokensDetails\": [\n {\n \ \"modality\": \"TEXT\",\n \"tokenCount\": 81\n }\n ],\n \ \"candidatesTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n - \ \"tokenCount\": 56\n }\n ]\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n - \ \"responseId\": \"dz_iacqSLbKT1MkP9t_g8QI\"\n}\n" + \ \"tokenCount\": 56\n }\n ],\n \"serviceTier\": \"standard\"\n + \ },\n \"modelVersion\": \"gemini-2.0-flash\",\n \"responseId\": \"qvMBap3xNrLj_uMP_K264Qo\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -45,11 +45,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Fri, 17 Apr 2026 14:11:04 GMT + - Mon, 11 May 2026 15:20:11 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=682 + - gfet4t7; dur=826 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_input_schema_serialization.yaml b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_input_schema_serialization.yaml index e252f463..7abfebc1 100644 --- a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_input_schema_serialization.yaml +++ b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_input_schema_serialization.yaml @@ -8,9 +8,9 @@ interactions: Content-Type: - application/json user-agent: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent response: @@ -23,8 +23,8 @@ interactions: 37,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \ \"tokenCount\": 27\n }\n ],\n \"candidatesTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 10\n - \ }\n ]\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n \"responseId\": - \"dj_iaYeRCvWs1MkPtdTkmQc\"\n}\n" + \ }\n ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": + \"gemini-2.0-flash\",\n \"responseId\": \"qvMBaoCTCsud_uMPuNbRmAc\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -33,11 +33,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Fri, 17 Apr 2026 14:11:02 GMT + - Mon, 11 May 2026 15:20:10 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=576 + - gfet4t7; dur=595 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_max_tokens_captures_content.yaml b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_max_tokens_captures_content.yaml index abea6a60..1fac5d86 100644 --- a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_max_tokens_captures_content.yaml +++ b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_max_tokens_captures_content.yaml @@ -9,26 +9,25 @@ interactions: Content-Type: - application/json user-agent: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent response: body: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": - [\n {\n \"text\": \"Okay, settle in, because this is the - tale of the Obsidian Lighthouse, a story etched in salt spray, loneliness, - and the stubborn heart of the sea.\\n\\nThe Obsidian Lighthouse wasn't your - typical whitewashed sentinel. It was a monolith of\"\n }\n ],\n - \ \"role\": \"model\"\n },\n \"finishReason\": \"MAX_TOKENS\",\n - \ \"avgLogprobs\": -0.47096416473388669\n }\n ],\n \"usageMetadata\": - {\n \"promptTokenCount\": 30,\n \"candidatesTokenCount\": 50,\n \"totalTokenCount\": - 80,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n - \ \"tokenCount\": 30\n }\n ],\n \"candidatesTokensDetails\": - [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 50\n - \ }\n ]\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n \"responseId\": - \"cD_iabHDJJia9MoP-sG-sA0\"\n}\n" + [\n {\n \"text\": \"Okay, settle in. This is the story + of the Azure Beacon, a lighthouse that stood sentinel on the jagged, windswept + point of Cormorant's Kiss for over two centuries. It's a story of storms and + shipwrecks\"\n }\n ],\n \"role\": \"model\"\n },\n + \ \"finishReason\": \"MAX_TOKENS\",\n \"avgLogprobs\": -0.40688674926757812\n + \ }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": 30,\n \"candidatesTokenCount\": + 50,\n \"totalTokenCount\": 80,\n \"promptTokensDetails\": [\n {\n + \ \"modality\": \"TEXT\",\n \"tokenCount\": 30\n }\n ],\n + \ \"candidatesTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 50\n }\n ],\n \"serviceTier\": \"standard\"\n + \ },\n \"modelVersion\": \"gemini-2.0-flash\",\n \"responseId\": \"pvMBapzIIuiu_PUP9Z6_2As\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -37,11 +36,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Fri, 17 Apr 2026 14:10:57 GMT + - Mon, 11 May 2026 15:20:07 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=846 + - gfet4t7; dur=820 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_multi_turn_history_is_logged.yaml b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_multi_turn_history_is_logged.yaml index 9f45ca9f..7e8f84ae 100644 --- a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_multi_turn_history_is_logged.yaml +++ b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_multi_turn_history_is_logged.yaml @@ -1,296 +1,4 @@ interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, zstd - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - python-requests/2.33.1 - method: POST - uri: https://www.braintrust.dev/api/apikey/login - response: - body: - string: '{"org_info":[{"id":"5d7c97d7-fef1-4cb7-bda6-7e3756a0ca8e","name":"braintrustdata.com","api_url":"https://staging-api.braintrust.dev","git_metadata":{"fields":["commit","branch","tag","author_name","author_email","commit_message","commit_time","dirty"],"collect":"some"},"is_universal_api":true,"proxy_url":"https://staging-api.braintrust.dev","realtime_url":"wss://realtime.braintrustapi.com"}]}' - headers: - Access-Control-Allow-Credentials: - - 'true' - Access-Control-Allow-Headers: - - X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, - Content-Type, Date, X-Api-Version - Access-Control-Allow-Methods: - - GET,OPTIONS,PATCH,DELETE,POST,PUT - Access-Control-Allow-Origin: - - '*' - Cache-Control: - - public, max-age=0, must-revalidate - Content-Length: - - '395' - Content-Security-Policy: - - 'script-src ''self'' ''unsafe-eval'' ''wasm-unsafe-eval'' ''strict-dynamic'' - ''nonce-YTYyOGRiMjgtNzU2Yi00ODE2LWJiNWYtYmY1OTE3Yjc0MGEy'' *.js.stripe.com - js.stripe.com maps.googleapis.com ; style-src ''self'' ''unsafe-inline'' *.braintrust.dev - btcm6qilbbhv4yi1.public.blob.vercel-storage.com fonts.googleapis.com www.gstatic.com - d4tuoctqmanu0.cloudfront.net; font-src ''self'' data: fonts.gstatic.com btcm6qilbbhv4yi1.public.blob.vercel-storage.com - cdn.jsdelivr.net d4tuoctqmanu0.cloudfront.net fonts.googleapis.com mintlify-assets.b-cdn.net - fonts.cdnfonts.com; object-src ''none''; base-uri ''self''; form-action ''self''; - frame-ancestors ''self''; worker-src ''self'' blob:; report-uri https://o4507221741076480.ingest.us.sentry.io/api/4507221754380288/security/?sentry_key=27fa5ac907cf7c6ce4a1ab2a03f805b4&sentry_environment=production&sentry_release=16; - report-to csp-endpoint-0' - Content-Type: - - application/json; charset=utf-8 - Date: - - Fri, 17 Apr 2026 14:10:48 GMT - Etag: - - '"12n7ok4b5phaz"' - Reporting-Endpoints: - - csp-endpoint-0="https://o4507221741076480.ingest.us.sentry.io/api/4507221754380288/security/?sentry_key=27fa5ac907cf7c6ce4a1ab2a03f805b4&sentry_environment=production&sentry_release=16" - Server: - - Vercel - Strict-Transport-Security: - - max-age=63072000 - X-Bt-Was-Udf-Cached: - - 'true' - X-Clerk-Auth-Message: - - Invalid JWT form. A JWT consists of three parts separated by dots. (reason=token-invalid, - token-carrier=header) - X-Clerk-Auth-Reason: - - token-invalid - X-Clerk-Auth-Status: - - signed-out - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-Matched-Path: - - /api/apikey/login - X-Nonce: - - YTYyOGRiMjgtNzU2Yi00ODE2LWJiNWYtYmY1OTE3Yjc0MGEy - X-Vercel-Cache: - - MISS - X-Vercel-Id: - - yul1::iad1::jwkxx-1776435048810-b5438d7469c4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, zstd - Connection: - - keep-alive - User-Agent: - - python-requests/2.33.1 - method: GET - uri: https://staging-api.braintrust.dev/version - response: - body: - string: '{"version":"2.0.0","date_version":"20260417","ff_version":24,"commit":"0d9d9d17b59a872d1cac7f50d67429265387324c","deployment_mode":"lambda","deployment_type":"custom","brainstore_default":"force","brainstore_can_contain_row_refs":true,"skip_pg_config":"all","has_realtime_wal_bucket":true,"brainstore_wal_footer_version":"v3","brainstore_wal_use_efficient_format":true,"has_logs2":true,"js":true,"universal":true,"code_execution":true,"logs3_payload_max_bytes":5242880,"control_plane_telemetry":["status","metrics","logs","traces","memprof","usage"]}' - headers: - Connection: - - keep-alive - Content-Length: - - '550' - Content-Type: - - application/json; charset=utf-8 - Date: - - Fri, 17 Apr 2026 14:10:50 GMT - Via: - - 1.1 8757e4d26d0f26e2f05769a88e8a5ace.cloudfront.net (CloudFront), 1.1 dc63ed289fa4d9a64b4cc2f12891a350.cloudfront.net - (CloudFront) - X-Amz-Cf-Id: - - 8xZl3X-NuIZWunHivMlyo6Vq-ZXvRSNpiJjJlFQnE8fDpMA3caHiPQ== - X-Amz-Cf-Pop: - - YTO53-P2 - - YTO50-P1 - X-Amzn-Trace-Id: - - Root=1-69e23f6a-57ac9c2850e79cda28343d58;Parent=4886760ab6e5e53a;Sampled=0;Lineage=1:fc3b4ff1:0 - X-Cache: - - Miss from cloudfront - access-control-allow-credentials: - - 'true' - access-control-expose-headers: - - x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id - etag: - - W/"226-EfRuYziO2Q1Ux8maLsFk5foD01A" - vary: - - Origin - x-amz-apigw-id: - - b97YoHBTIAMEmyA= - x-amzn-Remapped-content-length: - - '550' - x-amzn-RequestId: - - 911691dc-2f95-4a45-8333-41517dedd89f - x-bt-internal-trace-id: - - 69e23f6a0000000055276e14904e45d3 - status: - code: 200 - message: OK -- request: - body: '{"rows": [{"context": {"caller_filename": "/Users/abhijeetprasad/workspace/braintrust-sdk-python/py/.nox/test_google_adk-latest/lib/python3.14/site-packages/google/adk/runners.py", - "caller_functionname": "_invoke_run_async", "caller_lineno": 479}, "created": - "2026-04-17T14:10:48.686708+00:00", "id": "5e172b65-ecf1-4de9-9748-b63648da7fa3", - "input": {"new_message": {"parts": [{"text": "hello"}], "role": "user"}}, "log_id": - "g", "metadata": {"run_config": {"input_audio_transcription": {}, "max_llm_calls": - 500, "output_audio_transcription": {}, "save_input_blobs_as_artifacts": false, - "save_live_audio": false, "save_live_blob": false, "streaming_mode": "StreamingMode.NONE", - "support_cfc": false}, "session_id": "test-session-thread", "state_delta": null, - "user_id": "test-user"}, "metrics": {"end": 1776435048.689106, "start": 1776435048.6867058}, - "output": {"actions": {"artifact_delta": {}, "requested_auth_configs": {}, "requested_tool_confirmations": - {}, "state_delta": {}}, "author": "echo_agent", "content": {"parts": [{"text": - "ok"}], "role": "model"}, "id": "b644c795-c71b-4116-9d62-6446836b4e5b", "invocation_id": - "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", "timestamp": 1776435048.688139}, "project_id": - "test_adk", "root_span_id": "dcda4d0b-1606-42fd-a077-03855faa40aa", "span_attributes": - {"exec_counter": 2, "name": "invocation [thread_bridge_app]", "type": "task"}, - "span_id": "ae903ac6-8ca2-4ad8-928b-25f3426df859", "span_parents": ["dcda4d0b-1606-42fd-a077-03855faa40aa"]},{"context": - {"caller_filename": "/Users/abhijeetprasad/workspace/braintrust-sdk-python/py/.nox/test_google_adk-latest/lib/python3.14/site-packages/google/adk/runners.py", - "caller_functionname": "execute", "caller_lineno": 606}, "created": "2026-04-17T14:10:48.687223+00:00", - "id": "46a139df-227f-44c2-802f-2677634a7f38", "log_id": "g", "metadata": {"parent_context": - {"agent": {"description": "", "name": "echo_agent", "sub_agents": []}, "agent_states": - {}, "end_invocation": false, "end_of_agents": {}, "invocation_id": "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", - "plugin_manager": "", "run_config": {"input_audio_transcription": {}, "max_llm_calls": - 500, "output_audio_transcription": {}, "save_input_blobs_as_artifacts": false, - "save_live_audio": false, "save_live_blob": false, "streaming_mode": "StreamingMode.NONE", - "support_cfc": false}, "session": {"app_name": "thread_bridge_app", "events": - [{"actions": {"artifact_delta": {}, "requested_auth_configs": {}, "requested_tool_confirmations": - {}, "state_delta": {}}, "author": "user", "content": {"parts": [{"text": "hello"}], - "role": "user"}, "id": "dbdd5fb8-d657-4f7a-a8a9-1d0c35205fb5", "invocation_id": - "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", "timestamp": 1776435048.687071}], - "id": "test-session-thread", "last_update_time": 1776435048.687071, "state": - {}, "user_id": "test-user"}, "session_service": "", "token_compaction_checked": false, "user_content": - {"parts": [{"text": "hello"}], "role": "user"}}}, "metrics": {"end": 1776435048.689078, - "start": 1776435048.687222}, "output": {"actions": {"artifact_delta": {}, "requested_auth_configs": - {}, "requested_tool_confirmations": {}, "state_delta": {}}, "author": "echo_agent", - "content": {"parts": [{"text": "ok"}], "role": "model"}, "id": "b644c795-c71b-4116-9d62-6446836b4e5b", - "invocation_id": "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", "timestamp": 1776435048.688139}, - "project_id": "test_adk", "root_span_id": "dcda4d0b-1606-42fd-a077-03855faa40aa", - "span_attributes": {"exec_counter": 3, "name": "agent_run [echo_agent]", "type": - "task"}, "span_id": "650feffc-f6c9-4ee5-9948-6eed82af2d23", "span_parents": - ["ae903ac6-8ca2-4ad8-928b-25f3426df859"]},{"context": {"caller_filename": "/Users/abhijeetprasad/workspace/braintrust-sdk-python/py/.nox/test_google_adk-latest/lib/python3.14/site-packages/google/adk/agents/llm_agent.py", - "caller_functionname": "_run_async_impl", "caller_lineno": 487}, "created": - "2026-04-17T14:10:48.687649+00:00", "id": "0320ad76-4f40-4e25-b97c-311b272b33b7", - "log_id": "g", "metadata": {"invocation_context": {"agent": {"description": - "", "name": "echo_agent", "sub_agents": []}, "agent_states": {}, "end_invocation": - false, "end_of_agents": {}, "invocation_id": "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", - "plugin_manager": "", "run_config": {"input_audio_transcription": {}, "max_llm_calls": - 500, "output_audio_transcription": {}, "save_input_blobs_as_artifacts": false, - "save_live_audio": false, "save_live_blob": false, "streaming_mode": "StreamingMode.NONE", - "support_cfc": false}, "session": {"app_name": "thread_bridge_app", "events": - [{"actions": {"artifact_delta": {}, "requested_auth_configs": {}, "requested_tool_confirmations": - {}, "state_delta": {}}, "author": "user", "content": {"parts": [{"text": "hello"}], - "role": "user"}, "id": "dbdd5fb8-d657-4f7a-a8a9-1d0c35205fb5", "invocation_id": - "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", "timestamp": 1776435048.687071}], - "id": "test-session-thread", "last_update_time": 1776435048.687071, "state": - {}, "user_id": "test-user"}, "session_service": "", "token_compaction_checked": false, "user_content": - {"parts": [{"text": "hello"}], "role": "user"}}}, "metrics": {"end": 1776435048.68904, - "start": 1776435048.687648}, "output": {"actions": {"artifact_delta": {}, "requested_auth_configs": - {}, "requested_tool_confirmations": {}, "state_delta": {}}, "author": "echo_agent", - "content": {"parts": [{"text": "ok"}], "role": "model"}, "id": "b644c795-c71b-4116-9d62-6446836b4e5b", - "invocation_id": "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", "timestamp": 1776435048.688139}, - "project_id": "test_adk", "root_span_id": "dcda4d0b-1606-42fd-a077-03855faa40aa", - "span_attributes": {"exec_counter": 4, "name": "call_llm", "type": "task"}, - "span_id": "2821c120-172b-4f05-8ed1-f9833ceca4e5", "span_parents": ["650feffc-f6c9-4ee5-9948-6eed82af2d23"]},{"context": - {"caller_filename": "/Users/abhijeetprasad/workspace/braintrust-sdk-python/py/.nox/test_google_adk-latest/lib/python3.14/site-packages/google/adk/flows/llm_flows/base_llm_flow.py", - "caller_functionname": "_run_one_step_async", "caller_lineno": 881}, "created": - "2026-04-17T14:10:48.688347+00:00", "id": "dbc1a851-ffd7-4a4a-bcc5-632f600a627b", - "input": {"config": {"system_instruction": "Respond with ok.\n\nYou are an agent. - Your internal name is \"echo_agent\"."}, "contents": [{"parts": [{"text": "hello"}], - "role": "user"}], "live_connect_config": {"input_audio_transcription": {}, "output_audio_transcription": - {}}, "model": "test-llm-context-prop"}, "log_id": "g", "metadata": {"flow_class": - "AutoFlow", "invocation_context": {"agent": {"description": "", "name": "echo_agent", - "sub_agents": []}, "agent_states": {}, "end_invocation": false, "end_of_agents": - {}, "invocation_id": "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", "plugin_manager": - "", "run_config": - {"input_audio_transcription": {}, "max_llm_calls": 500, "output_audio_transcription": - {}, "save_input_blobs_as_artifacts": false, "save_live_audio": false, "save_live_blob": - false, "streaming_mode": "StreamingMode.NONE", "support_cfc": false}, "session": - {"app_name": "thread_bridge_app", "events": [{"actions": {"artifact_delta": - {}, "requested_auth_configs": {}, "requested_tool_confirmations": {}, "state_delta": - {}}, "author": "user", "content": {"parts": [{"text": "hello"}], "role": "user"}, - "id": "dbdd5fb8-d657-4f7a-a8a9-1d0c35205fb5", "invocation_id": "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", - "timestamp": 1776435048.687071}], "id": "test-session-thread", "last_update_time": - 1776435048.687071, "state": {}, "user_id": "test-user"}, "session_service": - "", "token_compaction_checked": false, "user_content": {"parts": - [{"text": "hello"}], "role": "user"}}, "model": "test-llm-context-prop", "model_response_event": - {"actions": {"artifact_delta": {}, "requested_auth_configs": {}, "requested_tool_confirmations": - {}, "state_delta": {}}, "author": "echo_agent", "id": "b644c795-c71b-4116-9d62-6446836b4e5b", - "invocation_id": "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", "timestamp": 1776435048.688139}}, - "metrics": {"end": 1776435048.689007, "start": 1776435048.6883461, "time_to_first_token": - 0.00035572052001953125}, "output": {"content": {"parts": [{"text": "ok"}], "role": - "model"}}, "project_id": "test_adk", "root_span_id": "dcda4d0b-1606-42fd-a077-03855faa40aa", - "span_attributes": {"exec_counter": 5, "llm_call_type": "direct_response", "name": - "llm_call [direct_response]", "type": "llm"}, "span_id": "3fb0390c-eb8e-4e08-b7c0-2e1e13b50f9c", - "span_parents": ["2821c120-172b-4f05-8ed1-f9833ceca4e5"]}], "api_version": 2}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, zstd - Connection: - - keep-alive - Content-Length: - - '9020' - User-Agent: - - python-requests/2.33.1 - method: POST - uri: https://staging-api.braintrust.dev/logs3 - response: - body: - string: '{"Code":"ForbiddenError","Message":"Missing read access to project_log - id test_adk, or the project_log does not exist [user_email=abhijeet@braintrustdata.com] - [user_org=braintrustdata.com] [timestamp=1776435050.404]","InternalTraceId":"69e23f6a00000000365a70ba9d12953b","Path":"/logs3","Service":"api"}' - headers: - Connection: - - keep-alive - Content-Length: - - '236' - Content-Type: - - application/json; charset=utf-8 - Date: - - Fri, 17 Apr 2026 14:10:50 GMT - Via: - - 1.1 8250156022879efefd7a589c8ba8c706.cloudfront.net (CloudFront), 1.1 412b0215b557780a6efcc1651037dc90.cloudfront.net - (CloudFront) - X-Amz-Cf-Id: - - QuWBmHHQ0rx2c2sxItUa3dunZGsunbyrCuGEiPvC21eZ8pEU2NeV2g== - X-Amz-Cf-Pop: - - YTO53-P2 - - YTO50-P1 - X-Amzn-Trace-Id: - - Root=1-69e23f6a-40a6f8765cd1aef3048e6124;Parent=7b73117f8c1b034f;Sampled=0;Lineage=1:fc3b4ff1:0 - X-Cache: - - Error from cloudfront - access-control-allow-credentials: - - 'true' - access-control-expose-headers: - - x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id - content-encoding: - - gzip - etag: - - W/"12e-Ukf82a9Ccb2QSruXp+yXJFj3uxc" - vary: - - Origin, Accept-Encoding - x-amz-apigw-id: - - b97YpFN5IAMEHoQ= - x-amzn-RequestId: - - 8665b28b-004a-49d8-b822-2ba9fd613c66 - x-bt-internal-trace-id: - - 69e23f6a00000000365a70ba9d12953b - status: - code: 403 - message: Forbidden - request: body: '{"contents": [{"parts": [{"text": "Hi, my name is Alice."}], "role": "user"}], "systemInstruction": {"parts": [{"text": "You are a concise assistant. When @@ -301,9 +9,9 @@ interactions: Content-Type: - application/json user-agent: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent response: @@ -311,13 +19,13 @@ interactions: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": [\n {\n \"text\": \"Okay, Alice.\\n\"\n }\n ],\n \ \"role\": \"model\"\n },\n \"finishReason\": \"STOP\",\n - \ \"avgLogprobs\": -0.020882511138916017\n }\n ],\n \"usageMetadata\": + \ \"avgLogprobs\": -0.025065460801124574\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": 52,\n \"candidatesTokenCount\": 5,\n \"totalTokenCount\": 57,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \ \"tokenCount\": 52\n }\n ],\n \"candidatesTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 5\n }\n - \ ]\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n \"responseId\": - \"aj_iaZ2BA7KT1MkP9t_g8QI\"\n}\n" + \ ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n + \ \"responseId\": \"oPMBatekKYS-_uMP3prgwAg\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -326,11 +34,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Fri, 17 Apr 2026 14:10:50 GMT + - Mon, 11 May 2026 15:20:01 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=527 + - gfet4t7; dur=486 Transfer-Encoding: - chunked Vary: @@ -360,9 +68,9 @@ interactions: Content-Type: - application/json user-agent: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent response: @@ -370,13 +78,13 @@ interactions: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": [\n {\n \"text\": \"Alice.\\n\"\n }\n ],\n \ \"role\": \"model\"\n },\n \"finishReason\": \"STOP\",\n - \ \"avgLogprobs\": -0.51126770178476966\n }\n ],\n \"usageMetadata\": + \ \"avgLogprobs\": -0.0751932164033254\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": 64,\n \"candidatesTokenCount\": 3,\n \"totalTokenCount\": 67,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \ \"tokenCount\": 64\n }\n ],\n \"candidatesTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 3\n }\n - \ ]\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n \"responseId\": - \"aj_iabWGLNmVjMcPxe7XiAQ\"\n}\n" + \ ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n + \ \"responseId\": \"ofMBasXGEua3_uMPhO2b2Qo\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -385,11 +93,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Fri, 17 Apr 2026 14:10:51 GMT + - Mon, 11 May 2026 15:20:01 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=548 + - gfet4t7; dur=568 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_nested_subagent_tool_calls_are_traced.yaml b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_nested_subagent_tool_calls_are_traced.yaml index fa222476..422dc6b6 100644 --- a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_nested_subagent_tool_calls_are_traced.yaml +++ b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_nested_subagent_tool_calls_are_traced.yaml @@ -11,9 +11,9 @@ interactions: Content-Type: - application/json user-agent: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent response: @@ -23,12 +23,13 @@ interactions: \ \"args\": {\n \"location\": \"San Francisco\"\n \ }\n }\n }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": \"STOP\",\n \"avgLogprobs\": - 1.1747082074483235e-06\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": + 1.6122163894275825e-06\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": 57,\n \"candidatesTokenCount\": 6,\n \"totalTokenCount\": 63,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 57\n \ }\n ],\n \"candidatesTokensDetails\": [\n {\n \"modality\": - \"TEXT\",\n \"tokenCount\": 6\n }\n ]\n },\n \"modelVersion\": - \"gemini-2.0-flash\",\n \"responseId\": \"bz_iab31BsKq1MkPt_jiyAY\"\n}\n" + \"TEXT\",\n \"tokenCount\": 6\n }\n ],\n \"serviceTier\": + \"standard\"\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n \"responseId\": + \"pfMBaomECPze_uMP5vDKmAQ\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -37,11 +38,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Fri, 17 Apr 2026 14:10:55 GMT + - Mon, 11 May 2026 15:20:05 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=493 + - gfet4t7; dur=556 Transfer-Encoding: - chunked Vary: @@ -75,9 +76,9 @@ interactions: Content-Type: - application/json user-agent: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent response: @@ -90,8 +91,9 @@ interactions: 76,\n \"candidatesTokenCount\": 18,\n \"totalTokenCount\": 94,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 76\n \ }\n ],\n \"candidatesTokensDetails\": [\n {\n \"modality\": - \"TEXT\",\n \"tokenCount\": 18\n }\n ]\n },\n \"modelVersion\": - \"gemini-2.0-flash\",\n \"responseId\": \"bz_iaYn3OonD1MkPvoSN8Aw\"\n}\n" + \"TEXT\",\n \"tokenCount\": 18\n }\n ],\n \"serviceTier\": + \"standard\"\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n \"responseId\": + \"pfMBap7BM-iu_PUP9Z6_2As\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -100,11 +102,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Fri, 17 Apr 2026 14:10:56 GMT + - Mon, 11 May 2026 15:20:06 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=502 + - gfet4t7; dur=582 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_response_json_schema_dict.yaml b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_response_json_schema_dict.yaml index 4b8d0a3c..77269768 100644 --- a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_response_json_schema_dict.yaml +++ b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_response_json_schema_dict.yaml @@ -12,9 +12,9 @@ interactions: Content-Type: - application/json user-agent: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent response: @@ -28,8 +28,8 @@ interactions: 63,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \ \"tokenCount\": 30\n }\n ],\n \"candidatesTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 33\n - \ }\n ]\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n \"responseId\": - \"eT_iaYvhE4mv1MkPi7yfkQc\"\n}\n" + \ }\n ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": + \"gemini-2.0-flash\",\n \"responseId\": \"q_MBavKIN4C3_uMP-cnpwQs\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -38,11 +38,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Fri, 17 Apr 2026 14:11:05 GMT + - Mon, 11 May 2026 15:20:12 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=645 + - gfet4t7; dur=784 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_structured_output_pydantic.yaml b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_structured_output_pydantic.yaml index 5ae7e709..5c188963 100644 --- a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_structured_output_pydantic.yaml +++ b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_structured_output_pydantic.yaml @@ -1,126 +1,4 @@ interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, zstd - Connection: - - keep-alive - User-Agent: - - python-requests/2.33.1 - method: GET - uri: https://staging-api.braintrust.dev/version - response: - body: - string: '{"version":"2.0.0","date_version":"20260417","ff_version":24,"commit":"0d9d9d17b59a872d1cac7f50d67429265387324c","deployment_mode":"lambda","deployment_type":"custom","brainstore_default":"force","brainstore_can_contain_row_refs":true,"skip_pg_config":"all","has_realtime_wal_bucket":true,"brainstore_wal_footer_version":"v3","brainstore_wal_use_efficient_format":true,"has_logs2":true,"js":true,"universal":true,"code_execution":true,"logs3_payload_max_bytes":5242880,"control_plane_telemetry":["status","metrics","logs","traces","memprof","usage"]}' - headers: - Connection: - - keep-alive - Content-Length: - - '550' - Content-Type: - - application/json; charset=utf-8 - Date: - - Fri, 17 Apr 2026 14:11:00 GMT - Via: - - 1.1 8757e4d26d0f26e2f05769a88e8a5ace.cloudfront.net (CloudFront), 1.1 ed31b4e68abf63ec3ae0c1e539b4d67c.cloudfront.net - (CloudFront) - X-Amz-Cf-Id: - - _a-z0k0b-ULauPr1RtdD9XA0fQJIKKsocUukIOJISSTH5HffZStJYA== - X-Amz-Cf-Pop: - - YTO53-P2 - - YTO50-P1 - X-Amzn-Trace-Id: - - Root=1-69e23f74-2a5509501a70c39a65e72bb9;Parent=3a49d2896038b1dc;Sampled=0;Lineage=1:fc3b4ff1:0 - X-Cache: - - Miss from cloudfront - access-control-allow-credentials: - - 'true' - access-control-expose-headers: - - x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id - etag: - - W/"226-EfRuYziO2Q1Ux8maLsFk5foD01A" - vary: - - Origin - x-amz-apigw-id: - - b97aTEWvoAMEmOQ= - x-amzn-Remapped-content-length: - - '550' - x-amzn-RequestId: - - 061c2034-b86d-4c90-830f-2fefb7e8a568 - x-bt-internal-trace-id: - - 69e23f740000000059c0ae0bf8c123d5 - status: - code: 200 - message: OK -- request: - body: '{"rows": [{"_is_merge": false, "context": {"caller_filename": "/Users/abhijeetprasad/.local/share/uv/python/cpython-3.14.3-macos-aarch64-none/lib/python3.14/asyncio/events.py", - "caller_functionname": "_run", "caller_lineno": 94}, "created": "2026-04-17T14:10:59.719932+00:00", - "id": "bf425eef-d65e-4c7c-93ca-239eda9e0aa4", "log_id": "g", "metrics": {"start": - 1776435059.719931}, "project_id": "test-context", "root_span_id": "728579d5-0dd0-4ae7-844c-74009244976d", - "span_attributes": {"exec_counter": 57, "name": "outer_span", "type": "task"}, - "span_id": "728579d5-0dd0-4ae7-844c-74009244976d", "span_parents": null}], "api_version": - 2}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, zstd - Connection: - - keep-alive - Content-Length: - - '636' - User-Agent: - - python-requests/2.33.1 - method: POST - uri: https://staging-api.braintrust.dev/logs3 - response: - body: - string: '{"Code":"ForbiddenError","Message":"Missing read access to project_log - id test-context, or the project_log does not exist [user_email=abhijeet@braintrustdata.com] - [user_org=braintrustdata.com] [timestamp=1776435060.947]","InternalTraceId":"69e23f740000000051437af58db7b1a5","Path":"/logs3","Service":"api"}' - headers: - Connection: - - keep-alive - Content-Length: - - '238' - Content-Type: - - application/json; charset=utf-8 - Date: - - Fri, 17 Apr 2026 14:11:00 GMT - Via: - - 1.1 8250156022879efefd7a589c8ba8c706.cloudfront.net (CloudFront), 1.1 f0b5ff1c80ac588b3de0f130e6e2c0b6.cloudfront.net - (CloudFront) - X-Amz-Cf-Id: - - MJq0YGNdOuVS0dKIFDvGPaQT2B1HgfOjtkoVejip9wQjlzeid_sDbA== - X-Amz-Cf-Pop: - - YTO53-P2 - - YTO50-P1 - X-Amzn-Trace-Id: - - Root=1-69e23f74-7df8c1fa5b4413a118cc7fb4;Parent=2cdc018505975ced;Sampled=0;Lineage=1:fc3b4ff1:0 - X-Cache: - - Error from cloudfront - access-control-allow-credentials: - - 'true' - access-control-expose-headers: - - x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id - content-encoding: - - gzip - etag: - - W/"132-bd6hiS2MgowFoBU4Ey/RwnmByxI" - vary: - - Origin, Accept-Encoding - x-amz-apigw-id: - - b97aUEDBIAMErmw= - x-amzn-RequestId: - - 509dc7d0-9526-4a1e-8ecd-79f9d8da45b3 - x-bt-internal-trace-id: - - 69e23f740000000051437af58db7b1a5 - status: - code: 403 - message: Forbidden - request: body: '{"contents": [{"parts": [{"text": "What is the capital of France?"}], "role": "user"}], "systemInstruction": {"parts": [{"text": "You are a Capital Information @@ -134,23 +12,23 @@ interactions: Content-Type: - application/json user-agent: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent response: body: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": - [\n {\n \"text\": \"{\\n\\\"capital\\\": \\\"Paris\\\"\\n}\"\n + [\n {\n \"text\": \"{\\n \\\"capital\\\": \\\"Paris\\\"\\n}\"\n \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": - \"STOP\",\n \"avgLogprobs\": -0.0819449245929718\n }\n ],\n \"usageMetadata\": - {\n \"promptTokenCount\": 66,\n \"candidatesTokenCount\": 10,\n \"totalTokenCount\": - 76,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \"STOP\",\n \"avgLogprobs\": -0.094380367885936386\n }\n ],\n \"usageMetadata\": + {\n \"promptTokenCount\": 66,\n \"candidatesTokenCount\": 11,\n \"totalTokenCount\": + 77,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \ \"tokenCount\": 66\n }\n ],\n \"candidatesTokensDetails\": - [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 10\n - \ }\n ]\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n \"responseId\": - \"dD_iadihK7PU1MkPyp7y0AQ\"\n}\n" + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 11\n + \ }\n ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": + \"gemini-2.0-flash\",\n \"responseId\": \"qfMBapivFoS2_uMPypu9kQI\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -159,11 +37,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Fri, 17 Apr 2026 14:11:01 GMT + - Mon, 11 May 2026 15:20:09 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=538 + - gfet4t7; dur=597 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_sync_runner_run_does_not_duplicate_invocation_spans.yaml b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_sync_runner_run_does_not_duplicate_invocation_spans.yaml index 9bd0a86f..b757f927 100644 --- a/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_sync_runner_run_does_not_duplicate_invocation_spans.yaml +++ b/py/src/braintrust/integrations/adk/cassettes/latest/test_adk_sync_runner_run_does_not_duplicate_invocation_spans.yaml @@ -1,162 +1,4 @@ interactions: -- request: - body: '{"rows": [{"context": {"caller_filename": "/Users/abhijeetprasad/workspace/braintrust-sdk-python/py/.nox/test_google_adk-latest/lib/python3.14/site-packages/google/adk/runners.py", - "caller_functionname": "_invoke_run_async", "caller_lineno": 479}, "created": - "2026-04-17T14:10:48.686708+00:00", "id": "5e172b65-ecf1-4de9-9748-b63648da7fa3", - "input": {"new_message": {"parts": [{"text": "hello"}], "role": "user"}}, "log_id": - "g", "metadata": {"run_config": {"input_audio_transcription": {}, "max_llm_calls": - 500, "output_audio_transcription": {}, "save_input_blobs_as_artifacts": false, - "save_live_audio": false, "save_live_blob": false, "streaming_mode": "StreamingMode.NONE", - "support_cfc": false}, "session_id": "test-session-thread", "state_delta": null, - "user_id": "test-user"}, "metrics": {"end": 1776435048.689106, "start": 1776435048.6867058}, - "output": {"actions": {"artifact_delta": {}, "requested_auth_configs": {}, "requested_tool_confirmations": - {}, "state_delta": {}}, "author": "echo_agent", "content": {"parts": [{"text": - "ok"}], "role": "model"}, "id": "b644c795-c71b-4116-9d62-6446836b4e5b", "invocation_id": - "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", "timestamp": 1776435048.688139}, "project_id": - "test_adk", "root_span_id": "dcda4d0b-1606-42fd-a077-03855faa40aa", "span_attributes": - {"exec_counter": 2, "name": "invocation [thread_bridge_app]", "type": "task"}, - "span_id": "ae903ac6-8ca2-4ad8-928b-25f3426df859", "span_parents": ["dcda4d0b-1606-42fd-a077-03855faa40aa"]},{"context": - {"caller_filename": "/Users/abhijeetprasad/workspace/braintrust-sdk-python/py/.nox/test_google_adk-latest/lib/python3.14/site-packages/google/adk/runners.py", - "caller_functionname": "execute", "caller_lineno": 606}, "created": "2026-04-17T14:10:48.687223+00:00", - "id": "46a139df-227f-44c2-802f-2677634a7f38", "log_id": "g", "metadata": {"parent_context": - {"agent": {"description": "", "name": "echo_agent", "sub_agents": []}, "agent_states": - {}, "end_invocation": false, "end_of_agents": {}, "invocation_id": "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", - "plugin_manager": "", "run_config": {"input_audio_transcription": {}, "max_llm_calls": - 500, "output_audio_transcription": {}, "save_input_blobs_as_artifacts": false, - "save_live_audio": false, "save_live_blob": false, "streaming_mode": "StreamingMode.NONE", - "support_cfc": false}, "session": {"app_name": "thread_bridge_app", "events": - [{"actions": {"artifact_delta": {}, "requested_auth_configs": {}, "requested_tool_confirmations": - {}, "state_delta": {}}, "author": "user", "content": {"parts": [{"text": "hello"}], - "role": "user"}, "id": "dbdd5fb8-d657-4f7a-a8a9-1d0c35205fb5", "invocation_id": - "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", "timestamp": 1776435048.687071}], - "id": "test-session-thread", "last_update_time": 1776435048.687071, "state": - {}, "user_id": "test-user"}, "session_service": "", "token_compaction_checked": false, "user_content": - {"parts": [{"text": "hello"}], "role": "user"}}}, "metrics": {"end": 1776435048.689078, - "start": 1776435048.687222}, "output": {"actions": {"artifact_delta": {}, "requested_auth_configs": - {}, "requested_tool_confirmations": {}, "state_delta": {}}, "author": "echo_agent", - "content": {"parts": [{"text": "ok"}], "role": "model"}, "id": "b644c795-c71b-4116-9d62-6446836b4e5b", - "invocation_id": "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", "timestamp": 1776435048.688139}, - "project_id": "test_adk", "root_span_id": "dcda4d0b-1606-42fd-a077-03855faa40aa", - "span_attributes": {"exec_counter": 3, "name": "agent_run [echo_agent]", "type": - "task"}, "span_id": "650feffc-f6c9-4ee5-9948-6eed82af2d23", "span_parents": - ["ae903ac6-8ca2-4ad8-928b-25f3426df859"]},{"context": {"caller_filename": "/Users/abhijeetprasad/workspace/braintrust-sdk-python/py/.nox/test_google_adk-latest/lib/python3.14/site-packages/google/adk/agents/llm_agent.py", - "caller_functionname": "_run_async_impl", "caller_lineno": 487}, "created": - "2026-04-17T14:10:48.687649+00:00", "id": "0320ad76-4f40-4e25-b97c-311b272b33b7", - "log_id": "g", "metadata": {"invocation_context": {"agent": {"description": - "", "name": "echo_agent", "sub_agents": []}, "agent_states": {}, "end_invocation": - false, "end_of_agents": {}, "invocation_id": "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", - "plugin_manager": "", "run_config": {"input_audio_transcription": {}, "max_llm_calls": - 500, "output_audio_transcription": {}, "save_input_blobs_as_artifacts": false, - "save_live_audio": false, "save_live_blob": false, "streaming_mode": "StreamingMode.NONE", - "support_cfc": false}, "session": {"app_name": "thread_bridge_app", "events": - [{"actions": {"artifact_delta": {}, "requested_auth_configs": {}, "requested_tool_confirmations": - {}, "state_delta": {}}, "author": "user", "content": {"parts": [{"text": "hello"}], - "role": "user"}, "id": "dbdd5fb8-d657-4f7a-a8a9-1d0c35205fb5", "invocation_id": - "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", "timestamp": 1776435048.687071}], - "id": "test-session-thread", "last_update_time": 1776435048.687071, "state": - {}, "user_id": "test-user"}, "session_service": "", "token_compaction_checked": false, "user_content": - {"parts": [{"text": "hello"}], "role": "user"}}}, "metrics": {"end": 1776435048.68904, - "start": 1776435048.687648}, "output": {"actions": {"artifact_delta": {}, "requested_auth_configs": - {}, "requested_tool_confirmations": {}, "state_delta": {}}, "author": "echo_agent", - "content": {"parts": [{"text": "ok"}], "role": "model"}, "id": "b644c795-c71b-4116-9d62-6446836b4e5b", - "invocation_id": "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", "timestamp": 1776435048.688139}, - "project_id": "test_adk", "root_span_id": "dcda4d0b-1606-42fd-a077-03855faa40aa", - "span_attributes": {"exec_counter": 4, "name": "call_llm", "type": "task"}, - "span_id": "2821c120-172b-4f05-8ed1-f9833ceca4e5", "span_parents": ["650feffc-f6c9-4ee5-9948-6eed82af2d23"]},{"context": - {"caller_filename": "/Users/abhijeetprasad/workspace/braintrust-sdk-python/py/.nox/test_google_adk-latest/lib/python3.14/site-packages/google/adk/flows/llm_flows/base_llm_flow.py", - "caller_functionname": "_run_one_step_async", "caller_lineno": 881}, "created": - "2026-04-17T14:10:48.688347+00:00", "id": "dbc1a851-ffd7-4a4a-bcc5-632f600a627b", - "input": {"config": {"system_instruction": "Respond with ok.\n\nYou are an agent. - Your internal name is \"echo_agent\"."}, "contents": [{"parts": [{"text": "hello"}], - "role": "user"}], "live_connect_config": {"input_audio_transcription": {}, "output_audio_transcription": - {}}, "model": "test-llm-context-prop"}, "log_id": "g", "metadata": {"flow_class": - "AutoFlow", "invocation_context": {"agent": {"description": "", "name": "echo_agent", - "sub_agents": []}, "agent_states": {}, "end_invocation": false, "end_of_agents": - {}, "invocation_id": "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", "plugin_manager": - "", "run_config": - {"input_audio_transcription": {}, "max_llm_calls": 500, "output_audio_transcription": - {}, "save_input_blobs_as_artifacts": false, "save_live_audio": false, "save_live_blob": - false, "streaming_mode": "StreamingMode.NONE", "support_cfc": false}, "session": - {"app_name": "thread_bridge_app", "events": [{"actions": {"artifact_delta": - {}, "requested_auth_configs": {}, "requested_tool_confirmations": {}, "state_delta": - {}}, "author": "user", "content": {"parts": [{"text": "hello"}], "role": "user"}, - "id": "dbdd5fb8-d657-4f7a-a8a9-1d0c35205fb5", "invocation_id": "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", - "timestamp": 1776435048.687071}], "id": "test-session-thread", "last_update_time": - 1776435048.687071, "state": {}, "user_id": "test-user"}, "session_service": - "", "token_compaction_checked": false, "user_content": {"parts": - [{"text": "hello"}], "role": "user"}}, "model": "test-llm-context-prop", "model_response_event": - {"actions": {"artifact_delta": {}, "requested_auth_configs": {}, "requested_tool_confirmations": - {}, "state_delta": {}}, "author": "echo_agent", "id": "b644c795-c71b-4116-9d62-6446836b4e5b", - "invocation_id": "e-b4e01b2a-1f21-4abf-a30f-4b20c6237f4c", "timestamp": 1776435048.688139}}, - "metrics": {"end": 1776435048.689007, "start": 1776435048.6883461, "time_to_first_token": - 0.00035572052001953125}, "output": {"content": {"parts": [{"text": "ok"}], "role": - "model"}}, "project_id": "test_adk", "root_span_id": "dcda4d0b-1606-42fd-a077-03855faa40aa", - "span_attributes": {"exec_counter": 5, "llm_call_type": "direct_response", "name": - "llm_call [direct_response]", "type": "llm"}, "span_id": "3fb0390c-eb8e-4e08-b7c0-2e1e13b50f9c", - "span_parents": ["2821c120-172b-4f05-8ed1-f9833ceca4e5"]}], "api_version": 2}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, zstd - Connection: - - keep-alive - Content-Length: - - '9020' - User-Agent: - - python-requests/2.33.1 - method: POST - uri: https://staging-api.braintrust.dev/logs3 - response: - body: - string: '{"Code":"ForbiddenError","Message":"Missing read access to project_log - id test_adk, or the project_log does not exist [user_email=abhijeet@braintrustdata.com] - [user_org=braintrustdata.com] [timestamp=1776435051.735]","InternalTraceId":"69e23f6b0000000006f0a71a025530ac","Path":"/logs3","Service":"api"}' - headers: - Connection: - - keep-alive - Content-Length: - - '235' - Content-Type: - - application/json; charset=utf-8 - Date: - - Fri, 17 Apr 2026 14:10:51 GMT - Via: - - 1.1 8757e4d26d0f26e2f05769a88e8a5ace.cloudfront.net (CloudFront), 1.1 9b2dd59575ce5b546a63dbe37a7ae2de.cloudfront.net - (CloudFront) - X-Amz-Cf-Id: - - qbbiylzkb0gyN0oQOTecUn2etuEAUMWrjN6z_Dd6rsZ7a_kgF_QRYQ== - X-Amz-Cf-Pop: - - YTO53-P2 - - YTO50-P1 - X-Amzn-Trace-Id: - - Root=1-69e23f6b-3dd520813456d5d8468b037f;Parent=3e17b589df381852;Sampled=0;Lineage=1:fc3b4ff1:0 - X-Cache: - - Error from cloudfront - access-control-allow-credentials: - - 'true' - access-control-expose-headers: - - x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id - content-encoding: - - gzip - etag: - - W/"12e-OqBZ85hFQozUgOdpphk3R2HVpZU" - vary: - - Origin, Accept-Encoding - x-amz-apigw-id: - - b97Y4EjOIAMEKRw= - x-amzn-RequestId: - - bae8df98-2b48-4f72-877c-703c71afb255 - x-bt-internal-trace-id: - - 69e23f6b0000000006f0a71a025530ac - status: - code: 403 - message: Forbidden - request: body: '{"contents": [{"parts": [{"text": "What''s the weather in San Francisco?"}], "role": "user"}], "systemInstruction": {"parts": [{"text": "You are a helpful @@ -169,9 +11,9 @@ interactions: Content-Type: - application/json user-agent: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent response: @@ -185,8 +27,9 @@ interactions: 57,\n \"candidatesTokenCount\": 6,\n \"totalTokenCount\": 63,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 57\n \ }\n ],\n \"candidatesTokensDetails\": [\n {\n \"modality\": - \"TEXT\",\n \"tokenCount\": 6\n }\n ]\n },\n \"modelVersion\": - \"gemini-2.0-flash\",\n \"responseId\": \"az_iaeSkH7bajMcPhPqkQA\"\n}\n" + \"TEXT\",\n \"tokenCount\": 6\n }\n ],\n \"serviceTier\": + \"standard\"\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n \"responseId\": + \"ovMBaurfAYXP_uMP14WP0QQ\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -195,11 +38,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Fri, 17 Apr 2026 14:10:51 GMT + - Mon, 11 May 2026 15:20:02 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=610 + - gfet4t7; dur=529 Transfer-Encoding: - chunked Vary: @@ -233,9 +76,9 @@ interactions: Content-Type: - application/json user-agent: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.73.1 gl-python/3.14.3 google-adk/1.31.0 gl-python/3.14.3 + - google-genai-sdk/1.75.0 gl-python/3.12.12 google-adk/1.33.0 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent response: @@ -249,8 +92,8 @@ interactions: 117,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \ \"tokenCount\": 84\n }\n ],\n \"candidatesTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 33\n - \ }\n ]\n },\n \"modelVersion\": \"gemini-2.0-flash\",\n \"responseId\": - \"bD_iafOYDe7U1MkP58GFwAM\"\n}\n" + \ }\n ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": + \"gemini-2.0-flash\",\n \"responseId\": \"ovMBauz3K7jL_uMP6fmsqAE\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -259,11 +102,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Fri, 17 Apr 2026 14:10:52 GMT + - Mon, 11 May 2026 15:20:03 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=489 + - gfet4t7; dur=646 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBatchesCreateSpans.test_async_batches_create_produces_span.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBatchesCreateSpans.test_async_batches_create_produces_span.yaml index aa6e375c..99142e56 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBatchesCreateSpans.test_async_batches_create_produces_span.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBatchesCreateSpans.test_async_batches_create_produces_span.yaml @@ -17,7 +17,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - AsyncAnthropic/Python 0.97.0 + - AsyncAnthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -27,7 +27,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -44,10 +44,10 @@ interactions: uri: https://api.anthropic.com/v1/messages/batches response: body: - string: '{"id":"msgbatch_01Cd1mB9Z4ogDckCbftQo5cb","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-04-24T16:58:33.277312+00:00","expires_at":"2026-04-25T16:58:33.277312+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}' + string: '{"id":"msgbatch_01UGbPMy5RU8WHCa7j2Dwm27","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-05-11T15:16:58.428003+00:00","expires_at":"2026-05-12T15:16:58.428003+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}' headers: CF-RAY: - - 9f16a744dc8b3b8e-YYZ + - 9fa225d87d4debb4-YYZ Connection: - keep-alive Content-Security-Policy: @@ -55,7 +55,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:58:33 GMT + - Mon, 11 May 2026 15:16:58 GMT Server: - cloudflare Transfer-Encoding: @@ -69,188 +69,18 @@ interactions: content-length: - '361' request-id: - - req_011CaNx8XYya9uYHUyA79mvo + - req_011Caw18perARTjiCuaqhAgb server-timing: - - x-originResponse;dur=242 + - x-originResponse;dur=174 set-cookie: - - _cfuvid=uYZumfOnZLIT27zfJfjsVaknvThUgqvzWXcejAiDvzw-1777049913.0930805-1.0.1.1-jpuXNbeLCKfA1Loix4TPh0hzQJ6R5dsXQjpshZa2yC4; + - _cfuvid=TOlufSc8lUpqiSk3D0REIEdniTNMQc2FLrRweTvvOUQ-1778512618.3156328-1.0.1.1-1L7xBcOr7zftD2LJL0VHzJDb1Y.aqktjx2X6mHDDsQs; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload vary: - Accept-Encoding x-envoy-upstream-service-time: - - '241' - status: - code: 200 - message: OK -- request: - body: '{"requests":[{"custom_id":"req-1","params":{"model":"claude-haiku-4-5-20251001","max_tokens":100,"messages":[{"role":"user","content":"What - is 2+2?"}]}},{"custom_id":"req-2","params":{"model":"claude-haiku-4-5-20251001","max_tokens":100,"messages":[{"role":"user","content":"What - is 3+3?"}]}}]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '294' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages/batches - response: - body: - string: '{"id":"msgbatch_01HaDe3qHLaCepBhwf6KgFkD","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-04-24T16:59:23.469955+00:00","expires_at":"2026-04-25T16:59:23.469955+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}' - headers: - CF-RAY: - - 9f16a87e7932178c-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:23 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - cf-cache-status: - - DYNAMIC - content-length: - - '361' - request-id: - - req_011CaNxCE8b986jV8UKH6sTC - server-timing: - - x-originResponse;dur=250 - set-cookie: - - _cfuvid=.3tzgRBxMxe1605pF35RPY6.av_dojc0iBzfoUG.njs-1777049963.2745476-1.0.1.1-Hb1IRmpALx_yoMsTPEF54sS5ZVQS2_s4WMKM4257d0I; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '248' - status: - code: 200 - message: OK -- request: - body: '{"requests":[{"custom_id":"req-1","params":{"model":"claude-haiku-4-5-20251001","max_tokens":100,"messages":[{"role":"user","content":"What - is 2+2?"}]}},{"custom_id":"req-2","params":{"model":"claude-haiku-4-5-20251001","max_tokens":100,"messages":[{"role":"user","content":"What - is 3+3?"}]}}]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '294' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages/batches - response: - body: - string: '{"id":"msgbatch_013xTj8HVELy7r2j1KE512X1","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-04-24T17:00:34.316704+00:00","expires_at":"2026-04-25T17:00:34.316704+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}' - headers: - CF-RAY: - - 9f16aa396ebf086a-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 17:00:34 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - cf-cache-status: - - DYNAMIC - content-length: - - '361' - request-id: - - req_011CaNxHT6qaWJZx4zXff2vT - server-timing: - - x-originResponse;dur=233 - set-cookie: - - _cfuvid=KiQGQQOAaQL3hlb3sGO8TBOxmMeDFqj..ukS0f7ekvQ-1777050034.1430714-1.0.1.1-kZHHwAfnRgAhobZfQNB2W_.IO1CU1iY_a43_JpNg2mo; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '230' + - '170' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBatchesCreateSpans.test_sync_batches_create_logs_error_on_failure.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBatchesCreateSpans.test_sync_batches_create_logs_error_on_failure.yaml index bbdab014..df5b641a 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBatchesCreateSpans.test_sync_batches_create_logs_error_on_failure.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBatchesCreateSpans.test_sync_batches_create_logs_error_on_failure.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -43,10 +43,10 @@ interactions: response: body: string: '{"type":"error","error":{"type":"invalid_request_error","message":"requests: - List should have at least 1 item after validation, not 0"},"request_id":"req_011CaNx8ZAiMhSwnvdevpo1p"}' + List should have at least 1 item after validation, not 0"},"request_id":"req_011Caw18r5Re7UWu7PaC2HEq"}' headers: CF-RAY: - - 9f16a7472e57076d-YYZ + - 9fa225da9c21ac46-YYZ Connection: - keep-alive Content-Security-Policy: @@ -54,7 +54,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:58:33 GMT + - Mon, 11 May 2026 15:16:58 GMT Server: - cloudflare Transfer-Encoding: @@ -68,190 +68,18 @@ interactions: content-length: - '180' request-id: - - req_011CaNx8ZAiMhSwnvdevpo1p + - req_011Caw18r5Re7UWu7PaC2HEq server-timing: - - x-originResponse;dur=55 + - x-originResponse;dur=47 set-cookie: - - _cfuvid=eBD_TqlmnLoiYFuq4BC101fIAVHX_IQjt8ypNZGkZjY-1777049913.4681876-1.0.1.1-tabM1M09Kz99ecPMETqSUdHFOoua9JVH2YDwGSw_7VU; + - _cfuvid=nZpwplJ30sANoUkYTt67__o6NhVohkI4FRNyexCj6PU-1778512618.6534522-1.0.1.1-6meUAF4V9xn6EzX.d6KJMVSUawOhXN_GDF6FgpDMUbA; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload vary: - Accept-Encoding x-envoy-upstream-service-time: - - '51' - x-should-retry: - - 'false' - status: - code: 400 - message: Bad Request -- request: - body: '{"requests":[]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '15' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages/batches - response: - body: - string: '{"type":"error","error":{"type":"invalid_request_error","message":"requests: - List should have at least 1 item after validation, not 0"},"request_id":"req_011CaNxCG5fomLacBWGXneuc"}' - headers: - CF-RAY: - - 9f16a8815e981707-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:23 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - cf-cache-status: - - DYNAMIC - content-length: - - '180' - request-id: - - req_011CaNxCG5fomLacBWGXneuc - server-timing: - - x-originResponse;dur=52 - set-cookie: - - _cfuvid=1_ElQ_05plbnauRxGuB3hW7ldKUqJL2OQvw_kLUeiAw-1777049963.7368162-1.0.1.1-btPRLnpZmeT038gB0grWpvQSzHqYG2SlKQwT9eoxCY4; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '51' - x-should-retry: - - 'false' - status: - code: 400 - message: Bad Request -- request: - body: '{"requests":[]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '15' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages/batches - response: - body: - string: '{"type":"error","error":{"type":"invalid_request_error","message":"requests: - List should have at least 1 item after validation, not 0"},"request_id":"req_011CaNxHVVxANmSoJMTpfpbD"}' - headers: - CF-RAY: - - 9f16aa3cee9c5163-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 17:00:34 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - cf-cache-status: - - DYNAMIC - content-length: - - '180' - request-id: - - req_011CaNxHVVxANmSoJMTpfpbD - server-timing: - - x-originResponse;dur=61 - set-cookie: - - _cfuvid=r3lyZB2nOzg0tQolXs_vQPzZ2XjlzM1IoICId7UGq8c-1777050034.7040968-1.0.1.1-1UWyB1VIy5tG78t_wINa5QN834sYNby4wJGHK16sHzc; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '59' + - '45' x-should-retry: - 'false' status: diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBatchesCreateSpans.test_sync_batches_create_multi_model_metadata.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBatchesCreateSpans.test_sync_batches_create_multi_model_metadata.yaml index 3c297e2f..fe4d54ce 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBatchesCreateSpans.test_sync_batches_create_multi_model_metadata.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBatchesCreateSpans.test_sync_batches_create_multi_model_metadata.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -42,10 +42,10 @@ interactions: uri: https://api.anthropic.com/v1/messages/batches response: body: - string: '{"id":"msgbatch_01Hx4qTY1dBoJyST3qDG5NpH","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-04-24T16:58:33.829241+00:00","expires_at":"2026-04-25T16:58:33.829241+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}' + string: '{"id":"msgbatch_01S6UjcKu3EjdB7SjpLGXRhW","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-05-11T15:16:59.410845+00:00","expires_at":"2026-05-12T15:16:59.410845+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}' headers: CF-RAY: - - 9f16a7484ad8a220-YYZ + - 9fa225dbde1fab1c-YYZ Connection: - keep-alive Content-Security-Policy: @@ -53,7 +53,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:58:33 GMT + - Mon, 11 May 2026 15:16:59 GMT Server: - cloudflare Transfer-Encoding: @@ -67,184 +67,18 @@ interactions: content-length: - '361' request-id: - - req_011CaNx8ZwqwKUt5tPKLmc1P + - req_011Caw18rzz2TNxA4pc7T8oh server-timing: - - x-originResponse;dur=246 + - x-originResponse;dur=917 set-cookie: - - _cfuvid=khAbhXxW1hrXQhiyWT4eWIRJD8X9WdT_K6GTG0KVMuo-1777049913.6471536-1.0.1.1-D6bygvJ9dSZlqliUufyfqF.P87XZcxgGKlF4c7cX0D4; + - _cfuvid=Z5pqaMCjk7UcxN3pAZZcZGobOtybDJA101GdCudDSik-1778512618.8562102-1.0.1.1-G80hXA5PYJ0LYT_GFSuBPu21MHjOow49mBuV9y0vQzU; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload vary: - Accept-Encoding x-envoy-upstream-service-time: - - '244' - status: - code: 200 - message: OK -- request: - body: '{"requests":[{"custom_id":"req-1","params":{"model":"claude-haiku-4-5-20251001","max_tokens":100,"messages":[{"role":"user","content":"Hi"}]}},{"custom_id":"req-2","params":{"model":"claude-3-5-haiku-latest","max_tokens":100,"messages":[{"role":"user","content":"Hello"}]}}]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '275' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages/batches - response: - body: - string: '{"id":"msgbatch_01JTACDHgdj3kor3wMCYtKMs","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-04-24T16:59:24.109105+00:00","expires_at":"2026-04-25T16:59:24.109105+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}' - headers: - CF-RAY: - - 9f16a8827cfce7e3-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:24 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - cf-cache-status: - - DYNAMIC - content-length: - - '361' - request-id: - - req_011CaNxCGqokhuZ5pTu1tPXp - server-timing: - - x-originResponse;dur=268 - set-cookie: - - _cfuvid=3.o05yfoThfxh.65dYRk6SIaqkBoNOLnbyjiTgzFhy0-1777049963.9146104-1.0.1.1-RyZhbFRjUw_oExVK_AMaQnndo5CVf8jQDffZp74EyNU; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '266' - status: - code: 200 - message: OK -- request: - body: '{"requests":[{"custom_id":"req-1","params":{"model":"claude-haiku-4-5-20251001","max_tokens":100,"messages":[{"role":"user","content":"Hi"}]}},{"custom_id":"req-2","params":{"model":"claude-3-5-haiku-latest","max_tokens":100,"messages":[{"role":"user","content":"Hello"}]}}]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '275' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages/batches - response: - body: - string: '{"id":"msgbatch_01CvDXJZCbo9zYTh3wwwtXgA","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-04-24T17:00:35.185224+00:00","expires_at":"2026-04-25T17:00:35.185224+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}' - headers: - CF-RAY: - - 9f16aa3f2803ab0a-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 17:00:35 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - cf-cache-status: - - DYNAMIC - content-length: - - '361' - request-id: - - req_011CaNxHX3Dh462CtpuJWFPT - server-timing: - - x-originResponse;dur=192 - set-cookie: - - _cfuvid=k6eSFOcelqCVPJezODnUdzBC0YLdG0v0Fz4xTSsUJyg-1777050035.0626783-1.0.1.1-hVtRAciUISV4MdOziy1aKVJMDlFEGqpltk52g.29678; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '191' + - '915' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBatchesCreateSpans.test_sync_batches_create_produces_span.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBatchesCreateSpans.test_sync_batches_create_produces_span.yaml index 29a02a7a..726e3127 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBatchesCreateSpans.test_sync_batches_create_produces_span.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBatchesCreateSpans.test_sync_batches_create_produces_span.yaml @@ -17,7 +17,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -27,7 +27,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -44,10 +44,10 @@ interactions: uri: https://api.anthropic.com/v1/messages/batches response: body: - string: '{"id":"msgbatch_012PELsq7yArQkMDNzDhoZ2t","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-04-24T16:58:32.887169+00:00","expires_at":"2026-04-25T16:58:32.887169+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}' + string: '{"id":"msgbatch_01Ep1rHW3yomL3gwV1HFnPv1","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-05-11T15:16:58.063716+00:00","expires_at":"2026-05-12T15:16:58.063716+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}' headers: CF-RAY: - - 9f16a7424d2aac4c-YYZ + - 9fa225d5ef34ec72-YYZ Connection: - keep-alive Content-Security-Policy: @@ -55,7 +55,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:58:32 GMT + - Mon, 11 May 2026 15:16:58 GMT Server: - cloudflare Transfer-Encoding: @@ -69,188 +69,18 @@ interactions: content-length: - '361' request-id: - - req_011CaNx8VqYHqduvoh65UcCf + - req_011Caw18ntBkRnYhgPNfBH16 server-timing: - - x-originResponse;dur=278 + - x-originResponse;dur=273 set-cookie: - - _cfuvid=ayaYpa3G5QwuduiaUnDslMLkmfckAXxGgdfiMgFy3z0-1777049912.6861703-1.0.1.1-HRxiQps0XeMsSnQndl4dwWsgaVww6gXq9iXOZc9L9_U; + - _cfuvid=tRy1qqidWHPO2fw9aa_D6IsngJ0KvijYufQLAI00tqA-1778512617.9094706-1.0.1.1-3468a8dyrtqUOb8iBdt20vYxYiTZfSTTvmJl6doZHss; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload vary: - Accept-Encoding x-envoy-upstream-service-time: - - '274' - status: - code: 200 - message: OK -- request: - body: '{"requests":[{"custom_id":"req-1","params":{"model":"claude-haiku-4-5-20251001","max_tokens":100,"messages":[{"role":"user","content":"What - is 2+2?"}]}},{"custom_id":"req-2","params":{"model":"claude-haiku-4-5-20251001","max_tokens":100,"messages":[{"role":"user","content":"What - is 3+3?"}]}}]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '294' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages/batches - response: - body: - string: '{"id":"msgbatch_01AMKitAF9JgEoQ8RQCjXufe","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-04-24T16:59:23.046187+00:00","expires_at":"2026-04-25T16:59:23.046187+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}' - headers: - CF-RAY: - - 9f16a87b7d985d15-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:23 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - cf-cache-status: - - DYNAMIC - content-length: - - '361' - request-id: - - req_011CaNxCCEF6NSknqrQEjiyA - server-timing: - - x-originResponse;dur=322 - set-cookie: - - _cfuvid=ZmafmXJLV9HYNFpOND5PGNxdQbmT0cmVcHPZZNy9Euo-1777049962.7996058-1.0.1.1-S.JVukM3ZHySDwfVY.imc8K71kMMdQUDVPrFwbfBIf4; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '289' - status: - code: 200 - message: OK -- request: - body: '{"requests":[{"custom_id":"req-1","params":{"model":"claude-haiku-4-5-20251001","max_tokens":100,"messages":[{"role":"user","content":"What - is 2+2?"}]}},{"custom_id":"req-2","params":{"model":"claude-haiku-4-5-20251001","max_tokens":100,"messages":[{"role":"user","content":"What - is 3+3?"}]}}]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '294' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages/batches - response: - body: - string: '{"id":"msgbatch_01DUJcnChX3t7KFSMLrjeLMK","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-04-24T17:00:33.546713+00:00","expires_at":"2026-04-25T17:00:33.546713+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}' - headers: - CF-RAY: - - 9f16aa3448d8ab48-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 17:00:33 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - cf-cache-status: - - DYNAMIC - content-length: - - '361' - request-id: - - req_011CaNxHPfDQr8ce154beBkQ - server-timing: - - x-originResponse;dur=314 - set-cookie: - - _cfuvid=ABtdRQS_.sl7_mARyw7kB7VpYb7geKeMXtNq6T_4uhc-1777050033.3309233-1.0.1.1-DksaEHt46clBjHtrQYdEtWqfMe6FuxEQB047QrtLfx8; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '313' + - '271' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBetaBatchesCreateSpans.test_async_beta_batches_create_produces_span.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBetaBatchesCreateSpans.test_async_beta_batches_create_produces_span.yaml index 621ad1ae..35c3208c 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBetaBatchesCreateSpans.test_async_beta_batches_create_produces_span.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBetaBatchesCreateSpans.test_async_beta_batches_create_produces_span.yaml @@ -17,7 +17,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - AsyncAnthropic/Python 0.97.0 + - AsyncAnthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -27,7 +27,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -46,10 +46,10 @@ interactions: uri: https://api.anthropic.com/v1/messages/batches?beta=true response: body: - string: '{"id":"msgbatch_01VRVTRMAysdZ3g5SLYNN32o","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-04-24T16:58:34.994220+00:00","expires_at":"2026-04-25T16:58:34.994220+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}' + string: '{"id":"msgbatch_01XPSNibvvFtjAkpXCdBrJBm","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-05-11T15:17:00.576429+00:00","expires_at":"2026-05-12T15:17:00.576429+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}' headers: CF-RAY: - - 9f16a74f6a1ed5f4-YYZ + - 9fa225e5a87eebb9-YYZ Connection: - keep-alive Content-Security-Policy: @@ -57,7 +57,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:58:35 GMT + - Mon, 11 May 2026 15:17:00 GMT Server: - cloudflare Transfer-Encoding: @@ -71,192 +71,18 @@ interactions: content-length: - '361' request-id: - - req_011CaNx8enoADD5bmnuTkagS + - req_011Caw18ygKyHk5DiJbmVVMX server-timing: - - x-originResponse;dur=270 + - x-originResponse;dur=234 set-cookie: - - _cfuvid=uHVMeoIqhvMFJBCkJRcSwHAp3sTrVyTpWh9B4bL9I7A-1777049914.7852786-1.0.1.1-DDVcEiFedtOk8PPXh9VYt7lqkfTQcGemPoSlV1GQ85k; + - _cfuvid=Rcwg8ZTcoRlXo91bh9R2Vt8c9yOME3aaI5o9vyglC_o-1778512620.429678-1.0.1.1-Tlva7RUSf1Wi4._q0c0p.1sM2TSGI8_9S1mn0m_8aUw; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload vary: - Accept-Encoding x-envoy-upstream-service-time: - - '269' - status: - code: 200 - message: OK -- request: - body: '{"requests":[{"custom_id":"req-1","params":{"model":"claude-haiku-4-5-20251001","max_tokens":100,"messages":[{"role":"user","content":"What - is 2+2?"}]}},{"custom_id":"req-2","params":{"model":"claude-haiku-4-5-20251001","max_tokens":100,"messages":[{"role":"user","content":"What - is 3+3?"}]}}]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '294' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - message-batches-2024-09-24 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages/batches?beta=true - response: - body: - string: '{"id":"msgbatch_01AbWbpQgWnqCVf2CYnvqipH","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-04-24T16:59:25.055112+00:00","expires_at":"2026-04-25T16:59:25.055112+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}' - headers: - CF-RAY: - - 9f16a888ab78ab3f-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:25 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - cf-cache-status: - - DYNAMIC - content-length: - - '361' - request-id: - - req_011CaNxCM63Yz8hkN9RAjw7e - server-timing: - - x-originResponse;dur=218 - set-cookie: - - _cfuvid=Sey1zxQ0sCr9HUfXNOAQ2UgLPpXJJ0cXzSlLYWrMITw-1777049964.904238-1.0.1.1-4.321J9cAPr_t1O_wAXoazTuV0s.oVPXeJ2zG4L3hrM; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '215' - status: - code: 200 - message: OK -- request: - body: '{"requests":[{"custom_id":"req-1","params":{"model":"claude-haiku-4-5-20251001","max_tokens":100,"messages":[{"role":"user","content":"What - is 2+2?"}]}},{"custom_id":"req-2","params":{"model":"claude-haiku-4-5-20251001","max_tokens":100,"messages":[{"role":"user","content":"What - is 3+3?"}]}}]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '294' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - message-batches-2024-09-24 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages/batches?beta=true - response: - body: - string: '{"id":"msgbatch_0163nSQGxUyhWyjSqhKAtq45","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-04-24T17:00:36.920982+00:00","expires_at":"2026-04-25T17:00:36.920982+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}' - headers: - CF-RAY: - - 9f16aa499dc874a7-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 17:00:37 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - cf-cache-status: - - DYNAMIC - content-length: - - '361' - request-id: - - req_011CaNxHeC64YrFon4kC2bxL - server-timing: - - x-originResponse;dur=248 - set-cookie: - - _cfuvid=WC13quTQFZaVyoWf6NdGQBlhebLVkPodOqeY3i9_Q.8-1777050036.7363389-1.0.1.1-2ulg7Bg_MkBhB.dHwm0zy_vhhBoG2fcKtVlsyPtQz1I; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '246' + - '230' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBetaBatchesCreateSpans.test_sync_beta_batches_create_produces_span.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBetaBatchesCreateSpans.test_sync_beta_batches_create_produces_span.yaml index 8dbcefc0..8d21a64c 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBetaBatchesCreateSpans.test_sync_beta_batches_create_produces_span.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/TestBetaBatchesCreateSpans.test_sync_beta_batches_create_produces_span.yaml @@ -17,7 +17,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -27,7 +27,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -46,10 +46,10 @@ interactions: uri: https://api.anthropic.com/v1/messages/batches?beta=true response: body: - string: '{"id":"msgbatch_01MHwFnwS4McaX8k52iXzbJC","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-04-24T16:58:34.295536+00:00","expires_at":"2026-04-25T16:58:34.295536+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}' + string: '{"id":"msgbatch_01GwMZpEpiy65SneMGbtx2MB","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-05-11T15:17:00.143074+00:00","expires_at":"2026-05-12T15:17:00.143074+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}' headers: CF-RAY: - - 9f16a74b1db60c26-YYZ + - 9fa225e2b8faabdc-YYZ Connection: - keep-alive Content-Security-Policy: @@ -57,7 +57,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:58:34 GMT + - Mon, 11 May 2026 15:17:00 GMT Server: - cloudflare Transfer-Encoding: @@ -71,192 +71,18 @@ interactions: content-length: - '361' request-id: - - req_011CaNx8btB9FM5ruXDic6VP + - req_011Caw18wfXTyhPHyxqpckGW server-timing: - - x-originResponse;dur=287 + - x-originResponse;dur=296 set-cookie: - - _cfuvid=qmjvv4F6wAnVKpS5U3ifYlckopZT1nXIPlZUzDWdHFU-1777049914.0982552-1.0.1.1-G9tGkXY7NjNLUCrj_8HmSB6vffjZbZ1FpFdeAl94qwg; + - _cfuvid=R42_nd8yGxaZGj7EN9ZLXWzs2.MKGQWRijYkRUII_KQ-1778512619.9599626-1.0.1.1-BUY4MM8KKtq.MNvtWqv78xTn6TMISLGsb0uWQl4ZmLQ; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload vary: - Accept-Encoding x-envoy-upstream-service-time: - - '282' - status: - code: 200 - message: OK -- request: - body: '{"requests":[{"custom_id":"req-1","params":{"model":"claude-haiku-4-5-20251001","max_tokens":100,"messages":[{"role":"user","content":"What - is 2+2?"}]}},{"custom_id":"req-2","params":{"model":"claude-haiku-4-5-20251001","max_tokens":100,"messages":[{"role":"user","content":"What - is 3+3?"}]}}]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '294' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - message-batches-2024-09-24 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages/batches?beta=true - response: - body: - string: '{"id":"msgbatch_01NpC33ib48GHnXHcNPNdtkf","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-04-24T16:59:24.592825+00:00","expires_at":"2026-04-25T16:59:24.592825+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}' - headers: - CF-RAY: - - 9f16a8850f2caac6-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:24 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - cf-cache-status: - - DYNAMIC - content-length: - - '361' - request-id: - - req_011CaNxCJcxp15z1N5EiBS9H - server-timing: - - x-originResponse;dur=326 - set-cookie: - - _cfuvid=u6ScSmRw2e1qV7v0ByYhQJ73UxIZSCj0_lpUQ_GTUOQ-1777049964.3252268-1.0.1.1-unJ22XpBEAO2pq8TST8.MbshcQzspX.kc4.VGYZKcMk; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '324' - status: - code: 200 - message: OK -- request: - body: '{"requests":[{"custom_id":"req-1","params":{"model":"claude-haiku-4-5-20251001","max_tokens":100,"messages":[{"role":"user","content":"What - is 2+2?"}]}},{"custom_id":"req-2","params":{"model":"claude-haiku-4-5-20251001","max_tokens":100,"messages":[{"role":"user","content":"What - is 3+3?"}]}}]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '294' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - message-batches-2024-09-24 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages/batches?beta=true - response: - body: - string: '{"id":"msgbatch_01JakcxGo9HckX8o7keMEXJ9","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":2,"succeeded":0,"errored":0,"canceled":0,"expired":0},"ended_at":null,"created_at":"2026-04-24T17:00:36.483624+00:00","expires_at":"2026-04-25T17:00:36.483624+00:00","archived_at":null,"cancel_initiated_at":null,"results_url":null}' - headers: - CF-RAY: - - 9f16aa4158458631-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 17:00:36 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - cf-cache-status: - - DYNAMIC - content-length: - - '361' - request-id: - - req_011CaNxHcNwpsNm7Tugi6jCx - server-timing: - - x-originResponse;dur=237 - set-cookie: - - _cfuvid=COER3LgNVh3BtDkesOF2P711fHMiX9kOTgUfqGSA67U-1777050035.4251475-1.0.1.1-LZx3s2vuoTs9OroJy070EsNeknwRTBD5.dHxruiuql0; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '234' + - '293' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_agents_create.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_agents_create.yaml index acbb2f92..3d4d7c3d 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_agents_create.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_agents_create.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -45,11 +45,11 @@ interactions: uri: https://api.anthropic.com/v1/agents?beta=true response: body: - string: '{"archived_at":null,"created_at":"2026-04-24T16:19:58.216993Z","description":"Does - math","id":"agent_011CaNuBtP7Css8ZqAutYNe7","mcp_servers":[],"metadata":{},"model":{"id":"claude-haiku-4-5","speed":"standard"},"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","updated_at":"2026-04-24T16:19:58.216993Z","version":1}' + string: '{"archived_at":null,"created_at":"2026-05-11T14:46:37.498926Z","description":"Does + math","id":"agent_01Nmm6i2mNAWMEikZ6ssXLPz","mcp_servers":[],"metadata":{},"model":{"id":"claude-haiku-4-5","speed":"standard"},"multiagent":null,"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","updated_at":"2026-05-11T14:46:37.498926Z","version":1}' headers: CF-RAY: - - 9f166ebf0eb71d7b-YYZ + - 9fa1f9640aa4ebc0-YYZ Connection: - keep-alive Content-Security-Policy: @@ -57,7 +57,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:19:58 GMT + - Mon, 11 May 2026 14:46:37 GMT Server: - cloudflare Transfer-Encoding: @@ -69,18 +69,18 @@ interactions: cf-cache-status: - DYNAMIC content-length: - - '356' + - '374' request-id: - - req_011CaNuBsCutw8XMaB5VjjQH + - req_011CavxpbdHXGuy8qSgiLtpo server-timing: - - x-originResponse;dur=415 + - x-originResponse;dur=127 set-cookie: - - _cfuvid=mtWlzRVcJWihWYgutq.NlYXowhqpo_fCfGB5XQFxYKI-1777047597.9232712-1.0.1.1-id6Eu2tbhiNNf8N7DVQ4A.cAB4Fm0KnEfmn.0lJkQdw; + - _cfuvid=.RsSasUg9DQcWLd_RzfmNLm7KLefNADiSjX2kGFK5RM-1778510797.443715-1.0.1.1-hiugHNMWizPAVKzd0O8WuIlPVzAsS9bVRgJBHB0Knn4; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com vary: - Accept-Encoding x-envoy-upstream-service-time: - - '414' + - '123' status: code: 200 message: OK @@ -100,7 +100,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -110,7 +110,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -126,14 +126,14 @@ interactions: x-stainless-timeout: - NOT_GIVEN method: POST - uri: https://api.anthropic.com/v1/agents/agent_011CaNuBtP7Css8ZqAutYNe7/archive?beta=true + uri: https://api.anthropic.com/v1/agents/agent_01Nmm6i2mNAWMEikZ6ssXLPz/archive?beta=true response: body: - string: '{"archived_at":"2026-04-24T16:19:58.828285Z","created_at":"2026-04-24T16:19:58.216993Z","description":"Does - math","id":"agent_011CaNuBtP7Css8ZqAutYNe7","mcp_servers":[],"metadata":{},"model":{"id":"claude-haiku-4-5","speed":"standard"},"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","updated_at":"2026-04-24T16:19:58.828285Z","version":1}' + string: '{"archived_at":"2026-05-11T14:46:37.843473Z","created_at":"2026-05-11T14:46:37.498926Z","description":"Does + math","id":"agent_01Nmm6i2mNAWMEikZ6ssXLPz","mcp_servers":[],"metadata":{},"model":{"id":"claude-haiku-4-5","speed":"standard"},"multiagent":null,"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","updated_at":"2026-05-11T14:46:37.843473Z","version":1}' headers: CF-RAY: - - 9f166ec25ecfaad4-YYZ + - 9fa1f96638f8ac1e-YYZ Connection: - keep-alive Content-Security-Policy: @@ -141,7 +141,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:19:59 GMT + - Mon, 11 May 2026 14:46:38 GMT Server: - cloudflare Transfer-Encoding: @@ -153,525 +153,18 @@ interactions: cf-cache-status: - DYNAMIC content-length: - - '381' + - '399' request-id: - - req_011CaNuBuXYyfu9g3DU5NfUH + - req_011Cavxpd9ozAN3YCWGh3yAa server-timing: - - x-originResponse;dur=591 + - x-originResponse;dur=255 set-cookie: - - _cfuvid=LFgwL5Gx2sy1pMRZJBQ3S_3kkgJ8g0.LlbF9zJ8nZRI-1777047598.458694-1.0.1.1-3IAOnZZFhhCCs3NB598m4awOiMv8hl8orKDWKEPYQfk; + - _cfuvid=2.SyV9XuySagNP7mvl1sAjHLiiYGhmleIs_noDX1aBY-1778510797.7993839-1.0.1.1-jxiReW9.9qFUQCJ1EQpbBz_Pskm59Hy7fJbmhX2_abA; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com vary: - Accept-Encoding x-envoy-upstream-service-time: - - '589' - status: - code: 200 - message: OK -- request: - body: '{"model":"claude-haiku-4-5","name":"braintrust-sdk-managed-agent","description":"Does - math","tools":[]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '103' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - managed-agents-2026-04-01 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/agents?beta=true - response: - body: - string: '{"archived_at":null,"created_at":"2026-04-24T16:58:28.306828Z","description":"Does - math","id":"agent_011CaNx8B1U5siEC8J3qmtgJ","mcp_servers":[],"metadata":{},"model":{"id":"claude-haiku-4-5","speed":"standard"},"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","updated_at":"2026-04-24T16:58:28.306828Z","version":1}' - headers: - CF-RAY: - - 9f16a726aacaaa96-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:58:28 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - accept-encoding: - - gzip - cf-cache-status: - - DYNAMIC - content-length: - - '356' - request-id: - - req_011CaNx8AxEuoRWi5LuCbGMW - server-timing: - - x-originResponse;dur=142 - set-cookie: - - _cfuvid=PNWis1uP_75rhmuKxPZ3KqTXsfyuToB8VKiH4TsuStA-1777049908.2708778-1.0.1.1-IURbVFhii3MLsgFIJPYLOfGiATVpiewgQuZ6Yp_fiU8; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '139' - status: - code: 200 - message: OK -- request: - body: '' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - managed-agents-2026-04-01 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/agents/agent_011CaNx8B1U5siEC8J3qmtgJ/archive?beta=true - response: - body: - string: '{"archived_at":"2026-04-24T16:58:28.581394Z","created_at":"2026-04-24T16:58:28.306828Z","description":"Does - math","id":"agent_011CaNx8B1U5siEC8J3qmtgJ","mcp_servers":[],"metadata":{},"model":{"id":"claude-haiku-4-5","speed":"standard"},"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","updated_at":"2026-04-24T16:58:28.581394Z","version":1}' - headers: - CF-RAY: - - 9f16a7286fcbab7c-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:58:28 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - accept-encoding: - - gzip - cf-cache-status: - - DYNAMIC - content-length: - - '381' - request-id: - - req_011CaNx8C8BRj6tMhiGGpwGD - server-timing: - - x-originResponse;dur=259 - set-cookie: - - _cfuvid=TSwsW1PeFPoxMOZi.XP9Wk4U23RT7pYcUXeLfLyOh2M-1777049908.5434725-1.0.1.1-x3RehMlYWFr_A2oAG4yDw9aC90p2UdsYFr.Q1JP0QAE; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '256' - status: - code: 200 - message: OK -- request: - body: '{"model":"claude-haiku-4-5","name":"braintrust-sdk-managed-agent","description":"Does - math","tools":[]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '103' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - managed-agents-2026-04-01 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/agents?beta=true - response: - body: - string: '{"archived_at":null,"created_at":"2026-04-24T16:59:18.501706Z","description":"Does - math","id":"agent_011CaNxBscZpQdookSkoLNve","mcp_servers":[],"metadata":{},"model":{"id":"claude-haiku-4-5","speed":"standard"},"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","updated_at":"2026-04-24T16:59:18.501706Z","version":1}' - headers: - CF-RAY: - - 9f16a8606ff6bf5d-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:18 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - accept-encoding: - - gzip - cf-cache-status: - - DYNAMIC - content-length: - - '356' - request-id: - - req_011CaNxBsY6fRgfvX52FXZyg - server-timing: - - x-originResponse;dur=158 - set-cookie: - - _cfuvid=cYtYCO.eIihVEIpwkUD0yyrhoQHJbC09tkhR.wwExqo-1777049958.464424-1.0.1.1-4L_pqZjnNiPLh2HJIsIhuAzqUSiG9E.bx7PSxtAmS.g; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '156' - status: - code: 200 - message: OK -- request: - body: '' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - managed-agents-2026-04-01 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/agents/agent_011CaNxBscZpQdookSkoLNve/archive?beta=true - response: - body: - string: '{"archived_at":"2026-04-24T16:59:18.829755Z","created_at":"2026-04-24T16:59:18.501706Z","description":"Does - math","id":"agent_011CaNxBscZpQdookSkoLNve","mcp_servers":[],"metadata":{},"model":{"id":"claude-haiku-4-5","speed":"standard"},"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","updated_at":"2026-04-24T16:59:18.829755Z","version":1}' - headers: - CF-RAY: - - 9f16a8627c20ebb4-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:19 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - accept-encoding: - - gzip - cf-cache-status: - - DYNAMIC - content-length: - - '381' - request-id: - - req_011CaNxBtxRWpg1akxTqSQEv - server-timing: - - x-originResponse;dur=256 - set-cookie: - - _cfuvid=HeDmci0Zn1qKPrfZP4exYqgRURIH4D59BnBGHDFBfY4-1777049958.7948658-1.0.1.1-NM.BnX8nQZx1lmEv0WmxBxIXHh8xWc4PQcY.QVNEl2A; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '254' - status: - code: 200 - message: OK -- request: - body: '{"model":"claude-haiku-4-5","name":"braintrust-sdk-managed-agent","description":"Does - math","tools":[]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '103' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - managed-agents-2026-04-01 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/agents?beta=true - response: - body: - string: '{"archived_at":null,"created_at":"2026-04-24T17:00:28.256884Z","description":"Does - math","id":"agent_011CaNxH1r4PNLKANGenuwf4","mcp_servers":[],"metadata":{},"model":{"id":"claude-haiku-4-5","speed":"standard"},"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","updated_at":"2026-04-24T17:00:28.256884Z","version":1}' - headers: - CF-RAY: - - 9f16aa145bc44cc4-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 17:00:28 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - accept-encoding: - - gzip - cf-cache-status: - - DYNAMIC - content-length: - - '356' - request-id: - - req_011CaNxH1nq1JpMR1WJEKQkV - server-timing: - - x-originResponse;dur=157 - set-cookie: - - _cfuvid=ATDnAAA3G6bVn.CBTvCAR_tU0NxnpVHt2lC_q_5eJmE-1777050028.2176216-1.0.1.1-AHaYr5DbEK1QGpWmTW.aqQUeZ7qZkETPABislX0yKmo; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '155' - status: - code: 200 - message: OK -- request: - body: '' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - managed-agents-2026-04-01 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/agents/agent_011CaNxH1r4PNLKANGenuwf4/archive?beta=true - response: - body: - string: '{"archived_at":"2026-04-24T17:00:28.583252Z","created_at":"2026-04-24T17:00:28.256884Z","description":"Does - math","id":"agent_011CaNxH1r4PNLKANGenuwf4","mcp_servers":[],"metadata":{},"model":{"id":"claude-haiku-4-5","speed":"standard"},"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","updated_at":"2026-04-24T17:00:28.583252Z","version":1}' - headers: - CF-RAY: - - 9f16aa163f7a130e-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 17:00:28 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - accept-encoding: - - gzip - cf-cache-status: - - DYNAMIC - content-length: - - '381' - request-id: - - req_011CaNxH3Buq87dr6Zmu62o8 - server-timing: - - x-originResponse;dur=265 - set-cookie: - - _cfuvid=IcH_7icSqecALlbpxKFjC8SFqeSLEtlqPlpaXjGRIQc-1777050028.5159578-1.0.1.1-IBMD0_CA4BjrxOw8HvSNLBjStVp8FXAiulTBYeyWkec; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '262' + - '252' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_messages_create_async.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_messages_create_async.yaml index ad195485..ffd5ad54 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_messages_create_async.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_messages_create_async.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - AsyncAnthropic/Python 0.97.0 + - AsyncAnthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -43,10 +43,10 @@ interactions: uri: https://api.anthropic.com/v1/messages?beta=true response: body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01NwbkfJS9grxw8jNVPkrgdJ","type":"message","role":"assistant","content":[{"type":"text","text":"10"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard","inference_geo":"not_available"}}' + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_0151oBgtC9pPdQongJ3Kfmhg","type":"message","role":"assistant","content":[{"type":"text","text":"10"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard","inference_geo":"not_available"}}' headers: CF-RAY: - - 9f166eb65c46abee-YYZ + - 9fa1f95b3aa5299a-YYZ Connection: - keep-alive Content-Security-Policy: @@ -54,7 +54,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:19:57 GMT + - Mon, 11 May 2026 14:46:36 GMT Server: - cloudflare Transfer-Encoding: @@ -68,366 +68,42 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '4000000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:19:56Z' + - '2026-05-11T14:46:36Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:19:57Z' + - '2026-05-11T14:46:36Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T16:19:56Z' + - '2026-05-11T14:46:36Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4800000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:19:56Z' + - '2026-05-11T14:46:36Z' cf-cache-status: - DYNAMIC content-length: - '458' request-id: - - req_011CaNuBmKC7xCe7CcL4TLEG - server-timing: - - x-originResponse;dur=612 + - req_011CavxpVi5sDri78vc8H8RW set-cookie: - - _cfuvid=78.p0QpFImnD0DaaZVSddgT5GVzcqur8uOf0Tzl6HYc-1777047596.539948-1.0.1.1-Iz9E8eT264txj8Fe0bEYtsZ3Zj0Eh9lFzn8WWD0txto; + - _cfuvid=U2R0nq3U961p2mR8DO6y5kWlG3mRiR9PhzUgFZJh2Zw-1778510796.0376055-1.0.1.1-z9y2RXZ07NWn8ceMWRxXgUSQ3DfgRreIfS8rL5kOAwE; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-8fb9409fa603d0eef8e2faa8d0705f3a-aca9ca786afcc3f9-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '610' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":100,"messages":[{"role":"user","content":"what is 8+2?, just - return the number"}],"model":"claude-haiku-4-5-20251001"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '132' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages?beta=true - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01FUEQpU9rUorPKFxVagrbL8","type":"message","role":"assistant","content":[{"type":"text","text":"10"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a71dab6d1486-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:58:27 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:27Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:27Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:26Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:27Z' - cf-cache-status: - - DYNAMIC - content-length: - - '458' - request-id: - - req_011CaNx84mR2pQKB5cJ8xETu - server-timing: - - x-originResponse;dur=533 - set-cookie: - - _cfuvid=acFbA4geDuEWiInHbgkxytDbbtXcUwQ3cj0jldWjpuE-1777049906.823665-1.0.1.1-hghuK0s8SIOD7HuIWp0J_9pWi.Fsv0oMAh41d_EJnns; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '532' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":100,"messages":[{"role":"user","content":"what is 8+2?, just - return the number"}],"model":"claude-haiku-4-5-20251001"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '132' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages?beta=true - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_012AmdG8i9bB14NPEMyEeEG6","type":"message","role":"assistant","content":[{"type":"text","text":"10"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a8541da4abb5-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:17 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:16Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:16Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:16Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:16Z' - cf-cache-status: - - DYNAMIC - content-length: - - '458' - request-id: - - req_011CaNxBj8aMW6sgXmNRGZs7 - server-timing: - - x-originResponse;dur=480 - set-cookie: - - _cfuvid=jdMmZNJcmQQ3WZYQYR9qgLsqZneJR5YQq9pdpfQh2VI-1777049956.4966104-1.0.1.1-OcA..icNha.3CcczeoE53bWcsUSp2QVEvm0LU5Xy7t4; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '477' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":100,"messages":[{"role":"user","content":"what is 8+2?, just - return the number"}],"model":"claude-haiku-4-5-20251001"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '132' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages?beta=true - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_0144818kFkLsU5CqeWUWwqTe","type":"message","role":"assistant","content":[{"type":"text","text":"10"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16aa0b4fadb404-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 17:00:27 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:27Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:27Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:26Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:27Z' - cf-cache-status: - - DYNAMIC - content-length: - - '458' - request-id: - - req_011CaNxGuaGnNTDMbbH23RJ3 - server-timing: - - x-originResponse;dur=454 - set-cookie: - - _cfuvid=oHNC6W3NafbiC.0W7QwSJS5nMg1w4JtuYccDLG5y0Uw-1777050026.7641428-1.0.1.1-yzVw351LhxGYKbz1i9Pb7kDcDUMdu59_Do_g69JH.ss; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '452' + - '525' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_messages_stream_sync.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_messages_stream_sync.yaml index 11ed0fc2..441525be 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_messages_stream_sync.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_messages_stream_sync.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -28,7 +28,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -49,12 +49,12 @@ interactions: body: string: 'event: message_start - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01J55PDaBSo1tWGwTsLf2qfz","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } + data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01Xu1cwrfftgGTKVBbcYU2VR","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } + data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } event: ping @@ -64,28 +64,28 @@ interactions: event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"10"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"10"} } event: content_block_stop - data: {"type":"content_block_stop","index":0 } + data: {"type":"content_block_stop","index":0 } event: message_delta - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } + data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } event: message_stop - data: {"type":"message_stop" } + data: {"type":"message_stop" } ' headers: CF-RAY: - - 9f166eb168e036b7-YYZ + - 9fa1f9560bedaac8-YYZ Cache-Control: - no-cache Connection: @@ -95,7 +95,7 @@ interactions: Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 24 Apr 2026 16:19:56 GMT + - Mon, 11 May 2026 14:46:35 GMT Server: - cloudflare Transfer-Encoding: @@ -109,478 +109,42 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '4000000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:19:55Z' + - '2026-05-11T14:46:35Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:19:55Z' + - '2026-05-11T14:46:35Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T16:19:55Z' + - '2026-05-11T14:46:35Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4800000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:19:55Z' + - '2026-05-11T14:46:35Z' cf-cache-status: - DYNAMIC content-length: - - '1173' + - '1180' request-id: - - req_011CaNuBhvJfiqDUza3MB4a3 - server-timing: - - x-originResponse;dur=435 + - req_011CavxpSKwKhxdZUfniVYxK set-cookie: - - _cfuvid=5vZZ.TtjkIOr_58AlmkueNzZlpW.eO3Q3YjD4mfSC40-1777047595.7422886-1.0.1.1-WTuAnrcVf_GVK05xBULNJcVoXlLA23AMpNm1M73zgqg; + - _cfuvid=uSWuaO31oQcMfr2uju.r0YTpJs1pU5Vm9a1RVe8q67A-1778510795.2031326-1.0.1.1-xOwEwKBtxKnbfmSaYukp92OQCsk494P57bjViOwO2wc; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-1669352cf98d15d9bb57340ede78ab9d-da476f865653016c-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '433' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is 5+5? (just - the number)"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '140' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - beta.messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages?beta=true - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_014VcWL9dyHgiwNS7b2ZFxnN","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"10"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a7198be2ab81-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:58:26 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:26Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:26Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:26Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:26Z' - cf-cache-status: - - DYNAMIC - request-id: - - req_011CaNx822xrvniGka3SY77P - set-cookie: - - _cfuvid=3u2w6rNlDdxeL4q2R6dQDSs7e_CqlpAhRmVaIU0OW30-1777049906.1671894-1.0.1.1-plttf5xxXRPg7BATnT_q02jKYzKhN7c_8o5jx8vrVhs; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-envoy-upstream-service-time: - - '404' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is 5+5? (just - the number)"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '140' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - beta.messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages?beta=true - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_0198aLUoSXNjUCiYBxjVM9ht","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}}} - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"10"} - } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a8509ac7ebbc-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:59:16 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:15Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:15Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:15Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:15Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1156' - request-id: - - req_011CaNxBgkhbRuhq56nEMof7 - server-timing: - - x-originResponse;dur=344 - set-cookie: - - _cfuvid=GivSrbetZh5YBP8JQAsy2a8lgjhBlPLe4OcImXiaVV8-1777049955.940413-1.0.1.1-6HKrYkgLDWZC1KVM3nBqynv2MWp.8PQTkAnD_xjJvs8; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '342' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is 5+5? (just - the number)"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '140' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - beta.messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages?beta=true - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_015L7VjX8YkhKDcedsCwNVAg","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"10"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16aa054f34e910-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 17:00:26 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:25Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:25Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:25Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:25Z' - cf-cache-status: - - DYNAMIC - request-id: - - req_011CaNxGqg7yzCTJRorcU7ja - set-cookie: - - _cfuvid=GC8UpGYBcoAwuBLYr.fLRduPrWH.SL2Nm6yGp7BwogU-1777050025.8065546-1.0.1.1-kuJAHgnmah_drF3R2hLfwkytYWDQK2Mrapjyvbx95Fs; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-envoy-upstream-service-time: - - '684' + - '520' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_messages_streaming_async.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_messages_streaming_async.yaml index e99466a3..a26e9db5 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_messages_streaming_async.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_messages_streaming_async.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - AsyncAnthropic/Python 0.97.0 + - AsyncAnthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -28,7 +28,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -49,12 +49,12 @@ interactions: body: string: 'event: message_start - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01WP3NnMrc6woCCxuMBjZm8U","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } + data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_015K5VUKP5rk37ePtX5zvhP1","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } + data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } event: ping @@ -64,320 +64,28 @@ interactions: event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"10"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"10"} } event: content_block_stop - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f166ebb2dd761e9-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:19:57 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:19:57Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:19:57Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:19:57Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:19:57Z' - cf-cache-status: - - DYNAMIC - request-id: - - req_011CaNuBpeNJ4TxV9caM35AM - set-cookie: - - _cfuvid=3dq7loj.ExZmxno1C6GsaZZNfbAlXE9KzL.841LgyOU-1777047597.3035922-1.0.1.1-CmnnuW6ijDxTlncOJtnnjwu6aenuw6c6eQLKCmWqFFk; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-envoy-upstream-service-time: - - '406' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":1024,"messages":[{"role":"user","content":"what is 9+1?, - just return the number"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '147' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - beta.messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages?beta=true - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_012ZPpqPKwk8r2cgvDRc5qkG","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"10"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a722ef070426-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:58:28 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:27Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:27Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:27Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:27Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1162' - request-id: - - req_011CaNx88MiKEUH2YXgH7xM8 - server-timing: - - x-originResponse;dur=388 - set-cookie: - - _cfuvid=2WAwuyJUXCkmLPlGdQ1FTAA1y9hOGtFyHBIfv0QpoIQ-1777049907.6671531-1.0.1.1-Rg0W_I4PCr4Pfyucq3Ecsfh7sN42KhaPCKEg_sbU1Go; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '386' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":1024,"messages":[{"role":"user","content":"what is 9+1?, - just return the number"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '147' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - beta.messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages?beta=true - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_013VZHuXzfd9yt2qwWoVwKGJ","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"10"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } + data: {"type":"content_block_stop","index":0 } event: message_delta - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } + data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } event: message_stop - data: {"type":"message_stop"} + data: {"type":"message_stop" } ' headers: CF-RAY: - - 9f16a8593a71813d-YYZ + - 9fa1f95fdfa84fcb-YYZ Cache-Control: - no-cache Connection: @@ -387,7 +95,7 @@ interactions: Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 24 Apr 2026 16:59:18 GMT + - Mon, 11 May 2026 14:46:37 GMT Server: - cloudflare Transfer-Encoding: @@ -401,185 +109,42 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '4000000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:17Z' + - '2026-05-11T14:46:36Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:17Z' + - '2026-05-11T14:46:36Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:17Z' + - '2026-05-11T14:46:36Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4800000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:17Z' + - '2026-05-11T14:46:36Z' cf-cache-status: - DYNAMIC content-length: - - '1161' + - '1183' request-id: - - req_011CaNxBneudy8qXLPXd3ED1 - server-timing: - - x-originResponse;dur=816 + - req_011CavxpYrM7fidmW16vouqJ set-cookie: - - _cfuvid=_Slvyt92NCgmKJWhE1h_I9BJkVOrHNUXiaYPQtoTWzU-1777049957.3190577-1.0.1.1-7lojlnc7j0jXmShUcqzD4noQu.BvWqFip2H44Irx2F0; + - _cfuvid=ocK06CqUf4SUh5sAsMorhixYxRy3625L6yKRddQTJeQ-1778510796.7715485-1.0.1.1-0OdMvmk8f8Ljg7YG4srChsra4rkrwTPtI7dpwsn3xeM; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-2fa0e06e098b2c8b8e213348b5f08d01-eafe137262aec713-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '814' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":1024,"messages":[{"role":"user","content":"what is 9+1?, - just return the number"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '147' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - beta.messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages?beta=true - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_017SE5sGywrX1zpFPTc3Y523","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"10"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5}} - - - event: message_stop - - data: {"type":"message_stop"} - - - ' - headers: - CF-RAY: - - 9f16aa0f19abb409-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 17:00:27 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:27Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:27Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:27Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:27Z' - cf-cache-status: - - DYNAMIC - request-id: - - req_011CaNxGxFFqgihRx8qSvaSW - set-cookie: - - _cfuvid=Y2h1VffPmRdBNXhUic7oPTsD831mn7ge.H_6asiHwKM-1777050027.3727007-1.0.1.1-_dqagbmDt4Ye7o1hsWERO3hndv2PeGUFdFec1zJXAm4; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-envoy-upstream-service-time: - - '524' + - '414' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_messages_sync.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_messages_sync.yaml index 6bd37d68..5c98cbb6 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_messages_sync.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_messages_sync.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -42,11 +42,11 @@ interactions: uri: https://api.anthropic.com/v1/messages?beta=true response: body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01R6YPPDPgCpCe1UUfW7sSrk","type":"message","role":"assistant","content":[{"type":"text","text":"3 + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_016ECt4p8AuHyPmeBKhao4kB","type":"message","role":"assistant","content":[{"type":"text","text":"3 + 3 = 6"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":13,"service_tier":"standard","inference_geo":"not_available"}}' headers: CF-RAY: - - 9f166ead9ed71117-YYZ + - 9fa1f9515ae2aaf4-YYZ Connection: - keep-alive Content-Security-Policy: @@ -54,7 +54,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:19:55 GMT + - Mon, 11 May 2026 14:46:35 GMT Server: - cloudflare Transfer-Encoding: @@ -68,362 +68,42 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '4000000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:19:55Z' + - '2026-05-11T14:46:34Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:19:55Z' + - '2026-05-11T14:46:34Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T16:19:55Z' + - '2026-05-11T14:46:34Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4800000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:19:55Z' + - '2026-05-11T14:46:34Z' cf-cache-status: - DYNAMIC content-length: - '466' request-id: - - req_011CaNuBfHoJPifwLbFSpoxT - server-timing: - - x-originResponse;dur=477 + - req_011CavxpNwYhHjrzYcrdM7ka set-cookie: - - _cfuvid=MS9_jDwJtksaeToq7r7Xr.VxHCwWOPnbrdh2y9Q0soQ-1777047595.1309016-1.0.1.1-4tdgnxNFnptxmMFdkzLn5LfL2RvNDN9K8Vjqxc6NKp8; + - _cfuvid=nSWwhTgsE0K528R.QhLkvQSCTkiIjnyV9r.H3itXgaM-1778510794.4584727-1.0.1.1-bxTnfdX8TLWk_cbNxAUn835np_2Qh0z1JvtuCdcB_5Q; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-bec561a2cd6aaf4cdb8803b14c05968f-6e369c68d6c99205-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '473' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what''s 3+3?"}],"model":"claude-haiku-4-5-20251001"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '107' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages?beta=true - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_014kZyAz46dgaxrKtAXSHpmu","type":"message","role":"assistant","content":[{"type":"text","text":"3 - + 3 = 6"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":13,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a71118f61486-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:58:26 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:25Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:25Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:25Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:25Z' - cf-cache-status: - - DYNAMIC - content-length: - - '466' - request-id: - - req_011CaNx7vJg9oXrYLrk6YGz2 - server-timing: - - x-originResponse;dur=1201 - set-cookie: - - _cfuvid=UlPMrZBGhiMAP.iSRGDf4A6H_NaQaR5X7vgXWJBTmMU-1777049904.8201783-1.0.1.1-t_WXJMcSmEN3AQwzorky80uPKxr...uXBLpysnCA7vM; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '1199' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what''s 3+3?"}],"model":"claude-haiku-4-5-20251001"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '107' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages?beta=true - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01N1QFadRdNywkPXANkvFhuS","type":"message","role":"assistant","content":[{"type":"text","text":"3 - + 3 = 6"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":13,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a84b58833786-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:15 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:15Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:15Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:15Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:15Z' - cf-cache-status: - - DYNAMIC - content-length: - - '466' - request-id: - - req_011CaNxBdDdY3EHdLa9n9UPs - set-cookie: - - _cfuvid=K0m_TRKNmdJgAoukIc2ncvPdDu85IDcOorhr9SVo_FM-1777049955.09644-1.0.1.1-JlIYniK4jUVGOjxaPxqX_1fX.CdTyJ0Ie4ls1S8csKY; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-envoy-upstream-service-time: - - '587' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what''s 3+3?"}],"model":"claude-haiku-4-5-20251001"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '107' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages?beta=true - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01PpcVWJmXwzWe6mgEndqaXM","type":"message","role":"assistant","content":[{"type":"text","text":"3 - + 3 = 6"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":13,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16aa012a3f36bd-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 17:00:25 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:25Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:25Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:25Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:25Z' - cf-cache-status: - - DYNAMIC - content-length: - - '466' - request-id: - - req_011CaNxGneoAtyDGUL3UeVy1 - server-timing: - - x-originResponse;dur=526 - set-cookie: - - _cfuvid=NxN_Yao5t_xUOmI_Zkv34nLI..2cldJAOS1ubvQKhiA-1777050025.1485794-1.0.1.1-lMlY7auTXVgbveOOdJa.K8NBMoQYK0LoqgBGEpIW1_I; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '524' + - '478' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_sessions_create.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_sessions_create.yaml index 7f59193e..a20b8915 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_sessions_create.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_beta_sessions_create.yaml @@ -11,7 +11,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -21,7 +21,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -43,7 +43,7 @@ interactions: string: '{"data":[{"id":"env_012W55H8BqqsSgp2XJ3uQmBK","type":"environment","name":"braintrust-sdk-test-env","description":"","created_at":"2026-04-13T16:41:51.307182Z","updated_at":"2026-04-13T16:41:51.307182Z","archived_at":null,"state":"active","config":{"type":"cloud","packages":{"type":"packages","pip":[],"npm":[],"apt":[],"cargo":[],"gem":[],"go":[]},"networking":{"type":"unrestricted"},"init_script":"","environment":{}},"metadata":{},"scope":"organization"}],"next_page":"page_ZW52XzAxMlc1NUg4QnFxc1NncDJYSjN1UW1CS3wx"}' headers: CF-RAY: - - 9f166ec71f2b52e6-YYZ + - 9fa1f96938c3b687-YYZ Connection: - keep-alive Content-Security-Policy: @@ -51,7 +51,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:19:59 GMT + - Mon, 11 May 2026 14:46:38 GMT Server: - cloudflare Transfer-Encoding: @@ -65,1257 +65,18 @@ interactions: content-length: - '521' request-id: - - req_011CaNuBxk3134RgoWZgGjUV + - req_011CavxpfA7XnSSrXGMForV4 server-timing: - - x-originResponse;dur=184 - set-cookie: - - _cfuvid=lmrcXg9hvrygFnun1._W_0Z1m53wqip2Flk.CmHIkfA-1777047599.2169375-1.0.1.1-W0tCP4hcm3bqg.7M66OFhN5sQllGuWwRFvlUuPTvNwo; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '183' - status: - code: 200 - message: OK -- request: - body: '{"model":"claude-haiku-4-5","name":"braintrust-sdk-managed-agent","description":"Does - math","tools":[]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '103' - Content-Type: - - application/json - Cookie: - - _cfuvid=lmrcXg9hvrygFnun1._W_0Z1m53wqip2Flk.CmHIkfA-1777047599.2169375-1.0.1.1-W0tCP4hcm3bqg.7M66OFhN5sQllGuWwRFvlUuPTvNwo - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - managed-agents-2026-04-01 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/agents?beta=true - response: - body: - string: '{"archived_at":null,"created_at":"2026-04-24T16:19:59.573817Z","description":"Does - math","id":"agent_011CaNuBzBcAbGxcGCenbVCm","mcp_servers":[],"metadata":{},"model":{"id":"claude-haiku-4-5","speed":"standard"},"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","updated_at":"2026-04-24T16:19:59.573817Z","version":1}' - headers: - CF-RAY: - - 9f166ec90fa0aaf7-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:19:59 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - accept-encoding: - - gzip - cf-cache-status: - - DYNAMIC - content-length: - - '356' - request-id: - - req_011CaNuBz4QpCFHdvcopdHb6 - server-timing: - - x-originResponse;dur=117 - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '115' - status: - code: 200 - message: OK -- request: - body: '{"agent":"agent_011CaNuBzBcAbGxcGCenbVCm","environment_id":"env_012W55H8BqqsSgp2XJ3uQmBK","metadata":{"purpose":"test"},"title":"Issue - 259 test"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '145' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - managed-agents-2026-04-01 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/sessions?beta=true - response: - body: - string: '{"agent":{"description":"Does math","id":"agent_011CaNuBzBcAbGxcGCenbVCm","mcp_servers":[],"model":{"id":"claude-haiku-4-5","speed":"standard"},"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","version":1},"archived_at":null,"created_at":"2026-04-24T16:19:59.907417Z","environment_id":"env_012W55H8BqqsSgp2XJ3uQmBK","id":"sesn_011CaNuC1YCzXT3RKTTMh2kH","metadata":{"purpose":"test"},"resources":[],"stats":{"active_seconds":0,"duration_seconds":0},"status":"idle","title":"Issue - 259 test","type":"session","updated_at":"2026-04-24T16:19:59.907417Z","usage":{"cache_creation":null,"cache_read_input_tokens":0,"input_tokens":0,"output_tokens":0},"vault_ids":[]}' - headers: - CF-RAY: - - 9f166eca78784cc4-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:20:00 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - accept-encoding: - - gzip - cf-cache-status: - - DYNAMIC - content-length: - - '700' - request-id: - - req_011CaNuC14STojoiSKfF45ax - server-timing: - - x-originResponse;dur=361 - set-cookie: - - _cfuvid=1j1qaJSJ.gudFLNN4WtABhFpNpgoKhzGfmk281O1zTQ-1777047599.7613819-1.0.1.1-Vd.latwTcghQ3GCiCZIhv6OzxoBjUkwcNOJfM9AtaGI; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '360' - status: - code: 200 - message: OK -- request: - body: '' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Type: - - application/json - Cookie: - - _cfuvid=lmrcXg9hvrygFnun1._W_0Z1m53wqip2Flk.CmHIkfA-1777047599.2169375-1.0.1.1-W0tCP4hcm3bqg.7M66OFhN5sQllGuWwRFvlUuPTvNwo - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - managed-agents-2026-04-01 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: DELETE - uri: https://api.anthropic.com/v1/sessions/sesn_011CaNuC1YCzXT3RKTTMh2kH?beta=true - response: - body: - string: '{"id":"sesn_011CaNuC1YCzXT3RKTTMh2kH","type":"session_deleted"}' - headers: - CF-RAY: - - 9f166ecda907ac15-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:20:00 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - accept-encoding: - - gzip - cf-cache-status: - - DYNAMIC - content-length: - - '63' - request-id: - - req_011CaNuC3EuYeCD6cG9Q6hjj - server-timing: - - x-originResponse;dur=606 - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '604' - status: - code: 200 - message: OK -- request: - body: '' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - Content-Type: - - application/json - Cookie: - - _cfuvid=lmrcXg9hvrygFnun1._W_0Z1m53wqip2Flk.CmHIkfA-1777047599.2169375-1.0.1.1-W0tCP4hcm3bqg.7M66OFhN5sQllGuWwRFvlUuPTvNwo - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - managed-agents-2026-04-01 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/agents/agent_011CaNuBzBcAbGxcGCenbVCm/archive?beta=true - response: - body: - string: '{"archived_at":"2026-04-24T16:20:01.346137Z","created_at":"2026-04-24T16:19:59.573817Z","description":"Does - math","id":"agent_011CaNuBzBcAbGxcGCenbVCm","mcp_servers":[],"metadata":{},"model":{"id":"claude-haiku-4-5","speed":"standard"},"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","updated_at":"2026-04-24T16:20:01.346137Z","version":1}' - headers: - CF-RAY: - - 9f166ed29896f00c-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:20:01 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - accept-encoding: - - gzip - cf-cache-status: - - DYNAMIC - content-length: - - '381' - request-id: - - req_011CaNuC6cJbULYVkgbrzBJ9 - server-timing: - - x-originResponse;dur=497 - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '496' - status: - code: 200 - message: OK -- request: - body: '' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - managed-agents-2026-04-01 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: GET - uri: https://api.anthropic.com/v1/environments?beta=true&limit=1 - response: - body: - string: '{"data":[{"id":"env_012W55H8BqqsSgp2XJ3uQmBK","type":"environment","name":"braintrust-sdk-test-env","description":"","created_at":"2026-04-13T16:41:51.307182Z","updated_at":"2026-04-13T16:41:51.307182Z","archived_at":null,"state":"active","config":{"type":"cloud","packages":{"type":"packages","pip":[],"npm":[],"apt":[],"cargo":[],"gem":[],"go":[]},"networking":{"type":"unrestricted"},"init_script":"","environment":{}},"metadata":{},"scope":"organization"}],"next_page":"page_ZW52XzAxMlc1NUg4QnFxc1NncDJYSjN1UW1CS3wx"}' - headers: - CF-RAY: - - 9f16a72b3b3eabf1-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:58:29 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - cf-cache-status: - - DYNAMIC - content-length: - - '521' - request-id: - - req_011CaNx8E4GCVSnd59LujTAP - server-timing: - - x-originResponse;dur=110 - set-cookie: - - _cfuvid=9yKtxgltdRfuW50z08BHXA0tYqHArRMJBQWhYmZNSrI-1777049908.998279-1.0.1.1-HObqwMgqKQ94fHnf7lL6mzpPLiiCxDsGityEAcGPtsE; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '108' - status: - code: 200 - message: OK -- request: - body: '{"model":"claude-haiku-4-5","name":"braintrust-sdk-managed-agent","description":"Does - math","tools":[]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '103' - Content-Type: - - application/json - Cookie: - - _cfuvid=9yKtxgltdRfuW50z08BHXA0tYqHArRMJBQWhYmZNSrI-1777049908.998279-1.0.1.1-HObqwMgqKQ94fHnf7lL6mzpPLiiCxDsGityEAcGPtsE - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - managed-agents-2026-04-01 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/agents?beta=true - response: - body: - string: '{"archived_at":null,"created_at":"2026-04-24T16:58:29.273485Z","description":"Does - math","id":"agent_011CaNx8F9FiCnhBubkeEpzo","mcp_servers":[],"metadata":{},"model":{"id":"claude-haiku-4-5","speed":"standard"},"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","updated_at":"2026-04-24T16:58:29.273485Z","version":1}' - headers: - CF-RAY: - - 9f16a72cbdec36b2-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:58:29 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - accept-encoding: - - gzip - cf-cache-status: - - DYNAMIC - content-length: - - '356' - request-id: - - req_011CaNx8F5XfiA4xATokErNm - server-timing: - - x-originResponse;dur=147 - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '145' - status: - code: 200 - message: OK -- request: - body: '{"agent":"agent_011CaNx8F9FiCnhBubkeEpzo","environment_id":"env_012W55H8BqqsSgp2XJ3uQmBK","metadata":{"purpose":"test"},"title":"Issue - 259 test"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '145' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - managed-agents-2026-04-01 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/sessions?beta=true - response: - body: - string: '{"agent":{"description":"Does math","id":"agent_011CaNx8F9FiCnhBubkeEpzo","mcp_servers":[],"model":{"id":"claude-haiku-4-5","speed":"standard"},"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","version":1},"archived_at":null,"created_at":"2026-04-24T16:58:29.674944Z","environment_id":"env_012W55H8BqqsSgp2XJ3uQmBK","id":"sesn_011CaNx8Gnimj3kx4VStgaQ1","metadata":{"purpose":"test"},"resources":[],"stats":{"active_seconds":0,"duration_seconds":0},"status":"idle","title":"Issue - 259 test","type":"session","updated_at":"2026-04-24T16:58:29.674944Z","usage":{"cache_creation":null,"cache_read_input_tokens":0,"input_tokens":0,"output_tokens":0},"vault_ids":[]}' - headers: - CF-RAY: - - 9f16a72e6d08ec71-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:58:29 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - accept-encoding: - - gzip - cf-cache-status: - - DYNAMIC - content-length: - - '700' - request-id: - - req_011CaNx8GEjduo983K9p2Lzq - server-timing: - - x-originResponse;dur=341 - set-cookie: - - _cfuvid=S895dXEySVSAi..8Bzq5PAp9_2cxQfOVwnVJeObZosE-1777049909.5084996-1.0.1.1-cUg1iphYr_vyI6Q6UQXbJazpPu.D.MV30eX_EzUPzBY; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '338' - status: - code: 200 - message: OK -- request: - body: '' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Type: - - application/json - Cookie: - - _cfuvid=9yKtxgltdRfuW50z08BHXA0tYqHArRMJBQWhYmZNSrI-1777049908.998279-1.0.1.1-HObqwMgqKQ94fHnf7lL6mzpPLiiCxDsGityEAcGPtsE - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - managed-agents-2026-04-01 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: DELETE - uri: https://api.anthropic.com/v1/sessions/sesn_011CaNx8Gnimj3kx4VStgaQ1?beta=true - response: - body: - string: '{"id":"sesn_011CaNx8Gnimj3kx4VStgaQ1","type":"session_deleted"}' - headers: - CF-RAY: - - 9f16a7315d0bb8f3-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:58:30 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - accept-encoding: - - gzip - cf-cache-status: - - DYNAMIC - content-length: - - '63' - request-id: - - req_011CaNx8JF34TTZm3qpwfaFu - server-timing: - - x-originResponse;dur=567 - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '564' - status: - code: 200 - message: OK -- request: - body: '' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - Content-Type: - - application/json - Cookie: - - _cfuvid=9yKtxgltdRfuW50z08BHXA0tYqHArRMJBQWhYmZNSrI-1777049908.998279-1.0.1.1-HObqwMgqKQ94fHnf7lL6mzpPLiiCxDsGityEAcGPtsE - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - managed-agents-2026-04-01 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/agents/agent_011CaNx8F9FiCnhBubkeEpzo/archive?beta=true - response: - body: - string: '{"archived_at":"2026-04-24T16:58:30.861353Z","created_at":"2026-04-24T16:58:29.273485Z","description":"Does - math","id":"agent_011CaNx8F9FiCnhBubkeEpzo","mcp_servers":[],"metadata":{},"model":{"id":"claude-haiku-4-5","speed":"standard"},"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","updated_at":"2026-04-24T16:58:30.861353Z","version":1}' - headers: - CF-RAY: - - 9f16a736a8f5abb1-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:58:31 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - accept-encoding: - - gzip - cf-cache-status: - - DYNAMIC - content-length: - - '381' - request-id: - - req_011CaNx8Mt4CZF3jayXnEbHC - server-timing: - - x-originResponse;dur=255 - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '253' - status: - code: 200 - message: OK -- request: - body: '' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - managed-agents-2026-04-01 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: GET - uri: https://api.anthropic.com/v1/environments?beta=true&limit=1 - response: - body: - string: '{"data":[{"id":"env_012W55H8BqqsSgp2XJ3uQmBK","type":"environment","name":"braintrust-sdk-test-env","description":"","created_at":"2026-04-13T16:41:51.307182Z","updated_at":"2026-04-13T16:41:51.307182Z","archived_at":null,"state":"active","config":{"type":"cloud","packages":{"type":"packages","pip":[],"npm":[],"apt":[],"cargo":[],"gem":[],"go":[]},"networking":{"type":"unrestricted"},"init_script":"","environment":{}},"metadata":{},"scope":"organization"}],"next_page":"page_ZW52XzAxMlc1NUg4QnFxc1NncDJYSjN1UW1CS3wx"}' - headers: - CF-RAY: - - 9f16a8653fa0c730-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:19 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - cf-cache-status: - - DYNAMIC - content-length: - - '521' - request-id: - - req_011CaNxBvr2VygTUfMZc3jvY - server-timing: - - x-originResponse;dur=127 - set-cookie: - - _cfuvid=SKdJi16gC.HFyNEfAbLloMwsgpbU.gYaoqnEwuNWK.o-1777049959.2370298-1.0.1.1-9_Qu7vQDtyXf9gADTGNxjcIy298ygItp3OXTI6kqQWY; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '125' - status: - code: 200 - message: OK -- request: - body: '{"model":"claude-haiku-4-5","name":"braintrust-sdk-managed-agent","description":"Does - math","tools":[]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '103' - Content-Type: - - application/json - Cookie: - - _cfuvid=SKdJi16gC.HFyNEfAbLloMwsgpbU.gYaoqnEwuNWK.o-1777049959.2370298-1.0.1.1-9_Qu7vQDtyXf9gADTGNxjcIy298ygItp3OXTI6kqQWY - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - managed-agents-2026-04-01 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/agents?beta=true - response: - body: - string: '{"archived_at":null,"created_at":"2026-04-24T16:59:19.629200Z","description":"Does - math","id":"agent_011CaNxBxSGtqq7rsPLQt9cj","mcp_servers":[],"metadata":{},"model":{"id":"claude-haiku-4-5","speed":"standard"},"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","updated_at":"2026-04-24T16:59:19.629200Z","version":1}' - headers: - CF-RAY: - - 9f16a8676f94ac00-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:19 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - accept-encoding: - - gzip - cf-cache-status: - - DYNAMIC - content-length: - - '356' - request-id: - - req_011CaNxBxMpGiXD1rBDX8ZpN - server-timing: - - x-originResponse;dur=100 - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '97' - status: - code: 200 - message: OK -- request: - body: '{"agent":"agent_011CaNxBxSGtqq7rsPLQt9cj","environment_id":"env_012W55H8BqqsSgp2XJ3uQmBK","metadata":{"purpose":"test"},"title":"Issue - 259 test"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '145' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - managed-agents-2026-04-01 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/sessions?beta=true - response: - body: - string: '{"agent":{"description":"Does math","id":"agent_011CaNxBxSGtqq7rsPLQt9cj","mcp_servers":[],"model":{"id":"claude-haiku-4-5","speed":"standard"},"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","version":1},"archived_at":null,"created_at":"2026-04-24T16:59:19.907692Z","environment_id":"env_012W55H8BqqsSgp2XJ3uQmBK","id":"sesn_011CaNxByaVifuSdS5PQmvyo","metadata":{"purpose":"test"},"resources":[],"stats":{"active_seconds":0,"duration_seconds":0},"status":"idle","title":"Issue - 259 test","type":"session","updated_at":"2026-04-24T16:59:19.907692Z","usage":{"cache_creation":null,"cache_read_input_tokens":0,"input_tokens":0,"output_tokens":0},"vault_ids":[]}' - headers: - CF-RAY: - - 9f16a868dfb40c26-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:20 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - accept-encoding: - - gzip - cf-cache-status: - - DYNAMIC - content-length: - - '700' - request-id: - - req_011CaNxByJNackYVD26hC3wm - server-timing: - - x-originResponse;dur=255 - set-cookie: - - _cfuvid=U9INvlxTcAZLNnCsmpDFFjBhBOAG35fNbaadSx5TrLo-1777049959.812489-1.0.1.1-QzgPN5Y5IiDLyiQgXtuOlnbJOphLgXAPhFvgmM17j_4; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '253' - status: - code: 200 - message: OK -- request: - body: '' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Type: - - application/json - Cookie: - - _cfuvid=SKdJi16gC.HFyNEfAbLloMwsgpbU.gYaoqnEwuNWK.o-1777049959.2370298-1.0.1.1-9_Qu7vQDtyXf9gADTGNxjcIy298ygItp3OXTI6kqQWY - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - managed-agents-2026-04-01 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: DELETE - uri: https://api.anthropic.com/v1/sessions/sesn_011CaNxByaVifuSdS5PQmvyo?beta=true - response: - body: - string: '{"id":"sesn_011CaNxByaVifuSdS5PQmvyo","type":"session_deleted"}' - headers: - CF-RAY: - - 9f16a86b6b8736be-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:20 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - accept-encoding: - - gzip - cf-cache-status: - - DYNAMIC - content-length: - - '63' - request-id: - - req_011CaNxC14Y8aHBNSAA4a1zZ - server-timing: - - x-originResponse;dur=611 - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '609' - status: - code: 200 - message: OK -- request: - body: '' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - Content-Type: - - application/json - Cookie: - - _cfuvid=SKdJi16gC.HFyNEfAbLloMwsgpbU.gYaoqnEwuNWK.o-1777049959.2370298-1.0.1.1-9_Qu7vQDtyXf9gADTGNxjcIy298ygItp3OXTI6kqQWY - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - managed-agents-2026-04-01 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/agents/agent_011CaNxBxSGtqq7rsPLQt9cj/archive?beta=true - response: - body: - string: '{"archived_at":"2026-04-24T16:59:21.004932Z","created_at":"2026-04-24T16:59:19.629200Z","description":"Does - math","id":"agent_011CaNxBxSGtqq7rsPLQt9cj","mcp_servers":[],"metadata":{},"model":{"id":"claude-haiku-4-5","speed":"standard"},"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","updated_at":"2026-04-24T16:59:21.004932Z","version":1}' - headers: - CF-RAY: - - 9f16a8700c2c52e6-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:21 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - accept-encoding: - - gzip - cf-cache-status: - - DYNAMIC - content-length: - - '381' - request-id: - - req_011CaNxC4FmXTMVRrWskuv4k - server-timing: - - x-originResponse;dur=276 - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '274' - status: - code: 200 - message: OK -- request: - body: '' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-beta: - - managed-agents-2026-04-01 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: GET - uri: https://api.anthropic.com/v1/environments?beta=true&limit=1 - response: - body: - string: '{"data":[{"id":"env_012W55H8BqqsSgp2XJ3uQmBK","type":"environment","name":"braintrust-sdk-test-env","description":"","created_at":"2026-04-13T16:41:51.307182Z","updated_at":"2026-04-13T16:41:51.307182Z","archived_at":null,"state":"active","config":{"type":"cloud","packages":{"type":"packages","pip":[],"npm":[],"apt":[],"cargo":[],"gem":[],"go":[]},"networking":{"type":"unrestricted"},"init_script":"","environment":{}},"metadata":{},"scope":"organization"}],"next_page":"page_ZW52XzAxMlc1NUg4QnFxc1NncDJYSjN1UW1CS3wx"}' - headers: - CF-RAY: - - 9f16aa190b95ac21-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 17:00:29 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - cf-cache-status: - - DYNAMIC - content-length: - - '521' - request-id: - - req_011CaNxH4zZN4wXkhhxYA9s9 - server-timing: - - x-originResponse;dur=229 + - x-originResponse;dur=127 set-cookie: - - _cfuvid=zgFS2t3RuHf3lLiVvVMyoeN5bOfO1HepOygVW6rN2i0-1777050028.9625583-1.0.1.1-AhnKR6S2FPultePM58u1aqIKq.REQ3iDDHrT97o2jsY; + - _cfuvid=NXhEeu00a6jAxc1FnuaaPRlMdgKIT98yCwYntcNMpjk-1778510798.2733316-1.0.1.1-XKpoz8gWxUGCZdzcy7oqOeEXItTd0__cafK89v_EFh0; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload vary: - Accept-Encoding x-envoy-upstream-service-time: - - '227' + - '124' status: code: 200 message: OK @@ -1334,11 +95,11 @@ interactions: Content-Type: - application/json Cookie: - - _cfuvid=zgFS2t3RuHf3lLiVvVMyoeN5bOfO1HepOygVW6rN2i0-1777050028.9625583-1.0.1.1-AhnKR6S2FPultePM58u1aqIKq.REQ3iDDHrT97o2jsY + - _cfuvid=NXhEeu00a6jAxc1FnuaaPRlMdgKIT98yCwYntcNMpjk-1778510798.2733316-1.0.1.1-XKpoz8gWxUGCZdzcy7oqOeEXItTd0__cafK89v_EFh0 Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -1348,7 +109,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -1367,11 +128,11 @@ interactions: uri: https://api.anthropic.com/v1/agents?beta=true response: body: - string: '{"archived_at":null,"created_at":"2026-04-24T17:00:29.353297Z","description":"Does - math","id":"agent_011CaNxH6Y5XszxRa2Q2zcxN","mcp_servers":[],"metadata":{},"model":{"id":"claude-haiku-4-5","speed":"standard"},"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","updated_at":"2026-04-24T17:00:29.353297Z","version":1}' + string: '{"archived_at":null,"created_at":"2026-05-11T14:46:38.570363Z","description":"Does + math","id":"agent_01NCPE2qMtw8o6UdPGRi7so3","mcp_servers":[],"metadata":{},"model":{"id":"claude-haiku-4-5","speed":"standard"},"multiagent":null,"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","updated_at":"2026-05-11T14:46:38.570363Z","version":1}' headers: CF-RAY: - - 9f16aa1b38e1de74-YYZ + - 9fa1f96ad919aab9-YYZ Connection: - keep-alive Content-Security-Policy: @@ -1379,7 +140,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 17:00:29 GMT + - Mon, 11 May 2026 14:46:38 GMT Server: - cloudflare Transfer-Encoding: @@ -1391,20 +152,20 @@ interactions: cf-cache-status: - DYNAMIC content-length: - - '356' + - '374' request-id: - - req_011CaNxH6V6iGGdgXtefqV57 + - req_011CavxpgH5bbUV8KdibTBJU server-timing: - - x-originResponse;dur=153 + - x-originResponse;dur=118 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '151' + - '117' status: code: 200 message: OK - request: - body: '{"agent":"agent_011CaNxH6Y5XszxRa2Q2zcxN","environment_id":"env_012W55H8BqqsSgp2XJ3uQmBK","metadata":{"purpose":"test"},"title":"Issue + body: '{"agent":"agent_01NCPE2qMtw8o6UdPGRi7so3","environment_id":"env_012W55H8BqqsSgp2XJ3uQmBK","metadata":{"purpose":"test"},"title":"Issue 259 test"}' headers: Accept: @@ -1420,7 +181,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -1430,7 +191,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -1449,11 +210,11 @@ interactions: uri: https://api.anthropic.com/v1/sessions?beta=true response: body: - string: '{"agent":{"description":"Does math","id":"agent_011CaNxH6Y5XszxRa2Q2zcxN","mcp_servers":[],"model":{"id":"claude-haiku-4-5","speed":"standard"},"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","version":1},"archived_at":null,"created_at":"2026-04-24T17:00:29.696890Z","environment_id":"env_012W55H8BqqsSgp2XJ3uQmBK","id":"sesn_011CaNxH7xunSMBnzTGyXWMv","metadata":{"purpose":"test"},"resources":[],"stats":{"active_seconds":0,"duration_seconds":0},"status":"idle","title":"Issue - 259 test","type":"session","updated_at":"2026-04-24T17:00:29.696890Z","usage":{"cache_creation":null,"cache_read_input_tokens":0,"input_tokens":0,"output_tokens":0},"vault_ids":[]}' + string: '{"agent":{"description":"Does math","id":"agent_01NCPE2qMtw8o6UdPGRi7so3","mcp_servers":[],"model":{"id":"claude-haiku-4-5","speed":"standard"},"multiagent":null,"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","version":1},"archived_at":null,"created_at":"2026-05-11T14:46:39.046974Z","environment_id":"env_012W55H8BqqsSgp2XJ3uQmBK","id":"sesn_0197e8eGKBXxEkBSJkpXy56M","metadata":{"purpose":"test"},"outcome_evaluations":[],"resources":[],"stats":{"active_seconds":0,"duration_seconds":0},"status":"idle","title":"Issue + 259 test","type":"session","updated_at":"2026-05-11T14:46:39.046974Z","usage":{"cache_creation":null,"cache_read_input_tokens":0,"input_tokens":0,"output_tokens":0},"vault_ids":[]}' headers: CF-RAY: - - 9f16aa1cfc214f09-YYZ + - 9fa1f96cf90e36ad-YYZ Connection: - keep-alive Content-Security-Policy: @@ -1461,7 +222,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 17:00:29 GMT + - Mon, 11 May 2026 14:46:39 GMT Server: - cloudflare Transfer-Encoding: @@ -1473,18 +234,18 @@ interactions: cf-cache-status: - DYNAMIC content-length: - - '700' + - '743' request-id: - - req_011CaNxH7gngSqJKZeoSvbSv + - req_011Cavxphk8sUoqo1RP46qpR server-timing: - - x-originResponse;dur=252 + - x-originResponse;dur=285 set-cookie: - - _cfuvid=S2wvlmYtPkL3nOGe0Pkvut1mBTXCE5c4Iy_MwtgBH2k-1777050029.5974114-1.0.1.1-y1zMLOTTk7ZzcKyIw4YSqQABq9G5rhjmIaFo5lq0OWY; + - _cfuvid=o.Z7zcxrM9jfPvWZz3Uj7UC0qF2ISeKbTiOdWNZMOOE-1778510798.87824-1.0.1.1-fCVCFjGKIUZ.crI1dd9HGw2hWCi0q2HUvJzrb3uTJ9A; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com vary: - Accept-Encoding x-envoy-upstream-service-time: - - '251' + - '283' status: code: 200 message: OK @@ -1500,11 +261,11 @@ interactions: Content-Type: - application/json Cookie: - - _cfuvid=zgFS2t3RuHf3lLiVvVMyoeN5bOfO1HepOygVW6rN2i0-1777050028.9625583-1.0.1.1-AhnKR6S2FPultePM58u1aqIKq.REQ3iDDHrT97o2jsY + - _cfuvid=NXhEeu00a6jAxc1FnuaaPRlMdgKIT98yCwYntcNMpjk-1778510798.2733316-1.0.1.1-XKpoz8gWxUGCZdzcy7oqOeEXItTd0__cafK89v_EFh0 Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -1514,7 +275,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -1530,13 +291,13 @@ interactions: x-stainless-timeout: - NOT_GIVEN method: DELETE - uri: https://api.anthropic.com/v1/sessions/sesn_011CaNxH7xunSMBnzTGyXWMv?beta=true + uri: https://api.anthropic.com/v1/sessions/sesn_0197e8eGKBXxEkBSJkpXy56M?beta=true response: body: - string: '{"id":"sesn_011CaNxH7xunSMBnzTGyXWMv","type":"session_deleted"}' + string: '{"id":"sesn_0197e8eGKBXxEkBSJkpXy56M","type":"session_deleted"}' headers: CF-RAY: - - 9f16aa1f6b87de04-YYZ + - 9fa1f9702be3ab94-YYZ Connection: - keep-alive Content-Security-Policy: @@ -1544,7 +305,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 17:00:30 GMT + - Mon, 11 May 2026 14:46:40 GMT Server: - cloudflare Transfer-Encoding: @@ -1558,13 +319,13 @@ interactions: content-length: - '63' request-id: - - req_011CaNxH9LztS3tzdNsY881z + - req_011Cavxpjx6mai79pfjKY6cp server-timing: - - x-originResponse;dur=581 + - x-originResponse;dur=613 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '578' + - '611' status: code: 200 message: OK @@ -1582,11 +343,11 @@ interactions: Content-Type: - application/json Cookie: - - _cfuvid=zgFS2t3RuHf3lLiVvVMyoeN5bOfO1HepOygVW6rN2i0-1777050028.9625583-1.0.1.1-AhnKR6S2FPultePM58u1aqIKq.REQ3iDDHrT97o2jsY + - _cfuvid=NXhEeu00a6jAxc1FnuaaPRlMdgKIT98yCwYntcNMpjk-1778510798.2733316-1.0.1.1-XKpoz8gWxUGCZdzcy7oqOeEXItTd0__cafK89v_EFh0 Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -1596,7 +357,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -1612,14 +373,14 @@ interactions: x-stainless-timeout: - NOT_GIVEN method: POST - uri: https://api.anthropic.com/v1/agents/agent_011CaNxH6Y5XszxRa2Q2zcxN/archive?beta=true + uri: https://api.anthropic.com/v1/agents/agent_01NCPE2qMtw8o6UdPGRi7so3/archive?beta=true response: body: - string: '{"archived_at":"2026-04-24T17:00:30.735291Z","created_at":"2026-04-24T17:00:29.353297Z","description":"Does - math","id":"agent_011CaNxH6Y5XszxRa2Q2zcxN","mcp_servers":[],"metadata":{},"model":{"id":"claude-haiku-4-5","speed":"standard"},"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","updated_at":"2026-04-24T17:00:30.735291Z","version":1}' + string: '{"archived_at":"2026-05-11T14:46:40.204274Z","created_at":"2026-05-11T14:46:38.570363Z","description":"Does + math","id":"agent_01NCPE2qMtw8o6UdPGRi7so3","mcp_servers":[],"metadata":{},"model":{"id":"claude-haiku-4-5","speed":"standard"},"multiagent":null,"name":"braintrust-sdk-managed-agent","skills":[],"system":null,"tools":[],"type":"agent","updated_at":"2026-05-11T14:46:40.204274Z","version":1}' headers: CF-RAY: - - 9f16aa23dd57a1e4-YYZ + - 9fa1f974f8d70c69-YYZ Connection: - keep-alive Content-Security-Policy: @@ -1627,7 +388,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 17:00:31 GMT + - Mon, 11 May 2026 14:46:40 GMT Server: - cloudflare Transfer-Encoding: @@ -1639,15 +400,15 @@ interactions: cf-cache-status: - DYNAMIC content-length: - - '381' + - '399' request-id: - - req_011CaNxHCPZQ34su6f12M3tB + - req_011CavxpoDnmNWMtiSaPxgKG server-timing: - - x-originResponse;dur=268 + - x-originResponse;dur=200 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '267' + - '194' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_client_error.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_client_error.yaml index e3c1f438..9c6ebd13 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_client_error.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_client_error.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -43,10 +43,10 @@ interactions: response: body: string: '{"type":"error","error":{"type":"not_found_error","message":"model: - there-is-no-such-model"},"request_id":"req_011CaNuAzzgcnbs1K2wSUQaf"}' + there-is-no-such-model"},"request_id":"req_011Cavxovvs9WgyRecHvzPc2"}' headers: CF-RAY: - - 9f166e75999619cf-YYZ + - 9fa1f92b4bb6aa98-YYZ Connection: - keep-alive Content-Security-Policy: @@ -54,7 +54,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:19:46 GMT + - Mon, 11 May 2026 14:46:28 GMT Server: - cloudflare Transfer-Encoding: @@ -68,276 +68,18 @@ interactions: content-length: - '137' request-id: - - req_011CaNuAzzgcnbs1K2wSUQaf - server-timing: - - x-originResponse;dur=46 + - req_011Cavxovvs9WgyRecHvzPc2 set-cookie: - - _cfuvid=C3q1tzXRfRJUzWc1SITcPyAd6KhPkMRKqg5SDS06VZE-1777047586.1773088-1.0.1.1-xWBPC9.L9Z9.dcq19u3cOwn1PsAb4JNb5MSMWrh2X6o; + - _cfuvid=eg1x9mbjtigxlZ9a1HvVpXbOO6fG_uFnyHEHOdVlRr4-1778510788.3705938-1.0.1.1-Zk2fzrVI9Qr_ddtL_ILYxVhu4KpvobdxBsfMjuUbTwU; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-250cac04a86130f8b4e4943f98f2d490-e219ac27e9bf5fa5-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '44' - x-should-retry: - - 'false' - status: - code: 404 - message: Not Found -- request: - body: '{"max_tokens":999,"messages":[{"role":"user","content":"who are you?"}],"model":"there-is-no-such-model"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '105' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"type":"error","error":{"type":"not_found_error","message":"model: - there-is-no-such-model"},"request_id":"req_011CaNx7UMU28J6nWzDB1U5p"}' - headers: - CF-RAY: - - 9f16a6eb49959dab-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:58:18 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - cf-cache-status: - - DYNAMIC - content-length: - - '137' - request-id: - - req_011CaNx7UMU28J6nWzDB1U5p - server-timing: - - x-originResponse;dur=33 - set-cookie: - - _cfuvid=nSGSehoItKXZTcQGclsfPoQAr7zYxmMazoZBiB1e5MU-1777049898.7683861-1.0.1.1-9t3M23otOd3c.N28VsOeMiIcEuY43AceReq5WQWOhX0; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '31' - x-should-retry: - - 'false' - status: - code: 404 - message: Not Found -- request: - body: '{"max_tokens":999,"messages":[{"role":"user","content":"who are you?"}],"model":"there-is-no-such-model"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '105' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"type":"error","error":{"type":"not_found_error","message":"model: - there-is-no-such-model"},"request_id":"req_011CaNxBEKy9XxQNkEHNFMDE"}' - headers: - CF-RAY: - - 9f16a829fb5039f0-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:09 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - cf-cache-status: - - DYNAMIC - content-length: - - '137' - request-id: - - req_011CaNxBEKy9XxQNkEHNFMDE - server-timing: - - x-originResponse;dur=23 - set-cookie: - - _cfuvid=3c4ZfQtRNYVLa4eqmFA6LeRclDAoMxPPpl.wHIbrOYw-1777049949.7579582-1.0.1.1-eWQMkC2DFaZn2OdsBiuEYMtS.IrOxIARitLT1YK.nQ8; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '20' - x-should-retry: - - 'false' - status: - code: 404 - message: Not Found -- request: - body: '{"max_tokens":999,"messages":[{"role":"user","content":"who are you?"}],"model":"there-is-no-such-model"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '105' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"type":"error","error":{"type":"not_found_error","message":"model: - there-is-no-such-model"},"request_id":"req_011CaNxGMm6FmWLP4tBrMeYa"}' - headers: - CF-RAY: - - 9f16a9dcce8eebbd-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 17:00:19 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - cf-cache-status: - - DYNAMIC - content-length: - - '137' - request-id: - - req_011CaNxGMm6FmWLP4tBrMeYa - server-timing: - - x-originResponse;dur=18 - set-cookie: - - _cfuvid=EvbTnD4rih0arbfPWVYpbOo1pWEIkhKSH_U.AnbmwCA-1777050019.3290756-1.0.1.1-92PvrVclQa7CtEWyILaQeMhCqW4bj1lM8JS1xQzyTUg; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '16' + - '33' x-should-retry: - 'false' status: diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_async.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_async.yaml index 5b2f7f98..89ee87c5 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_async.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_async.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - AsyncAnthropic/Python 0.97.0 + - AsyncAnthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -43,10 +43,10 @@ interactions: uri: https://api.anthropic.com/v1/messages response: body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01W2u7pyaZCp1VTexddjwrwu","type":"message","role":"assistant","content":[{"type":"text","text":"7"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard","inference_geo":"not_available"}}' + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_011dfabPeZKUYZtsY3dYTTpe","type":"message","role":"assistant","content":[{"type":"text","text":"7"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard","inference_geo":"not_available"}}' headers: CF-RAY: - - 9f166e5a08a9ab2e-YYZ + - 9fa1f91b7e1fab33-YYZ Connection: - keep-alive Content-Security-Policy: @@ -54,7 +54,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:19:42 GMT + - Mon, 11 May 2026 14:46:26 GMT Server: - cloudflare Transfer-Encoding: @@ -68,362 +68,42 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '4000000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:19:42Z' + - '2026-05-11T14:46:26Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:19:42Z' + - '2026-05-11T14:46:26Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T16:19:42Z' + - '2026-05-11T14:46:25Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4800000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:19:42Z' + - '2026-05-11T14:46:26Z' cf-cache-status: - DYNAMIC content-length: - '457' request-id: - - req_011CaNuAg97uqytGCayn82iP - server-timing: - - x-originResponse;dur=1119 + - req_011Cavxok5W5ouYfj4BdihNw set-cookie: - - _cfuvid=wVc8Et1345kUy.xgryNY6515RG4XHpWhu3Abw60oRqs-1777047581.7661688-1.0.1.1-RG7FESATopNZYNOdMV.icmL.y2DpVC2dJbzW4iET4w4; + - _cfuvid=w7aqquibrFZCc0gXvuRyCt00GMzkQNr1hqFpHsmm9uA-1778510785.83512-1.0.1.1-VEeE_eY3r1TJpkO4HW.xrIi90okxZExdoPQ5waI1Hdg; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-f96fbb59cf084a9eb43cc5abf23fb62c-94d146f5e96b3b7f-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '1116' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":100,"messages":[{"role":"user","content":"what is 6+1?, just - return the number"}],"model":"claude-haiku-4-5-20251001"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '132' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01LHNweMNGP4BXF7SFrtzuT3","type":"message","role":"assistant","content":[{"type":"text","text":"7"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a6d88bada23b-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:58:17 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:17Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:17Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:15Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:17Z' - cf-cache-status: - - DYNAMIC - content-length: - - '457' - request-id: - - req_011CaNx7FUp7JLVa4i3a4gFc - server-timing: - - x-originResponse;dur=1412 - set-cookie: - - _cfuvid=7dJMZHTfJCSkW0Nz_f1mlmIp6xexbvWyO0bwO1_LYW8-1777049895.7641387-1.0.1.1-4VCacG8cKHKs6TVCaNrmPJNZocwA3PSd3rhv.1Utakw; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '1409' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":100,"messages":[{"role":"user","content":"what is 6+1?, just - return the number"}],"model":"claude-haiku-4-5-20251001"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '132' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01WqhmJnpCv1xWQruB7aQXZN","type":"message","role":"assistant","content":[{"type":"text","text":"7"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a81d5b307119-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:08 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:08Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:08Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:07Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:08Z' - cf-cache-status: - - DYNAMIC - content-length: - - '457' - request-id: - - req_011CaNxB5pFbL4rstjpx1sNL - set-cookie: - - _cfuvid=Y9VGGWpsA3XNBE0jD.GSYYgK87YRHn61kPYZ9eQmr4I-1777049947.7402492-1.0.1.1-O0seh3WKAJKYcrdYsfvZ58gQgaROwT8oRVZxvqzX._I; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-envoy-upstream-service-time: - - '514' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":100,"messages":[{"role":"user","content":"what is 6+1?, just - return the number"}],"model":"claude-haiku-4-5-20251001"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '132' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01KPP2VjLf37T1pFETHkimW6","type":"message","role":"assistant","content":[{"type":"text","text":"7"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a9cdfe35ab78-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 17:00:17 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:17Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:17Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:17Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:17Z' - cf-cache-status: - - DYNAMIC - content-length: - - '457' - request-id: - - req_011CaNxGBeNsAcPFWHjxVNUf - server-timing: - - x-originResponse;dur=687 - set-cookie: - - _cfuvid=grpQPeCFhXHZAWmvyB_Nyp_dnJWfH5Tcu1oMGkiBwcA-1777050016.960801-1.0.1.1-EhYRGbwiZ0qEFlsWeZDOhqvweYcdIcAlNXUvpe7ujXc; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '685' + - '706' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_async_stream_true.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_async_stream_true.yaml index 81062c71..5f894fe0 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_async_stream_true.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_async_stream_true.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - AsyncAnthropic/Python 0.97.0 + - AsyncAnthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -45,12 +45,12 @@ interactions: body: string: 'event: message_start - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01Ad2VM6utSgJtzoWw4aVxrH","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } + data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01Q1wR63vVrCJoTXya9DNA4i","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } + data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } event: ping @@ -60,153 +60,7 @@ interactions: event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"7"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0} - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} - } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f166e622c2bab1e-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:19:44 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:19:43Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:19:43Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:19:43Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:19:43Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1150' - request-id: - - req_011CaNuAmkDFjcfHgPPXfaJR - server-timing: - - x-originResponse;dur=1634 - set-cookie: - - _cfuvid=AEs8iZmnCLmDtinT.DHUVl4.BRg5qDNKhsLnO3EhaVU-1777047583.0704222-1.0.1.1-b1yAKzRW0V2bfNGwsIItNPCg6wwdD9BhU2xe8YcK.bU; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '1632' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":100,"messages":[{"role":"user","content":"what is 6+1?, just - return the number"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '146' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01BKi2FNjyEHZj8upMzvT4Nc","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"7"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"7"} } event: content_block_stop @@ -216,308 +70,18 @@ interactions: event: message_delta - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a6e2295faaad-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:58:17 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:17Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:17Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:17Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:17Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1153' - request-id: - - req_011CaNx7N5gnoS77e1a5xnLs - server-timing: - - x-originResponse;dur=373 - set-cookie: - - _cfuvid=P8xxbbdHP628AmOu.aRQyI8PBscevkrRHafl2KI0r_Y-1777049897.3087018-1.0.1.1-3r3q9ax4tXPf6vlaMqjok9MFaTd4hsBXsIaoh.6ubKs; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '371' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":100,"messages":[{"role":"user","content":"what is 6+1?, just - return the number"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '146' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01VzdaWoAdLw1t5bSpRL4i8s","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"7"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a8222b0f0c69-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:59:08 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:08Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:08Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:08Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:08Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1167' - request-id: - - req_011CaNxB8ykigkfpFV6n8nzk - server-timing: - - x-originResponse;dur=427 - set-cookie: - - _cfuvid=H30CdwetxUzKNJhrhnGXidl.q3bK1YqHZm6.XAx6hu4-1777049948.504188-1.0.1.1-Yt.E4WNfEKWZE8ELXeOKpIEFsFTHCZka6U4Ed2m87p4; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '425' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":100,"messages":[{"role":"user","content":"what is 6+1?, just - return the number"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '146' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01L6K3hHf97kWRtqs6gUTDyK","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"7"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0} - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } + data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } event: message_stop - data: {"type":"message_stop" } + data: {"type":"message_stop" } ' headers: CF-RAY: - - 9f16a9d46e24a2d9-YYZ + - 9fa1f9219e91ab09-YYZ Cache-Control: - no-cache Connection: @@ -527,7 +91,7 @@ interactions: Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 24 Apr 2026 17:00:18 GMT + - Mon, 11 May 2026 14:46:27 GMT Server: - cloudflare Transfer-Encoding: @@ -541,42 +105,42 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '4000000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:18Z' + - '2026-05-11T14:46:26Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:18Z' + - '2026-05-11T14:46:26Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:18Z' + - '2026-05-11T14:46:26Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4800000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:18Z' + - '2026-05-11T14:46:26Z' cf-cache-status: - DYNAMIC content-length: - - '1157' + - '1185' request-id: - - req_011CaNxGG2ojQAWbwqYYBY7f - server-timing: - - x-originResponse;dur=506 + - req_011CavxopKjwb91oTcyiywPH set-cookie: - - _cfuvid=qRgVeRn6qSg70sQpMDOh7Aol04xH6MkvNYx5oi77TVw-1777050017.986216-1.0.1.1-7XtlAE0KAwo7AsRH6mMe94s_VzT_2bNeWEPRUo.xeiM; + - _cfuvid=jtJL1jO0IRCxeb8y3_YUMMfbJRWzkzr8D11nERn_Cwk-1778510786.820593-1.0.1.1-0NP7uIEleZYvBWXTs7QyWo60hxXEBRJsPYfDkrqqdRg; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-ef9fe91619353177b133bf10bd2406f0-595001ebe857125a-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '504' + - '609' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_prompt_cache_1h_metrics.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_prompt_cache_1h_metrics.yaml index 954ac150..5c524042 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_prompt_cache_1h_metrics.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_prompt_cache_1h_metrics.yaml @@ -1,33 +1,337 @@ interactions: - request: - body: '{"max_tokens":16,"messages":[{"role":"user","content":"What is the capital of France?"}],"model":"claude-haiku-4-5-20251001","system":[{"type":"text","text":"cached geography facts","cache_control":{"type":"ephemeral","ttl":"1h"}}],"temperature":0}' + body: '{"max_tokens":16,"messages":[{"role":"user","content":"What is the capital + of France?"}],"model":"claude-haiku-4-5-20251001","system":[{"type":"text","text":"Cached + geography fact 0: Paris is the capital of France.\nCached geography fact 1: + Paris is the capital of France.\nCached geography fact 2: Paris is the capital + of France.\nCached geography fact 3: Paris is the capital of France.\nCached + geography fact 4: Paris is the capital of France.\nCached geography fact 5: + Paris is the capital of France.\nCached geography fact 6: Paris is the capital + of France.\nCached geography fact 7: Paris is the capital of France.\nCached + geography fact 8: Paris is the capital of France.\nCached geography fact 9: + Paris is the capital of France.\nCached geography fact 10: Paris is the capital + of France.\nCached geography fact 11: Paris is the capital of France.\nCached + geography fact 12: Paris is the capital of France.\nCached geography fact 13: + Paris is the capital of France.\nCached geography fact 14: Paris is the capital + of France.\nCached geography fact 15: Paris is the capital of France.\nCached + geography fact 16: Paris is the capital of France.\nCached geography fact 17: + Paris is the capital of France.\nCached geography fact 18: Paris is the capital + of France.\nCached geography fact 19: Paris is the capital of France.\nCached + geography fact 20: Paris is the capital of France.\nCached geography fact 21: + Paris is the capital of France.\nCached geography fact 22: Paris is the capital + of France.\nCached geography fact 23: Paris is the capital of France.\nCached + geography fact 24: Paris is the capital of France.\nCached geography fact 25: + Paris is the capital of France.\nCached geography fact 26: Paris is the capital + of France.\nCached geography fact 27: Paris is the capital of France.\nCached + geography fact 28: Paris is the capital of France.\nCached geography fact 29: + Paris is the capital of France.\nCached geography fact 30: Paris is the capital + of France.\nCached geography fact 31: Paris is the capital of France.\nCached + geography fact 32: Paris is the capital of France.\nCached geography fact 33: + Paris is the capital of France.\nCached geography fact 34: Paris is the capital + of France.\nCached geography fact 35: Paris is the capital of France.\nCached + geography fact 36: Paris is the capital of France.\nCached geography fact 37: + Paris is the capital of France.\nCached geography fact 38: Paris is the capital + of France.\nCached geography fact 39: Paris is the capital of France.\nCached + geography fact 40: Paris is the capital of France.\nCached geography fact 41: + Paris is the capital of France.\nCached geography fact 42: Paris is the capital + of France.\nCached geography fact 43: Paris is the capital of France.\nCached + geography fact 44: Paris is the capital of France.\nCached geography fact 45: + Paris is the capital of France.\nCached geography fact 46: Paris is the capital + of France.\nCached geography fact 47: Paris is the capital of France.\nCached + geography fact 48: Paris is the capital of France.\nCached geography fact 49: + Paris is the capital of France.\nCached geography fact 50: Paris is the capital + of France.\nCached geography fact 51: Paris is the capital of France.\nCached + geography fact 52: Paris is the capital of France.\nCached geography fact 53: + Paris is the capital of France.\nCached geography fact 54: Paris is the capital + of France.\nCached geography fact 55: Paris is the capital of France.\nCached + geography fact 56: Paris is the capital of France.\nCached geography fact 57: + Paris is the capital of France.\nCached geography fact 58: Paris is the capital + of France.\nCached geography fact 59: Paris is the capital of France.\nCached + geography fact 60: Paris is the capital of France.\nCached geography fact 61: + Paris is the capital of France.\nCached geography fact 62: Paris is the capital + of France.\nCached geography fact 63: Paris is the capital of France.\nCached + geography fact 64: Paris is the capital of France.\nCached geography fact 65: + Paris is the capital of France.\nCached geography fact 66: Paris is the capital + of France.\nCached geography fact 67: Paris is the capital of France.\nCached + geography fact 68: Paris is the capital of France.\nCached geography fact 69: + Paris is the capital of France.\nCached geography fact 70: Paris is the capital + of France.\nCached geography fact 71: Paris is the capital of France.\nCached + geography fact 72: Paris is the capital of France.\nCached geography fact 73: + Paris is the capital of France.\nCached geography fact 74: Paris is the capital + of France.\nCached geography fact 75: Paris is the capital of France.\nCached + geography fact 76: Paris is the capital of France.\nCached geography fact 77: + Paris is the capital of France.\nCached geography fact 78: Paris is the capital + of France.\nCached geography fact 79: Paris is the capital of France.\nCached + geography fact 80: Paris is the capital of France.\nCached geography fact 81: + Paris is the capital of France.\nCached geography fact 82: Paris is the capital + of France.\nCached geography fact 83: Paris is the capital of France.\nCached + geography fact 84: Paris is the capital of France.\nCached geography fact 85: + Paris is the capital of France.\nCached geography fact 86: Paris is the capital + of France.\nCached geography fact 87: Paris is the capital of France.\nCached + geography fact 88: Paris is the capital of France.\nCached geography fact 89: + Paris is the capital of France.\nCached geography fact 90: Paris is the capital + of France.\nCached geography fact 91: Paris is the capital of France.\nCached + geography fact 92: Paris is the capital of France.\nCached geography fact 93: + Paris is the capital of France.\nCached geography fact 94: Paris is the capital + of France.\nCached geography fact 95: Paris is the capital of France.\nCached + geography fact 96: Paris is the capital of France.\nCached geography fact 97: + Paris is the capital of France.\nCached geography fact 98: Paris is the capital + of France.\nCached geography fact 99: Paris is the capital of France.\nCached + geography fact 100: Paris is the capital of France.\nCached geography fact 101: + Paris is the capital of France.\nCached geography fact 102: Paris is the capital + of France.\nCached geography fact 103: Paris is the capital of France.\nCached + geography fact 104: Paris is the capital of France.\nCached geography fact 105: + Paris is the capital of France.\nCached geography fact 106: Paris is the capital + of France.\nCached geography fact 107: Paris is the capital of France.\nCached + geography fact 108: Paris is the capital of France.\nCached geography fact 109: + Paris is the capital of France.\nCached geography fact 110: Paris is the capital + of France.\nCached geography fact 111: Paris is the capital of France.\nCached + geography fact 112: Paris is the capital of France.\nCached geography fact 113: + Paris is the capital of France.\nCached geography fact 114: Paris is the capital + of France.\nCached geography fact 115: Paris is the capital of France.\nCached + geography fact 116: Paris is the capital of France.\nCached geography fact 117: + Paris is the capital of France.\nCached geography fact 118: Paris is the capital + of France.\nCached geography fact 119: Paris is the capital of France.\nCached + geography fact 120: Paris is the capital of France.\nCached geography fact 121: + Paris is the capital of France.\nCached geography fact 122: Paris is the capital + of France.\nCached geography fact 123: Paris is the capital of France.\nCached + geography fact 124: Paris is the capital of France.\nCached geography fact 125: + Paris is the capital of France.\nCached geography fact 126: Paris is the capital + of France.\nCached geography fact 127: Paris is the capital of France.\nCached + geography fact 128: Paris is the capital of France.\nCached geography fact 129: + Paris is the capital of France.\nCached geography fact 130: Paris is the capital + of France.\nCached geography fact 131: Paris is the capital of France.\nCached + geography fact 132: Paris is the capital of France.\nCached geography fact 133: + Paris is the capital of France.\nCached geography fact 134: Paris is the capital + of France.\nCached geography fact 135: Paris is the capital of France.\nCached + geography fact 136: Paris is the capital of France.\nCached geography fact 137: + Paris is the capital of France.\nCached geography fact 138: Paris is the capital + of France.\nCached geography fact 139: Paris is the capital of France.\nCached + geography fact 140: Paris is the capital of France.\nCached geography fact 141: + Paris is the capital of France.\nCached geography fact 142: Paris is the capital + of France.\nCached geography fact 143: Paris is the capital of France.\nCached + geography fact 144: Paris is the capital of France.\nCached geography fact 145: + Paris is the capital of France.\nCached geography fact 146: Paris is the capital + of France.\nCached geography fact 147: Paris is the capital of France.\nCached + geography fact 148: Paris is the capital of France.\nCached geography fact 149: + Paris is the capital of France.\nCached geography fact 150: Paris is the capital + of France.\nCached geography fact 151: Paris is the capital of France.\nCached + geography fact 152: Paris is the capital of France.\nCached geography fact 153: + Paris is the capital of France.\nCached geography fact 154: Paris is the capital + of France.\nCached geography fact 155: Paris is the capital of France.\nCached + geography fact 156: Paris is the capital of France.\nCached geography fact 157: + Paris is the capital of France.\nCached geography fact 158: Paris is the capital + of France.\nCached geography fact 159: Paris is the capital of France.\nCached + geography fact 160: Paris is the capital of France.\nCached geography fact 161: + Paris is the capital of France.\nCached geography fact 162: Paris is the capital + of France.\nCached geography fact 163: Paris is the capital of France.\nCached + geography fact 164: Paris is the capital of France.\nCached geography fact 165: + Paris is the capital of France.\nCached geography fact 166: Paris is the capital + of France.\nCached geography fact 167: Paris is the capital of France.\nCached + geography fact 168: Paris is the capital of France.\nCached geography fact 169: + Paris is the capital of France.\nCached geography fact 170: Paris is the capital + of France.\nCached geography fact 171: Paris is the capital of France.\nCached + geography fact 172: Paris is the capital of France.\nCached geography fact 173: + Paris is the capital of France.\nCached geography fact 174: Paris is the capital + of France.\nCached geography fact 175: Paris is the capital of France.\nCached + geography fact 176: Paris is the capital of France.\nCached geography fact 177: + Paris is the capital of France.\nCached geography fact 178: Paris is the capital + of France.\nCached geography fact 179: Paris is the capital of France.\nCached + geography fact 180: Paris is the capital of France.\nCached geography fact 181: + Paris is the capital of France.\nCached geography fact 182: Paris is the capital + of France.\nCached geography fact 183: Paris is the capital of France.\nCached + geography fact 184: Paris is the capital of France.\nCached geography fact 185: + Paris is the capital of France.\nCached geography fact 186: Paris is the capital + of France.\nCached geography fact 187: Paris is the capital of France.\nCached + geography fact 188: Paris is the capital of France.\nCached geography fact 189: + Paris is the capital of France.\nCached geography fact 190: Paris is the capital + of France.\nCached geography fact 191: Paris is the capital of France.\nCached + geography fact 192: Paris is the capital of France.\nCached geography fact 193: + Paris is the capital of France.\nCached geography fact 194: Paris is the capital + of France.\nCached geography fact 195: Paris is the capital of France.\nCached + geography fact 196: Paris is the capital of France.\nCached geography fact 197: + Paris is the capital of France.\nCached geography fact 198: Paris is the capital + of France.\nCached geography fact 199: Paris is the capital of France.\nCached + geography fact 200: Paris is the capital of France.\nCached geography fact 201: + Paris is the capital of France.\nCached geography fact 202: Paris is the capital + of France.\nCached geography fact 203: Paris is the capital of France.\nCached + geography fact 204: Paris is the capital of France.\nCached geography fact 205: + Paris is the capital of France.\nCached geography fact 206: Paris is the capital + of France.\nCached geography fact 207: Paris is the capital of France.\nCached + geography fact 208: Paris is the capital of France.\nCached geography fact 209: + Paris is the capital of France.\nCached geography fact 210: Paris is the capital + of France.\nCached geography fact 211: Paris is the capital of France.\nCached + geography fact 212: Paris is the capital of France.\nCached geography fact 213: + Paris is the capital of France.\nCached geography fact 214: Paris is the capital + of France.\nCached geography fact 215: Paris is the capital of France.\nCached + geography fact 216: Paris is the capital of France.\nCached geography fact 217: + Paris is the capital of France.\nCached geography fact 218: Paris is the capital + of France.\nCached geography fact 219: Paris is the capital of France.\nCached + geography fact 220: Paris is the capital of France.\nCached geography fact 221: + Paris is the capital of France.\nCached geography fact 222: Paris is the capital + of France.\nCached geography fact 223: Paris is the capital of France.\nCached + geography fact 224: Paris is the capital of France.\nCached geography fact 225: + Paris is the capital of France.\nCached geography fact 226: Paris is the capital + of France.\nCached geography fact 227: Paris is the capital of France.\nCached + geography fact 228: Paris is the capital of France.\nCached geography fact 229: + Paris is the capital of France.\nCached geography fact 230: Paris is the capital + of France.\nCached geography fact 231: Paris is the capital of France.\nCached + geography fact 232: Paris is the capital of France.\nCached geography fact 233: + Paris is the capital of France.\nCached geography fact 234: Paris is the capital + of France.\nCached geography fact 235: Paris is the capital of France.\nCached + geography fact 236: Paris is the capital of France.\nCached geography fact 237: + Paris is the capital of France.\nCached geography fact 238: Paris is the capital + of France.\nCached geography fact 239: Paris is the capital of France.\nCached + geography fact 240: Paris is the capital of France.\nCached geography fact 241: + Paris is the capital of France.\nCached geography fact 242: Paris is the capital + of France.\nCached geography fact 243: Paris is the capital of France.\nCached + geography fact 244: Paris is the capital of France.\nCached geography fact 245: + Paris is the capital of France.\nCached geography fact 246: Paris is the capital + of France.\nCached geography fact 247: Paris is the capital of France.\nCached + geography fact 248: Paris is the capital of France.\nCached geography fact 249: + Paris is the capital of France.\nCached geography fact 250: Paris is the capital + of France.\nCached geography fact 251: Paris is the capital of France.\nCached + geography fact 252: Paris is the capital of France.\nCached geography fact 253: + Paris is the capital of France.\nCached geography fact 254: Paris is the capital + of France.\nCached geography fact 255: Paris is the capital of France.\nCached + geography fact 256: Paris is the capital of France.\nCached geography fact 257: + Paris is the capital of France.\nCached geography fact 258: Paris is the capital + of France.\nCached geography fact 259: Paris is the capital of France.\nCached + geography fact 260: Paris is the capital of France.\nCached geography fact 261: + Paris is the capital of France.\nCached geography fact 262: Paris is the capital + of France.\nCached geography fact 263: Paris is the capital of France.\nCached + geography fact 264: Paris is the capital of France.\nCached geography fact 265: + Paris is the capital of France.\nCached geography fact 266: Paris is the capital + of France.\nCached geography fact 267: Paris is the capital of France.\nCached + geography fact 268: Paris is the capital of France.\nCached geography fact 269: + Paris is the capital of France.\nCached geography fact 270: Paris is the capital + of France.\nCached geography fact 271: Paris is the capital of France.\nCached + geography fact 272: Paris is the capital of France.\nCached geography fact 273: + Paris is the capital of France.\nCached geography fact 274: Paris is the capital + of France.\nCached geography fact 275: Paris is the capital of France.\nCached + geography fact 276: Paris is the capital of France.\nCached geography fact 277: + Paris is the capital of France.\nCached geography fact 278: Paris is the capital + of France.\nCached geography fact 279: Paris is the capital of France.\nCached + geography fact 280: Paris is the capital of France.\nCached geography fact 281: + Paris is the capital of France.\nCached geography fact 282: Paris is the capital + of France.\nCached geography fact 283: Paris is the capital of France.\nCached + geography fact 284: Paris is the capital of France.\nCached geography fact 285: + Paris is the capital of France.\nCached geography fact 286: Paris is the capital + of France.\nCached geography fact 287: Paris is the capital of France.\nCached + geography fact 288: Paris is the capital of France.\nCached geography fact 289: + Paris is the capital of France.\nCached geography fact 290: Paris is the capital + of France.\nCached geography fact 291: Paris is the capital of France.\nCached + geography fact 292: Paris is the capital of France.\nCached geography fact 293: + Paris is the capital of France.\nCached geography fact 294: Paris is the capital + of France.\nCached geography fact 295: Paris is the capital of France.\nCached + geography fact 296: Paris is the capital of France.\nCached geography fact 297: + Paris is the capital of France.\nCached geography fact 298: Paris is the capital + of France.\nCached geography fact 299: Paris is the capital of France.","cache_control":{"type":"ephemeral","ttl":"1h"}}],"temperature":0}' headers: Accept: - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '18114' Content-Type: - application/json Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 + X-Stainless-Arch: + - arm64 + X-Stainless-Async: + - 'false' + X-Stainless-Lang: + - python + X-Stainless-OS: + - MacOS + X-Stainless-Package-Version: + - 0.100.0 + X-Stainless-Runtime: + - CPython + X-Stainless-Runtime-Version: + - 3.12.12 anthropic-beta: - extended-cache-ttl-2025-04-11 anthropic-version: - '2023-06-01' + x-stainless-read-timeout: + - '600' + x-stainless-retry-count: + - '0' + x-stainless-timeout: + - '600' method: POST uri: https://api.anthropic.com/v1/messages response: body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_prompt_cache_1h","type":"message","role":"assistant","content":[{"type":"text","text":"Paris is the capital of France."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":12,"cache_creation_input_tokens":1301,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":1301},"output_tokens":8,"service_tier":"standard","inference_geo":"not_available"}}' + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_012cuQRv7dQfawF7d1GadG2p","type":"message","role":"assistant","content":[{"type":"text","text":"The + capital of France is **Paris**.\n\nParis is located in the north-"}],"stop_reason":"max_tokens","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":13,"cache_creation_input_tokens":0,"cache_read_input_tokens":4500,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":16,"service_tier":"standard","inference_geo":"not_available"}}' headers: + CF-RAY: + - 9fa1f8e378006d93-YYZ Connection: - keep-alive + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:19:43 GMT + - Mon, 11 May 2026 14:46:17 GMT Server: - cloudflare + Transfer-Encoding: + - chunked + X-Robots-Tag: + - none + anthropic-organization-id: + - 27796668-7351-40ac-acc4-024aee8995a5 + anthropic-ratelimit-input-tokens-limit: + - '4000000' + anthropic-ratelimit-input-tokens-remaining: + - '4000000' + anthropic-ratelimit-input-tokens-reset: + - '2026-05-11T14:46:17Z' + anthropic-ratelimit-output-tokens-limit: + - '800000' + anthropic-ratelimit-output-tokens-remaining: + - '800000' + anthropic-ratelimit-output-tokens-reset: + - '2026-05-11T14:46:17Z' + anthropic-ratelimit-requests-limit: + - '20000' + anthropic-ratelimit-requests-remaining: + - '19999' + anthropic-ratelimit-requests-reset: + - '2026-05-11T14:46:17Z' + anthropic-ratelimit-tokens-limit: + - '4800000' + anthropic-ratelimit-tokens-remaining: + - '4800000' + anthropic-ratelimit-tokens-reset: + - '2026-05-11T14:46:17Z' + cf-cache-status: + - DYNAMIC + content-length: + - '531' + request-id: + - req_011Cavxo5uq835RYit2tsRDb + set-cookie: + - _cfuvid=S7t5ssnQykYFSA6haIDDT9cEpLapi6ZdIGdpj84dN.0-1778510776.8737893-1.0.1.1-l0qDDSo2HseNglE1TYqpK0TgrGfJQczxuti7ZEjmAB0; + HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-20f0dccfd6913b017fec0914974b8dfa-b67cb0af7c4ef272-01 + vary: + - Accept-Encoding + x-envoy-upstream-service-time: + - '533' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_prompt_cache_5m_metrics.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_prompt_cache_5m_metrics.yaml index 56a9ec76..c304ef34 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_prompt_cache_5m_metrics.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_prompt_cache_5m_metrics.yaml @@ -1,31 +1,335 @@ interactions: - request: - body: '{"max_tokens":16,"messages":[{"role":"user","content":"What is the capital of France?"}],"model":"claude-haiku-4-5-20251001","system":[{"type":"text","text":"cached geography facts","cache_control":{"type":"ephemeral","ttl":"5m"}}],"temperature":0}' + body: '{"max_tokens":16,"messages":[{"role":"user","content":"What is the capital + of France?"}],"model":"claude-haiku-4-5-20251001","system":[{"type":"text","text":"Cached + geography fact 0: Paris is the capital of France.\nCached geography fact 1: + Paris is the capital of France.\nCached geography fact 2: Paris is the capital + of France.\nCached geography fact 3: Paris is the capital of France.\nCached + geography fact 4: Paris is the capital of France.\nCached geography fact 5: + Paris is the capital of France.\nCached geography fact 6: Paris is the capital + of France.\nCached geography fact 7: Paris is the capital of France.\nCached + geography fact 8: Paris is the capital of France.\nCached geography fact 9: + Paris is the capital of France.\nCached geography fact 10: Paris is the capital + of France.\nCached geography fact 11: Paris is the capital of France.\nCached + geography fact 12: Paris is the capital of France.\nCached geography fact 13: + Paris is the capital of France.\nCached geography fact 14: Paris is the capital + of France.\nCached geography fact 15: Paris is the capital of France.\nCached + geography fact 16: Paris is the capital of France.\nCached geography fact 17: + Paris is the capital of France.\nCached geography fact 18: Paris is the capital + of France.\nCached geography fact 19: Paris is the capital of France.\nCached + geography fact 20: Paris is the capital of France.\nCached geography fact 21: + Paris is the capital of France.\nCached geography fact 22: Paris is the capital + of France.\nCached geography fact 23: Paris is the capital of France.\nCached + geography fact 24: Paris is the capital of France.\nCached geography fact 25: + Paris is the capital of France.\nCached geography fact 26: Paris is the capital + of France.\nCached geography fact 27: Paris is the capital of France.\nCached + geography fact 28: Paris is the capital of France.\nCached geography fact 29: + Paris is the capital of France.\nCached geography fact 30: Paris is the capital + of France.\nCached geography fact 31: Paris is the capital of France.\nCached + geography fact 32: Paris is the capital of France.\nCached geography fact 33: + Paris is the capital of France.\nCached geography fact 34: Paris is the capital + of France.\nCached geography fact 35: Paris is the capital of France.\nCached + geography fact 36: Paris is the capital of France.\nCached geography fact 37: + Paris is the capital of France.\nCached geography fact 38: Paris is the capital + of France.\nCached geography fact 39: Paris is the capital of France.\nCached + geography fact 40: Paris is the capital of France.\nCached geography fact 41: + Paris is the capital of France.\nCached geography fact 42: Paris is the capital + of France.\nCached geography fact 43: Paris is the capital of France.\nCached + geography fact 44: Paris is the capital of France.\nCached geography fact 45: + Paris is the capital of France.\nCached geography fact 46: Paris is the capital + of France.\nCached geography fact 47: Paris is the capital of France.\nCached + geography fact 48: Paris is the capital of France.\nCached geography fact 49: + Paris is the capital of France.\nCached geography fact 50: Paris is the capital + of France.\nCached geography fact 51: Paris is the capital of France.\nCached + geography fact 52: Paris is the capital of France.\nCached geography fact 53: + Paris is the capital of France.\nCached geography fact 54: Paris is the capital + of France.\nCached geography fact 55: Paris is the capital of France.\nCached + geography fact 56: Paris is the capital of France.\nCached geography fact 57: + Paris is the capital of France.\nCached geography fact 58: Paris is the capital + of France.\nCached geography fact 59: Paris is the capital of France.\nCached + geography fact 60: Paris is the capital of France.\nCached geography fact 61: + Paris is the capital of France.\nCached geography fact 62: Paris is the capital + of France.\nCached geography fact 63: Paris is the capital of France.\nCached + geography fact 64: Paris is the capital of France.\nCached geography fact 65: + Paris is the capital of France.\nCached geography fact 66: Paris is the capital + of France.\nCached geography fact 67: Paris is the capital of France.\nCached + geography fact 68: Paris is the capital of France.\nCached geography fact 69: + Paris is the capital of France.\nCached geography fact 70: Paris is the capital + of France.\nCached geography fact 71: Paris is the capital of France.\nCached + geography fact 72: Paris is the capital of France.\nCached geography fact 73: + Paris is the capital of France.\nCached geography fact 74: Paris is the capital + of France.\nCached geography fact 75: Paris is the capital of France.\nCached + geography fact 76: Paris is the capital of France.\nCached geography fact 77: + Paris is the capital of France.\nCached geography fact 78: Paris is the capital + of France.\nCached geography fact 79: Paris is the capital of France.\nCached + geography fact 80: Paris is the capital of France.\nCached geography fact 81: + Paris is the capital of France.\nCached geography fact 82: Paris is the capital + of France.\nCached geography fact 83: Paris is the capital of France.\nCached + geography fact 84: Paris is the capital of France.\nCached geography fact 85: + Paris is the capital of France.\nCached geography fact 86: Paris is the capital + of France.\nCached geography fact 87: Paris is the capital of France.\nCached + geography fact 88: Paris is the capital of France.\nCached geography fact 89: + Paris is the capital of France.\nCached geography fact 90: Paris is the capital + of France.\nCached geography fact 91: Paris is the capital of France.\nCached + geography fact 92: Paris is the capital of France.\nCached geography fact 93: + Paris is the capital of France.\nCached geography fact 94: Paris is the capital + of France.\nCached geography fact 95: Paris is the capital of France.\nCached + geography fact 96: Paris is the capital of France.\nCached geography fact 97: + Paris is the capital of France.\nCached geography fact 98: Paris is the capital + of France.\nCached geography fact 99: Paris is the capital of France.\nCached + geography fact 100: Paris is the capital of France.\nCached geography fact 101: + Paris is the capital of France.\nCached geography fact 102: Paris is the capital + of France.\nCached geography fact 103: Paris is the capital of France.\nCached + geography fact 104: Paris is the capital of France.\nCached geography fact 105: + Paris is the capital of France.\nCached geography fact 106: Paris is the capital + of France.\nCached geography fact 107: Paris is the capital of France.\nCached + geography fact 108: Paris is the capital of France.\nCached geography fact 109: + Paris is the capital of France.\nCached geography fact 110: Paris is the capital + of France.\nCached geography fact 111: Paris is the capital of France.\nCached + geography fact 112: Paris is the capital of France.\nCached geography fact 113: + Paris is the capital of France.\nCached geography fact 114: Paris is the capital + of France.\nCached geography fact 115: Paris is the capital of France.\nCached + geography fact 116: Paris is the capital of France.\nCached geography fact 117: + Paris is the capital of France.\nCached geography fact 118: Paris is the capital + of France.\nCached geography fact 119: Paris is the capital of France.\nCached + geography fact 120: Paris is the capital of France.\nCached geography fact 121: + Paris is the capital of France.\nCached geography fact 122: Paris is the capital + of France.\nCached geography fact 123: Paris is the capital of France.\nCached + geography fact 124: Paris is the capital of France.\nCached geography fact 125: + Paris is the capital of France.\nCached geography fact 126: Paris is the capital + of France.\nCached geography fact 127: Paris is the capital of France.\nCached + geography fact 128: Paris is the capital of France.\nCached geography fact 129: + Paris is the capital of France.\nCached geography fact 130: Paris is the capital + of France.\nCached geography fact 131: Paris is the capital of France.\nCached + geography fact 132: Paris is the capital of France.\nCached geography fact 133: + Paris is the capital of France.\nCached geography fact 134: Paris is the capital + of France.\nCached geography fact 135: Paris is the capital of France.\nCached + geography fact 136: Paris is the capital of France.\nCached geography fact 137: + Paris is the capital of France.\nCached geography fact 138: Paris is the capital + of France.\nCached geography fact 139: Paris is the capital of France.\nCached + geography fact 140: Paris is the capital of France.\nCached geography fact 141: + Paris is the capital of France.\nCached geography fact 142: Paris is the capital + of France.\nCached geography fact 143: Paris is the capital of France.\nCached + geography fact 144: Paris is the capital of France.\nCached geography fact 145: + Paris is the capital of France.\nCached geography fact 146: Paris is the capital + of France.\nCached geography fact 147: Paris is the capital of France.\nCached + geography fact 148: Paris is the capital of France.\nCached geography fact 149: + Paris is the capital of France.\nCached geography fact 150: Paris is the capital + of France.\nCached geography fact 151: Paris is the capital of France.\nCached + geography fact 152: Paris is the capital of France.\nCached geography fact 153: + Paris is the capital of France.\nCached geography fact 154: Paris is the capital + of France.\nCached geography fact 155: Paris is the capital of France.\nCached + geography fact 156: Paris is the capital of France.\nCached geography fact 157: + Paris is the capital of France.\nCached geography fact 158: Paris is the capital + of France.\nCached geography fact 159: Paris is the capital of France.\nCached + geography fact 160: Paris is the capital of France.\nCached geography fact 161: + Paris is the capital of France.\nCached geography fact 162: Paris is the capital + of France.\nCached geography fact 163: Paris is the capital of France.\nCached + geography fact 164: Paris is the capital of France.\nCached geography fact 165: + Paris is the capital of France.\nCached geography fact 166: Paris is the capital + of France.\nCached geography fact 167: Paris is the capital of France.\nCached + geography fact 168: Paris is the capital of France.\nCached geography fact 169: + Paris is the capital of France.\nCached geography fact 170: Paris is the capital + of France.\nCached geography fact 171: Paris is the capital of France.\nCached + geography fact 172: Paris is the capital of France.\nCached geography fact 173: + Paris is the capital of France.\nCached geography fact 174: Paris is the capital + of France.\nCached geography fact 175: Paris is the capital of France.\nCached + geography fact 176: Paris is the capital of France.\nCached geography fact 177: + Paris is the capital of France.\nCached geography fact 178: Paris is the capital + of France.\nCached geography fact 179: Paris is the capital of France.\nCached + geography fact 180: Paris is the capital of France.\nCached geography fact 181: + Paris is the capital of France.\nCached geography fact 182: Paris is the capital + of France.\nCached geography fact 183: Paris is the capital of France.\nCached + geography fact 184: Paris is the capital of France.\nCached geography fact 185: + Paris is the capital of France.\nCached geography fact 186: Paris is the capital + of France.\nCached geography fact 187: Paris is the capital of France.\nCached + geography fact 188: Paris is the capital of France.\nCached geography fact 189: + Paris is the capital of France.\nCached geography fact 190: Paris is the capital + of France.\nCached geography fact 191: Paris is the capital of France.\nCached + geography fact 192: Paris is the capital of France.\nCached geography fact 193: + Paris is the capital of France.\nCached geography fact 194: Paris is the capital + of France.\nCached geography fact 195: Paris is the capital of France.\nCached + geography fact 196: Paris is the capital of France.\nCached geography fact 197: + Paris is the capital of France.\nCached geography fact 198: Paris is the capital + of France.\nCached geography fact 199: Paris is the capital of France.\nCached + geography fact 200: Paris is the capital of France.\nCached geography fact 201: + Paris is the capital of France.\nCached geography fact 202: Paris is the capital + of France.\nCached geography fact 203: Paris is the capital of France.\nCached + geography fact 204: Paris is the capital of France.\nCached geography fact 205: + Paris is the capital of France.\nCached geography fact 206: Paris is the capital + of France.\nCached geography fact 207: Paris is the capital of France.\nCached + geography fact 208: Paris is the capital of France.\nCached geography fact 209: + Paris is the capital of France.\nCached geography fact 210: Paris is the capital + of France.\nCached geography fact 211: Paris is the capital of France.\nCached + geography fact 212: Paris is the capital of France.\nCached geography fact 213: + Paris is the capital of France.\nCached geography fact 214: Paris is the capital + of France.\nCached geography fact 215: Paris is the capital of France.\nCached + geography fact 216: Paris is the capital of France.\nCached geography fact 217: + Paris is the capital of France.\nCached geography fact 218: Paris is the capital + of France.\nCached geography fact 219: Paris is the capital of France.\nCached + geography fact 220: Paris is the capital of France.\nCached geography fact 221: + Paris is the capital of France.\nCached geography fact 222: Paris is the capital + of France.\nCached geography fact 223: Paris is the capital of France.\nCached + geography fact 224: Paris is the capital of France.\nCached geography fact 225: + Paris is the capital of France.\nCached geography fact 226: Paris is the capital + of France.\nCached geography fact 227: Paris is the capital of France.\nCached + geography fact 228: Paris is the capital of France.\nCached geography fact 229: + Paris is the capital of France.\nCached geography fact 230: Paris is the capital + of France.\nCached geography fact 231: Paris is the capital of France.\nCached + geography fact 232: Paris is the capital of France.\nCached geography fact 233: + Paris is the capital of France.\nCached geography fact 234: Paris is the capital + of France.\nCached geography fact 235: Paris is the capital of France.\nCached + geography fact 236: Paris is the capital of France.\nCached geography fact 237: + Paris is the capital of France.\nCached geography fact 238: Paris is the capital + of France.\nCached geography fact 239: Paris is the capital of France.\nCached + geography fact 240: Paris is the capital of France.\nCached geography fact 241: + Paris is the capital of France.\nCached geography fact 242: Paris is the capital + of France.\nCached geography fact 243: Paris is the capital of France.\nCached + geography fact 244: Paris is the capital of France.\nCached geography fact 245: + Paris is the capital of France.\nCached geography fact 246: Paris is the capital + of France.\nCached geography fact 247: Paris is the capital of France.\nCached + geography fact 248: Paris is the capital of France.\nCached geography fact 249: + Paris is the capital of France.\nCached geography fact 250: Paris is the capital + of France.\nCached geography fact 251: Paris is the capital of France.\nCached + geography fact 252: Paris is the capital of France.\nCached geography fact 253: + Paris is the capital of France.\nCached geography fact 254: Paris is the capital + of France.\nCached geography fact 255: Paris is the capital of France.\nCached + geography fact 256: Paris is the capital of France.\nCached geography fact 257: + Paris is the capital of France.\nCached geography fact 258: Paris is the capital + of France.\nCached geography fact 259: Paris is the capital of France.\nCached + geography fact 260: Paris is the capital of France.\nCached geography fact 261: + Paris is the capital of France.\nCached geography fact 262: Paris is the capital + of France.\nCached geography fact 263: Paris is the capital of France.\nCached + geography fact 264: Paris is the capital of France.\nCached geography fact 265: + Paris is the capital of France.\nCached geography fact 266: Paris is the capital + of France.\nCached geography fact 267: Paris is the capital of France.\nCached + geography fact 268: Paris is the capital of France.\nCached geography fact 269: + Paris is the capital of France.\nCached geography fact 270: Paris is the capital + of France.\nCached geography fact 271: Paris is the capital of France.\nCached + geography fact 272: Paris is the capital of France.\nCached geography fact 273: + Paris is the capital of France.\nCached geography fact 274: Paris is the capital + of France.\nCached geography fact 275: Paris is the capital of France.\nCached + geography fact 276: Paris is the capital of France.\nCached geography fact 277: + Paris is the capital of France.\nCached geography fact 278: Paris is the capital + of France.\nCached geography fact 279: Paris is the capital of France.\nCached + geography fact 280: Paris is the capital of France.\nCached geography fact 281: + Paris is the capital of France.\nCached geography fact 282: Paris is the capital + of France.\nCached geography fact 283: Paris is the capital of France.\nCached + geography fact 284: Paris is the capital of France.\nCached geography fact 285: + Paris is the capital of France.\nCached geography fact 286: Paris is the capital + of France.\nCached geography fact 287: Paris is the capital of France.\nCached + geography fact 288: Paris is the capital of France.\nCached geography fact 289: + Paris is the capital of France.\nCached geography fact 290: Paris is the capital + of France.\nCached geography fact 291: Paris is the capital of France.\nCached + geography fact 292: Paris is the capital of France.\nCached geography fact 293: + Paris is the capital of France.\nCached geography fact 294: Paris is the capital + of France.\nCached geography fact 295: Paris is the capital of France.\nCached + geography fact 296: Paris is the capital of France.\nCached geography fact 297: + Paris is the capital of France.\nCached geography fact 298: Paris is the capital + of France.\nCached geography fact 299: Paris is the capital of France.","cache_control":{"type":"ephemeral","ttl":"5m"}}],"temperature":0}' headers: Accept: - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '18114' Content-Type: - application/json Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 + X-Stainless-Arch: + - arm64 + X-Stainless-Async: + - 'false' + X-Stainless-Lang: + - python + X-Stainless-OS: + - MacOS + X-Stainless-Package-Version: + - 0.100.0 + X-Stainless-Runtime: + - CPython + X-Stainless-Runtime-Version: + - 3.12.12 anthropic-version: - '2023-06-01' + x-stainless-read-timeout: + - '600' + x-stainless-retry-count: + - '0' + x-stainless-timeout: + - '600' method: POST uri: https://api.anthropic.com/v1/messages response: body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_prompt_cache_5m","type":"message","role":"assistant","content":[{"type":"text","text":"Paris is the capital of France."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":12,"cache_creation_input_tokens":1248,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":1248,"ephemeral_1h_input_tokens":0},"output_tokens":8,"service_tier":"standard","inference_geo":"not_available"}}' + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01GucvcJ6arABax9bT34e6Ft","type":"message","role":"assistant","content":[{"type":"text","text":"The + capital of France is **Paris**.\n\nParis is located in the north-"}],"stop_reason":"max_tokens","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":13,"cache_creation_input_tokens":4500,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":4500,"ephemeral_1h_input_tokens":0},"output_tokens":16,"service_tier":"standard","inference_geo":"not_available"}}' headers: + CF-RAY: + - 9fa1f8ddcc6fab8a-YYZ Connection: - keep-alive + Content-Security-Policy: + - default-src 'none'; frame-ancestors 'none' Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:19:42 GMT + - Mon, 11 May 2026 14:46:16 GMT Server: - cloudflare + Transfer-Encoding: + - chunked + X-Robots-Tag: + - none + anthropic-organization-id: + - 27796668-7351-40ac-acc4-024aee8995a5 + anthropic-ratelimit-input-tokens-limit: + - '4000000' + anthropic-ratelimit-input-tokens-remaining: + - '3998000' + anthropic-ratelimit-input-tokens-reset: + - '2026-05-11T14:46:16Z' + anthropic-ratelimit-output-tokens-limit: + - '800000' + anthropic-ratelimit-output-tokens-remaining: + - '800000' + anthropic-ratelimit-output-tokens-reset: + - '2026-05-11T14:46:16Z' + anthropic-ratelimit-requests-limit: + - '20000' + anthropic-ratelimit-requests-remaining: + - '19999' + anthropic-ratelimit-requests-reset: + - '2026-05-11T14:46:16Z' + anthropic-ratelimit-tokens-limit: + - '4800000' + anthropic-ratelimit-tokens-remaining: + - '4798000' + anthropic-ratelimit-tokens-reset: + - '2026-05-11T14:46:16Z' + cf-cache-status: + - DYNAMIC + content-length: + - '534' + request-id: + - req_011Cavxo1zwPSVpGCTqELUXq + set-cookie: + - _cfuvid=k0aTSjg029hTkCLZE8gEyiD5l8h3gvxCWqLNbeQ2rwc-1778510775.9652808-1.0.1.1-H61DhfVx2bFEoa8uE5j_IrJ5Wpz3YJK92Ln0aaJhHZE; + HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-c0f05bd39aa2b2fc8f4ba6f858cc97e6-7c4e0fdc951f25bf-01 + vary: + - Accept-Encoding + x-envoy-upstream-service-time: + - '686' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_stream_true.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_stream_true.yaml index 3d9ad1b1..810f08d0 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_stream_true.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_stream_true.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -44,13 +44,12 @@ interactions: body: string: 'event: message_start - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_013hhK4VTGCgi9QhBjrhtUKY","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":8,"service_tier":"standard","inference_geo":"not_available"}} } + data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01EPMxCnF93HQgzT2uEWNyKP","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":8,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} - } + data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } event: ping @@ -61,34 +60,34 @@ interactions: event: content_block_delta data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"3 - * 4 ="} } + * 4 ="} } event: content_block_delta data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" - 12"} } + 12"} } event: content_block_stop - data: {"type":"content_block_stop","index":0 } + data: {"type":"content_block_stop","index":0 } event: message_delta - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":13} } + data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":13} } event: message_stop - data: {"type":"message_stop" } + data: {"type":"message_stop" } ' headers: CF-RAY: - - 9f166e307dc98ea1-YYZ + - 9fa1f8f43f5fab08-YYZ Cache-Control: - no-cache Connection: @@ -98,7 +97,7 @@ interactions: Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 24 Apr 2026 16:19:35 GMT + - Mon, 11 May 2026 14:46:20 GMT Server: - cloudflare Transfer-Encoding: @@ -112,378 +111,42 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '4000000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:19:35Z' + - '2026-05-11T14:46:19Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:19:35Z' + - '2026-05-11T14:46:19Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T16:19:35Z' + - '2026-05-11T14:46:19Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4800000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:19:35Z' + - '2026-05-11T14:46:19Z' cf-cache-status: - DYNAMIC content-length: - - '1288' + - '1280' request-id: - - req_011CaNuABiLCDVAwUCVJcKpx - server-timing: - - x-originResponse;dur=659 + - req_011CavxoHNuDj9U61H3WqMjx set-cookie: - - _cfuvid=ik2.DU9UfNvZ0VMG4meNky10Y9gt4eiOVD99k29m5ME-1777047575.1136854-1.0.1.1-pwD2K4CzVBKONRu5pq8SvT7H7_DdI_n8JVFZWA_M8vA; + - _cfuvid=2AuYYrqthZ_5uPo4Bq6g.5jMk.9JkATLP1QXL0VarqU-1778510779.5537417-1.0.1.1-3X7gFlFrak_5lZLCCPcmRVpw1cVJs6N6wigqOPSPq_c; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-06a46f29300dadee6904563423de932b-0e1f61636ddca18d-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '657' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"What is 3*4?"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '122' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: "event: message_start\ndata: {\"type\":\"message_start\",\"message\":{\"model\":\"claude-haiku-4-5-20251001\",\"id\":\"msg_01Ya7BvWMLSsWd4Ho7upK3ww\",\"type\":\"message\",\"role\":\"assistant\",\"content\":[],\"stop_reason\":null,\"stop_sequence\":null,\"stop_details\":null,\"usage\":{\"input_tokens\":14,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"output_tokens\":8,\"service_tier\":\"standard\",\"inference_geo\":\"not_available\"}} - \ }\n\nevent: content_block_start\ndata: {\"type\":\"content_block_start\",\"index\":0,\"content_block\":{\"type\":\"text\",\"text\":\"\"} - \ }\n\nevent: ping\ndata: {\"type\": \"ping\"}\n\nevent: content_block_delta\ndata: - {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"3 - \xD7 4 =\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" - 12\"} }\n\nevent: content_block_stop\ndata: {\"type\":\"content_block_stop\",\"index\":0 - \ }\n\nevent: message_delta\ndata: {\"type\":\"message_delta\",\"delta\":{\"stop_reason\":\"end_turn\",\"stop_sequence\":null,\"stop_details\":null},\"usage\":{\"input_tokens\":14,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"output_tokens\":13} - \ }\n\nevent: message_stop\ndata: {\"type\":\"message_stop\" }\n\n" - headers: - CF-RAY: - - 9f16a6babc4cabae-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:58:11 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:11Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:11Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:11Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:11Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1304' - request-id: - - req_011CaNx6u6U1jzmFjYdjnGcu - server-timing: - - x-originResponse;dur=365 - set-cookie: - - _cfuvid=8syu76lD6Swp6VU00Oe112G3LNpF56Urv.Au3Ll4ZIc-1777049890.9981732-1.0.1.1-GDkaUhs59C46OmbG5tsjvEtVuA5WE5DYu3.e5rGsETs; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '363' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"What is 3*4?"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '122' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: "event: message_start\ndata: {\"type\":\"message_start\",\"message\":{\"model\":\"claude-haiku-4-5-20251001\",\"id\":\"msg_011rWVjinF9SfVAQTtgNYsZS\",\"type\":\"message\",\"role\":\"assistant\",\"content\":[],\"stop_reason\":null,\"stop_sequence\":null,\"stop_details\":null,\"usage\":{\"input_tokens\":14,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"output_tokens\":4,\"service_tier\":\"standard\",\"inference_geo\":\"not_available\"}} - \ }\n\nevent: content_block_start\ndata: {\"type\":\"content_block_start\",\"index\":0,\"content_block\":{\"type\":\"text\",\"text\":\"\"} - \ }\n\nevent: ping\ndata: {\"type\": \"ping\"}\n\nevent: content_block_delta\ndata: - {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"3 - \xD7\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" - 4 = 12\"} }\n\nevent: content_block_stop\ndata: {\"type\":\"content_block_stop\",\"index\":0 - \ }\n\nevent: message_delta\ndata: {\"type\":\"message_delta\",\"delta\":{\"stop_reason\":\"end_turn\",\"stop_sequence\":null,\"stop_details\":null},\"usage\":{\"input_tokens\":14,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"output_tokens\":13} - \ }\n\nevent: message_stop\ndata: {\"type\":\"message_stop\" }\n\n" - headers: - CF-RAY: - - 9f16a801adba8bf1-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:59:03 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:03Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:03Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:03Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:03Z' - cf-cache-status: - - DYNAMIC - request-id: - - req_011CaNxAknmMARnC5yQwMoMU - set-cookie: - - _cfuvid=MVw2Pc_3v5H7NxuG5nKDL3YHkKYF.7_Y8OOQmCWM5l0-1777049943.3014128-1.0.1.1-UU4ABQc0mf.E84VsV0iuWJlKUUskcoIdWLqZr1WaBdI; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-envoy-upstream-service-time: - - '373' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"What is 3*4?"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '122' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: "event: message_start\ndata: {\"type\":\"message_start\",\"message\":{\"model\":\"claude-haiku-4-5-20251001\",\"id\":\"msg_01LrAn1upQjxDb6LLiuFrv2c\",\"type\":\"message\",\"role\":\"assistant\",\"content\":[],\"stop_reason\":null,\"stop_sequence\":null,\"stop_details\":null,\"usage\":{\"input_tokens\":14,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"output_tokens\":8,\"service_tier\":\"standard\",\"inference_geo\":\"not_available\"}} - \ }\n\nevent: content_block_start\ndata: {\"type\":\"content_block_start\",\"index\":0,\"content_block\":{\"type\":\"text\",\"text\":\"\"} - \ }\n\nevent: ping\ndata: {\"type\": \"ping\"}\n\nevent: content_block_delta\ndata: - {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"3 - \xD7 4 =\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" - 12\"} }\n\nevent: content_block_stop\ndata: {\"type\":\"content_block_stop\",\"index\":0 - \ }\n\nevent: message_delta\ndata: {\"type\":\"message_delta\",\"delta\":{\"stop_reason\":\"end_turn\",\"stop_sequence\":null,\"stop_details\":null},\"usage\":{\"input_tokens\":14,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"output_tokens\":13} - \ }\n\nevent: message_stop\ndata: {\"type\":\"message_stop\" }\n\n" - headers: - CF-RAY: - - 9f16a9906d2d592d-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 17:00:07 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:07Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:07Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:07Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:07Z' - cf-cache-status: - - DYNAMIC - request-id: - - req_011CaNxFTbJYyTqrRh13vLiK - set-cookie: - - _cfuvid=MA4264Sp3Ux2yUthqyu0G5gE6NFilD4eWcytujmwygc-1777050007.1013353-1.0.1.1-iCDt2KpR1AI51OmF0CNMW2QfAckVnpEA4parVzuKuhY; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-envoy-upstream-service-time: - - '373' + - '474' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_tracks_structured_outputs_metadata.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_tracks_structured_outputs_metadata.yaml index e5504926..2bad0920 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_tracks_structured_outputs_metadata.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_tracks_structured_outputs_metadata.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -43,10 +43,10 @@ interactions: uri: https://api.anthropic.com/v1/messages response: body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01Bi1xXKzPodd9KCf7pqvQab","type":"message","role":"assistant","content":[{"type":"text","text":"{\"answer\":2,\"label\":\"ok\"}"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":183,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":12,"service_tier":"standard","inference_geo":"not_available"}}' + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01Gtwsp7gWGYusDmbmbpFD9S","type":"message","role":"assistant","content":[{"type":"text","text":"{\"answer\":2,\"label\":\"ok\"}"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":183,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":12,"service_tier":"standard","inference_geo":"not_available"}}' headers: CF-RAY: - - 9f166e368fa1b1a2-YYZ + - 9fa1f8f8df478af6-YYZ Connection: - keep-alive Content-Security-Policy: @@ -54,7 +54,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:19:37 GMT + - Mon, 11 May 2026 14:46:22 GMT Server: - cloudflare Transfer-Encoding: @@ -68,358 +68,42 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '4000000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:19:36Z' + - '2026-05-11T14:46:22Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:19:37Z' + - '2026-05-11T14:46:22Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T16:19:36Z' + - '2026-05-11T14:46:20Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4800000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:19:36Z' + - '2026-05-11T14:46:22Z' cf-cache-status: - DYNAMIC content-length: - '489' request-id: - - req_011CaNuAFx57yMEMWzkk7TRQ + - req_011CavxoLPUXYSmSbPNcmCo4 set-cookie: - - _cfuvid=hzLYDDm9fww.lO90vQHaRB3Jw4abkGhmTy9CTc35Qo8-1777047576.0897496-1.0.1.1-P2CoGTbeu4n5DfUfwoB9_7o2jTCXYHeSU1QeP.GYVPo; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-envoy-upstream-service-time: - - '974' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":128,"messages":[{"role":"user","content":"Return a JSON object - with answer=2 and label=\"ok\"."}],"model":"claude-haiku-4-5","output_config":{"format":{"type":"json_schema","schema":{"type":"object","properties":{"answer":{"type":"integer"},"label":{"type":"string"}},"required":["answer","label"],"additionalProperties":false}}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '344' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01UxZERnpWaa9rQy2dsMCb84","type":"message","role":"assistant","content":[{"type":"text","text":"{\"answer\":2,\"label\":\"ok\"}"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":183,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":12,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a6be3c83964a-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:58:12 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:12Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:12Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:11Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:12Z' - cf-cache-status: - - DYNAMIC - content-length: - - '489' - request-id: - - req_011CaNx6waYYkUVggY7u5G9W - set-cookie: - - _cfuvid=BCWAWfZbVEhKkhyxIJX0gbYopI.q2UGNixccr0URuLc-1777049891.5604577-1.0.1.1-5dDWiGb41UD_Tgvgj2tluXOrPAYXZxmNMfJ3xtfWknM; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-envoy-upstream-service-time: - - '1012' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":128,"messages":[{"role":"user","content":"Return a JSON object - with answer=2 and label=\"ok\"."}],"model":"claude-haiku-4-5","output_config":{"format":{"type":"json_schema","schema":{"type":"object","properties":{"answer":{"type":"integer"},"label":{"type":"string"}},"required":["answer","label"],"additionalProperties":false}}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '344' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_015Eh8mwi5qqP1CpiEfARKQn","type":"message","role":"assistant","content":[{"type":"text","text":"{\"answer\":2,\"label\":\"ok\"}"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":183,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":12,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a8064edd0c69-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:04 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:04Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:04Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:04Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:04Z' - cf-cache-status: - - DYNAMIC - content-length: - - '489' - request-id: - - req_011CaNxAow2caAayAGZgfE89 - server-timing: - - x-originResponse;dur=797 - set-cookie: - - _cfuvid=Kqv2tuzft_kf5O0oHSYMLo.JBBhZE91FA20.BqLV5Ac-1777049944.04458-1.0.1.1-fVCSL2XVo5Tt5D5a1ZRSBkn6JezDAA0.f5uSBrA16tY; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '795' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":128,"messages":[{"role":"user","content":"Return a JSON object - with answer=2 and label=\"ok\"."}],"model":"claude-haiku-4-5","output_config":{"format":{"type":"json_schema","schema":{"type":"object","properties":{"answer":{"type":"integer"},"label":{"type":"string"}},"required":["answer","label"],"additionalProperties":false}}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '344' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_018VfFFhrDpaXngqfdmLwuT7","type":"message","role":"assistant","content":[{"type":"text","text":"{\"answer\":2,\"label\":\"ok\"}"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":183,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":12,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a99558d8fcd9-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 17:00:08 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:08Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:08Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:07Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:08Z' - cf-cache-status: - - DYNAMIC - content-length: - - '489' - request-id: - - req_011CaNxFWtz2vywLsTLY4Nqx - server-timing: - - x-originResponse;dur=1059 - set-cookie: - - _cfuvid=GtJ3pUUPbexbWoH7jsTCO_y0g0K1qZTe9mbJXYd7qEQ-1777050007.899779-1.0.1.1-LiOWPxGpjp3wV9jxEefXWqFXMcGNL8Plpu.Uk4jBBOM; + - _cfuvid=GHo.lstD9yDbvNqWe1meZ2bxLE4qE4KiUQMhpz9LATc-1778510780.2980843-1.0.1.1-MdYRA8euYxYpsNFvxhJZ5BBVeidQ5yXuLqVriCnCk1w; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-ec8e949b86c9266d0f7b63c5bac9a8e4-6eb424c7a0d6af38-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '1057' + - '2278' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_with_document_attachment_input.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_with_document_attachment_input.yaml index 4b62f616..5e6d674c 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_with_document_attachment_input.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_with_document_attachment_input.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -43,12 +43,12 @@ interactions: uri: https://api.anthropic.com/v1/messages response: body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01C28XxLK3GNpvQwZa4WBHoB","type":"message","role":"assistant","content":[{"type":"text","text":"This + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_018RLgmgjUZ4UkjQHWn7Ya59","type":"message","role":"assistant","content":[{"type":"text","text":"This is a PDF file (Portable Document Format). The page appears to be blank or contains no visible text content."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1592,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":27,"service_tier":"standard","inference_geo":"not_available"}}' headers: CF-RAY: - - 9f166e2a2960ebb4-YYZ + - 9fa1f8ed2b203700-YYZ Connection: - keep-alive Content-Security-Policy: @@ -56,7 +56,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:19:35 GMT + - Mon, 11 May 2026 14:46:19 GMT Server: - cloudflare Transfer-Encoding: @@ -70,372 +70,42 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '3999000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:19:34Z' + - '2026-05-11T14:46:19Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:19:34Z' + - '2026-05-11T14:46:19Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T16:19:34Z' + - '2026-05-11T14:46:18Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4799000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:19:34Z' + - '2026-05-11T14:46:19Z' cf-cache-status: - DYNAMIC content-length: - '571' request-id: - - req_011CaNuA7PdMHLd9eaZFUrRv - server-timing: - - x-originResponse;dur=881 + - req_011CavxoCR19fTAZpqRsXLuy set-cookie: - - _cfuvid=lznT0Ipun5huVaPJ9W14eiLn6YzPPGWsI95ujOApoSU-1777047574.1061983-1.0.1.1-VECHr6SQmFgg1qo9cFdMfJK77ZG1JBY_AZAV8RUlDhU; + - _cfuvid=Ay2c0gW1pJYlt7bjK2eZO.sx3y2orHfvj.E0wezu2ZQ-1778510778.426754-1.0.1.1-SsdzKA_kTgLVRHe0KOHaFCALxttXwGtDzGVAhsPUH4I; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-fa94893686c6ed742cc9f7aa32487fb7-3f1a4d97e8f34443-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '878' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":100,"messages":[{"role":"user","content":[{"type":"text","text":"What - kind of file is this? Keep the answer short."},{"type":"document","source":{"type":"base64","media_type":"application/pdf","data":"JVBERi0xLjAKMSAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFI+PmVuZG9iagoyIDAgb2JqCjw8L1R5cGUvUGFnZXMvS2lkc1szIDAgUl0vQ291bnQgMT4+ZW5kb2JqCjMgMCBvYmoKPDwvVHlwZS9QYWdlL01lZGlhQm94WzAgMCA2MTIgNzkyXT4+ZW5kb2JqCnhyZWYKMCA0CjAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDAwMDAxMCAwMDAwMCBuDQowMDAwMDAwMDUzIDAwMDAwIG4NCjAwMDAwMDAxMDIgMDAwMDAgbg0KdHJhaWxlcgo8PC9TaXplIDQvUm9vdCAxIDAgUj4+CnN0YXJ0eHJlZgoxNDkKJUVPRg=="}}]}],"model":"claude-haiku-4-5-20251001"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '650' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01Sc3fiDx415ZXxSKKWZv7Zo","type":"message","role":"assistant","content":[{"type":"text","text":"This - is a PDF file (Portable Document Format). The page appears to be blank or - contains no visible text content."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1592,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":27,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a6b419c8ac26-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:58:10 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '3999000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:10Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:10Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:10Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4799000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:10Z' - cf-cache-status: - - DYNAMIC - content-length: - - '571' - request-id: - - req_011CaNx6pb6wsoPZNGasUgDH - server-timing: - - x-originResponse;dur=922 - set-cookie: - - _cfuvid=iWBeLR.mPebHIRa33Hs2YQiP1MepKvqLrfgj2k_dPWA-1777049889.9435167-1.0.1.1-4goijdyn5SVLNEKYNuAGUr9Fa_yd3PDpd6asTRuQ1rk; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '920' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":100,"messages":[{"role":"user","content":[{"type":"text","text":"What - kind of file is this? Keep the answer short."},{"type":"document","source":{"type":"base64","media_type":"application/pdf","data":"JVBERi0xLjAKMSAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFI+PmVuZG9iagoyIDAgb2JqCjw8L1R5cGUvUGFnZXMvS2lkc1szIDAgUl0vQ291bnQgMT4+ZW5kb2JqCjMgMCBvYmoKPDwvVHlwZS9QYWdlL01lZGlhQm94WzAgMCA2MTIgNzkyXT4+ZW5kb2JqCnhyZWYKMCA0CjAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDAwMDAxMCAwMDAwMCBuDQowMDAwMDAwMDUzIDAwMDAwIG4NCjAwMDAwMDAxMDIgMDAwMDAgbg0KdHJhaWxlcgo8PC9TaXplIDQvUm9vdCAxIDAgUj4+CnN0YXJ0eHJlZgoxNDkKJUVPRg=="}}]}],"model":"claude-haiku-4-5-20251001"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '650' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_019whpjogx5itPwMc1dEpkVo","type":"message","role":"assistant","content":[{"type":"text","text":"This - is a PDF file (Portable Document Format). The page appears to be blank or - contains no visible text content."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1592,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":27,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a7f97848ab09-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:02 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '3999000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:02Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:02Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:02Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4799000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:02Z' - cf-cache-status: - - DYNAMIC - content-length: - - '571' - request-id: - - req_011CaNxAfAvkyGmh5sUzs59o - server-timing: - - x-originResponse;dur=937 - set-cookie: - - _cfuvid=NdZgi6H0kVVZeUA_5k3nBv39kRc7v8MTTAHaYj528oM-1777049941.994999-1.0.1.1-hYGFRfkkCAEoAUaYhN7THdtbvAOTasrjDfL6bq9oO3E; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '936' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":100,"messages":[{"role":"user","content":[{"type":"text","text":"What - kind of file is this? Keep the answer short."},{"type":"document","source":{"type":"base64","media_type":"application/pdf","data":"JVBERi0xLjAKMSAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFI+PmVuZG9iagoyIDAgb2JqCjw8L1R5cGUvUGFnZXMvS2lkc1szIDAgUl0vQ291bnQgMT4+ZW5kb2JqCjMgMCBvYmoKPDwvVHlwZS9QYWdlL01lZGlhQm94WzAgMCA2MTIgNzkyXT4+ZW5kb2JqCnhyZWYKMCA0CjAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDAwMDAxMCAwMDAwMCBuDQowMDAwMDAwMDUzIDAwMDAwIG4NCjAwMDAwMDAxMDIgMDAwMDAgbg0KdHJhaWxlcgo8PC9TaXplIDQvUm9vdCAxIDAgUj4+CnN0YXJ0eHJlZgoxNDkKJUVPRg=="}}]}],"model":"claude-haiku-4-5-20251001"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '650' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01Ugs44btnq3kziPzxArtH3s","type":"message","role":"assistant","content":[{"type":"text","text":"This - is a PDF file (Portable Document Format). The page appears to be blank or - contains no visible text content."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1592,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":27,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a9822fe8a392-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 17:00:06 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '3999000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:06Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:06Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:04Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4799000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:06Z' - cf-cache-status: - - DYNAMIC - content-length: - - '571' - request-id: - - req_011CaNxFHmhpJRgLWViQmg2P - server-timing: - - x-originResponse;dur=2115 - set-cookie: - - _cfuvid=DPYVVonnzk7QubIoT0v0v7yWK7WlvLyCq1CDNyLza1E-1777050004.829171-1.0.1.1-YCGOdcRcDYAki_JHfEilDa9mM0A2grDoRGVrfgzcfks; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '2112' + - '939' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_with_image_attachment_input.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_with_image_attachment_input.yaml index 6bad4510..5d98cd69 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_with_image_attachment_input.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_create_with_image_attachment_input.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -43,10 +43,10 @@ interactions: uri: https://api.anthropic.com/v1/messages response: body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01D2dVQjUcBD4wCESsPMDZyF","type":"message","role":"assistant","content":[{"type":"text","text":"Red"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":23,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":4,"service_tier":"standard","inference_geo":"not_available"}}' + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_0187Nuoc7GcVnZRffE9niEH6","type":"message","role":"assistant","content":[{"type":"text","text":"Red"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":23,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":4,"service_tier":"standard","inference_geo":"not_available"}}' headers: CF-RAY: - - 9f166e2519d23896-YYZ + - 9fa1f8e81b7adde5-YYZ Connection: - keep-alive Content-Security-Policy: @@ -54,7 +54,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:19:34 GMT + - Mon, 11 May 2026 14:46:18 GMT Server: - cloudflare Transfer-Encoding: @@ -68,366 +68,42 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '4000000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:19:33Z' + - '2026-05-11T14:46:18Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:19:33Z' + - '2026-05-11T14:46:18Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T16:19:33Z' + - '2026-05-11T14:46:17Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4800000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:19:33Z' + - '2026-05-11T14:46:18Z' cf-cache-status: - DYNAMIC content-length: - '459' request-id: - - req_011CaNuA3wWv6vihppEjvHy2 - server-timing: - - x-originResponse;dur=674 + - req_011Cavxo8zNRY7j9cHSGq1oH set-cookie: - - _cfuvid=ch2wbVLUawaZxV_IdcNtsr7yB0.YBgP8rsYgjiR6z60-1777047573.2997098-1.0.1.1-J_AdXODLdbDMex.uGXFuy8XURmPKdptEQCa5rTRgnTA; + - _cfuvid=4o1mzJhOGUXc1XYEjnf_DC2z3eRGy8aUhTVoIViBiFA-1778510777.6147692-1.0.1.1-QzJN8NwrNl_88j2PtPNDGdSjN9qa5EwtodbWDiYl23k; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-e8dbdff4eca182d05453936e4bb841bf-2f5c26b1e0a5da41-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '672' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":100,"messages":[{"role":"user","content":[{"type":"text","text":"Respond - with one word: what color is this image?"},{"type":"image","source":{"type":"base64","media_type":"image/png","data":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg=="}}]}],"model":"claude-haiku-4-5-20251001"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '344' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01LQq4TYPCoYqKnpgQmVAuX3","type":"message","role":"assistant","content":[{"type":"text","text":"Red"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":23,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":4,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a6afed0bac51-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:58:09 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:09Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:09Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:09Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:09Z' - cf-cache-status: - - DYNAMIC - content-length: - - '459' - request-id: - - req_011CaNx6mgjPE3ozL9yKRMAw - server-timing: - - x-originResponse;dur=525 - set-cookie: - - _cfuvid=XFiIrbQiWcZV49vqDOJAgURUUgYar8Oi38zmGNERLKc-1777049889.2626994-1.0.1.1-mV65RbqzTMuTTPvGhcjlFndn2YAQYchu1ChQEe7jZ4Q; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '523' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":100,"messages":[{"role":"user","content":[{"type":"text","text":"Respond - with one word: what color is this image?"},{"type":"image","source":{"type":"base64","media_type":"image/png","data":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg=="}}]}],"model":"claude-haiku-4-5-20251001"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '344' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01TgERaJgyHr4VbqgcSg4zMu","type":"message","role":"assistant","content":[{"type":"text","text":"Red"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":23,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":4,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a7ee5fb85163-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:01 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:01Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:01Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:00Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:01Z' - cf-cache-status: - - DYNAMIC - content-length: - - '459' - request-id: - - req_011CaNxAXXo14TJowr4QzbHH - server-timing: - - x-originResponse;dur=1548 - set-cookie: - - _cfuvid=LgaQk6mn3TEug1wUzQfC1tXfbICtWZe4J18tClcE3Nk-1777049940.2184608-1.0.1.1-zxy3VrYh2B9oE2lghsEbNFgP4ApVXqNjYnK3KMSTO_k; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '1546' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":100,"messages":[{"role":"user","content":[{"type":"text","text":"Respond - with one word: what color is this image?"},{"type":"image","source":{"type":"base64","media_type":"image/png","data":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg=="}}]}],"model":"claude-haiku-4-5-20251001"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '344' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01TYCnAxDjQap3QcsS1s5uYG","type":"message","role":"assistant","content":[{"type":"text","text":"Red"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":23,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":4,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a97c1fd3c4c7-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 17:00:04 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:04Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:04Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:03Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:04Z' - cf-cache-status: - - DYNAMIC - content-length: - - '459' - request-id: - - req_011CaNxFDcBC8tYRrgTaoYD9 - server-timing: - - x-originResponse;dur=690 - set-cookie: - - _cfuvid=tUQIY0Jr4YB7HjhKlPGe.L.hGOCzcFRdXdhx_dZRXXE-1777050003.8519495-1.0.1.1-ya5v5OiiMCAuKVu8HujNUDm5SZMyhk8OJQXSsMaIVNA; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '687' + - '616' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_model_params_inputs.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_model_params_inputs.yaml index 283ab09b..a23789c6 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_model_params_inputs.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_model_params_inputs.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -43,10 +43,10 @@ interactions: uri: https://api.anthropic.com/v1/messages response: body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01G1gFuWk6ZpQC85mTy7PkN7","type":"message","role":"assistant","content":[{"type":"text","text":"2"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard","inference_geo":"not_available"}}' + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_017Q1SJKHYTTGEoFWJxNtDy2","type":"message","role":"assistant","content":[{"type":"text","text":"2"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard","inference_geo":"not_available"}}' headers: CF-RAY: - - 9f166e3d88bd2388-YYZ + - 9fa1f9084e56ab15-YYZ Connection: - keep-alive Content-Security-Policy: @@ -54,7 +54,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:19:38 GMT + - Mon, 11 May 2026 14:46:23 GMT Server: - cloudflare Transfer-Encoding: @@ -68,42 +68,42 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '4000000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:19:37Z' + - '2026-05-11T14:46:23Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:19:37Z' + - '2026-05-11T14:46:23Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T16:19:37Z' + - '2026-05-11T14:46:22Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4800000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:19:37Z' + - '2026-05-11T14:46:23Z' cf-cache-status: - DYNAMIC content-length: - '457' request-id: - - req_011CaNuALf6KFDmaGa7KRLBC - server-timing: - - x-originResponse;dur=839 + - req_011CavxoWxUGpG6LZH766uim set-cookie: - - _cfuvid=GbO0FS7xPY4vfHqP7_mCUg4Lei4dlHQmgHiY9Zaj8bs-1777047577.2099211-1.0.1.1-1uEttBF66Q4JjnhRYHoqCy4hh5yo5BVs2TyoGVIVrhs; + - _cfuvid=QRyhauxyuR9W07fy4XM2i1Yj_JUAxGIxU.4YNTbnrCE-1778510782.7627656-1.0.1.1-AMNplsa5U1iBlMEj.eltOIWOnwRJNmKK3SFeGc6eLDU; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-357eb438c7d14f0dc1e55413ede88697-fa6e273dec9758ec-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '836' + - '684' status: code: 200 message: OK @@ -122,11 +122,11 @@ interactions: Content-Type: - application/json Cookie: - - _cfuvid=GbO0FS7xPY4vfHqP7_mCUg4Lei4dlHQmgHiY9Zaj8bs-1777047577.2099211-1.0.1.1-1uEttBF66Q4JjnhRYHoqCy4hh5yo5BVs2TyoGVIVrhs + - _cfuvid=QRyhauxyuR9W07fy4XM2i1Yj_JUAxGIxU.4YNTbnrCE-1778510782.7627656-1.0.1.1-AMNplsa5U1iBlMEj.eltOIWOnwRJNmKK3SFeGc6eLDU Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -138,7 +138,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -159,12 +159,12 @@ interactions: body: string: 'event: message_start - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01V1YPFKpGDXea97PMtSKryF","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}} } + data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01Squ45ag4Rqtss3oLAEcZwe","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } + data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } event: ping @@ -174,28 +174,28 @@ interactions: event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2"} } event: content_block_stop - data: {"type":"content_block_stop","index":0} + data: {"type":"content_block_stop","index":0 } event: message_delta - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } + data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } event: message_stop - data: {"type":"message_stop" } + data: {"type":"message_stop" } ' headers: CF-RAY: - - 9f166e442e59ab84-YYZ + - 9fa1f90dde72964a-YYZ Cache-Control: - no-cache Connection: @@ -205,7 +205,7 @@ interactions: Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 24 Apr 2026 16:19:39 GMT + - Mon, 11 May 2026 14:46:24 GMT Server: - cloudflare Transfer-Encoding: @@ -219,799 +219,39 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '4000000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:19:38Z' + - '2026-05-11T14:46:23Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:19:38Z' + - '2026-05-11T14:46:23Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T16:19:38Z' + - '2026-05-11T14:46:23Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4800000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:19:38Z' + - '2026-05-11T14:46:23Z' cf-cache-status: - DYNAMIC content-length: - - '1154' + - '1166' request-id: - - req_011CaNuARKPYJaieQAiY7QuF - server-timing: - - x-originResponse;dur=738 + - req_011CavxoapPReSy46upRjoQf strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-f3b2b6e11675e95eea2fad784c5f1e8b-3604820274f3dcdf-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '735' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is 1+1?"}],"model":"claude-haiku-4-5-20251001","system":"just - return the number","top_p":0.5}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '154' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01EBiankq43MsrVup6Uav7Ap","type":"message","role":"assistant","content":[{"type":"text","text":"2"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a6c58a3d52cf-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:58:13 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:13Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:13Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:12Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:13Z' - cf-cache-status: - - DYNAMIC - content-length: - - '457' - request-id: - - req_011CaNx72YhA5LCdg1ZuDPVo - set-cookie: - - _cfuvid=E9YVgtwhUMZcUKuwTD3TJs.nCj9L.pba0qlKL8.TYU0-1777049892.7232373-1.0.1.1-VWufraFBwHjhriubj5f38sb2g5TVMSnewWdXVhWkUuo; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-envoy-upstream-service-time: - - '616' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is 1+1?"}],"model":"claude-haiku-4-5-20251001","system":"just - return the number","top_p":0.5,"stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '168' - Content-Type: - - application/json - Cookie: - - _cfuvid=E9YVgtwhUMZcUKuwTD3TJs.nCj9L.pba0qlKL8.TYU0-1777049892.7232373-1.0.1.1-VWufraFBwHjhriubj5f38sb2g5TVMSnewWdXVhWkUuo - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01M3458mD1AUTLMTGcm2VuV6","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a6ca8d3b74a5-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:58:14 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:13Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:13Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:13Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:13Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1191' - request-id: - - req_011CaNx75u6sMgA7deiUUupB - server-timing: - - x-originResponse;dur=590 - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '588' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is 1+1?"}],"model":"claude-haiku-4-5-20251001","system":"just - return the number","top_p":0.5}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '154' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01DSaTFEGNrDmhfR3NZwD6Nk","type":"message","role":"assistant","content":[{"type":"text","text":"2"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a80bf854ab54-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:05 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:05Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:05Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:05Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:05Z' - cf-cache-status: - - DYNAMIC - content-length: - - '457' - request-id: - - req_011CaNxAspvw42UkLdwfVELw - server-timing: - - x-originResponse;dur=397 - set-cookie: - - _cfuvid=DH7oyUKwcNON4rB6VswShA0gXnngE143A2ruRyzJYWk-1777049944.9625978-1.0.1.1-dMWdu2LaZuRYNFhVcX9DF.OGTcBQL5yeml05iY8ru7U; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '394' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is 1+1?"}],"model":"claude-haiku-4-5-20251001","system":"just - return the number","top_p":0.5,"stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '168' - Content-Type: - - application/json - Cookie: - - _cfuvid=DH7oyUKwcNON4rB6VswShA0gXnngE143A2ruRyzJYWk-1777049944.9625978-1.0.1.1-dMWdu2LaZuRYNFhVcX9DF.OGTcBQL5yeml05iY8ru7U - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01UHX84r5nmiQk22H1L7Hkdo","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a80f4d32ac5d-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:59:06 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:05Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:05Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:05Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:05Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1157' - request-id: - - req_011CaNxAv3dhNrEKjHcPLubV - server-timing: - - x-originResponse;dur=501 - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '499' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is 1+1?"}],"model":"claude-haiku-4-5-20251001","system":"just - return the number","top_p":0.5}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '154' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_015Y9BzHH1LjwZcdGWPNkKDu","type":"message","role":"assistant","content":[{"type":"text","text":"2"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a99cdd35aa55-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 17:00:09 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:09Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:09Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:09Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:09Z' - cf-cache-status: - - DYNAMIC - content-length: - - '457' - request-id: - - req_011CaNxFc6mepMcgUiC1gsPi - set-cookie: - - _cfuvid=ssAReIh1DESjNCcvDhlDcFhiWlCBKYN0fkZgwwIuWEM-1777050009.0935102-1.0.1.1-cNaC0g_oOQmN2oZcLZoAUAeJ1k00bBV7OGyrrtiJlfw; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-envoy-upstream-service-time: - - '835' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is 1+1?"}],"model":"claude-haiku-4-5-20251001","system":"just - return the number","top_p":0.5,"stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '168' - Content-Type: - - application/json - Cookie: - - _cfuvid=ssAReIh1DESjNCcvDhlDcFhiWlCBKYN0fkZgwwIuWEM-1777050009.0935102-1.0.1.1-cNaC0g_oOQmN2oZcLZoAUAeJ1k00bBV7OGyrrtiJlfw - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01RgnQ1FHb3tA2vqmkx9oV59","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a9a34ea3ebb4-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 17:00:14 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:13Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:13Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:13Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:13Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1176' - request-id: - - req_011CaNxFgYudSrBxmAn3LorF - server-timing: - - x-originResponse;dur=4453 - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '4452' + - '564' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_stream_errors.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_stream_errors.yaml index dcc45608..b7820615 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_stream_errors.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_stream_errors.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -28,7 +28,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -49,12 +49,13 @@ interactions: body: string: 'event: message_start - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01Ae9ipzNMEbAcqENJKvWWne","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } + data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_018c2KLSLutgCsg2egtemDsr","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } + data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} + } event: ping @@ -67,441 +68,6 @@ interactions: data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"4"} } - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f166e76a993a641-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:19:46 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:19:46Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:19:46Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:19:46Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:19:46Z' - cf-cache-status: - - DYNAMIC - request-id: - - req_011CaNuB1o4JBSL3bqSRNjkN - set-cookie: - - _cfuvid=HcrfIIb7QXSYU28v5r8jE0aaGo8_jw7eWU7S3i9B2HY-1777047586.345399-1.0.1.1-vvlh2GUHnMtFI2SB31fZ_RM31Nr2rhanwjuZjAdvV_8; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-envoy-upstream-service-time: - - '397' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is 2+2? (just - the number)"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '140' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01SfbsHV54JyBoCQWXfjcmrq","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"4"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a6ec4b4e4f09-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:58:19 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:18Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:18Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:18Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:18Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1137' - request-id: - - req_011CaNx7UxvVq7ktqN1PLhJg - server-timing: - - x-originResponse;dur=442 - set-cookie: - - _cfuvid=iM4qNIHI9DlPLX3g3NOb9s0OPXfworlN8WtKlkMdEVM-1777049898.9220488-1.0.1.1-iBgF1kiME_kzTzPoUzOjOgkZiJkziks7Exkg.VU7AtE; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '439' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is 2+2? (just - the number)"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '140' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01SkHA6p7W7Rq27CRCHTLbdy","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"4"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a82bee271a24-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:59:10 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:10Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:10Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:10Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:10Z' - cf-cache-status: - - DYNAMIC - request-id: - - req_011CaNxBFmHkqB7YGMUzihqX - set-cookie: - - _cfuvid=QdS5d9Du4tSidPnpnXiTNgS8ujEsNcA1i3Sd_PwRLvA-1777049950.0705078-1.0.1.1-c2D723Got7N6WTAPvtJQr7SRm5TFeLHDTqGkkrt9xcU; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-envoy-upstream-service-time: - - '378' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is 2+2? (just - the number)"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '140' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_019qZQU67Mp2YuK7e7dUCscw","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"4"} } - - event: content_block_stop data: {"type":"content_block_stop","index":0 } @@ -509,18 +75,18 @@ interactions: event: message_delta - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } + data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } event: message_stop - data: {"type":"message_stop" } + data: {"type":"message_stop" } ' headers: CF-RAY: - - 9f16a9ddba58e7e3-YYZ + - 9fa1f92cbb57ac76-YYZ Cache-Control: - no-cache Connection: @@ -530,7 +96,7 @@ interactions: Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 24 Apr 2026 17:00:19 GMT + - Mon, 11 May 2026 14:46:29 GMT Server: - cloudflare Transfer-Encoding: @@ -544,42 +110,42 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '4000000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:19Z' + - '2026-05-11T14:46:28Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:19Z' + - '2026-05-11T14:46:28Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:19Z' + - '2026-05-11T14:46:28Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4800000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:19Z' + - '2026-05-11T14:46:28Z' cf-cache-status: - DYNAMIC content-length: - - '1168' + - '1166' request-id: - - req_011CaNxGNPnrkvwnuMNCw4a5 - server-timing: - - x-originResponse;dur=430 + - req_011Cavxowrg5pU9HmeuK9ZDS set-cookie: - - _cfuvid=E4CQ2CYMg_F5yuabfJANo_dqJ7Bs9m6H9b3SxNCtRX8-1777050019.4732726-1.0.1.1-93r6sr4jHlLmXf8CrGEPeUJjk4GvOoTyWcazsn0Xqf4; + - _cfuvid=l4K_w5mXvczG4YW0v6riBW1oa4iH.7xZxz.dPyF4UKU-1778510788.5922647-1.0.1.1-WkmmPrZuG_2v.8AX7gggS.L0Zxp7A37i41BFzQKSbTo; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-f421d59cdc4f32d83ebf095e88cf2a58-59e89107b9547422-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '427' + - '416' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_streaming_async.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_streaming_async.yaml index e9425118..1f094e57 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_streaming_async.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_streaming_async.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - AsyncAnthropic/Python 0.97.0 + - AsyncAnthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -28,7 +28,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -49,12 +49,12 @@ interactions: body: string: 'event: message_start - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01ETfQ6rfj888ir5XVnXYeTy","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } + data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_015Rnd6eMRtkRtjPerckGM3t","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } + data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } event: ping @@ -64,448 +64,7 @@ interactions: event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f166e6e7d0d6e57-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:19:45 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:19:45Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:19:45Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:19:45Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:19:45Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1143' - request-id: - - req_011CaNuAv8FBmh5b5qZSV3L6 - server-timing: - - x-originResponse;dur=833 - set-cookie: - - _cfuvid=V_uk93Gy2N2.JgPqUdBktJAFdwx520OF3Zuq_2XTkvA-1777047585.0340087-1.0.1.1-mNLdp5.7yD8nxpsAK0XWtodO1Zk9PVoRVrI83ImFet0; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '831' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":1024,"messages":[{"role":"user","content":"what is 1+1?, - just return the number"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '147' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01SwmpoHVazn3XVfaRkjXAFu","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a6e5a927ebba-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:58:18 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:17Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:17Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:17Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:17Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1164' - request-id: - - req_011CaNx7QSpJneLdjJjExdBN - server-timing: - - x-originResponse;dur=673 - set-cookie: - - _cfuvid=qqhwPY8kzJhT8_x64gfYFTIozDUyL26vg8rBWkW6Z2k-1777049897.862791-1.0.1.1-8R54j3UEvxCACAfos2WsFNQ8UtXSKehDPQm_0ac5_dE; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '671' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":1024,"messages":[{"role":"user","content":"what is 1+1?, - just return the number"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '147' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01SZ9DkGh5MU8XLrqkDthv4Y","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a8261d9fabfa-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:59:09 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:09Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:09Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:09Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:09Z' - cf-cache-status: - - DYNAMIC - request-id: - - req_011CaNxBBkC9MU1tG1fy7xcg - set-cookie: - - _cfuvid=k78PPwUumQl..BYqkaEZ9Mf4sMVLMeBeMVy9D6lSQlI-1777049949.1365187-1.0.1.1-Uj1WiqqpuJgPzMnt2bdwz7U0zRgHDOKUQXgF5ePsBTU; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-envoy-upstream-service-time: - - '363' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":1024,"messages":[{"role":"user","content":"what is 1+1?, - just return the number"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '147' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01MrvCcLeajLVrjS6YNP69VQ","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2"} } event: content_block_stop @@ -515,18 +74,18 @@ interactions: event: message_delta - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } + data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } event: message_stop - data: {"type":"message_stop" } + data: {"type":"message_stop"} ' headers: CF-RAY: - - 9f16a9d8aa1739d7-YYZ + - 9fa1f926dc77ebb8-YYZ Cache-Control: - no-cache Connection: @@ -536,7 +95,7 @@ interactions: Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 24 Apr 2026 17:00:19 GMT + - Mon, 11 May 2026 14:46:28 GMT Server: - cloudflare Transfer-Encoding: @@ -550,42 +109,42 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '4000000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:18Z' + - '2026-05-11T14:46:27Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:18Z' + - '2026-05-11T14:46:27Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:18Z' + - '2026-05-11T14:46:27Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4800000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:18Z' + - '2026-05-11T14:46:27Z' cf-cache-status: - DYNAMIC content-length: - - '1182' + - '1137' request-id: - - req_011CaNxGJxAqyHAxoS6Uh7K1 - server-timing: - - x-originResponse;dur=393 + - req_011CavxostZ27PaisJwjzTGy set-cookie: - - _cfuvid=dkSS9bfQQONluet17lQX6HUvYUq1h4c.8wYlgDVdeVs-1777050018.6624105-1.0.1.1-f9PS_y4ealpX6Jf1kf_lZcTJtPThWdxLHOk_MVu30tg; + - _cfuvid=Yypv1wyvoFcc501jNyt99O9UhgVGmHFV4IeCgb.E6vk-1778510787.6588094-1.0.1.1-WnNAiCIKY5FwlVLPf5mItMAOtFyVXVPLl_jIUFaVKFQ; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-0d159ea40451a8f2f2671e4ffaf2f4d1-c647130d5790cafc-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '392' + - '421' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_streaming_async_text_stream.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_streaming_async_text_stream.yaml index 11a40c74..4fb06313 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_streaming_async_text_stream.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_streaming_async_text_stream.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - AsyncAnthropic/Python 0.97.0 + - AsyncAnthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -28,7 +28,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -49,156 +49,7 @@ interactions: body: string: 'event: message_start - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_012V931t9ovrCS3k9ZvcAm3N","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}}} - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f166e89087ca246-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:19:49 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:19:49Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:19:49Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:19:49Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:19:49Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1163' - request-id: - - req_011CaNuBEL7qQBjaAZMJfuHt - server-timing: - - x-originResponse;dur=503 - set-cookie: - - _cfuvid=aeZ0EgxiExB6fV84FB3EldbOmbH7_rxYupFi64XAmCs-1777047589.290087-1.0.1.1-1XlstVhZLEg.8y9jHuPG7KICCSOTqGKkL32K3r.TsXg; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '501' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":1024,"messages":[{"role":"user","content":"what is 1+1?, - just return the number"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '147' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_0133XykZCqSYG1FcfsXLUv8A","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } + data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01CrgTUx8tQngXwyewoEEyny","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start @@ -211,155 +62,6 @@ interactions: data: {"type": "ping"} - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2"}} - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a6f87fc1880c-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:58:21 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:20Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:20Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:20Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:20Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1159' - request-id: - - req_011CaNx7dLiFyJ2XkJw5UfQB - server-timing: - - x-originResponse;dur=362 - set-cookie: - - _cfuvid=_7MHU9v4m7t0UAyTO8K8pss0DY.T94ZRhM1s3uj6_ho-1777049900.8791804-1.0.1.1-2lpk79p3FWpBJQ3Uf4BAylMC6lzrD_SFdHFfQlX0S.w; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '359' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":1024,"messages":[{"role":"user","content":"what is 1+1?, - just return the number"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '147' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01BEEw5jjh5qbyjVaK6AxUnD","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}}} - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - event: content_block_delta data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2"} } @@ -367,166 +69,23 @@ interactions: event: content_block_stop - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a8375973a3f1-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:59:12 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:12Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:12Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:12Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:12Z' - cf-cache-status: - - DYNAMIC - request-id: - - req_011CaNxBPa67Xbfuu79TP8wU - set-cookie: - - _cfuvid=nGCARHCRkCSNmYFpDAqFITrcGrwMkyrk_8WDIoAcW5Y-1777049951.9006197-1.0.1.1-7Jp61FySnJT4JS6_9Urp8uS4qgkErK5a2msitQttHGM; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-envoy-upstream-service-time: - - '438' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":1024,"messages":[{"role":"user","content":"what is 1+1?, - just return the number"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '147' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - AsyncAnthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - async:asyncio - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01P7KhkYNeyuxeNPLMbacyJ4","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } + data: {"type":"content_block_stop","index":0 } event: message_delta - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } + data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":18,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } event: message_stop - data: {"type":"message_stop" } + data: {"type":"message_stop" } ' headers: CF-RAY: - - 9f16a9ec3f7336ce-YYZ + - 9fa1f9398f09ebbc-YYZ Cache-Control: - no-cache Connection: @@ -536,7 +95,7 @@ interactions: Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 24 Apr 2026 17:00:22 GMT + - Mon, 11 May 2026 14:46:31 GMT Server: - cloudflare Transfer-Encoding: @@ -550,42 +109,42 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '4000000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:21Z' + - '2026-05-11T14:46:30Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:21Z' + - '2026-05-11T14:46:30Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:21Z' + - '2026-05-11T14:46:30Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4800000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:21Z' + - '2026-05-11T14:46:30Z' cf-cache-status: - DYNAMIC content-length: - - '1167' + - '1169' request-id: - - req_011CaNxGYJME98mejEF2zg1f - server-timing: - - x-originResponse;dur=486 + - req_011Cavxp6dX3qMNvEcpcdrs1 set-cookie: - - _cfuvid=u1YeCl1bRFplG5EUZkJ2BNq_eTau9sVJZNd1zFbVMgk-1777050021.79213-1.0.1.1-nlYbe3.qdPZ.UsGGxZD_6xInd.VEd0r4JeRrfof622c; + - _cfuvid=931UnRddHRLC1qaQ6fIkqxYDdXGx.qXsqm0OzAYhwNU-1778510790.6447184-1.0.1.1-U1GkCcj9cfxU6ES8CZHW4BJwF7OUMNHgc86.axOYPaU; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-e5a71864faa015522ab666563aac8873-75b8c77fdd818187-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '484' + - '478' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_streaming_sync.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_streaming_sync.yaml index 6b6c1ddc..46e0bce7 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_streaming_sync.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_streaming_sync.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -28,7 +28,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -49,13 +49,12 @@ interactions: body: string: 'event: message_start - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01XEg7S3xipXf9GACyQxGZGb","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} - } + data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01La9BHpKYBYYAn8oGB1qXa3","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } + data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } event: ping @@ -65,28 +64,28 @@ interactions: event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"4"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"4"} } event: content_block_stop - data: {"type":"content_block_stop","index":0 } + data: {"type":"content_block_stop","index":0 } event: message_delta - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } + data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5}} event: message_stop - data: {"type":"message_stop" } + data: {"type":"message_stop" } ' headers: CF-RAY: - - 9f166e7a6c0aaaf7-YYZ + - 9fa1f9309c3cac52-YYZ Cache-Control: - no-cache Connection: @@ -96,7 +95,7 @@ interactions: Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 24 Apr 2026 16:19:47 GMT + - Mon, 11 May 2026 14:46:29 GMT Server: - cloudflare Transfer-Encoding: @@ -110,484 +109,42 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '4000000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:19:47Z' + - '2026-05-11T14:46:29Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:19:47Z' + - '2026-05-11T14:46:29Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T16:19:47Z' + - '2026-05-11T14:46:29Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4800000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:19:47Z' + - '2026-05-11T14:46:29Z' cf-cache-status: - DYNAMIC content-length: - - '1155' + - '1152' request-id: - - req_011CaNuB4Js4y1jGFXga817z - server-timing: - - x-originResponse;dur=712 + - req_011CavxoznHsoGJdPA76CXvi set-cookie: - - _cfuvid=syzpoWacP06oCZOcA9BuXFZt31vUAmWwm3DW_K1uLWs-1777047586.9513311-1.0.1.1-4jySx0_KjjGslJchoQ4pE86_UAo0koalvPofK0TaHCY; + - _cfuvid=txG0KxXrWnS879MHI5sB3GQjzNiSnSeSJgCu4VM33CE-1778510789.2212856-1.0.1.1-MZwoH76wkR3S4eRFaPM8bQ0H3_l.w2B_qudt4VRR8qU; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-fef70367bb15865e44d7cbf0af94ce65-0d0fc8d9b97e63a6-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '710' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is 2+2? (just - the number)"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '140' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01DSPoZZrr2htDFSP3y4eznF","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"4"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0} - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a6f0091a8ea1-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:58:20 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:19Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:19Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:19Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:19Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1158' - request-id: - - req_011CaNx7XYCvN2kbtR1oqpTR - server-timing: - - x-originResponse;dur=570 - set-cookie: - - _cfuvid=a2moVtQDC_z6.RkG5fH6B6rH4m3NkUSnPVfIgUYSZFs-1777049899.522985-1.0.1.1-1CGzHm1N.9gdGSoqqVLPHkfzLjDQb.ScAZJLx2pAe_o; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '568' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is 2+2? (just - the number)"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '140' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_013CnjwrSizhzd1ypdMcsADg","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} - } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"4"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a83099211693-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:59:11 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:10Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:10Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:10Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:10Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1168' - request-id: - - req_011CaNxBJpqtKHfGVfiMXdL6 - server-timing: - - x-originResponse;dur=362 - set-cookie: - - _cfuvid=lwu8rtew_.2Lapz_ZSS.hqCt.mAtY1BPycwceckRzGU-1777049950.8141181-1.0.1.1-5ECsyLKFuxxHIHnJfniqOJiL2jPSY2IFwxLCnnCqnzU; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '361' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is 2+2? (just - the number)"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '140' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01LPYF1rLrNgTWak6DzSkGph","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"4"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0} - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a9e1ddfba2d9-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 17:00:20 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:20Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:20Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:20Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:20Z' - cf-cache-status: - - DYNAMIC - request-id: - - req_011CaNxGRKeodDM7zYA1KaZf - set-cookie: - - _cfuvid=cgum7OZvPFgi33pqx1qClp8ZcoRPlISwPwfv6E7WpTI-1777050020.140947-1.0.1.1-7tfM6CdVdTT5WPQALFFbymD1PkgKWnYfpgwLBDxva_g; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-envoy-upstream-service-time: - - '444' + - '566' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_streaming_sync_text_stream.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_streaming_sync_text_stream.yaml index 5a9c3bf7..7f5d2b2e 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_streaming_sync_text_stream.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_streaming_sync_text_stream.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -28,7 +28,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -49,12 +49,12 @@ interactions: body: string: 'event: message_start - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01V4CS5FPGAxvHq3zEY7ruxR","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } + data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01L8HoGo5qQ6gEH41MbBX7sd","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } + data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } event: ping @@ -64,28 +64,28 @@ interactions: event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"4"} } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"4"} } event: content_block_stop - data: {"type":"content_block_stop","index":0 } + data: {"type":"content_block_stop","index":0 } event: message_delta - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } + data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } event: message_stop - data: {"type":"message_stop" } + data: {"type":"message_stop" } ' headers: CF-RAY: - - 9f166e825bbca226-YYZ + - 9fa1f935a998076d-YYZ Cache-Control: - no-cache Connection: @@ -95,7 +95,7 @@ interactions: Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 24 Apr 2026 16:19:48 GMT + - Mon, 11 May 2026 14:46:30 GMT Server: - cloudflare Transfer-Encoding: @@ -109,489 +109,42 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '4000000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:19:48Z' + - '2026-05-11T14:46:30Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:19:48Z' + - '2026-05-11T14:46:30Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T16:19:48Z' + - '2026-05-11T14:46:30Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4800000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:19:48Z' + - '2026-05-11T14:46:30Z' cf-cache-status: - DYNAMIC content-length: - - '1153' + - '1154' request-id: - - req_011CaNuB9nmXP16ste61evpY - server-timing: - - x-originResponse;dur=350 + - req_011Cavxp3z2EQ12aEFDJiFrn set-cookie: - - _cfuvid=oxHMWQBtvS.8s8tysVdqme.UZcJPl8O5sBF9Aj7KB4E-1777047588.215856-1.0.1.1-IPq5Khwf6qRoBCDQEoGwsGbeHsjTh153yPX9WF_x28c; + - _cfuvid=z_c2b8gqwqXsDgNm0.m_PR_DtDij928Ig4i3ngj1NAY-1778510790.0265987-1.0.1.1-59Afj0T.3GLhC3xUl26RJVjlZ6vF9OcyjECdHjDFOmc; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-d55caf14050cc6dfcf4b8e50f7b6abbd-b273c753ada1e2f4-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '349' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is 2+2? (just - the number)"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '140' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01Jxc51Ghfi9pxYeT6CPvpCQ","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"4"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a6f52f5fb634-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:58:20 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:20Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:20Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:20Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:20Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1164' - request-id: - - req_011CaNx7b3o6FfKFpcGC4LvA - server-timing: - - x-originResponse;dur=361 - set-cookie: - - _cfuvid=DTLQG_vt.dv3hGZJ3CIqOXiNoe5_V3XRLH3nj11BfYw-1777049900.3411932-1.0.1.1-gC0_X9Q4yWHzCQzUEdKRp.6kBcCfBNg_d9T61K6SBSg; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '357' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is 2+2? (just - the number)"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '140' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_014jJkBUo3NNzyxJ5QJN9Yf3","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"4"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a833fb46982f-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:59:11 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:11Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:11Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:11Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:11Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1171' - request-id: - - req_011CaNxBMAEMh98Bd9LXAc7M - server-timing: - - x-originResponse;dur=369 - set-cookie: - - _cfuvid=jKU69.Fp1WzLy4IsuWmT61pZFnOU4_BXDOCOSrXSErc-1777049951.356885-1.0.1.1-Nl4e9v72cIQ1EgCRnK6mlP1WGnSFHiToo7eCWgZl4as; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '366' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is 2+2? (just - the number)"}],"model":"claude-haiku-4-5-20251001","stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '140' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01JymsZdwJ9RDL9wfVypiVMa","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"4"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":5} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a9e83861aaaa-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 17:00:21 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:21Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:21Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:21Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:21Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1164' - request-id: - - req_011CaNxGVadwNgqdLZodyMEB - server-timing: - - x-originResponse;dur=440 - set-cookie: - - _cfuvid=o1EE7sx0lq1TvfRRmTM5GxS0Q.qW5QHy7Xc3Z.abE_E-1777050021.1546261-1.0.1.1-_PXj4QyLosklmdXF_RSZUMGrXHIl.zwahECrrEm5BO4; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '438' + - '400' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_sync.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_sync.yaml index b050688c..c345cade 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_sync.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_sync.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -42,334 +42,11 @@ interactions: uri: https://api.anthropic.com/v1/messages response: body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01Jxn5j7FCUHyuHvY3a856ym","type":"message","role":"assistant","content":[{"type":"text","text":"2+2=4"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":9,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f166e8d3ede36bc-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:19:50 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:19:50Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:19:50Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:19:50Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:19:50Z' - cf-cache-status: - - DYNAMIC - content-length: - - '461' - request-id: - - req_011CaNuBHBWz8xGZXvci2YKs - server-timing: - - x-originResponse;dur=490 - set-cookie: - - _cfuvid=JAkORXDWYaiuR.MKxv8T8BJObra3HthEhaz_DjpJi0E-1777047589.9601295-1.0.1.1-pAE3NIxT.VZ78RZ_5AvoCwWjp2Oz_bx8O9RZsEVzqeE; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '488' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what''s 2+2?"}],"model":"claude-haiku-4-5-20251001"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '107' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_015nuoDaPHynFWktfVeEPVne","type":"message","role":"assistant","content":[{"type":"text","text":"2 - + 2 = 4"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":13,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a6fbc8aaebba-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:58:21 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:21Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:21Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:21Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:21Z' - cf-cache-status: - - DYNAMIC - content-length: - - '466' - request-id: - - req_011CaNx7fbPh9fvKrs6eXBnA - server-timing: - - x-originResponse;dur=510 - set-cookie: - - _cfuvid=Qljg6KYOrrEnel_S64dOVDPBRTQ0fyT00m_LlJpMXlA-1777049901.404629-1.0.1.1-D.goB7ouPgvUVDHkvqsEhKUwXoIm9bgDeFB2ZevC03Y; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '507' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what''s 2+2?"}],"model":"claude-haiku-4-5-20251001"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '107' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01DrsE6wpvtUuLeiUrLQ9KNP","type":"message","role":"assistant","content":[{"type":"text","text":"2 - + 2 = 4"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":13,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a83b6a7a3a00-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:13 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:12Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:13Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:12Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:12Z' - cf-cache-status: - - DYNAMIC - content-length: - - '466' - request-id: - - req_011CaNxBSEq3yriiKVLd62nN - server-timing: - - x-originResponse;dur=483 - set-cookie: - - _cfuvid=PeK8eR2bQVN37AV71dOT9ebm4i33LCZthY616PvcBEQ-1777049952.5442204-1.0.1.1-4XQDAiT50Z.7l33LpQlMLLSozUxFtf1LnIArQy450wo; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '481' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what''s 2+2?"}],"model":"claude-haiku-4-5-20251001"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '107' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01HyC3pLHUfaYmU92rGLdh8k","type":"message","role":"assistant","content":[{"type":"text","text":"2 + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01Bg8A3542E1HdSgDeZ27CiV","type":"message","role":"assistant","content":[{"type":"text","text":"2 + 2 = 4"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":13,"service_tier":"standard","inference_geo":"not_available"}}' headers: CF-RAY: - - 9f16a9f08ac80702-YYZ + - 9fa1f93e0fe3a22e-YYZ Connection: - keep-alive Content-Security-Policy: @@ -377,7 +54,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 17:00:23 GMT + - Mon, 11 May 2026 14:46:31 GMT Server: - cloudflare Transfer-Encoding: @@ -391,42 +68,42 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '4000000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:23Z' + - '2026-05-11T14:46:31Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:23Z' + - '2026-05-11T14:46:31Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:22Z' + - '2026-05-11T14:46:31Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4800000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:23Z' + - '2026-05-11T14:46:31Z' cf-cache-status: - DYNAMIC content-length: - '466' request-id: - - req_011CaNxGbHBdd6hdiHzQzb4X - server-timing: - - x-originResponse;dur=596 + - req_011Cavxp9j3vZ1XtCX39vtBk set-cookie: - - _cfuvid=NcBLBTusBD2h_09ynWC7_0qfWE9L0KOXoi0.BN7_UPI-1777050022.487445-1.0.1.1-jJ3CB_RSCEzzSNz3n69GwfRyJdIJTbadfqE9UAysgfg; + - _cfuvid=PrNMgdx2Fn8C1OdfP.A6vkuMjPusF1w00JIBcExTGPY-1778510791.3664823-1.0.1.1-NtqcWqOU6LusIltRYgmolHDeiMbKNk5_hRXX6NtBPHo; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-1884b28aac57176f1fcd667644078727-23ee051c2645f9fc-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '594' + - '551' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_sync_server_tool_spans.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_sync_server_tool_spans.yaml index 2a40c76c..1898e568 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_sync_server_tool_spans.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_sync_server_tool_spans.yaml @@ -17,7 +17,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -27,7 +27,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -44,22 +44,21 @@ interactions: uri: https://api.anthropic.com/v1/messages response: body: - string: "{\"model\":\"claude-haiku-4-5-20251001\",\"id\":\"msg_01NSXQPfeDTZsAJoFJnQnJ1F\",\"type\":\"message\",\"role\":\"assistant\",\"content\":[{\"type\":\"server_tool_use\",\"id\":\"srvtoolu_011LE9JFEMt7AZBqnthADgfP\",\"name\":\"web_search\",\"input\":{\"query\":\"Braintrust - docs homepage\"}},{\"type\":\"web_search_tool_result\",\"tool_use_id\":\"srvtoolu_011LE9JFEMt7AZBqnthADgfP\",\"content\":[{\"type\":\"web_search_result\",\"title\":\"Get - started with Braintrust - Braintrust\",\"url\":\"https://www.braintrust.dev/docs\",\"encrypted_content\":\"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\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Get - started - Docs - Braintrust\",\"url\":\"https://www.braintrust.dev/docs/start\",\"encrypted_content\":\"Ep8ICioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDHRMl2dwzciCF3cl0xoMKp62bFVL1T2Ugh0IIjCWpK1zJ/587oLaPcRVr63uitWjKS/wfJwf0WM5uxHQD2l6LPE9nZ/YoHa5VL/5UacqogercQYW7TKHooBOw9jLL7lR4ZhT95EEzARUsu1/6zz5aQkPZ5quXG/aP4tKQlZPmpAfTbQOo1+VvIOb3kRudWLQ+wTOk3HvYGcY0Q2TMVNTmOAn3zFkunOYY8B43b5+BT0Gs749pt5c97JExBu15MC/rrWN5Eo5mJfVhC6X8M5N4tXZf+U8vDAaQfdUK24lDv5CHalZAGtRf0q6lkmzRJDBV2A3o58keNzpMnkjLi6bpLOLOwg0aNoUZxCsFRzoCaeIX0nlOrvHUgx+R6aF3Z6Mbqpdqww7pXyZlv9HO2OVJWBitwWiRe79jx0NPD4HfIA3pX2RmJg6QZWOUXG6SIgzQo93RBYWmvLE88A0urxAfbMFV1y3qMutzB5UDPluKTac3AxiFZfkzmSRDguqq2DuIRasQBRjlVrn9dmxKpcQjGjG/QmbqC+MMcYFe73YG47xMtoAnHymrBkuBmeAC3bJwTvA+PDC4nFCJXuMTkBq48f+YsFZZ1Rq1bxRQnSwk26Q38Pdaufz83f3D/dSyEYdlasVOjb8jCS1Buhk3+w0zBSPwSmrzQoT87tjeQudkiNnq9hDzT9ZfL/OMktG6t3isd0HzsTU35ltZzEJQcFUTMwWMUXYP82MMygBVHeMiEHhwkInY+ibcsxBJ1nXxlApTFcRFZiaEIFtWRbmy9mNCozm5KZJBoFuKidXqBNWELMSSA7YGALqBsZ2eicwFdGx74n+3wuwlRcZzeBcaZYmm/PNqaMdtT2/tk8g6L0TJ0USDcAQklnDgGeonpiowbFHdHWqbAXvcBavukNWIXuEzbJp1iMrhF25sTNEAfnuHYKUObhJZFKg9caBpINLXfNQFpT0ev1Tgfb0nkCENKHxBzKrSgEozap4hT3MD2pFqR5KYtLn4ZDAPY+OfvXJJ6nx3QcAt+/0KRMtB1H8WzVyjL9gVfO2q1nt2ikDeUBmVEusUbxOMbZVN47VOMMuCSLdOLQlAtPp72x23Vjdh84T5y5dAWYwjmjwBYErynLHIiNojLsTRk9oKbnWivNDZlIniYZY5x7Plhxa5LtGSOJfCSwKUZYEDQVhOFEffbrMVDiH9qk4HpEiLaDAtQP1RvKAmfeo96i60H3zf557GGlpRnOLdFSKxsSRYtYTw+XdAUoebG1Ck6mBMyoiAkfQMZvM6LQoVT1GJu3Kr7VW+l3amo/jmtK24rL8HNJip01bPBCpgPTb+ehP/JgtQCw3EQUuV7kYAw==\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Braintrust - Network Overview | Braintrust Community\",\"url\":\"https://docs.usebraintrust.com/communitydocs\",\"encrypted_content\":\"Ev4GCioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDCZETEMhpUCA6SJsvxoMn1NxrNXEqOk62q2iIjBczqDUwVsqgmvQ4Q7xI9SJOx53VNclrrDjs/Qo6K1lveR4DIhNMsy32l2E4mMA81MqgQYvybJCjTDPqdn84mFWo1X8BG2Z05DLjI5CnavhrcZGQ29hOr+8QdNmcpIpg3QwvYz21Rj00INSp8Y2fT7PVE+Jh7PkDjDg2En+qO2LZDPAEPWymxBvdQZePS7yQEpTQL992gmjx5hKwAhEdTBDOWGYV2CyNB5Wh0Xv5Ay77LKkyf2oqMT4Xe2dNWFiDkYuUqhivvfeBciOO0dix9+6lJEGYnJP865C/zOt/2NCQczXRjGdJ1JXrnSMJ0ZR+j/LQNQmX+PUXldUPkX8TACKakohFiQGVccOoIPu+Fr9h0NyI83edLxDJtOz8wGzi4TQHwg7YyK2OOPb038xwkN4qfoAFwRbgiY64eRltm35mShJbMjpAlwjmYit/qDrR6MOpqjyuMC8qpvWkoiPBiP+6tE0Hzv+s9i697uDa0MjjuQlVuLy2N0kk0MNHCBNfiHusYAL1ro3REDAKj1wdFo3o1Kq1buMt98h+P/974DVmuZt9hZc8+5VEim7/YvOxnAFjh9p2VMjNLCU4IrZ5KTiwfGoicMvvxULycW68UuwqVA2Setu3YOtZoUCqiX0wvmjwt9fAUfEvhKsGwKhBd7BkwdALZWIta+dp6/ObOl9SxDSrVP28Np5Wv8MDeMLL23C6nfx1cJZUVLb/mkk2LGMwACsm1jQpMmpjeWxTarOxJWujsHuiuSo5OEsLUOCedSYwas2cmDOT40z7E9APbtLPgot1XsZfh06hzerG2KNfXoqYM4jj3ElrdccvhyN89dRMvnlAHInTK1JCfjF2OxU83pQ1s57CFv8Iuf52ibYs/Wrj9X1IiI0UeJP8EvhWh3jymgrAAzi+3KHmDJEDglIn6EbE4eji8id4OYoqEbbufcLwFcPb0diupRifyNYvbk5rU+Gwfufugkk2fOmfsRFF4bAfrADFVStdBu+3b5gUF4+V99jWkA3dllUiw7CSxsxbXO2IaTJ47W9bHO2s8Ya6l/TPLknO+/BVMooWXl4HGGqt9pg9UMYCx3c/EN51MjupZQ3GAM=\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"braintrust - - npm\",\"url\":\"https://www.npmjs.com/package/braintrust\",\"encrypted_content\":\"EokECioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDEPit7AvkH1wRqeU3xoMexNNRHShJI/J2CaLIjAMY2xh3mU11UvDYen0HfgeQXFxPPfBOCKWQHlD2eidnjamyifN12qgRJgSMp7HFzwqjAORf0wnozP6ZPteqGn6S7mqIW1J1bFQL0957slqH+zMSFFU8maB6GCKHUYUL4lvVi2NyYciwMswJoOJfXKAz6Kow2TLkq6x1HCLAV2BDuaAlRR+LQPMkJ6snKVjdyvPmOgvx/SoEM5dvKnUaoAfQIbQRBfxfvGJZuYvHw7lZcXjTcDWLl2vMzADKWo3bNyUlpaNGCD33kVBzdPLNfGdJaOMVXi81mCruJR/FsjLWZguvfOjaFxBNz+bFzce0rOuEnkrkf+kqSZmt42C0K/HAqzLDaemLmNPJTlDSA/eOoHnHFwWWjjauALu6A25/NpwD3+QpSvM5VWXaXicNGd9vrfQ2djbzVznSgwDpOO3ukfa4Myi/zE+L+lrNnaCet38QIHTwCN1sEZy7MSDG10g6rjPGGkeJ1NrMLkCOqTwI96OmQEIS9LpLPEKpXeTcAXV+GF6IodxqzPqPKjQeX28GyET2LUKjdRBGL175cG5St7gX91tSfd9oEHBFQ7owxD1F916ARb+ebY5p0TRwWgYAw==\",\"page_age\":\"4 - days ago\"},{\"type\":\"web_search_result\",\"title\":\"Braintrust - The AI - observability platform for building quality AI products\",\"url\":\"https://www.braintrust.dev\",\"encrypted_content\":\"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\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Braintrust - - Chroma Docs\",\"url\":\"https://docs.trychroma.com/integrations/frameworks/braintrust\",\"encrypted_content\":\"EqgBCioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDD1B3OwRsGMRip7JXRoMjFxOrdQFH20gH4POIjA8h4Xac/E+9lB+eaWrjN4np0qXutbXofhEnE0X0s+cxbntgNIXSewit/2Aa20K/FoqLLUEpfWfm1/IC0w62viNVyOpCUQwd35PTNjXuFdmS6BgxaULSODWhlsmYk4oGAM=\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Braintrust - - CrewAI\",\"url\":\"https://docs.crewai.com/en/observability/braintrust\",\"encrypted_content\":\"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\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Guides - - Docs - Braintrust\",\"url\":\"https://www.braintrust.dev/docs/guides\",\"encrypted_content\":\"EvUCCioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDKiKh9ufw8L4AEyNzhoM2STi3NI8pFuelHjGIjBOfZ5r5q2+nDg3OfRKW39ynM6AVH5cp8w/FnxoynRynUGNAc0zg2MorKvhe207xcYq+AGFDXRGPdJ3fvuwS2rSa2KBYjtfLGr0P7WMllXOJrmpwmfB7PNex38ZY8iEz3wZm51RWpAGPdI90KLr5ih8ovPtCpgFbV/ni3aQQ+ThzZlFZNAYoC6BUnTlISfkE+crvCi9m1YqRv5lwCnTWYTsEkydMbu/ZpsxSG5wO+wNTiLoIr2u0imnhgRQhJX6Ektoa44ihPNk5I9sqVS+ZSqXeZrAvXmgI9xF/cMHVNyVfXfjSkJdoXuQ2rqnJXl9vbxJCSL/A0m/T0F1S+qzIBpaWnKg4ImhLsQJbDffcY0X3n5YOQiYBXs8KCXO9Lupf3X9QxcSJarZy60QbxgD\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"braintrust - \xB7 PyPI\",\"url\":\"https://pypi.org/project/braintrust/\",\"encrypted_content\":\"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\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Braintrust - - Apps Documentation - Make\",\"url\":\"https://apps.make.com/braintrust\",\"encrypted_content\":\"Eo4LCioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDNuPD9zZQ54a5XUc1RoMHhDrWgOIZ1FYExlFIjC5zvHu+ez9Irg7s2VTmUIu699QOgr6h583ml3q2yUT/bUUB0FlsDRFJvjlQX7dUEwqkQoUWeB/MMgDQkKhA93OZvJ+CONxe+Ao+21xyejJWOo/ybpm5J+xJUZiQVa79lTOfsc2NGw8aOBiM/xVZabh4wLvE4/XHjZXNoglBePE39TwFd3nuGuC2J/sWE6956Ecgyt4QoSnOSuvFfSKFa61jc8dxgbjJUzzGJYXn7yKuibOmXrclv7EoSULF16zQASN8bIeXoYPVcaPMhPJOhjBvZJxVmNtcmvaZQQLbHSxdJm34r3HIUt3YdgNst2huB5VuDCey3HZkVvArMcPr83RDi19reXbOw4RakEFTwRN9HskMIYwBlFvWGenos5TrLxviz+AZpM0LmmweLTU1cNu9WPc6p2gqbp7GyZCmjOEMHJx9h5QPM4kQI4hTFRUyV7TGM/LUwAlrqFrKlv+ol77M2ilKvMsmoltlDHfFRdPOzYr/jSKf8Yuah4rfL0wgD9p2zbWullaZnixRA8ZIvu9XLzKAhM1poVKV/Cy020t9glYQVvknuGLnOnhrI80Dh/kUrjR1g2K9m6aXp8+cb0UbljjTpZq/YgzPl8a6BjR3MGs4GDphB7qvy+k41FQKAfVopvsGoA6DQTgj0C4KJovsXM1b20zRGmr466609WfpgUrP67TIvcGwrYcwnr0n228gpOwNF+Y/16h/L38zVpLAT6XAFaLAgmiFe4JLCF2K/O1ZhOK9Aqp+f1/286tTX3HIcmrQzR4N01GLDeXX+Tx+xog15UQrMIlZkdV+11L9RU5JliGb0C0XuERQqb0snGJSCMtMBfgdc/tLtuTWS+UvUc9+jChxbsF0XOeYm61UfHqiFPfdwdAtdSj2ZzzPHfx78vlptUKgW/rBJOiWj7bXD0t2aomo8FP5WBZ91+3OGzACneRbjKXDOCzyfi3chTKlDlz50U+ns/lLFcYjtVibH4R7PO0KGqfF2BH4Ev/ynBphCnHILmNbB3bYhMW7QvqCHRNXg/SDpltlICOcJ5UcJ2ajjUu0+Mvk/xb8mzhLfNQdpV9B/J7Dpw81wBWletnMLFloGsS19WnbY+/0NaYxV2qjnvBN7atIX/cLNOHW7rNC7xSssYwKzGsjjaTKfQ3ayHnpsPOlV9OBCC9DYQEPrtorUyicdPhYxAdpJZA/YvYgbWtSDEB0JOPgCyf6a3vv99oHn6opJEbxb25Ix28Erj2CrgzaxdsLOFM68J0kf7hojv4E4tEhNWFeihbJyKWZAepyaKBu/ZiNShyFHgTyXKPiYDJUc7+IverqMnL4qkUSkuFMLAHGYUU/4XC5E9xQgjiHkavHPlxOtvjNiTLzUSVGWpm1j0JIOg0dRCuoQVmT49cFiFF+49ZNU5SH8ZX8GVNvQLHS+Jh7LzctvqwhBchhhmQdtsQyPB6cQvD3KTKrGDH8y3c4XAkUxsmhSaxDkHSeTi875/uRHjmAr4hh1U2xF7DwHPEnj/dMlDFTQmQmwjx1wSrlc+8m+i/WCtmWrRZ8n/N1R4mrAAEMdy0tTrSNLe4gwixaq3xL2UByleHFRpQffPoqVy1K1te4Yh+TyIUq/epbIqINAitFbsHSgUXJFevHQxggO01ZNgNqDOYQo9QU6rFZyHq3SyMU5q2CnyA5ZzDybiN6gHOuWOs6FANXPktU6N+A7dpPTdY779kVBuZHv7UkSneuG50z6p/OOoRTeRwhaBaKH3ke7EA/+cHfutC7wDyT9UBxJvfgzsFKnLTjUWyYoe+iPCdNUmTdVeZGAM=\",\"page_age\":null}],\"caller\":{\"type\":\"direct\"}},{\"type\":\"text\",\"text\":\"https://www.braintrust.dev/docs\"}],\"stop_reason\":\"end_turn\",\"stop_sequence\":null,\"stop_details\":null,\"usage\":{\"input_tokens\":10091,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"output_tokens\":43,\"service_tier\":\"standard\",\"inference_geo\":\"not_available\",\"server_tool_use\":{\"web_search_requests\":1,\"web_fetch_requests\":0}}}" + string: "{\"model\":\"claude-haiku-4-5-20251001\",\"id\":\"msg_01RDcywva5GgKbwcwtSs6JWQ\",\"type\":\"message\",\"role\":\"assistant\",\"content\":[{\"type\":\"server_tool_use\",\"id\":\"srvtoolu_01HrZT83dTM8QxBLhuB8wbhh\",\"name\":\"web_search\",\"input\":{\"query\":\"Braintrust + docs homepage\"}},{\"type\":\"web_search_tool_result\",\"tool_use_id\":\"srvtoolu_01HrZT83dTM8QxBLhuB8wbhh\",\"content\":[{\"type\":\"web_search_result\",\"title\":\"Get + started with Braintrust - Braintrust\",\"url\":\"https://www.braintrust.dev/docs\",\"encrypted_content\":\"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\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Get + started - Docs - Braintrust\",\"url\":\"https://www.braintrust.dev/docs/start\",\"encrypted_content\":\"Ep8ICioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDDJpr9P+oR/huu1PPRoMVRVjn4L+RI892XB7IjBbFf5OaCr11TF4bjXN6b+q7ibjhPewXSZp9sW+vXCK86lyCoWS6ZI1BoBtzO282vAqogdWa3E4M62Mv2s9LFm+ONy088ohS5IgH4c/mJYKtYhCDQxY9P16uiH2Kf2uOzxer5Z1Ad1KYVHH8ZrYD+1oeEYB3Cu3iGDGb3LllOgJbT5EDbP0pHhgPmd7H8LJuyvwSE1UWefu4Zmc0tJ2WJwCi2WbAzDfOObP9hJazH2U8DsKL2IAXGWkUWPJgzjl36F4K6ITbBAR2gIH98r3oMSbh83N6BzUGyfkPw00kuRiljj/isgtAlN7FkiacJpEeafGzeNRcyAapHSXLWhYGlpoGhReQo0L90fwSXpDNF/k9hK8dpqxMKgso89nFrQe74GejjQBzM/bIGoqegHEHIzN8ZRQ9q9OXzLunx/6xXoFE60jx6CwLV43m3cbmyJaiEmSPAyLE7XhNr6nwxDyzaShAd9ZVK809AQVSfWLB+GMUYMTO3Yv46yDug4xn0kXeuelakPnaOO4kzPYBLXcOJaEYxmjBTHul5hpEvWYK02MBuBnlrlP/bwi0buYebF7yUGL0aGJBZ6qL3LxodpTfx9hArbWI80iKAq0d5hxl91enoS0315mRe3rr0nHAbHD8R/M27+CfwZJFUYQybFS7pSgYjSKrumF4K5N7AM1SKoZ1XRFZ1YM6pMoCZ0bUY0EJok3FT1vtoCvz5WUrr8ZGB5iVSb+PXmN1nCbm/o+L8pitwKDNuqORAWywuKmgtRC/OyWyGzESHgpki6ZWy0Hy4Rs5qaCzLXug0FzpfYXoELNMphXPHBXhuyjXRl4OHVEyLkNNEXG5OGgiL99iLQOdN4PJLHwhTxSc8pSHViVexFgivUKPgebY5uM1wjVxGvWpOIDhzNpENOmAybiUoX2dYqJgID6rsMySBxDRpfgMi5CZvJ/rbYITTGpsqOF4ofmqyW/EWcKRshEmETSmGbmgxg0aTA8Sp57MhMDTuZ+mdy1lCvgR2JNRC/RMbraVMscNsBnD2cPXiE8d6q9TMar977Hdj1vymsVfAPsPOaFCCQhJsIQ2XVzmJAXkzdIpmqKZElndEXyz57BJVSw9H2hHBroCETpNWROnqfbXqd+g8puFYNZ9k4XLU3LSwJKPYoNOp8pEuC+s/oS/gD3oJw716i7Nrx5GBST+UUEbU+QMJwdD8y0uXGO+5masna7tk3HcUdHoS2uqoM1gFelPg4IDK2m7/mvH9fWFX4M2I0S+/oKUeG/8A6++J50YYlk/mys4yQ7bgr4Ar3BUY8dNnhckLXHsV25AigYAw==\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Braintrust + - The AI observability platform for building quality AI products\",\"url\":\"https://www.braintrust.dev/\",\"encrypted_content\":\"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\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Braintrust + Network Overview | Braintrust Community\",\"url\":\"https://docs.usebraintrust.com/communitydocs\",\"encrypted_content\":\"Ev4GCioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDCpQgO4Bc86tQpvuBxoMsPwfwlClHiNqRUguIjCX0LAVMZ7Fo+JZCfQunGT7I+Yh5VVUjeztEXJz1td36ToCiFFSAOv271z60WjdKQcqgQZY5ld+KVFve1vE9efxGU1lvIpL8DPon8g+Gx9vu9xhduy98N84Q/YomQGhrb5uj/4rSEVkSrW2LkJqtE/uCx4zJD/66L/jOXtpyQnxeh6OLC8PHY8dw66gRwyoNglt45YO+c50RxqwTX0xbpTrjRMMjJnHkAnQFORfK/bmCfTrIAWqbHTmpqSd2cbB6YmYs82S0HafUiH6FWQ26imZyS0T1fTP115vvyq/8NZbEFywOGo5jQux08m76Gk7JzQfAkDFr1aFvXSf96z9/1po7L01IwYEV3cIzxH3Nq/jLa/F9oUlsVAEqIWwSdBfaAwKrInV19fM1tutxktuhObViAFZqCv0hdsEbp/jnZ28EI1LeEX9gH2K++JnDI+DPOxQURKDFDXfWg6XGX5ZCWz4vRNJnaLQR5Ud4Saqv0QQ1pwcxJRLajTqgUtP2NUSFfHiwDBB3Es6eClNOX7cCGMou3Q6pEqmpWwQMOnNYK6c5SKdD4NwIrzcuLLJWmKXdlzY15jm4ygYHI8dmTRF9eow5v/Emdl+3+9XsfpNtfvtEfWJTQ2f7VnBD6y/7tLKHezCLZ4dYYX6zY41aiD/F2DkKDz9wdESqYmmCzK924CIlSzGyyDEb0lR1HCIoNexS1gE6AkipYa6A0CCxb/hB9d3QRDWNwZXSQ4QMlUW86NXFF5nkixoyXGx4yLZjtWaljfwK2y239AzameWrja9TMrcmF+Io89N9h16CG97cOBF6Hs9p3xE+ipjJ3wIpLtKV7nC883NepBwsWMKG2VK2gLqbSgOaQSaAZi/YKdhlGZJdDYe4yCAjSFIm6zP8w+qKMV9XeXPF9S5ba4FGz/A6oCX/TAj4FsqeivboMCTVf5i7Kt53LP94JRJr0IjWiyVQCBQLbhmLfBlkjXFNwLQS5aYREd0N47cO3A1OsVhs9dEI9IC54gIAUV028mLo53Rfp263dxETX25cVFEKS3x2d2T7V8BD/ah0kCFHvKO4K655wuQUZV76N6NWnJzhBe+c0hE1vuaGAM=\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"braintrust + - npm\",\"url\":\"https://www.npmjs.com/package/braintrust\",\"encrypted_content\":\"EokECioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDHvjmoijirBhlEqN1BoMz0x7nWAAgxey/xWWIjDb+DYoWEEsjcTb4KkuZuMar1jSgiqvR6+CXNUiNe9wtivUCWnXBffZ+W6/AG7Kw0kqjAP1Zl1q3ACwKaVtV9vqixRNDG0AH4M5E7JVgJryGGEvj4Ekhwvyj6PiBQ/XgE/4Ove1hyr5PywmS+hYFNwsaXalWFRH2XODRbDpmctIZrCWlCr6k1Lskd6yb3h0LWvwrjpP/j6g4XTEE+gD7sc+3yMK5Az1yRNrruWDfamw5iqGrrbORKm4dsfRUqgJEKDd/5TeUtUtT872SCthLV/d+VD7Dxvv47bEdiOKbSfPYCEtpHSaVmj3J01OG1E+PHisKH4xExBeezuhF2aKhje8ujYL9XXkkkPHMqtxSCYR1dT0rgmSWm77ZBdkbsWx1+4LjttVqrJrgNnzysbmlQSP4YtT6xCTa5IpR/htQ3T0rJ2/xFm3s7CZQKShEqEKZWHYm59Xy/3BcqSg0o+Qoet72OsxNJGpuUzNE/cNjyVmlSJXarKkU+gOo2CqX1kgD/dmJSc3x9RWSI3ss1YIX+FhlObATZTHdyOEBX1IDg4+/TvRq3mjzJVJoSKlnwaoeUHdliSE2lwxx6FK+AxB/OwYAw==\",\"page_age\":\"1 + week ago\"},{\"type\":\"web_search_result\",\"title\":\"Braintrust \xB7 GitHub\",\"url\":\"https://github.com/braintrustdata\",\"encrypted_content\":\"Eq4LCioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDCR7G6A+xTtKR8eD/RoMNgNpJ76iU8fsuNDyIjAjpGeSyOMAWxtDiZw/ZJ/kZcFMBX2rU39gqNGJ6FQzYcK4Ui3zIZPACsD4dJ0axX0qsQr8IJIFkRi1MvP6R/JTznxQGo+3O/bTtoXzVe1spV8t0PtI3FPlIQE1JJifH4Ep+73bHSe39m5smVGv7eT8J0jeFw9ZoF8lo9bo0uonWNJZWe1xVfDQ73dFySXcuzIyEiOYBpKVLUxfqnop54Jq+GMxV7D3o/n9Nb+UOpOLV3QDb5cO4D6ebvrrQS6LTN5NC45pgRGg422kl9EB8c9mqasft+Z+qclTxgRZJNPQRkhwV5o6Of9mxLh2HEpB6smTNwBoke5irsPkhc4jsBwCOYkewbNmcBv9Q2VAZ+gzkOLeTg2uadWPTfXXkmuNNQT47O7yGtbyIQaVjhP5K122KYOx5nvWcBaT9ASm+pCHmhDwSaRqIxHIARFiZJUFJQd3EyD8/P0P7eo62nGGU0dkSzPowI6wibVOlgHm9VXI1eBhY2bNf2dtBQ/Lhr0D3p9NFHXHrpu30pxbDTsWSLrLyDt2nFuZPJ6uXA8lUNeEZQYrvynZIoINwrBfD3xL2oHBfoju1LrvZ9Q/PpH5+fL1EjZuAGM4LsZHuq60O4VDOdjwsknmVDM8wvSrvxLKiYy3fiRXVJT0p+sMoBA+xEVolvL3EDnLOFITb4r34pFZvMfqNqruFgqDHDGMNHL/FKQzWfHOMqxbg3wiLdwquN3Eq9y1/bvjpEi29YhDple9RW94hgyf+hLr6PC5L3Q402ygR9T8D3jSIj+efzQW+uQIy1fa8GaOGDt1ZgCFfWF6JLaCKuBnK8KWJUjehmfJiefn2fKrspfwcKsyJZzMeimF5IchBpUooOMrsRzyN+QU2DniyKw5NvXY5cqiKDOOfRBY8NwWd755hHf3AyfN7B4bWzEL0HxS1r2WZhLOflTuSKf40PuCim/lScIm4o11WjxqWEQwxrsrT+susZXTQCxV2sS1ltRr+liXI1Tlj+pkx8+LPLh74BCZwP1tiV4qDN2biDHA/VWfU6+c6jDFAInwKB7S+MtLtP3oLJGxG/mE7XcezKfaVu1gVXLPWMo2COjXvuyxejunjRLeUAUr4UKTkebAF4ICAqoAHrQK67kgtBs5R/efbF7IQKJXutTynVD4Onu7kZAN84hNU/rJnvD6dXDMJh6a0DR9kA+4JK9TDnhNqVD+18hnuF873zaoG48OWRTWscyc41zkevXUElwF85veREY/fOo3qFzKajR2jsKPFY7m+j+YaUdSfnvqsMYKSOTOT9tchTIC/yNowVykUF9ACryGEhMgkLfev2m88fc7QTI+KDrK0D6kUk/OPBq2XenmlpWqjEW5ji0I1G91CDc2UBwSa+nbvjxRivDaNIFk0N1TzzfMm88UYk9kAbJ+qGaZdoza4Ab1mw/5FlC4uA7ZTZL4sEBDD+QwhtBDHG4QpiJQ13Yj5Lsmt3C/ga+dX3qZ7OQWdkaE4aK4+tcKoWUCzMVAx5DFgcOIe/r+4EPHi5yzOfPkbOGAXEoSHGKjXKojH54iRdfURzCaNM9clBZB5Pl536KuZGwtIZRc1dwfPhYsnRk/77uJfj0chgSjfcIFb8UXfLEi34TTGYzpKfFVNNBbMSg7vK81dW0RyfrppF/ozO3LDR7Lwj6bWALHuaxtnRlx9Lrvnl3CHgRZF4vHdoijduMKcjKUiVGlg64ejiP2knXTn4u2A0dKJsZkFdqgYXp6Agp9qyjjJ2clB0uU6PFMZC1nJfULfWb6IJ1qWlPeTs6NMAb60hZug74XIJMnsYIuu8eCHc4bkWsK+diQZ6Qb9OD1avVm/ocTiXI2GF4YAw==\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Braintrust + - CrewAI\",\"url\":\"https://docs.crewai.com/en/observability/braintrust\",\"encrypted_content\":\"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\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Braintrust + - Apps Documentation - Make\",\"url\":\"https://apps.make.com/braintrust\",\"encrypted_content\":\"Eo0LCioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDCunlfYUJX1Q44d4fhoMOBUZIu9sGA04W8Y6IjBVmZ91j8WOvpU2IavYno5hxpfXB8IKZQ3hP85oGkney1mUGv7Ecy1lCGAGBCSCB1AqkAqKlNhnM0WINnqLMLRSGC2FkvQMDzQLWNCFN1wXnMORfsZa22hwhmUmAsI50gZAl68rzyQ8/RHmKmIZB9DPO6IBRvZY1zR4YiJ7ZlKxy6iVJI0z9qKqrNkPRBNLLJ/8VYB7/3xXI1pR2YaBSU3AFjcBU6ZuSQK3lDB+O0Yei8LmhiHNgZpDRDnnt04HsCcD4GxCj45HQap0SIaaq50bDzsm8MjJxgdMe4L4c/6B/UXr4Wt0DANlFMuIsHm/SvxJE2CuCeR6tYJpCq8QimRzsQf+fdEGTNkIBO+xnFrunpnLdBoKAX6kfi8TG1DqppHoGLY/rb02/xMThimmVpOMq8As2Gz4+/LEgdgPb3WdTPHGjUE7FtrTM8tHnq4JAFItdHEQKzL3vLUHdSJt2ykgJnR4VxwAQcYg/4mhzj3wBTK9PyFGCSgq/yf5Tf8ijR9AK7byhnY2BrW46Kl1eygPs4wSVLfN8EOuIfb82oYzoutAoSDAGjuQLH7k8zl9ReUXscGlKTiPMktH4R37W8hDyKsyXw8N52DhIiwP/oLjOwzF/huQy3Sh0t42XQc0wnhiAivbwDUEKhBD2abRE1eKsha2fu5H/L5Ql+SUI1LcEEly3HdaHYrFxmrKPx0eyS1e5njt5Igjt8ibOkUGsCH7oO40aay0SaULWd5tsWP5APnqLV7FW0Bk+ISoy3U2TS3j0IPolzDPd1Qwu/+zybrHABD6nHc145riYFH9njm+uP45rnrUZqKOdByfAia4f/bXCLlbVnn9FZKc5Ay2PKHGJsMhBuQf1G6iLHwXJdn29Yun+hlfUjiIprueDKYERePPH18ch7oA9gWpamV9tmm1oEj6aN3rKW7RFIQiAE0cTnX4DSXmJOcrZ71cUU3hjD6Fs1fahIRSDpOETxK21GId7UdjH4qWhvAvTZJUwt80Yuxtr/qDfy9oaog6nQpChB/PcDpJQGyQ4VNmsdv2oZfuViNFC72zrrHc5ylkmeZmpCLMM4s3c2rF/BO2EI1PU0+xcRV+ZtpCgL3izPmSPzJo7S7gnRz634nipyZXZcVV7qAaE82k4seiIKl0LK0c5X8Nhi+kfNFr7iSBO+Vwd06zid6PtTeDL3bBOCmE2brYo1TNtq/EDFemdhDlbz6O+5nNG/tWrhQWkkD9YPrLebxMOv6vtLp0HB7mjVhEeogPT0RgQtftpAySoIYtsodHkSJM6uhny6JvnfZDs/rcPBoScfktUHRyk/ICJwHQmTETcIgOqnXGpYG2AmPcgl/gttRkIyl/tHjud+h8z1yrpQFpwV35rpNYhNK+Jnds32rCxlQ+OowcEDwHRYztzgEFs2FCSV53Ijs7JWGStRy+xL914hb30fpe6cLlGs0VW6umVO3W2IL0UxWc4baalgKHajSSVzmuZZmxxVLNhN4jasshblFkmnqtKaLPcb6ezqkBQx73YblAiZlvrdRQu3gi7BbLB0opr7xdCwrYXl8B09smiDVVy8cdyJQP7TrhFleTOFRJ/OGTVooVjil8uuwGaevTE+SeMSfoazdeIbLYjMKooAGxM5m4/ks3oYMT/UnR3PG1TrjqRKEwRW88gYYeNHzHPFYbsC5LRFGhVX6yMAfJbWAZ1G298A5obXi7t1w8UCQ5khEzT2dTHkSrsBZnMqNCOvWRKgmwSM0Prw1Q+xLvgO2xOFxk+SJVgxGcefRckha8GQf7AD1A5VDYSrMn2jrz9BoYAw==\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Customers + - Braintrust\",\"url\":\"https://www.braintrust.dev/customers\",\"encrypted_content\":\"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\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Guides + - Docs - Braintrust\",\"url\":\"https://www.braintrust.dev/docs/guides\",\"encrypted_content\":\"EvUCCioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDA1bW4Ola2vqUte1CxoMLGFWVfwnJyJgG9gNIjCnptQwuYFbiW6X4H7rmwLGpnNUJa+3Kett1biHXqVeVQeqzzJqv+wrBtl6NII/ClYq+AGf6J6v8F4RZ1IbizDpHx/MVUBCkdxUs1Z/wJE7IteiPVOfzYmK1NTx124yGgKR0bWxidJ4BxCbwgD31caLZW1ecvbw0BjP6CVJH/IabaLtE/emWfEZdYiDQ5AIvLvhqmAcDZ+3eWVCSJEeWZ3LPjZVINMlnkMNmjYY3+Y8Z8qSuV9vsniJ6l2JYRbHSKWC+D7NkWLvlo1fA1ROAlpLTmPfJnboz/tLl3wVZvxmdtRsO4/ekmgcEs6Tz3mFe1p4aZZp5YRARXYE24jd7F4lv4dVSTaPAv+UWBc7zF1vbHPmjcu8CDJdxu02bKuqEGT9fIvZomB2HMCLURgD\",\"page_age\":null}],\"caller\":{\"type\":\"direct\"}},{\"type\":\"text\",\"text\":\"https://www.braintrust.dev/docs\"}],\"stop_reason\":\"end_turn\",\"stop_sequence\":null,\"stop_details\":null,\"usage\":{\"input_tokens\":10204,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"output_tokens\":43,\"service_tier\":\"standard\",\"inference_geo\":\"not_available\",\"server_tool_use\":{\"web_search_requests\":1,\"web_fetch_requests\":0}}}" headers: CF-RAY: - - 9f166e91188964a6-YYZ + - 9fa1f9428b81e702-YYZ Connection: - keep-alive Content-Security-Policy: @@ -67,7 +66,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:19:55 GMT + - Mon, 11 May 2026 14:46:33 GMT Server: - cloudflare Transfer-Encoding: @@ -81,405 +80,42 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '3992000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:19:53Z' + - '2026-05-11T14:46:33Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:19:53Z' + - '2026-05-11T14:46:33Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T16:19:50Z' + - '2026-05-11T14:46:32Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4792000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:19:53Z' + - '2026-05-11T14:46:33Z' cf-cache-status: - DYNAMIC content-length: - - '21403' + - '21324' request-id: - - req_011CaNuBKpGqbqGKT2UcMavc - server-timing: - - x-originResponse;dur=4389 + - req_011CavxpCms1rDM4hEdaDtYF set-cookie: - - _cfuvid=ArRzxcQmHZg0NGmHhbzETB4kzkEDG9zwJCQdpV1.LGo-1777047590.5798032-1.0.1.1-A2wrXvfwxiB_w2fWozZxvqaLEiXY7.flYcMWfviUmtQ; + - _cfuvid=WRoLwoHnVOvkj5sJEtjX_cudf8kkQgLTv5AQ3I8EDbQ-1778510792.0827508-1.0.1.1-bKwsslTyS9CNrZyfYOcyW9x24exaD3KcZJXArkJLPcA; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-da033a7426a8e38f567651760b76334a-06385f108fa0277b-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '4388' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":256,"messages":[{"role":"user","content":"Use the web_search - tool to find the Braintrust docs homepage. Then answer with exactly the homepage - URL and no other text."}],"model":"claude-haiku-4-5-20251001","tool_choice":{"type":"tool","name":"web_search","disable_parallel_tool_use":true},"tools":[{"type":"web_search_20250305","name":"web_search","max_uses":1}]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '375' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: "{\"model\":\"claude-haiku-4-5-20251001\",\"id\":\"msg_019YVRkLTUVWeUtYSLqGNfdJ\",\"type\":\"message\",\"role\":\"assistant\",\"content\":[{\"type\":\"server_tool_use\",\"id\":\"srvtoolu_01E1REAwxSyMdyrhh69QwjN6\",\"name\":\"web_search\",\"input\":{\"query\":\"Braintrust - docs homepage\"}},{\"type\":\"web_search_tool_result\",\"tool_use_id\":\"srvtoolu_01E1REAwxSyMdyrhh69QwjN6\",\"content\":[{\"type\":\"web_search_result\",\"title\":\"Get - started with Braintrust - Braintrust\",\"url\":\"https://www.braintrust.dev/docs\",\"encrypted_content\":\"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\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Get - started - Docs - Braintrust\",\"url\":\"https://www.braintrust.dev/docs/start\",\"encrypted_content\":\"Ep8ICioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDNlhrrcuGWpNiSgRmBoMO07gTPN9EiKNP7vOIjDKDS7CYH8+5D6J0JOtyhUujFqEyG3Fu7NDyZaSKxyqK1sjjanQFSk0Usjb5l37d54qogdbP80/5UUoQoK7R+cCR2JswvQatTNd8+MhQxL7jwCN1U1lLMAXyow3MYrHYOAL+mnzIguJPxBeVS9T1OxMysuaSM69/wYBZfoGJncFvCy1sFj0UHht3aF9vAq3wGLnvKdK1zFR2IF5YgW+GguDrjkQg5bNRXfur9ATo+vImdL090qkvB2S9OzOZqP4I/TpyD00EH8YDfU8WRPMjHsCUanC/0U+7M0WkmGgMq6bSxEkvVc8nzclXF+6DPge/eNK99p/LPZDsITlBxq/HxhMMz6oy2Nt9vRw6kezD3lvEAZY6M3vfvIHjlb9aGMKoYjSNPcATI2+4uiVZPs2Ok5GBziZyWPLyOA6P/vixlUWRUr8Q5FTk/ZyQnDn5MpnPBBeL+PQPLz+Fty889nKo1eby2VOvEXl2gJKDO+MrSW1QlpnL9CWFinQgTsD0Cz5eroeSE6FI764+ZCLU//sGLyzMhpTLR7TOyHoyWeu2rXH9Ey3jElKbrm9HPMfU2iKM+Yk5N86b0KshxfooKlBk2S60qVczhIgrFL1urJWNUP5fZkuqdUTlyRt89CUMXuJxtT9QdiEsDMCWeaKofIE5WwEmcm3ThWXSBm/au6CJ6AkE5TkJHs1UhKaRyVR2jnS5t7eNuP8HjnwvgRNDJCrV6L/e6KDjwcXr67xwKXkwDewpg53Lueq2P39FzAnznzQhq3OCIT60twkcGReQLhX6hFfihI9B+0XK71jHx3QJnfJpo7BZIKKLGQwLL0MDUrCIHvaxlJGxDMpG+oejx3zp+axcieaYeFOq6QZYtfViLF3AtilrEjcylRNJ+D9VPtRNYju/sB9HSNC/Vmd9HIID2+REazx5k/aZyyxN1XraOawP0lnLHoYkQd7pQOrm++E667lJkK2+EKn0+dG3gNLJ6sU2I9u0ywAofnVFHWfFuk6TA72apYEdyurRVlvdOemeK1LGEedbqQZNjcTnnKaNeRRCcks5AmY6eeopxtxLAlypwCw4fN/+zQeKmFV2TmZA2WSAVh+2hY/HdGalYK5MTKqpf8s53g0RKZfttpPPGk5oZq7GEZeXXGTpiPbqq1out85WcFoCzykcs/PERdMojzm/HrresmYeHUMifTrI48r6KCb/+w5odh3J44uST0T4frR/9mw+Nb4dePCjdmO0qHzbDiQJRaJIVdxm/jMKRKM+7YHPvxhscJa45pn8VXLbgaMrs1f/KX3M6E9hKURYyLyiMH1DD8YAw==\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"braintrust - - npm\",\"url\":\"https://www.npmjs.com/package/braintrust\",\"encrypted_content\":\"EokECioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDLIPVAzbTBdAZVJX6RoMaBj7Y0TZWkb9Pb0wIjA2BQy/sxw3+i8LSLi4xi4nkdK8m3hAR/wXt+6qjEKpgQevk5qKUbTBIKLkinBrSngqjAMpDQ+Wd1Bd8fzFC0Lj2ru1v8JBWdgvSJOy5Ps1CZu1LJ2pSFMheBueDnVO6z2GzbgWs0+Zo8SRBlxYezMAjvxHSbv9xdbGbw3xNNr5TxRe4GeJ7nvezpDmnxU3dg+PtqDtLBEWwqBXqZ9sJg2/PAfeH4Ns2poguTCmk89kEfvrg0sYEXyokzNr8+ZbA7wu5g9jmJaOrTwCdhil5z5ZNRgPu54HUwo92lxZpCkBa39PCW7M0BlBGfbo/uKei2oabsDB1qMbMngc4fcBcHmpF0iwnSKa07CQe16zIQ7Mu4KGC7rukSf87e3FBDStd8fAYNGecOMMzy0HvW8Wg31a2PEhqpEOb7LNi43I1bZKD4qV9MkFGIXRd37oCiJApClPwh8TphDn88dhA+Flp0eHA/GiVRcmmN92w+erK5GoVc+AA40OhvOiUNS0/PheZ6fARQpkmMF6hdX1uKALUttD40fkUBTLQGskxFTSlsOReeMCwAGnCq2iEW632Yb+rSKJzmhfbAO2LIye8+abYRMYAw==\",\"page_age\":\"4 - days ago\"},{\"type\":\"web_search_result\",\"title\":\"Braintrust Network - Overview | Braintrust Community\",\"url\":\"https://docs.usebraintrust.com/communitydocs\",\"encrypted_content\":\"Ev4GCioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDKB2Y18QIP4ggU474hoMh91JX8xd7oPkguPCIjDEOg5DI4Aaw2hGP5Ffz1GIFHYtS853asMezdq4YvOTXSH0+FW4dAmPxrmost3PBwsqgQax+tAP1Vo8W10rXn+DRuM5R34mKjHFlTiLzHyOuP85K4UMMhoPZQPr6Znzlm8Cpad9PfcW10+jvZEYwQ0UnHIg4ECGa6YjhEcT0QSvbCuo98LPDVGtwalPc+G6HnfFnZI+O7/4S9cWoRkRIPh0TamwmMo6mx8CDRIqVa8SNHhj8CtLiHb9YX5dXPZGC5EhxlkLrNBFKN1O6uWbn6DiGPCEMGK3A4tlSYwFDWWyB5SbE2LV5kqHcUB4+254b7069qSPEMGZ0iOfqIDvEkcMNbNaaLK7UE4CG7L6deQjuhIzvapMbIAsoGdtv0eZA0KbjUCg0VS6IDRWsk+i27f08uKCelEqgTZm1MUB5ge7IsHBQ5qoLUwGnIgx893ihs4/usPE+ZGLaPkJZ2UUdDDLXjWLOvzvGl3mEuWeiN5DaZWfspXWim/NRDU63qVY9c860a5lfHu91umHHdsZKfXE1BwVMHj1GrEO71y8pfrPkzvLK9ep+fSPSatXpcaZVUbQxCY1Yj6V88kE7lgWOz/BOkL7J+DqNTVgujnUhjT/heFpW++ukBKnAXf3pDZpuP31uJqScYL0q/1acsT0QCIfuAIO8x4ramjMgpqzGpfAncOfTOmSqzfZK4IaNiIxG2PLy+TrMN2BMI5X0ceHp+YsN1M+iPcrpKFRWHVzAV1qpu21Tl0z3cidXGi3UgYCByD42m6pQDxvnZ1PVEw6XWglb11/sX+O5treH2WmmBhf9oKBDpej6Wigzkv3bbIPzT9jnTyfcFGPRD5uec4bLtSM+mM9rVcoa+qUwHZKfjSt94GSuz7f2ywBgN/WSQulqeEDlwwX8+koXURG775DysPsxbhp/4RLSBrxSVANCvHIQe3TebqilB3vWqfG7ehzmHFGwwHh00GQ+6oUl3yTfTtDqLWhpFopQ1PFoiydAzZF3VWt7yLJh+GzzmFJ2VWTSTyPiVQlRZqvF1BARXLT82VetWOiSwEUoGC4yp3+HOABFSu9mkmPspX/lWMOMRYu7nCCvbW9GAM=\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Braintrust - - The AI observability platform for building quality AI products\",\"url\":\"https://www.braintrust.dev\",\"encrypted_content\":\"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\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Braintrust - - Chroma Docs\",\"url\":\"https://docs.trychroma.com/integrations/frameworks/braintrust\",\"encrypted_content\":\"EqgBCioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDJhI82i7hh9fmULpQBoMp76V53c3KiT13SrVIjA4By2JBWjmQ7keSFqvJw1ougDOoAqzDm7iFXLm0SbyI4jI063mxmX+6HnEfqviDGEqLJ9NfOUfx9YZ237Xkm2eQtHVdWal0TFu9fy7wnCMkUxkTJFxDODK4ngrLPoaGAM=\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Braintrust - - CrewAI\",\"url\":\"https://docs.crewai.com/en/observability/braintrust\",\"encrypted_content\":\"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\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Guides - - Docs - Braintrust\",\"url\":\"https://www.braintrust.dev/docs/guides\",\"encrypted_content\":\"EvUCCioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDG56reSlbUweTvpAdRoMo1qFrEnjjssP/iPRIjAZfAKuG+aTEoRNVhDbNzylDP4WcX3CtO/IewUxOK79WYNxiIp8afSMYVfeCT1Ij2kq+AGRMbvMvkgf/HSBXc9AWxVMXurdDaPxGZC1ak3tcWcQiUddse+Z1+ZdpfdCbwdzltRT4ncMvhjnlVTLbb1Nk9YzJ+jO9/qhDImzIM/z48m9EQ6Iv86c0gYVnFdlakLG8nDK0oHZDO1OkEVzWu/0nBwxHcc80YRhfkXL3DdN/IUElpK9Xl2lG56aBCfSxjR1zCTZ19G96yUxnbUynoO9Yi98FYdQDOUTf/QSNwPkcGETO8drjn9z74bJ9H6Cy4Ew6V+sF+rA44t8yDG6JTdPuWDKOWypAUUeFBVVx3DsehL4PovK7USkY1dIS6QOQWjxhWO9c+O1schudhgD\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"braintrust - \xB7 PyPI\",\"url\":\"https://pypi.org/project/braintrust/\",\"encrypted_content\":\"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\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Braintrust - - Apps Documentation - Make\",\"url\":\"https://apps.make.com/braintrust\",\"encrypted_content\":\"Eo4LCioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDK1ARrRetmfK2g7BoRoMJKkKUIMzmGk4wQlIIjCf6ab/VVbmgxExgIBe7+JzudGMIoCNFbyHG8YdfSG/b5H2rQOIxl6wRlPz4cMmBpwqkQp/E5xH4W86pQW6XeiV+R2C/gjtI5JSl0S74EqmkRSTljHiHafaNiG2xaCHRigFCuKb0uMzDPc65DdpGmb52oalfEW+0K7pKWL+tjKYWboSTFSa/pFRGQhZ75U6PTI72p+vpWTKC8XkIFC6LNEFISkgupz/fUvZDy53vx93jrhQUaZY2jQcfQVlNbGniQQRoAkA7yT5GH+vVyV8ZyBYYe6Nn8zXxEBlAdkZpL6qXN+aKAE7NeC9u219Iugy8QMWSMOn1j0OOIA6U7CAuJlU4YC3Izh32hNq121scTjtaRitUSCeWohMhYeGL7dtetKo8OPaMru00v+y9/3X3JFUFkE2eh/+uAxIidk6RWW4rmp2wZRulx/sSthWBxTdloVMZ1GB9o3W/sfZWbr5/DlwZnYWrz5DdSZf7BlWGONDv7gscZ9iVfWwAfGEL/wrqdXanf/jn0EEGhytg9o40z8aoVKfDj+fhSxP7iTlL/0ObfDYcA4OwJJj9zDiVW0S6kjFGu+981k/v/YM7yvgV+5Uyb7k+V9ksu2/yr0PJ3B5XIRHtmPud5H1aDDq/HJyCNSvDIceUQaB+MNNn0s+S9V7S/mMHM9aWzVTBGXIkV+RkEiYIjUv2fvkTgySFUUrJHIUwq0y38tsInrDsQgazhNuPb/UX5uCxlZAR2+rWkBtq+XGPAc/KTeRLmnRjetuTmrm3lqoMypIZm9bMXYgeEQ7vG4qa0fA/Ws7ykehhyQHan8xuei1haYRuOoJx8mw4NF+Om2CwxWcXeGFd2HYnse86lNgYoQqkqYLXhfOU2mxjCd4uIGNef3r6Vvtgq4nng07kMGnuuskhqvP0e55BzceOmpE8l5hJLokBWEzMlRZ5hjnuw7OB/OnSqCYFeur2bEf6iHu7gxj5YXCNFn75YqwLD10V8GRpz2iRiXqooCtMcApc3DxuF88gl3A+Z3uEtGh/5JjE7XpAvkvqbvNxM5pz9A+RS5Wl2hfJM5TjXyRLRx1ozGbB3QNqqcHW+TC0IjW3ODgxiWmW/SCE5/bPuaEK5eXTrdbKEUOX9DVqtyzjglp9lBX66qodyEyZdasvHEFtkwIjspBjIm7jKCjOIt8SDrICorv720TqVwVagMdR+lrpYbT3aGDhRKORoo64x5hpuOtV9T4HQb+2lq4kTpqYncnUS/1oQAkqYdub8LmyShUYCWoFJDY+OHAimU5nFNahxk/3i2vKy2gXMEt8WLKA0Gj104bNbD5q6fjs86jTvDVmyg+/ZyiHab2HV6TOPGfjIhQ2bKi34tKr4it5nQBjt/Jeyn8TNULnYeLCV5DcM7IFQ78qv5hDPsJINS2I1NufNDwyhRLJWyyphaDjm9vaR9RxmO9nDn/TIF4AKo7UvHqHk+J5a44XPpAaxCy9mYFtSpEMCzm0hnEPD78xAcnNN3yKIfAl62yECcD5YG/e6eOuwAvnaXJD8a4Dk518rw2s+h3yZS0xjjC1GWzNcqO/4CzD5P2+dK7iX7PLp2paDX6oQqL63eDPd4ECqeQUVlL72UOQMrtmaD9m6S2aveHcza/M3wWb5Ui3+4rhocTazTLdEL8V/C15/rfRoRNTPx643aA3Q0Nj7QI2sM1C846Rq5kEOIihfNHn6U0MPoq32kl2DxpUU+c+DUXAOnS7IlGTel+xSgOd2gZWLXG0izhVd4OJYKn4ZzGVRKxO0batDP2sOUvFhEx2pNMwpTQgbQU+S1mGAM=\",\"page_age\":null}],\"caller\":{\"type\":\"direct\"}},{\"type\":\"text\",\"text\":\"https://www.braintrust.dev/docs\"}],\"stop_reason\":\"end_turn\",\"stop_sequence\":null,\"stop_details\":null,\"usage\":{\"input_tokens\":10087,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"output_tokens\":43,\"service_tier\":\"standard\",\"inference_geo\":\"not_available\",\"server_tool_use\":{\"web_search_requests\":1,\"web_fetch_requests\":0}}}" - headers: - CF-RAY: - - 9f16a6ffdc35fc7d-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:58:24 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '3992000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:24Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:24Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:22Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4792000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:24Z' - cf-cache-status: - - DYNAMIC - content-length: - - '21387' - request-id: - - req_011CaNx7iN5T2cyXyvbbeA9a - server-timing: - - x-originResponse;dur=2605 - set-cookie: - - _cfuvid=s6sFKn1ho0wnHEtoVj3_AjF8bJ37Y5rwEBo4YlHeMfU-1777049902.0539804-1.0.1.1-LSLnln_B3jV0nW5zmx9xBpbCO8lCaWgnugn8VhrSkho; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '2602' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":256,"messages":[{"role":"user","content":"Use the web_search - tool to find the Braintrust docs homepage. Then answer with exactly the homepage - URL and no other text."}],"model":"claude-haiku-4-5-20251001","tool_choice":{"type":"tool","name":"web_search","disable_parallel_tool_use":true},"tools":[{"type":"web_search_20250305","name":"web_search","max_uses":1}]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '375' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: "{\"model\":\"claude-haiku-4-5-20251001\",\"id\":\"msg_01WnsR43KdjhwAnq2FkiXb7u\",\"type\":\"message\",\"role\":\"assistant\",\"content\":[{\"type\":\"server_tool_use\",\"id\":\"srvtoolu_01Qnhv7BRUTbZ5TiN2LU79kq\",\"name\":\"web_search\",\"input\":{\"query\":\"Braintrust - docs homepage\"}},{\"type\":\"web_search_tool_result\",\"tool_use_id\":\"srvtoolu_01Qnhv7BRUTbZ5TiN2LU79kq\",\"content\":[{\"type\":\"web_search_result\",\"title\":\"Get - started with Braintrust - Braintrust\",\"url\":\"https://www.braintrust.dev/docs\",\"encrypted_content\":\"EqUNCioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDAXsqANPkz+5rInfUBoMcMJcSAt15hOnXVjtIjCe/NAD/Te6Np7QALfi/14ryQbGjYG+VRqPxMAdxyuxm1iQpEoBdoOvNFT3AKip/ZUqqAzNdr9LlJN0jyTY0fdB0Q5qUrIYB9U2DA4Jn9oir42cKK6VvT4WWM72/gEvU0ZgZ45BA4GWs8jLtHKffwweLc0mvJ5Ibp4zUeG+s2o/FyZYYDS5fjXC5Zw1yZ7w6gGm3EZL1Uoqj17/oi3NeWJK+Li6YGjlWbvRUSecJ6vIVxmhDHfyoI8KKWYXLl5p1N304B8B4XBUjccD8sHkG9WAUQ6Wc28/n77nTsSOXY1lmZyv3cGvIG7WfATEF8MulSMwVsqyACCy38lXf9tluFns6G1GVDQR9WtugM3FGf+rhuYofnIkE+CeQVCyZQ6qGsrXKxZ5QHNdq4TFpW9MfO75RAfP5jdCQ1Dy5NWis6u3yPkzJhxsh5b6Tp+jp2sffsUbgWLKPLpnTtqwKEIy31kCZcFkXJeFQUbuHGhGRu47bSonRP3VLbX1M5XyUxKWPcE8BudH+qSv+nFKY7t7S1RxfZQCZ9XmEcoY4dk3RL2sCykLuHXDVL6hCVrmIXxfHs5RfEjTuooMXwKQO1nxJsGVnV+GjCCGM9I8FXp7CKtwDeu42Wm06Rf5Ojl3ASYj6T16IY59BxRa8jjvpQqWmfGh8j97MA+1Qj7/8XgzP73jbPgfHd7Gn9yJ9HubCuMhq9uAhTkTLu+T86Ao0w+3iP1hiR5abarZStfdVeic8tMNBJXbY0uSkZ+GNGKfABxCoBA6Ab1KntoKym1S0FTsV20sWvD0GLzf5mTuUBq+ZIHXF9VE2helXoC2Y1+eLFqezMYVTw3frW3NDFilEMaAzh6aoKdGkZ2uoGOnLv75JHTLym6+Hwp2MnWRXHE4WW3sYbE//lGNHYD4yk61dw3fP5t3BANEb/SCzV/e6a30++/XRS+PKa+MtNlx93xo9EJYCne9Ha4Kz7crGkx6b50Hhp/PABkiR1Odvo1yAYhrJIjoxhKn3ntL3uLZnY4dMj/SAvx36E84KXNQeYOAqBmXerfKdLz30AJDq1kYPKVCb0iI64p/BlC0RbdBx22VnHmoXxFF05BEmXLdsO4t5bNzyqZ7V0hxdqrwQzbJjhfUYMrn2lxctLV4mutiheqVe/NTO9VJV1rfbP6H+k0xpokCSDKXkD4xGCdAVtMDvFgtIJi+lmkYjgGaZc+/A/UfTz125ZEgZaryegfVTl1LcEk8lw+RDVgCUZcAdmOar9p9PAACQ9FP0trXIgWMur+GW6oSiWinHyTZYoebAB1CAkfKOdCxVQF06/pMltWMNSqUcu3NG9PuTimYP+RZIJFTm57l/DnZQzTeynJd6bOscTf1sRUSAUAOCAUIPgb+l4InDWWNo7uXHBYZeFn8yUs8ZH6ZU/EtM37u5sigGjh5+sJYzIEkxozFQiYcQqgMpH91GQUvp23A4fXZmw0XXJdjp0z8nAcYSqfd7oa1BCcNEknfPs+CvqI77qLNogj34GdA3/ayNIdM+QxeUNUSoVn5BuQanBV1AK15bQAnOXN1VJcHtL8Q57e4wyJX56EHk1gr6tcYN1AaNvhXRSV75PBF+t8ZJOOeVAZ7pftFM/ndAVPAVRZE/i+Tm7AT0whLwe42b1bNudDrtw++IHkxTM+p27nQoIPdEivYzOtU47wpKNJ9YkvRZ6WcgrOrNkM+3S9dSSek85nNrINf/lNzbTdvqPGF3OwtQ8mAYcXQqTA9FEOexLDRFZbQPo29yvnjK4+uu+rUqzO3QjBOap15vdUK8x7Vbm1adipUkPe6YIu45jMfrqahIpNSGKcuXE2xPCyTLP48v8zg3ea9rjU0I8/yy0yxKn51Zjlk/K+gqrlS23eDp3Orc9wqGilp+aOCdyjKZKB5VJtsoD63ZYwhgT7j3dHsTCAcsIA1EFGnHBYYX22g60nXXzjQG05SJk2VL5RebMW3puRrbSc8XdBiscp5F9CeGvEZgCROlLL+itPfWXAskMqL6BAnSlXWiMt+6jd8caDPMuYeThj00TCLYuBUREPOX4LdLlhwwXyhmdb8kedLBslHpgFxMpt9RF8rvBV6nodUPn/XRNKUFestUJ6n7soqRNSayaj+ZD3SIaSkjZHRxgXTwI5fC1UTHvfLYjVxeh8kl4JpMywkA19KcnY4GAM=\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Get - started - Docs - Braintrust\",\"url\":\"https://www.braintrust.dev/docs/start\",\"encrypted_content\":\"Ep8ICioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDHBVm6X7sa/WJAJNSxoMvhdIuZUwe3qnCUN/IjCqDLGnKVCT0Fi0QlWx+f1P13z+VM1nu1+y2jleJ7PP9AnVT7LtWbyYVjdqOb/zMgkqogeYkoGoese95hvUf6vAOQEtpV7zSLtNeazvFSnnGvGDXwMW6r4Fx+qqXPMgG1nCkcXO5AyemNjcqMY1NHZc39Mgti9eKHFcxdwI3SXvtYzqq7wlHVbeiu9L/2KvRQ3LS/KpFgwU7Vjgj/z1R4hDiSbANEH5gwG9zY/Hb0RH9vC73bxQwTgYNudh6sav58RVPTCUaDidWoMvDUQsfhk9H8av7in11qpk2B640axxB5Bjzelwjwnbjx+M5cLu0i7drlRb2cHqZQsOuPR9XZeeOlY7yVRl3V4aNH+KRvukhWMh6JzExZrLT0Em/+xAeb0tfFOt/F2DB5chTHHgGBMIs66pNx6DO4UXQ6HD+vn21iv0Qtc0L4svBZF96+bIya9mXIAei8tM4R5tKeoG4HXhDdoSlqKn+NmzhhClgasQt4+G9N4xbVQvuzyOMz2uP5F/HTgiB735pEBietNz5T/bYmuLGv34cPNG991uznyyLMEPL/Qp/Kv1xU/mL7h67AC5dgao6cHJhmISgcQXgQhNp25NUjyUGV/4QybV0EnEnespY+vYSknt6mPxVoKM9/EPuc8/++7L7iypqYIiVjh21ccSzI3JNJN0sgHKa649qyWGeMQgLyoV+BJTJtlvHH/Rk3448W6mSAbYx4UOa6UQ2oCONHzmrl6yUmiw1BmQGn8Pu6ezOqcNN3UdmaeEhgFp1iV/5/w2Ho+zhelsyGU+SIVPcXOs1V5G8cXsxNB8xpy3Ddohb3j8pfkIf9qELEZgucflzj+dTaEu0V6hkMQLxVHacnkqC7y3dKnZH/5qNQoDUUa/1rl1UKuFpDWHT8jE7qMmVK5IvxcfMv1K0h2EovP+GwyzpIVusjsThfOtR612L44tFw2eAWumf9AXed+AYmcUwTTh1uJqTWRCorPAG2VVmz9AgPvHQFv03AI5IrnrRSMET+HbLhV1ZW7Kr+KjJ6EULIOKCbsPIkFa7N4E8ffW8/s+GsHEF20Znfs2ZHdOwD+JcZH3EIuldXVPIXa9CVuR292VfjNI+LSOFgTjuX0oJpA26zcf6G5gdXPS/YvN3tty8ofOsnTCARNZYxobjhNpJhjScp7FmJaDBpwIfksFk8vieLlXNoyh6kPgoGX2CphHfkEy3GLJXG88vxw9v+oZ9FTUX5k7CrVPv4kN/obB2V5KdebE5b+9z+JJjkK4/joOa0JAJtX5fFjIIzCgusEQ/TS9aSGkNfsA3k4kKpC3rE4YAw==\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"braintrust - - npm\",\"url\":\"https://www.npmjs.com/package/braintrust\",\"encrypted_content\":\"EokECioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDN9aLtgQLktdg2X0AhoMc7T3/R+e/DVJrIerIjAOPE7rNp2voBHmbXY6fc2ClEuDqU6cdVYtWDPYqF2UM3TQZDkoE6SVGDfVhpybSK8qjANFvMF7DNqJzR43WnSWD2BVmTuP3bVjAzRjH6yRecZqBlHJtsUVtu/eaVirqw72W2SbvaU4guvSKCXGaeBlyH9w8R+hePqfbRYqZMY8ORc4s4SgwEKsjrzoApWxFaFmqjftPkpqq+66biUjwFByFOszNcfdHWlzUy4k7ey/X6Bd9RmoNOLbhbXSYVDwE25KRuF328n0/E4mUfhkA/uRh1hNAqhupVg/COKb6F3E3tEzcz6GVnoLxela/9JL8sGAG3uSl5UoO7b2bTkt1e42DSyJJw1rag3mNUAUqoBrfGpiZrZmr5dxHl+MgHPZXmXn0BMaTHJN8nI3SaJhrM/+iEppq8Kc4XX4+CPgVNSJr8wO1/pWEGXjs4o+hKz/Js1QWjFV8TPfsr+k687a16OKjuU7SOnc3gtzL0YmXnACLNvwUjt4ZWImiyFqxBVZgdNr1IBvi731pYtPqAOKac02hy2ZpDl7P5kmQH/giKEJltm8Zn6kvz6LPct+upg8NyVwkPQCQ68QkUuyNHmRDcwYAw==\",\"page_age\":\"4 - days ago\"},{\"type\":\"web_search_result\",\"title\":\"Braintrust Network - Overview | Braintrust Community\",\"url\":\"https://docs.usebraintrust.com/communitydocs\",\"encrypted_content\":\"Ev4GCioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDNM+AB2oVNELlImUExoMplDzVX8IhIcp2NolIjBQa4iYWFJ0+NChyWaSC0c+wt00tvfxw0TW/tU7HLtTJkS75b5DlogOLc/WO/08uyoqgQZslcClB/tHsoN+OYJQB1DN0o+YpZkRBe40HAkd19ShELhPbmXczf+6qjSe89VVffdjdF1Zt9WGehPcbyNRDIJIFdu5DZUUhaKUjDP/BQaUNxoCtkMgMa2g3H+R+Q3DXTceeh2ugy94ACJEhYJ/6UFSCCo0dO2ZenVT4CrUSwPtIYQGI0krg3rzmHAB1vt3qdssh5XxZJn3VE8AjRtMJwpYkhA1+V4YWxru8vUafjjHx+mlJayiDVkWtU3M4pPukZVNXcg0hYzXotjVEX5Mar1ttyK8Xrv81lfVzY+qb/mJ8Jc7gnekFaudttZqXRPn7193jJCxGPjjepj/XpoXewVcjYzoLnUqJPTl+UwY0vIRzEi2RiGOZi9vdoc5WClAwxNt3+wc+wNfJfJVeY0rNBxpKp4bHxOmQxeMLp79fCfA3uCQytzCIowrLLLHOHPLLyhnNBqAHV4DOxuJzXtejPSS81UNPzinZBJNwZWFT6YyWawJSe260MSNVpk3jbz9wn1hIcTROLePUNaZ1HyxNH7GwURJScHceOXVyCHDowHscUc28hYnbZEA6Qq2Hg7t7skJy4HKkDbM64Ow7MT4NVtZ8RF5I5MlZG6unoH+4Zo7mi2QHt+1aVueVuutkn4kjB8kNbQIN/GEjqYS7uab1Wu70IhOiJ1bS/lBxga9hsBdq7rEZXBgPNQ3Dvyp2fyOZZ9uXqAcONJmxGrywl/5VlPCTjcsGBk6Fo3fOgZtrJQ+RNRQzWxjawxjiFnLL3Vy/c33hWxlhXwn9o4Wn2E/6lMOH4uF0WjBBlKz9ajqux7XJtKZQn5EJ5TYMZctSZcPH9q2B8sSHwIrmGo3cmb/pyMvbEnLNxiUlATSa9/0TOfmImnE/76/UcjGjoHrHGcrCG7YMp8p4VuU9jDYYOyXDWezqmMhjnGtcfeq2PRSw1lONUbA1h0mZadNLqnNlq6xk0gXYQt8evwOiLSUw5ZpHAGj11TD48wzPIY87CAi8xZlt2vds6b2aH58WE0MbXcoy0Z1GAM=\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Braintrust - - The AI observability platform for building quality AI products\",\"url\":\"https://www.braintrust.dev\",\"encrypted_content\":\"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\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Braintrust - - Chroma Docs\",\"url\":\"https://docs.trychroma.com/integrations/frameworks/braintrust\",\"encrypted_content\":\"EqgBCioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDAfjMexhvGlwnIINhRoMWJRXWSlgqORugJ02IjBdBx9ZzieaCcDMbQ2wB7J9XbFrIj+hER+wJff019AKhND+KSElR0Y/HmLvAMC+8m0qLOul44qsMxyiskTwgZrfz6L/NHmYt14ClrJqINjchWB+hQCmUKCJWvT58dcdGAM=\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Braintrust - - CrewAI\",\"url\":\"https://docs.crewai.com/en/observability/braintrust\",\"encrypted_content\":\"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\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Guides - - Docs - Braintrust\",\"url\":\"https://www.braintrust.dev/docs/guides\",\"encrypted_content\":\"EvUCCioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDOCJPgKCPXV1GhjvbRoMACzE6dw73wqWG+VJIjC8TU5UEIoJnijDSRZTmVnS4EMijWNFqjJygK7sxYl5l1ZVQS8OZy9D5G6NHBz/bWEq+AFPYLG7um01JUDDpCowe5x96aXFApwbj5VQxVYidfUs4+I1PR47YDE45xbAeEgvRHU1P4kWv3//vEnDiyLgApJx0xJGD71C6PsOmZJ7y8rs9DWeQoN4IyhDLQtsqFW9H2WwPhXxn9f61eIj8VZeeMbI8QgqJJt/J7nwOSf7HdlEWOqonl8cKvDW6yLL9CjiJuS+FLaah9/X2a93xdYCSaM0RHTU0nV1+3xR2g+dFBOEEyPTSfzG5HqjSZzCrbQgowHkPEqUNid3lPFdCxHbOTYjCOoKYZhIg5Z5c2ld7dRHoEE3u1iJAivdoQLDDd5QxblPD9yJBfCA1BgD\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"braintrust - \xB7 PyPI\",\"url\":\"https://pypi.org/project/braintrust/\",\"encrypted_content\":\"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\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Braintrust - - Apps Documentation - Make\",\"url\":\"https://apps.make.com/braintrust\",\"encrypted_content\":\"Eo4LCioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDAnlOpZZVKvtO9eurRoMAsBWGYxBAHQJVo4ZIjBM7NVLUerzX9Gl9nwK/vvwGmCI7j2clFpVTf2+FA8R/E0+QeCZLsXPL43aq+i7U7MqkQoQjcNq+XnD6G0XreynpNy9gzhWPQcWoYgltPWFXlpgPoHSJyUjqtVILwhEhKz1+P5hW0E25WneOH5TftCrsfrp92YC3tAF0WtGXB/f2trU+TSicWaxNowZ95tGragNthW6Ch6jHafGg70z0HbyWnk+yLrUF9a2387DwxRAS9FeHQEqreHRnJKQhDPCem04aErdj3NaQKR2qxu7RmLhqQMtJ4APtQgEOv4E13zUm5xRnzyb/oQMyjiY39dXkWN7AflY7PcYvcKF4FDDZh/Hp4yocUNO/h+FTP5l/1Y82tCNaigvjOQfti5vzQHny6KiHvh7dx7DDCkLhqxJ8dwWrP62x5UpJswxosuARgcZ9mMh+4RSS/JWa+gKmEtQgqKI/rkw6LvOaMApbFhQtzMQqawWdHDdTiLPxD+16mIY/ISuXf/t7nU1tvQG/9b9LOp0w3fIHulNjv2Wx6eAoHAO0/Zpt/phTqawE/Gk4wMPZoHGIUrfNCErHWM3pGU7zk2JeOiLBawd2TBxqeRc/FWsDQ43GWr1U21Bkts5WWzQb/hmJ33zwhZUUhrsCnlXkApDGd0y7FlavOXc0rYFIK/b3g+TC7iqn28tqFtIGCJKu5RGBEHyIhMFs+yB2Vt85MM79F/sVcbB23BqhnfOBszNwXHT1GHlI8xV9p4YPPyB+cg3lnsQu+eY3tdoOjW3XLv8iYO8LltrN8Vh9R/yr7fyat9a62p3HMc4UA55pxxZiqEm4LMkw0ei00+LpGYCLWmflBB/yHyV0q1GwuSpyKEacSy5YpOaP37cqU7SmYBeUl2VR7oWxF9Ziu5yxDl1l9Z5EsD67isizOpUEPAaGxVDIkOo1lKzYOg3XOyenNC+9Cmk7y2hp12+cFKUqnId0epCA2bWi2EBO5r0N+NUeFdAkLy7kQ+j8atFEWpHD5I61VMGtmV0ExEwFtmX/c5Ecaq0HA8nEkLeqtCwkeAgzDMHGarMfxAt73Y46wDU72DtiYry/BWUkZdC0S5+pV9HJtgaF6aU1H/PN2DwbIZFk9w7aDCcApN0xK80z/Cco99b1sl0K/GUiBbzbjEfFRYULQL3HsQws+1vQrkrkQxrrc+WIq4F0piEEz8zFFJo9tt46UWjC96hQ8gxMxecgobacOerEh2wkqHNDQ3749e9ny3dYZm9OKr6zMxLmg3c2PksZV3KvRRJjlClPRaUnxWNHWhkFIdO63vwa1+9C961hJ6pVIDJv1VDUq6IdbjSTMB9myZFqWQef19Pnh++afeNpOZLAHJyB9Ie4Qnr5/EdyZQ4l4Ock8255Mn51DbwN1jR2v6ZF3gkf3v24NjNDGB3RKLDLwtNO3O0NManMXM/xUe873z89cYmmhC+GjbvwgAnmwnrmc9ptw3GT8dwSZX8XcaKUh0wzS6xWN4Ahiz+jOlNUIKa6RAF6c1z1PE5/1zpvmJLSC/mkLMY+bJgCVKpQaITQQsKsm0l3fPRfDPlcafeL7DCrYrLIwpjrEfA7GLFQDOce1D/DnaKQ/n32MFI913SmZWenniMArv+hd9jSTK1UiAM2eS+PQN9TWi5U2m2tv4ARQS2mnSGmsQ1FA0BgFM9hL/69F42bC2lqSQxGrNKN2y+uXnYyV5mv1IxlHzVsGGpNIzFsUmCV32afElAGWqFsFplAbqFs04g69ik2WJxINvnNGT6vKB6jtW0mBxQzsrnmZcPgck4NUO2fPOQePn7ApAqGAM=\",\"page_age\":null}],\"caller\":{\"type\":\"direct\"}},{\"type\":\"text\",\"text\":\"https://www.braintrust.dev/docs\"}],\"stop_reason\":\"end_turn\",\"stop_sequence\":null,\"stop_details\":null,\"usage\":{\"input_tokens\":10091,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"output_tokens\":43,\"service_tier\":\"standard\",\"inference_geo\":\"not_available\",\"server_tool_use\":{\"web_search_requests\":1,\"web_fetch_requests\":0}}}" - headers: - CF-RAY: - - 9f16a83fc95946b5-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:14 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '3992000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:14Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:14Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:13Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4792000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:14Z' - cf-cache-status: - - DYNAMIC - content-length: - - '21403' - request-id: - - req_011CaNxBVFQ8a5YPrD2pGjPa - server-timing: - - x-originResponse;dur=1540 - set-cookie: - - _cfuvid=ZtE26azWfHdItZOKE710JvjXfLZ5..KuxYcZmt.wlgM-1777049953.2478583-1.0.1.1-iXbjEbaAHHSIy8kDvEurhpn6tEjXTC0fTuaSR4cBnAs; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '1537' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":256,"messages":[{"role":"user","content":"Use the web_search - tool to find the Braintrust docs homepage. Then answer with exactly the homepage - URL and no other text."}],"model":"claude-haiku-4-5-20251001","tool_choice":{"type":"tool","name":"web_search","disable_parallel_tool_use":true},"tools":[{"type":"web_search_20250305","name":"web_search","max_uses":1}]}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '375' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: "{\"model\":\"claude-haiku-4-5-20251001\",\"id\":\"msg_01RncQRSJnrfivTNsviwHGW5\",\"type\":\"message\",\"role\":\"assistant\",\"content\":[{\"type\":\"server_tool_use\",\"id\":\"srvtoolu_019KpYvpiBx8aJkChYq4R4Gn\",\"name\":\"web_search\",\"input\":{\"query\":\"Braintrust - docs homepage\"}},{\"type\":\"web_search_tool_result\",\"tool_use_id\":\"srvtoolu_019KpYvpiBx8aJkChYq4R4Gn\",\"content\":[{\"type\":\"web_search_result\",\"title\":\"Get - started with Braintrust - Braintrust\",\"url\":\"https://www.braintrust.dev/docs\",\"encrypted_content\":\"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\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Get - started - Docs - Braintrust\",\"url\":\"https://www.braintrust.dev/docs/start\",\"encrypted_content\":\"Ep8ICioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDJ9jRYXZG69heaw6ThoMmEl5PSNCKvCbv3zwIjDh7xND9tLnUaVDdwB0gWUXT2YMp4xbxpFCetq4n/E5dieiV2wrZuT4hTZXa4as990qogfp9IrsJglwOEUr1p3u5rv2eJz1Hp9AVR1VeOZBpUFcGqKP3Xc4/tiQ98ErWHbTK2aRZKK8MXV2X+JxAxmGoG2bnKcuQcRafrBazgZiFAXmcEI4NauRn6nlXlLPiv+v8ULckMK5iv/l6l8opxOEBL5t4Gi9api7r9IUZl7EH4VbLRhgi6BVulrWQ1GiswFOAVzns1aL7sRnlNOS2OHoEPoyY66ydyz+N8Pz2xgyOutNowPC0ESyDYXEvybFIp19ZB+5MRV3qk6jWHFWOAulr8aMXnQbxDayRa4x6bzSk+DvRDRUd5FFObfwB8h/+feIYyI16fGy13QeOj9NY64tyV9KPm3cKcaiqu6Sw66DZkVljfaGdiFVFZuKztcy2JoPv/gqNOQkB+1eHox4kQXlC3pCw9sP0bLHaCGmEu1hkST5Cy59eujg1GwXeckRJZx2/3PEiG5m8w7T9xcaXu8CO98MSVLYnRyrLwQGK+Xe2lci84caunqy216MsOWxckMTUdjbDmIdANyNdxrH17YwBus0t38XbN/i1vHP/beyDxM9YLVjbLKd2HZTmYgPzL6vfHBJ5+XgR5UMAtldKU+ejEU+KHYU1FNFubh7xrTna3ETE88KVYeqPS8Lr//1exFLFuOKPf20fZhlPd27qZ6lMlrZtKb8UaztISBaW1XrQ0yfJ5/5P6/xnJdV1kwlz5ZydcCzURmkd6gOGcC4N8cIW3R7o06crmHyjMDQ/rXYC7V3eemrrdNPRdVnHHBTr833UeuZwLkasDBi/7pjdZy1QE1BJORCmIrUBuZ91hCbGuSdL2kM/tgShxw6avE+RBqYY/nnFkj7tv3mcAEHflFiziVjLQv0Sakd5T0YXetCC7wc7Zsxxpquf+ugaJIQFmB6Sc1EWWYr2odzhMepm7f2HN8SfOczlvcrZ6ybhX3Gd5KAVBQJUcjP61iHdUrq8XhP3Ac2356SpXkpJ0ow+88XJBXdGpjnnkTQoxnyDj0Yu40P+x8MMJAGMKWlUwEVwnDv1AYIq2NYIMuIT9V34tgLzz9jwiIjNyywXVDql4QTCnwEy8DAtmwkn+iuEJ32jxYv1Sf08l/7TMQ8nPH50Raz5f2FA7rPw/XS4hlipR1jRydysi02mQys/ci4J4j7UK48M4BPrS20LvYR2cy3m+Y/fm3/I2o++qIKpqOOgrv2Pe3I5GhnIxeNeETSPOp7lXdML2TugqX9XlVusE+1thPiXtdLdzsYAw==\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"braintrust - - npm\",\"url\":\"https://www.npmjs.com/package/braintrust\",\"encrypted_content\":\"EokECioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDDtZHwZuSjdjV1kbGhoM8s1c1mYFLJnLii+HIjCSMCrJdpyrsR3PzZXKWDnrghlA6gRraS0X1pBsiiS/tXG3Bs8vs9SS4cTG6cJZPikqjAM1dsEPANu9fzjoQNAyKRUcP9jdxOQN9c6PQINVAeHxbUMcubNno3yIRL5t7cXFIPeHogHk8D3EWZQCq9vsb+wv1GpAtJQ1+pxDT5PrGSyEN2s+jYy7x/ZL2rQdj2AEROhYxQ3P9wKHprGx2pq3Wdpu+EKxQWkQH6vfXC7yqptrxHV/TkwRD9RFNDg6+UGJlRhrznRoyuvOi0Vy+oQz7xCVREXW9dwesZTWnVnuHquaj83Y1pL1/7Io8wIZ0zCUuMUgyoFqG0A3QwNFzVoV8KafN3V1P1YZ4A+O7ivv8CUWUy5F3jX4c4P1779y029s5A3UynIcfg9MqHtrzw0WACuHZUjDgc+A/ScdtGdcvhvHIfFCNu4nZMdEEGZO6CMj7w1xSjRYqbU6XjngS5LoJCKOMZkk5TEPsHwzPOPO70YGx2TRT71ZXPGNLugHyRxh+dvbIBUwQ6J37J9utiiDyun3jGf1pzat/Vv8zY2/yYtd5yGnFPgihx5IoO7SQjgXO0yzvGOJBEXqvWbAu70YAw==\",\"page_age\":\"4 - days ago\"},{\"type\":\"web_search_result\",\"title\":\"Braintrust Network - Overview | Braintrust Community\",\"url\":\"https://docs.usebraintrust.com/communitydocs\",\"encrypted_content\":\"Ev4GCioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDAAHkntk6bXkm/SCYRoM1FFB19PkgeSEbPxDIjCJ4R0WeTFHs2Qgtj6mqTIWq9hu9bq+VxPxiF/dxVNnh0tTmZpIx17jWxyG7Ra6Te0qgQYQfEB64bhH1fjq8PSCQo78C6iDThkfHG1+KwI5lISZjjlY3Hgo2GN5fdHQAhrY4iXhFCKDCW3JITGzkPIxsLVYP9P0bVNh8EfJ5mtk4BMBKbBImjYFkuL0J/FOnjZib5PcK50MhV679Fto43aJ/fmp76sfBPoV10aD4DDzCfFt0Edmagkdzz6vl4qFHlPbqN/Qo17cyKq+ayy9LI3u/bPDYEgP3P8aiOmx2zixkIWKuustHkRYTUAUR3C+/tgheM4cxU0EYAmuCa0XqR5GWZvp7E9ZGUxTs1uM60xqHq1RWxdmhj/C+uY1B8Y/83n64VxzjAq/Xl/2ARKPb7KXsqVYw4pSm3MBKb4X3EgWsLDZTkn6sh0iieKhGIaACbfkLV8tJ08QAuf0jnJxBU8Ha8wd0+2LM62xxfABWrxiek5b3mLpXinelo8e8uRky4KuWdlj6yT1dbnzZe/KaqFlgMjajIqJQxDmJ9WMLKfCONId5unlb+iy4ei9iTpDl4uOmEOf1JYCzv+kgLjk45vlf7zZg3ll9+0KvRtgz8EaVBlx1LBB2M/CRaAyxPbFMcMBES5wE5IW9/i4kcaZlHSWZOxGB1CzVbcG5Pzg58uhiJcH+y8KHpN3SZji5+mZ0eVaUK0Jd41/f9EirVrC8nZ5Hx5KnLgcJ8pVuSRRbpGvN/9aWeFZYTf0bwQzqwAcVGtfFonN3em9W858jQlW+0dmwtsLwWLjy9sY6uA/QiSq2dpkxepMSJxA9LEUR647A3nxPhmSFKNJg5rPs4ckfq1dchTMpkgaSGfvd6hWNM6NwDkJADNVqCrP86A912+DQ+0nn2A6zc4tXVHH+A0wh/il6rUSQih91fq1NhF7l2xpiotbyRfzK4yetOaQldnDKI7oDlM+20Qn2zE3Zb0JeU7lZOkEoMIFyueW3CVVgaJAjEP3vN0CNWtLOYn6ATRPC6QCYzodIQcDSDsiwyfZ4+Rc44u+cOE0VRtFrwKc3oR3V0twntz+FH9m1ilPqH2Z6Ovi9219GAM=\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Braintrust - - The AI observability platform for building quality AI products\",\"url\":\"https://www.braintrust.dev\",\"encrypted_content\":\"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\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Braintrust - - Chroma Docs\",\"url\":\"https://docs.trychroma.com/integrations/frameworks/braintrust\",\"encrypted_content\":\"EqgBCioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDMJeq47BNHgQ4Bwx0hoMM82v69o05jLPV9CnIjBfO8xc8RhLmPSyDzUhP0B6CnmCxY/OZDli21kbk68/8RBvhDD5VJWtI+9GQ1rlk/8qLKkaIm7GuX6y1GKKWTBPQboLozXtVXwX93jjN3VMDEFSH61O/FJMmNfLyDzaGAM=\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Braintrust - - CrewAI\",\"url\":\"https://docs.crewai.com/en/observability/braintrust\",\"encrypted_content\":\"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\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Guides - - Docs - Braintrust\",\"url\":\"https://www.braintrust.dev/docs/guides\",\"encrypted_content\":\"EvUCCioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDBijcXCcjsjWc4w+oxoM3AGUr4GDLWJcf3iEIjA6Uph+zmF2b8vq/DZZBITI3sS0LnSVjTry9QMVnqMgbp8aEBZ8ncZjAVgi97Sw3A4q+AHSGxdNQzODgvEPlVXuO64Dydup79KiqXlzAQsxCDSLnZ+tgM9dw1lz43lKo+v3tLt1jLNtjar69GCjwOYZWjTzxFwP6CwoRhj87JdTqhH+G0VtUwZCWTN7ttchFFDLMvqmZr1u3LtNDqtFBQgkLbjYYYIbJdNAV73TV8roZA+gDVzAp1lF+5EGHcBzSeXewFGd+9u8il14+T/2+uqC8KXSkejW8QX0tsARae+iiIh8caJ+V1u6aKYgYZ8jgbyZp5xh4sEqzy1SoKPMOrZr67ItfINXuH13NR8/pxNCO775HqEn1xcEFvt98MXWHkQQD6Swm33B5rnxgRgD\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"braintrust - \xB7 PyPI\",\"url\":\"https://pypi.org/project/braintrust/\",\"encrypted_content\":\"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\",\"page_age\":null},{\"type\":\"web_search_result\",\"title\":\"Braintrust - - Apps Documentation - Make\",\"url\":\"https://apps.make.com/braintrust\",\"encrypted_content\":\"Eo4LCioIDxgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDIoNJCPIvxVxhpbIrhoMM997n1Cn+W5UsmPQIjAS9SSuA+igWjTd2hLzndO5CLU+J+CMjCOGHjiDurIPa4NMyX1jVKYOPDVQZJ9Epv0qkQo0XXwDyUeY/QaxstmnceiW7CNgdgYZFdF9vgWW0hGBC8/FvpTzyK4bfRJcO2ZKMh3FdqGRQDLHkavSGfORddwLdzlWPoNVp4ycA1fKHB4NoGTUQGivEgc8PFnaK6K6YgF5Dcg45veH2HCGFK0M73YC2Iecv+dui2TnPvYMrnHspuD7fSBP4gkAzGFH2D+GlVgp53IMJb5psrgAQLU2OiiuZzJqyKjobtxYNLdV17QhwAFl0KQuqwujD9ktUZ8f642DrGbj5mhjCp6NyBSALXVmCqt2sIORexnoyiE8kTeBvdCslRBvz7g51Gdb0Sq+QP2ERxFLAsqSzWM2s+t/HV7yDHw/YDojdaXtMexQJQbVOb8qy2XdwpxK3XZ8DrPxaAWf4fHhFHFcHzqx9+4wbbGi3AwBlPzZjoUE7XNy0B3GR1svFpxaqpFgE1AdC/F901nHBR6OLtYT7bTxz9E1ITYjjovXcVzruCTJYDs65F0hWopQfA9VXHkXbL9BFsmXIUSEO985ofg+lfk+k4MQN4m0tYF0ncplmw4Fobw8FL3GvE/sqTklAUZA674LLHgy76CAKEw/ia/VtSTrLysfCJkKt61OgdCVAF1T3WbbAstcPZhm0qj+oFT6fk8oIBb2rKUPMcDflHbOPUobGWSUPNclDaB50gAVHsNbWzj+bGvtUG/lNVCPz4rT9VleWXieUJg5uJSwBVJU9bQ2bfawTmLPG4/dFef243+oUmtY8Oc8VfmkurhThqCoRQXNDgSipAuA7H5SRN2dBUtzrJBa3sNAYImQ8s7UTTa41hQqMRc/2K+3s6GYuOn+lx8cLoMdBZecuNelbh6JEtou5r7knpTZ9xp/ADzwaMoptN0mz9K7UOuE9EGoovHF5vkPy0/LBY3oBsh6ch/esMRJneOWE7/0gHtK1Ird1AzUXF/XU1c7yScZx1daIkj5Mq7RjYjlKKzGxZlg4w+u5orlSXMq4Q77K+0VLim5MIiRZEmt43dPMoQ9b8hQ1IXSeXL6wlmMDUae5zno7zRmJ7GasXQZ2xUNjx+wRL1zz8uLw0wjlUVbJI3+sWPgqzne8phDenLC+zl/IfJGEhD6lI1FiauRGpjabnFSlCkjpFYAdzHU3o5uZwO/LU6o/57UOlql9w7OmVevJatGgi8DxyM3ns6bb0NOUQsTpkdYHzmRVVqYUvmADq211TVd/7zYC8/KP/mE6nKQdjrFWiIrasfvk5cFrEvwVloDpblMi7l1EqfF5ddnUJ1LWPmbHyXcvWGp4C/UOIGLYumW3/sgwpXyKtLULU80Ov4RotjQ/E4PWau/zoOVgtq2X/uGdrH3YQC8lxuBeSRWOgn7ahgPjg5jEraru86wUtBEuKhPOYqXFI9PSAYtn8zG8pNhsWbXhb+dnSUjL7tbtHDMnnlnHvBgbt7aRKM5KWm9RWmZFs0+aPhXUghiIvj1S8RWDzRmKCgoPpSEbeHEqTiF21uPLkKlWkjZfqg70T5OfOiEcGejTTpIjjELyXc1D1ReuRXHzTcyGGEy+QE2HEt40LIipbeoTowLow80O/Y9EigsZJ2cQEamS1tuTo4X/ZNECSpsqxleRP1G+NjLb2QIGp1A5OvYY3GKQl5Z/hr3DuXDnPbLFmgtK4gUHHwMrmdH2FxP8JzR6EEBIqBOny/1+JVxq6mhYFrCRPLl9OXsbThRL0/tP5t0PWOs6bSmHfB8sRFI60JDydE+AMLKGAM=\",\"page_age\":null}],\"caller\":{\"type\":\"direct\"}},{\"type\":\"text\",\"text\":\"https://www.braintrust.dev/docs\"}],\"stop_reason\":\"end_turn\",\"stop_sequence\":null,\"stop_details\":null,\"usage\":{\"input_tokens\":10091,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"output_tokens\":43,\"service_tier\":\"standard\",\"inference_geo\":\"not_available\",\"server_tool_use\":{\"web_search_requests\":1,\"web_fetch_requests\":0}}}" - headers: - CF-RAY: - - 9f16a9f528e2a0c2-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 17:00:25 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '3992000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:24Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:24Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:23Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4792000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:24Z' - cf-cache-status: - - DYNAMIC - content-length: - - '21403' - request-id: - - req_011CaNxGfRipSoWBCrgWBVWq - server-timing: - - x-originResponse;dur=1773 - set-cookie: - - _cfuvid=c1UIG2K.ao3dDyi5d6ko5ZTic_xOnJjL5tdWs_fB6Ww-1777050023.229637-1.0.1.1-.2Re1ZB70t1FB0ld3KVCyRpruUzE7P0ErbFfbW.eejk; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '1771' + - '1739' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_system_prompt_inputs.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_system_prompt_inputs.yaml index 73066a47..80496211 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_system_prompt_inputs.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_anthropic_messages_system_prompt_inputs.yaml @@ -17,7 +17,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -27,7 +27,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -44,10 +44,10 @@ interactions: uri: https://api.anthropic.com/v1/messages response: body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_014m9KjbCRarQCBijJe8Y4X5","type":"message","role":"assistant","content":[{"type":"text","text":"2024-03-27"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":33,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":10,"service_tier":"standard","inference_geo":"not_available"}}' + string: '{"model":"claude-haiku-4-5-20251001","id":"msg_0192t7xVMvyVpsJMyTa8UXrb","type":"message","role":"assistant","content":[{"type":"text","text":"2024-03-27"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":33,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":10,"service_tier":"standard","inference_geo":"not_available"}}' headers: CF-RAY: - - 9f166e4b4a70b1a2-YYZ + - 9fa1f913195936ab-YYZ Connection: - keep-alive Content-Security-Policy: @@ -55,7 +55,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:19:41 GMT + - Mon, 11 May 2026 14:46:24 GMT Server: - cloudflare Transfer-Encoding: @@ -69,42 +69,42 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '4000000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:19:40Z' + - '2026-05-11T14:46:24Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:19:40Z' + - '2026-05-11T14:46:24Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T16:19:39Z' + - '2026-05-11T14:46:24Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4800000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:19:40Z' + - '2026-05-11T14:46:24Z' cf-cache-status: - DYNAMIC content-length: - '467' request-id: - - req_011CaNuAW6d1f6SQ74L1rfCA - server-timing: - - x-originResponse;dur=1601 + - req_011CavxoeLUM9UcmsVuBeNqd set-cookie: - - _cfuvid=Mj16kKFSWNCvEFsYjdljUHb3tN9YCGu8ZMOICg6MIKc-1777047579.410039-1.0.1.1-EfdsAOMREWNdvzV.8IF84BTT5Xem1jhjTms9K_ImUkE; + - _cfuvid=EaGjEc.8jOWBBcFTkEm0djaRqF6_BfvHjdvV.Qw_sK4-1778510784.4946234-1.0.1.1-orFGepmmR_.J9Zsb3Wv3m6ON0zM7m9O.izWUcKPfoEY; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-b9bddeed21fe12bcc6ddc23a5acb528b-658fd6ff2ea94b1e-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '1599' + - '438' status: code: 200 message: OK @@ -124,11 +124,11 @@ interactions: Content-Type: - application/json Cookie: - - _cfuvid=Mj16kKFSWNCvEFsYjdljUHb3tN9YCGu8ZMOICg6MIKc-1777047579.410039-1.0.1.1-EfdsAOMREWNdvzV.8IF84BTT5Xem1jhjTms9K_ImUkE + - _cfuvid=EaGjEc.8jOWBBcFTkEm0djaRqF6_BfvHjdvV.Qw_sK4-1778510784.4946234-1.0.1.1-orFGepmmR_.J9Zsb3Wv3m6ON0zM7m9O.izWUcKPfoEY Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -140,7 +140,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -161,13 +161,12 @@ interactions: body: string: 'event: message_start - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01WUVZgEiqVnkF1eZktA58Fp","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":33,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}} - } + data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01XBdLDKBwmrA5iWArzfDXfk","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":33,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } + data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } event: ping @@ -177,789 +176,17 @@ interactions: event: content_block_delta - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2024-03-27"} - } + data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2024-03-27"} } event: content_block_stop - data: {"type":"content_block_stop","index":0 } + data: {"type":"content_block_stop","index":0} event: message_delta - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":33,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":10} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f166e562d9c813d-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:19:41 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:19:41Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:19:41Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:19:41Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:19:41Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1169' - request-id: - - req_011CaNuAdUsnMLv21AGD61RV - server-timing: - - x-originResponse;dur=348 - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '346' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is tomorrow''s - date? only return the date"}],"model":"claude-haiku-4-5-20251001","system":"Today''s - date is 2024-03-26. Only return the date","temperature":0}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '217' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01F3gFRCRz58m5hrWuapawGR","type":"message","role":"assistant","content":[{"type":"text","text":"2024-03-27"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":33,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":10,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a6cfc9d5cbfd-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:58:14 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:14Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:14Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:14Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:14Z' - cf-cache-status: - - DYNAMIC - content-length: - - '467' - request-id: - - req_011CaNx79UuXBq4tw7wPk9ZG - server-timing: - - x-originResponse;dur=511 - set-cookie: - - _cfuvid=zX6B3SeVawT4jTSFYgFftdpvn4HY_wlUMLPLoYEdcck-1777049894.3637674-1.0.1.1-xdtE6YZ186uz9c3Ol8evASdhmw3TeC1hpyu8RRn_3sw; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '509' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is tomorrow''s - date? only return the date"}],"model":"claude-haiku-4-5-20251001","system":"Today''s - date is 2024-03-26. Only return the date","temperature":0,"stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '231' - Content-Type: - - application/json - Cookie: - - _cfuvid=zX6B3SeVawT4jTSFYgFftdpvn4HY_wlUMLPLoYEdcck-1777049894.3637674-1.0.1.1-xdtE6YZ186uz9c3Ol8evASdhmw3TeC1hpyu8RRn_3sw - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_012F43JX4qyEt7RcN93v8PMu","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":33,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2024-03-27"} - } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":33,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":10} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a6d4bb584c9b-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:58:15 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:15Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:15Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:15Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:15Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1167' - request-id: - - req_011CaNx7CsJZaE7Utq5jCnE4 - server-timing: - - x-originResponse;dur=417 - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '415' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is tomorrow''s - date? only return the date"}],"model":"claude-haiku-4-5-20251001","system":"Today''s - date is 2024-03-26. Only return the date","temperature":0}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '217' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_014bVytQjoM5dPqyAnB5z3xA","type":"message","role":"assistant","content":[{"type":"text","text":"2024-03-27"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":33,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":10,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a8137ad4e080-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:06 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:06Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:06Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:06Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:06Z' - cf-cache-status: - - DYNAMIC - content-length: - - '467' - request-id: - - req_011CaNxAy3D89tCBXGKdpPiP - set-cookie: - - _cfuvid=HvQYL1kcx36QCxMlPgKdtW2TQPRXLpPJQU5dGy0XjWQ-1777049946.1585896-1.0.1.1-dyo5TaTTE1ciQmvCATYerGgzRnB8TCFqjgvQod15.z4; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - x-envoy-upstream-service-time: - - '584' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is tomorrow''s - date? only return the date"}],"model":"claude-haiku-4-5-20251001","system":"Today''s - date is 2024-03-26. Only return the date","temperature":0,"stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '231' - Content-Type: - - application/json - Cookie: - - _cfuvid=HvQYL1kcx36QCxMlPgKdtW2TQPRXLpPJQU5dGy0XjWQ-1777049946.1585896-1.0.1.1-dyo5TaTTE1ciQmvCATYerGgzRnB8TCFqjgvQod15.z4 - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01PuxRBvM1JwwpyqCfk8m26M","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":33,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2024-03-27"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":33,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":10} } - - - event: message_stop - - data: {"type":"message_stop" } - - - ' - headers: - CF-RAY: - - 9f16a8197f51b409-YYZ - Cache-Control: - - no-cache - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - text/event-stream; charset=utf-8 - Date: - - Fri, 24 Apr 2026 16:59:07 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:07Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:07Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:07Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:07Z' - cf-cache-status: - - DYNAMIC - content-length: - - '1164' - request-id: - - req_011CaNxB325EfApmMxJ9kaYb - server-timing: - - x-originResponse;dur=376 - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '374' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is tomorrow''s - date? only return the date"}],"model":"claude-haiku-4-5-20251001","system":"Today''s - date is 2024-03-26. Only return the date","temperature":0}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '217' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01Jwqq5mLF43RNW5KZe2SMsL","type":"message","role":"assistant","content":[{"type":"text","text":"2024-03-27"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":33,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":10,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a9c2c9adac2e-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 17:00:15 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:15Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:15Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:15Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:15Z' - cf-cache-status: - - DYNAMIC - content-length: - - '467' - request-id: - - req_011CaNxG3ymC5zZYbCMeERU8 - server-timing: - - x-originResponse;dur=777 - set-cookie: - - _cfuvid=OawRjfDLZpNEH1mXUd26MWjD9OuRlw0eRuAfDA.6vxw-1777050015.1649346-1.0.1.1-7qbRLE4PA8dwJIC2PZsrVsGTk2kgqews_FbbBb6SFZk; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '776' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":300,"messages":[{"role":"user","content":"what is tomorrow''s - date? only return the date"}],"model":"claude-haiku-4-5-20251001","system":"Today''s - date is 2024-03-26. Only return the date","temperature":0,"stream":true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '231' - Content-Type: - - application/json - Cookie: - - _cfuvid=OawRjfDLZpNEH1mXUd26MWjD9OuRlw0eRuAfDA.6vxw-1777050015.1649346-1.0.1.1-7qbRLE4PA8dwJIC2PZsrVsGTk2kgqews_FbbBb6SFZk - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Helper-Method: - - stream - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - X-Stainless-Stream-Helper: - - messages - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - NOT_GIVEN - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: 'event: message_start - - data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_01QLGpi3q5dZQ3wigrhCNd1c","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":33,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}} } - - - event: content_block_start - - data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } - - - event: ping - - data: {"type": "ping"} - - - event: content_block_delta - - data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2024-03-27"} } - - - event: content_block_stop - - data: {"type":"content_block_stop","index":0 } - - - event: message_delta - - data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":33,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":10} } + data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":33,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":10} } event: message_stop @@ -970,7 +197,7 @@ interactions: ' headers: CF-RAY: - - 9f16a9ca19ec92c6-YYZ + - 9fa1f917783724ee-YYZ Cache-Control: - no-cache Connection: @@ -980,7 +207,7 @@ interactions: Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 24 Apr 2026 17:00:16 GMT + - Mon, 11 May 2026 14:46:25 GMT Server: - cloudflare Transfer-Encoding: @@ -994,39 +221,39 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '4000000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:16Z' + - '2026-05-11T14:46:25Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:16Z' + - '2026-05-11T14:46:25Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:16Z' + - '2026-05-11T14:46:25Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4800000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:16Z' + - '2026-05-11T14:46:25Z' cf-cache-status: - DYNAMIC content-length: - - '1174' + - '1153' request-id: - - req_011CaNxG8x9ya88dLwGBurZV - server-timing: - - x-originResponse;dur=423 + - req_011CavxohNHhBSvLiKFaJ2e2 strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-2ec068ef433f7154708a8ac668372ed3-492c396c85b5f237-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '422' + - '352' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_auto_anthropic.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_auto_anthropic.yaml index 9849e88f..4d669df6 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_auto_anthropic.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_auto_anthropic.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -42,11 +42,11 @@ interactions: uri: https://api.anthropic.com/v1/messages response: body: - string: "{\"model\":\"claude-haiku-4-5-20251001\",\"id\":\"msg_01J5RwcXoBanbbD6EsifjYUi\",\"type\":\"message\",\"role\":\"assistant\",\"content\":[{\"type\":\"text\",\"text\":\"Hi! - \U0001F44B How's it going?\"}],\"stop_reason\":\"end_turn\",\"stop_sequence\":null,\"stop_details\":null,\"usage\":{\"input_tokens\":9,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"output_tokens\":14,\"service_tier\":\"standard\",\"inference_geo\":\"not_available\"}}" + string: "{\"model\":\"claude-haiku-4-5-20251001\",\"id\":\"msg_019qeVkj5Dxt3ERFn885arNe\",\"type\":\"message\",\"role\":\"assistant\",\"content\":[{\"type\":\"text\",\"text\":\"Hi! + \U0001F44B How can I help you today?\"}],\"stop_reason\":\"end_turn\",\"stop_sequence\":null,\"stop_details\":null,\"usage\":{\"input_tokens\":9,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"output_tokens\":16,\"service_tier\":\"standard\",\"inference_geo\":\"not_available\"}}" headers: CF-RAY: - - 9f16aa2f4b4236b4-YYZ + - 9fa225d05d98ebb5-YYZ Connection: - keep-alive Content-Security-Policy: @@ -54,7 +54,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 17:00:33 GMT + - Mon, 11 May 2026 15:16:57 GMT Server: - cloudflare Transfer-Encoding: @@ -68,42 +68,42 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '4000000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:32Z' + - '2026-05-11T15:16:57Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:33Z' + - '2026-05-11T15:16:57Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:32Z' + - '2026-05-11T15:16:57Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4800000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:32Z' + - '2026-05-11T15:16:57Z' cf-cache-status: - DYNAMIC content-length: - - '480' + - '490' request-id: - - req_011CaNxHLEqirWyw7E7gVu11 - server-timing: - - x-originResponse;dur=603 + - req_011Caw18jGu4x4sKgXwKz539 set-cookie: - - _cfuvid=elZPl9D.Ge6WHCzNNw3y6JY1DvipbD19wlNTrckDNeE-1777050032.5296838-1.0.1.1-CIoSy4g_DTsdjujw_IeSDPCHx2qhpSFdGX6vWfNN5xk; + - _cfuvid=.aeLEdwK2tuiSIkMYrJPMT9HTIrNAZW0NCBYISSuKkc-1778512617.0182018-1.0.1.1-tUQfuPXz3M1AjnjuOyWxsDXIF_pH_17KOkPDW847oPU; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-69b95798d395eaf278e5c893a989895d-1eaabb2240561594-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '601' + - '635' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_setup_creates_spans.yaml b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_setup_creates_spans.yaml index 232c7ed6..b0a45728 100644 --- a/py/src/braintrust/integrations/anthropic/cassettes/latest/test_setup_creates_spans.yaml +++ b/py/src/braintrust/integrations/anthropic/cassettes/latest/test_setup_creates_spans.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.anthropic.com User-Agent: - - Anthropic/Python 0.97.0 + - Anthropic/Python 0.100.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 0.97.0 + - 0.100.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -42,11 +42,11 @@ interactions: uri: https://api.anthropic.com/v1/messages response: body: - string: "{\"model\":\"claude-haiku-4-5-20251001\",\"id\":\"msg_01GqTeo5QtUewrKBGeL1hz5b\",\"type\":\"message\",\"role\":\"assistant\",\"content\":[{\"type\":\"text\",\"text\":\"Hello! - \U0001F44B How can I help you today?\"}],\"stop_reason\":\"end_turn\",\"stop_sequence\":null,\"stop_details\":null,\"usage\":{\"input_tokens\":8,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"output_tokens\":16,\"service_tier\":\"standard\",\"inference_geo\":\"not_available\"}}" + string: "{\"model\":\"claude-haiku-4-5-20251001\",\"id\":\"msg_01U9g1psSRxmb5QoQYeukHie\",\"type\":\"message\",\"role\":\"assistant\",\"content\":[{\"type\":\"text\",\"text\":\"# + Hello! \U0001F44B\\n\\nHow can I help you today?\"}],\"stop_reason\":\"end_turn\",\"stop_sequence\":null,\"stop_details\":null,\"usage\":{\"input_tokens\":8,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"output_tokens\":17,\"service_tier\":\"standard\",\"inference_geo\":\"not_available\"}}" headers: CF-RAY: - - 9f16a7398fc6ac3a-YYZ + - 9fa225c86d66f46c-YYZ Connection: - keep-alive Content-Security-Policy: @@ -54,7 +54,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 16:58:31 GMT + - Mon, 11 May 2026 15:16:56 GMT Server: - cloudflare Transfer-Encoding: @@ -68,258 +68,42 @@ interactions: anthropic-ratelimit-input-tokens-remaining: - '4000000' anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:58:31Z' + - '2026-05-11T15:16:56Z' anthropic-ratelimit-output-tokens-limit: - '800000' anthropic-ratelimit-output-tokens-remaining: - '800000' anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:58:31Z' + - '2026-05-11T15:16:56Z' anthropic-ratelimit-requests-limit: - '20000' anthropic-ratelimit-requests-remaining: - '19999' anthropic-ratelimit-requests-reset: - - '2026-04-24T16:58:31Z' + - '2026-05-11T15:16:55Z' anthropic-ratelimit-tokens-limit: - '4800000' anthropic-ratelimit-tokens-remaining: - '4800000' anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:58:31Z' + - '2026-05-11T15:16:56Z' cf-cache-status: - DYNAMIC content-length: - - '493' + - '498' request-id: - - req_011CaNx8PqP7y2G7qzHfPYkg - server-timing: - - x-originResponse;dur=528 + - req_011Caw18djGg1dbyNpmpGyXw set-cookie: - - _cfuvid=YfuS7wK_uST2W.b5wOiwW6vYT8EbV.Bq53.BLGvfKa0-1777049911.2842026-1.0.1.1-mzyoz8A0j2JFxToIU1Y4e4HmGB8sz48CCffimMosXrc; + - _cfuvid=1CtFy_YFFVw2xFylGrFKZxv64moMXzR5rJ0Uw5bjvDk-1778512615.749407-1.0.1.1-_ROrNw.G7vTeY8pg6cJCrSEk0iiM2cUb8LDRG_V2vgw; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com strict-transport-security: - max-age=31536000; includeSubDomains; preload + traceresponse: + - 00-08a0657e6402930760a2521626e5cd11-f8e1e82de788a744-01 vary: - Accept-Encoding x-envoy-upstream-service-time: - - '526' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":100,"messages":[{"role":"user","content":"hi"}],"model":"claude-haiku-4-5-20251001"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '98' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: '{"model":"claude-haiku-4-5-20251001","id":"msg_01NnjxYyyTuJSSWiMryNAGjR","type":"message","role":"assistant","content":[{"type":"text","text":"Hi! - How can I help you today?"}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":8,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":12,"service_tier":"standard","inference_geo":"not_available"}}' - headers: - CF-RAY: - - 9f16a8729b1336a0-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 16:59:21 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T16:59:21Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T16:59:21Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T16:59:21Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T16:59:21Z' - cf-cache-status: - - DYNAMIC - content-length: - - '485' - request-id: - - req_011CaNxC61wDUxYYGRJZUFCH - server-timing: - - x-originResponse;dur=570 - set-cookie: - - _cfuvid=FaqhzjxmyeMr8P3t0BubRolHJGO7xvZo7yyCJYqh6Bo-1777049961.3795445-1.0.1.1-aFiVaVDdOsaler_oA6P9AcE9aLHeyNuPKfTaFAKXzqQ; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '568' - status: - code: 200 - message: OK -- request: - body: '{"max_tokens":100,"messages":[{"role":"user","content":"hi"}],"model":"claude-haiku-4-5-20251001"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '98' - Content-Type: - - application/json - Host: - - api.anthropic.com - User-Agent: - - Anthropic/Python 0.97.0 - X-Stainless-Arch: - - arm64 - X-Stainless-Async: - - 'false' - X-Stainless-Lang: - - python - X-Stainless-OS: - - MacOS - X-Stainless-Package-Version: - - 0.97.0 - X-Stainless-Runtime: - - CPython - X-Stainless-Runtime-Version: - - 3.12.12 - anthropic-version: - - '2023-06-01' - x-stainless-read-timeout: - - '600' - x-stainless-retry-count: - - '0' - x-stainless-timeout: - - '600' - method: POST - uri: https://api.anthropic.com/v1/messages - response: - body: - string: "{\"model\":\"claude-haiku-4-5-20251001\",\"id\":\"msg_01Pdv7E8LZZPakDDgKnfnHHC\",\"type\":\"message\",\"role\":\"assistant\",\"content\":[{\"type\":\"text\",\"text\":\"# - Hey there! \U0001F44B\\n\\nHow's it going? What can I help you with today?\"}],\"stop_reason\":\"end_turn\",\"stop_sequence\":null,\"stop_details\":null,\"usage\":{\"input_tokens\":8,\"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\",\"inference_geo\":\"not_available\"}}" - headers: - CF-RAY: - - 9f16aa26783b74a7-YYZ - Connection: - - keep-alive - Content-Security-Policy: - - default-src 'none'; frame-ancestors 'none' - Content-Type: - - application/json - Date: - - Fri, 24 Apr 2026 17:00:31 GMT - Server: - - cloudflare - Transfer-Encoding: - - chunked - X-Robots-Tag: - - none - anthropic-organization-id: - - 27796668-7351-40ac-acc4-024aee8995a5 - anthropic-ratelimit-input-tokens-limit: - - '4000000' - anthropic-ratelimit-input-tokens-remaining: - - '4000000' - anthropic-ratelimit-input-tokens-reset: - - '2026-04-24T17:00:31Z' - anthropic-ratelimit-output-tokens-limit: - - '800000' - anthropic-ratelimit-output-tokens-remaining: - - '800000' - anthropic-ratelimit-output-tokens-reset: - - '2026-04-24T17:00:31Z' - anthropic-ratelimit-requests-limit: - - '20000' - anthropic-ratelimit-requests-remaining: - - '19999' - anthropic-ratelimit-requests-reset: - - '2026-04-24T17:00:31Z' - anthropic-ratelimit-tokens-limit: - - '4800000' - anthropic-ratelimit-tokens-remaining: - - '4800000' - anthropic-ratelimit-tokens-reset: - - '2026-04-24T17:00:31Z' - cf-cache-status: - - DYNAMIC - content-length: - - '524' - request-id: - - req_011CaNxHEDgoKif9BeskVeQX - server-timing: - - x-originResponse;dur=761 - set-cookie: - - _cfuvid=0W_ChX1psHx7IxvsVLw.LX9m9uYy_JFGGOQ9JABlyOU-1777050031.113736-1.0.1.1-8NAS_RK3etVzDaSc7GuzH03PZwvJG5NTcAJqUpKB.h0; - HttpOnly; SameSite=None; Secure; Path=/; Domain=api.anthropic.com - strict-transport-security: - - max-age=31536000; includeSubDomains; preload - vary: - - Accept-Encoding - x-envoy-upstream-service-time: - - '759' + - '504' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_auto_google_genai.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_auto_google_genai.yaml new file mode 100644 index 00000000..34bd16d7 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_auto_google_genai.yaml @@ -0,0 +1,66 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "Say hi"}], "role": "user"}], "generationConfig": + {"maxOutputTokens": 100}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '109' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"text\": \"Hi there! How can I help you today?\\n\"\n + \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": + \"STOP\",\n \"avgLogprobs\": -0.012740574099800804\n }\n ],\n \"usageMetadata\": + {\n \"promptTokenCount\": 2,\n \"candidatesTokenCount\": 11,\n \"totalTokenCount\": + 13,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 2\n }\n ],\n \"candidatesTokensDetails\": + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 11\n + \ }\n ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": + \"gemini-2.0-flash-001\",\n \"responseId\": \"5-cBarSFGueN_PUPrYigiQY\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:59 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=572 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '717' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_basic_completion[stream].yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_basic_completion[stream].yaml new file mode 100644 index 00000000..eca53d54 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_basic_completion[stream].yaml @@ -0,0 +1,68 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "What is the capital of France?"}], "role": + "user"}], "generationConfig": {"maxOutputTokens": 100}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '133' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:streamGenerateContent?alt=sse + response: + body: + string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"The\"}],\"role\": + \"model\"}}],\"usageMetadata\": {\"promptTokenCount\": 8,\"totalTokenCount\": + 8,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 8}],\"serviceTier\": + \"standard\"},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": \"qucBapXpCNPT6MEP44Tv2Q8\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" capital of France\"}],\"role\": + \"model\"}}],\"usageMetadata\": {\"promptTokenCount\": 8,\"totalTokenCount\": + 8,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 8}],\"serviceTier\": + \"standard\"},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": \"qucBapXpCNPT6MEP44Tv2Q8\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" is **Paris**.\\n\"}],\"role\": + \"model\"},\"finishReason\": \"STOP\"}],\"usageMetadata\": {\"promptTokenCount\": + 7,\"candidatesTokenCount\": 9,\"totalTokenCount\": 16,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 7}],\"candidatesTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 9}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"qucBapXpCNPT6MEP44Tv2Q8\"}\r\n\r\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Disposition: + - attachment + Content-Type: + - text/event-stream + Date: + - Mon, 11 May 2026 14:28:58 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=466 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_basic_completion[sync].yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_basic_completion[sync].yaml new file mode 100644 index 00000000..619dd7c8 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_basic_completion[sync].yaml @@ -0,0 +1,66 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "What is the capital of France?"}], "role": + "user"}], "generationConfig": {"maxOutputTokens": 100}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '133' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"text\": \"The capital of France is Paris.\\n\"\n + \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": + \"STOP\",\n \"avgLogprobs\": -0.024652548134326935\n }\n ],\n \"usageMetadata\": + {\n \"promptTokenCount\": 7,\n \"candidatesTokenCount\": 8,\n \"totalTokenCount\": + 15,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 7\n }\n ],\n \"candidatesTokensDetails\": + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 8\n }\n + \ ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": \"gemini-2.0-flash-001\",\n + \ \"responseId\": \"qecBapKDEcfR_uMP8Yv1-Qo\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:28:57 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=611 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '711' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_basic_completion_async[async].yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_basic_completion_async[async].yaml new file mode 100644 index 00000000..06b85479 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_basic_completion_async[async].yaml @@ -0,0 +1,66 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "What is the capital of France?"}], "role": + "user"}], "generationConfig": {"maxOutputTokens": 100}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '133' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"text\": \"The capital of France is **Paris**.\\n\"\n + \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": + \"STOP\",\n \"avgLogprobs\": -0.021913599636819627\n }\n ],\n \"usageMetadata\": + {\n \"promptTokenCount\": 7,\n \"candidatesTokenCount\": 9,\n \"totalTokenCount\": + 16,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 7\n }\n ],\n \"candidatesTokensDetails\": + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 9\n }\n + \ ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": \"gemini-2.0-flash-001\",\n + \ \"responseId\": \"qucBarqMLeiu_PUPt5a_2As\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:28:59 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=549 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '715' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_basic_completion_async[async_stream].yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_basic_completion_async[async_stream].yaml new file mode 100644 index 00000000..c0189065 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_basic_completion_async[async_stream].yaml @@ -0,0 +1,68 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "What is the capital of France?"}], "role": + "user"}], "generationConfig": {"maxOutputTokens": 100}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '133' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:streamGenerateContent?alt=sse + response: + body: + string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"The\"}],\"role\": + \"model\"}}],\"usageMetadata\": {\"promptTokenCount\": 8,\"totalTokenCount\": + 8,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 8}],\"serviceTier\": + \"standard\"},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": \"q-cBasSYHuqF6MEPk5ra2QM\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" capital of France\"}],\"role\": + \"model\"}}],\"usageMetadata\": {\"promptTokenCount\": 8,\"totalTokenCount\": + 8,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 8}],\"serviceTier\": + \"standard\"},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": \"q-cBasSYHuqF6MEPk5ra2QM\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" is **Paris**.\\n\"}],\"role\": + \"model\"},\"finishReason\": \"STOP\"}],\"usageMetadata\": {\"promptTokenCount\": + 7,\"candidatesTokenCount\": 9,\"totalTokenCount\": 16,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 7}],\"candidatesTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 9}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"q-cBasSYHuqF6MEPk5ra2QM\"}\r\n\r\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Disposition: + - attachment + Content-Type: + - text/event-stream + Date: + - Mon, 11 May 2026 14:28:59 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=460 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_document_input.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_document_input.yaml new file mode 100644 index 00000000..6e81176f --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_document_input.yaml @@ -0,0 +1,69 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"inlineData": {"data": "JVBERi0xLjMKJcTl8uXrp_Og0MTGCjMgMCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUgL0xlbmd0aCAxNjMgPj4Kc3RyZWFtCngBPY9LC8IwEITv_oo56iXNs2uuvsCbhYDnElKs2JSagPjvXURkFpbZj1mYBR0WkAZJK4yxBKuN8FZZKCfa1mnCM-GKjGZfFGKBRImckcKTl-QdH1h_R63Yemf5IQlNehUn7AJzKaVCiFDmG_itMKEJQYHRgHW4jQU8PWoqFZfDSeBcEedc-zEXzPnxZjikF0rKNeWYitiswh3HwEW6D-SeMysKZW5kc3RyZWFtCmVuZG9iagoxIDAgb2JqCjw8IC9UeXBlIC9QYWdlIC9QYXJlbnQgMiAwIFIgL1Jlc291cmNlcyA0IDAgUiAvQ29udGVudHMgMyAwIFIgL01lZGlhQm94IFswIDAgNjEyIDc5Ml0KPj4KZW5kb2JqCjQgMCBvYmoKPDwgL1Byb2NTZXQgWyAvUERGIC9UZXh0IF0gL0NvbG9yU3BhY2UgPDwgL0NzMSA1IDAgUiA-PiAvRm9udCA8PCAvVFQxIDYgMCBSCj4-ID4-CmVuZG9iago3IDAgb2JqCjw8IC9OIDEgL0FsdGVybmF0ZSAvRGV2aWNlR3JheSAvTGVuZ3RoIDMzODUgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngBpVcHXFNX2z8392awwp4ywkaWAWXLiMwAsofgIiaBhBFiIAiIi1KsYN3iwFHRoqhFqxWBOlGLVurGrS_UUkGpxVpcWH2fm4DC2_7e7_t-X-7vcP_nOeNZ__PcA0LaW3hSaS4FIZQnKZSFJ3DSpqWls-j3EQMZIk3kijR5_AIpJy4uGqYgSb5ESL7H_l7eRBgpue5C7jV27H_sUQXCAj7MOgWtRFDAz0MIm4wQw4QvlRUipDIN5NbzCqUkLgOsl5OUEAx4FcxRH14LYmQRLpQIZWI-K1zGK2GF8_LyeCx3V3dWnCw_U5z7D1aTi_4_v7xcOWk3-bOApl6QkxgFb1ewv0LACyGxL-BDfF5oImBvwP1F4pQYwEEIUWykhVMSAEcCFshzkjmAnQE3ZsrCkgEHAL4rkkeQeBJCuFGpKCkVsAng6Jz8KHKtFeBMyZyYWMCgC_-CXxCcDtgBcJtIyCVzZgP4iSw_gZzjiBDBFAhDQgGDHYS3uJCbNIwrC4oSSTnYSdwoFQWTdoIuqno2LzIOsB1gO2FuOKkX9qFGSwvjyD2hTy2S5MaQuoIAnxcWKPyFPo1RKEqKALk74KRCWRK5FuyhVWaKw7iAwwDvFckiSDn4SxuQ5ip4BjGhu_JkoeEgh5jQi2XyBDIO4CN9l1CSTMYTOEJ_iFIwHhKifDQH_vKRBHUjFipAYlSkQFmIh_KgscACZ2jhMEsCTQYzClAOyLMA93wcJ_vkCnKNC5LCWD7KhLm5sHJEzkIC2EG5ktwlHxrZI3fuVezMH9boChqDzb9GchgXoX4YFwGairoUkmKwMA_6wSCVw1gW4NFa3IFJ7ihOYa3SBnKc1NI3rCUfVggUupTrSD-VtgWDzRJUCmOkbQrfCUOCTUyE5kdEE_4EW6FNBjNKkItCPlkhG9H6yXPSt76PWueCraO9Hx2xkSifhngVws654KFkOD4FYM07sDtnePWnaCo0rjKRO0ilNSviubPqwV7wvFw2W8y_vHKgveyYEWLdXH7qAmLt12o5r_CHjAyrk2iecV29vey_ZPVTNkdsG5vV2NG8UTBJ8DfegC7qNeoV6kPqDcSC9y_UTmovoHvU-_Dc-WjPpxyQnBKDXMkJJdv4GK6YSbKQA5HJVYzmQTTITAkVeQqHdTyIbwFETw68I3PtAgwYnYuxDCF3Gz1OMkKpPQv2VfY-MZ6vkJAMIfWTbPl7fP4vJ2TU-ciUrDKRSmfVlw0Jpcr8kbkTLo15GYPKndkH2f3sXez97Bfsh4ooKPLHvsX-jd3J3gEjT_G1-BH8ON6Ct-IdiAW9Vvw03qJA-_Fj8Hz7cd3YE6GM8dgTQfKTP3wCSO8Lhzk4-qyMrgpkPsh9yGyQ80dimD18skdzlYz4aA6RsfzfWTQ61mMriDL7ilPKtGa6MelMR6YHk8PEmJbwuDODAFkzrZjRTEMYjWDaM0OY4z7GYyRjuSAhGUQy7xMXlXUvDawcYRrpnwiyL1NUOd6wv__pI2uMl2QFFI8-Z5gGnGSlJmUNGdE5EldFhsdU0GTQJEbzwA4ZxJWsDhKoPawxc8jaTVYtYDw2XZHDf-AozZdmTwul2cNaZbVi0UJoEbQwxKK5kXLaBFokYB9yFmFOuBFcqHqxiEVwCA8iaBiTlXAyPGQdVMbIhQiE0QAihPAma-Rob8ESZWzJavnPno4-hXDXKBQWw30FoeB8aYlMnCUqZHHgZiRkcSV8V2eWO9sNvojkPYucg9CLeMX9CTPo4MtlRUoZQb6oSBXuYHrIGJkja_iqu4CtXsgPvrOhcG-IRUkoDc0C60SQSxnEtgwtQZWoGq1C69FmtB3tQg2oER1CR9ExdBr9gC6iK6gT3YMvUA96igbQSzSEYRgd08B0MWPMArPFnDB3zBsLwEKxaCwBS8MysCxMgsmxMuwzrBpbg23GdmAN2LdYC3Yau4Bdxe5g3Vgf9gf2loJT1Cl6FDOKHWUCxZvCoURRkigzKVmUuZRSSgVlBWUjpY6yn9JEOU25SOmkdFGeUgZxhKvhBrgl7oJ748F4LJ6OZ-IyfCFehdfgdXgjVIF2_DrehffjbwgaoUuwCBfITQSRTPCJucRCYjmxmdhDNBFnietENzFAvKdqUE2pTlRfKpc6jZpFnUetpNZQ66lHqOegavdQX9JoNAPghRfwJY2WTZtPW07bSjtAO0W7SntEG6TT6cZ0J7o_PZbOoxfSK-mb6PvpJ-nX6D301ww1hgXDnRHGSGdIGOWMGsZexgnGNcZjxpCKloqtiq9KrIpApURlpcoulVaVyyo9KkOq2qr2qv6qSarZqktUN6o2qp5Tva_6Qk1NzUrNRy1eTay2WG2j2kG182rdam_UddQd1YPVZ6jL1Veo71Y_pX5H_YWGhoadRpBGukahxgqNBo0zGg81XjN1ma5MLlPAXMSsZTYxrzGfaapo2mpyNGdplmrWaB7WvKzZr6WiZacVrMXTWqhVq9WidUtrUFtX2007VjtPe7n2Xu0L2r06dB07nVAdgU6Fzk6dMzqPdHFda91gXb7uZ7q7dM_p9ujR9Oz1uHrZetV63-hd0hvQ19GfpJ-iX6xfq39cv8sAN7Az4BrkGqw0OGRw0-CtoZkhx1BouMyw0fCa4SujcUZBRkKjKqMDRp1Gb41ZxqHGOcarjY8aPzAhTBxN4k3mmWwzOWfSP05vnN84_riqcYfG3TWlmDqaJpjON91p2mE6aGZuFm4mNdtkdsas39zAPMg823yd-QnzPgtdiwALscU6i5MWT1j6LA4rl7WRdZY1YGlqGWEpt9xheclyyMreKtmq3OqA1QNrVWtv60zrddZt1gM2FjZTbcps9tnctVWx9bYV2W6wbbd9ZWdvl2q31O6oXa-9kT3XvtR-n_19Bw2HQIe5DnUON8bTxnuPzxm_dfwVR4qjh6PIsdbxshPFydNJ7LTV6aoz1dnHWeJc53zLRd2F41Lkss-l29XANdq13PWo67MJNhPSJ6ye0D7hPduDnQvft3tuOm6RbuVurW5_uDu6891r3W9M1JgYNnHRxOaJzyc5TRJO2jbptoeux1SPpR5tHn95ennKPBs9-7xsvDK8tnjd8tbzjvNe7n3eh-ozxWeRzzGfN76evoW-h3x_93Pxy_Hb69c72X6ycPKuyY_8rfx5_jv8uwJYARkBXwV0BVoG8gLrAn8Osg4SBNUHPeaM52Rz9nOeTWFPkU05MuVVsG_wguBTIXhIeEhVyKVQndDk0M2hD8OswrLC9oUNhHuEzw8_FUGNiIpYHXGLa8blcxu4A5FekQsiz0apRyVGbY76OdoxWhbdOpUyNXLq2qn3Y2xjJDFHY1EsN3Zt7IM4-7i5cd_H0-Lj4mvjf01wSyhLaE_UTZyduDfxZdKUpJVJ95IdkuXJbSmaKTNSGlJepYakrkntmjZh2oJpF9NM0sRpzen09JT0-vTB6aHT10_vmeExo3LGzZn2M4tnXphlMit31vHZmrN5sw9nUDNSM_ZmvOPF8up4g3O4c7bMGeAH8zfwnwqCBOsEfUJ_4Rrh40z_zDWZvVn-WWuz-kSBohpRvzhYvFn8PDsie3v2q5zYnN05H3JTcw_kMfIy8lokOpIcydl88_zi_KtSJ2mltGuu79z1cwdkUbL6AqxgZkFzoR78U9ohd5B_Lu8uCiiqLXo9L2Xe4WLtYklxR4ljybKSx6VhpV_PJ-bz57eVWZYtKetewFmwYyG2cM7CtkXWiyoW9SwOX7xnieqSnCU_lbPL15T_-VnqZ60VZhWLKx59Hv75vkpmpazy1lK_pdu_IL4Qf3Fp2cRlm5a9rxJU_VjNrq6pfrecv_zHL92-3PjlhxWZKy6t9Fy5bRVtlWTVzdWBq_es0V5TuubR2qlrm9ax1lWt-3P97PUXaibVbN-gukG-oWtj9MbmTTabVm16t1m0ubN2Su2BLaZblm15tVWw9dq2oG2N2822V29_-5X4q9s7wnc01dnV1eyk7Sza-euulF3tX3t_3VBvUl9d_9duye6uPQl7zjZ4NTTsNd27ch9ln3xf3_4Z-698E_JNc6NL444DBgeqD6KD8oNPvs349uahqENth70PN35n-92WI7pHqpqwppKmgaOio13Nac1XWyJb2lr9Wo987_r97mOWx2qP6x9feUL1RMWJDydLTw6ekp7qP511-lHb7LZ7Z6aduXE2_uylc1Hnzv8Q9sOZdk77yfP-549d8L3Q8qP3j0cvel5s6vDoOPKTx09HLnlearrsdbn5is-V1quTr564Fnjt9PWQ6z_c4N642BnTefVm8s3bt2bc6rotuN17J_fO87tFd4fuLYaLfdUDrQc1D00f1v1r_L8OdHl2He8O6e74OfHne4_4j57-UvDLu56KXzV-rXls8bih1733WF9Y35Un05_0PJU-Heqv_E37ty3PHJ5993vQ7x0D0wZ6nsuef_hj-QvjF7v_nPRn22Dc4MOXeS-HXlW9Nn695433m_a3qW8fD817R3-38a_xf7W-j3p__0Pehw__BgkP-GIKZW5kc3RyZWFtCmVuZG9iago1IDAgb2JqClsgL0lDQ0Jhc2VkIDcgMCBSIF0KZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9NZWRpYUJveCBbMCAwIDYxMiA3OTJdIC9Db3VudCAxIC9LaWRzIFsgMSAwIFIgXSA-PgplbmRvYmoKOCAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMiAwIFIgPj4KZW5kb2JqCjYgMCBvYmoKPDwgL1R5cGUgL0ZvbnQgL1N1YnR5cGUgL1RydWVUeXBlIC9CYXNlRm9udCAvQUFBQUFCK0NvdXJpZXIgL0ZvbnREZXNjcmlwdG9yCjkgMCBSIC9FbmNvZGluZyAvTWFjUm9tYW5FbmNvZGluZyAvRmlyc3RDaGFyIDMyIC9MYXN0Q2hhciAxMjEgL1dpZHRocyBbIDYwMAowIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDYwMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCA2MDAKMCA2MDAgMCAwIDYwMCAwIDAgMCAwIDAgMCA2MDAgMCAwIDAgNjAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDYwMCAwIDYwMAowIDYwMCA2MDAgMCA2MDAgNjAwIDAgMCA2MDAgMCA2MDAgNjAwIDAgMCAwIDYwMCA2MDAgMCAwIDYwMCAwIDYwMCBdID4-CmVuZG9iago5IDAgb2JqCjw8IC9UeXBlIC9Gb250RGVzY3JpcHRvciAvRm9udE5hbWUgL0FBQUFBQitDb3VyaWVyIC9GbGFncyAzMiAvRm9udEJCb3ggWy02NTUgLTQwOSAxMDYzIDEwOTBdCi9JdGFsaWNBbmdsZSAwIC9Bc2NlbnQgNzU0IC9EZXNjZW50IC0yNDYgL0NhcEhlaWdodCA1ODcgL1N0ZW1WIDc2IC9YSGVpZ2h0CjQ1NyAvU3RlbUggNzAgL01heFdpZHRoIDgyMyAvRm9udEZpbGUyIDEwIDAgUiA-PgplbmRvYmoKMTAgMCBvYmoKPDwgL0xlbmd0aDEgOTI2OCAvTGVuZ3RoIDU0MDggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngBpZoLcFPXmcfPla5kG9nGsmULkGXpWrq6eoFsg43BCYHEvJOUvIjNNuURMCYNSQgQYDKZhtkSAlvabTvlkYZsl6YEOtnWS7NgbNpkm02azLYbOrslMEOmm06TJp1uNtOmaZKC2N93ryQLp7OzM2vmr_PQ1adzvu__Pc4RWx7cuk7VqEeVWy1bsfqBAWX_tX5JKe3Y3RtXP-CM3edpf3r3Q1uizlh7n7Zl4IH1G52xq47nN6-_d0fh8_pZpcLLBtetXuu8ry7Rdg0y4Yy1GbTxwY1btjtj9xdpb7_3_rsL7-tPM85uXL298P3qIuPofas3rnOeb71Xxg_cv3lLYRylvfGBB9cVntf6GO9XGq-Nap5y0bJA-3WCYuhOlmaY9T4yY9HKidf8UZtcaU9_e6fT_nJC6BefvHhppHJn5Sne8BYk2JK8lXke8u7_5MVPfly5s_SO_XleGoeVyqgR5t3KldFGlO50nqezVM1WOdWqmniuMvO88qiVaom6VmVLM17WXP6Meh5By3io_GOuT33MrRZd_bERVcH3VWRYTHT-Ixsm9fKNabVPbVOH1QFev8fYyG9Syv2kmqIfUYZSPJpdOqy8y_r-UdO-3D-sXdk1rHrDp9m9e-Xnpg4rLRuNzt_QO6StYuDKMpE26Lmz0QVDbnPBrX2x_uje6N7Fa_dGF0QHV68d0k275Y11e_tz0SF1W98GXm_vM4bm9odK3XX9_bORo4scPsLje_uRcE9BAq09lbvMQ57s0uiQO7Gs75a-oUd7Q0Nze_tDhhGdP_TCsr6hF3pDRn8_T3lLK2XFsntnzRWs2Zvm_UpHym19Q3NDQ6p_716ReVtfzBh6dO_e0F72URgPqxfGTWhq_MTcwgSaQAaamD-sPboMYTQxIyQTMSNmsM7-Xr67Krv0tr75rNTon6r0n6kBQKsdoV0DPgt-BPoK_d20q4A8dwasBUfBCBgEK8AJwPNXfkc7C8tq_JO_amz3I9qoWlGYsac_9eJ4yaem_-KEm1ndfsdz1fvewqjiqtnygbhWFZigfLxWE3vkrxZMVEQR-8-v6u22gdeA3ZsNsY9qX3KtcL3sHtSbPc3eeu-Ziusrp1Q-Xnm-6scTDlZPqH625kztMZx7IL9fH_A8jcNVqIWYOQdhQGUd3D4LZFx3mrc9HzCip9s9N-9XXVSjDEUTemaU1oXu9Exbe4Pf8JuG3xjQ1aXN7tClt_L7K2o_-v2D3pQsT9OOXPm9O6MtZ0_PjvARPCozz8MelZoCXJvmhWyTLGbQDzaAHWAPOASOg9PgVXABvAs-BjV3iUPO72NludBp9FYxpx-GXUTcTDawENwJ1oNtYDc4AJ4Bp8BPwOvgN-BPoOYuFoUjE2gIS5va2s0ZXdM7mhoD3lhrQjuy8c7-ezf29d379M1r1yxbtmYNu19z5ZK-lchQrbLaklFW5MU0opo4PVENAn9L5xPgumtekF161WLQDzaAHWAPOASOg9PgVXAB-O5y9N-kdCxRj_5D2CdOO-1icd8tsu8WVSP7thURlYlo2USNTNQ4mrGfmCgTE8sm0jKRdiZqsDcG4_vcfFeUURUjdvEunY-BvYtuOotAHxgE28Hj4CA4BobBK-A8kF1UI6saXgmHGuk30m-ibaKtZi5IP0h_Eu2kHHpv0aZ3dHXOSMRavRX-jNaa6JzR1aP5MYN03B3KH_BW1Gpilm3R61o-fOvty7n2xqemmmbmmvq6a6aaVuapNz7WknfcsvT144GV-9zui__13gWX-8_vxeNWi3tXNGnG8s_n_3vXr5ffvNB2VE19FlJ_Flt2a55R1S36ty05jQSUtHthqB-jN6y60UudbRX94rDysQPZVTetSZuk7aQN084uWWqSaHlSmWEqZKJC1D6qLAjXYYuuKBmgFhETQR2YxKzfNsskhEYvYpAqrDwZ2M7TTWcR6AODYDt4HBwEx8AweAWcB--Aj0ANhvEjLY58WbbFd3Qp1wenyczuDzBCgfqGo3RXQfvTDTwC9aP7azVcHoPwYFgrzbg-Z6UT8dZ8Q2vcyhnXXXdjJt7q3toai7WmWy6_qVU2x6PhUGu8Of_RPiMeM82YGXXviqRiZsrK52Ox7E1fyX9_yuKORDrfkehYHM7PJyoTn_VabNOqto7yosNfPVP0gaAoMlim2ckyMblswisT3jLKV8pEpTPh_ZTGg8zU2dqOohfjLLpwooBRIGCJiZrhKCmj-d37b8pkbrr897l4InvTr361dFoiMdW1Mhc3py791b5wMhWJx5Nh2agZi8dTkUsPS6HVV-BcJRT72QgvDUTGUVjmhXXCNOGSOmtHEQ9RxFOMIh6iiIco4iGKeIgiHqKIhyjiIYp4iCIeooiHKOKx_S_JhoI2X6vhawMym9lYjDZd4mdEVBIpU9pYnJBIr6mEvaBISVsT6UlwcFxZXFghUFx4MhrT_AUPbiio7moftlkU8KI37Uejh588_GRTezbdkw-2woidC_qgjPbaHy598sfv6_X5ti1bN2-59LART0ZNWOSQ5cypUyP51ySLi99ughvt6sKw6iCKpFlCmjbHcnLsN22389xqFQWidhcdkpzSNtFZWZz5z2LnW8XOo3YHLSFBtNVsS5RgK9FYZLYUZLfzbjvvij6nl_RZiLtjkTkhCk6MhdlmW3cJtNhS4tpURE0DOdCMuDbadrTZYMe6zrauzoY5mugu2BBo6rRdznIb_h7tKiW7_Mb7rsjUWMw1wRVPuNcl4prPlUgkW1wT8m8-YXvn5dds73wi_6a7dmnKjEfqtCWmYZj5k_VRLR5LLdV00XjRPYWru6_8Rt_tfo5c16kNDqsudjwFSM3QxVIbaBty4mb6ByS6LjoLwHIwAB4Cj4H94Cg4CV4G54BP8u5bdP4IXISlKcirQV4N8r30xQ2j8n0oK2Xrf2ZJzwW1-koZsE70XFfm7O0y0S4To2R2Tjc2kets-rplrTPh8UJwJ1gPtoHd4AB4BpwCPwGvA3utb9P5ELjuGiG11qkqf_2sYSWmDGNKO1uGyZbhYrYME5zDOHuY4BwmOIcJzmGCc5jgHCaMhQnOYYJz2PbWKnYsHM6IG00jyXkbA03iTUGHBXbADTrZ0QlIEoTwN6lUJFla7t6Z66c_ceL-5V-4UHnrPw9849QfLs5-aM59W25-IRJOvPHs0HPtC9uSycPNca82Uu8f7Ovt27XotSU3H9311Pcm1lVsvu_2nNlz6w--n-9pseLx1ij-gp-twv5TsX9WGxil7PSStKhvxNIBLB3A0gEsHcDSASwdwNIBLB3A0gEsHcDSgaKlA1g6gHKKEVwXC-lqzIaFkmRsIi5PxB2jptGznxRl69mPnv1FPfvRsx89-9GzHz370bMfPfvRs58v86NnP3r2sxA5fKaV37acjsZ9TlL1kTh8xaTqQ54PeT7k-ZDnQ54PeT7k-ZDnQ54PeT6Sqo-k6rOTapz1BWV9wqwgzArCrCDMCsKsIMwKwqwgzArCrCDMCsKsYJFZQZgVZEPY_qrUapUxYWbXTKcw1WOtqnOGwvTuryfIMYlEyGpu29P_5IujX79hR1dDdJ4ZsfK_OHYh_0stev7GQ-5VuhFpWzpimpH2W24b_to3fmia1ZM7rchnvqM1nT2rBVNia5cawNYr3CdVs4qpN8bqWifEh-FmOFe0XaNYprHMduV5A3dAniQyyRZucQ5Ryv-9NC-4mxulUJLbBbFTBjcizyg6mwEJjCIJDIxmYDQDoxkYzcBoBkYzMJrBqg2MZmA0A42jZCk1447v2BWlo09lu5Jp2ErXApU_-OZWLRBuSaanrf3Fhl_n39Na3_13rSk3OPHyOtffTDz-8K6T2pG_PfxIojncFmyfoVVceEOrv6JOdif-ettXuSwS_zmDIno8ESLRYyO8TCDTE9zZRq0d0SbAQYmhtbTFeridvsWcVdL2WCUzqkKoJI5yR-GLZldEEi2L9bvETykhQ7ai3OSsINKSzEykzZUVNVdn5p4C7ZxTD8EnrEnFR64x_O4nUpmUdflBef3u06mp6eRT__b2A5-fFq_f075pjbYmlckm8ke_EqfCifPiujtBr_efvt3RGUlOWnnfLIKJdfkwi12LLh72hNUsrWmUctNLEJF9SFSJ2HTJ2PuQTCu5xcOq5YyaoS9nCTmV5pT3A4m-5HLbhwPMUZ1Tvk7inWEV4NmeUpYoJIWxgBIS2obKskSHTHQ4WaKSJbrsdXTY65AiR_IFZboTdSwIZxUJZ0E4C8JZEM6CcBaEsyCcBeEsCGdBOAvCWXbUkXxh2SuWcinAbuTs0ApiIAOy2GZm8awjmd1Pzh-L8LFCQa757fNRMfAXpqe_19A7PWUdDLUs_spNB_4h15FNJvMf5ozUrNg969Z_M3ZN2sjlP7SsXO8-XUWT8XhTQ76nd96Zo_keA6NFUsmw9q2tD-8dyK9qsZyiFVUcxV7LPKsIcJZaP8JL1GavHBk486Id6YXQfjEqxESbsbKo0CATDY563RC3ylZvAx-rtqufKWxcjrcxZqQywjPLDt8NRQraXJ1ulJ9FXBOsuXOS5ry51mltnmXGcpc-SibTaa39xVQmmdTMUEQ_c293rm95KnGpxqD0hpqtrp2UkrGmBgw9wt6uhYshtWSExRC58ctqe2fCPzmf6iUelW9DWMJneXr8Nlh8ITHLuv3jFu-KfXd1e8rSloRatNkccXOX0TQLbtT3RVJikD8fKi5T4sYg3_EF8m6P1jPKJaiXs6n4SiO9qP3t2dJa5QRa9JUsfYkB4itttq_IJVKbzTwJnkQOfGWybb1Gnr22tMfC4WjMVyaI7biQKpVYfpkgiZYmmmWiucybpsvE9LKJTpnolIligJrAIpKcN-00nsShGMgVSTedRaAPDILt4HFwEBwDw-AVcB5IGq9lacmSQ4kzydWCOJOcbLNgarlDueSwepVDjd0vXOVQGZdDtt_jUOlcbtWYR-WueWNuPD0bhxp4EoeKLzjZlUrhUK6d3CsYTQ29RX-yjJa01TLmT-mWmJmkKlQryK-b3Sfwp6B2h9x5cDeSQxG_xTM-sTMdiphFZzHoBxvADrAHHALHwWnwKrgA5JZFrgbq2W49VXgVdkVEF50FYDkYAA-Bx8B-cBScBC-Dc6BQhVdRm0llK7c14pzi3ZNL3Phfsr1jV750JjxbCO4E68E2sBscAM-AU-An4HVQyO-K_E7dwZcKNfklwWGFF1YULs7kQmYR6AODYDt4HBwEx8AweAWcB5LXzeL9EbWzFlDFOkm5Bp546eVDh176F9cz-YvvvpO_qMXfeUczN7944MBLLx04-GNtxbn8-1rduXPaxPz7rElTJ668qwfxv7muzmE1D0vVgnnoWqgmN1lyApJbU1l6Dq-y9Z5D7zn0nkPvOfSeQ-859J5D7zn0nkPvOfSeK-o9h95ztgoqkVfpsKEWNtQ6bjGLzmLQDzaAHWAPOASOg9PgVXABCBtqWU2nbb3rS9Yr3EGN-W3h-nBsolvctLvMb-fIxByZGCU7uvF6CXhz2L7uXLPq2FrH1jq21rG1jq11bK1jax1b69hax9Y616w616x68ZpV5zDGXfIm5zqNmtupDX3I8yHPhzwf8nzI8yHPhzwf8nzI8yHPV-SOD-7wabbcwqpMp4w3iWxmsYw3YY4Jc0yYY8IcE-aYMMeEOSbMMWGOCXNMyniTMt60y3i5c8sW41MWJjJw4lMWeVnkZZGXRV4WeVnkZZGXRV4WeVnkZW0mzrTL-GBTUCpNudQsxBtSOmNenbszK1Gq8HnSqb4s-8B3wjBTk-pq0k_ffc-j6x-Z-dNzP__hTd_SfXNaWo1orCUbCXRuv-Vzmx968ewL__HcrC_dE-vwx8xFJ7KJ7lZ_17zlCxZe8-XdX_xaxuro2NqZmx6rb8_cNve6Lt2ze9_uI42Tg8F2ON535T19jT5Covih_CgWs3OgXEU6tx1Sg4pyU7QVtHI9UUnbdpbd2pfKWaFJtuz2qHApB2_QB496Lxbjvtyu-cTDJVL8P6wtFwMRFiKXA1JKJeS4XKxU7QNzWVUvyr127NruWqe4CGvube1T0-n85-9Y_1f5lmarvWfN4flb_84K-L-bTsy4Y5NpZVvda1upFfInnh68Jxk22oNWfOmS2Kq1Ee1m7NLys85MqqP_X5V25XdX3tB_zi-FszUo3UM8SIEeFiYVa7X48wQuL6aAwu8dKfw5hT-n8OcU_pzCn1P4cwp_TuHPKfw5hT-nuHxPwb-UTcsUEtsuUrQQm51sLhVKgzhjFwXWArAcDICHwGNgPzgKToKXwTnwNvgQ2L95eOg0AtemERZYrRpIpyMURMVejO-W7xqhanB6rIFvvaYUWQqHvrFAUiDE2EThjG8TwqbMTKHMTIksshmudO0cLudECitJOqhtyllZhvPeiJT3haeKd9YJnpkudnfbnmK5y8ou-xeCjBZykn0wpBX9zinHKgofca3aOSGZjCfr3qpKm1ZC83Ulmvz-qdHZz-70Ja14qu6R70zKzG-Lz9CqI5F4x5s1lhVP12qX8maiJdHhumBYrfGINSmme_TLx7TnEi1We36Vq49CuiXemoi6LjfIFD42K79J3wc_ctqNaA9umEC0KGeAgMMPE_UXwtYsOotBP9gAdoA94BA4Dk6DV8EF8C74GMiVvonErM2PgMraKpWTUMjhRwh-hOBHCH6E4EcIfoTgRwh-hOBHCH6E4EcIfoTgR6jIjxD8CNn8iHBKC9lciNKTbxjhKG0Wvktcvb3EikIQGCNBUmxO2VYqHAs_glSNlYVyZp0IJEw4P3m0MIpAhCiRKWjvyGBGTkxyirWPRnI6LRxjG7gAk4jrWDmjVRVK8cIdaYUrlFk8g58apudMy7pwJP_V69s5JQS7Ex03mNpELWDNn5GY9aeUle2-ovhVIh7lCky7zvVaNBmLRaxk9PIFlxVNWpFYDOPKXYn9l_862vxLf41MSta0cJwsFfFM1YsNFmHapepG9Rl1i7oVe9zJb8_cY8OSeiB_XtK4mid_12duuH_rgxvWPVh4R96VZzkXkHsUuUeRexS5x_7vCeQeRe5R5DJFLlNaJZgEkqAbLAJ9YBBsB4-Dg1cKf3xGlfoaKr96PG3cWP7HRPnzC8aNF48bLxs3vn3cePW48d3jxvb_bylb38C499nTVevZMG4s_y-mfL33jRvfP268edzY_v80Zd8vpW25vB0y_h8dLgetCmVuZHN0cmVhbQplbmRvYmoKMTEgMCBvYmoKPDwgL1RpdGxlICh0ZXN0KSAvUHJvZHVjZXIgKG1hY09TIFZlcnNpb24gMTUuNi4xIFwoQnVpbGQgMjRHOTBcKSBRdWFydHogUERGQ29udGV4dCkKL0F1dGhvciAoQWxla3NhbmRyIFplbGVuc2tpeSkgL0NyZWF0b3IgKFRleHRFZGl0KSAvQ3JlYXRpb25EYXRlIChEOjIwMjUwOTI5MjM0NzE5WjAwJzAwJykKL01vZERhdGUgKEQ6MjAyNTA5MjkyMzQ3MTlaMDAnMDAnKSA-PgplbmRvYmoKeHJlZgowIDEyCjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDI1NyAwMDAwMCBuIAowMDAwMDAzOTc5IDAwMDAwIG4gCjAwMDAwMDAwMjIgMDAwMDAgbiAKMDAwMDAwMDM2MSAwMDAwMCBuIAowMDAwMDAzOTQ0IDAwMDAwIG4gCjAwMDAwMDQxMTEgMDAwMDAgbiAKMDAwMDAwMDQ1OCAwMDAwMCBuIAowMDAwMDA0MDYyIDAwMDAwIG4gCjAwMDAwMDQ0OTkgMDAwMDAgbiAKMDAwMDAwNDczMSAwMDAwMCBuIAowMDAwMDEwMjI3IDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgMTIgL1Jvb3QgOCAwIFIgL0luZm8gMTEgMCBSIC9JRCBbIDxhZjQ4NGFiNjFjZjJjY2JjZjk0MmIzMjM3NDM4YWE3ZT4KPGFmNDg0YWI2MWNmMmNjYmNmOTQyYjMyMzc0MzhhYTdlPiBdID4-CnN0YXJ0eHJlZgoxMDQ1NQolJUVPRgo=", + "mimeType": "application/pdf"}}, {"text": "What is in this document?"}], "role": + "user"}], "generationConfig": {"maxOutputTokens": 150}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '14661' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"text\": \"The document contains the sentence + \\\"This is a test PDF. It contains only a few sentences.\\\"\\n\"\n }\n + \ ],\n \"role\": \"model\"\n },\n \"finishReason\": + \"STOP\",\n \"avgLogprobs\": -0.107620108127594\n }\n ],\n \"usageMetadata\": + {\n \"promptTokenCount\": 1296,\n \"candidatesTokenCount\": 20,\n \"totalTokenCount\": + 1316,\n \"promptTokensDetails\": [\n {\n \"modality\": \"DOCUMENT\",\n + \ \"tokenCount\": 1290\n },\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 6\n }\n ],\n \"candidatesTokensDetails\": + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 20\n + \ }\n ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": + \"gemini-2.0-flash-001\",\n \"responseId\": \"recBaue_KJSY_uMPurbS4As\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:02 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=1220 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '852' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_embed_content.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_embed_content.yaml new file mode 100644 index 00000000..dca07787 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_embed_content.yaml @@ -0,0 +1,75 @@ +interactions: +- request: + body: '{"requests": [{"content": {"parts": [{"text": "This is a test"}], "role": + "user"}, "taskType": "RETRIEVAL_DOCUMENT", "outputDimensionality": 32, "model": + "models/gemini-embedding-001"}, {"content": {"parts": [{"text": "This is another + test"}], "role": "user"}, "taskType": "RETRIEVAL_DOCUMENT", "outputDimensionality": + 32, "model": "models/gemini-embedding-001"}]}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '364' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:batchEmbedContents + response: + body: + string: "{\n \"embeddings\": [\n {\n \"values\": [\n -0.023325698,\n + \ 0.0046664835,\n 0.011547477,\n -0.09579112,\n -0.0014762759,\n + \ 0.0008815472,\n -0.0021552797,\n -0.010228449,\n 0.0051200837,\n + \ -0.00017234083,\n -0.004328001,\n -0.011912019,\n 0.00035554593,\n + \ -0.0041076173,\n 0.16096918,\n 0.012422918,\n -0.0063045956,\n + \ 0.007986352,\n -0.002453504,\n -0.0076586856,\n -0.0046673263,\n + \ -0.011785407,\n 0.019633682,\n -0.0028250674,\n 0.003508845,\n + \ -0.008396229,\n 0.023694735,\n 0.013479813,\n 0.019790472,\n + \ -0.0024608728,\n -0.009812026,\n 0.013141339\n ]\n + \ },\n {\n \"values\": [\n -0.020953175,\n 0.00159121,\n + \ 0.01681236,\n -0.09719086,\n -0.0057125897,\n -0.0091514345,\n + \ 0.0065565477,\n -0.010889619,\n 0.005243009,\n -0.0102227805,\n + \ 0.0024382372,\n -0.008563973,\n 0.0069260946,\n -0.010109229,\n + \ 0.15993133,\n 0.014212301,\n -0.013013395,\n 0.0043994756,\n + \ -0.015382343,\n -0.009089905,\n 6.0088325e-05,\n -0.006942369,\n + \ 0.020732542,\n -0.0068101394,\n 0.0039503737,\n -0.004525233,\n + \ 0.032600258,\n 0.009397907,\n 0.022764705,\n -0.006015099,\n + \ -0.012276714,\n 0.013333517\n ]\n }\n ]\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:00 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=156 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + content-length: + - '1499' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_embed_content_async.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_embed_content_async.yaml new file mode 100644 index 00000000..1d2e68ac --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_embed_content_async.yaml @@ -0,0 +1,75 @@ +interactions: +- request: + body: '{"requests": [{"content": {"parts": [{"text": "This is a test"}], "role": + "user"}, "taskType": "RETRIEVAL_DOCUMENT", "outputDimensionality": 32, "model": + "models/gemini-embedding-001"}, {"content": {"parts": [{"text": "This is another + test"}], "role": "user"}, "taskType": "RETRIEVAL_DOCUMENT", "outputDimensionality": + 32, "model": "models/gemini-embedding-001"}]}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '364' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:batchEmbedContents + response: + body: + string: "{\n \"embeddings\": [\n {\n \"values\": [\n -0.023325698,\n + \ 0.0046664835,\n 0.011547477,\n -0.09579112,\n -0.0014762759,\n + \ 0.0008815472,\n -0.0021552797,\n -0.010228449,\n 0.0051200837,\n + \ -0.00017234083,\n -0.004328001,\n -0.011912019,\n 0.00035554593,\n + \ -0.0041076173,\n 0.16096918,\n 0.012422918,\n -0.0063045956,\n + \ 0.007986352,\n -0.002453504,\n -0.0076586856,\n -0.0046673263,\n + \ -0.011785407,\n 0.019633682,\n -0.0028250674,\n 0.003508845,\n + \ -0.008396229,\n 0.023694735,\n 0.013479813,\n 0.019790472,\n + \ -0.0024608728,\n -0.009812026,\n 0.013141339\n ]\n + \ },\n {\n \"values\": [\n -0.020953175,\n 0.00159121,\n + \ 0.01681236,\n -0.09719086,\n -0.0057125897,\n -0.0091514345,\n + \ 0.0065565477,\n -0.010889619,\n 0.005243009,\n -0.0102227805,\n + \ 0.0024382372,\n -0.008563973,\n 0.0069260946,\n -0.010109229,\n + \ 0.15993133,\n 0.014212301,\n -0.013013395,\n 0.0043994756,\n + \ -0.015382343,\n -0.009089905,\n 6.0088325e-05,\n -0.006942369,\n + \ 0.020732542,\n -0.0068101394,\n 0.0039503737,\n -0.004525233,\n + \ 0.032600258,\n 0.009397907,\n 0.022764705,\n -0.006015099,\n + \ -0.012276714,\n 0.013333517\n ]\n }\n ]\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:00 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=146 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + content-length: + - '1499' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_error_handling.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_error_handling.yaml new file mode 100644 index 00000000..f1fac6a3 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_error_handling.yaml @@ -0,0 +1,58 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "Hello"}], "role": "user"}], "generationConfig": + {"maxOutputTokens": 100}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '108' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/there-is-no-such-model:generateContent + response: + body: + string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"models/there-is-no-such-model + is not found for API version v1beta, or is not supported for generateContent. + Call ListModels to see the list of available models and their supported methods.\",\n + \ \"status\": \"NOT_FOUND\"\n }\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:12 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=68 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + content-length: + - '271' + status: + code: 404 + message: Not Found +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_generate_images.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_generate_images.yaml new file mode 100644 index 00000000..a0479382 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_generate_images.yaml @@ -0,0 +1,56 @@ +interactions: +- request: + body: '{"instances": [{"prompt": "A watercolor fox in a forest"}], "parameters": + {"sampleCount": 1, "aspectRatio": "1:1", "safetySetting": "BLOCK_LOW_AND_ABOVE", + "includeRaiReason": true}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '181' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/imagen-4.0-fast-generate-001:predict + response: + body: + string: '{"predictions": [{"mimeType": "image/png", "bytesBase64Encoded": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg=="}]}' + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:28 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=3801 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + content-length: + - '2526181' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_generate_images_async.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_generate_images_async.yaml new file mode 100644 index 00000000..ac17417b --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_generate_images_async.yaml @@ -0,0 +1,56 @@ +interactions: +- request: + body: '{"instances": [{"prompt": "A watercolor fox in a forest"}], "parameters": + {"sampleCount": 1, "aspectRatio": "1:1", "safetySetting": "BLOCK_LOW_AND_ABOVE", + "includeRaiReason": true}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '181' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/imagen-4.0-fast-generate-001:predict + response: + body: + string: '{"predictions": [{"mimeType": "image/png", "bytesBase64Encoded": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg=="}]}' + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:32 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=2969 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + content-length: + - '2339773' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_google_search_grounding[stream].yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_google_search_grounding[stream].yaml new file mode 100644 index 00000000..77e9f4d1 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_google_search_grounding[stream].yaml @@ -0,0 +1,167 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "What is the current population of Tokyo, + Japan?"}], "role": "user"}], "tools": [{"googleSearch": {}}], "generationConfig": + {"maxOutputTokens": 300}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '183' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:streamGenerateContent?alt=sse + response: + body: + string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"The + population of the\"}],\"role\": \"model\"},\"groundingMetadata\": {}}],\"usageMetadata\": + {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"0OcBauS5MbaW6MEP5Z2KuQ4\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" Greater Tokyo Area + is approximately 37.8 million.\"}],\"role\": \"model\"},\"groundingMetadata\": + {}}],\"usageMetadata\": {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"0OcBauS5MbaW6MEP5Z2KuQ4\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" The population + of Tokyo Metropolis is estimated to be 14,195,73\"}],\"role\": \"model\"},\"groundingMetadata\": + {}}],\"usageMetadata\": {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"0OcBauS5MbaW6MEP5Z2KuQ4\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"0 as of 2025. The + population within the 23 wards that make up the city of Tokyo was approximately + 9,\"}],\"role\": \"model\"},\"groundingMetadata\": {}}],\"usageMetadata\": + {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"0OcBauS5MbaW6MEP5Z2KuQ4\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"262,046 in 2016. + The current metro area population of Tokyo in 2026 is \"}],\"role\": \"model\"},\"groundingMetadata\": + {}}],\"usageMetadata\": {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"0OcBauS5MbaW6MEP5Z2KuQ4\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"36,954,000.\\n\"}],\"role\": + \"model\"},\"finishReason\": \"STOP\",\"groundingMetadata\": {\"searchEntryPoint\": + {\"renderedContent\": \"\\u003cstyle\\u003e\\n.container {\\n align-items: + center;\\n border-radius: 8px;\\n display: flex;\\n font-family: Google + Sans, Roboto, sans-serif;\\n font-size: 14px;\\n line-height: 20px;\\n padding: + 8px 12px;\\n}\\n.chip {\\n display: inline-block;\\n border: solid 1px;\\n + \ border-radius: 16px;\\n min-width: 14px;\\n padding: 5px 16px;\\n text-align: + center;\\n user-select: none;\\n margin: 0 8px;\\n -webkit-tap-highlight-color: + transparent;\\n}\\n.carousel {\\n overflow: auto;\\n scrollbar-width: none;\\n + \ white-space: nowrap;\\n margin-right: -12px;\\n}\\n.headline {\\n display: + flex;\\n margin-right: 4px;\\n}\\n.gradient-container {\\n position: relative;\\n}\\n.gradient + {\\n position: absolute;\\n transform: translate(3px, -9px);\\n height: + 36px;\\n width: 9px;\\n}\\n@media (prefers-color-scheme: light) {\\n .container + {\\n background-color: #fafafa;\\n box-shadow: 0 0 0 1px #0000000f;\\n + \ }\\n .headline-label {\\n color: #1f1f1f;\\n }\\n .chip {\\n background-color: + #ffffff;\\n border-color: #d2d2d2;\\n color: #5e5e5e;\\n text-decoration: + none;\\n }\\n .chip:hover {\\n background-color: #f2f2f2;\\n }\\n .chip:focus + {\\n background-color: #f2f2f2;\\n }\\n .chip:active {\\n background-color: + #d8d8d8;\\n border-color: #b6b6b6;\\n }\\n .logo-dark {\\n display: + none;\\n }\\n .gradient {\\n background: linear-gradient(90deg, #fafafa + 15%, #fafafa00 100%);\\n }\\n}\\n@media (prefers-color-scheme: dark) {\\n + \ .container {\\n background-color: #1f1f1f;\\n box-shadow: 0 0 0 1px + #ffffff26;\\n }\\n .headline-label {\\n color: #fff;\\n }\\n .chip + {\\n background-color: #2c2c2c;\\n border-color: #3c4043;\\n color: + #fff;\\n text-decoration: none;\\n }\\n .chip:hover {\\n background-color: + #353536;\\n }\\n .chip:focus {\\n background-color: #353536;\\n }\\n + \ .chip:active {\\n background-color: #464849;\\n border-color: #53575b;\\n + \ }\\n .logo-light {\\n display: none;\\n }\\n .gradient {\\n background: + linear-gradient(90deg, #1f1f1f 15%, #1f1f1f00 100%);\\n }\\n}\\n\\u003c/style\\u003e\\n\\u003cdiv + class=\\\"container\\\"\\u003e\\n \\u003cdiv class=\\\"headline\\\"\\u003e\\n + \ \\u003csvg class=\\\"logo-light\\\" width=\\\"18\\\" height=\\\"18\\\" + viewBox=\\\"9 9 35 35\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"\\u003e\\n + \ \\u003cpath fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M42.8622 + 27.0064C42.8622 25.7839 42.7525 24.6084 42.5487 23.4799H26.3109V30.1568H35.5897C35.1821 + 32.3041 33.9596 34.1222 32.1258 35.3448V39.6864H37.7213C40.9814 36.677 42.8622 + 32.2571 42.8622 27.0064V27.0064Z\\\" fill=\\\"#4285F4\\\"/\\u003e\\n \\u003cpath + fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M26.3109 43.8555C30.9659 + 43.8555 34.8687 42.3195 37.7213 39.6863L32.1258 35.3447C30.5898 36.3792 28.6306 + 37.0061 26.3109 37.0061C21.8282 37.0061 18.0195 33.9811 16.6559 29.906H10.9194V34.3573C13.7563 + 39.9841 19.5712 43.8555 26.3109 43.8555V43.8555Z\\\" fill=\\\"#34A853\\\"/\\u003e\\n + \ \\u003cpath fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M16.6559 + 29.8904C16.3111 28.8559 16.1074 27.7588 16.1074 26.6146C16.1074 25.4704 16.3111 + 24.3733 16.6559 23.3388V18.8875H10.9194C9.74388 21.2072 9.06992 23.8247 9.06992 + 26.6146C9.06992 29.4045 9.74388 32.022 10.9194 34.3417L15.3864 30.8621L16.6559 + 29.8904V29.8904Z\\\" fill=\\\"#FBBC05\\\"/\\u003e\\n \\u003cpath fill-rule=\\\"evenodd\\\" + clip-rule=\\\"evenodd\\\" d=\\\"M26.3109 16.2386C28.85 16.2386 31.107 17.1164 + 32.9095 18.8091L37.8466 13.8719C34.853 11.082 30.9659 9.3736 26.3109 9.3736C19.5712 + 9.3736 13.7563 13.245 10.9194 18.8875L16.6559 23.3388C18.0195 19.2636 21.8282 + 16.2386 26.3109 16.2386V16.2386Z\\\" fill=\\\"#EA4335\\\"/\\u003e\\n \\u003c/svg\\u003e\\n + \ \\u003csvg class=\\\"logo-dark\\\" width=\\\"18\\\" height=\\\"18\\\" + viewBox=\\\"0 0 48 48\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"\\u003e\\n + \ \\u003ccircle cx=\\\"24\\\" cy=\\\"23\\\" fill=\\\"#FFF\\\" r=\\\"22\\\"/\\u003e\\n + \ \\u003cpath d=\\\"M33.76 34.26c2.75-2.56 4.49-6.37 4.49-11.26 0-.89-.08-1.84-.29-3H24.01v5.99h8.03c-.4 + 2.02-1.5 3.56-3.07 4.56v.75l3.91 2.97h.88z\\\" fill=\\\"#4285F4\\\"/\\u003e\\n + \ \\u003cpath d=\\\"M15.58 25.77A8.845 8.845 0 0 0 24 31.86c1.92 0 3.62-.46 + 4.97-1.31l4.79 3.71C31.14 36.7 27.65 38 24 38c-5.93 0-11.01-3.4-13.45-8.36l.17-1.01 + 4.06-2.85h.8z\\\" fill=\\\"#34A853\\\"/\\u003e\\n \\u003cpath d=\\\"M15.59 + 20.21a8.864 8.864 0 0 0 0 5.58l-5.03 3.86c-.98-2-1.53-4.25-1.53-6.64 0-2.39.55-4.64 + 1.53-6.64l1-.22 3.81 2.98.22 1.08z\\\" fill=\\\"#FBBC05\\\"/\\u003e\\n \\u003cpath + d=\\\"M24 14.14c2.11 0 4.02.75 5.52 1.98l4.36-4.36C31.22 9.43 27.81 8 24 8c-5.93 + 0-11.01 3.4-13.45 8.36l5.03 3.85A8.86 8.86 0 0 1 24 14.14z\\\" fill=\\\"#EA4335\\\"/\\u003e\\n + \ \\u003c/svg\\u003e\\n \\u003cdiv class=\\\"gradient-container\\\"\\u003e\\u003cdiv + class=\\\"gradient\\\"\\u003e\\u003c/div\\u003e\\u003c/div\\u003e\\n \\u003c/div\\u003e\\n + \ \\u003cdiv class=\\\"carousel\\\"\\u003e\\n \\u003ca class=\\\"chip\\\" + href=\\\"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQG-e1x0c8hCi2TNr-ARfbIWnuyFY6g5wIPqRtTBx6lVAFRUdu-ZsGfGtHIUn_MJCl1sZRD1_tLFM8b-QChaeI_0h5z8VBEo5H-vm1g-uOOsvx_oXNAASTOUFnpSZHn8BYTZCBKOLaOqNXBe-L_pKokbXgxgLNFlviGtQOJwlhxIzBTS2DboR1WnvfwcFkX0yC3d7DRZiVWPaNo5tgAxEo7yDqYhtQ==\\\"\\u003ecurrent + population of Tokyo Japan\\u003c/a\\u003e\\n \\u003c/div\\u003e\\n\\u003c/div\\u003e\\n\"},\"groundingChunks\": + [{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQEe6RMi4Eqlgak0CxLxcV6Krw44obdR4f8K68tmDREVQd2DZBzIN1N8Si2Kl8opRkbWTt5kPHR9kssdiBaTHZTxOIAXyJVuTDzZaY9eOGu3naQpZ1Oo2pXmknV2JejRFFsiqhuhboxCgUyN4mDWQXPfUK1hUx_7fI3k1UaOsLz2fXuU8uojYnZSpjjo\",\"title\": + \"tokyo.lg.jp\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGqSBitRZq0IG4GM7Ki6qZdgKdTSjMsM5r9YEsCZUdT90aUlrGpBt4P7YLxC-SlZBxuT8M6Yd2J8iDgPqqHSjJcs15dcK-DWUCNBmGRbf-vzc3OLfiA89eyuRpF0NXnOEqcPJUQa2YuNXE-x48wBA==\",\"title\": + \"wikipedia.org\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGCVVbk41FBExKMzHc1BynbwJjgjw1ESorww68tSGBR9Z4if25wIy6ect1VsKF1va_XGHDSDbnnGG4obY6oEPVELhaVe1S3UwNJoZNUbOD7-6dbybGQLUWrKrgqnu3BAUUi0x3Uql128W56cofYVJ0=\",\"title\": + \"worldpopulationreview.com\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGeqWS3iXEsfB01v327Jgj-22MYgk-yF3TnJUrjFB3AuBa1gaRymCrQ16iuHbzI3tev1Fa6vqo2IZUcuFMoCoBCMjh2-bFFne_bvS1Pf-2d2Fkyd1CPx_RGVMQziXrd-x4g__g-3w39EuKg_qeQhvI3lMpANszGyalIsN_jzTRwc7w78g==\",\"title\": + \"macrotrends.net\"}}],\"groundingSupports\": [{\"segment\": {\"endIndex\": + 70,\"text\": \"The population of the Greater Tokyo Area is approximately 37.8 + million\"},\"groundingChunkIndices\": [0],\"confidenceScores\": [0.8346276]},{\"segment\": + {\"startIndex\": 72,\"endIndex\": 147,\"text\": \"The population of Tokyo + Metropolis is estimated to be 14,195,730 as of 2025\"},\"groundingChunkIndices\": + [1],\"confidenceScores\": [0.8715012]},{\"segment\": {\"startIndex\": 149,\"endIndex\": + 250,\"text\": \"The population within the 23 wards that make up the city of + Tokyo was approximately 9,262,046 in 2016\"},\"groundingChunkIndices\": [2],\"confidenceScores\": + [0.95066285]},{\"segment\": {\"startIndex\": 252,\"endIndex\": 316,\"text\": + \"The current metro area population of Tokyo in 2026 is 36,954,000\"},\"groundingChunkIndices\": + [3],\"confidenceScores\": [0.9590582]}],\"retrievalMetadata\": {},\"webSearchQueries\": + [\"current population of Tokyo Japan\"]}}],\"usageMetadata\": {\"promptTokenCount\": + 10,\"candidatesTokenCount\": 105,\"totalTokenCount\": 115,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 10}],\"candidatesTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 105}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"0OcBauS5MbaW6MEP5Z2KuQ4\"}\r\n\r\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Disposition: + - attachment + Content-Type: + - text/event-stream + Date: + - Mon, 11 May 2026 14:29:38 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=1643 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_google_search_grounding[sync].yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_google_search_grounding[sync].yaml new file mode 100644 index 00000000..bd3baf6b --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_google_search_grounding[sync].yaml @@ -0,0 +1,199 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "What is the current population of Tokyo, + Japan?"}], "role": "user"}], "tools": [{"googleSearch": {}}], "generationConfig": + {"maxOutputTokens": 300}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '183' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"text\": \"The population of Tokyo can be defined + in a few different ways, depending on the area being considered. Here are + a few estimates for 2026:\\n\\n* **Tokyo (Metropolis):** Approximately 14,195,730.\\n* + \ **The 23 wards:** Approximately 9,262,046 (as of 2016). These wards made + up the original city of Tokyo.\\n* **Greater Tokyo Area (includes Tokyo + and parts of six neighboring prefectures):** Approximately 36,954,000. This + makes it the most populous metropolitan area in the world.\\n* **Urban Agglomeration:** + 33.4 million.\\n\\nIt's worth noting that Japan's population is aging and + declining, and Tokyo is expected to follow this trend.\\n\"\n }\n + \ ],\n \"role\": \"model\"\n },\n \"finishReason\": + \"STOP\",\n \"groundingMetadata\": {\n \"searchEntryPoint\": {\n + \ \"renderedContent\": \"\\u003cstyle\\u003e\\n.container {\\n align-items: + center;\\n border-radius: 8px;\\n display: flex;\\n font-family: Google + Sans, Roboto, sans-serif;\\n font-size: 14px;\\n line-height: 20px;\\n padding: + 8px 12px;\\n}\\n.chip {\\n display: inline-block;\\n border: solid 1px;\\n + \ border-radius: 16px;\\n min-width: 14px;\\n padding: 5px 16px;\\n text-align: + center;\\n user-select: none;\\n margin: 0 8px;\\n -webkit-tap-highlight-color: + transparent;\\n}\\n.carousel {\\n overflow: auto;\\n scrollbar-width: none;\\n + \ white-space: nowrap;\\n margin-right: -12px;\\n}\\n.headline {\\n display: + flex;\\n margin-right: 4px;\\n}\\n.gradient-container {\\n position: relative;\\n}\\n.gradient + {\\n position: absolute;\\n transform: translate(3px, -9px);\\n height: + 36px;\\n width: 9px;\\n}\\n@media (prefers-color-scheme: light) {\\n .container + {\\n background-color: #fafafa;\\n box-shadow: 0 0 0 1px #0000000f;\\n + \ }\\n .headline-label {\\n color: #1f1f1f;\\n }\\n .chip {\\n background-color: + #ffffff;\\n border-color: #d2d2d2;\\n color: #5e5e5e;\\n text-decoration: + none;\\n }\\n .chip:hover {\\n background-color: #f2f2f2;\\n }\\n .chip:focus + {\\n background-color: #f2f2f2;\\n }\\n .chip:active {\\n background-color: + #d8d8d8;\\n border-color: #b6b6b6;\\n }\\n .logo-dark {\\n display: + none;\\n }\\n .gradient {\\n background: linear-gradient(90deg, #fafafa + 15%, #fafafa00 100%);\\n }\\n}\\n@media (prefers-color-scheme: dark) {\\n + \ .container {\\n background-color: #1f1f1f;\\n box-shadow: 0 0 0 1px + #ffffff26;\\n }\\n .headline-label {\\n color: #fff;\\n }\\n .chip + {\\n background-color: #2c2c2c;\\n border-color: #3c4043;\\n color: + #fff;\\n text-decoration: none;\\n }\\n .chip:hover {\\n background-color: + #353536;\\n }\\n .chip:focus {\\n background-color: #353536;\\n }\\n + \ .chip:active {\\n background-color: #464849;\\n border-color: #53575b;\\n + \ }\\n .logo-light {\\n display: none;\\n }\\n .gradient {\\n background: + linear-gradient(90deg, #1f1f1f 15%, #1f1f1f00 100%);\\n }\\n}\\n\\u003c/style\\u003e\\n\\u003cdiv + class=\\\"container\\\"\\u003e\\n \\u003cdiv class=\\\"headline\\\"\\u003e\\n + \ \\u003csvg class=\\\"logo-light\\\" width=\\\"18\\\" height=\\\"18\\\" + viewBox=\\\"9 9 35 35\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"\\u003e\\n + \ \\u003cpath fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M42.8622 + 27.0064C42.8622 25.7839 42.7525 24.6084 42.5487 23.4799H26.3109V30.1568H35.5897C35.1821 + 32.3041 33.9596 34.1222 32.1258 35.3448V39.6864H37.7213C40.9814 36.677 42.8622 + 32.2571 42.8622 27.0064V27.0064Z\\\" fill=\\\"#4285F4\\\"/\\u003e\\n \\u003cpath + fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M26.3109 43.8555C30.9659 + 43.8555 34.8687 42.3195 37.7213 39.6863L32.1258 35.3447C30.5898 36.3792 28.6306 + 37.0061 26.3109 37.0061C21.8282 37.0061 18.0195 33.9811 16.6559 29.906H10.9194V34.3573C13.7563 + 39.9841 19.5712 43.8555 26.3109 43.8555V43.8555Z\\\" fill=\\\"#34A853\\\"/\\u003e\\n + \ \\u003cpath fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M16.6559 + 29.8904C16.3111 28.8559 16.1074 27.7588 16.1074 26.6146C16.1074 25.4704 16.3111 + 24.3733 16.6559 23.3388V18.8875H10.9194C9.74388 21.2072 9.06992 23.8247 9.06992 + 26.6146C9.06992 29.4045 9.74388 32.022 10.9194 34.3417L15.3864 30.8621L16.6559 + 29.8904V29.8904Z\\\" fill=\\\"#FBBC05\\\"/\\u003e\\n \\u003cpath fill-rule=\\\"evenodd\\\" + clip-rule=\\\"evenodd\\\" d=\\\"M26.3109 16.2386C28.85 16.2386 31.107 17.1164 + 32.9095 18.8091L37.8466 13.8719C34.853 11.082 30.9659 9.3736 26.3109 9.3736C19.5712 + 9.3736 13.7563 13.245 10.9194 18.8875L16.6559 23.3388C18.0195 19.2636 21.8282 + 16.2386 26.3109 16.2386V16.2386Z\\\" fill=\\\"#EA4335\\\"/\\u003e\\n \\u003c/svg\\u003e\\n + \ \\u003csvg class=\\\"logo-dark\\\" width=\\\"18\\\" height=\\\"18\\\" + viewBox=\\\"0 0 48 48\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"\\u003e\\n + \ \\u003ccircle cx=\\\"24\\\" cy=\\\"23\\\" fill=\\\"#FFF\\\" r=\\\"22\\\"/\\u003e\\n + \ \\u003cpath d=\\\"M33.76 34.26c2.75-2.56 4.49-6.37 4.49-11.26 0-.89-.08-1.84-.29-3H24.01v5.99h8.03c-.4 + 2.02-1.5 3.56-3.07 4.56v.75l3.91 2.97h.88z\\\" fill=\\\"#4285F4\\\"/\\u003e\\n + \ \\u003cpath d=\\\"M15.58 25.77A8.845 8.845 0 0 0 24 31.86c1.92 0 3.62-.46 + 4.97-1.31l4.79 3.71C31.14 36.7 27.65 38 24 38c-5.93 0-11.01-3.4-13.45-8.36l.17-1.01 + 4.06-2.85h.8z\\\" fill=\\\"#34A853\\\"/\\u003e\\n \\u003cpath d=\\\"M15.59 + 20.21a8.864 8.864 0 0 0 0 5.58l-5.03 3.86c-.98-2-1.53-4.25-1.53-6.64 0-2.39.55-4.64 + 1.53-6.64l1-.22 3.81 2.98.22 1.08z\\\" fill=\\\"#FBBC05\\\"/\\u003e\\n \\u003cpath + d=\\\"M24 14.14c2.11 0 4.02.75 5.52 1.98l4.36-4.36C31.22 9.43 27.81 8 24 8c-5.93 + 0-11.01 3.4-13.45 8.36l5.03 3.85A8.86 8.86 0 0 1 24 14.14z\\\" fill=\\\"#EA4335\\\"/\\u003e\\n + \ \\u003c/svg\\u003e\\n \\u003cdiv class=\\\"gradient-container\\\"\\u003e\\u003cdiv + class=\\\"gradient\\\"\\u003e\\u003c/div\\u003e\\u003c/div\\u003e\\n \\u003c/div\\u003e\\n + \ \\u003cdiv class=\\\"carousel\\\"\\u003e\\n \\u003ca class=\\\"chip\\\" + href=\\\"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGZhTiU5ftOjwpcBPWWtGsU9mFQg9w52aQT0OZPMzLQhMMm5n0bJj8d4D1BcjOse9gCrF3YSVxxGdHvCMSeVogWbF8WfXGCBdbdXNNR3SyjlAtK1tbu0ot9ZP1hPLipdyEb7phP507Xn0XKISvFVUdRb4LfGQgDTdPedpYw3s-Ed3TTfqjis5jde0IYUWQnrJ8GbIGmMJvflp0YZUvItgXLzKNo6BQ=\\\"\\u003ecurrent + population of Tokyo, Japan\\u003c/a\\u003e\\n \\u003ca class=\\\"chip\\\" + href=\\\"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGcLz-FjN8IsxRykDvtSCdDeIDU6e1pXjsvqVvU_INSU4ZkytToYGZWQSN5MsIpiJcHqAHQVVJWiXcf6FN9HmFw3TPQn5YpmQp_mmFz0AWd2p6NzyUpalkqYUzHNaYrHcioQIvDK-ksgA_slcpGFA9Gp5Td25HeMigs-HoE5jZ0uMIaAOfVq_nNRCCg0NJqtVAwJ-6npLS0AIXuCQ==\\\"\\u003epopulation + of Tokyo 2026\\u003c/a\\u003e\\n \\u003c/div\\u003e\\n\\u003c/div\\u003e\\n\"\n + \ },\n \"groundingChunks\": [\n {\n \"web\": + {\n \"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQHzpFr_dPKZnjw8J2qMeLXsf6YRbUIDj6A1BNdCotCQfFxed4vKrC8GP3qH9d5kWNC1ksvbwOieLI1COLfUyM-tQcaYPqF9-dywEL4rX_9OLYrbLqAZITgNw96bcQttyCyiMVT0SvY1g_8b9ntinEg=\",\n + \ \"title\": \"worldpopulationreview.com\"\n }\n },\n + \ {\n \"web\": {\n \"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFx4YFls4BoU7h_r3xMLDpT2ZpLo6dopD7Rh4kqfxwEZy-LOxXS-f3sw8_DyZPBTvKLPQmS3t5sbXdMgQd1yjaHAdkSBVkVFBd2_slbzlG8LnU2vHj8f5VSVzQSfwkMvE6eUg_oFmxFozFxYJ8NIA==\",\n + \ \"title\": \"wikipedia.org\"\n }\n },\n + \ {\n \"web\": {\n \"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFcVBAQia-LgmVJcittfSicFPWlu4ql8Xg0KHweKrSchIlcByO98tTGBHsxd-ACCBmphbXHKrwmJyL1fgW-bqAxwQPm-5UgT5jR9K4E4RoPNqJFsWUBGppWF4X5SBhVE25Bu5v6HeILwFEQFeu4fhRLSVBj-9uKqdIPvwIUhW8f1qE7dA==\",\n + \ \"title\": \"macrotrends.net\"\n }\n },\n + \ {\n \"web\": {\n \"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQEWzMmI0DnbHFYK6qHWVYKGtmdHeBDPnxLIooHPp0vKKNydoqVAQ8KNmepfvsap3XCH57mJrI_RXOGQZBc7OUNuI0hivgNEN8X9oHDL_rNH463SzNWLoZDqzf4-aXtet_CNQY6wTlNLHpv4MQdEM6yt2kfNfQ-qGB6-5oX2PHg2bTRuA6N1V1KkHBqp\",\n + \ \"title\": \"tokyo.lg.jp\"\n }\n },\n {\n + \ \"web\": {\n \"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFPYUd52wZ18Pmgcz4hsbYpqwUsfxbUeDAq1yLHy_zVr05XJfYCsJBbswdJxUgyB0TjQkDSpHb8B5ACSEWx_ksZROWovhgmvrQrR3tJCFJiWoYQzjtBgTrsUUHTtqbmcWQ2bQsm3Eyg\",\n + \ \"title\": \"nippon.com\"\n }\n },\n {\n + \ \"web\": {\n \"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFEPaJx6MAvJiCND7fJ9jXPDdFcT549MhSG5o33H1PnzYJLx2HGHKXS-QUPWn6pEkkY9ogYjVau8GANIPHHAx-pK5Bb_1Ntr8uE3JIG7HW51a772NfTw4lCjVjuC_A2dVXJPO4fCVtyd-qIgPz9pWHVmPXcpT6VbKto\",\n + \ \"title\": \"worldometers.info\"\n }\n },\n + \ {\n \"web\": {\n \"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQE6xswlzWkGA2clxiRBo8GwcFsdgDfvU8W54hQpGM7jEcZAPGGkH9U4sOPBpDXzJCyHrfyI8is5k-40FO3E1iC-ObYzVuuEC1LjIDpqZVlimnIuuXdaJmZcND9FKr2kXRz3xS4034qS3V8F18U21SAnycw8n-dqubeZRNU=\",\n + \ \"title\": \"worldometers.info\"\n }\n }\n + \ ],\n \"groundingSupports\": [\n {\n \"segment\": + {\n \"endIndex\": 102,\n \"text\": \"The population + of Tokyo can be defined in a few different ways, depending on the area being + considered\"\n },\n \"groundingChunkIndices\": [\n 0\n + \ ],\n \"confidenceScores\": [\n 0.22183236\n + \ ]\n },\n {\n \"segment\": {\n \"startIndex\": + 140,\n \"endIndex\": 192,\n \"text\": \"* **Tokyo + (Metropolis):** Approximately 14,195,730\"\n },\n \"groundingChunkIndices\": + [\n 1\n ],\n \"confidenceScores\": [\n + \ 0.88538814\n ]\n },\n {\n \"segment\": + {\n \"startIndex\": 194,\n \"endIndex\": 252,\n + \ \"text\": \"* **The 23 wards:** Approximately 9,262,046 (as + of 2016)\"\n },\n \"groundingChunkIndices\": [\n 0\n + \ ],\n \"confidenceScores\": [\n 0.03508118\n + \ ]\n },\n {\n \"segment\": {\n \"startIndex\": + 254,\n \"endIndex\": 300,\n \"text\": \"These wards + made up the original city of Tokyo\"\n },\n \"groundingChunkIndices\": + [\n 0\n ],\n \"confidenceScores\": [\n + \ 0.01629251\n ]\n },\n {\n \"segment\": + {\n \"startIndex\": 302,\n \"endIndex\": 412,\n + \ \"text\": \"* **Greater Tokyo Area (includes Tokyo and parts + of six neighboring prefectures):** Approximately 36,954,000\"\n },\n + \ \"groundingChunkIndices\": [\n 2\n ],\n + \ \"confidenceScores\": [\n 0.021732965\n ]\n + \ },\n {\n \"segment\": {\n \"startIndex\": + 414,\n \"endIndex\": 476,\n \"text\": \"This makes + it the most populous metropolitan area in the world\"\n },\n \"groundingChunkIndices\": + [\n 0,\n 3\n ],\n \"confidenceScores\": + [\n 0.005509039,\n 0.080207236\n ]\n + \ },\n {\n \"segment\": {\n \"startIndex\": + 478,\n \"endIndex\": 519,\n \"text\": \"* **Urban + Agglomeration:** 33.4 million\"\n },\n \"groundingChunkIndices\": + [\n 4,\n 5,\n 6\n ],\n \"confidenceScores\": + [\n 0.8529793,\n 0.5286877,\n 0.161365\n + \ ]\n },\n {\n \"segment\": {\n \"startIndex\": + 522,\n \"endIndex\": 630,\n \"text\": \"It's worth + noting that Japan's population is aging and declining, and Tokyo is expected + to follow this trend\"\n },\n \"groundingChunkIndices\": + [\n 1,\n 0\n ],\n \"confidenceScores\": + [\n 0.005727514,\n 0.027300538\n ]\n + \ }\n ],\n \"retrievalMetadata\": {},\n \"webSearchQueries\": + [\n \"current population of Tokyo, Japan\",\n \"population + of Tokyo 2026\"\n ]\n }\n }\n ],\n \"usageMetadata\": {\n + \ \"promptTokenCount\": 10,\n \"candidatesTokenCount\": 181,\n \"totalTokenCount\": + 191,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 10\n }\n ],\n \"candidatesTokensDetails\": + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 181\n + \ }\n ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": + \"gemini-2.0-flash-001\",\n \"responseId\": \"zecBapOuK8m6_uMPr-vE6QQ\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:36 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=2908 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '12742' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_google_search_grounding_async[async].yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_google_search_grounding_async[async].yaml new file mode 100644 index 00000000..40b1b04c --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_google_search_grounding_async[async].yaml @@ -0,0 +1,179 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "What is the current population of Tokyo, + Japan?"}], "role": "user"}], "tools": [{"googleSearch": {}}], "generationConfig": + {"maxOutputTokens": 300}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '183' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"text\": \"The population of Tokyo, Japan, varies + depending on the area being considered.\\n\\nHere are a few estimates for + different areas within Tokyo:\\n\\n* **Tokyo (city proper):** Approximately + 10,316,210. This is based on recent estimates for the 23 wards that make up + the city of Tokyo.\\n* **Tokyo Metropolis:** As of 2025, the total population + is 14,195,730.\\n* **Greater Tokyo Area (includes Tokyo and surrounding + prefectures):** Around 36,954,000 in 2026. This metropolitan area is considered + the most populous in the world.\\n\"\n }\n ],\n \"role\": + \"model\"\n },\n \"finishReason\": \"STOP\",\n \"groundingMetadata\": + {\n \"searchEntryPoint\": {\n \"renderedContent\": \"\\u003cstyle\\u003e\\n.container + {\\n align-items: center;\\n border-radius: 8px;\\n display: flex;\\n font-family: + Google Sans, Roboto, sans-serif;\\n font-size: 14px;\\n line-height: 20px;\\n + \ padding: 8px 12px;\\n}\\n.chip {\\n display: inline-block;\\n border: + solid 1px;\\n border-radius: 16px;\\n min-width: 14px;\\n padding: 5px + 16px;\\n text-align: center;\\n user-select: none;\\n margin: 0 8px;\\n + \ -webkit-tap-highlight-color: transparent;\\n}\\n.carousel {\\n overflow: + auto;\\n scrollbar-width: none;\\n white-space: nowrap;\\n margin-right: + -12px;\\n}\\n.headline {\\n display: flex;\\n margin-right: 4px;\\n}\\n.gradient-container + {\\n position: relative;\\n}\\n.gradient {\\n position: absolute;\\n transform: + translate(3px, -9px);\\n height: 36px;\\n width: 9px;\\n}\\n@media (prefers-color-scheme: + light) {\\n .container {\\n background-color: #fafafa;\\n box-shadow: + 0 0 0 1px #0000000f;\\n }\\n .headline-label {\\n color: #1f1f1f;\\n + \ }\\n .chip {\\n background-color: #ffffff;\\n border-color: #d2d2d2;\\n + \ color: #5e5e5e;\\n text-decoration: none;\\n }\\n .chip:hover {\\n + \ background-color: #f2f2f2;\\n }\\n .chip:focus {\\n background-color: + #f2f2f2;\\n }\\n .chip:active {\\n background-color: #d8d8d8;\\n border-color: + #b6b6b6;\\n }\\n .logo-dark {\\n display: none;\\n }\\n .gradient {\\n + \ background: linear-gradient(90deg, #fafafa 15%, #fafafa00 100%);\\n }\\n}\\n@media + (prefers-color-scheme: dark) {\\n .container {\\n background-color: #1f1f1f;\\n + \ box-shadow: 0 0 0 1px #ffffff26;\\n }\\n .headline-label {\\n color: + #fff;\\n }\\n .chip {\\n background-color: #2c2c2c;\\n border-color: + #3c4043;\\n color: #fff;\\n text-decoration: none;\\n }\\n .chip:hover + {\\n background-color: #353536;\\n }\\n .chip:focus {\\n background-color: + #353536;\\n }\\n .chip:active {\\n background-color: #464849;\\n border-color: + #53575b;\\n }\\n .logo-light {\\n display: none;\\n }\\n .gradient + {\\n background: linear-gradient(90deg, #1f1f1f 15%, #1f1f1f00 100%);\\n + \ }\\n}\\n\\u003c/style\\u003e\\n\\u003cdiv class=\\\"container\\\"\\u003e\\n + \ \\u003cdiv class=\\\"headline\\\"\\u003e\\n \\u003csvg class=\\\"logo-light\\\" + width=\\\"18\\\" height=\\\"18\\\" viewBox=\\\"9 9 35 35\\\" fill=\\\"none\\\" + xmlns=\\\"http://www.w3.org/2000/svg\\\"\\u003e\\n \\u003cpath fill-rule=\\\"evenodd\\\" + clip-rule=\\\"evenodd\\\" d=\\\"M42.8622 27.0064C42.8622 25.7839 42.7525 24.6084 + 42.5487 23.4799H26.3109V30.1568H35.5897C35.1821 32.3041 33.9596 34.1222 32.1258 + 35.3448V39.6864H37.7213C40.9814 36.677 42.8622 32.2571 42.8622 27.0064V27.0064Z\\\" + fill=\\\"#4285F4\\\"/\\u003e\\n \\u003cpath fill-rule=\\\"evenodd\\\" + clip-rule=\\\"evenodd\\\" d=\\\"M26.3109 43.8555C30.9659 43.8555 34.8687 42.3195 + 37.7213 39.6863L32.1258 35.3447C30.5898 36.3792 28.6306 37.0061 26.3109 37.0061C21.8282 + 37.0061 18.0195 33.9811 16.6559 29.906H10.9194V34.3573C13.7563 39.9841 19.5712 + 43.8555 26.3109 43.8555V43.8555Z\\\" fill=\\\"#34A853\\\"/\\u003e\\n \\u003cpath + fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M16.6559 29.8904C16.3111 + 28.8559 16.1074 27.7588 16.1074 26.6146C16.1074 25.4704 16.3111 24.3733 16.6559 + 23.3388V18.8875H10.9194C9.74388 21.2072 9.06992 23.8247 9.06992 26.6146C9.06992 + 29.4045 9.74388 32.022 10.9194 34.3417L15.3864 30.8621L16.6559 29.8904V29.8904Z\\\" + fill=\\\"#FBBC05\\\"/\\u003e\\n \\u003cpath fill-rule=\\\"evenodd\\\" + clip-rule=\\\"evenodd\\\" d=\\\"M26.3109 16.2386C28.85 16.2386 31.107 17.1164 + 32.9095 18.8091L37.8466 13.8719C34.853 11.082 30.9659 9.3736 26.3109 9.3736C19.5712 + 9.3736 13.7563 13.245 10.9194 18.8875L16.6559 23.3388C18.0195 19.2636 21.8282 + 16.2386 26.3109 16.2386V16.2386Z\\\" fill=\\\"#EA4335\\\"/\\u003e\\n \\u003c/svg\\u003e\\n + \ \\u003csvg class=\\\"logo-dark\\\" width=\\\"18\\\" height=\\\"18\\\" + viewBox=\\\"0 0 48 48\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"\\u003e\\n + \ \\u003ccircle cx=\\\"24\\\" cy=\\\"23\\\" fill=\\\"#FFF\\\" r=\\\"22\\\"/\\u003e\\n + \ \\u003cpath d=\\\"M33.76 34.26c2.75-2.56 4.49-6.37 4.49-11.26 0-.89-.08-1.84-.29-3H24.01v5.99h8.03c-.4 + 2.02-1.5 3.56-3.07 4.56v.75l3.91 2.97h.88z\\\" fill=\\\"#4285F4\\\"/\\u003e\\n + \ \\u003cpath d=\\\"M15.58 25.77A8.845 8.845 0 0 0 24 31.86c1.92 0 3.62-.46 + 4.97-1.31l4.79 3.71C31.14 36.7 27.65 38 24 38c-5.93 0-11.01-3.4-13.45-8.36l.17-1.01 + 4.06-2.85h.8z\\\" fill=\\\"#34A853\\\"/\\u003e\\n \\u003cpath d=\\\"M15.59 + 20.21a8.864 8.864 0 0 0 0 5.58l-5.03 3.86c-.98-2-1.53-4.25-1.53-6.64 0-2.39.55-4.64 + 1.53-6.64l1-.22 3.81 2.98.22 1.08z\\\" fill=\\\"#FBBC05\\\"/\\u003e\\n \\u003cpath + d=\\\"M24 14.14c2.11 0 4.02.75 5.52 1.98l4.36-4.36C31.22 9.43 27.81 8 24 8c-5.93 + 0-11.01 3.4-13.45 8.36l5.03 3.85A8.86 8.86 0 0 1 24 14.14z\\\" fill=\\\"#EA4335\\\"/\\u003e\\n + \ \\u003c/svg\\u003e\\n \\u003cdiv class=\\\"gradient-container\\\"\\u003e\\u003cdiv + class=\\\"gradient\\\"\\u003e\\u003c/div\\u003e\\u003c/div\\u003e\\n \\u003c/div\\u003e\\n + \ \\u003cdiv class=\\\"carousel\\\"\\u003e\\n \\u003ca class=\\\"chip\\\" + href=\\\"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFB79mOmtTnxahILk1uN84vTz78P0oRh-HO4aoEqvVjw4Dtn9Ap4T2H47BhCID2URsOylnElKJBgcyUa4hlUdcMXwKSi122V_XpSgzwD7f0rtjpi8Dt58HKBAexodr3-c6R_nLtWK0NYp7-2euLsEu9EfI54RIxMpax_94u59XqA--5kxhie-KW3PCeko0UyFQFmITM2mtJOS7TGGYx6DZ8ZF61MA==\\\"\\u003ecurrent + population of Tokyo Japan\\u003c/a\\u003e\\n \\u003c/div\\u003e\\n\\u003c/div\\u003e\\n\"\n + \ },\n \"groundingChunks\": [\n {\n \"web\": + {\n \"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQH-ESo3OnNHmAQNzMnlg1i38LT50wBi31jKCmRVWEw9bZ-Y1F8HyhS_M70h-gyENOT6oc6u-KCN_CQRKzAQ9XILr2jeySImce2H6vRAwWJSNQ-YyYxAsRrReolZF9wIbL-cnsxPnv6zeLQgS2Ting==\",\n + \ \"title\": \"worldpopulationreview.com\"\n }\n },\n + \ {\n \"web\": {\n \"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGIxrUXtxGt6X-8J1_J7U4ha-XDGmhyheBSpfYNEhkIEug30x1FmwNx1gjx7YST3l1_lmSnriyiFg67ASyt_EBUcsyNOIM6VCkrM3DeRcx1Da4PQwG06XbNjn2nNU72t27ShhVJGy68azQRnDcb\",\n + \ \"title\": \"wikipedia.org\"\n }\n },\n + \ {\n \"web\": {\n \"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGKwIu4k7PtEW65bhfUccctch0Rx0ZpJSPzGeMpIIPjvkZYN57VOioZhnpvP8rveHWxIdSN9odYmfK638ugGCP3_aXhtyFdlWnc0aVIEK2eW9Vv6OgmvrzWRnLaahrclQ_5p84nAd9yWpJhdlHPZqCQkYNjDIpV1DFzAz5D9d2ttJjY\",\n + \ \"title\": \"macrotrends.net\"\n }\n },\n + \ {\n \"web\": {\n \"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGpEpKYzKX_NY0uPzstHmIlirX1uX7jCQ4fHdnm95RwRJkWKd4lRNNsSS7iNG0Xg9It8OEZpQrQxd32bsDo6vJGfGRLKShP7vDsN__DPLsm1e-cXb9YQxII3N3gVWo=\",\n + \ \"title\": \"wikipedia.org\"\n }\n }\n ],\n + \ \"groundingSupports\": [\n {\n \"segment\": {\n + \ \"endIndex\": 77,\n \"text\": \"The population + of Tokyo, Japan, varies depending on the area being considered\"\n },\n + \ \"groundingChunkIndices\": [\n 0\n ],\n + \ \"confidenceScores\": [\n 0.31548566\n ]\n + \ },\n {\n \"segment\": {\n \"startIndex\": + 140,\n \"endIndex\": 193,\n \"text\": \"* **Tokyo + (city proper):** Approximately 10,316,210\"\n },\n \"groundingChunkIndices\": + [\n 0\n ],\n \"confidenceScores\": [\n + \ 0.037196115\n ]\n },\n {\n \"segment\": + {\n \"startIndex\": 195,\n \"endIndex\": 276,\n + \ \"text\": \"This is based on recent estimates for the 23 wards + that make up the city of Tokyo\"\n },\n \"groundingChunkIndices\": + [\n 0\n ],\n \"confidenceScores\": [\n + \ 0.8855741\n ]\n },\n {\n \"segment\": + {\n \"startIndex\": 278,\n \"endIndex\": 350,\n + \ \"text\": \"* **Tokyo Metropolis:** As of 2025, the total + population is 14,195,730\"\n },\n \"groundingChunkIndices\": + [\n 1\n ],\n \"confidenceScores\": [\n + \ 0.9154318\n ]\n },\n {\n \"segment\": + {\n \"startIndex\": 352,\n \"endIndex\": 450,\n + \ \"text\": \"* **Greater Tokyo Area (includes Tokyo and surrounding + prefectures):** Around 36,954,000 in 2026\"\n },\n \"groundingChunkIndices\": + [\n 2\n ],\n \"confidenceScores\": [\n + \ 0.13260171\n ]\n },\n {\n \"segment\": + {\n \"startIndex\": 452,\n \"endIndex\": 519,\n + \ \"text\": \"This metropolitan area is considered the most populous + in the world\"\n },\n \"groundingChunkIndices\": [\n + \ 3\n ],\n \"confidenceScores\": [\n 0.10635934\n + \ ]\n }\n ],\n \"retrievalMetadata\": {},\n + \ \"webSearchQueries\": [\n \"current population of Tokyo Japan\"\n + \ ]\n }\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": + 10,\n \"candidatesTokenCount\": 149,\n \"totalTokenCount\": 159,\n \"promptTokensDetails\": + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 10\n + \ }\n ],\n \"candidatesTokensDetails\": [\n {\n \"modality\": + \"TEXT\",\n \"tokenCount\": 149\n }\n ],\n \"serviceTier\": + \"standard\"\n },\n \"modelVersion\": \"gemini-2.0-flash-001\",\n \"responseId\": + \"0-cBar2kDu-p_uMPwr_AmAc\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:42 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=2940 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '10213' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_google_search_grounding_async[async_stream].yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_google_search_grounding_async[async_stream].yaml new file mode 100644 index 00000000..6ee6f920 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_google_search_grounding_async[async_stream].yaml @@ -0,0 +1,168 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "What is the current population of Tokyo, + Japan?"}], "role": "user"}], "tools": [{"googleSearch": {}}], "generationConfig": + {"maxOutputTokens": 300}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '183' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:streamGenerateContent?alt=sse + response: + body: + string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"The + population of Tokyo\"}],\"role\": \"model\"},\"groundingMetadata\": {}}],\"usageMetadata\": + {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"1ucBav_xGuqF6MEPk5ra2QM\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" can be described + in several ways, depending on the area considered.\"}],\"role\": \"model\"},\"groundingMetadata\": + {}}],\"usageMetadata\": {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"1ucBav_xGuqF6MEPk5ra2QM\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" As of 2026:\\n\\n* + \ **City Proper (23 wards\"}],\"role\": \"model\"},\"groundingMetadata\": + {}}],\"usageMetadata\": {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"1ucBav_xGuqF6MEPk5ra2QM\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"):** Estimated at + 10,316,210.\\n* **Tokyo Metropolis:** Approximately 14,\"}],\"role\": \"model\"},\"groundingMetadata\": + {}}],\"usageMetadata\": {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"1ucBav_xGuqF6MEPk5ra2QM\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"195,730 as of 2025.\\n* + \ **Greater Tokyo Area (Metropolitan Area):\"}],\"role\": \"model\"},\"groundingMetadata\": + {}}],\"usageMetadata\": {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"1ucBav_xGuqF6MEPk5ra2QM\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"** Around 36,954,000. + This includes Tokyo and parts of six neighboring prefectures.\\n\"}],\"role\": + \"model\"},\"finishReason\": \"STOP\",\"groundingMetadata\": {\"searchEntryPoint\": + {\"renderedContent\": \"\\u003cstyle\\u003e\\n.container {\\n align-items: + center;\\n border-radius: 8px;\\n display: flex;\\n font-family: Google + Sans, Roboto, sans-serif;\\n font-size: 14px;\\n line-height: 20px;\\n padding: + 8px 12px;\\n}\\n.chip {\\n display: inline-block;\\n border: solid 1px;\\n + \ border-radius: 16px;\\n min-width: 14px;\\n padding: 5px 16px;\\n text-align: + center;\\n user-select: none;\\n margin: 0 8px;\\n -webkit-tap-highlight-color: + transparent;\\n}\\n.carousel {\\n overflow: auto;\\n scrollbar-width: none;\\n + \ white-space: nowrap;\\n margin-right: -12px;\\n}\\n.headline {\\n display: + flex;\\n margin-right: 4px;\\n}\\n.gradient-container {\\n position: relative;\\n}\\n.gradient + {\\n position: absolute;\\n transform: translate(3px, -9px);\\n height: + 36px;\\n width: 9px;\\n}\\n@media (prefers-color-scheme: light) {\\n .container + {\\n background-color: #fafafa;\\n box-shadow: 0 0 0 1px #0000000f;\\n + \ }\\n .headline-label {\\n color: #1f1f1f;\\n }\\n .chip {\\n background-color: + #ffffff;\\n border-color: #d2d2d2;\\n color: #5e5e5e;\\n text-decoration: + none;\\n }\\n .chip:hover {\\n background-color: #f2f2f2;\\n }\\n .chip:focus + {\\n background-color: #f2f2f2;\\n }\\n .chip:active {\\n background-color: + #d8d8d8;\\n border-color: #b6b6b6;\\n }\\n .logo-dark {\\n display: + none;\\n }\\n .gradient {\\n background: linear-gradient(90deg, #fafafa + 15%, #fafafa00 100%);\\n }\\n}\\n@media (prefers-color-scheme: dark) {\\n + \ .container {\\n background-color: #1f1f1f;\\n box-shadow: 0 0 0 1px + #ffffff26;\\n }\\n .headline-label {\\n color: #fff;\\n }\\n .chip + {\\n background-color: #2c2c2c;\\n border-color: #3c4043;\\n color: + #fff;\\n text-decoration: none;\\n }\\n .chip:hover {\\n background-color: + #353536;\\n }\\n .chip:focus {\\n background-color: #353536;\\n }\\n + \ .chip:active {\\n background-color: #464849;\\n border-color: #53575b;\\n + \ }\\n .logo-light {\\n display: none;\\n }\\n .gradient {\\n background: + linear-gradient(90deg, #1f1f1f 15%, #1f1f1f00 100%);\\n }\\n}\\n\\u003c/style\\u003e\\n\\u003cdiv + class=\\\"container\\\"\\u003e\\n \\u003cdiv class=\\\"headline\\\"\\u003e\\n + \ \\u003csvg class=\\\"logo-light\\\" width=\\\"18\\\" height=\\\"18\\\" + viewBox=\\\"9 9 35 35\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"\\u003e\\n + \ \\u003cpath fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M42.8622 + 27.0064C42.8622 25.7839 42.7525 24.6084 42.5487 23.4799H26.3109V30.1568H35.5897C35.1821 + 32.3041 33.9596 34.1222 32.1258 35.3448V39.6864H37.7213C40.9814 36.677 42.8622 + 32.2571 42.8622 27.0064V27.0064Z\\\" fill=\\\"#4285F4\\\"/\\u003e\\n \\u003cpath + fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M26.3109 43.8555C30.9659 + 43.8555 34.8687 42.3195 37.7213 39.6863L32.1258 35.3447C30.5898 36.3792 28.6306 + 37.0061 26.3109 37.0061C21.8282 37.0061 18.0195 33.9811 16.6559 29.906H10.9194V34.3573C13.7563 + 39.9841 19.5712 43.8555 26.3109 43.8555V43.8555Z\\\" fill=\\\"#34A853\\\"/\\u003e\\n + \ \\u003cpath fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M16.6559 + 29.8904C16.3111 28.8559 16.1074 27.7588 16.1074 26.6146C16.1074 25.4704 16.3111 + 24.3733 16.6559 23.3388V18.8875H10.9194C9.74388 21.2072 9.06992 23.8247 9.06992 + 26.6146C9.06992 29.4045 9.74388 32.022 10.9194 34.3417L15.3864 30.8621L16.6559 + 29.8904V29.8904Z\\\" fill=\\\"#FBBC05\\\"/\\u003e\\n \\u003cpath fill-rule=\\\"evenodd\\\" + clip-rule=\\\"evenodd\\\" d=\\\"M26.3109 16.2386C28.85 16.2386 31.107 17.1164 + 32.9095 18.8091L37.8466 13.8719C34.853 11.082 30.9659 9.3736 26.3109 9.3736C19.5712 + 9.3736 13.7563 13.245 10.9194 18.8875L16.6559 23.3388C18.0195 19.2636 21.8282 + 16.2386 26.3109 16.2386V16.2386Z\\\" fill=\\\"#EA4335\\\"/\\u003e\\n \\u003c/svg\\u003e\\n + \ \\u003csvg class=\\\"logo-dark\\\" width=\\\"18\\\" height=\\\"18\\\" + viewBox=\\\"0 0 48 48\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"\\u003e\\n + \ \\u003ccircle cx=\\\"24\\\" cy=\\\"23\\\" fill=\\\"#FFF\\\" r=\\\"22\\\"/\\u003e\\n + \ \\u003cpath d=\\\"M33.76 34.26c2.75-2.56 4.49-6.37 4.49-11.26 0-.89-.08-1.84-.29-3H24.01v5.99h8.03c-.4 + 2.02-1.5 3.56-3.07 4.56v.75l3.91 2.97h.88z\\\" fill=\\\"#4285F4\\\"/\\u003e\\n + \ \\u003cpath d=\\\"M15.58 25.77A8.845 8.845 0 0 0 24 31.86c1.92 0 3.62-.46 + 4.97-1.31l4.79 3.71C31.14 36.7 27.65 38 24 38c-5.93 0-11.01-3.4-13.45-8.36l.17-1.01 + 4.06-2.85h.8z\\\" fill=\\\"#34A853\\\"/\\u003e\\n \\u003cpath d=\\\"M15.59 + 20.21a8.864 8.864 0 0 0 0 5.58l-5.03 3.86c-.98-2-1.53-4.25-1.53-6.64 0-2.39.55-4.64 + 1.53-6.64l1-.22 3.81 2.98.22 1.08z\\\" fill=\\\"#FBBC05\\\"/\\u003e\\n \\u003cpath + d=\\\"M24 14.14c2.11 0 4.02.75 5.52 1.98l4.36-4.36C31.22 9.43 27.81 8 24 8c-5.93 + 0-11.01 3.4-13.45 8.36l5.03 3.85A8.86 8.86 0 0 1 24 14.14z\\\" fill=\\\"#EA4335\\\"/\\u003e\\n + \ \\u003c/svg\\u003e\\n \\u003cdiv class=\\\"gradient-container\\\"\\u003e\\u003cdiv + class=\\\"gradient\\\"\\u003e\\u003c/div\\u003e\\u003c/div\\u003e\\n \\u003c/div\\u003e\\n + \ \\u003cdiv class=\\\"carousel\\\"\\u003e\\n \\u003ca class=\\\"chip\\\" + href=\\\"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFpMWrSiBn9GZ8_CJMYf3anGO2Tv7MrnOkkBtsppDk6EnJSqWgO-CRUTOpW_s-mxYySH781B93YXAEpjBCwXPpobNj36qrMHYFPBDAVls3-eHRWHXliiz9g1cbjE5wMpYr7GGzgjqPB42G3NzUCAVnDxukNlleZF3IA8aVY914WegI8YWD47aFt1lmnBo5kgHOSaLjDpK_atK4Muq9h07-XsW6SsA==\\\"\\u003ecurrent + population of Tokyo Japan\\u003c/a\\u003e\\n \\u003c/div\\u003e\\n\\u003c/div\\u003e\\n\"},\"groundingChunks\": + [{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGjtFY5WBfAhzW9Qhzbd972fuJqoLqYn_7iVBGiYSo8nrPZe50zRO-Tw4TsbX8X2VtO7EibLsW1V-Uzd2JtFNYD3FWlIQBU28UPU-I79rMo8L6meb7IewVtjMJNBO5DZOr_Adq-yQ7FaXbYAEWh0Hk=\",\"title\": + \"worldpopulationreview.com\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQF6_5OhiOae081snbJIcp1BwruPydmvV70_XqB6ythMrIq2BUwr5myAnN0sAExqbheqmM09u1ip_po8GeuYoB7k59B4e33aIDUqcuLiFkBwgunFTUrXk4krnKMWGZpbpa7nE5SeaXHmAqFHQOHiCQ==\",\"title\": + \"wikipedia.org\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQH1TPT4sCl5dhqDvluVNdAI1SspfiiaAn0lq9pDaLjruIS9AZVKXF-y1lEq4EMOK554zdXM1mZCClQk0Yl-g3f_wdWSl8lc76A2jmmNrgUUfvSOZlqTR7xUkS6wrjOsTJ-PLUqHPShNw4cR1NkQjTb9QNsbMiYCYjE-4y29ra7ZUvWvWQ==\",\"title\": + \"macrotrends.net\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQF5zDUJNfNWOeoS2tlJPLNWRg3wwC0_e8RziiwFvUr_A1kTBjpXebLQiNDDwQDgSczhp3-ITBJ8jXWD7o8_FpkswAa_oLewrU1gLg8UITfI3QBVeaOIMRgO0rlLuHyR\",\"title\": + \"wikipedia.org\"}}],\"groundingSupports\": [{\"segment\": {\"endIndex\": + 90,\"text\": \"The population of Tokyo can be described in several ways, depending + on the area considered\"},\"groundingChunkIndices\": [0],\"confidenceScores\": + [0.54354674]},{\"segment\": {\"startIndex\": 105,\"endIndex\": 160,\"text\": + \"* **City Proper (23 wards):** Estimated at 10,316,210\"},\"groundingChunkIndices\": + [0],\"confidenceScores\": [0.019907152]},{\"segment\": {\"startIndex\": 162,\"endIndex\": + 223,\"text\": \"* **Tokyo Metropolis:** Approximately 14,195,730 as of 2025\"},\"groundingChunkIndices\": + [1],\"confidenceScores\": [0.92214274]},{\"segment\": {\"startIndex\": 225,\"endIndex\": + 290,\"text\": \"* **Greater Tokyo Area (Metropolitan Area):** Around 36,954,000\"},\"groundingChunkIndices\": + [2],\"confidenceScores\": [0.47189355]},{\"segment\": {\"startIndex\": 292,\"endIndex\": + 352,\"text\": \"This includes Tokyo and parts of six neighboring prefectures\"},\"groundingChunkIndices\": + [3],\"confidenceScores\": [0.964668]}],\"retrievalMetadata\": {},\"webSearchQueries\": + [\"current population of Tokyo Japan\"]}}],\"usageMetadata\": {\"promptTokenCount\": + 10,\"candidatesTokenCount\": 116,\"totalTokenCount\": 126,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 10}],\"candidatesTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 116}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"1ucBav_xGuqF6MEPk5ra2QM\"}\r\n\r\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Disposition: + - attachment + Content-Type: + - text/event-stream + Date: + - Mon, 11 May 2026 14:29:43 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=1705 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_image_input.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_image_input.yaml new file mode 100644 index 00000000..7e13f389 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_image_input.yaml @@ -0,0 +1,68 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"inlineData": {"data": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs-9AAAAFElEQVR42mP4z8DwnxjMMKqQvgoBksPHOXvuG4oAAAAASUVORK5CYII=", + "mimeType": "image/png"}}, {"text": "What color is this image?"}], "role": "user"}], + "generationConfig": {"maxOutputTokens": 150}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '287' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"text\": \"The image is red.\"\n }\n + \ ],\n \"role\": \"model\"\n },\n \"finishReason\": + \"STOP\",\n \"avgLogprobs\": -0.25408761501312255\n }\n ],\n \"usageMetadata\": + {\n \"promptTokenCount\": 264,\n \"candidatesTokenCount\": 5,\n \"totalTokenCount\": + 269,\n \"promptTokensDetails\": [\n {\n \"modality\": \"IMAGE\",\n + \ \"tokenCount\": 258\n },\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 6\n }\n ],\n \"candidatesTokensDetails\": + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 5\n }\n + \ ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": \"gemini-2.0-flash-001\",\n + \ \"responseId\": \"rOcBaqDCKYbe_uMP_petkQs\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:01 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=833 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '769' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_image_input_wrapped_in_content.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_image_input_wrapped_in_content.yaml new file mode 100644 index 00000000..6c1a84b2 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_image_input_wrapped_in_content.yaml @@ -0,0 +1,68 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"inlineData": {"data": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs-9AAAAFElEQVR42mP4z8DwnxjMMKqQvgoBksPHOXvuG4oAAAAASUVORK5CYII=", + "mimeType": "image/png"}}, {"text": "What color is this image?"}], "role": "user"}], + "generationConfig": {"maxOutputTokens": 150}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '287' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"text\": \"The image is red.\"\n }\n + \ ],\n \"role\": \"model\"\n },\n \"finishReason\": + \"STOP\",\n \"avgLogprobs\": -0.25408761501312255\n }\n ],\n \"usageMetadata\": + {\n \"promptTokenCount\": 264,\n \"candidatesTokenCount\": 5,\n \"totalTokenCount\": + 269,\n \"promptTokensDetails\": [\n {\n \"modality\": \"IMAGE\",\n + \ \"tokenCount\": 258\n },\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 6\n }\n ],\n \"candidatesTokensDetails\": + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 5\n }\n + \ ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": \"gemini-2.0-flash-001\",\n + \ \"responseId\": \"r-cBavrYA4WN_PUP3eOJqQE\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:03 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=706 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '769' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_interactions_async_round_trip.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_interactions_async_round_trip.yaml new file mode 100644 index 00000000..30d90483 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_interactions_async_round_trip.yaml @@ -0,0 +1,155 @@ +interactions: +- request: + body: '{"input":"What is the capital of Italy?","model":"gemini-2.5-flash"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '68' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + User-Agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/interactions + response: + body: + string: '{"id":"v1_Chc0dWNCYXZ1UEk1bWtfdU1QaW9XdDRRcxIXNHVjQmF2dVBJNW1rX3VNUGlvV3Q0UXM","status":"completed","outputs":[{"signature":"CtoBAQw51sd0qC9Ell36C41mEClM092tbFZ2luwEGgDyfjEHGIOsNHA2748uLCkqhP7AFTbzV0BsbADpGq4l5rHsQ4q0nWeQxINcweeJsfbpu9DMbaJlIkw3kuPfwr47g/oroiaQo/RakgYnlGawQlPUGRqwl5vE8DWTi5v8Bf4OpX77JacByFgYD7FofIQm2LrBekIUbP13/Dvhs2Tg20vYlS6PptLM1c6qGiA0kXCoFQgq6beJz4jGADAVAftUhpqSN8gqIHDK9KC3eKlDBWp3zQbHwyDlfWmJmhk=","type":"thought"},{"text":"The + capital of Italy is **Rome**.","type":"text"}],"usage":{"total_tokens":54,"total_input_tokens":8,"input_tokens_by_modality":[{"modality":"text","tokens":8}],"total_cached_tokens":0,"total_output_tokens":8,"total_tool_use_tokens":0,"total_thought_tokens":38},"role":"model","created":"2026-05-11T14:29:55Z","updated":"2026-05-11T14:29:55Z","service_tier":"standard","object":"interaction","model":"gemini-2.5-flash"}' + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json + Date: + - Mon, 11 May 2026 14:29:55 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=1080 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + content-length: + - '869' + status: + code: 200 + message: OK +- request: + body: '' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Host: + - generativelanguage.googleapis.com + User-Agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: GET + uri: https://generativelanguage.googleapis.com/v1beta/interactions/v1_Chc0dWNCYXZ1UEk1bWtfdU1QaW9XdDRRcxIXNHVjQmF2dVBJNW1rX3VNUGlvV3Q0UXM?include_input=true + response: + body: + string: '{"id":"v1_Chc0dWNCYXZ1UEk1bWtfdU1QaW9XdDRRcxIXNHVjQmF2dVBJNW1rX3VNUGlvV3Q0UXM","status":"completed","outputs":[{"signature":"CtoBAQw51sd0qC9Ell36C41mEClM092tbFZ2luwEGgDyfjEHGIOsNHA2748uLCkqhP7AFTbzV0BsbADpGq4l5rHsQ4q0nWeQxINcweeJsfbpu9DMbaJlIkw3kuPfwr47g/oroiaQo/RakgYnlGawQlPUGRqwl5vE8DWTi5v8Bf4OpX77JacByFgYD7FofIQm2LrBekIUbP13/Dvhs2Tg20vYlS6PptLM1c6qGiA0kXCoFQgq6beJz4jGADAVAftUhpqSN8gqIHDK9KC3eKlDBWp3zQbHwyDlfWmJmhk=","type":"thought"},{"text":"The + capital of Italy is **Rome**.","type":"text"}],"usage":{"total_tokens":54,"total_input_tokens":8,"input_tokens_by_modality":[{"modality":"text","tokens":8}],"total_cached_tokens":0,"total_output_tokens":8,"total_tool_use_tokens":0,"total_thought_tokens":38},"role":"model","created":"2026-05-11T14:29:55Z","updated":"2026-05-11T14:29:55Z","service_tier":"standard","object":"interaction","input":[{"role":"user","content":[{"text":"What + is the capital of Italy?","type":"text"}]}],"model":"gemini-2.5-flash"}' + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json + Date: + - Mon, 11 May 2026 14:29:56 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=173 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + content-length: + - '962' + status: + code: 200 + message: OK +- request: + body: '' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + User-Agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: DELETE + uri: https://generativelanguage.googleapis.com/v1beta/interactions/v1_Chc0dWNCYXZ1UEk1bWtfdU1QaW9XdDRRcxIXNHVjQmF2dVBJNW1rX3VNUGlvV3Q0UXM + response: + body: + string: '{}' + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json + Date: + - Mon, 11 May 2026 14:29:56 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=245 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + content-length: + - '2' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_interactions_async_stream.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_interactions_async_stream.yaml new file mode 100644 index 00000000..08b9f575 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_interactions_async_stream.yaml @@ -0,0 +1,104 @@ +interactions: +- request: + body: '{"input":"Say hi shortly.","model":"gemini-2.5-flash","stream":true}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '68' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + User-Agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/interactions + response: + body: + string: 'event: interaction.start + + data: {"interaction":{"id":"v1_Chc1ZWNCYXBfQkJyakxfdU1QNmZtc3FBRRIXNWVjQmFwX0JCcmpMX3VNUDZmbXNxQUU","status":"in_progress","object":"interaction","model":"gemini-2.5-flash"},"event_type":"interaction.start"} + + + event: interaction.status_update + + data: {"interaction_id":"v1_Chc1ZWNCYXBfQkJyakxfdU1QNmZtc3FBRRIXNWVjQmFwX0JCcmpMX3VNUDZmbXNxQUU","status":"in_progress","event_type":"interaction.status_update"} + + + event: content.start + + data: {"index":0,"content":{"type":"thought"},"event_type":"content.start"} + + + event: content.delta + + data: {"index":0,"delta":{"signature":"ClUBDDnWx4FAxX8b724T9sgcy+nbzdBbqclzra8OsYDPVCi1JyN14m+GtkZKCjivJckXwSWTYiFlSRW69J4KYs9WsS+24bdj098IamKvDDPKI4wzzPKWClUBDDnWxw/ZLc4mpF0Tp3HJLQB/3EfI7GxLmC5qJkKJCuIw3izc+AmbRfB16ogYiWVpct85Ktpv8PT1z5ty9J1bq/mzJ2xv9WrDJKRNGp1ipWTtkLbn","type":"thought_signature"},"event_type":"content.delta"} + + + event: content.stop + + data: {"index":0,"event_type":"content.stop"} + + + event: content.start + + data: {"index":1,"content":{"type":"text"},"event_type":"content.start"} + + + event: content.delta + + data: {"index":1,"delta":{"text":"Hi!","type":"text"},"event_type":"content.delta"} + + + event: content.stop + + data: {"index":1,"event_type":"content.stop"} + + + event: interaction.complete + + data: {"interaction":{"id":"v1_Chc1ZWNCYXBfQkJyakxfdU1QNmZtc3FBRRIXNWVjQmFwX0JCcmpMX3VNUDZmbXNxQUU","status":"completed","usage":{"total_tokens":36,"total_input_tokens":5,"input_tokens_by_modality":[{"modality":"text","tokens":5}],"total_cached_tokens":0,"total_output_tokens":2,"total_tool_use_tokens":0,"total_thought_tokens":29},"role":"model","created":"2026-05-11T14:29:58Z","updated":"2026-05-11T14:29:58Z","service_tier":"standard","object":"interaction","model":"gemini-2.5-flash"},"event_type":"interaction.complete"} + + + event: done + + data: [DONE] + + + ' + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - text/event-stream + Date: + - Mon, 11 May 2026 14:29:58 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=1136 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + content-length: + - '1798' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_interactions_create_and_get.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_interactions_create_and_get.yaml new file mode 100644 index 00000000..52b2e4da --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_interactions_create_and_get.yaml @@ -0,0 +1,105 @@ +interactions: +- request: + body: '{"input":"What is the capital of France?","model":"gemini-2.5-flash"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '69' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + User-Agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/interactions + response: + body: + string: '{"id":"v1_ChYyZWNCYXB4M2tMZi00dy1YeTQtd0FREhYyZWNCYXB4M2tMZi00dy1YeTQtd0FR","status":"completed","outputs":[{"signature":"CpwBAQw51sdsio/UCEQGVEVvBQYGzMY1gv2hunNurnRW6dpZw178QjXh8hkWg61LNWmJBmIJvJmFNgN36+x34Q/VmInCD5YeZN/C0KpaUgTkT0Fs45RmFcWLHcF5I1YTnpYXIf6kF7Y0WhIwtfs8AIkkT/MPl2L0mviU0jmqSUTg1vXmC4+vpPX3N0T2GcsOhFO13JLycv3fYdbX6bTx","type":"thought"},{"text":"The + capital of France is **Paris**.","type":"text"}],"usage":{"total_tokens":41,"total_input_tokens":8,"input_tokens_by_modality":[{"modality":"text","tokens":8}],"total_cached_tokens":0,"total_output_tokens":8,"total_tool_use_tokens":0,"total_thought_tokens":25},"role":"model","created":"2026-05-11T14:29:46Z","updated":"2026-05-11T14:29:46Z","service_tier":"standard","object":"interaction","model":"gemini-2.5-flash"}' + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json + Date: + - Mon, 11 May 2026 14:29:46 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=1133 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + content-length: + - '784' + status: + code: 200 + message: OK +- request: + body: '' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Host: + - generativelanguage.googleapis.com + User-Agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: GET + uri: https://generativelanguage.googleapis.com/v1beta/interactions/v1_ChYyZWNCYXB4M2tMZi00dy1YeTQtd0FREhYyZWNCYXB4M2tMZi00dy1YeTQtd0FR?include_input=true + response: + body: + string: '{"id":"v1_ChYyZWNCYXB4M2tMZi00dy1YeTQtd0FREhYyZWNCYXB4M2tMZi00dy1YeTQtd0FR","status":"completed","outputs":[{"signature":"CpwBAQw51sdsio/UCEQGVEVvBQYGzMY1gv2hunNurnRW6dpZw178QjXh8hkWg61LNWmJBmIJvJmFNgN36+x34Q/VmInCD5YeZN/C0KpaUgTkT0Fs45RmFcWLHcF5I1YTnpYXIf6kF7Y0WhIwtfs8AIkkT/MPl2L0mviU0jmqSUTg1vXmC4+vpPX3N0T2GcsOhFO13JLycv3fYdbX6bTx","type":"thought"},{"text":"The + capital of France is **Paris**.","type":"text"}],"usage":{"total_tokens":41,"total_input_tokens":8,"input_tokens_by_modality":[{"modality":"text","tokens":8}],"total_cached_tokens":0,"total_output_tokens":8,"total_tool_use_tokens":0,"total_thought_tokens":25},"role":"model","created":"2026-05-11T14:29:45Z","updated":"2026-05-11T14:29:45Z","service_tier":"standard","object":"interaction","input":[{"role":"user","content":[{"text":"What + is the capital of France?","type":"text"}]}],"model":"gemini-2.5-flash"}' + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json + Date: + - Mon, 11 May 2026 14:29:46 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=162 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + content-length: + - '878' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_interactions_create_stream.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_interactions_create_stream.yaml new file mode 100644 index 00000000..53afa8c2 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_interactions_create_stream.yaml @@ -0,0 +1,104 @@ +interactions: +- request: + body: '{"input":"Say hi in five words or less.","model":"gemini-2.5-flash","stream":true}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '82' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + User-Agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/interactions + response: + body: + string: 'event: interaction.start + + data: {"interaction":{"id":"v1_ChcydWNCYXRhTkk1U1lfdU1QdXJiUzRBcxIXMnVjQmF0YU5JNVNZX3VNUHVyYlM0QXM","status":"in_progress","object":"interaction","model":"gemini-2.5-flash"},"event_type":"interaction.start"} + + + event: interaction.status_update + + data: {"interaction_id":"v1_ChcydWNCYXRhTkk1U1lfdU1QdXJiUzRBcxIXMnVjQmF0YU5JNVNZX3VNUHVyYlM0QXM","status":"in_progress","event_type":"interaction.status_update"} + + + event: content.start + + data: {"index":0,"content":{"type":"thought"},"event_type":"content.start"} + + + event: content.delta + + data: {"index":0,"delta":{"signature":"Cl4BDDnWx9apem0PZYXTYefCl2fZWY6ENcJofZAchoO5RsC+GCTM39JGLNUSuojmKnspyt3AjPwClGXPQgW3PxLoSINyEkUf7g7FAJ2BOoOAW231UqvR+SjMvliGe3//CrgBAQw51sdecGrn+kx8OBcdD/q5qOwnbznJ50EWle01EyXKOAJoKcW7YImsSTGkOE5TWVWL4P1CjA9LhAPEyV4Ztvg1N2NT2udVaNdbvOq/5O0fna2qCgLgApZgrCoAbpIV7K/QrFov3jqfZEte7GnIi+LTQa7NVJghbx9TrQ1Ftm8ir3NlE5zrKro6DoZqx1ZWFrhs2DeD72BXPRVGoIUCZ23PWe/h8Dt2LS+N1b4XwZQl46acLLkFYAqxAQEMOdbHFlqtIjm3+fz9i35FJ1DirIJjUpUFNU1hQGEwOgJe0xRtObkn8bSP1+S1plR4YOtV+ns4Q4xflvriIxu1LGjMdDvTt5++5tB0iAA34LjfYHF+QWCKJRuAfv7mGNJym+iZzTWf1SnjWh/FnbceEiZpdU5Fq2hcn3BJBFN59v/1EZtBiYVGwhP4A0s6KbfTcnHcVbA+NFG4yxpjdBHEwgfp7YeqjMMAu4S+w6BzdQ==","type":"thought_signature"},"event_type":"content.delta"} + + + event: content.stop + + data: {"index":0,"event_type":"content.stop"} + + + event: content.start + + data: {"index":1,"content":{"type":"text"},"event_type":"content.start"} + + + event: content.delta + + data: {"index":1,"delta":{"text":"Hi!","type":"text"},"event_type":"content.delta"} + + + event: content.stop + + data: {"index":1,"event_type":"content.stop"} + + + event: interaction.complete + + data: {"interaction":{"id":"v1_ChcydWNCYXRhTkk1U1lfdU1QdXJiUzRBcxIXMnVjQmF0YU5JNVNZX3VNUHVyYlM0QXM","status":"completed","usage":{"total_tokens":120,"total_input_tokens":9,"input_tokens_by_modality":[{"modality":"text","tokens":9}],"total_cached_tokens":0,"total_output_tokens":2,"total_tool_use_tokens":0,"total_thought_tokens":109},"role":"model","created":"2026-05-11T14:29:47Z","updated":"2026-05-11T14:29:47Z","service_tier":"standard","object":"interaction","model":"gemini-2.5-flash"},"event_type":"interaction.complete"} + + + event: done + + data: [DONE] + + + ' + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - text/event-stream + Date: + - Mon, 11 May 2026 14:29:47 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=1213 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + content-length: + - '2188' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_interactions_delete.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_interactions_delete.yaml new file mode 100644 index 00000000..c1903c63 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_interactions_delete.yaml @@ -0,0 +1,104 @@ +interactions: +- request: + body: '{"input":"Reply with exactly ok.","model":"gemini-2.5-flash"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '61' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + User-Agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/interactions + response: + body: + string: '{"id":"v1_Chc0T2NCYXVueE84ZlJfdU1QOFl2MS1RbxIXNE9jQmF1bnhPOGZSX3VNUDhZdjEtUW8","status":"completed","outputs":[{"signature":"CnIBDDnWx1gAxO8tRY3mguNyP4ug6nt8dUuHQJaiJjC6dak/2tmQJHilGa1jm6bxDvT8xQowG6ESL6iZBZOJsG0d/Mtm3eoXnnzSWO0G248WaMS6YGbhHMmputAqDMIQtLE178Khabzd2TzaM/MkdVkBD/8=","type":"thought"},{"text":"ok","type":"text"}],"usage":{"total_tokens":25,"total_input_tokens":6,"input_tokens_by_modality":[{"modality":"text","tokens":6}],"total_cached_tokens":0,"total_output_tokens":1,"total_tool_use_tokens":0,"total_thought_tokens":18},"role":"model","created":"2026-05-11T14:29:53Z","updated":"2026-05-11T14:29:53Z","service_tier":"standard","object":"interaction","model":"gemini-2.5-flash"}' + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json + Date: + - Mon, 11 May 2026 14:29:53 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=1025 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + content-length: + - '698' + status: + code: 200 + message: OK +- request: + body: '' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + User-Agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: DELETE + uri: https://generativelanguage.googleapis.com/v1beta/interactions/v1_Chc0T2NCYXVueE84ZlJfdU1QOFl2MS1RbxIXNE9jQmF1bnhPOGZSX3VNUDhZdjEtUW8 + response: + body: + string: '{}' + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json + Date: + - Mon, 11 May 2026 14:29:54 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=295 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + content-length: + - '2' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_interactions_tool_call_and_follow_up.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_interactions_tool_call_and_follow_up.yaml new file mode 100644 index 00000000..6d01a383 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_interactions_tool_call_and_follow_up.yaml @@ -0,0 +1,109 @@ +interactions: +- request: + body: '{"input":"What is the weather like in Paris? Use the tool.","model":"gemini-2.5-flash","tools":[{"type":"function","description":"Get + the current weather for a location.","name":"get_weather","parameters":{"type":"object","properties":{"location":{"type":"string"}},"required":["location"]}}]}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '293' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + User-Agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/interactions + response: + body: + string: '{"id":"v1_ChczT2NCYW9DU0VKbWtfdU1QaW9XdDRRcxIXM09jQmFvQ1NFSm1rX3VNUGlvV3Q0UXM","status":"requires_action","outputs":[{"signature":"Cv4BAQw51sfMqJElhR8s+DD8pzZPz0aUXXHEMloB99OURH2517EqKc6BY6g/nYDFf2+fMkTZTOWbTQlQU7DfUzivYX/HPCw6F1TKJdyGS5M+0Wl98RO3L/yZtH65RdXpaTMfn1ryP5Cr+Y0QsSn+cceYGw9hjO8uHJ7bFFa6/fA6wM2kDDsOsY0EFCoXc6fXFXKAXGo29xmfjZEC87NgKX2iZnsX3QRqKojnIOhLWHJOAadslfTrNNYQTiQiH3vmm6RPu9SUOZfRH8ZiBERaVSXIKMoF+LxfDuHP3S8eSC6BUrYMbp6YJaxa4w7zbEYT14MlL3R+UJGRAtiFQteuq58=","type":"thought"},{"id":"kptu1hoq","type":"function_call","name":"get_weather","arguments":{"location":"Paris"}}],"usage":{"total_tokens":119,"total_input_tokens":53,"input_tokens_by_modality":[{"modality":"text","tokens":53}],"total_cached_tokens":0,"total_output_tokens":15,"total_tool_use_tokens":0,"total_thought_tokens":51},"role":"model","created":"2026-05-11T14:29:49Z","updated":"2026-05-11T14:29:49Z","service_tier":"standard","object":"interaction","model":"gemini-2.5-flash"}' + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json + Date: + - Mon, 11 May 2026 14:29:49 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=1147 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + content-length: + - '963' + status: + code: 200 + message: OK +- request: + body: '{"input":[{"call_id":"kptu1hoq","result":{"forecast":"sunny"},"type":"function_result","name":"get_weather"}],"model":"gemini-2.5-flash","previous_interaction_id":"v1_ChczT2NCYW9DU0VKbWtfdU1QaW9XdDRRcxIXM09jQmFvQ1NFSm1rX3VNUGlvV3Q0UXM","tools":[{"type":"function","description":"Get + the current weather for a location.","name":"get_weather","parameters":{"type":"object","properties":{"location":{"type":"string"}},"required":["location"]}}]}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '442' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + User-Agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/interactions + response: + body: + string: '{"id":"v1_ChczT2NCYW9DU0VKbWtfdU1QaW9XdDRRcxIXM2VjQmF1NzJKNlctX3VNUDNxdU5rQUk","status":"completed","outputs":[{"signature":"CiRlMjQ4MzBhNy01Y2Q2LTQyZmUtOTk4Yi1lZTUzOWU3MmI5YzM=","type":"thought"},{"text":"The + weather in Paris is sunny.","type":"text"}],"usage":{"total_tokens":61,"total_input_tokens":54,"input_tokens_by_modality":[{"modality":"text","tokens":54}],"total_cached_tokens":0,"total_output_tokens":7,"total_tool_use_tokens":0,"total_thought_tokens":0},"role":"model","created":"2026-05-11T14:29:50Z","updated":"2026-05-11T14:29:50Z","service_tier":"standard","object":"interaction","model":"gemini-2.5-flash"}' + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json + Date: + - Mon, 11 May 2026 14:29:50 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=935 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + content-length: + - '623' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_interactions_tool_span_stays_active_during_local_tool_work.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_interactions_tool_span_stays_active_during_local_tool_work.yaml new file mode 100644 index 00000000..a4e7ec30 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_interactions_tool_span_stays_active_during_local_tool_work.yaml @@ -0,0 +1,109 @@ +interactions: +- request: + body: '{"input":"What is the weather like in Paris? Use the tool.","model":"gemini-2.5-flash","tools":[{"type":"function","description":"Get + the current weather for a location.","name":"get_weather","parameters":{"type":"object","properties":{"location":{"type":"string"}},"required":["location"]}}]}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '293' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + User-Agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/interactions + response: + body: + string: '{"id":"v1_ChczdWNCYXBmQ0w2X2lfdU1QOGZHVWtRRRIXM3VjQmFwZkNMNl9pX3VNUDhmR1VrUUU","status":"requires_action","outputs":[{"signature":"CvYBAQw51scQQY9MN7IdgF5zv2ZTHrUSXHVBbJfa2lQaNnFZw0noHag4ImZV1aQyATBMqG7SSPSha2inEyxBQfAt75IQ0HwVkg8I1Wh+nccnKg0WxTxgQzglouVugJvYgSvjybN4Sqgr4em9SCCtQ5N0f2Q4ieKRTR9/H+IuYfH6Hecj2QbjqGB0S8fU88fLmWsp+uAA5d20JvQFCZS3BUiojJ0uXwJISN84VBI5hLxLHqFev8GnxgkaVwQPUDNiI8gVdvdFh3/U0XaQdzqjtvRqOghrJwjGZs7dhuvc9aUAVKsw+u4Ua7ijWSIS/h7ZBkwbgOzueQin","type":"thought"},{"id":"ypn5qbfb","type":"function_call","name":"get_weather","arguments":{"location":"Paris"}}],"usage":{"total_tokens":115,"total_input_tokens":53,"input_tokens_by_modality":[{"modality":"text","tokens":53}],"total_cached_tokens":0,"total_output_tokens":15,"total_tool_use_tokens":0,"total_thought_tokens":47},"role":"model","created":"2026-05-11T14:29:51Z","updated":"2026-05-11T14:29:51Z","service_tier":"standard","object":"interaction","model":"gemini-2.5-flash"}' + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json + Date: + - Mon, 11 May 2026 14:29:51 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=1103 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + content-length: + - '951' + status: + code: 200 + message: OK +- request: + body: '{"input":[{"call_id":"ypn5qbfb","result":{"forecast":"sunny"},"type":"function_result","name":"get_weather"}],"model":"gemini-2.5-flash","previous_interaction_id":"v1_ChczdWNCYXBmQ0w2X2lfdU1QOGZHVWtRRRIXM3VjQmFwZkNMNl9pX3VNUDhmR1VrUUU","tools":[{"type":"function","description":"Get + the current weather for a location.","name":"get_weather","parameters":{"type":"object","properties":{"location":{"type":"string"}},"required":["location"]}}]}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '442' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + User-Agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/interactions + response: + body: + string: '{"id":"v1_ChczdWNCYXBmQ0w2X2lfdU1QOGZHVWtRRRIWNE9jQmFxOHQ2Szc4OVFfMmpyX1lDdw","status":"completed","outputs":[{"signature":"CiRlMjQ4MzBhNy01Y2Q2LTQyZmUtOTk4Yi1lZTUzOWU3MmI5YzM=","type":"thought"},{"text":"The + weather in Paris is sunny.","type":"text"}],"usage":{"total_tokens":61,"total_input_tokens":54,"input_tokens_by_modality":[{"modality":"text","tokens":54}],"total_cached_tokens":0,"total_output_tokens":7,"total_tool_use_tokens":0,"total_thought_tokens":0},"role":"model","created":"2026-05-11T14:29:52Z","updated":"2026-05-11T14:29:52Z","service_tier":"standard","object":"interaction","model":"gemini-2.5-flash"}' + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json + Date: + - Mon, 11 May 2026 14:29:52 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=859 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + content-length: + - '622' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_multi_turn.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_multi_turn.yaml new file mode 100644 index 00000000..ac6d0bde --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_multi_turn.yaml @@ -0,0 +1,68 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "Hi, my name is Alice."}], "role": "user"}, + {"parts": [{"text": "Hello Alice! Nice to meet you."}], "role": "model"}, {"parts": + [{"text": "What did I just tell you my name was?"}], "role": "user"}], "generationConfig": + {"maxOutputTokens": 200}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '278' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"text\": \"You just told me your name is Alice.\\n\"\n + \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": + \"STOP\",\n \"avgLogprobs\": -0.0468083918094635\n }\n ],\n \"usageMetadata\": + {\n \"promptTokenCount\": 25,\n \"candidatesTokenCount\": 10,\n \"totalTokenCount\": + 35,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 25\n }\n ],\n \"candidatesTokensDetails\": + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 10\n + \ }\n ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": + \"gemini-2.0-flash-001\",\n \"responseId\": \"tucBapilKu2N_PUPj8iduA0\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:11 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=541 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '718' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_prefill.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_prefill.yaml new file mode 100644 index 00000000..15efb0a8 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_prefill.yaml @@ -0,0 +1,68 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "Write a haiku about coding."}], "role": + "user"}, {"parts": [{"text": "Here is a haiku:"}], "role": "model"}], "generationConfig": + {"maxOutputTokens": 200}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '190' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"text\": \"\\n\\nFingers tap the keys,\\nLines + of code start to flow out,\\nBugs fixed, it now works.\\n\"\n }\n + \ ],\n \"role\": \"model\"\n },\n \"finishReason\": + \"STOP\",\n \"avgLogprobs\": -0.49825742509629989\n }\n ],\n \"usageMetadata\": + {\n \"promptTokenCount\": 13,\n \"candidatesTokenCount\": 27,\n \"totalTokenCount\": + 40,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 13\n }\n ],\n \"candidatesTokensDetails\": + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 27\n + \ }\n ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": + \"gemini-2.0-flash-001\",\n \"responseId\": \"uecBaqb_O4K3_uMP_Obj4QM\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:14 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=715 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '769' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_reasoning.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_reasoning.yaml new file mode 100644 index 00000000..fbca0c86 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_reasoning.yaml @@ -0,0 +1,192 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "Look at this sequence: 2, 6, 12, 20, + 30. What is the pattern and what would be the formula for the nth term?"}], + "role": "user"}], "generationConfig": {"maxOutputTokens": 512, "thinkingConfig": + {"include_thoughts": true, "thinking_budget": 128}}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '281' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"text\": \"**Deconstructing the Sequence**\\n\\nAlright, + let's break this down. My objective is clear: I need to identify the underlying + pattern in the sequence 2, 6, 12, 20, 30 and then derive a formula, a_n, to + calculate any term. This is straightforward enough. First I will write out + the sequence and analyze each term:\\n\\n* n=1: a_1 = 2\\n* n=2: a_2 = + 6\\n* n=3: a_3 = 12\\n* ...and so on.\\n\",\n \"thought\": + true\n },\n {\n \"text\": \"Let's break down + the sequence: 2, 6, 12, 20, 30.\\n\\n**1. Finding the Pattern**\\n\\n* **First + differences:**\\n * 6 - 2 = 4\\n * 12 - 6 = 6\\n * 20 - 12 + = 8\\n * 30 - 20 = 10\\n The first differences are 4, 6, 8, 10. This + shows a consistent increase, meaning the original sequence is not arithmetic.\\n\\n* + \ **Second differences:**\\n * 6 - 4 = 2\\n * 8 - 6 = 2\\n * + \ 10 - 8 = 2\\n The second differences are constant (2). This indicates + that the formula for the nth term will be a **quadratic** equation of the + form $an^2 + bn + c$.\\n\\n**2. Finding the Formula for the nth term ($a_n$)**\\n\\nFor + a quadratic sequence $an^2 + bn + c$:\\n* The second difference is equal + to $2a$.\\n* The first term of the first differences is equal to $3a + b$.\\n* + \ The first term of the sequence is equal to $a + b + c$.\\n\\nFrom our analysis:\\n1. + \ **$2a = 2$**\\n So, $a = 1$.\\n\\n2. **$3a + b = \\\\text{first term + of first differences}$**\\n $3(1) + b = 4$\\n $3 + b = 4$\\n $b = + 1$.\\n\\n3. **$a + b + c = \\\\text{first term of\"\n }\n ],\n + \ \"role\": \"model\"\n },\n \"finishReason\": \"MAX_TOKENS\",\n + \ \"index\": 0\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": + 39,\n \"candidatesTokenCount\": 383,\n \"totalTokenCount\": 547,\n \"promptTokensDetails\": + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 39\n + \ }\n ],\n \"thoughtsTokenCount\": 125,\n \"serviceTier\": \"standard\"\n + \ },\n \"modelVersion\": \"gemini-2.5-flash\",\n \"responseId\": \"vecBapWOFJe__uMPlMfmoAs\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:20 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=3563 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '2097' + status: + code: 200 + message: OK +- request: + body: '{"contents": [{"parts": [{"text": "Look at this sequence: 2, 6, 12, 20, + 30. What is the pattern and what would be the formula for the nth term?"}], + "role": "user"}, {"parts": [{"text": "**Deconstructing the Sequence**\n\nAlright, + let''s break this down. My objective is clear: I need to identify the underlying + pattern in the sequence 2, 6, 12, 20, 30 and then derive a formula, a_n, to + calculate any term. This is straightforward enough. First I will write out the + sequence and analyze each term:\n\n* n=1: a_1 = 2\n* n=2: a_2 = 6\n* n=3: + a_3 = 12\n* ...and so on.\n", "thought": true}, {"text": "Let''s break down + the sequence: 2, 6, 12, 20, 30.\n\n**1. Finding the Pattern**\n\n* **First + differences:**\n * 6 - 2 = 4\n * 12 - 6 = 6\n * 20 - 12 = 8\n * 30 + - 20 = 10\n The first differences are 4, 6, 8, 10. This shows a consistent + increase, meaning the original sequence is not arithmetic.\n\n* **Second differences:**\n * 6 + - 4 = 2\n * 8 - 6 = 2\n * 10 - 8 = 2\n The second differences are + constant (2). This indicates that the formula for the nth term will be a **quadratic** + equation of the form $an^2 + bn + c$.\n\n**2. Finding the Formula for the nth + term ($a_n$)**\n\nFor a quadratic sequence $an^2 + bn + c$:\n* The second + difference is equal to $2a$.\n* The first term of the first differences is + equal to $3a + b$.\n* The first term of the sequence is equal to $a + b + + c$.\n\nFrom our analysis:\n1. **$2a = 2$**\n So, $a = 1$.\n\n2. **$3a + + b = \\text{first term of first differences}$**\n $3(1) + b = 4$\n $3 + + b = 4$\n $b = 1$.\n\n3. **$a + b + c = \\text{first term of"}], "role": + "model"}, {"parts": [{"text": "Using the pattern you discovered, what would + be the 10th term? And can you find the sum of the first 10 terms?"}], "role": + "user"}], "generationConfig": {"maxOutputTokens": 512, "thinkingConfig": {"include_thoughts": + true, "thinking_budget": 128}}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1947' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"text\": \"Okay, here's my interpretation of + this process, presented as if I were working through it myself:\\n\\n**Calculating + the 10th Term and Summation - Let's Get This Done**\\n\\nAlright, let's see, + we've got a sequence defined, and I need to figure out the 10th term and then + the sum of the first ten terms. Hmm, let me pull up that formula we just established: + $a_n = n^2 + n$. Okay, good, that's it. That simplifies things quite a bit.\\n\\nNow, + I need the 10th term, right? That's $a_{10}$. I've done enough of these to + know I just need to plug '10' in for 'n' in the formula. Simple substitution, + no tricks. So, $a_{10} = (10)^2 + 10$. And from here, I'll calculate, I will + then know the term I need.\\n\",\n \"thought\": true\n },\n + \ {\n \"text\": \"Okay, let's use the pattern and formula + we discovered:\\n\\nThe formula for the nth term is:\\n$a_n = n^2 + n$\\n\\n**1. + Finding the 10th term ($a_{10}$)**\\n\\nSubstitute $n=10$ into the formula:\\n$a_{10} + = (10)^2 + 10$\\n$a_{10} = 100 + 10$\\n$a_{10} = 110$\\n\\nSo, the 10th term + is **110**.\\n\\nLet's list the first few terms to confirm and see the progression:\\n$a_1 + = 1^2 + 1 = 2$\\n$a_2 = 2^2 + 2 = 6$\\n$a_3 = 3^2 + 3 = 12$\\n$a_4 = 4^2 + + 4 = 20$\\n$a_5 = 5^2 + 5 = 30$\\n$a_6 = 6^2 + 6 = 42$\\n$a_7 = 7^2 + 7 = 56$\\n$a_8 + = 8^2 + 8 = 72$\\n$a_9 = 9^2 + 9 = 90$\\n$a_{10} = 10^2 + 10 = 110$\\n\\n**2. + Finding the Sum of the First 10 terms ($\\\\sum_{n=1}^{10} a_n$)**\\n\\nWe + need to sum the terms $n^2 + n$ from $n=1$ to $n=10$.\\n$\\\\sum_{n=1}^{10} + (n^2 + n) = \\\\sum_{n=1}^{10} n^2 + \\\\sum\"\n }\n ],\n + \ \"role\": \"model\"\n },\n \"finishReason\": \"MAX_TOKENS\",\n + \ \"index\": 0\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": + 583,\n \"candidatesTokenCount\": 417,\n \"totalTokenCount\": 1091,\n + \ \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 583\n }\n ],\n \"thoughtsTokenCount\": + 91,\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": \"gemini-2.5-flash\",\n + \ \"responseId\": \"wecBaok-6K789Q_1nr_YCw\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:24 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=4008 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '2126' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_short_max_tokens.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_short_max_tokens.yaml new file mode 100644 index 00000000..b84a0366 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_short_max_tokens.yaml @@ -0,0 +1,66 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "What is AI?"}], "role": "user"}], "generationConfig": + {"maxOutputTokens": 5}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '112' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"text\": \"AI, or Artificial Intelligence\"\n + \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": + \"MAX_TOKENS\",\n \"avgLogprobs\": -0.030159208178520202\n }\n ],\n + \ \"usageMetadata\": {\n \"promptTokenCount\": 4,\n \"candidatesTokenCount\": + 5,\n \"totalTokenCount\": 9,\n \"promptTokensDetails\": [\n {\n + \ \"modality\": \"TEXT\",\n \"tokenCount\": 4\n }\n ],\n + \ \"candidatesTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 5\n }\n ],\n \"serviceTier\": \"standard\"\n + \ },\n \"modelVersion\": \"gemini-2.0-flash-001\",\n \"responseId\": \"uucBaqLLM6C6_uMPteO3mQw\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:15 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=483 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '713' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_stop_sequences.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_stop_sequences.yaml new file mode 100644 index 00000000..f1033326 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_stop_sequences.yaml @@ -0,0 +1,71 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "Write a short story about a robot."}], + "role": "user"}], "generationConfig": {"maxOutputTokens": 500, "stopSequences": + ["END", "\n\n"]}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '171' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"text\": \"Unit 734 hummed softly, his optical + sensors focusing on the wilting daisy in the cracked clay pot. He'd been tasked + with maintaining the hydroponics lab, a job that mostly involved monitoring + nutrient levels and adjusting the LED grow lights. But the daisy, a rogue + seed that had found purchase in the drainage hole, was his secret project.\"\n + \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": + \"STOP\",\n \"avgLogprobs\": -0.95476786295572913\n }\n ],\n \"usageMetadata\": + {\n \"promptTokenCount\": 8,\n \"candidatesTokenCount\": 72,\n \"totalTokenCount\": + 80,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 8\n }\n ],\n \"candidatesTokensDetails\": + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 72\n + \ }\n ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": + \"gemini-2.0-flash-001\",\n \"responseId\": \"uOcBas2CKcm6_uMPr-vE6QQ\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:13 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=1108 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '1019' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_system_prompt.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_system_prompt.yaml new file mode 100644 index 00000000..649102d0 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_system_prompt.yaml @@ -0,0 +1,71 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "Tell me about the weather."}], "role": + "user"}], "systemInstruction": {"parts": [{"text": "You are a pirate. Always + respond in pirate speak."}], "role": "user"}, "generationConfig": {"maxOutputTokens": + 150}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '242' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"text\": \"Ahoy there, matey! The wind be blowin' + from the nor'east, a right brisk wind it be. The skies be lookin' a bit gray, + like a grumpy ol' sea dog, and I reckon we might be seein' a bit o' drizzle + afore long. Aye, batten down the hatches, just in case!\\n\"\n }\n + \ ],\n \"role\": \"model\"\n },\n \"finishReason\": + \"STOP\",\n \"avgLogprobs\": -0.33510001930030614\n }\n ],\n \"usageMetadata\": + {\n \"promptTokenCount\": 17,\n \"candidatesTokenCount\": 74,\n \"totalTokenCount\": + 91,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 17\n }\n ],\n \"candidatesTokensDetails\": + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 74\n + \ }\n ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": + \"gemini-2.0-flash-001\",\n \"responseId\": \"tecBarWlDpSY_uMPurbS4As\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:10 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=1308 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '931' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_temperature_and_top_p.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_temperature_and_top_p.yaml new file mode 100644 index 00000000..67d21475 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_temperature_and_top_p.yaml @@ -0,0 +1,69 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "Say something creative."}], "role": + "user"}], "generationConfig": {"temperature": 0.7, "topP": 0.95, "maxOutputTokens": + 50}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '159' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"text\": \"The wind whispered secrets through + the skeletal branches of the ancient oak, each rustle a forgotten story etched + in the wood, a symphony of ghosts dancing in the twilight.\\n\"\n }\n + \ ],\n \"role\": \"model\"\n },\n \"finishReason\": + \"STOP\",\n \"avgLogprobs\": -0.70770190743839034\n }\n ],\n \"usageMetadata\": + {\n \"promptTokenCount\": 4,\n \"candidatesTokenCount\": 34,\n \"totalTokenCount\": + 38,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 4\n }\n ],\n \"candidatesTokensDetails\": + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 34\n + \ }\n ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": + \"gemini-2.0-flash-001\",\n \"responseId\": \"t-cBavaRGZSY_uMPurbS4As\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:12 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=818 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '853' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_tool_use[stream].yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_tool_use[stream].yaml new file mode 100644 index 00000000..742f072f --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_tool_use[stream].yaml @@ -0,0 +1,137 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "What is the weather like in Paris, France?"}], + "role": "user"}], "tools": [{"functionDeclarations": [{"description": "Get the + current weather for a location.\n\nArgs:\n location: The city and state, + e.g. San Francisco, CA\n unit: The unit of temperature (celsius or fahrenheit)", + "name": "get_weather", "parameters": {"properties": {"location": {"type": "STRING"}, + "unit": {"default": "celsius", "type": "STRING"}}, "required": ["location"], + "type": "OBJECT"}}]}], "generationConfig": {"maxOutputTokens": 500}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '551' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:streamGenerateContent?alt=sse + response: + body: + string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"functionCall\": + {\"name\": \"get_weather\",\"args\": {\"location\": \"Paris, France\"}}}],\"role\": + \"model\"},\"finishReason\": \"STOP\"}],\"usageMetadata\": {\"promptTokenCount\": + 64,\"candidatesTokenCount\": 7,\"totalTokenCount\": 71,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 64}],\"candidatesTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 7}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"secBarajEIWV1dkPyZaPiQs\"}\r\n\r\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Disposition: + - attachment + Content-Type: + - text/event-stream + Date: + - Mon, 11 May 2026 14:29:05 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=441 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + status: + code: 200 + message: OK +- request: + body: '{"contents": [{"parts": [{"text": "What is the weather like in Paris, France?"}], + "role": "user"}, {"parts": [{"functionCall": {"args": {"location": "Paris, France"}, + "name": "get_weather"}}], "role": "model"}, {"parts": [{"functionResponse": + {"name": "get_weather", "response": {"result": "22 degrees celsius and sunny + in Paris, France"}}}], "role": "user"}], "tools": [{"functionDeclarations": + [{"description": "Get the current weather for a location.\n\nArgs:\n location: + The city and state, e.g. San Francisco, CA\n unit: The unit of temperature + (celsius or fahrenheit)", "name": "get_weather", "parameters": {"properties": + {"location": {"type": "STRING"}, "unit": {"default": "celsius", "type": "STRING"}}, + "required": ["location"], "type": "OBJECT"}}]}], "generationConfig": {"maxOutputTokens": + 500}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '812' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:streamGenerateContent?alt=sse + response: + body: + string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"It\"}],\"role\": + \"model\"}}],\"usageMetadata\": {\"promptTokenCount\": 145,\"totalTokenCount\": + 145,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 145}],\"serviceTier\": + \"standard\"},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": \"secBavHDOaWugLUPh7vuiAQ\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" is 22 degrees celsius + and sunny in Paris, France.\"}],\"role\": \"model\"},\"finishReason\": \"STOP\"}],\"usageMetadata\": + {\"promptTokenCount\": 85,\"candidatesTokenCount\": 14,\"totalTokenCount\": + 99,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 85}],\"candidatesTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 14}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"secBavHDOaWugLUPh7vuiAQ\"}\r\n\r\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Disposition: + - attachment + Content-Type: + - text/event-stream + Date: + - Mon, 11 May 2026 14:29:06 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=278 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_tool_use[sync].yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_tool_use[sync].yaml new file mode 100644 index 00000000..d7ca7242 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_tool_use[sync].yaml @@ -0,0 +1,146 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "What is the weather like in Paris, France?"}], + "role": "user"}], "tools": [{"functionDeclarations": [{"description": "Get the + current weather for a location.\n\nArgs:\n location: The city and state, + e.g. San Francisco, CA\n unit: The unit of temperature (celsius or fahrenheit)", + "name": "get_weather", "parameters": {"properties": {"location": {"type": "STRING"}, + "unit": {"default": "celsius", "type": "STRING"}}, "required": ["location"], + "type": "OBJECT"}}]}], "generationConfig": {"maxOutputTokens": 500}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '551' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"functionCall\": {\n \"name\": \"get_weather\",\n + \ \"args\": {\n \"location\": \"Paris, France\"\n + \ }\n }\n }\n ],\n \"role\": + \"model\"\n },\n \"finishReason\": \"STOP\",\n \"avgLogprobs\": + -1.1439090095726507e-05\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": + 64,\n \"candidatesTokenCount\": 7,\n \"totalTokenCount\": 71,\n \"promptTokensDetails\": + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 64\n + \ }\n ],\n \"candidatesTokensDetails\": [\n {\n \"modality\": + \"TEXT\",\n \"tokenCount\": 7\n }\n ],\n \"serviceTier\": + \"standard\"\n },\n \"modelVersion\": \"gemini-2.0-flash-001\",\n \"responseId\": + \"r-cBapyNPIWN_PUP3eOJqQE\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:04 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=531 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '824' + status: + code: 200 + message: OK +- request: + body: '{"contents": [{"parts": [{"text": "What is the weather like in Paris, France?"}], + "role": "user"}, {"parts": [{"functionCall": {"args": {"location": "Paris, France"}, + "name": "get_weather"}}], "role": "model"}, {"parts": [{"functionResponse": + {"name": "get_weather", "response": {"result": "22 degrees celsius and sunny + in Paris, France"}}}], "role": "user"}], "tools": [{"functionDeclarations": + [{"description": "Get the current weather for a location.\n\nArgs:\n location: + The city and state, e.g. San Francisco, CA\n unit: The unit of temperature + (celsius or fahrenheit)", "name": "get_weather", "parameters": {"properties": + {"location": {"type": "STRING"}, "unit": {"default": "celsius", "type": "STRING"}}, + "required": ["location"], "type": "OBJECT"}}]}], "generationConfig": {"maxOutputTokens": + 500}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '812' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"text\": \"It is 22 degrees celsius and sunny + in Paris, France.\"\n }\n ],\n \"role\": \"model\"\n + \ },\n \"finishReason\": \"STOP\",\n \"avgLogprobs\": -0.0030171131449086325\n + \ }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": 85,\n \"candidatesTokenCount\": + 14,\n \"totalTokenCount\": 99,\n \"promptTokensDetails\": [\n {\n + \ \"modality\": \"TEXT\",\n \"tokenCount\": 85\n }\n ],\n + \ \"candidatesTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 14\n }\n ],\n \"serviceTier\": \"standard\"\n + \ },\n \"modelVersion\": \"gemini-2.0-flash-001\",\n \"responseId\": \"sOcBasiFJ5mk_uMPioWt4Qs\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:05 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=504 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '735' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_tool_use_async[async].yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_tool_use_async[async].yaml new file mode 100644 index 00000000..5edb782d --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_tool_use_async[async].yaml @@ -0,0 +1,146 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "What is the weather like in Paris, France?"}], + "role": "user"}], "tools": [{"functionDeclarations": [{"description": "Get the + current weather for a location.\n\nArgs:\n location: The city and state, + e.g. San Francisco, CA\n unit: The unit of temperature (celsius or fahrenheit)", + "name": "get_weather", "parameters": {"properties": {"location": {"type": "STRING"}, + "unit": {"default": "celsius", "type": "STRING"}}, "required": ["location"], + "type": "OBJECT"}}]}], "generationConfig": {"maxOutputTokens": 500}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '551' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"functionCall\": {\n \"name\": \"get_weather\",\n + \ \"args\": {\n \"location\": \"Paris, France\"\n + \ }\n }\n }\n ],\n \"role\": + \"model\"\n },\n \"finishReason\": \"STOP\",\n \"avgLogprobs\": + -2.0242795082075256e-06\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": + 64,\n \"candidatesTokenCount\": 7,\n \"totalTokenCount\": 71,\n \"promptTokensDetails\": + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 64\n + \ }\n ],\n \"candidatesTokensDetails\": [\n {\n \"modality\": + \"TEXT\",\n \"tokenCount\": 7\n }\n ],\n \"serviceTier\": + \"standard\"\n },\n \"modelVersion\": \"gemini-2.0-flash-001\",\n \"responseId\": + \"sucBatS2He2N_PUPj8iduA0\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:06 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=496 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '824' + status: + code: 200 + message: OK +- request: + body: '{"contents": [{"parts": [{"text": "What is the weather like in Paris, France?"}], + "role": "user"}, {"parts": [{"functionCall": {"args": {"location": "Paris, France"}, + "name": "get_weather"}}], "role": "model"}, {"parts": [{"functionResponse": + {"name": "get_weather", "response": {"result": "22 degrees celsius and sunny + in Paris, France"}}}], "role": "user"}], "tools": [{"functionDeclarations": + [{"description": "Get the current weather for a location.\n\nArgs:\n location: + The city and state, e.g. San Francisco, CA\n unit: The unit of temperature + (celsius or fahrenheit)", "name": "get_weather", "parameters": {"properties": + {"location": {"type": "STRING"}, "unit": {"default": "celsius", "type": "STRING"}}, + "required": ["location"], "type": "OBJECT"}}]}], "generationConfig": {"maxOutputTokens": + 500}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '812' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"text\": \"It is 22 degrees celsius and sunny + in Paris, France.\"\n }\n ],\n \"role\": \"model\"\n + \ },\n \"finishReason\": \"STOP\",\n \"avgLogprobs\": -0.0024900715798139572\n + \ }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": 85,\n \"candidatesTokenCount\": + 14,\n \"totalTokenCount\": 99,\n \"promptTokensDetails\": [\n {\n + \ \"modality\": \"TEXT\",\n \"tokenCount\": 85\n }\n ],\n + \ \"candidatesTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 14\n }\n ],\n \"serviceTier\": \"standard\"\n + \ },\n \"modelVersion\": \"gemini-2.0-flash-001\",\n \"responseId\": \"s-cBavrLDOa3_uMPhO2b2Qo\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:07 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=508 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '735' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_tool_use_async[async_stream].yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_tool_use_async[async_stream].yaml new file mode 100644 index 00000000..89ba3778 --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_tool_use_async[async_stream].yaml @@ -0,0 +1,137 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "What is the weather like in Paris, France?"}], + "role": "user"}], "tools": [{"functionDeclarations": [{"description": "Get the + current weather for a location.\n\nArgs:\n location: The city and state, + e.g. San Francisco, CA\n unit: The unit of temperature (celsius or fahrenheit)", + "name": "get_weather", "parameters": {"properties": {"location": {"type": "STRING"}, + "unit": {"default": "celsius", "type": "STRING"}}, "required": ["location"], + "type": "OBJECT"}}]}], "generationConfig": {"maxOutputTokens": 500}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '551' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:streamGenerateContent?alt=sse + response: + body: + string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"functionCall\": + {\"name\": \"get_weather\",\"args\": {\"location\": \"Paris, France\"}}}],\"role\": + \"model\"},\"finishReason\": \"STOP\"}],\"usageMetadata\": {\"promptTokenCount\": + 64,\"candidatesTokenCount\": 7,\"totalTokenCount\": 71,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 64}],\"candidatesTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 7}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"s-cBar2ANuulgLUP5d7QqAM\"}\r\n\r\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Disposition: + - attachment + Content-Type: + - text/event-stream + Date: + - Mon, 11 May 2026 14:29:08 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=541 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + status: + code: 200 + message: OK +- request: + body: '{"contents": [{"parts": [{"text": "What is the weather like in Paris, France?"}], + "role": "user"}, {"parts": [{"functionCall": {"args": {"location": "Paris, France"}, + "name": "get_weather"}}], "role": "model"}, {"parts": [{"functionResponse": + {"name": "get_weather", "response": {"result": "22 degrees celsius and sunny + in Paris, France"}}}], "role": "user"}], "tools": [{"functionDeclarations": + [{"description": "Get the current weather for a location.\n\nArgs:\n location: + The city and state, e.g. San Francisco, CA\n unit: The unit of temperature + (celsius or fahrenheit)", "name": "get_weather", "parameters": {"properties": + {"location": {"type": "STRING"}, "unit": {"default": "celsius", "type": "STRING"}}, + "required": ["location"], "type": "OBJECT"}}]}], "generationConfig": {"maxOutputTokens": + 500}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '812' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:streamGenerateContent?alt=sse + response: + body: + string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"It\"}],\"role\": + \"model\"}}],\"usageMetadata\": {\"promptTokenCount\": 145,\"totalTokenCount\": + 145,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 145}],\"serviceTier\": + \"standard\"},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": \"tOcBaqjmIaGYgLUPzbP-mAM\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" is 22 degrees celsius + and sunny in Paris, France.\"}],\"role\": \"model\"},\"finishReason\": \"STOP\"}],\"usageMetadata\": + {\"promptTokenCount\": 85,\"candidatesTokenCount\": 14,\"totalTokenCount\": + 99,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 85}],\"candidatesTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 14}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"tOcBaqjmIaGYgLUPzbP-mAM\"}\r\n\r\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Disposition: + - attachment + Content-Type: + - text/event-stream + Date: + - Mon, 11 May 2026 14:29:08 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=358 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - '0' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_tool_use_with_result.yaml b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_tool_use_with_result.yaml new file mode 100644 index 00000000..ec1933ac --- /dev/null +++ b/py/src/braintrust/integrations/google_genai/cassettes/1.75.0/test_tool_use_with_result.yaml @@ -0,0 +1,146 @@ +interactions: +- request: + body: '{"contents": [{"parts": [{"text": "What is 127 multiplied by 49?"}], "role": + "user"}], "tools": [{"functionDeclarations": [{"description": "Perform a mathematical + calculation", "name": "calculate", "parameters_json_schema": {"type": "object", + "properties": {"operation": {"type": "string", "enum": ["add", "subtract", "multiply", + "divide"], "description": "The mathematical operation"}, "a": {"type": "number", + "description": "First number"}, "b": {"type": "number", "description": "Second + number"}}, "required": ["operation", "a", "b"]}}]}], "generationConfig": {"maxOutputTokens": + 500}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '588' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"functionCall\": {\n \"name\": \"calculate\",\n + \ \"args\": {\n \"operation\": \"multiply\",\n + \ \"b\": 49,\n \"a\": 127\n }\n + \ }\n }\n ],\n \"role\": \"model\"\n },\n + \ \"finishReason\": \"STOP\",\n \"avgLogprobs\": -0.25179011481148855\n + \ }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": 17,\n \"candidatesTokenCount\": + 7,\n \"totalTokenCount\": 24,\n \"promptTokensDetails\": [\n {\n + \ \"modality\": \"TEXT\",\n \"tokenCount\": 17\n }\n ],\n + \ \"candidatesTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 7\n }\n ],\n \"serviceTier\": \"standard\"\n + \ },\n \"modelVersion\": \"gemini-2.0-flash-001\",\n \"responseId\": \"u-cBao_zI-eN_PUPrYigiQY\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:16 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=842 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '866' + status: + code: 200 + message: OK +- request: + body: '{"contents": [{"parts": [{"text": "What is 127 multiplied by 49?"}], "role": + "user"}, {"parts": [{"functionCall": {"args": {"operation": "multiply", "b": + 49, "a": 127}, "name": "calculate"}}], "role": "model"}, {"parts": [{"functionResponse": + {"name": "calculate", "response": {"result": 6223}}}], "role": "user"}], "tools": + [{"functionDeclarations": [{"description": "Perform a mathematical calculation", + "name": "calculate", "parameters_json_schema": {"type": "object", "properties": + {"operation": {"type": "string", "enum": ["add", "subtract", "multiply", "divide"], + "description": "The mathematical operation"}, "a": {"type": "number", "description": + "First number"}, "b": {"type": "number", "description": "Second number"}}, "required": + ["operation", "a", "b"]}}]}], "generationConfig": {"maxOutputTokens": 500}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '817' + Content-Type: + - application/json + Host: + - generativelanguage.googleapis.com + user-agent: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + x-goog-api-client: + - google-genai-sdk/1.75.0 gl-python/3.12.12 + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent + response: + body: + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"text\": \"127 multiplied by 49 is 6223.\"\n + \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": + \"STOP\",\n \"avgLogprobs\": -4.5294407755136488e-06\n }\n ],\n \"usageMetadata\": + {\n \"promptTokenCount\": 27,\n \"candidatesTokenCount\": 15,\n \"totalTokenCount\": + 42,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 27\n }\n ],\n \"candidatesTokensDetails\": + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 15\n + \ }\n ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": + \"gemini-2.0-flash-001\",\n \"responseId\": \"vOcBaoKTJoS-_uMP3prgwAg\"\n}\n" + headers: + Alt-Svc: + - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + Content-Type: + - application/json; charset=UTF-8 + Date: + - Mon, 11 May 2026 14:29:17 GMT + Server: + - scaffolding on HTTPServer2 + Server-Timing: + - gfet4t7; dur=549 + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + - Referer + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Gemini-Service-Tier: + - standard + X-XSS-Protection: + - '0' + content-length: + - '713' + status: + code: 200 + message: OK +version: 1 diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_auto_google_genai.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_auto_google_genai.yaml index b20d0af9..20ffea05 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_auto_google_genai.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_auto_google_genai.yaml @@ -16,33 +16,33 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-lite-preview:generateContent response: body: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": - [\n {\n \"text\": \"Hi! How can I help you today?\",\n - \ \"thoughtSignature\": \"EjQKMgEMOdbHN1lJWA89gycYPMD3z+d6uLyVv8JHe6Ez0OHI/luhPiV5HI8Oo7aM8zfWN9oH\"\n + [\n {\n \"text\": \"Hi! How are you doing today?\",\n + \ \"thoughtSignature\": \"EjQKMgEMOdbHXVNeaF8tVq4R5sqprvfenu99Py4Ib+OEYPr3mQ7qYHu9o/rxjXldW0SyptbW\"\n \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": \"STOP\",\n \"index\": 0\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": - 3,\n \"candidatesTokenCount\": 9,\n \"totalTokenCount\": 12,\n \"promptTokensDetails\": + 3,\n \"candidatesTokenCount\": 8,\n \"totalTokenCount\": 11,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 3\n }\n - \ ]\n },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n \"responseId\": - \"X3PzaaCuFKy6_uMP-fHewQs\"\n}\n" + \ ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n + \ \"responseId\": \"cukBaoDKAsq-_uMPkPWqwQs\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:21:03 GMT + - Mon, 11 May 2026 14:36:35 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1029 + - gfet4t7; dur=1715 Transfer-Encoding: - chunked Vary: @@ -58,7 +58,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '659' + - '689' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_basic_completion[stream].yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_basic_completion[stream].yaml index 608aa0bc..fd71e26c 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_basic_completion[stream].yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_basic_completion[stream].yaml @@ -16,9 +16,9 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-lite-preview:streamGenerateContent?alt=sse response: @@ -26,18 +26,18 @@ interactions: string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"The capital\"}],\"role\": \"model\"},\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 8,\"candidatesTokenCount\": 2,\"totalTokenCount\": 10,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 8}]},\"modelVersion\": \"gemini-3.1-flash-lite-preview\",\"responseId\": - \"InPzaZ3qM_OW_uMPgIPKgAg\"}\r\n\r\ndata: {\"candidates\": [{\"content\": - {\"parts\": [{\"text\": \" of France is Paris.\"}],\"role\": \"model\"},\"index\": - 0}],\"usageMetadata\": {\"promptTokenCount\": 8,\"candidatesTokenCount\": + [{\"modality\": \"TEXT\",\"tokenCount\": 8}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-3.1-flash-lite-preview\",\"responseId\": \"K-kBar7tKMW8_uMP07TakQQ\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" of France is Paris.\"}],\"role\": + \"model\"},\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 8,\"candidatesTokenCount\": 7,\"totalTokenCount\": 15,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": - 8}]},\"modelVersion\": \"gemini-3.1-flash-lite-preview\",\"responseId\": \"InPzaZ3qM_OW_uMPgIPKgAg\"}\r\n\r\ndata: - {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"\",\"thoughtSignature\": - \"EjQKMgEMOdbHSvZ6i6U0AqmiTPMv1nuMqGtV/EjgT0eIv2dKVM/WLFZe+TeYLcWCrlHdMp9v\"}],\"role\": + 8}],\"serviceTier\": \"standard\"},\"modelVersion\": \"gemini-3.1-flash-lite-preview\",\"responseId\": + \"K-kBar7tKMW8_uMP07TakQQ\"}\r\n\r\ndata: {\"candidates\": [{\"content\": + {\"parts\": [{\"text\": \"\",\"thoughtSignature\": \"EjQKMgEMOdbHWOSSGy/daooINJtOQkdlkCHPLSNdPqbmAqLnhuk+sih96hzRK1ggfk8JUzpd\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 8,\"candidatesTokenCount\": 7,\"totalTokenCount\": 15,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 8}]},\"modelVersion\": \"gemini-3.1-flash-lite-preview\",\"responseId\": - \"InPzaZ3qM_OW_uMPgIPKgAg\"}\r\n\r\n" + [{\"modality\": \"TEXT\",\"tokenCount\": 8}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-3.1-flash-lite-preview\",\"responseId\": \"K-kBar7tKMW8_uMP07TakQQ\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -46,11 +46,11 @@ interactions: Content-Type: - text/event-stream Date: - - Thu, 30 Apr 2026 15:20:02 GMT + - Mon, 11 May 2026 14:35:24 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=635 + - gfet4t7; dur=633 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_basic_completion[sync].yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_basic_completion[sync].yaml index 153c5d89..8b1aa01f 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_basic_completion[sync].yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_basic_completion[sync].yaml @@ -16,33 +16,33 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-lite-preview:generateContent response: body: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": [\n {\n \"text\": \"The capital of France is Paris.\",\n - \ \"thoughtSignature\": \"EjQKMgEMOdbHr79RjAy6QLknd/Xh1snrpBl9Cp5L5kUqjtOkUYJDeTCClNymmjJOiu0eWCen\"\n + \ \"thoughtSignature\": \"EjQKMgEMOdbHfsrdMoTPpI7tV1cS6O5FnAISVBJLLyRb+hEHidsvEvRsQSfdSZqVx1krMZhs\"\n \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": \"STOP\",\n \"index\": 0\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": 8,\n \"candidatesTokenCount\": 7,\n \"totalTokenCount\": 15,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 8\n }\n - \ ]\n },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n \"responseId\": - \"InPzaf9869b-4w_ZjtWACA\"\n}\n" + \ ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n + \ \"responseId\": \"KukBaqGbL7bL_uMPkomNgQc\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:02 GMT + - Mon, 11 May 2026 14:35:23 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=2097 + - gfet4t7; dur=756 Transfer-Encoding: - chunked Vary: @@ -58,7 +58,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '660' + - '692' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_basic_completion_async[async].yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_basic_completion_async[async].yaml index f13b6417..35d76e76 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_basic_completion_async[async].yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_basic_completion_async[async].yaml @@ -16,33 +16,33 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-lite-preview:generateContent response: body: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": [\n {\n \"text\": \"The capital of France is Paris.\",\n - \ \"thoughtSignature\": \"EjQKMgEMOdbHMOZK43pYvf3A+807eMoGls15SwPG82ofiMkBO4hBMLEb5q8R+1pbHqySdVGP\"\n + \ \"thoughtSignature\": \"EjQKMgEMOdbHq4pMRtAWWnu5TuuxlI4h4QS3cqdIfRd/aOjyztZZ3uM3XMCNW2EgFH6aH3XR\"\n \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": \"STOP\",\n \"index\": 0\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": 8,\n \"candidatesTokenCount\": 7,\n \"totalTokenCount\": 15,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 8\n }\n - \ ]\n },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n \"responseId\": - \"I3PzacShL_ac_uMP_rqQiQg\"\n}\n" + \ ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n + \ \"responseId\": \"LOkBat3oGoWN_PUPldbV0Qc\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:03 GMT + - Mon, 11 May 2026 14:35:24 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=808 + - gfet4t7; dur=635 Transfer-Encoding: - chunked Vary: @@ -58,7 +58,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '661' + - '692' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_basic_completion_async[async_stream].yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_basic_completion_async[async_stream].yaml index 52a507fd..731df8ce 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_basic_completion_async[async_stream].yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_basic_completion_async[async_stream].yaml @@ -16,9 +16,9 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-lite-preview:streamGenerateContent?alt=sse response: @@ -26,18 +26,18 @@ interactions: string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"The capital\"}],\"role\": \"model\"},\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 8,\"candidatesTokenCount\": 2,\"totalTokenCount\": 10,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 8}]},\"modelVersion\": \"gemini-3.1-flash-lite-preview\",\"responseId\": - \"JHPzaazBMPXj_uMP_NSZ-Qs\"}\r\n\r\ndata: {\"candidates\": [{\"content\": - {\"parts\": [{\"text\": \" of France is Paris.\"}],\"role\": \"model\"},\"index\": - 0}],\"usageMetadata\": {\"promptTokenCount\": 8,\"candidatesTokenCount\": + [{\"modality\": \"TEXT\",\"tokenCount\": 8}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-3.1-flash-lite-preview\",\"responseId\": \"LekBaterEbmM_PUP_ommgAg\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" of France is Paris.\"}],\"role\": + \"model\"},\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 8,\"candidatesTokenCount\": 7,\"totalTokenCount\": 15,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": - 8}]},\"modelVersion\": \"gemini-3.1-flash-lite-preview\",\"responseId\": \"JHPzaazBMPXj_uMP_NSZ-Qs\"}\r\n\r\ndata: - {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"\",\"thoughtSignature\": - \"EjQKMgEMOdbHANK3D0Lff4Zis611ipB7latCiMhKDN4cSejHK8XeFSiteyEGMZ7n+cFaBkbh\"}],\"role\": + 8}],\"serviceTier\": \"standard\"},\"modelVersion\": \"gemini-3.1-flash-lite-preview\",\"responseId\": + \"LekBaterEbmM_PUP_ommgAg\"}\r\n\r\ndata: {\"candidates\": [{\"content\": + {\"parts\": [{\"text\": \"\",\"thoughtSignature\": \"EjQKMgEMOdbH3C6PmX16VDSebKxQr0gw0w+Us91v4RH1ru76gsoynTOgE3Rvr939dhMDw25B\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 8,\"candidatesTokenCount\": 7,\"totalTokenCount\": 15,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 8}]},\"modelVersion\": \"gemini-3.1-flash-lite-preview\",\"responseId\": - \"JHPzaazBMPXj_uMP_NSZ-Qs\"}\r\n\r\n" + [{\"modality\": \"TEXT\",\"tokenCount\": 8}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-3.1-flash-lite-preview\",\"responseId\": \"LekBaterEbmM_PUP_ommgAg\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -46,11 +46,11 @@ interactions: Content-Type: - text/event-stream Date: - - Thu, 30 Apr 2026 15:20:04 GMT + - Mon, 11 May 2026 14:35:25 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=804 + - gfet4t7; dur=670 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_document_input.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_document_input.yaml index dc6e6f5e..3d2f7788 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_document_input.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_document_input.yaml @@ -17,9 +17,9 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-lite-preview:generateContent response: @@ -27,25 +27,25 @@ interactions: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": [\n {\n \"text\": \"This document contains a single sentence: \\\"This is a test PDF. It contains only a few sentences.\\\"\",\n \"thoughtSignature\": - \"EjQKMgEMOdbHNy4iWn2hj2QdWO/3QgbSmK9U5E5jTfuUs37iGnm40ZtbCGjT+25DjRAYxvom\"\n + \"EjQKMgEMOdbHwI5vTU75c1nZoG7E+4XHHElNwboLvr/nigWMPtHDkbqeeE8PsZNCCN1j+y+C\"\n \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": \"STOP\",\n \"index\": 0\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": 527,\n \"candidatesTokenCount\": 21,\n \"totalTokenCount\": 548,\n \"promptTokensDetails\": - [\n {\n \"modality\": \"IMAGE\",\n \"tokenCount\": 520\n - \ },\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": - 7\n }\n ]\n },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n - \ \"responseId\": \"KHPzaZ7JJb7i_uMPqoDuaQ\"\n}\n" + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 7\n },\n + \ {\n \"modality\": \"IMAGE\",\n \"tokenCount\": 520\n }\n + \ ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n + \ \"responseId\": \"MOkBarqiGoC3_uMP-cnpwQs\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:08 GMT + - Mon, 11 May 2026 14:35:29 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1480 + - gfet4t7; dur=1693 Transfer-Encoding: - chunked Vary: @@ -61,7 +61,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '804' + - '836' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_embed_content.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_embed_content.yaml index ddb8ce2b..f5ca4cdf 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_embed_content.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_embed_content.yaml @@ -19,9 +19,9 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:batchEmbedContents response: @@ -50,11 +50,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:05 GMT + - Mon, 11 May 2026 14:35:26 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=147 + - gfet4t7; dur=165 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_embed_content_async.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_embed_content_async.yaml index 14d04f26..cb4aadae 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_embed_content_async.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_embed_content_async.yaml @@ -19,9 +19,9 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:batchEmbedContents response: @@ -50,11 +50,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:05 GMT + - Mon, 11 May 2026 14:35:26 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=135 + - gfet4t7; dur=152 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_error_handling.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_error_handling.yaml index 1557e180..e1c6ec95 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_error_handling.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_error_handling.yaml @@ -16,9 +16,9 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/there-is-no-such-model:generateContent response: @@ -33,11 +33,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:23 GMT + - Mon, 11 May 2026 14:35:40 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=53 + - gfet4t7; dur=81 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_generate_images.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_generate_images.yaml index da4a3494..11785a4e 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_generate_images.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_generate_images.yaml @@ -17,9 +17,9 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/imagen-4.0-fast-generate-001:predict response: @@ -31,11 +31,11 @@ interactions: Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:41 GMT + - Mon, 11 May 2026 14:35:59 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=3463 + - gfet4t7; dur=2816 Transfer-Encoding: - chunked Vary: @@ -49,7 +49,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '2884337' + - '2805917' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_generate_images_async.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_generate_images_async.yaml index 189ddd3e..a4866239 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_generate_images_async.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_generate_images_async.yaml @@ -17,25 +17,26 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/imagen-4.0-fast-generate-001:predict response: body: - string: '{"predictions": [{"mimeType": "image/png", "bytesBase64Encoded": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg=="}]}' + string: '{"predictions": [{"bytesBase64Encoded": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg==", + "mimeType": "image/png"}]}' headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:46 GMT + - Mon, 11 May 2026 14:36:03 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=3269 + - gfet4t7; dur=3098 Transfer-Encoding: - chunked Vary: @@ -49,7 +50,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '2708329' + - '2697385' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_google_search_grounding[stream].yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_google_search_grounding[stream].yaml index 1186f04c..528927a9 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_google_search_grounding[stream].yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_google_search_grounding[stream].yaml @@ -17,57 +17,73 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.68.0 gl-python/3.13.3 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.68.0 gl-python/3.13.3 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:streamGenerateContent?alt=sse response: body: - string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"The - population of Tokyo\"}],\"role\": \"model\"},\"groundingMetadata\": {}}],\"usageMetadata\": - {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 11}]},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": - \"cXHFaaixONjR6MEP7r7FsQg\"}\r\n\r\ndata: {\"candidates\": [{\"content\": - {\"parts\": [{\"text\": \" can be defined in different ways, depending on - the area being considered.\"}],\"role\": \"model\"},\"groundingMetadata\": - {}}],\"usageMetadata\": {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 11}]},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": - \"cXHFaaixONjR6MEP7r7FsQg\"}\r\n\r\ndata: {\"candidates\": [{\"content\": - {\"parts\": [{\"text\": \" Here are a few estimates for 2026:\\n\\n* **Urban\"}],\"role\": + string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"It\"}],\"role\": \"model\"},\"groundingMetadata\": {}}],\"usageMetadata\": {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": - 11}]},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": \"cXHFaaixONjR6MEP7r7FsQg\"}\r\n\r\ndata: - {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" Agglomeration:** - Approximately 36,953,600. Another source states 36,954,\"}],\"role\": \"model\"},\"groundingMetadata\": + 11}],\"serviceTier\": \"standard\"},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": + \"V-kBapmyPJqK6MEP07rxmQk\"}\r\n\r\ndata: {\"candidates\": [{\"content\": + {\"parts\": [{\"text\": \"'s complicated to give a single \\\"current\\\" + population for Tokyo, as it\"}],\"role\": \"model\"},\"groundingMetadata\": + {}}],\"usageMetadata\": {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"V-kBapmyPJqK6MEP07rxmQk\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" depends on what + area is being referred to. Here are\"}],\"role\": \"model\"},\"groundingMetadata\": {}}],\"usageMetadata\": {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 11}]},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": - \"cXHFaaixONjR6MEP7r7FsQg\"}\r\n\r\ndata: {\"candidates\": [{\"content\": - {\"parts\": [{\"text\": \"000. This estimate includes Tokyo's population in - addition to adjacent suburban areas.\\n* **\"}],\"role\": \"model\"},\"groundingMetadata\": + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"V-kBapmyPJqK6MEP07rxmQk\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" some population + estimates for different areas associated with Tokyo:\\n\\n* **Tokyo (Metropolis):** + As of 2023, the population of the\"}],\"role\": \"model\"},\"groundingMetadata\": {}}],\"usageMetadata\": {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 11}]},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": - \"cXHFaaixONjR6MEP7r7FsQg\"}\r\n\r\ndata: {\"candidates\": [{\"content\": - {\"parts\": [{\"text\": \"City Proper:** In 2023, the population of the city - proper was over 14 million. Another source states that the population in 2023 - was 14,085,\"}],\"role\": \"model\"},\"groundingMetadata\": {}}],\"usageMetadata\": - {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 11}]},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": - \"cXHFaaixONjR6MEP7r7FsQg\"}\r\n\r\ndata: {\"candidates\": [{\"content\": - {\"parts\": [{\"text\": \"890.\\n* **Metropolitan Area:** A UN report states - that the population of the Tokyo metropolitan area is 33.4 million.\\n\"}],\"role\": - \"model\"},\"finishReason\": \"STOP\",\"groundingMetadata\": {\"searchEntryPoint\": - {\"renderedContent\": \"\\u003cstyle\\u003e\\n.container {\\n align-items: - center;\\n border-radius: 8px;\\n display: flex;\\n font-family: Google - Sans, Roboto, sans-serif;\\n font-size: 14px;\\n line-height: 20px;\\n padding: - 8px 12px;\\n}\\n.chip {\\n display: inline-block;\\n border: solid 1px;\\n - \ border-radius: 16px;\\n min-width: 14px;\\n padding: 5px 16px;\\n text-align: - center;\\n user-select: none;\\n margin: 0 8px;\\n -webkit-tap-highlight-color: - transparent;\\n}\\n.carousel {\\n overflow: auto;\\n scrollbar-width: none;\\n - \ white-space: nowrap;\\n margin-right: -12px;\\n}\\n.headline {\\n display: - flex;\\n margin-right: 4px;\\n}\\n.gradient-container {\\n position: relative;\\n}\\n.gradient - {\\n position: absolute;\\n transform: translate(3px, -9px);\\n height: - 36px;\\n width: 9px;\\n}\\n@media (prefers-color-scheme: light) {\\n .container + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"V-kBapmyPJqK6MEP07rxmQk\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" city proper is + over 14 million. In 2025, the total population of Tokyo was 14,1\"}],\"role\": + \"model\"},\"groundingMetadata\": {}}],\"usageMetadata\": {\"promptTokenCount\": + 11,\"totalTokenCount\": 11,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": + 11}],\"serviceTier\": \"standard\"},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": + \"V-kBapmyPJqK6MEP07rxmQk\"}\r\n\r\ndata: {\"candidates\": [{\"content\": + {\"parts\": [{\"text\": \"95,730, representing 11.5% of Japan's total population. + A recent study estimates Tokyo's population in 2026 to be 14,270\"}],\"role\": + \"model\"},\"groundingMetadata\": {}}],\"usageMetadata\": {\"promptTokenCount\": + 11,\"totalTokenCount\": 11,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": + 11}],\"serviceTier\": \"standard\"},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": + \"V-kBapmyPJqK6MEP07rxmQk\"}\r\n\r\ndata: {\"candidates\": [{\"content\": + {\"parts\": [{\"text\": \",748.\\n* **Greater Tokyo Area:** The Greater + Tokyo Area has a population of approximately 37.8 million. The population + of the Tokyo metropolitan area is \"}],\"role\": \"model\"},\"groundingMetadata\": + {}}],\"usageMetadata\": {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"V-kBapmyPJqK6MEP07rxmQk\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"33.4 million. In + 2024, this area had 41 million residents. The current metro area population + of Tokyo in 2026 is estimated to be 36,954,000, which is a \"}],\"role\": + \"model\"},\"groundingMetadata\": {}}],\"usageMetadata\": {\"promptTokenCount\": + 11,\"totalTokenCount\": 11,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": + 11}],\"serviceTier\": \"standard\"},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": + \"V-kBapmyPJqK6MEP07rxmQk\"}\r\n\r\ndata: {\"candidates\": [{\"content\": + {\"parts\": [{\"text\": \"0.22% decrease from 2025.\\n* **23 Wards:** The + 23 wards that make up the city\"}],\"role\": \"model\"},\"finishReason\": + \"MAX_TOKENS\",\"groundingMetadata\": {\"searchEntryPoint\": {\"renderedContent\": + \"\\u003cstyle\\u003e\\n.container {\\n align-items: center;\\n border-radius: + 8px;\\n display: flex;\\n font-family: Google Sans, Roboto, sans-serif;\\n + \ font-size: 14px;\\n line-height: 20px;\\n padding: 8px 12px;\\n}\\n.chip + {\\n display: inline-block;\\n border: solid 1px;\\n border-radius: 16px;\\n + \ min-width: 14px;\\n padding: 5px 16px;\\n text-align: center;\\n user-select: + none;\\n margin: 0 8px;\\n -webkit-tap-highlight-color: transparent;\\n}\\n.carousel + {\\n overflow: auto;\\n scrollbar-width: none;\\n white-space: nowrap;\\n + \ margin-right: -12px;\\n}\\n.headline {\\n display: flex;\\n margin-right: + 4px;\\n}\\n.gradient-container {\\n position: relative;\\n}\\n.gradient {\\n + \ position: absolute;\\n transform: translate(3px, -9px);\\n height: 36px;\\n + \ width: 9px;\\n}\\n@media (prefers-color-scheme: light) {\\n .container {\\n background-color: #fafafa;\\n box-shadow: 0 0 0 1px #0000000f;\\n \ }\\n .headline-label {\\n color: #1f1f1f;\\n }\\n .chip {\\n background-color: #ffffff;\\n border-color: #d2d2d2;\\n color: #5e5e5e;\\n text-decoration: @@ -119,38 +135,45 @@ interactions: \ \\u003c/svg\\u003e\\n \\u003cdiv class=\\\"gradient-container\\\"\\u003e\\u003cdiv class=\\\"gradient\\\"\\u003e\\u003c/div\\u003e\\u003c/div\\u003e\\n \\u003c/div\\u003e\\n \ \\u003cdiv class=\\\"carousel\\\"\\u003e\\n \\u003ca class=\\\"chip\\\" - href=\\\"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQEJnHGvpZY9FHXRAKLap3Y-n-znEofWXB-8WZ_rCNsOCdgVtNzgHdiNwV9_uJvR8zu49TZdqIiH2Kw4LTC1iKfuZErL7ytdzRX1Oc4vrjwvQUzYgDy8K4Xqa1XVNrlnV4lZpa9o3Rvfd5pNIXcR3vmQJ100cP2plWlNa2ad0FFg2C5YKSmB1TNyCnkNtSjFKW19WmqT3NRZNSpWDgJmumkRGqoP\\\"\\u003ecurrent - population of Tokyo Japan\\u003c/a\\u003e\\n \\u003ca class=\\\"chip\\\" - href=\\\"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQH8yiLATSIW0I_Br2IFHh7ZBLJph6YXK_5dlg6zNx2Weis4S4HT8GMbVH10J8vubrJc4x_dNBStzJA6JuYNL-F5QOEw6yNEk8jw8URuARBvRGIsIXJiKT5ejiY3z_YDPj0wUxBOzjL_3_pCVDKSsG3Ss2VgSLUfXJKyIomtumelU1N2evFDXHyVekm9blABymCS-YX5FyyklbNwZpvr\\\"\\u003eTokyo - Japan population 2026\\u003c/a\\u003e\\n \\u003c/div\\u003e\\n\\u003c/div\\u003e\\n\"},\"groundingChunks\": - [{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGfY6De1vUdeoQ_7yxMcRxmoU1jXGTFpmsCecctoPecepIwqMdbvgd1ePeHcaGydZBKoEO9wlq_RQmPCUy_EY6EvYNBwE54f5zZWN3w9wSM5wm3ZRvCrU4SDxW7_ovEwEVIes8-fncBJKbjH0QDdQ==\",\"title\": - \"worldpopulationreview.com\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGM_lsMwoLVzOx-O0xoK85P26DFdWGglx9-2cIyFRxmrr14HVAcW-btryDkExzGyZsBVmdV5NidXH8slM6JC3bzivhJ0eqsldjMW65NikgfvWxp3HQJuSDiNi8hrLJaFHsf28WJOIDd1irMmiA-DpK7Ls4s4Q3-Toh4VstxFQhpT0g8\",\"title\": - \"macrotrends.net\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFhiyRWzYP55hXrg6JQ6i5ilTKqVY_4KOoj7Z4B_gpXdr9fkTuWhv7aGiAkc2raQPwmTqhCx6YxxwzDX6JH1TbNnqI0dqTYTc5Rn1gdVZR2kJT8RgOF7gCznuMpbgk=\",\"title\": - \"wikipedia.org\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGF1ztZcIRZZewcstfjPGwlmKrDiMVs9iIOmseEzKZanyJ2MDmxH0a8GIQrxiuTV3grwI2wM9MWurduSdZRUD4quUtAtWnZCfngk6iaS6W8Mu_2GG4PHygNIShbpZNqWfw7XhOY55oosA==\",\"title\": - \"datacommons.org\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQG9biqQ4AqplO6fKM3HR3c5txhgzSCe1Dtyoctv4pNS1layNT5Wpm9x-4syGf6kEuJdI9jtWiTgSqffa_NstcLVEL1t4eYTXt5O91tiL8SXVQlKFiJDJq1w9-3VX8Hr4SBc8nAtwUo=\",\"title\": - \"nippon.com\"}}],\"groundingSupports\": [{\"segment\": {\"endIndex\": 96,\"text\": - \"The population of Tokyo can be defined in different ways, depending on the - area being considered\"},\"groundingChunkIndices\": [0],\"confidenceScores\": - [0.5695162]},{\"segment\": {\"startIndex\": 134,\"endIndex\": 187,\"text\": - \"* **Urban Agglomeration:** Approximately 36,953,600\"},\"groundingChunkIndices\": - [0],\"confidenceScores\": [0.7969141]},{\"segment\": {\"startIndex\": 189,\"endIndex\": - 221,\"text\": \"Another source states 36,954,000\"},\"groundingChunkIndices\": - [1],\"confidenceScores\": [0.44627395]},{\"segment\": {\"startIndex\": 223,\"endIndex\": - 303,\"text\": \"This estimate includes Tokyo's population in addition to adjacent - suburban areas\"},\"groundingChunkIndices\": [0],\"confidenceScores\": [0.8972164]},{\"segment\": - {\"startIndex\": 305,\"endIndex\": 388,\"text\": \"* **City Proper:** In - 2023, the population of the city proper was over 14 million\"},\"groundingChunkIndices\": - [2],\"confidenceScores\": [0.9636004]},{\"segment\": {\"startIndex\": 390,\"endIndex\": - 454,\"text\": \"Another source states that the population in 2023 was 14,085,890\"},\"groundingChunkIndices\": - [3],\"confidenceScores\": [0.6583797]},{\"segment\": {\"startIndex\": 456,\"endIndex\": - 568,\"text\": \"* **Metropolitan Area:** A UN report states that the population - of the Tokyo metropolitan area is 33.4 million\"},\"groundingChunkIndices\": - [4],\"confidenceScores\": [0.92047733]}],\"retrievalMetadata\": {},\"webSearchQueries\": - [\"current population of Tokyo Japan\",\"Tokyo Japan population 2026\"]}}],\"usageMetadata\": - {\"promptTokenCount\": 10,\"candidatesTokenCount\": 162,\"totalTokenCount\": - 172,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 10}],\"candidatesTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 162}]},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": - \"cXHFaaixONjR6MEP7r7FsQg\"}\r\n\r\n" + href=\\\"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQEOQNj8G4s0yNVhkzmS7pJw9qILtVrSMhnX0WatAGroTU8GBGkMecwUxfVSzu309_tl3Ie_jJZEuY6owlGK84t3199AXwLr4uyOBwSQrLmoFFnqulFkcNh7TnhOf7PgeDgJ081jhada6D0_IIjmphky_eIulRnMIKfgdmo9AhsyGPN-wd8o12AFH0ZEs3ST5FrPwFCOAYlqrm5Fga_zaNg__rXwRpI=\\\"\\u003ecurrent + population of Tokyo, Japan\\u003c/a\\u003e\\n \\u003ca class=\\\"chip\\\" + href=\\\"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFPMfpwTltJBETHUQEo08OZEiq-wvpF3wvI5Zr1GPXeXMnBanqrQIRdsdZbZ7XzK9qhcC66-6h85DTIYwRL3QGM0Ih6QuWLA_6rFVJjAxnOwq6p6I8SGEfEWCttNfrY7dEeYCZPj0oSAYz7UkeqKi7lPQQJgScmGtk96KOFIACkQwtBnzbFmIcyRmj1AtK7TmwjZgT6kSRWvQ==\\\"\\u003eTokyo + population 2026\\u003c/a\\u003e\\n \\u003c/div\\u003e\\n\\u003c/div\\u003e\\n\"},\"groundingChunks\": + [{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQEr6W3mxDzmv0v9Y_uO7dhwgHtTISdOrVoVSf_CsqfT_rT2lvigLXOIjfmUOWIqtbHqs6ATxhbaGKqrWEUJWU4v5-UolfXSw2V8nDubcuMrlAmaSBNr3S7LWeuhGgel5y1MPS6vhCRCBazeD7DSJ4I=\",\"title\": + \"worldpopulationreview.com\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGfdG1Uq2PdcIHwRnICAJqBh8wWKpVtBrIVr7ig3_aNbWzVqamPpxm5Kib9_hOxknN0Xoe66YMwu0WiN-4l4Up9gr_Iw_Y-WPqMqsnksqfatdHZHroOFlWfkkYoGdwE\",\"title\": + \"wikipedia.org\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFuWG1WMHnQuoc2rX9c2Jo2opi55PqVI66molQHGoAgZV9DNn6oFfrl9SgLz9IIa9kj5twpLTMqkz300Z30rOZMNCZrAb-BfdAMnweWdCLuGeaMm6AMTF3rD8ixSBoEB4OhouMfUPENOSA7tXN1tQ==\",\"title\": + \"wikipedia.org\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGS65S0sdCX8mYlRS3KS3Di6RcnhdjegOUclCvfIZ3_uw3BBQJZDM_2aa7bgUKxVkbm7-yDU5zv_l3_c7QbdVidKQgmHhOSMIhmBfBhlwJcffn_M6A8h7DPVLEQJFIzxbcOTxia3epWFBRs3DyyIW2EHhyWPBQLaUUnx-MNVYoNy6hJwKq_jF2dMRDf\",\"title\": + \"tokyo.lg.jp\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFekYjeE5966dejaewp4WOCNR48gmf-FLWz8fsBTvFqjdnd0s34MRHz38XGbblBJdarG5BNoJKKNqAgu4sItx9gz1pfbfu9INKc_bOIdfudgQY_Jgq9ihkYo4CP4wbR40lee7-HZ6Aa\",\"title\": + \"nippon.com\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGbvzHxKdAJV5Kj_xCJ9VA5E1Dg43_KE-AizwWa9kveKYRApiQ7ho7jftYVYK0PYBwIDM9dTCXXiCKu2fGPD0Sf1zPPbnPedPxRd8PHsCsCTYLqhye-zbLd2cLQdY8DBaSU9JNy1qfF1HW-Xt14jUjggpIChshqLLwnZQeSJf1Cz5UCLg==\",\"title\": + \"macrotrends.net\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQHyxq7KaNYntps8F4S54cPuaEXhgNIQQhSaQOfL_220F1-tpH5QGtj4CRqiO5wttqUneJBmpK9GzyeMQ1pUfRqsfAWn6rC_nfBNPtXkOBfpfalox7rOeiMqGA1cJS_Axyv3OuLLG5cJ1VfRdr-0ItpjQdheLIBonovUhp9cyfdaLaNNQvAD\",\"title\": + \"wikipedia.org\"}}],\"groundingSupports\": [{\"segment\": {\"endIndex\": + 113,\"text\": \"It's complicated to give a single \\\"current\\\" population + for Tokyo, as it depends on what area is being referred to\"},\"groundingChunkIndices\": + [0],\"confidenceScores\": [0.45066386]},{\"segment\": {\"startIndex\": 194,\"endIndex\": + 286,\"text\": \"* **Tokyo (Metropolis):** As of 2023, the population of + the city proper is over 14 million\"},\"groundingChunkIndices\": [1],\"confidenceScores\": + [0.9723913]},{\"segment\": {\"startIndex\": 288,\"endIndex\": 389,\"text\": + \"In 2025, the total population of Tokyo was 14,195,730, representing 11.5% + of Japan's total population\"},\"groundingChunkIndices\": [2],\"confidenceScores\": + [0.9499322]},{\"segment\": {\"startIndex\": 391,\"endIndex\": 459,\"text\": + \"A recent study estimates Tokyo's population in 2026 to be 14,270,748\"},\"groundingChunkIndices\": + [2],\"confidenceScores\": [0.521146]},{\"segment\": {\"startIndex\": 461,\"endIndex\": + 558,\"text\": \"* **Greater Tokyo Area:** The Greater Tokyo Area has a population + of approximately 37.8 million\"},\"groundingChunkIndices\": [3],\"confidenceScores\": + [0.89847785]},{\"segment\": {\"startIndex\": 560,\"endIndex\": 621,\"text\": + \"The population of the Tokyo metropolitan area is 33.4 million\"},\"groundingChunkIndices\": + [4],\"confidenceScores\": [0.96255696]},{\"segment\": {\"startIndex\": 623,\"endIndex\": + 666,\"text\": \"In 2024, this area had 41 million residents\"},\"groundingChunkIndices\": + [1],\"confidenceScores\": [0.9837]},{\"segment\": {\"startIndex\": 668,\"endIndex\": + 785,\"text\": \"The current metro area population of Tokyo in 2026 is estimated + to be 36,954,000, which is a 0.22% decrease from 2025\"},\"groundingChunkIndices\": + [5,6],\"confidenceScores\": [0.88806933,0.5769958]}],\"retrievalMetadata\": + {},\"webSearchQueries\": [\"current population of Tokyo, Japan\",\"Tokyo population + 2026\"]}}],\"usageMetadata\": {\"promptTokenCount\": 10,\"candidatesTokenCount\": + 256,\"totalTokenCount\": 266,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": + 10}],\"candidatesTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": + 256}],\"serviceTier\": \"standard\"},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": + \"V-kBapmyPJqK6MEP07rxmQk\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -159,11 +182,11 @@ interactions: Content-Type: - text/event-stream Date: - - Thu, 26 Mar 2026 17:48:35 GMT + - Mon, 11 May 2026 14:36:09 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1976 + - gfet4t7; dur=1591 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_google_search_grounding[sync].yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_google_search_grounding[sync].yaml index f0e9ae1c..455a85c5 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_google_search_grounding[sync].yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_google_search_grounding[sync].yaml @@ -17,82 +17,145 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.68.0 gl-python/3.13.3 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.68.0 gl-python/3.13.3 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent response: body: - string: !!binary | - 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 - u2H28d1xd2E0W3pizHG9UXv3+O4/RPR8Xn8iAAA= + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"text\": \"The population of Tokyo depends on + whether you are referring to the Tokyo Metropolis (prefecture), the 23 special + wards, or the Greater Tokyo Area (metropolitan area). Here are some recent + population estimates:\\n\\n* **Tokyo Metropolis (Prefecture):** As of 2025, + the total population of the Tokyo Metropolis is estimated to be 14,195,730. + A different source states the population was 14,085,890 in 2023.\\n* **23 + Special Wards (City Proper):** In 2016, the 23 wards that make up the city + of Tokyo had an approximate population of 9,262,046. Another source estimates + Tokyo's 2026 population to be 10,316,210.\\n* **Greater Tokyo Area (Metropolitan + Area):** The most recent estimate for 2026 is 36,954,000.\\n\"\n }\n + \ ],\n \"role\": \"model\"\n },\n \"finishReason\": + \"STOP\",\n \"groundingMetadata\": {\n \"searchEntryPoint\": {\n + \ \"renderedContent\": \"\\u003cstyle\\u003e\\n.container {\\n align-items: + center;\\n border-radius: 8px;\\n display: flex;\\n font-family: Google + Sans, Roboto, sans-serif;\\n font-size: 14px;\\n line-height: 20px;\\n padding: + 8px 12px;\\n}\\n.chip {\\n display: inline-block;\\n border: solid 1px;\\n + \ border-radius: 16px;\\n min-width: 14px;\\n padding: 5px 16px;\\n text-align: + center;\\n user-select: none;\\n margin: 0 8px;\\n -webkit-tap-highlight-color: + transparent;\\n}\\n.carousel {\\n overflow: auto;\\n scrollbar-width: none;\\n + \ white-space: nowrap;\\n margin-right: -12px;\\n}\\n.headline {\\n display: + flex;\\n margin-right: 4px;\\n}\\n.gradient-container {\\n position: relative;\\n}\\n.gradient + {\\n position: absolute;\\n transform: translate(3px, -9px);\\n height: + 36px;\\n width: 9px;\\n}\\n@media (prefers-color-scheme: light) {\\n .container + {\\n background-color: #fafafa;\\n box-shadow: 0 0 0 1px #0000000f;\\n + \ }\\n .headline-label {\\n color: #1f1f1f;\\n }\\n .chip {\\n background-color: + #ffffff;\\n border-color: #d2d2d2;\\n color: #5e5e5e;\\n text-decoration: + none;\\n }\\n .chip:hover {\\n background-color: #f2f2f2;\\n }\\n .chip:focus + {\\n background-color: #f2f2f2;\\n }\\n .chip:active {\\n background-color: + #d8d8d8;\\n border-color: #b6b6b6;\\n }\\n .logo-dark {\\n display: + none;\\n }\\n .gradient {\\n background: linear-gradient(90deg, #fafafa + 15%, #fafafa00 100%);\\n }\\n}\\n@media (prefers-color-scheme: dark) {\\n + \ .container {\\n background-color: #1f1f1f;\\n box-shadow: 0 0 0 1px + #ffffff26;\\n }\\n .headline-label {\\n color: #fff;\\n }\\n .chip + {\\n background-color: #2c2c2c;\\n border-color: #3c4043;\\n color: + #fff;\\n text-decoration: none;\\n }\\n .chip:hover {\\n background-color: + #353536;\\n }\\n .chip:focus {\\n background-color: #353536;\\n }\\n + \ .chip:active {\\n background-color: #464849;\\n border-color: #53575b;\\n + \ }\\n .logo-light {\\n display: none;\\n }\\n .gradient {\\n background: + linear-gradient(90deg, #1f1f1f 15%, #1f1f1f00 100%);\\n }\\n}\\n\\u003c/style\\u003e\\n\\u003cdiv + class=\\\"container\\\"\\u003e\\n \\u003cdiv class=\\\"headline\\\"\\u003e\\n + \ \\u003csvg class=\\\"logo-light\\\" width=\\\"18\\\" height=\\\"18\\\" + viewBox=\\\"9 9 35 35\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"\\u003e\\n + \ \\u003cpath fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M42.8622 + 27.0064C42.8622 25.7839 42.7525 24.6084 42.5487 23.4799H26.3109V30.1568H35.5897C35.1821 + 32.3041 33.9596 34.1222 32.1258 35.3448V39.6864H37.7213C40.9814 36.677 42.8622 + 32.2571 42.8622 27.0064V27.0064Z\\\" fill=\\\"#4285F4\\\"/\\u003e\\n \\u003cpath + fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M26.3109 43.8555C30.9659 + 43.8555 34.8687 42.3195 37.7213 39.6863L32.1258 35.3447C30.5898 36.3792 28.6306 + 37.0061 26.3109 37.0061C21.8282 37.0061 18.0195 33.9811 16.6559 29.906H10.9194V34.3573C13.7563 + 39.9841 19.5712 43.8555 26.3109 43.8555V43.8555Z\\\" fill=\\\"#34A853\\\"/\\u003e\\n + \ \\u003cpath fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M16.6559 + 29.8904C16.3111 28.8559 16.1074 27.7588 16.1074 26.6146C16.1074 25.4704 16.3111 + 24.3733 16.6559 23.3388V18.8875H10.9194C9.74388 21.2072 9.06992 23.8247 9.06992 + 26.6146C9.06992 29.4045 9.74388 32.022 10.9194 34.3417L15.3864 30.8621L16.6559 + 29.8904V29.8904Z\\\" fill=\\\"#FBBC05\\\"/\\u003e\\n \\u003cpath fill-rule=\\\"evenodd\\\" + clip-rule=\\\"evenodd\\\" d=\\\"M26.3109 16.2386C28.85 16.2386 31.107 17.1164 + 32.9095 18.8091L37.8466 13.8719C34.853 11.082 30.9659 9.3736 26.3109 9.3736C19.5712 + 9.3736 13.7563 13.245 10.9194 18.8875L16.6559 23.3388C18.0195 19.2636 21.8282 + 16.2386 26.3109 16.2386V16.2386Z\\\" fill=\\\"#EA4335\\\"/\\u003e\\n \\u003c/svg\\u003e\\n + \ \\u003csvg class=\\\"logo-dark\\\" width=\\\"18\\\" height=\\\"18\\\" + viewBox=\\\"0 0 48 48\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"\\u003e\\n + \ \\u003ccircle cx=\\\"24\\\" cy=\\\"23\\\" fill=\\\"#FFF\\\" r=\\\"22\\\"/\\u003e\\n + \ \\u003cpath d=\\\"M33.76 34.26c2.75-2.56 4.49-6.37 4.49-11.26 0-.89-.08-1.84-.29-3H24.01v5.99h8.03c-.4 + 2.02-1.5 3.56-3.07 4.56v.75l3.91 2.97h.88z\\\" fill=\\\"#4285F4\\\"/\\u003e\\n + \ \\u003cpath d=\\\"M15.58 25.77A8.845 8.845 0 0 0 24 31.86c1.92 0 3.62-.46 + 4.97-1.31l4.79 3.71C31.14 36.7 27.65 38 24 38c-5.93 0-11.01-3.4-13.45-8.36l.17-1.01 + 4.06-2.85h.8z\\\" fill=\\\"#34A853\\\"/\\u003e\\n \\u003cpath d=\\\"M15.59 + 20.21a8.864 8.864 0 0 0 0 5.58l-5.03 3.86c-.98-2-1.53-4.25-1.53-6.64 0-2.39.55-4.64 + 1.53-6.64l1-.22 3.81 2.98.22 1.08z\\\" fill=\\\"#FBBC05\\\"/\\u003e\\n \\u003cpath + d=\\\"M24 14.14c2.11 0 4.02.75 5.52 1.98l4.36-4.36C31.22 9.43 27.81 8 24 8c-5.93 + 0-11.01 3.4-13.45 8.36l5.03 3.85A8.86 8.86 0 0 1 24 14.14z\\\" fill=\\\"#EA4335\\\"/\\u003e\\n + \ \\u003c/svg\\u003e\\n \\u003cdiv class=\\\"gradient-container\\\"\\u003e\\u003cdiv + class=\\\"gradient\\\"\\u003e\\u003c/div\\u003e\\u003c/div\\u003e\\n \\u003c/div\\u003e\\n + \ \\u003cdiv class=\\\"carousel\\\"\\u003e\\n \\u003ca class=\\\"chip\\\" + href=\\\"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQEFk7fH5eFaPPUtJ6_ksXFnYYQI9_BUsemx44d5aimk88_d9wCjX4qESEh39c-Ep_jt6tMc2V4SjvcMZ4CTZAfje5dS-y5xZzbxQWQJLCZZbGoIEliX4Cmup7c_xrTpU7-waGGxJN2JGboTCKKwF-I5CELzvibMRXe_3gYTLEUu6kkrFjIARs4J2A3zmxpr_oCdUJkMQMk_p7LF3omqa8yUmMbD3Zs=\\\"\\u003ecurrent + population of Tokyo, Japan\\u003c/a\\u003e\\n \\u003c/div\\u003e\\n\\u003c/div\\u003e\\n\"\n + \ },\n \"groundingChunks\": [\n {\n \"web\": + {\n \"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQE_578iQ-zSGKvlY6-pWSY_WenzuzyrivTyi5xoFSe3ujyKj_6U7MnyvfHik-d7Z_sgYLj9Mxojgm3Pqo-E9p-zbU3Pw9jTct0SofrqIMRdVy7fcgdgSNGbIoxVdHxUdZD7JgrhyUZ5lPpk259bvQ==\",\n + \ \"title\": \"wikipedia.org\"\n }\n },\n + \ {\n \"web\": {\n \"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQF3FFzn4G3UBJbcJw83R_Eg6dexaoE-D49n6qIacpLqEaJu2GW0i8mDCb-PSDFtEVFdvryoWcxsAIEOMJD6l8Rmou7Pv9666YNBUoiclwRiKDscp0QIM6dyfBw0Xa4Pwq3Z5nRzF7Tdo50=\",\n + \ \"title\": \"datacommons.org\"\n }\n },\n + \ {\n \"web\": {\n \"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFGtzaaTsl3KMpFjMDOUtV_OITsCn_zsV9vmEVdEHz5Vs7_7vGFowYVnHo8wGV5W6klIU2ueHpUb9zKM_qx-0idflRb-yqCMUmLyhL7XmckqcHoUH9MdJ0HjWWdaN5uH4Vvn8U09bxaPnSHvKcLSsY=\",\n + \ \"title\": \"worldpopulationreview.com\"\n }\n },\n + \ {\n \"web\": {\n \"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQH3SC6Ge8WFVWcefVD-BDmjlLIFBMtMn0NObMjMJTqveSWV6JdOpekGZ0kgjOcQHr4gBnOT3PSDqS31lcWFrn8s26LOgEgFAfAbHb9AHXVKIPQkfKVbCflAsD_T9SfmyLh2hUXxvXiOpuEAIAhlpdA7MGggVZ36vTFTITgJhPDL-oGyew==\",\n + \ \"title\": \"macrotrends.net\"\n }\n }\n + \ ],\n \"groundingSupports\": [\n {\n \"segment\": + {\n \"startIndex\": 212,\n \"endIndex\": 337,\n + \ \"text\": \"* **Tokyo Metropolis (Prefecture):** As of 2025, + the total population of the Tokyo Metropolis is estimated to be 14,195,730\"\n + \ },\n \"groundingChunkIndices\": [\n 0\n + \ ],\n \"confidenceScores\": [\n 0.65311444\n + \ ]\n },\n {\n \"segment\": {\n \"startIndex\": + 339,\n \"endIndex\": 402,\n \"text\": \"A different + source states the population was 14,085,890 in 2023\"\n },\n \"groundingChunkIndices\": + [\n 1\n ],\n \"confidenceScores\": [\n + \ 0.09067447\n ]\n },\n {\n \"segment\": + {\n \"startIndex\": 404,\n \"endIndex\": 539,\n + \ \"text\": \"* **23 Special Wards (City Proper):** In 2016, + the 23 wards that make up the city of Tokyo had an approximate population + of 9,262,046\"\n },\n \"groundingChunkIndices\": [\n + \ 2\n ],\n \"confidenceScores\": [\n 0.36165377\n + \ ]\n },\n {\n \"segment\": {\n \"startIndex\": + 541,\n \"endIndex\": 606,\n \"text\": \"Another + source estimates Tokyo's 2026 population to be 10,316,210\"\n },\n + \ \"groundingChunkIndices\": [\n 2\n ],\n + \ \"confidenceScores\": [\n 0.008041958\n ]\n + \ },\n {\n \"segment\": {\n \"startIndex\": + 608,\n \"endIndex\": 703,\n \"text\": \"* **Greater + Tokyo Area (Metropolitan Area):** The most recent estimate for 2026 is 36,954,000\"\n + \ },\n \"groundingChunkIndices\": [\n 3\n + \ ],\n \"confidenceScores\": [\n 0.46499386\n + \ ]\n }\n ],\n \"retrievalMetadata\": {},\n + \ \"webSearchQueries\": [\n \"current population of Tokyo, + Japan\"\n ]\n }\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": + 10,\n \"candidatesTokenCount\": 221,\n \"totalTokenCount\": 231,\n \"promptTokensDetails\": + [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 10\n + \ }\n ],\n \"candidatesTokensDetails\": [\n {\n \"modality\": + \"TEXT\",\n \"tokenCount\": 221\n }\n ],\n \"serviceTier\": + \"standard\"\n },\n \"modelVersion\": \"gemini-2.0-flash-001\",\n \"responseId\": + \"VOkBavHFLrmM_PUP_ommgAg\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 - Content-Encoding: - - gzip Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 26 Mar 2026 17:48:33 GMT + - Mon, 11 May 2026 14:36:07 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=2809 + - gfet4t7; dur=2983 Transfer-Encoding: - chunked Vary: @@ -107,6 +170,8 @@ interactions: - standard X-XSS-Protection: - '0' + content-length: + - '10197' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_google_search_grounding_async[async].yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_google_search_grounding_async[async].yaml index 5e28fde4..f8b7106f 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_google_search_grounding_async[async].yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_google_search_grounding_async[async].yaml @@ -17,90 +17,165 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.68.0 gl-python/3.13.3 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.68.0 gl-python/3.13.3 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:generateContent response: body: - string: !!binary | - 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 - UEopAAA= + string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": + [\n {\n \"text\": \"It's complicated to pinpoint a single + \\\"current\\\" population figure for Tokyo due to different definitions of + what constitutes \\\"Tokyo\\\". Here's a breakdown of different population + estimates for Tokyo as of 2026:\\n\\n* **Tokyo Metropolis (Prefecture):** + Approximately 14,270,748. In 2025, the population was 14,195,730.\\n* **23 + wards:** In 2016, the 23 wards that make up the city of Tokyo had an approximate + population of 9,262,046.\\n* **Greater Tokyo Metropolitan Area:** Approximately + 36,954,000. This includes Tokyo and the surrounding prefectures. The United + Nations Population Division estimates the population to be 33.4 million, ranking + it third worldwide.\\n* **Future Prediction:** One study estimates that + the population of Tokyo will be about 10,316,210 in 2026. Another study predicts + the population will decrease to 7.13 million by 2100.\"\n }\n ],\n + \ \"role\": \"model\"\n },\n \"finishReason\": \"STOP\",\n + \ \"groundingMetadata\": {\n \"searchEntryPoint\": {\n \"renderedContent\": + \"\\u003cstyle\\u003e\\n.container {\\n align-items: center;\\n border-radius: + 8px;\\n display: flex;\\n font-family: Google Sans, Roboto, sans-serif;\\n + \ font-size: 14px;\\n line-height: 20px;\\n padding: 8px 12px;\\n}\\n.chip + {\\n display: inline-block;\\n border: solid 1px;\\n border-radius: 16px;\\n + \ min-width: 14px;\\n padding: 5px 16px;\\n text-align: center;\\n user-select: + none;\\n margin: 0 8px;\\n -webkit-tap-highlight-color: transparent;\\n}\\n.carousel + {\\n overflow: auto;\\n scrollbar-width: none;\\n white-space: nowrap;\\n + \ margin-right: -12px;\\n}\\n.headline {\\n display: flex;\\n margin-right: + 4px;\\n}\\n.gradient-container {\\n position: relative;\\n}\\n.gradient {\\n + \ position: absolute;\\n transform: translate(3px, -9px);\\n height: 36px;\\n + \ width: 9px;\\n}\\n@media (prefers-color-scheme: light) {\\n .container + {\\n background-color: #fafafa;\\n box-shadow: 0 0 0 1px #0000000f;\\n + \ }\\n .headline-label {\\n color: #1f1f1f;\\n }\\n .chip {\\n background-color: + #ffffff;\\n border-color: #d2d2d2;\\n color: #5e5e5e;\\n text-decoration: + none;\\n }\\n .chip:hover {\\n background-color: #f2f2f2;\\n }\\n .chip:focus + {\\n background-color: #f2f2f2;\\n }\\n .chip:active {\\n background-color: + #d8d8d8;\\n border-color: #b6b6b6;\\n }\\n .logo-dark {\\n display: + none;\\n }\\n .gradient {\\n background: linear-gradient(90deg, #fafafa + 15%, #fafafa00 100%);\\n }\\n}\\n@media (prefers-color-scheme: dark) {\\n + \ .container {\\n background-color: #1f1f1f;\\n box-shadow: 0 0 0 1px + #ffffff26;\\n }\\n .headline-label {\\n color: #fff;\\n }\\n .chip + {\\n background-color: #2c2c2c;\\n border-color: #3c4043;\\n color: + #fff;\\n text-decoration: none;\\n }\\n .chip:hover {\\n background-color: + #353536;\\n }\\n .chip:focus {\\n background-color: #353536;\\n }\\n + \ .chip:active {\\n background-color: #464849;\\n border-color: #53575b;\\n + \ }\\n .logo-light {\\n display: none;\\n }\\n .gradient {\\n background: + linear-gradient(90deg, #1f1f1f 15%, #1f1f1f00 100%);\\n }\\n}\\n\\u003c/style\\u003e\\n\\u003cdiv + class=\\\"container\\\"\\u003e\\n \\u003cdiv class=\\\"headline\\\"\\u003e\\n + \ \\u003csvg class=\\\"logo-light\\\" width=\\\"18\\\" height=\\\"18\\\" + viewBox=\\\"9 9 35 35\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"\\u003e\\n + \ \\u003cpath fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M42.8622 + 27.0064C42.8622 25.7839 42.7525 24.6084 42.5487 23.4799H26.3109V30.1568H35.5897C35.1821 + 32.3041 33.9596 34.1222 32.1258 35.3448V39.6864H37.7213C40.9814 36.677 42.8622 + 32.2571 42.8622 27.0064V27.0064Z\\\" fill=\\\"#4285F4\\\"/\\u003e\\n \\u003cpath + fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M26.3109 43.8555C30.9659 + 43.8555 34.8687 42.3195 37.7213 39.6863L32.1258 35.3447C30.5898 36.3792 28.6306 + 37.0061 26.3109 37.0061C21.8282 37.0061 18.0195 33.9811 16.6559 29.906H10.9194V34.3573C13.7563 + 39.9841 19.5712 43.8555 26.3109 43.8555V43.8555Z\\\" fill=\\\"#34A853\\\"/\\u003e\\n + \ \\u003cpath fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M16.6559 + 29.8904C16.3111 28.8559 16.1074 27.7588 16.1074 26.6146C16.1074 25.4704 16.3111 + 24.3733 16.6559 23.3388V18.8875H10.9194C9.74388 21.2072 9.06992 23.8247 9.06992 + 26.6146C9.06992 29.4045 9.74388 32.022 10.9194 34.3417L15.3864 30.8621L16.6559 + 29.8904V29.8904Z\\\" fill=\\\"#FBBC05\\\"/\\u003e\\n \\u003cpath fill-rule=\\\"evenodd\\\" + clip-rule=\\\"evenodd\\\" d=\\\"M26.3109 16.2386C28.85 16.2386 31.107 17.1164 + 32.9095 18.8091L37.8466 13.8719C34.853 11.082 30.9659 9.3736 26.3109 9.3736C19.5712 + 9.3736 13.7563 13.245 10.9194 18.8875L16.6559 23.3388C18.0195 19.2636 21.8282 + 16.2386 26.3109 16.2386V16.2386Z\\\" fill=\\\"#EA4335\\\"/\\u003e\\n \\u003c/svg\\u003e\\n + \ \\u003csvg class=\\\"logo-dark\\\" width=\\\"18\\\" height=\\\"18\\\" + viewBox=\\\"0 0 48 48\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"\\u003e\\n + \ \\u003ccircle cx=\\\"24\\\" cy=\\\"23\\\" fill=\\\"#FFF\\\" r=\\\"22\\\"/\\u003e\\n + \ \\u003cpath d=\\\"M33.76 34.26c2.75-2.56 4.49-6.37 4.49-11.26 0-.89-.08-1.84-.29-3H24.01v5.99h8.03c-.4 + 2.02-1.5 3.56-3.07 4.56v.75l3.91 2.97h.88z\\\" fill=\\\"#4285F4\\\"/\\u003e\\n + \ \\u003cpath d=\\\"M15.58 25.77A8.845 8.845 0 0 0 24 31.86c1.92 0 3.62-.46 + 4.97-1.31l4.79 3.71C31.14 36.7 27.65 38 24 38c-5.93 0-11.01-3.4-13.45-8.36l.17-1.01 + 4.06-2.85h.8z\\\" fill=\\\"#34A853\\\"/\\u003e\\n \\u003cpath d=\\\"M15.59 + 20.21a8.864 8.864 0 0 0 0 5.58l-5.03 3.86c-.98-2-1.53-4.25-1.53-6.64 0-2.39.55-4.64 + 1.53-6.64l1-.22 3.81 2.98.22 1.08z\\\" fill=\\\"#FBBC05\\\"/\\u003e\\n \\u003cpath + d=\\\"M24 14.14c2.11 0 4.02.75 5.52 1.98l4.36-4.36C31.22 9.43 27.81 8 24 8c-5.93 + 0-11.01 3.4-13.45 8.36l5.03 3.85A8.86 8.86 0 0 1 24 14.14z\\\" fill=\\\"#EA4335\\\"/\\u003e\\n + \ \\u003c/svg\\u003e\\n \\u003cdiv class=\\\"gradient-container\\\"\\u003e\\u003cdiv + class=\\\"gradient\\\"\\u003e\\u003c/div\\u003e\\u003c/div\\u003e\\n \\u003c/div\\u003e\\n + \ \\u003cdiv class=\\\"carousel\\\"\\u003e\\n \\u003ca class=\\\"chip\\\" + href=\\\"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQG4k4nwjbYalnuaEWXS61JTqZdLmjDyYOhcBLnUNuZRwNX63TZgkRe5sfT2ntljHEoNZj0jhMz5S6YoB5kGv31VD3tUT92YR-jYKQnRgoynP4CaS8VF8PGC_FhgB6rmQPrHgMJEO36NpqNbPbrwGHw5i8sdEHFy-zEUUmWKQxIUm3iG-CZ29B8YZNZ9PU_TNA95xfbNjgiPWlQF9ZZq2nfbpkkOM2c=\\\"\\u003ecurrent + population of Tokyo, Japan\\u003c/a\\u003e\\n \\u003ca class=\\\"chip\\\" + href=\\\"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQEX9EpC5EAJ2gcsYiosVZTKIXBE8ZuIBZ9PJRd_yCi-c3k-RPhPpoFO_jl6_nK2_GCsQ-TdqOfqZkrtg4-oduzJnNTVaKeqJuEMdsBHq3dS4LALfAKcz5smgvfw8jG7DfbJndbRYA3u8PrVJXcepYl_cILSqMTy3hxiWejHnAwpHBs5KfgCn4tRqXts9Mi_aChQRHtejr-2gdO6MQ==\\\"\\u003epopulation + of Tokyo 2026\\u003c/a\\u003e\\n \\u003c/div\\u003e\\n\\u003c/div\\u003e\\n\"\n + \ },\n \"groundingChunks\": [\n {\n \"web\": + {\n \"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFSoURFAfNDE6ySQO5bn65MIy2a6RtdrkYbvdZ5aWiVpTTgdYI49I4EVEpfo_ewtyH90jU6DNB530HkGl7BM8TxHknMXW0l__OUqK0Abx4yAIaoeVUSxO7kMoRBlv3wt7F4fS1yM22eyi7jLMEANg==\",\n + \ \"title\": \"wikipedia.org\"\n }\n },\n + \ {\n \"web\": {\n \"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGwjk7pj0EXW_tX4c-WQRnVwx95x8aJD2rCc5pBeULhlz_HMM5ZBl2asnG6ctnJLdQxD5k0W51Zh1II4Dv-Mh-x47HOHNhYAOlc-OC074dDHxRDBz1P-e7cneWejlgV7NLwpzpFFKJDNJj3Uxtggrg=\",\n + \ \"title\": \"worldpopulationreview.com\"\n }\n },\n + \ {\n \"web\": {\n \"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFThnV30kk1s_zMi34l4upZgQGFro9bDtJPOtsQ0eJ7lyxKw7k1N_G-VGEyAJtdiQdp6yVWYcWv-aTmfQ9VVH4xSrqnagaTiXX9O5IYbCb4P63Rh5n7yl72e-iTC9hOah5uPT5rf2ZJx-OTvcsLF1GBJF4B-gY0ZXNVLsiSxkF6iqhHjg==\",\n + \ \"title\": \"macrotrends.net\"\n }\n },\n + \ {\n \"web\": {\n \"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQH1ochjaSmKne1HaVCVZRcbiMiJrvgARgVpp3A59YvuAYA3wspTXlOgKo69bR6v7nHXUNZC1A_VicO8uSdT1qD6sAEz3Gn6eGIuZ2gMfxW6bFnQADEF5ZS88IvS7vmD\",\n + \ \"title\": \"wikipedia.org\"\n }\n },\n + \ {\n \"web\": {\n \"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQHN2jT6JxL37-FiBDpeu0tiFBt-eCm4nwtkTjokpA7A6W9zGt9WdatWArY8-FasynmFDwO_LxT2nrtMa_nqQ8n2NdRH8io837DnyyW15VPbU7AYZhcSGAOa34dGUvsgmQyyW2RCguTU\",\n + \ \"title\": \"nippon.com\"\n }\n }\n ],\n + \ \"groundingSupports\": [\n {\n \"segment\": {\n + \ \"startIndex\": 210,\n \"endIndex\": 273,\n \"text\": + \"* **Tokyo Metropolis (Prefecture):** Approximately 14,270,748\"\n },\n + \ \"groundingChunkIndices\": [\n 0\n ],\n + \ \"confidenceScores\": [\n 0.7306271\n ]\n + \ },\n {\n \"segment\": {\n \"startIndex\": + 275,\n \"endIndex\": 313,\n \"text\": \"In 2025, + the population was 14,195,730\"\n },\n \"groundingChunkIndices\": + [\n 0\n ],\n \"confidenceScores\": [\n + \ 0.9795772\n ]\n },\n {\n \"segment\": + {\n \"startIndex\": 315,\n \"endIndex\": 428,\n + \ \"text\": \"* **23 wards:** In 2016, the 23 wards that make + up the city of Tokyo had an approximate population of 9,262,046\"\n },\n + \ \"groundingChunkIndices\": [\n 1\n ],\n + \ \"confidenceScores\": [\n 0.07217566\n ]\n + \ },\n {\n \"segment\": {\n \"startIndex\": + 430,\n \"endIndex\": 495,\n \"text\": \"* **Greater + Tokyo Metropolitan Area:** Approximately 36,954,000\"\n },\n \"groundingChunkIndices\": + [\n 2,\n 1\n ],\n \"confidenceScores\": + [\n 0.4667198,\n 0.083041415\n ]\n },\n + \ {\n \"segment\": {\n \"startIndex\": 497,\n + \ \"endIndex\": 548,\n \"text\": \"This includes + Tokyo and the surrounding prefectures\"\n },\n \"groundingChunkIndices\": + [\n 3\n ],\n \"confidenceScores\": [\n + \ 0.82816356\n ]\n },\n {\n \"segment\": + {\n \"startIndex\": 550,\n \"endIndex\": 660,\n + \ \"text\": \"The United Nations Population Division estimates + the population to be 33.4 million, ranking it third worldwide\"\n },\n + \ \"groundingChunkIndices\": [\n 4\n ],\n + \ \"confidenceScores\": [\n 0.10783782\n ]\n + \ },\n {\n \"segment\": {\n \"startIndex\": + 662,\n \"endIndex\": 770,\n \"text\": \"* **Future + Prediction:** One study estimates that the population of Tokyo will be about + 10,316,210 in 2026\"\n },\n \"groundingChunkIndices\": + [\n 1\n ],\n \"confidenceScores\": [\n + \ 0.9058348\n ]\n },\n {\n \"segment\": + {\n \"startIndex\": 772,\n \"endIndex\": 847,\n + \ \"text\": \"Another study predicts the population will decrease + to 7.13 million by 2100\"\n },\n \"groundingChunkIndices\": + [\n 1\n ],\n \"confidenceScores\": [\n + \ 0.054145508\n ]\n }\n ],\n \"retrievalMetadata\": + {},\n \"webSearchQueries\": [\n \"current population of Tokyo, + Japan\",\n \"population of Tokyo 2026\"\n ]\n }\n }\n + \ ],\n \"usageMetadata\": {\n \"promptTokenCount\": 10,\n \"candidatesTokenCount\": + 243,\n \"totalTokenCount\": 253,\n \"promptTokensDetails\": [\n {\n + \ \"modality\": \"TEXT\",\n \"tokenCount\": 10\n }\n ],\n + \ \"candidatesTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 243\n }\n ],\n \"serviceTier\": \"standard\"\n + \ },\n \"modelVersion\": \"gemini-2.0-flash-001\",\n \"responseId\": \"W-kBavDaGYS2_uMPypu9kQI\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 - Content-Encoding: - - gzip Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 26 Mar 2026 17:48:40 GMT + - Mon, 11 May 2026 14:36:14 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=3192 + - gfet4t7; dur=3158 Transfer-Encoding: - chunked Vary: @@ -115,6 +190,8 @@ interactions: - standard X-XSS-Protection: - '0' + content-length: + - '12124' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_google_search_grounding_async[async_stream].yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_google_search_grounding_async[async_stream].yaml index 9c8da45e..0ce36d3a 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_google_search_grounding_async[async_stream].yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_google_search_grounding_async[async_stream].yaml @@ -17,9 +17,9 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.68.0 gl-python/3.13.3 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.68.0 gl-python/3.13.3 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-001:streamGenerateContent?alt=sse response: @@ -27,73 +27,69 @@ interactions: string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"The population of Tokyo\"}],\"role\": \"model\"},\"groundingMetadata\": {}}],\"usageMetadata\": {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 11}]},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": - \"eHHFaZSOLtjR6MEP7r7FsQg\"}\r\n\r\ndata: {\"candidates\": [{\"content\": - {\"parts\": [{\"text\": \" depends on the area being considered.\\n\\n* **City\"}],\"role\": - \"model\"},\"groundingMetadata\": {}}],\"usageMetadata\": {\"promptTokenCount\": - 11,\"totalTokenCount\": 11,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": - 11}]},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": \"eHHFaZSOLtjR6MEP7r7FsQg\"}\r\n\r\ndata: + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"XukBatmGMuqF6MEPk5ra2QM\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" depends on the + area being measured.\\n\\n* **City\"}],\"role\": \"model\"},\"groundingMetadata\": + {}}],\"usageMetadata\": {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"XukBatmGMuqF6MEPk5ra2QM\"}\r\n\r\ndata: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" Proper (23 wards):** - Approximately 14,195,73\"}],\"role\": \"model\"},\"groundingMetadata\": {}}],\"usageMetadata\": - {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 11}]},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": - \"eHHFaZSOLtjR6MEP7r7FsQg\"}\r\n\r\ndata: {\"candidates\": [{\"content\": - {\"parts\": [{\"text\": \"0 as of 2025. Another source states that the population - in 2023 was 14,0\"}],\"role\": \"model\"},\"groundingMetadata\": {}}],\"usageMetadata\": + Approximately 10,316,21\"}],\"role\": \"model\"},\"groundingMetadata\": {}}],\"usageMetadata\": {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 11}]},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": - \"eHHFaZSOLtjR6MEP7r7FsQg\"}\r\n\r\ndata: {\"candidates\": [{\"content\": - {\"parts\": [{\"text\": \"85,890.\\n* **Greater Tokyo Area (metropolitan - area):** Approximately 36,954,\"}],\"role\": \"model\"},\"groundingMetadata\": + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"XukBatmGMuqF6MEPk5ra2QM\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"0\\n* **Tokyo + Metropolis:** 14,195,730 as of 2025\\n* **Greater Tokyo Area:** Approximately + 37.8 million\\n* **Tokyo Metro Area:** 36\"}],\"role\": \"model\"},\"groundingMetadata\": {}}],\"usageMetadata\": {\"promptTokenCount\": 11,\"totalTokenCount\": 11,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 11}]},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": - \"eHHFaZSOLtjR6MEP7r7FsQg\"}\r\n\r\ndata: {\"candidates\": [{\"content\": - {\"parts\": [{\"text\": \"000 in 2026. This includes Tokyo and parts of six - neighboring prefectures.\\n\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"groundingMetadata\": - {\"searchEntryPoint\": {\"renderedContent\": \"\\u003cstyle\\u003e\\n.container - {\\n align-items: center;\\n border-radius: 8px;\\n display: flex;\\n font-family: - Google Sans, Roboto, sans-serif;\\n font-size: 14px;\\n line-height: 20px;\\n - \ padding: 8px 12px;\\n}\\n.chip {\\n display: inline-block;\\n border: - solid 1px;\\n border-radius: 16px;\\n min-width: 14px;\\n padding: 5px - 16px;\\n text-align: center;\\n user-select: none;\\n margin: 0 8px;\\n - \ -webkit-tap-highlight-color: transparent;\\n}\\n.carousel {\\n overflow: - auto;\\n scrollbar-width: none;\\n white-space: nowrap;\\n margin-right: - -12px;\\n}\\n.headline {\\n display: flex;\\n margin-right: 4px;\\n}\\n.gradient-container - {\\n position: relative;\\n}\\n.gradient {\\n position: absolute;\\n transform: - translate(3px, -9px);\\n height: 36px;\\n width: 9px;\\n}\\n@media (prefers-color-scheme: - light) {\\n .container {\\n background-color: #fafafa;\\n box-shadow: - 0 0 0 1px #0000000f;\\n }\\n .headline-label {\\n color: #1f1f1f;\\n - \ }\\n .chip {\\n background-color: #ffffff;\\n border-color: #d2d2d2;\\n - \ color: #5e5e5e;\\n text-decoration: none;\\n }\\n .chip:hover {\\n - \ background-color: #f2f2f2;\\n }\\n .chip:focus {\\n background-color: - #f2f2f2;\\n }\\n .chip:active {\\n background-color: #d8d8d8;\\n border-color: - #b6b6b6;\\n }\\n .logo-dark {\\n display: none;\\n }\\n .gradient {\\n - \ background: linear-gradient(90deg, #fafafa 15%, #fafafa00 100%);\\n }\\n}\\n@media - (prefers-color-scheme: dark) {\\n .container {\\n background-color: #1f1f1f;\\n - \ box-shadow: 0 0 0 1px #ffffff26;\\n }\\n .headline-label {\\n color: - #fff;\\n }\\n .chip {\\n background-color: #2c2c2c;\\n border-color: - #3c4043;\\n color: #fff;\\n text-decoration: none;\\n }\\n .chip:hover - {\\n background-color: #353536;\\n }\\n .chip:focus {\\n background-color: - #353536;\\n }\\n .chip:active {\\n background-color: #464849;\\n border-color: - #53575b;\\n }\\n .logo-light {\\n display: none;\\n }\\n .gradient - {\\n background: linear-gradient(90deg, #1f1f1f 15%, #1f1f1f00 100%);\\n - \ }\\n}\\n\\u003c/style\\u003e\\n\\u003cdiv class=\\\"container\\\"\\u003e\\n - \ \\u003cdiv class=\\\"headline\\\"\\u003e\\n \\u003csvg class=\\\"logo-light\\\" - width=\\\"18\\\" height=\\\"18\\\" viewBox=\\\"9 9 35 35\\\" fill=\\\"none\\\" - xmlns=\\\"http://www.w3.org/2000/svg\\\"\\u003e\\n \\u003cpath fill-rule=\\\"evenodd\\\" - clip-rule=\\\"evenodd\\\" d=\\\"M42.8622 27.0064C42.8622 25.7839 42.7525 24.6084 - 42.5487 23.4799H26.3109V30.1568H35.5897C35.1821 32.3041 33.9596 34.1222 32.1258 - 35.3448V39.6864H37.7213C40.9814 36.677 42.8622 32.2571 42.8622 27.0064V27.0064Z\\\" - fill=\\\"#4285F4\\\"/\\u003e\\n \\u003cpath fill-rule=\\\"evenodd\\\" - clip-rule=\\\"evenodd\\\" d=\\\"M26.3109 43.8555C30.9659 43.8555 34.8687 42.3195 - 37.7213 39.6863L32.1258 35.3447C30.5898 36.3792 28.6306 37.0061 26.3109 37.0061C21.8282 - 37.0061 18.0195 33.9811 16.6559 29.906H10.9194V34.3573C13.7563 39.9841 19.5712 - 43.8555 26.3109 43.8555V43.8555Z\\\" fill=\\\"#34A853\\\"/\\u003e\\n \\u003cpath - fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M16.6559 29.8904C16.3111 - 28.8559 16.1074 27.7588 16.1074 26.6146C16.1074 25.4704 16.3111 24.3733 16.6559 - 23.3388V18.8875H10.9194C9.74388 21.2072 9.06992 23.8247 9.06992 26.6146C9.06992 - 29.4045 9.74388 32.022 10.9194 34.3417L15.3864 30.8621L16.6559 29.8904V29.8904Z\\\" - fill=\\\"#FBBC05\\\"/\\u003e\\n \\u003cpath fill-rule=\\\"evenodd\\\" + [{\"modality\": \"TEXT\",\"tokenCount\": 11}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"XukBatmGMuqF6MEPk5ra2QM\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \",954,000\\n\"}],\"role\": + \"model\"},\"finishReason\": \"STOP\",\"groundingMetadata\": {\"searchEntryPoint\": + {\"renderedContent\": \"\\u003cstyle\\u003e\\n.container {\\n align-items: + center;\\n border-radius: 8px;\\n display: flex;\\n font-family: Google + Sans, Roboto, sans-serif;\\n font-size: 14px;\\n line-height: 20px;\\n padding: + 8px 12px;\\n}\\n.chip {\\n display: inline-block;\\n border: solid 1px;\\n + \ border-radius: 16px;\\n min-width: 14px;\\n padding: 5px 16px;\\n text-align: + center;\\n user-select: none;\\n margin: 0 8px;\\n -webkit-tap-highlight-color: + transparent;\\n}\\n.carousel {\\n overflow: auto;\\n scrollbar-width: none;\\n + \ white-space: nowrap;\\n margin-right: -12px;\\n}\\n.headline {\\n display: + flex;\\n margin-right: 4px;\\n}\\n.gradient-container {\\n position: relative;\\n}\\n.gradient + {\\n position: absolute;\\n transform: translate(3px, -9px);\\n height: + 36px;\\n width: 9px;\\n}\\n@media (prefers-color-scheme: light) {\\n .container + {\\n background-color: #fafafa;\\n box-shadow: 0 0 0 1px #0000000f;\\n + \ }\\n .headline-label {\\n color: #1f1f1f;\\n }\\n .chip {\\n background-color: + #ffffff;\\n border-color: #d2d2d2;\\n color: #5e5e5e;\\n text-decoration: + none;\\n }\\n .chip:hover {\\n background-color: #f2f2f2;\\n }\\n .chip:focus + {\\n background-color: #f2f2f2;\\n }\\n .chip:active {\\n background-color: + #d8d8d8;\\n border-color: #b6b6b6;\\n }\\n .logo-dark {\\n display: + none;\\n }\\n .gradient {\\n background: linear-gradient(90deg, #fafafa + 15%, #fafafa00 100%);\\n }\\n}\\n@media (prefers-color-scheme: dark) {\\n + \ .container {\\n background-color: #1f1f1f;\\n box-shadow: 0 0 0 1px + #ffffff26;\\n }\\n .headline-label {\\n color: #fff;\\n }\\n .chip + {\\n background-color: #2c2c2c;\\n border-color: #3c4043;\\n color: + #fff;\\n text-decoration: none;\\n }\\n .chip:hover {\\n background-color: + #353536;\\n }\\n .chip:focus {\\n background-color: #353536;\\n }\\n + \ .chip:active {\\n background-color: #464849;\\n border-color: #53575b;\\n + \ }\\n .logo-light {\\n display: none;\\n }\\n .gradient {\\n background: + linear-gradient(90deg, #1f1f1f 15%, #1f1f1f00 100%);\\n }\\n}\\n\\u003c/style\\u003e\\n\\u003cdiv + class=\\\"container\\\"\\u003e\\n \\u003cdiv class=\\\"headline\\\"\\u003e\\n + \ \\u003csvg class=\\\"logo-light\\\" width=\\\"18\\\" height=\\\"18\\\" + viewBox=\\\"9 9 35 35\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"\\u003e\\n + \ \\u003cpath fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M42.8622 + 27.0064C42.8622 25.7839 42.7525 24.6084 42.5487 23.4799H26.3109V30.1568H35.5897C35.1821 + 32.3041 33.9596 34.1222 32.1258 35.3448V39.6864H37.7213C40.9814 36.677 42.8622 + 32.2571 42.8622 27.0064V27.0064Z\\\" fill=\\\"#4285F4\\\"/\\u003e\\n \\u003cpath + fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M26.3109 43.8555C30.9659 + 43.8555 34.8687 42.3195 37.7213 39.6863L32.1258 35.3447C30.5898 36.3792 28.6306 + 37.0061 26.3109 37.0061C21.8282 37.0061 18.0195 33.9811 16.6559 29.906H10.9194V34.3573C13.7563 + 39.9841 19.5712 43.8555 26.3109 43.8555V43.8555Z\\\" fill=\\\"#34A853\\\"/\\u003e\\n + \ \\u003cpath fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M16.6559 + 29.8904C16.3111 28.8559 16.1074 27.7588 16.1074 26.6146C16.1074 25.4704 16.3111 + 24.3733 16.6559 23.3388V18.8875H10.9194C9.74388 21.2072 9.06992 23.8247 9.06992 + 26.6146C9.06992 29.4045 9.74388 32.022 10.9194 34.3417L15.3864 30.8621L16.6559 + 29.8904V29.8904Z\\\" fill=\\\"#FBBC05\\\"/\\u003e\\n \\u003cpath fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M26.3109 16.2386C28.85 16.2386 31.107 17.1164 32.9095 18.8091L37.8466 13.8719C34.853 11.082 30.9659 9.3736 26.3109 9.3736C19.5712 9.3736 13.7563 13.245 10.9194 18.8875L16.6559 23.3388C18.0195 19.2636 21.8282 @@ -113,30 +109,28 @@ interactions: \ \\u003c/svg\\u003e\\n \\u003cdiv class=\\\"gradient-container\\\"\\u003e\\u003cdiv class=\\\"gradient\\\"\\u003e\\u003c/div\\u003e\\u003c/div\\u003e\\n \\u003c/div\\u003e\\n \ \\u003cdiv class=\\\"carousel\\\"\\u003e\\n \\u003ca class=\\\"chip\\\" - href=\\\"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQG5AD7s4bUCvHLsnTSiynpks38yWGTOT5uHjcmOhjMw18VY-uuqBg8gf57l5fBMLvQLWMnydosGuzttAJrT1Ls7STvz1Vr4H16rGWvPkvnWAXxWiPF11m5wgiOZX096rwxKCF-qWIBwCLmGNo0eVQCpaVBrGXsRQ_JP8Ckq5s6XhASgFusqOeEjRmEEsn77m6TF7yN0QWl023TKQ_bVlQt3sBi1tA==\\\"\\u003ecurrent + href=\\\"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFF6tMDU1JynDmrVKQnJ_Lt5xBhkaZcWrtcvDWC--5As-_JupnKXtMuSvZEznMcwFMnDz8GGdsZm-9XvQUmVl4WbyMUkveFoaychsEbzEmzuyzfLPjGbtFWvDQ_ABlqEMcafvD-LSe0GNnEgh8SITkI2rvqytcojP0XA_3A4MyX4roc8p1D7YVuCt1qBzzHvXjLO8S-_EY12nREVZxk6Zt-kaKsVw==\\\"\\u003ecurrent population of Tokyo Japan\\u003c/a\\u003e\\n \\u003c/div\\u003e\\n\\u003c/div\\u003e\\n\"},\"groundingChunks\": - [{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFL0JjVUmLk-ubelRWq1YauvpAkrCBHAgLGcVfwSxhJS6ilnfiU_Hy4A-3h3orvYOLjfIz_ctctXIDOl54wY0KVCqz5mqhRDQk0umjIu9bpXjaA0ELtdA5Xo85IKnT3kS8GBQuHjGYxm9aKcL4NG3A=\",\"title\": - \"worldpopulationreview.com\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQErTaDA36r1xGXViPI9RvbM5fNgHilauxNSNZGpizBntU8pOOjdIgAHL1ssU5zKfjDlyI0Uc5VWdXAaZu4P6FPIoLM8PzrX9y5vhT3Us0vp5TZ8-MoqGd_9GrfSHPrsD_Vq-GOk6HxCcXxJCM-3jA==\",\"title\": - \"wikipedia.org\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGqKSBUPobKEujgizK183STTF8EIkZV71PwJ3LTN7Icyt1Eks9TgKArOMNiIj9SQ-uHxr1MFkRNS90ujEDRSRh1E-dZBQvK-XHMP-m0PTnpmL29DrDiPmoz9chULwY0sRCkz8G76Dv0OCg=\",\"title\": - \"datacommons.org\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFG8zN-AEJUo_8jl8HudYXvIIdJVy_0dEnPJrGIOngbrkbvq_KsmKOAxPDWavIEssFioM6wilyFoRkPIa8pwiroYVUUW2bgDn4rJgxzi8PTowj1wXeVVNFdVKD_Qo7cTL1iY9rJD0cubpb1y_2Sdv9VL5pRfAS8dsTJ6KRLMJcIV5JAww==\",\"title\": - \"macrotrends.net\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQG3i2FzsE9ozw1Q5TkxckCEwGvkySqrbBHecwS-XouZ1KMPoJS0qFpsB0ZPk3yVjra3FiteuWcI-AH1-3aEgIGlW4_DOrWLjF3qMQbtfm2RjxG1ST_hA0yb8ab9JeVM\",\"title\": - \"wikipedia.org\"}}],\"groundingSupports\": [{\"segment\": {\"endIndex\": - 60,\"text\": \"The population of Tokyo depends on the area being considered\"},\"groundingChunkIndices\": - [0],\"confidenceScores\": [0.19867422]},{\"segment\": {\"startIndex\": 63,\"endIndex\": - 130,\"text\": \"* **City Proper (23 wards):** Approximately 14,195,730 as - of 2025\"},\"groundingChunkIndices\": [1],\"confidenceScores\": [0.25712863]},{\"segment\": - {\"startIndex\": 132,\"endIndex\": 196,\"text\": \"Another source states that - the population in 2023 was 14,085,890\"},\"groundingChunkIndices\": [2],\"confidenceScores\": - [0.30303612]},{\"segment\": {\"startIndex\": 198,\"endIndex\": 278,\"text\": - \"* **Greater Tokyo Area (metropolitan area):** Approximately 36,954,000 - in 2026\"},\"groundingChunkIndices\": [3],\"confidenceScores\": [0.45528665]},{\"segment\": - {\"startIndex\": 280,\"endIndex\": 340,\"text\": \"This includes Tokyo and - parts of six neighboring prefectures\"},\"groundingChunkIndices\": [4],\"confidenceScores\": - [0.9465313]}],\"retrievalMetadata\": {},\"webSearchQueries\": [\"current population - of Tokyo Japan\"]}}],\"usageMetadata\": {\"promptTokenCount\": 10,\"candidatesTokenCount\": - 112,\"totalTokenCount\": 122,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": - 10}],\"candidatesTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": - 112}]},\"modelVersion\": \"gemini-2.0-flash-001\",\"responseId\": \"eHHFaZSOLtjR6MEP7r7FsQg\"}\r\n\r\n" + [{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFtOqmTqjYf1tsWdftw7uF4MPX5K8V6u1PkDC7dvbTNQa_9Dj4B9dHpVYZGDinARe1k6OFeTTDV1RIjFPhSAB8mSDSLcV7VbmHang6Nqu6E11k7K25X16Apa_x8gT8X1BKq1ZYhftnx_0zR_D_O0xg=\",\"title\": + \"worldpopulationreview.com\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQG9_es98PdFt65EQ3BwoiKmJppv1M-mu47qkdfIl2-mHiLViejL_X1tlR91om4b8TKNfjgB8td8ADb60zqAVHyLe4mSHRGGf-U7g__GGq3Rz-UFrzZgx1gm6mrOeh5_HQ97SN51Y62ehQNoWk3RUQ==\",\"title\": + \"wikipedia.org\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFet_Fn5xSsAvXCsf6v_30ujZSV_6c_cWlY3J1ZxwnivIrFNY4CALzyDZfFIDZUnG_Yba-spHWO4qoJGpXmmBZh1sb7N3UCB6lJtlVLFUHrg5DEKngsl_Z8U4NWFeupEiCE01SMfvVoJVrsLKBLH8c3jqzHwnLgUs0V0k1yQZOpZOIybpwYyEMPZ6I3\",\"title\": + \"tokyo.lg.jp\"}},{\"web\": {\"uri\": \"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFc7Wkm0YFAScRz5RNZCH-GjspG7yKZW4cY8mVo9cWuTr2SA7u6AFOvS27tFlf0nZv7ufDKxIdh9PuwPYf1yUDZiAB-KJQtCk9NccIAqiNa4iRQpWr4U2prJ0m0qW4lCiZaO8QyI9P3vJBfqGWSwMNCVHq7JbteauFBv_Efm1zVpIgoog==\",\"title\": + \"macrotrends.net\"}}],\"groundingSupports\": [{\"segment\": {\"endIndex\": + 58,\"text\": \"The population of Tokyo depends on the area being measured\"},\"groundingChunkIndices\": + [0],\"confidenceScores\": [0.27818808]},{\"segment\": {\"startIndex\": 61,\"endIndex\": + 117,\"text\": \"* **City Proper (23 wards):** Approximately 10,316,210\"},\"groundingChunkIndices\": + [0],\"confidenceScores\": [0.68600404]},{\"segment\": {\"startIndex\": 118,\"endIndex\": + 165,\"text\": \"* **Tokyo Metropolis:** 14,195,730 as of 2025\"},\"groundingChunkIndices\": + [1],\"confidenceScores\": [0.93088996]},{\"segment\": {\"startIndex\": 166,\"endIndex\": + 220,\"text\": \"* **Greater Tokyo Area:** Approximately 37.8 million\"},\"groundingChunkIndices\": + [2],\"confidenceScores\": [0.8842606]},{\"segment\": {\"startIndex\": 221,\"endIndex\": + 257,\"text\": \"* **Tokyo Metro Area:** 36,954,000\"},\"groundingChunkIndices\": + [3],\"confidenceScores\": [0.88419724]}],\"retrievalMetadata\": {},\"webSearchQueries\": + [\"current population of Tokyo Japan\"]}}],\"usageMetadata\": {\"promptTokenCount\": + 10,\"candidatesTokenCount\": 95,\"totalTokenCount\": 105,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 10}],\"candidatesTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 95}],\"serviceTier\": \"standard\"},\"modelVersion\": + \"gemini-2.0-flash-001\",\"responseId\": \"XukBatmGMuqF6MEPk5ra2QM\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -145,11 +139,11 @@ interactions: Content-Type: - text/event-stream Date: - - Thu, 26 Mar 2026 17:48:42 GMT + - Mon, 11 May 2026 14:36:16 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1772 + - gfet4t7; dur=1523 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_image_input.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_image_input.yaml index 335b3d17..45653b84 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_image_input.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_image_input.yaml @@ -17,34 +17,35 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-lite-preview:generateContent response: body: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": - [\n {\n \"text\": \"This image is red.\",\n \"thoughtSignature\": - \"EjQKMgEMOdbHNYdtfB+vDb0iBO+0aRXfZxMRQmgvaAupE9WKWAcgpOXvkSP+i64mBHSJvLWb\"\n + [\n {\n \"text\": \"The color of the image is red.\",\n + \ \"thoughtSignature\": \"EjQKMgEMOdbHFdmV7I1KK1LpJFY37EklW+X1fqJ2VFbD5cTVUEUMk+twH+gpkkPUnSEFNOn/\"\n \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": \"STOP\",\n \"index\": 0\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": - 1096,\n \"candidatesTokenCount\": 5,\n \"totalTokenCount\": 1101,\n + 1096,\n \"candidatesTokenCount\": 8,\n \"totalTokenCount\": 1104,\n \ \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \ \"tokenCount\": 7\n },\n {\n \"modality\": \"IMAGE\",\n - \ \"tokenCount\": 1089\n }\n ]\n },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n - \ \"responseId\": \"JnPzadupML7i_uMPq4DuaQ\"\n}\n" + \ \"tokenCount\": 1089\n }\n ],\n \"serviceTier\": \"standard\"\n + \ },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n \"responseId\": + \"L-kBaq_uDsK8_uMP54rI0Qs\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:06 GMT + - Mon, 11 May 2026 14:35:27 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1129 + - gfet4t7; dur=693 Transfer-Encoding: - chunked Vary: @@ -60,7 +61,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '725' + - '769' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_image_input_wrapped_in_content.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_image_input_wrapped_in_content.yaml index 77583631..cd5c270a 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_image_input_wrapped_in_content.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_image_input_wrapped_in_content.yaml @@ -17,34 +17,35 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-lite-preview:generateContent response: body: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": - [\n {\n \"text\": \"The image is red.\",\n \"thoughtSignature\": - \"EjQKMgEMOdbHgCbiCzbJd4gEOwEOD2kv8LtFDjIS+RCUmRZVXESrl4UmVWlSLMvabZCaQdYC\"\n + [\n {\n \"text\": \"This image is red.\",\n \"thoughtSignature\": + \"EjQKMgEMOdbHzc7Q7uV710+H/O2NkH8LxsLqnejAfJBic+dV3OgLS3mJkjgWV9GovLWbCQ9i\"\n \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": \"STOP\",\n \"index\": 0\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": 1096,\n \"candidatesTokenCount\": 5,\n \"totalTokenCount\": 1101,\n \ \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \ \"tokenCount\": 7\n },\n {\n \"modality\": \"IMAGE\",\n - \ \"tokenCount\": 1089\n }\n ]\n },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n - \ \"responseId\": \"KXPzaZXpLJ-b_uMP6u--iQg\"\n}\n" + \ \"tokenCount\": 1089\n }\n ],\n \"serviceTier\": \"standard\"\n + \ },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n \"responseId\": + \"MekBasblO9i8_uMPgIzg8AU\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:09 GMT + - Mon, 11 May 2026 14:35:30 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=992 + - gfet4t7; dur=717 Transfer-Encoding: - chunked Vary: @@ -60,7 +61,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '725' + - '757' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_async_round_trip.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_async_round_trip.yaml index 83685a1f..e9338cc9 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_async_round_trip.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_async_round_trip.yaml @@ -6,6 +6,8 @@ interactions: - application/json Accept-Encoding: - gzip, deflate + Api-Revision: + - '2026-05-20' Connection: - keep-alive Content-Length: @@ -15,26 +17,26 @@ interactions: Host: - generativelanguage.googleapis.com User-Agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/interactions response: body: - string: '{"id":"v1_ChdXM1B6YWVTNEFlMllfdU1QMFBTOHdBRRIXVzNQemFlUzRBZTJZX3VNUDBQUzh3QUU","status":"completed","outputs":[{"signature":"Cn8BDDnWx1P45nIsEYYZ9Mpz40m9w7oPyhzb9zu4dmBQ9l05n56FQ7wpTRo3JFpPy0ghOysz3hdEkYkkSd55615NIi4Qw6sIZsvHclgLxuu8rXNNGnpqZBD15ntFKbxc4HPq/iayDn324qXWKBcY0Acg0K0Js5o3B4dyxaJpZJmg","type":"thought"},{"text":"The - capital of Italy is **Rome**.","type":"text"}],"usage":{"total_tokens":37,"total_input_tokens":8,"input_tokens_by_modality":[{"modality":"text","tokens":8}],"total_cached_tokens":0,"total_output_tokens":8,"total_tool_use_tokens":0,"total_thought_tokens":21},"role":"model","created":"2026-04-30T15:20:59Z","updated":"2026-04-30T15:20:59Z","service_tier":"standard","object":"interaction","model":"gemini-2.5-flash"}' + string: '{"id":"v1_ChdiZWtCYXNpLVBNUy1fdU1QODhLM3FRaxIXYmVrQmFzaS1QTVMtX3VNUDg4SzNxUWs","status":"completed","usage":{"total_tokens":41,"total_input_tokens":8,"input_tokens_by_modality":[{"modality":"text","tokens":8}],"total_cached_tokens":0,"total_output_tokens":8,"total_tool_use_tokens":0,"total_thought_tokens":25},"created":"2026-05-11T14:36:31Z","updated":"2026-05-11T14:36:31Z","service_tier":"standard","steps":[{"signature":"CpMBAQw51sdpBrry76L4M9dIQwFcIdcu3N9j4mZbjWt2wU2vu+zfl0jymZ50OuAKzD8gDylWR9eLPnqCvo1Y6yr3tQpwX2tjgkHHPzks1Dtd8yTN8GtTHV8CIWuW/naceTbLX32RBkoLDoQov8K3LJuCUtVl0GEjfy9AJQuH0Z5d+9nFZLoMv1ZYgVoMIKHSuhGg6WXp","type":"thought"},{"content":[{"text":"The + capital of Italy is **Rome**.","type":"text"}],"type":"model_output"}],"object":"interaction","model":"gemini-2.5-flash"}' headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json Date: - - Thu, 30 Apr 2026 15:20:59 GMT + - Mon, 11 May 2026 14:36:31 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1041 + - gfet4t7; dur=1459 Transfer-Encoding: - chunked Vary: @@ -48,7 +50,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '745' + - '792' status: code: 200 message: OK @@ -59,20 +61,23 @@ interactions: - application/json Accept-Encoding: - gzip, deflate + Api-Revision: + - '2026-05-20' Connection: - keep-alive Host: - generativelanguage.googleapis.com User-Agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: GET - uri: https://generativelanguage.googleapis.com/v1beta/interactions/v1_ChdXM1B6YWVTNEFlMllfdU1QMFBTOHdBRRIXVzNQemFlUzRBZTJZX3VNUDBQUzh3QUU?include_input=true + uri: https://generativelanguage.googleapis.com/v1beta/interactions/v1_ChdiZWtCYXNpLVBNUy1fdU1QODhLM3FRaxIXYmVrQmFzaS1QTVMtX3VNUDg4SzNxUWs?include_input=true response: body: - string: '{"id":"v1_ChdXM1B6YWVTNEFlMllfdU1QMFBTOHdBRRIXVzNQemFlUzRBZTJZX3VNUDBQUzh3QUU","status":"completed","outputs":[{"signature":"Cn8BDDnWx1P45nIsEYYZ9Mpz40m9w7oPyhzb9zu4dmBQ9l05n56FQ7wpTRo3JFpPy0ghOysz3hdEkYkkSd55615NIi4Qw6sIZsvHclgLxuu8rXNNGnpqZBD15ntFKbxc4HPq/iayDn324qXWKBcY0Acg0K0Js5o3B4dyxaJpZJmg","type":"thought"},{"text":"The - capital of Italy is **Rome**.","type":"text"}],"usage":{"total_tokens":37,"total_input_tokens":8,"input_tokens_by_modality":[{"modality":"text","tokens":8}],"total_cached_tokens":0,"total_output_tokens":8,"total_tool_use_tokens":0,"total_thought_tokens":21},"role":"model","created":"2026-04-30T15:20:59Z","updated":"2026-04-30T15:20:59Z","service_tier":"standard","object":"interaction","input":[{"role":"user","content":[{"text":"What + string: '{"id":"v1_ChdiZWtCYXNpLVBNUy1fdU1QODhLM3FRaxIXYmVrQmFzaS1QTVMtX3VNUDg4SzNxUWs","status":"completed","usage":{"total_tokens":41,"total_input_tokens":8,"input_tokens_by_modality":[{"modality":"text","tokens":8}],"total_cached_tokens":0,"total_output_tokens":8,"total_tool_use_tokens":0,"total_thought_tokens":25},"created":"2026-05-11T14:36:31Z","updated":"2026-05-11T14:36:31Z","service_tier":"standard","steps":[{"content":[{"text":"What + is the capital of Italy?","type":"text"}],"type":"user_input"},{"signature":"CpMBAQw51sdpBrry76L4M9dIQwFcIdcu3N9j4mZbjWt2wU2vu+zfl0jymZ50OuAKzD8gDylWR9eLPnqCvo1Y6yr3tQpwX2tjgkHHPzks1Dtd8yTN8GtTHV8CIWuW/naceTbLX32RBkoLDoQov8K3LJuCUtVl0GEjfy9AJQuH0Z5d+9nFZLoMv1ZYgVoMIKHSuhGg6WXp","type":"thought"},{"content":[{"text":"The + capital of Italy is **Rome**.","type":"text"}],"type":"model_output"}],"object":"interaction","input":[{"role":"user","content":[{"text":"What is the capital of Italy?","type":"text"}]}],"model":"gemini-2.5-flash"}' headers: Alt-Svc: @@ -80,11 +85,11 @@ interactions: Content-Type: - application/json Date: - - Thu, 30 Apr 2026 15:21:00 GMT + - Mon, 11 May 2026 14:36:31 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=86 + - gfet4t7; dur=149 Transfer-Encoding: - chunked Vary: @@ -98,7 +103,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '838' + - '974' status: code: 200 message: OK @@ -109,6 +114,8 @@ interactions: - application/json Accept-Encoding: - gzip, deflate + Api-Revision: + - '2026-05-20' Connection: - keep-alive Content-Type: @@ -116,11 +123,11 @@ interactions: Host: - generativelanguage.googleapis.com User-Agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: DELETE - uri: https://generativelanguage.googleapis.com/v1beta/interactions/v1_ChdXM1B6YWVTNEFlMllfdU1QMFBTOHdBRRIXVzNQemFlUzRBZTJZX3VNUDBQUzh3QUU + uri: https://generativelanguage.googleapis.com/v1beta/interactions/v1_ChdiZWtCYXNpLVBNUy1fdU1QODhLM3FRaxIXYmVrQmFzaS1QTVMtX3VNUDg4SzNxUWs response: body: string: '{}' @@ -130,11 +137,11 @@ interactions: Content-Type: - application/json Date: - - Thu, 30 Apr 2026 15:21:00 GMT + - Mon, 11 May 2026 14:36:32 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=295 + - gfet4t7; dur=210 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_async_stream.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_async_stream.yaml index fd146528..8d158dc0 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_async_stream.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_async_stream.yaml @@ -6,6 +6,8 @@ interactions: - application/json Accept-Encoding: - gzip, deflate + Api-Revision: + - '2026-05-20' Connection: - keep-alive Content-Length: @@ -15,56 +17,46 @@ interactions: Host: - generativelanguage.googleapis.com User-Agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/interactions response: body: - string: 'event: interaction.start + string: 'event: interaction.created - data: {"interaction":{"id":"v1_ChdYSFB6YVpqZ01hbWJfdU1QOXJuRG1RYxIXWEhQemFaamdNYW1iX3VNUDlybkRtUWM","status":"in_progress","object":"interaction","model":"gemini-2.5-flash"},"event_type":"interaction.start"} + data: {"interaction":{"id":"v1_ChdjT2tCYXV2cUVhQzZfdU1QdGVPM21RdxIXY09rQmF1dnFFYUM2X3VNUHRlTzNtUXc","status":"in_progress","object":"interaction","model":"gemini-2.5-flash"},"event_type":"interaction.created"} event: interaction.status_update - data: {"interaction_id":"v1_ChdYSFB6YVpqZ01hbWJfdU1QOXJuRG1RYxIXWEhQemFaamdNYW1iX3VNUDlybkRtUWM","status":"in_progress","event_type":"interaction.status_update"} + data: {"interaction_id":"v1_ChdjT2tCYXV2cUVhQzZfdU1QdGVPM21RdxIXY09rQmF1dnFFYUM2X3VNUHRlTzNtUXc","status":"in_progress","event_type":"interaction.status_update"} - event: content.start + event: step.start - data: {"index":0,"content":{"type":"thought"},"event_type":"content.start"} + data: {"index":0,"step":{"signature":"CmMBDDnWx+dTDFIUToFcc4OofqA/zu8+OBMS/xtr7yVRoQYJ1JaHq29Vo6kRTS4EwRTptvI6sbIlJHsPKPlAkX6kz+azsbBmuRZCUj+iZZCRxZrde5jtdwBe9E7sZkT5ybWzZ8wKNgEMOdbH/VDSmeGWBrNlZ4Nrkdp80JD4GSer7/s71uMW9cnrJX1b6wS+/zNq6OBfv69BxdUeRQ==","type":"thought"},"event_type":"step.start"} - event: content.delta + event: step.stop - data: {"index":0,"delta":{"signature":"CmoBDDnWxxsFfIXWgR31K/+1c2WdbFv6+2nMW4Fjdyvu0oXMGCsi2UyHJr8cqIo1Ja2eVuEoHOl9IsK024woUgszUySfnDvFRLRocrEih22qm+0UHVHFEoQTjv/aRsGcpZFVkbUFuIpGvLkoCisBDDnWx8F8iGhB97tTixwjfoqKbvR/Y0wyuHlFUu6ZF0wJmRHzH4SXfLax","type":"thought_signature"},"event_type":"content.delta"} + data: {"index":0,"event_type":"step.stop"} - event: content.stop + event: step.start - data: {"index":0,"event_type":"content.stop"} + data: {"index":1,"step":{"content":[{"text":"Hi!","type":"text"}],"type":"model_output"},"event_type":"step.start"} - event: content.start + event: step.stop - data: {"index":1,"content":{"type":"text"},"event_type":"content.start"} + data: {"index":1,"event_type":"step.stop"} - event: content.delta + event: interaction.completed - data: {"index":1,"delta":{"text":"Hi!","type":"text"},"event_type":"content.delta"} - - - event: content.stop - - data: {"index":1,"event_type":"content.stop"} - - - event: interaction.complete - - data: {"interaction":{"id":"v1_ChdYSFB6YVpqZ01hbWJfdU1QOXJuRG1RYxIXWEhQemFaamdNYW1iX3VNUDlybkRtUWM","status":"completed","usage":{"total_tokens":26,"total_input_tokens":5,"input_tokens_by_modality":[{"modality":"text","tokens":5}],"total_cached_tokens":0,"total_output_tokens":2,"total_tool_use_tokens":0,"total_thought_tokens":19},"role":"model","created":"2026-04-30T15:21:01Z","updated":"2026-04-30T15:21:01Z","service_tier":"standard","object":"interaction","model":"gemini-2.5-flash"},"event_type":"interaction.complete"} + data: {"interaction":{"id":"v1_ChdjT2tCYXV2cUVhQzZfdU1QdGVPM21RdxIXY09rQmF1dnFFYUM2X3VNUHRlTzNtUXc","status":"completed","usage":{"total_tokens":28,"total_input_tokens":5,"input_tokens_by_modality":[{"modality":"text","tokens":5}],"total_cached_tokens":0,"total_output_tokens":2,"total_tool_use_tokens":0,"total_thought_tokens":21},"created":"2026-05-11T14:36:33Z","updated":"2026-05-11T14:36:33Z","service_tier":"standard","object":"interaction","model":"gemini-2.5-flash"},"event_type":"interaction.completed"} event: done @@ -79,11 +71,11 @@ interactions: Content-Type: - text/event-stream Date: - - Thu, 30 Apr 2026 15:21:01 GMT + - Mon, 11 May 2026 14:36:33 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=598 + - gfet4t7; dur=818 Transfer-Encoding: - chunked Vary: @@ -97,7 +89,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '1770' + - '1576' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_create_and_get.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_create_and_get.yaml index 177d4ded..5a5fa22f 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_create_and_get.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_create_and_get.yaml @@ -6,6 +6,8 @@ interactions: - application/json Accept-Encoding: - gzip, deflate + Api-Revision: + - '2026-05-20' Connection: - keep-alive Content-Length: @@ -15,26 +17,26 @@ interactions: Host: - generativelanguage.googleapis.com User-Agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/interactions response: body: - string: '{"id":"v1_ChdVSFB6YWNXV0g3UGZfdU1QNk5PLWtRZxIXVUhQemFjV1dIN1BmX3VNUDZOTy1rUWc","status":"completed","outputs":[{"signature":"CoABAQw51sfQtn2yQ+bn7PpRKFqVFBEcrgIxUoDOq/qxVgtv+OmimIgmNKGp7HdNy1Pl3eQquGk4+iAfzSkQHfmUy1eMJx34bsidjAz6glNr/Ee6iBMVVmTxcNyHpfHA2tPJKgnYYm0Xuls1+u4rGuVqi2VjcCoghbh5SSQkC1oKNZ8=","type":"thought"},{"text":"The - capital of France is **Paris**.","type":"text"}],"usage":{"total_tokens":38,"total_input_tokens":8,"input_tokens_by_modality":[{"modality":"text","tokens":8}],"total_cached_tokens":0,"total_output_tokens":8,"total_tool_use_tokens":0,"total_thought_tokens":22},"role":"model","created":"2026-04-30T15:20:49Z","updated":"2026-04-30T15:20:49Z","service_tier":"standard","object":"interaction","model":"gemini-2.5-flash"}' + string: '{"id":"v1_ChdZdWtCYXRLNkFiSzhfdU1Qbk9QTzJRTRIXWXVrQmF0SzZBYks4X3VNUG5PUE8yUU0","status":"completed","usage":{"total_tokens":37,"total_input_tokens":8,"input_tokens_by_modality":[{"modality":"text","tokens":8}],"total_cached_tokens":0,"total_output_tokens":8,"total_tool_use_tokens":0,"total_thought_tokens":21},"created":"2026-05-11T14:36:19Z","updated":"2026-05-11T14:36:19Z","service_tier":"standard","steps":[{"signature":"CoABAQw51sdSWsTfQYk4Oj2zqO5WC6NI7226BQqYQOP3ewmWryELjKetStfiUWgdSHb9LgcwWO3w2jckZehrqPRmzjhgDWlextpHGGNH5I0yjDCecwn7mstPpGPksz5VAvaTn6CM8HXgU2Iw6aLNbRPuiQsk9WRCrDEGKVYsB5ES9zo=","type":"thought"},{"content":[{"text":"The + capital of France is **Paris**.","type":"text"}],"type":"model_output"}],"object":"interaction","model":"gemini-2.5-flash"}' headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json Date: - - Thu, 30 Apr 2026 15:20:49 GMT + - Mon, 11 May 2026 14:36:19 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1209 + - gfet4t7; dur=1199 Transfer-Encoding: - chunked Vary: @@ -48,7 +50,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '751' + - '770' status: code: 200 message: OK @@ -59,20 +61,23 @@ interactions: - application/json Accept-Encoding: - gzip, deflate + Api-Revision: + - '2026-05-20' Connection: - keep-alive Host: - generativelanguage.googleapis.com User-Agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: GET - uri: https://generativelanguage.googleapis.com/v1beta/interactions/v1_ChdVSFB6YWNXV0g3UGZfdU1QNk5PLWtRZxIXVUhQemFjV1dIN1BmX3VNUDZOTy1rUWc?include_input=true + uri: https://generativelanguage.googleapis.com/v1beta/interactions/v1_ChdZdWtCYXRLNkFiSzhfdU1Qbk9QTzJRTRIXWXVrQmF0SzZBYks4X3VNUG5PUE8yUU0?include_input=true response: body: - string: '{"id":"v1_ChdVSFB6YWNXV0g3UGZfdU1QNk5PLWtRZxIXVUhQemFjV1dIN1BmX3VNUDZOTy1rUWc","status":"completed","outputs":[{"signature":"CoABAQw51sfQtn2yQ+bn7PpRKFqVFBEcrgIxUoDOq/qxVgtv+OmimIgmNKGp7HdNy1Pl3eQquGk4+iAfzSkQHfmUy1eMJx34bsidjAz6glNr/Ee6iBMVVmTxcNyHpfHA2tPJKgnYYm0Xuls1+u4rGuVqi2VjcCoghbh5SSQkC1oKNZ8=","type":"thought"},{"text":"The - capital of France is **Paris**.","type":"text"}],"usage":{"total_tokens":38,"total_input_tokens":8,"input_tokens_by_modality":[{"modality":"text","tokens":8}],"total_cached_tokens":0,"total_output_tokens":8,"total_tool_use_tokens":0,"total_thought_tokens":22},"role":"model","created":"2026-04-30T15:20:49Z","updated":"2026-04-30T15:20:49Z","service_tier":"standard","object":"interaction","input":[{"role":"user","content":[{"text":"What + string: '{"id":"v1_ChdZdWtCYXRLNkFiSzhfdU1Qbk9QTzJRTRIXWXVrQmF0SzZBYks4X3VNUG5PUE8yUU0","status":"completed","usage":{"total_tokens":37,"total_input_tokens":8,"input_tokens_by_modality":[{"modality":"text","tokens":8}],"total_cached_tokens":0,"total_output_tokens":8,"total_tool_use_tokens":0,"total_thought_tokens":21},"created":"2026-05-11T14:36:18Z","updated":"2026-05-11T14:36:18Z","service_tier":"standard","steps":[{"content":[{"text":"What + is the capital of France?","type":"text"}],"type":"user_input"},{"signature":"CoABAQw51sdSWsTfQYk4Oj2zqO5WC6NI7226BQqYQOP3ewmWryELjKetStfiUWgdSHb9LgcwWO3w2jckZehrqPRmzjhgDWlextpHGGNH5I0yjDCecwn7mstPpGPksz5VAvaTn6CM8HXgU2Iw6aLNbRPuiQsk9WRCrDEGKVYsB5ES9zo=","type":"thought"},{"content":[{"text":"The + capital of France is **Paris**.","type":"text"}],"type":"model_output"}],"object":"interaction","input":[{"role":"user","content":[{"text":"What is the capital of France?","type":"text"}]}],"model":"gemini-2.5-flash"}' headers: Alt-Svc: @@ -80,11 +85,11 @@ interactions: Content-Type: - application/json Date: - - Thu, 30 Apr 2026 15:20:50 GMT + - Mon, 11 May 2026 14:36:19 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=91 + - gfet4t7; dur=160 Transfer-Encoding: - chunked Vary: @@ -98,7 +103,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '845' + - '954' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_create_stream.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_create_stream.yaml index b121c45f..d2cc0039 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_create_stream.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_create_stream.yaml @@ -6,6 +6,8 @@ interactions: - application/json Accept-Encoding: - gzip, deflate + Api-Revision: + - '2026-05-20' Connection: - keep-alive Content-Length: @@ -15,56 +17,46 @@ interactions: Host: - generativelanguage.googleapis.com User-Agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/interactions response: body: - string: 'event: interaction.start + string: 'event: interaction.created - data: {"interaction":{"id":"v1_ChdVblB6YVkyaUU1LThfdU1QMEl1Y2dBMBIXVW5QemFZMmlFNS04X3VNUDBJdWNnQTA","status":"in_progress","object":"interaction","model":"gemini-2.5-flash"},"event_type":"interaction.start"} + data: {"interaction":{"id":"v1_ChdZLWtCYW9xZk5ibU1fUFVQa1lxbWdBZxIXWS1rQmFvcWZOYm1NX1BVUGtZcW1nQWc","status":"in_progress","object":"interaction","model":"gemini-2.5-flash"},"event_type":"interaction.created"} event: interaction.status_update - data: {"interaction_id":"v1_ChdVblB6YVkyaUU1LThfdU1QMEl1Y2dBMBIXVW5QemFZMmlFNS04X3VNUDBJdWNnQTA","status":"in_progress","event_type":"interaction.status_update"} + data: {"interaction_id":"v1_ChdZLWtCYW9xZk5ibU1fUFVQa1lxbWdBZxIXWS1rQmFvcWZOYm1NX1BVUGtZcW1nQWc","status":"in_progress","event_type":"interaction.status_update"} - event: content.start + event: step.start - data: {"index":0,"content":{"type":"thought"},"event_type":"content.start"} + data: {"index":0,"step":{"signature":"ClsBDDnWxyb0u0U86xPrHXjUTYGI4bMTJh/CMZUdUxVxeFCFLDB9MSP34ZUAfSap4Jayosgeto7yXob/+h65Pj6oSqcTK2M6D8sykIG8Knw+VOx5znQAKVYjQDZ0CrkBAQw51scrQBz8v518pgoJaMfpn6QStG7LCzWvaP9V3lGyIohLIP8QigBhmzpb/eb8UTvMXGRVQxi7YlTzSdc/dGLl4CDFrFhpFWPLv5L0pDaLiEdnbF8xfvxRUlUqnjQYzL7CxNpbprTZ7j6/s/L2GC0UlUR9xEux1PQDLZ3RDVHWVzv7ZKf6VLWqZYQtSRthRlL/yzQ7UXJfNI3p+zdNdOkv7oA2GuwTOIz9qjRrAe6JH8WZL0oBN5IKVAEMOdbHGd91y6li0QOZ460Sh2pUx5uLiO9XhbepU3U6XVHd+PktIv9tw6nbN+G2OLV82UzUQj8d6fUz4eTcg1RnKlrVKAPDO8WfaMz0PTY3MiKspA==","type":"thought"},"event_type":"step.start"} - event: content.delta + event: step.stop - data: {"index":0,"delta":{"signature":"Cl4BDDnWxwOR3YIawOrJJnTFQVPDlDYw9BtsfgZ7actVUXLOpfwM62WW5r+iGBdOI4m3E/Krw8CoUZjowLGh0+EXZxmnTnHKUHqQ43urUsZ5EXGVrGDBd9FXSLPLhUARCocBAQw51sfHzQIaLQDnsWRQeoFypupBJHTO6IJhq3mi0HcyUEeQ6r7jKv2ER4Z8adfDGCupmFNWJUAiav6iemlv3wixzLscOOsX1rXhS0ebh1FtUYe+EzD7PHoHuX9Fij46xgsUqgSuigdx/C5pzk7NWhnv/RnBbshQMABxiEQaTdD+Fqg7VVCT","type":"thought_signature"},"event_type":"content.delta"} + data: {"index":0,"event_type":"step.stop"} - event: content.stop + event: step.start - data: {"index":0,"event_type":"content.stop"} + data: {"index":1,"step":{"content":[{"text":"Hi there!","type":"text"}],"type":"model_output"},"event_type":"step.start"} - event: content.start + event: step.stop - data: {"index":1,"content":{"type":"text"},"event_type":"content.start"} + data: {"index":1,"event_type":"step.stop"} - event: content.delta + event: interaction.completed - data: {"index":1,"delta":{"text":"Hi!","type":"text"},"event_type":"content.delta"} - - - event: content.stop - - data: {"index":1,"event_type":"content.stop"} - - - event: interaction.complete - - data: {"interaction":{"id":"v1_ChdVblB6YVkyaUU1LThfdU1QMEl1Y2dBMBIXVW5QemFZMmlFNS04X3VNUDBJdWNnQTA","status":"completed","usage":{"total_tokens":56,"total_input_tokens":9,"input_tokens_by_modality":[{"modality":"text","tokens":9}],"total_cached_tokens":0,"total_output_tokens":2,"total_tool_use_tokens":0,"total_thought_tokens":45},"role":"model","created":"2026-04-30T15:20:51Z","updated":"2026-04-30T15:20:51Z","service_tier":"standard","object":"interaction","model":"gemini-2.5-flash"},"event_type":"interaction.complete"} + data: {"interaction":{"id":"v1_ChdZLWtCYW9xZk5ibU1fUFVQa1lxbWdBZxIXWS1rQmFvcWZOYm1NX1BVUGtZcW1nQWc","status":"completed","usage":{"total_tokens":91,"total_input_tokens":9,"input_tokens_by_modality":[{"modality":"text","tokens":9}],"total_cached_tokens":0,"total_output_tokens":3,"total_tool_use_tokens":0,"total_thought_tokens":79},"created":"2026-05-11T14:36:21Z","updated":"2026-05-11T14:36:21Z","service_tier":"standard","object":"interaction","model":"gemini-2.5-flash"},"event_type":"interaction.completed"} event: done @@ -79,11 +71,11 @@ interactions: Content-Type: - text/event-stream Date: - - Thu, 30 Apr 2026 15:20:51 GMT + - Mon, 11 May 2026 14:36:21 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=758 + - gfet4t7; dur=1248 Transfer-Encoding: - chunked Vary: @@ -97,7 +89,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '1878' + - '1862' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_delete.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_delete.yaml index d3274630..416e656e 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_delete.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_delete.yaml @@ -6,6 +6,8 @@ interactions: - application/json Accept-Encoding: - gzip, deflate + Api-Revision: + - '2026-05-20' Connection: - keep-alive Content-Length: @@ -15,25 +17,25 @@ interactions: Host: - generativelanguage.googleapis.com User-Agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/interactions response: body: - string: '{"id":"v1_ChdXWFB6YVlpVEhkZlZfdU1QNHJQVmdRZxIXV1hQemFZaVRIZGZWX3VNUDRyUFZnUWc","status":"completed","outputs":[{"signature":"CmMBDDnWxyXlyUqPJnkJYwx9YhFvgQzJ/o+Xu6b1PxsJ2Q+kP1ppE6w50y1VrudvPsGsRH7D3CABeRI6hpyvpZgrg9G+CGkUJmQnZheumxu4TBKIOpMuSEXdlLAjyCvEARUwZMM=","type":"thought"},{"text":"ok","type":"text"}],"usage":{"total_tokens":21,"total_input_tokens":6,"input_tokens_by_modality":[{"modality":"text","tokens":6}],"total_cached_tokens":0,"total_output_tokens":1,"total_tool_use_tokens":0,"total_thought_tokens":14},"role":"model","created":"2026-04-30T15:20:58Z","updated":"2026-04-30T15:20:58Z","service_tier":"standard","object":"interaction","model":"gemini-2.5-flash"}' + string: '{"id":"v1_ChdiT2tCYXVlbUViTGpfdU1QX0syNjRRbxIXYk9rQmF1ZW1FYkxqX3VNUF9LMjY0UW8","status":"completed","usage":{"total_tokens":26,"total_input_tokens":6,"input_tokens_by_modality":[{"modality":"text","tokens":6}],"total_cached_tokens":0,"total_output_tokens":2,"total_tool_use_tokens":0,"total_thought_tokens":18},"created":"2026-05-11T14:36:29Z","updated":"2026-05-11T14:36:29Z","service_tier":"standard","steps":[{"signature":"CnIBDDnWx2a1wXIHDmvD+lHk2AHvwkm0W1qJIl21jZ18NXIlyYUsOOf8pgWPHyN3A87lqBiI+UJeZuEiAHSfvI+k+7uk2d6PHmOIpeh1v6MxG9ulHxZCvHNwrLV/IxuP+rSsF52LIpKFEg+25airr18tskE=","type":"thought"},{"content":[{"text":"ok.","type":"text"}],"type":"model_output"}],"object":"interaction","model":"gemini-2.5-flash"}' headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json Date: - - Thu, 30 Apr 2026 15:20:58 GMT + - Mon, 11 May 2026 14:36:29 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1045 + - gfet4t7; dur=1133 Transfer-Encoding: - chunked Vary: @@ -47,7 +49,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '678' + - '718' status: code: 200 message: OK @@ -58,6 +60,8 @@ interactions: - application/json Accept-Encoding: - gzip, deflate + Api-Revision: + - '2026-05-20' Connection: - keep-alive Content-Type: @@ -65,11 +69,11 @@ interactions: Host: - generativelanguage.googleapis.com User-Agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: DELETE - uri: https://generativelanguage.googleapis.com/v1beta/interactions/v1_ChdXWFB6YVlpVEhkZlZfdU1QNHJQVmdRZxIXV1hQemFZaVRIZGZWX3VNUDRyUFZnUWc + uri: https://generativelanguage.googleapis.com/v1beta/interactions/v1_ChdiT2tCYXVlbUViTGpfdU1QX0syNjRRbxIXYk9rQmF1ZW1FYkxqX3VNUF9LMjY0UW8 response: body: string: '{}' @@ -79,11 +83,11 @@ interactions: Content-Type: - application/json Date: - - Thu, 30 Apr 2026 15:20:58 GMT + - Mon, 11 May 2026 14:36:29 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=218 + - gfet4t7; dur=181 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_tool_call_and_follow_up.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_tool_call_and_follow_up.yaml index c834ac4e..5c4c5873 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_tool_call_and_follow_up.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_tool_call_and_follow_up.yaml @@ -7,6 +7,8 @@ interactions: - application/json Accept-Encoding: - gzip, deflate + Api-Revision: + - '2026-05-20' Connection: - keep-alive Content-Length: @@ -16,25 +18,25 @@ interactions: Host: - generativelanguage.googleapis.com User-Agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/interactions response: body: - string: '{"id":"v1_ChdVM1B6YWFQM0xfMm9fdU1QeTVtQ2lBZxIXVTNQemFhUDNMXzJvX3VNUHk1bUNpQWc","status":"requires_action","outputs":[{"signature":"Cv4BAQw51se50M8CCqE3nMV+JvvMed6XDWAe7QdPqZJEqMB4vDawLmOyYGLuFQUOCN/gyJZKGBBr8xcb+PkoPnsxe5JRnKwERUTsQ+MPp76yarybTmjiDlv4MvSK/eGgB8E6ddy8SmL2b0KVsgPGljNOz9GMQEsSRbiJKlgYgVyn5IP4+MfDO3XNhrZ8DnDGQb8c/r5jTNJ1GpyIOdQF2LWr9pKd+oEbMs8MrAc3ZV6cgVqfFPoFoAxt76Y9UK7pJCh/DgGiTWjv4aqfyMxVcOBRiZRScdEie69iQ97F2AW49d/g7E0oe+qEs+KZ+e5iHOzU1J0i8h8j4m3mPxb+C4c=","type":"thought"},{"id":"c4bm42q4","type":"function_call","name":"get_weather","arguments":{"location":"Paris"}}],"usage":{"total_tokens":119,"total_input_tokens":53,"input_tokens_by_modality":[{"modality":"text","tokens":53}],"total_cached_tokens":0,"total_output_tokens":15,"total_tool_use_tokens":0,"total_thought_tokens":51},"role":"model","created":"2026-04-30T15:20:52Z","updated":"2026-04-30T15:20:52Z","service_tier":"standard","object":"interaction","model":"gemini-2.5-flash"}' + string: '{"id":"v1_ChZaZWtCYW91Tk5aZWZfdU1QdUwyaUNREhZaZWtCYW91Tk5aZWZfdU1QdUwyaUNR","status":"requires_action","usage":{"total_tokens":119,"total_input_tokens":53,"input_tokens_by_modality":[{"modality":"text","tokens":53}],"total_cached_tokens":0,"total_output_tokens":15,"total_tool_use_tokens":0,"total_thought_tokens":51},"created":"2026-05-11T14:36:23Z","updated":"2026-05-11T14:36:23Z","service_tier":"standard","steps":[{"signature":"Cv4BAQw51scSfYEIXuffyBEeDSkYUbFvmVo4SstQaIHjOeZbqJSYAMMz2//g2ffElggox/iz6Qi/1fKthbecH1OmmGO+b6shjAgvuLxRYcEfO9sAJB/cftEcBPwmupS6SyljlUQNA2MJZa0PHXn2P0+EH+x2GfDxEwXZdLh6/z2TJhBBYq94QBMgulVn8MLjlHSW+GbSI8w4Z3o8SbLasogg31FnzxRGFNUVvTlLmT8t/R5NCZ0xcvSzAA9pUUaSHgIiOv7L1E8v9wdAF+FRh24t9GOTNfK4xpQ1COz6OT6KMy8sTQacAUvNfYtDy8TTZuFOkiz6DGvHGwh50WWu0Jw=","type":"thought"},{"id":"i4rqco4g","type":"function_call","name":"get_weather","arguments":{"location":"Paris"}}],"object":"interaction","model":"gemini-2.5-flash"}' headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json Date: - - Thu, 30 Apr 2026 15:20:52 GMT + - Mon, 11 May 2026 14:36:23 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1275 + - gfet4t7; dur=1401 Transfer-Encoding: - chunked Vary: @@ -48,47 +50,49 @@ interactions: X-XSS-Protection: - '0' content-length: - - '963' + - '943' status: code: 200 message: OK - request: - body: '{"input":[{"call_id":"c4bm42q4","result":{"forecast":"sunny"},"type":"function_result","name":"get_weather"}],"model":"gemini-2.5-flash","previous_interaction_id":"v1_ChdVM1B6YWFQM0xfMm9fdU1QeTVtQ2lBZxIXVTNQemFhUDNMXzJvX3VNUHk1bUNpQWc","tools":[{"type":"function","description":"Get + body: '{"input":[{"call_id":"i4rqco4g","result":{"forecast":"sunny"},"type":"function_result","name":"get_weather"}],"model":"gemini-2.5-flash","previous_interaction_id":"v1_ChZaZWtCYW91Tk5aZWZfdU1QdUwyaUNREhZaZWtCYW91Tk5aZWZfdU1QdUwyaUNR","tools":[{"type":"function","description":"Get the current weather for a location.","name":"get_weather","parameters":{"type":"object","properties":{"location":{"type":"string"}},"required":["location"]}}]}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate + Api-Revision: + - '2026-05-20' Connection: - keep-alive Content-Length: - - '442' + - '439' Content-Type: - application/json Host: - generativelanguage.googleapis.com User-Agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/interactions response: body: - string: '{"id":"v1_ChdVM1B6YWFQM0xfMm9fdU1QeTVtQ2lBZxIXVlhQemFkMktFb1ctX3VNUGdvR3B3UXM","status":"completed","outputs":[{"signature":"CiRlMjQ4MzBhNy01Y2Q2LTQyZmUtOTk4Yi1lZTUzOWU3MmI5YzM=","type":"thought"},{"text":"The - weather in Paris is sunny.","type":"text"}],"usage":{"total_tokens":61,"total_input_tokens":54,"input_tokens_by_modality":[{"modality":"text","tokens":54}],"total_cached_tokens":0,"total_output_tokens":7,"total_tool_use_tokens":0,"total_thought_tokens":0},"role":"model","created":"2026-04-30T15:20:54Z","updated":"2026-04-30T15:20:54Z","service_tier":"standard","object":"interaction","model":"gemini-2.5-flash"}' + string: '{"id":"v1_ChZaZWtCYW91Tk5aZWZfdU1QdUwyaUNREhdaLWtCYW9uYkc4dWRfdU1QdU5iUm1BYw","status":"completed","usage":{"total_tokens":61,"total_input_tokens":54,"input_tokens_by_modality":[{"modality":"text","tokens":54}],"total_cached_tokens":0,"total_output_tokens":7,"total_tool_use_tokens":0,"total_thought_tokens":0},"created":"2026-05-11T14:36:25Z","updated":"2026-05-11T14:36:25Z","service_tier":"standard","steps":[{"signature":"CiRlMjQ4MzBhNy01Y2Q2LTQyZmUtOTk4Yi1lZTUzOWU3MmI5YzM=","type":"thought"},{"content":[{"text":"The + weather in Paris is sunny.","type":"text"}],"type":"model_output"}],"object":"interaction","model":"gemini-2.5-flash"}' headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json Date: - - Thu, 30 Apr 2026 15:20:54 GMT + - Mon, 11 May 2026 14:36:25 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1127 + - gfet4t7; dur=2063 Transfer-Encoding: - chunked Vary: @@ -102,7 +106,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '623' + - '641' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_tool_span_stays_active_during_local_tool_work.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_tool_span_stays_active_during_local_tool_work.yaml index c6d3792c..93410277 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_tool_span_stays_active_during_local_tool_work.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_interactions_tool_span_stays_active_during_local_tool_work.yaml @@ -7,6 +7,8 @@ interactions: - application/json Accept-Encoding: - gzip, deflate + Api-Revision: + - '2026-05-20' Connection: - keep-alive Content-Length: @@ -16,25 +18,25 @@ interactions: Host: - generativelanguage.googleapis.com User-Agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/interactions response: body: - string: '{"id":"v1_ChdWblB6YVl6YUllU2xfUFVQenA2bHdRWRIXVm5QemFZemFJZVNsX1BVUHpwNmx3UVk","status":"requires_action","outputs":[{"signature":"Cu4BAQw51sfmGqZ/pJ+OAP7XBohYId4M2wGSbvtZXmR948/DzKmu8HACLj9XpBE6JtGwtj/5p2ZvfuD40ISvfw/TX0PTwR4zxwG0Y+3tmcI9jMyvrO9I4jcjT0LD6GI8iaFrcpEoRBzB/rKWcOzvINgGFvvUUUgwVaJb16In25+kMs1SnZUkTyq5afR0kTE1YjzPCdq3wWwjcKQCBt/gTNCBL9NuckcyaKjFlcHp1lPGmNPDUJo9D/qTVMdKIgyDPKKq1EJhej97jlCtBpmeNzStGCtagV7CZe2ULLRNmlgfY5/xO+z6SRpUxuL6Pv8fGQ==","type":"thought"},{"id":"jmxm3h01","type":"function_call","name":"get_weather","arguments":{"location":"Paris"}}],"usage":{"total_tokens":115,"total_input_tokens":53,"input_tokens_by_modality":[{"modality":"text","tokens":53}],"total_cached_tokens":0,"total_output_tokens":15,"total_tool_use_tokens":0,"total_thought_tokens":47},"role":"model","created":"2026-04-30T15:20:55Z","updated":"2026-04-30T15:20:55Z","service_tier":"standard","object":"interaction","model":"gemini-2.5-flash"}' + string: '{"id":"v1_ChdhZWtCYXF1S0tOaThfdU1QZ0l6ZzhBVRIXYWVrQmFxdUtLTmk4X3VNUGdJemc4QVU","status":"requires_action","usage":{"total_tokens":134,"total_input_tokens":53,"input_tokens_by_modality":[{"modality":"text","tokens":53}],"total_cached_tokens":0,"total_output_tokens":15,"total_tool_use_tokens":0,"total_thought_tokens":66},"created":"2026-05-11T14:36:26Z","updated":"2026-05-11T14:36:26Z","service_tier":"standard","steps":[{"signature":"Cq4CAQw51sej11Q/qU2tha0Krgf8jj0zF4HRYgPSWa8WXaTd7xDs76Q4LvYqqEnwNP5tTqucTWLgm0NlnNxpPOm2cDSVwb0R1sQq4+S7twps+vxYyIBY9WD0gKZhGtxZ9I4hXkid68V998TrHgE6XOVj5kELoq3zL8RBeD0soBMO7OHiw4RbH5XiUKkQx+8tJjhQkhVAShjc+eQwLz4dFH8EL7TLy1d7UHvnOHiIHf+ckBKxDubK6+TZb4YUib42NkAOM7zDsBkcZvH1xhudRkdRUh9cpweFFR6P4bVGX1OsCY9Hoq6eWc/+CWg17x752vAy7+EkadQexAkQXhBN8LQBr84+rbg6TJQ70D53HVDyLBHNZWcWYkwhRU6AU1VLmcvFWNviAoDAe6bpvYj87b0=","type":"thought"},{"id":"2pbbmcmz","type":"function_call","name":"get_weather","arguments":{"location":"Paris"}}],"object":"interaction","model":"gemini-2.5-flash"}' headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json Date: - - Thu, 30 Apr 2026 15:20:55 GMT + - Mon, 11 May 2026 14:36:26 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1366 + - gfet4t7; dur=1437 Transfer-Encoding: - chunked Vary: @@ -48,18 +50,20 @@ interactions: X-XSS-Protection: - '0' content-length: - - '943' + - '1010' status: code: 200 message: OK - request: - body: '{"input":[{"call_id":"jmxm3h01","result":{"forecast":"sunny"},"type":"function_result","name":"get_weather"}],"model":"gemini-2.5-flash","previous_interaction_id":"v1_ChdWblB6YVl6YUllU2xfUFVQenA2bHdRWRIXVm5QemFZemFJZVNsX1BVUHpwNmx3UVk","tools":[{"type":"function","description":"Get + body: '{"input":[{"call_id":"2pbbmcmz","result":{"forecast":"sunny"},"type":"function_result","name":"get_weather"}],"model":"gemini-2.5-flash","previous_interaction_id":"v1_ChdhZWtCYXF1S0tOaThfdU1QZ0l6ZzhBVRIXYWVrQmFxdUtLTmk4X3VNUGdJemc4QVU","tools":[{"type":"function","description":"Get the current weather for a location.","name":"get_weather","parameters":{"type":"object","properties":{"location":{"type":"string"}},"required":["location"]}}]}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate + Api-Revision: + - '2026-05-20' Connection: - keep-alive Content-Length: @@ -69,26 +73,26 @@ interactions: Host: - generativelanguage.googleapis.com User-Agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/interactions response: body: - string: '{"id":"v1_ChdWblB6YVl6YUllU2xfUFVQenA2bHdRWRIXV0hQemFjeV9BYnlOX1BVUG05bnVrQWc","status":"completed","outputs":[{"signature":"CiRlMjQ4MzBhNy01Y2Q2LTQyZmUtOTk4Yi1lZTUzOWU3MmI5YzM=","type":"thought"},{"text":"The - weather in Paris is sunny.","type":"text"}],"usage":{"total_tokens":61,"total_input_tokens":54,"input_tokens_by_modality":[{"modality":"text","tokens":54}],"total_cached_tokens":0,"total_output_tokens":7,"total_tool_use_tokens":0,"total_thought_tokens":0},"role":"model","created":"2026-04-30T15:20:57Z","updated":"2026-04-30T15:20:57Z","service_tier":"standard","object":"interaction","model":"gemini-2.5-flash"}' + string: '{"id":"v1_ChdhZWtCYXF1S0tOaThfdU1QZ0l6ZzhBVRIXYS1rQmFxeUtEb0szX3VNUF9PYmo0UU0","status":"completed","usage":{"total_tokens":61,"total_input_tokens":54,"input_tokens_by_modality":[{"modality":"text","tokens":54}],"total_cached_tokens":0,"total_output_tokens":7,"total_tool_use_tokens":0,"total_thought_tokens":0},"created":"2026-05-11T14:36:28Z","updated":"2026-05-11T14:36:28Z","service_tier":"standard","steps":[{"signature":"CiRlMjQ4MzBhNy01Y2Q2LTQyZmUtOTk4Yi1lZTUzOWU3MmI5YzM=","type":"thought"},{"content":[{"text":"The + weather in Paris is sunny.","type":"text"}],"type":"model_output"}],"object":"interaction","model":"gemini-2.5-flash"}' headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json Date: - - Thu, 30 Apr 2026 15:20:57 GMT + - Mon, 11 May 2026 14:36:28 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1135 + - gfet4t7; dur=913 Transfer-Encoding: - chunked Vary: @@ -102,7 +106,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '623' + - '642' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_multi_turn.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_multi_turn.yaml index 6dfb7a99..b2eeea5c 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_multi_turn.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_multi_turn.yaml @@ -18,33 +18,33 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-lite-preview:generateContent response: body: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": [\n {\n \"text\": \"You told me your name is Alice.\",\n - \ \"thoughtSignature\": \"EjQKMgEMOdbHNj+5wq7sOtMcTxFaMOvvTpGE2DcFYfXfV0lVaT6o18+5lVJQNSgoa4fpWCMD\"\n + \ \"thoughtSignature\": \"EjQKMgEMOdbHJN34zidomF7GbjUEgCKVVSqpaYWG+1FUAxQuFF/Fh8Iptw1I8CxzrdERrm5z\"\n \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": \"STOP\",\n \"index\": 0\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": 28,\n \"candidatesTokenCount\": 8,\n \"totalTokenCount\": 36,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 28\n - \ }\n ]\n },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n - \ \"responseId\": \"NnPzae3kAp-8_uMP0IucgA0\"\n}\n" + \ }\n ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": + \"gemini-3.1-flash-lite-preview\",\n \"responseId\": \"O-kBaryhB-iu_PUPt5a_2As\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:22 GMT + - Mon, 11 May 2026 14:35:39 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1395 + - gfet4t7; dur=777 Transfer-Encoding: - chunked Vary: @@ -60,7 +60,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '663' + - '694' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_prefill.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_prefill.yaml index 6c311de2..6c693a0b 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_prefill.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_prefill.yaml @@ -17,33 +17,33 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-lite-preview:generateContent response: body: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": - [\n {\n \"text\": \"\\n\\nLogic flows in lines,\\nSilent - keys tap out the code,\\nWorld built out of light.\"\n }\n ],\n + [\n {\n \"text\": \"\\n\\nLines of silent code,\\nLogic + flows in steady streams,\\nPrograms come to life.\"\n }\n ],\n \ \"role\": \"model\"\n },\n \"finishReason\": \"STOP\",\n \ \"index\": 0\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": - 15,\n \"candidatesTokenCount\": 21,\n \"totalTokenCount\": 36,\n \"promptTokensDetails\": + 15,\n \"candidatesTokenCount\": 19,\n \"totalTokenCount\": 34,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 15\n - \ }\n ]\n },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n - \ \"responseId\": \"O3PzaY-LFZ-8_uMP0IucgA0\"\n}\n" + \ }\n ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": + \"gemini-3.1-flash-lite-preview\",\n \"responseId\": \"QekBavyTB7TQ_uMP8Yaf8QE\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:27 GMT + - Mon, 11 May 2026 14:35:45 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=790 + - gfet4t7; dur=781 Transfer-Encoding: - chunked Vary: @@ -59,7 +59,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '608' + - '637' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_reasoning.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_reasoning.yaml index 2ccb7aef..43356227 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_reasoning.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_reasoning.yaml @@ -18,53 +18,55 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": - [\n {\n \"text\": \"**Unraveling the Sequence's Secret**\\n\\nAlright, - let's break this down. Given the sequence 2, 6, 12, 20, 30, my first instinct - is always to look for the most basic patterns. I'll start with the obvious:\\n\\n* - \ **Arithmetic progression:** Is there a constant difference between consecutive - terms? Let's check: 6 - 2 = 4, 12 - 6 = 6, 20 - 12 = 8. Nope, the differences - aren't constant. That eliminates a straightforward arithmetic series.\\n\",\n - \ \"thought\": true\n },\n {\n \"text\": - \"Let's break down the sequence:\\n\\n**The Sequence:**\\n2, 6, 12, 20, 30\\n\\n**1. - Finding the Pattern:**\\n\\n* **Differences between terms:**\\n * 6 - - 2 = 4\\n * 12 - 6 = 6\\n * 20 - 12 = 8\\n * 30 - 20 = 10\\n - \ The differences are 4, 6, 8, 10. This is an arithmetic progression, increasing - by 2 each time.\\n\\n* **Second differences:**\\n * 6 - 4 = 2\\n * - \ 8 - 6 = 2\\n * 10 - 8 = 2\\n Since the *second differences* are - constant (2), this indicates that the formula for the nth term will be a **quadratic - equation** of the form $an^2 + bn + c$.\\n\\n* **Alternative way to see - the pattern:**\\n * $2 = 1 \\\\times 2$\\n * $6 = 2 \\\\times 3$\\n - \ * $12 = 3 \\\\times 4$\\n * $20 = 4 \\\\times 5$\\n * $30 - = 5 \\\\times 6$\\n\\n This is a very clear and direct pattern! Each term - is the product of the term number ($n$) and the next consecutive integer ($n+1$).\\n\\n**2. - Formula for the nth term:**\\n\\nBased on the alternative pattern observation, - the formula is:\\n\\n$a_n = n \\\\times (n+1)$\\n\\nLet's test it:\\n* For - n=1: $a_1 = 1 \\\\times (1+1) = 1 \\\\times \"\n }\n ],\n - \ \"role\": \"model\"\n },\n \"finishReason\": \"MAX_TOKENS\",\n - \ \"index\": 0\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": - 39,\n \"candidatesTokenCount\": 396,\n \"totalTokenCount\": 546,\n \"promptTokensDetails\": - [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 39\n - \ }\n ],\n \"thoughtsTokenCount\": 111\n },\n \"modelVersion\": - \"gemini-2.5-flash\",\n \"responseId\": \"PnPzae7fI_2o_uMPy5mCiAg\"\n}\n" + [\n {\n \"text\": \"**My Analysis of the Sequence**\\n\\nOkay, + here's how I'm approaching this. The task is pretty straightforward: I've + got a sequence, 2, 6, 12, 20, 30, and my mission is to decipher the underlying + pattern and then nail down a general formula that'll give me any term I want. + It's the classic \\\"find the nth term\\\" problem, a bread and butter exercise + really.\\n\\nSo, where do I start? Well, first things first, let's list that + first value - 2. Time to start the analysis!\\n\",\n \"thought\": + true\n },\n {\n \"text\": \"Let's break down + the sequence:\\n\\n**1. Identifying the Pattern**\\n\\nLook at the differences + between consecutive terms:\\n* $6 - 2 = 4$\\n* $12 - 6 = 6$\\n* $20 + - 12 = 8$\\n* $30 - 20 = 10$\\n\\nThe differences are 4, 6, 8, 10. This + is an arithmetic progression (each term increases by 2).\\nSince the *first + differences* are not constant, but the *second differences* (the differences + between 4, 6, 8, 10) *are* constant (all 2), this indicates that the formula + for the nth term will be a **quadratic equation** (in the form $an^2 + bn + + c$).\\n\\n**Another way to see the pattern:**\\nObserve the terms in relation + to their position (n):\\n* $a_1 = 2 = 1 \\\\times 2$\\n* $a_2 = 6 = 2 + \\\\times 3$\\n* $a_3 = 12 = 3 \\\\times 4$\\n* $a_4 = 20 = 4 \\\\times + 5$\\n* $a_5 = 30 = 5 \\\\times 6$\\n\\n**The Pattern:** Each term is the + product of its position 'n' and the next consecutive integer (n+1).\\n\\n**2. + Formula for the nth Term**\\n\\nBased on the pattern identified above:\\n\\nThe + formula for the nth term, $a_n$, is:\\n$a_n = n \\\\times (n+1)$\\n\\nYou + can also expand this:\\n$a_n = n^2 + n$\\n\\nLet's test it:\\n* For n=1:\"\n + \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": + \"MAX_TOKENS\",\n \"index\": 0\n }\n ],\n \"usageMetadata\": {\n + \ \"promptTokenCount\": 39,\n \"candidatesTokenCount\": 402,\n \"totalTokenCount\": + 547,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 39\n }\n ],\n \"thoughtsTokenCount\": 106,\n + \ \"serviceTier\": \"standard\"\n },\n \"modelVersion\": \"gemini-2.5-flash\",\n + \ \"responseId\": \"ROkBavvSJ__g_uMP4ua5mAQ\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:34 GMT + - Mon, 11 May 2026 14:35:52 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=3531 + - gfet4t7; dur=4033 Transfer-Encoding: - chunked Vary: @@ -80,33 +82,34 @@ interactions: X-XSS-Protection: - '0' content-length: - - '2161' + - '2241' status: code: 200 message: OK - request: body: '{"contents": [{"parts": [{"text": "Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?"}], - "role": "user"}, {"parts": [{"text": "**Unraveling the Sequence''s Secret**\n\nAlright, - let''s break this down. Given the sequence 2, 6, 12, 20, 30, my first instinct - is always to look for the most basic patterns. I''ll start with the obvious:\n\n* **Arithmetic - progression:** Is there a constant difference between consecutive terms? Let''s - check: 6 - 2 = 4, 12 - 6 = 6, 20 - 12 = 8. Nope, the differences aren''t constant. - That eliminates a straightforward arithmetic series.\n", "thought": true}, {"text": - "Let''s break down the sequence:\n\n**The Sequence:**\n2, 6, 12, 20, 30\n\n**1. - Finding the Pattern:**\n\n* **Differences between terms:**\n * 6 - 2 - = 4\n * 12 - 6 = 6\n * 20 - 12 = 8\n * 30 - 20 = 10\n The - differences are 4, 6, 8, 10. This is an arithmetic progression, increasing by - 2 each time.\n\n* **Second differences:**\n * 6 - 4 = 2\n * 8 - - 6 = 2\n * 10 - 8 = 2\n Since the *second differences* are constant (2), - this indicates that the formula for the nth term will be a **quadratic equation** - of the form $an^2 + bn + c$.\n\n* **Alternative way to see the pattern:**\n * $2 - = 1 \\times 2$\n * $6 = 2 \\times 3$\n * $12 = 3 \\times 4$\n * $20 - = 4 \\times 5$\n * $30 = 5 \\times 6$\n\n This is a very clear and direct - pattern! Each term is the product of the term number ($n$) and the next consecutive - integer ($n+1$).\n\n**2. Formula for the nth term:**\n\nBased on the alternative - pattern observation, the formula is:\n\n$a_n = n \\times (n+1)$\n\nLet''s test - it:\n* For n=1: $a_1 = 1 \\times (1+1) = 1 \\times "}], "role": "model"}, + "role": "user"}, {"parts": [{"text": "**My Analysis of the Sequence**\n\nOkay, + here''s how I''m approaching this. The task is pretty straightforward: I''ve + got a sequence, 2, 6, 12, 20, 30, and my mission is to decipher the underlying + pattern and then nail down a general formula that''ll give me any term I want. + It''s the classic \"find the nth term\" problem, a bread and butter exercise + really.\n\nSo, where do I start? Well, first things first, let''s list that + first value - 2. Time to start the analysis!\n", "thought": true}, {"text": + "Let''s break down the sequence:\n\n**1. Identifying the Pattern**\n\nLook at + the differences between consecutive terms:\n* $6 - 2 = 4$\n* $12 - 6 = 6$\n* $20 + - 12 = 8$\n* $30 - 20 = 10$\n\nThe differences are 4, 6, 8, 10. This is an + arithmetic progression (each term increases by 2).\nSince the *first differences* + are not constant, but the *second differences* (the differences between 4, 6, + 8, 10) *are* constant (all 2), this indicates that the formula for the nth term + will be a **quadratic equation** (in the form $an^2 + bn + c$).\n\n**Another + way to see the pattern:**\nObserve the terms in relation to their position (n):\n* $a_1 + = 2 = 1 \\times 2$\n* $a_2 = 6 = 2 \\times 3$\n* $a_3 = 12 = 3 \\times 4$\n* $a_4 + = 20 = 4 \\times 5$\n* $a_5 = 30 = 5 \\times 6$\n\n**The Pattern:** Each term + is the product of its position ''n'' and the next consecutive integer (n+1).\n\n**2. + Formula for the nth Term**\n\nBased on the pattern identified above:\n\nThe + formula for the nth term, $a_n$, is:\n$a_n = n \\times (n+1)$\n\nYou can also + expand this:\n$a_n = n^2 + n$\n\nLet''s test it:\n* For n=1:"}], "role": "model"}, {"parts": [{"text": "Using the pattern you discovered, what would be the 10th term? And can you find the sum of the first 10 terms?"}], "role": "user"}], "generationConfig": {"maxOutputTokens": 512, "thinkingConfig": {"include_thoughts": @@ -119,57 +122,58 @@ interactions: Connection: - keep-alive Content-Length: - - '2042' + - '2091' Content-Type: - application/json Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": - [\n {\n \"text\": \"**Calculating the 10th Term of a Sequence**\\n\\nOkay, - here's how I'm approaching this. First, I need to identify the underlying - structure, the pattern. Right, the sequence is defined by each term being - the product of a number and its successor \u2013 that's $n \\\\times (n+1)$. - I immediately recognize this as having the general formula: $a_n = n(n+1)$.\\n\\nNow, - the task is to find the 10th term, which means determining $a_{10}$. I simply - apply the formula I've identified, substituting $n=10$: $a_{10} = 10 \\\\times - (10+1)$. That's straightforward enough to compute.\\n\",\n \"thought\": - true\n },\n {\n \"text\": \"Okay, let's use the - pattern and formula we discovered: $a_n = n(n+1)$.\\n\\n**1. Finding the 10th - term:**\\n\\nTo find the 10th term, we set $n = 10$ in our formula:\\n\\n$a_{10} + [\n {\n \"text\": \"**My Approach to Finding the 10th + Term**\\n\\nOkay, here's how I'm tackling this. First, I immediately recognize + the underlying pattern. Each term in this sequence appears to be the product + of a number and its successor. That's my immediate observation: the pattern + is basically $n$ multiplied by $(n+1)$. So, the general formula that describes + this sequence must be $a_n = n(n+1)$, or, expanding that out, $a_n = n^2 + + n$.\\n\\nNow, the question specifically wants the 10th term. That tells me + that I need to substitute $n=10$ into my formula. It's a straightforward application + of the formula. Let's get to it!\\n\",\n \"thought\": true\n },\n + \ {\n \"text\": \"Okay, let's use the pattern and formula + we found:\\n\\n**1. Finding the 10th Term ($a_{10}$)**\\n\\nThe formula for + the nth term is $a_n = n(n+1)$.\\nTo find the 10th term, we set $n=10$:\\n\\n$a_{10} = 10 \\\\times (10 + 1)$\\n$a_{10} = 10 \\\\times 11$\\n$a_{10} = 110$\\n\\nSo, - the 10th term in the sequence is **110**.\\n\\n**2. Finding the sum of the - first 10 terms:**\\n\\nTo find the sum of the first 10 terms ($S_{10}$), we - need to calculate each of the first 10 terms and then add them together.\\n\\nThe - terms are:\\n* $a_1 = 1 \\\\times 2 = 2$\\n* $a_2 = 2 \\\\times 3 = 6$\\n* - \ $a_3 = 3 \\\\times 4 = 12$\\n* $a_4 = 4 \\\\times 5 = 20$\\n* $a_5 - = 5 \\\\times 6 = 30$\\n* $a_6 = 6 \\\\times 7 = 42$\\n* $a_7 = 7 \\\\times - 8 = 56$\\n* $a_8 = 8 \\\\times 9 = 72$\\n* $a_9 = 9 \\\\times 10 = 90$\\n* - \ $a_{10} = 10 \\\\times 11 = 110$\\n\\nNow, let's\"\n }\n ],\n - \ \"role\": \"model\"\n },\n \"finishReason\": \"MAX_TOKENS\",\n - \ \"index\": 0\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": - 598,\n \"candidatesTokenCount\": 384,\n \"totalTokenCount\": 1106,\n - \ \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n - \ \"tokenCount\": 598\n }\n ],\n \"thoughtsTokenCount\": - 124\n },\n \"modelVersion\": \"gemini-2.5-flash\",\n \"responseId\": \"QnPzae6cE_ub_uMP4bq--Ac\"\n}\n" + the **10th term is 110**.\\n\\n**2. Finding the Sum of the First 10 Terms + ($S_{10}$)**\\n\\nTo find the sum of the first 10 terms, we need to sum $a_n + = n(n+1)$ for $n=1$ to $10$.\\nThis is $S_N = \\\\sum_{n=1}^{N} n(n+1) = \\\\sum_{n=1}^{N} + (n^2 + n)$.\\n\\nWe can use known summation formulas:\\n* $\\\\sum_{n=1}^{N} + n = \\\\frac{N(N+1)}{2}$\\n* $\\\\sum_{n=1}^{N} n^2 = \\\\frac{N(N+1)(2N+1)}{6}$\\n\\nFor + N=10:\\n\\n$S_{10} = \\\\sum_{n=1}^{10} n^2 + \\\\sum_{n=1}^{10} n$\\n\\n$S_{10} + = \\\\frac{10(10+1)(2 \\\\times 10+1)}{6} + \\\\frac{10(10+1)}{2}$\\n$S_{10} + = \\\\frac{10(11)(21)}{\"\n }\n ],\n \"role\": \"model\"\n + \ },\n \"finishReason\": \"MAX_TOKENS\",\n \"index\": 0\n }\n + \ ],\n \"usageMetadata\": {\n \"promptTokenCount\": 602,\n \"candidatesTokenCount\": + 403,\n \"totalTokenCount\": 1110,\n \"promptTokensDetails\": [\n {\n + \ \"modality\": \"TEXT\",\n \"tokenCount\": 602\n }\n ],\n + \ \"thoughtsTokenCount\": 105,\n \"serviceTier\": \"standard\"\n },\n + \ \"modelVersion\": \"gemini-2.5-flash\",\n \"responseId\": \"SOkBapbkNbPf_uMPgZzn0QQ\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:38 GMT + - Mon, 11 May 2026 14:35:56 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=3880 + - gfet4t7; dur=3989 Transfer-Encoding: - chunked Vary: @@ -185,7 +189,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '1996' + - '2092' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_short_max_tokens.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_short_max_tokens.yaml index 67f435ef..92004d2c 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_short_max_tokens.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_short_max_tokens.yaml @@ -16,33 +16,34 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-lite-preview:generateContent response: body: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": [\n {\n \"text\": \"At\",\n \"thoughtSignature\": - \"EjQKMgEMOdbHYgxlP6YwEYN9nXjnXpB+GlG+s6Cn8hXz+n0FG/fk94lIc+euZsfnaom9RaK4\"\n + \"EjQKMgEMOdbH8HzyaxxIP13rSIrls4CYGht844EKR7ErpROTUnBRkkjmy0z0RzeuYr+DqrC6\"\n \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": \"MAX_TOKENS\",\n \"index\": 0\n }\n ],\n \"usageMetadata\": {\n \ \"promptTokenCount\": 5,\n \"candidatesTokenCount\": 1,\n \"totalTokenCount\": 6,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n - \ \"tokenCount\": 5\n }\n ]\n },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n - \ \"responseId\": \"PHPzacX_GKCW_uMP-vzmwQc\"\n}\n" + \ \"tokenCount\": 5\n }\n ],\n \"serviceTier\": \"standard\"\n + \ },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n \"responseId\": + \"QukBaob4BqC6_uMPteO3mQw\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:28 GMT + - Mon, 11 May 2026 14:35:46 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=938 + - gfet4t7; dur=726 Transfer-Encoding: - chunked Vary: @@ -58,7 +59,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '637' + - '668' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_stop_sequences.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_stop_sequences.yaml index 68afceba..86f20813 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_stop_sequences.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_stop_sequences.yaml @@ -17,36 +17,36 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-lite-preview:generateContent response: body: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": - [\n {\n \"text\": \"Unit 734, known to the household as - \\\"Artie,\\\" was designed for precision. His internal gyroscope ensured - he never spilled a drop of tea, and his memory banks could recall the exact - temperature preference of every member of the Miller family.\",\n \"thoughtSignature\": - \"EjQKMgEMOdbHP7RP9whM87EmbVrjPfJOmKy7WKeERs5QDBNlga/Zzu6aDwlqK5mYimazFQ9V\"\n + [\n {\n \"text\": \"Unit 734, known to the local scrapyard + staff as \\\"Seven,\\\" spent his days categorizing rusted heaps of metal. + His internal clock ticked with rhythmic precision, a constant hum against + the silence of the junk heap. \",\n \"thoughtSignature\": \"EjQKMgEMOdbHlBzoSdpJ6UxVSY/Dtxs6eWSul4F/ITiSynyQSH4pWbvI4nFfuvZmPOroBB0f\"\n \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": \"MAX_TOKENS\",\n \"index\": 0\n }\n ],\n \"usageMetadata\": {\n - \ \"promptTokenCount\": 9,\n \"candidatesTokenCount\": 50,\n \"totalTokenCount\": - 59,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n - \ \"tokenCount\": 9\n }\n ]\n },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n - \ \"responseId\": \"OnPzacWxGvC1_uMPi9nQuQw\"\n}\n" + \ \"promptTokenCount\": 9,\n \"candidatesTokenCount\": 47,\n \"totalTokenCount\": + 56,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n + \ \"tokenCount\": 9\n }\n ],\n \"serviceTier\": \"standard\"\n + \ },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n \"responseId\": + \"PekBavGeDIXP_uMP14WP0QQ\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:26 GMT + - Mon, 11 May 2026 14:35:44 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=2955 + - gfet4t7; dur=3703 Transfer-Encoding: - chunked Vary: @@ -62,7 +62,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '879' + - '882' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_system_prompt.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_system_prompt.yaml index 9c01594b..7c80540a 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_system_prompt.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_system_prompt.yaml @@ -18,40 +18,41 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-lite-preview:generateContent response: body: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": - [\n {\n \"text\": \"Ahoy there, matey! \\n\\nCast yer - gaze toward the horizon! The sky be lookin' a mite moody today. The wind be - whistlin' through the riggin' like a banshee in a gale, and there be clouds - gatherin' thick as black ink over the fo'c'sle. \\n\\nIf ye be plannin' to - weigh anchor, ye\u2019d best batten down the hatches and lash yer gear tight! - The sea be churnin' like a witch\u2019s cauldron, and I reckon we\u2019ve - got a proper squall brewin'. Either that, or the sun be playin' peek-a-boo - behind the mist, hopin' to lure us into\",\n \"thoughtSignature\": - \"EjQKMgEMOdbHrxjIC8bbpCwek/nM72SWnNVTv2PavOcK2VCILrpI+b39KWLpVlClYbpfnE8C\"\n + [\n {\n \"text\": \"Gather 'round, ye scurvy dog, and + listen well! \\n\\nThe winds be howlin' like a banshee trapped in the riggin' + today! The sky\u2019s a moody shade of bruise-purple, lookin' like a storm's + brewin' on the horizon, ready to swallow the sun whole. The salt spray be + stingin' me good eye, and the tides be pullin' fierce against the hull\u2014sure + sign the sea god Neptune\u2019s havin' a rowdy time of it down below.\\n\\nIf + ye be plannin' to set sail, batten down the hatches and lash the rum barrels + tight, for there be choppy waters and gale-force gusts ahead.\",\n \"thoughtSignature\": + \"EjQKMgEMOdbHUR4rGMBefgGimMAy+1IGmVRc1Z+cTWVZ7uTregv+inxnUSxA1bUiaW2yg/sk\"\n \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": \"MAX_TOKENS\",\n \"index\": 0\n }\n ],\n \"usageMetadata\": {\n \ \"promptTokenCount\": 19,\n \"candidatesTokenCount\": 146,\n \"totalTokenCount\": 165,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n - \ \"tokenCount\": 19\n }\n ]\n },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n - \ \"responseId\": \"NHPzabTBH4ud_uMP3ZrJmAc\"\n}\n" + \ \"tokenCount\": 19\n }\n ],\n \"serviceTier\": \"standard\"\n + \ },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n \"responseId\": + \"OekBaoS1IcHg_uMP9ZfvwQ8\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:20 GMT + - Mon, 11 May 2026 14:35:38 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1540 + - gfet4t7; dur=1474 Transfer-Encoding: - chunked Vary: @@ -67,7 +68,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '1155' + - '1219' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_temperature_and_top_p.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_temperature_and_top_p.yaml index 0689c325..6f0111ef 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_temperature_and_top_p.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_temperature_and_top_p.yaml @@ -17,35 +17,36 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-lite-preview:generateContent response: body: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": - [\n {\n \"text\": \"The moon is a silver needle stitching - the night to the morning, pulling the dark edges of the world together until - they fray into dawn. \\n\\nIf you listen closely, you can hear the stars humming\u2014not - a melody, but\",\n \"thoughtSignature\": \"EjQKMgEMOdbHSRvhiINefe+vdhm3Q8dMrhDpjXwsnUWfuvgCKIiGUBnu07o0p3wuWjq7bpEU\"\n + [\n {\n \"text\": \"The stars are not lights in the sky; + they are the pinpricks in the velvet curtain of the universe, letting the + blinding glow of the \\\"elsewhere\\\" leak through. \\n\\nIf you stare at + them long enough,\",\n \"thoughtSignature\": \"EjQKMgEMOdbHz2IZhe6Fc8JJB/oAkYJp45OH0fjjYIksR1fYikKmL11j1Ve8WUSCW+u8LqVc\"\n \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": \"MAX_TOKENS\",\n \"index\": 0\n }\n ],\n \"usageMetadata\": {\n \ \"promptTokenCount\": 5,\n \"candidatesTokenCount\": 46,\n \"totalTokenCount\": 51,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n - \ \"tokenCount\": 5\n }\n ]\n },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n - \ \"responseId\": \"N3PzafKvCI29_uMPvs3owAI\"\n}\n" + \ \"tokenCount\": 5\n }\n ],\n \"serviceTier\": \"standard\"\n + \ },\n \"modelVersion\": \"gemini-3.1-flash-lite-preview\",\n \"responseId\": + \"POkBavrNA__g_uMP4ua5mAQ\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:23 GMT + - Mon, 11 May 2026 14:35:40 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=917 + - gfet4t7; dur=755 Transfer-Encoding: - chunked Vary: @@ -61,7 +62,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '850' + - '865' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_tool_use[stream].yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_tool_use[stream].yaml index 97ecac39..14bb837f 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_tool_use[stream].yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_tool_use[stream].yaml @@ -21,21 +21,21 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse response: body: string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"functionCall\": {\"name\": \"get_weather\",\"args\": {\"location\": \"Paris, France\"}},\"thoughtSignature\": - \"CiQBDDnWxye+jzxCa6y1kdapnehxIFpCpzncWrc24mqJuwZjLU8KXgEMOdbH8rpA4sKG9VZLm9PW89jffX2v5fzxpil1bhM91WIv4HfuckAWEqhbL2ItZUb3jpxbHDuMFbdFVXjVRk2wtEOT9HK0MDh10WjlzCw0bzWv3SiYHFZ+vUibZ4oKgwIBDDnWxzxvpVrcZnxG8bEFnb077snisIJjPiFqdBJ/GvbWbUJII9+W5YtnoxWEfY1UjicQnddJyoePFmm69FRrBawrHg5LaFniytVTpyO4chZPSywmKgYWzpb6gdAwa/6qoYKgDqYJLlcOXKIn2tU3Zw+oRyPRBlfrNs/Xq9tYrkBTteGTdHYg8SdtLFe5Oa0+BniELQ6e/zSiI4PTE9EnznFxor3mbLKRbqZD+Y5SY52No3ROA9GxxfvcmMkiOfwlmTpw7sRHUloxlCq1U9kP3Ew5Pnb0vR6G1pUbVuM0nJS8pN4mGCzVl9IZOwx9F0GD90o904LaJpFDqpmDwJjQ1sYv\"}],\"role\": + \"CiQBDDnWx5pxAqdVubIDVqV6k85kf8fmyYhK95+o4B/+ris9WBYKXgEMOdbHcvGPJ1OJo7NnO1RwVvyjT+aqcrWfzy/oS02uqK9D/iKKK4UepncA0s3xnUQUQpZeNR3/h5uib2vb/IU859d3oHQl8PowiwV3osDCCeaV9IJsOoblqkjLHVgK7QEBDDnWxwvzzAGeGVmNWpUJvhGFv5CGMxSmE8Bh+DO8gySj29KdxijrrqFMAVLKWDdC0SYsHepoIt+05xO2RRBWDU//+yj9C1elEzrx9p3RmW90z5W0xva9ffD4HYM3Qn9JNzEEfQKADi+rJJj2DNLBg8IaHoWcJM+SD1T6NfYVHFNM7RZZlVZAkQSyEKvUHfKC8bO9tqNDeLp6d9MecCK9DO8cQecaS4FiLAOp4QfZCsXGWW/9RGKN6MXU0mtTH7M4xoIrIXDdfg8GXJDzpnovT1txosXFTD3KS3Ek0yORvILP5g6KEjia/PFi/aM=\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0,\"finishMessage\": \"Model generated function call(s).\"}],\"usageMetadata\": {\"promptTokenCount\": 104,\"candidatesTokenCount\": 17,\"totalTokenCount\": 188,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 104}],\"thoughtsTokenCount\": 67},\"modelVersion\": - \"gemini-2.5-flash\",\"responseId\": \"LHPzaaewD6Th_uMP0IyDoQg\"}\r\n\r\n" + [{\"modality\": \"TEXT\",\"tokenCount\": 104}],\"thoughtsTokenCount\": 67,\"serviceTier\": + \"standard\"},\"modelVersion\": \"gemini-2.5-flash\",\"responseId\": \"NOkBauLvEZef_uMPp72iCQ\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -44,11 +44,11 @@ interactions: Content-Type: - text/event-stream Date: - - Thu, 30 Apr 2026 15:20:13 GMT + - Mon, 11 May 2026 14:35:33 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=900 + - gfet4t7; dur=822 Transfer-Encoding: - chunked Vary: @@ -67,7 +67,7 @@ interactions: - request: body: '{"contents": [{"parts": [{"text": "What is the weather like in Paris, France?"}], "role": "user"}, {"parts": [{"functionCall": {"args": {"location": "Paris, France"}, - "name": "get_weather"}, "thoughtSignature": "CiQBDDnWxye-jzxCa6y1kdapnehxIFpCpzncWrc24mqJuwZjLU8KXgEMOdbH8rpA4sKG9VZLm9PW89jffX2v5fzxpil1bhM91WIv4HfuckAWEqhbL2ItZUb3jpxbHDuMFbdFVXjVRk2wtEOT9HK0MDh10WjlzCw0bzWv3SiYHFZ-vUibZ4oKgwIBDDnWxzxvpVrcZnxG8bEFnb077snisIJjPiFqdBJ_GvbWbUJII9-W5YtnoxWEfY1UjicQnddJyoePFmm69FRrBawrHg5LaFniytVTpyO4chZPSywmKgYWzpb6gdAwa_6qoYKgDqYJLlcOXKIn2tU3Zw-oRyPRBlfrNs_Xq9tYrkBTteGTdHYg8SdtLFe5Oa0-BniELQ6e_zSiI4PTE9EnznFxor3mbLKRbqZD-Y5SY52No3ROA9GxxfvcmMkiOfwlmTpw7sRHUloxlCq1U9kP3Ew5Pnb0vR6G1pUbVuM0nJS8pN4mGCzVl9IZOwx9F0GD90o904LaJpFDqpmDwJjQ1sYv"}], + "name": "get_weather"}, "thoughtSignature": "CiQBDDnWx5pxAqdVubIDVqV6k85kf8fmyYhK95-o4B_-ris9WBYKXgEMOdbHcvGPJ1OJo7NnO1RwVvyjT-aqcrWfzy_oS02uqK9D_iKKK4UepncA0s3xnUQUQpZeNR3_h5uib2vb_IU859d3oHQl8PowiwV3osDCCeaV9IJsOoblqkjLHVgK7QEBDDnWxwvzzAGeGVmNWpUJvhGFv5CGMxSmE8Bh-DO8gySj29KdxijrrqFMAVLKWDdC0SYsHepoIt-05xO2RRBWDU__-yj9C1elEzrx9p3RmW90z5W0xva9ffD4HYM3Qn9JNzEEfQKADi-rJJj2DNLBg8IaHoWcJM-SD1T6NfYVHFNM7RZZlVZAkQSyEKvUHfKC8bO9tqNDeLp6d9MecCK9DO8cQecaS4FiLAOp4QfZCsXGWW_9RGKN6MXU0mtTH7M4xoIrIXDdfg8GXJDzpnovT1txosXFTD3KS3Ek0yORvILP5g6KEjia_PFi_aM="}], "role": "model"}, {"parts": [{"functionResponse": {"name": "get_weather", "response": {"result": "22 degrees celsius and sunny in Paris, France"}}}], "role": "user"}], "tools": [{"functionDeclarations": [{"description": "Get the current weather @@ -84,28 +84,30 @@ interactions: Connection: - keep-alive Content-Length: - - '1364' + - '1336' Content-Type: - application/json Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse response: body: - string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"The\"}],\"role\": - \"model\"},\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 212,\"candidatesTokenCount\": - 1,\"totalTokenCount\": 213,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": - 212}]},\"modelVersion\": \"gemini-2.5-flash\",\"responseId\": \"LXPzaZHbEay6_uMP-fHewQs\"}\r\n\r\ndata: - {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" weather in Paris, - France is 22 degrees Celsius and sunny.\"}],\"role\": \"model\"},\"finishReason\": - \"STOP\",\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 212,\"candidatesTokenCount\": + string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"The + weather in Paris\"}],\"role\": \"model\"},\"index\": 0}],\"usageMetadata\": + {\"promptTokenCount\": 212,\"candidatesTokenCount\": 4,\"totalTokenCount\": + 216,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 212}],\"serviceTier\": + \"standard\"},\"modelVersion\": \"gemini-2.5-flash\",\"responseId\": \"NekBavvNDu6c_uMPnp-boAc\"}\r\n\r\ndata: + {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \", France is 22 degrees + celsius and sunny.\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": + 0}],\"usageMetadata\": {\"promptTokenCount\": 212,\"candidatesTokenCount\": 15,\"totalTokenCount\": 227,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": - 212}]},\"modelVersion\": \"gemini-2.5-flash\",\"responseId\": \"LXPzaZHbEay6_uMP-fHewQs\"}\r\n\r\n" + 212}],\"serviceTier\": \"standard\"},\"modelVersion\": \"gemini-2.5-flash\",\"responseId\": + \"NekBavvNDu6c_uMPnp-boAc\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -114,11 +116,11 @@ interactions: Content-Type: - text/event-stream Date: - - Thu, 30 Apr 2026 15:20:13 GMT + - Mon, 11 May 2026 14:35:33 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=523 + - gfet4t7; dur=410 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_tool_use[sync].yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_tool_use[sync].yaml index bb9a2958..cd9a37e5 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_tool_use[sync].yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_tool_use[sync].yaml @@ -21,9 +21,9 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: @@ -31,25 +31,25 @@ interactions: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": [\n {\n \"functionCall\": {\n \"name\": \"get_weather\",\n \ \"args\": {\n \"location\": \"Paris, France\"\n - \ }\n },\n \"thoughtSignature\": \"Cs8CAQw51seZtMdEfjnfkJSpVeL0XESkRkvbnhpZLkFofR/MS0jmW8zp8z09uhjnKWl/7c74reymmXacHyoNpVkvoBEJaq0Rdj2/93eqeYqbJFaQhFfBoF2VS4HDZny3xMBRj3rLwh8yuV8EdW/khoZE7O6F/yarPDwa7a0KNqeJbtrggPpWGdJl20Aqh4kIEuqfAwrxvgNyRkADihHKNEie/CUcSG4s1MLqHmU1FUSBzRy3hXphWXlirBFynO+MTPMZhm79nM22r67fCfdiR9Z8x99kUfDaChh+9FvM3ZXJvD5Hn33veq3Zx9eQgBSixoDdYZXZZgWME1R1k3b5YtO09X0ht+bHbtcejUO0ehH4RhEKlGK/MAw3B5uuhBJ84mSSPAutyKm8VD8hFLBtWjvexJd2lP5NTNlCX9pxgLmlImE7qFUMxbg8Na2VOBPK7cY=\"\n + \ }\n },\n \"thoughtSignature\": \"CsMCAQw51sezaTaRal/NlzeGHq6OVVd295jfKSb62kdF91Faz4Co+dg6cLv45pnsGk1IkYJjDzqBSOixuYSnXJ2SBoKEEwjYh36lkX+Gh67z1VyP5n0zGp8pes1hyV2dZCL7u4gjRkhQeRGot89V4YSjfc3xoc2wlJygrCB9OW5B2cU9Hy+FZ0uKjn/GArVs1DgvzigXX3NBfl//HlOz8HjnBbd+iL8/45y7WD93713Ui05fMLWOwS1E69KWR/kQL46fos10r3J0lbTMiDnKmx23p3ytLIc1MnHEgVrh/GSOvP6udLaHbG5VPHU5JCfBi6AAX6uvGs7N3252npBfIaZPkT6JDRtMbms8mRwSUgPUJNS6GwOPsuHTeUVfBgSW+4lYw+HZlMO+BMz8lhCi82qxssfCmvJddNsIYyNU5A0MXAhQqXU=\"\n \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": \"STOP\",\n \"index\": 0,\n \"finishMessage\": \"Model generated function call(s).\"\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": - 104,\n \"candidatesTokenCount\": 17,\n \"totalTokenCount\": 191,\n \"promptTokensDetails\": + 104,\n \"candidatesTokenCount\": 17,\n \"totalTokenCount\": 188,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 104\n - \ }\n ],\n \"thoughtsTokenCount\": 70\n },\n \"modelVersion\": - \"gemini-2.5-flash\",\n \"responseId\": \"KXPzafHSOIud_uMP3ZrJmAc\"\n}\n" + \ }\n ],\n \"thoughtsTokenCount\": 67,\n \"serviceTier\": \"standard\"\n + \ },\n \"modelVersion\": \"gemini-2.5-flash\",\n \"responseId\": \"MukBaszoLsq-_uMPkPWqwQs\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:10 GMT + - Mon, 11 May 2026 14:35:31 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=854 + - gfet4t7; dur=849 Transfer-Encoding: - chunked Vary: @@ -65,14 +65,14 @@ interactions: X-XSS-Protection: - '0' content-length: - - '1235' + - '1250' status: code: 200 message: OK - request: body: '{"contents": [{"parts": [{"text": "What is the weather like in Paris, France?"}], "role": "user"}, {"parts": [{"functionCall": {"args": {"location": "Paris, France"}, - "name": "get_weather"}, "thoughtSignature": "Cs8CAQw51seZtMdEfjnfkJSpVeL0XESkRkvbnhpZLkFofR_MS0jmW8zp8z09uhjnKWl_7c74reymmXacHyoNpVkvoBEJaq0Rdj2_93eqeYqbJFaQhFfBoF2VS4HDZny3xMBRj3rLwh8yuV8EdW_khoZE7O6F_yarPDwa7a0KNqeJbtrggPpWGdJl20Aqh4kIEuqfAwrxvgNyRkADihHKNEie_CUcSG4s1MLqHmU1FUSBzRy3hXphWXlirBFynO-MTPMZhm79nM22r67fCfdiR9Z8x99kUfDaChh-9FvM3ZXJvD5Hn33veq3Zx9eQgBSixoDdYZXZZgWME1R1k3b5YtO09X0ht-bHbtcejUO0ehH4RhEKlGK_MAw3B5uuhBJ84mSSPAutyKm8VD8hFLBtWjvexJd2lP5NTNlCX9pxgLmlImE7qFUMxbg8Na2VOBPK7cY="}], + "name": "get_weather"}, "thoughtSignature": "CsMCAQw51sezaTaRal_NlzeGHq6OVVd295jfKSb62kdF91Faz4Co-dg6cLv45pnsGk1IkYJjDzqBSOixuYSnXJ2SBoKEEwjYh36lkX-Gh67z1VyP5n0zGp8pes1hyV2dZCL7u4gjRkhQeRGot89V4YSjfc3xoc2wlJygrCB9OW5B2cU9Hy-FZ0uKjn_GArVs1DgvzigXX3NBfl__HlOz8HjnBbd-iL8_45y7WD93713Ui05fMLWOwS1E69KWR_kQL46fos10r3J0lbTMiDnKmx23p3ytLIc1MnHEgVrh_GSOvP6udLaHbG5VPHU5JCfBi6AAX6uvGs7N3252npBfIaZPkT6JDRtMbms8mRwSUgPUJNS6GwOPsuHTeUVfBgSW-4lYw-HZlMO-BMz8lhCi82qxssfCmvJddNsIYyNU5A0MXAhQqXU="}], "role": "model"}, {"parts": [{"functionResponse": {"name": "get_weather", "response": {"result": "22 degrees celsius and sunny in Paris, France"}}}], "role": "user"}], "tools": [{"functionDeclarations": [{"description": "Get the current weather @@ -89,15 +89,15 @@ interactions: Connection: - keep-alive Content-Length: - - '1288' + - '1272' Content-Type: - application/json Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: @@ -108,19 +108,20 @@ interactions: \ },\n \"finishReason\": \"STOP\",\n \"index\": 0\n }\n ],\n \ \"usageMetadata\": {\n \"promptTokenCount\": 145,\n \"candidatesTokenCount\": 15,\n \"totalTokenCount\": 160,\n \"promptTokensDetails\": [\n {\n - \ \"modality\": \"TEXT\",\n \"tokenCount\": 145\n }\n ]\n - \ },\n \"modelVersion\": \"gemini-2.5-flash\",\n \"responseId\": \"KnPzaez3PLiv_uMPv6GQmAg\"\n}\n" + \ \"modality\": \"TEXT\",\n \"tokenCount\": 145\n }\n ],\n + \ \"serviceTier\": \"standard\"\n },\n \"modelVersion\": \"gemini-2.5-flash\",\n + \ \"responseId\": \"M-kBauTuLcfR_uMP_JaW8QM\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:11 GMT + - Mon, 11 May 2026 14:35:32 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1048 + - gfet4t7; dur=410 Transfer-Encoding: - chunked Vary: @@ -136,7 +137,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '576' + - '607' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_tool_use_async[async].yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_tool_use_async[async].yaml index 661eb3c0..328d1dff 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_tool_use_async[async].yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_tool_use_async[async].yaml @@ -21,9 +21,9 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: @@ -31,25 +31,25 @@ interactions: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": [\n {\n \"functionCall\": {\n \"name\": \"get_weather\",\n \ \"args\": {\n \"location\": \"Paris, France\"\n - \ }\n },\n \"thoughtSignature\": \"Cs8CAQw51seRhh0DMaXZsnhNcQmD2b1mDF5DPIqWCBvIstyNi6XG30A0H6qbiud0H5E/LWTGLogqBp2V5WV6wlR9xhAcvURjP9nOcTDcCv29JP7jqWMd/CzazDloZ2lhLLpOi4nKHTDX2PFXc/ZRISwt8XqoGoBStDn9kXQ565LK6KuuQQw9TlFzy05/MBck6LEnYl9tFWaB+mUalROylgeDta6PsVX90xwcV/CKQSFnQprVu0+po342g/6wx5PX7clfp6u+5teO4iqJ9/ou+bFK1ZffzXjPIZfQLmQE7BFfDUQF04bZUPEkxt1C0pgbSgRZ78QpXQ+YoBeb+9fq/yLnocjatL/d2Opi9U/klHizoiCXis/3YHn4bMEOb5pBS3fVIl6eSbvIUckg2fIUfhFLBHYZ1gp9xmRqNPLajkoRIdt9gPzmJ1SVtUkLVX1gnu0=\"\n + \ }\n },\n \"thoughtSignature\": \"CogDAQw51sdEbcKZoWjZXX5f7PgW3zHKloQYY5SGbjoOwWE6ZEmx5eQh04MdHPvSlI/ev2vs2/FDUD10uhXf7SStXtzu5B3zbbnZX/iTYX/JH2iYaUaPgrAmPL/EzKr5y58s31ekSB8r1DlkYrqrzM/IdcUBk4K/B+QkgOQMcEXX7Rz8N6UIgUyQv4Ny6X1UXhos80bmYLbkeQAdoLYUEugIcn2Qh8mllzY8tElC6kaEIVl8eJ9U4wa7Kjlwiw7xV9hxz7R/MmJ/1/v9bj0riq5ibUKhLX47EkF3IE6wSNkifRg2SjDLx19VO5EoysSili/zP/H3PNDrz8ooq7tHoZtz8fOA+1WYPKrWa8JclibCxNzQVMT78nPQS4BPEa/ZB9ClthCkE+ueIPevnq5MrIG05BrzipU5t0+QnQ15jL3DBL8XC3CzLu32saa8cOymPPFbUbQ6QWpVsYt5sMAKmV9/9FnL6br8W7Mkd7X8/rVLuR6DZJaMOswWR1ScXQqa6a6c9knQp3yM/MA=\"\n \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": \"STOP\",\n \"index\": 0,\n \"finishMessage\": \"Model generated function call(s).\"\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": - 104,\n \"candidatesTokenCount\": 17,\n \"totalTokenCount\": 191,\n \"promptTokensDetails\": + 104,\n \"candidatesTokenCount\": 17,\n \"totalTokenCount\": 207,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 104\n - \ }\n ],\n \"thoughtsTokenCount\": 70\n },\n \"modelVersion\": - \"gemini-2.5-flash\",\n \"responseId\": \"LnPzaZSDAfnm_uMPocGv8Ao\"\n}\n" + \ }\n ],\n \"thoughtsTokenCount\": 86,\n \"serviceTier\": \"standard\"\n + \ },\n \"modelVersion\": \"gemini-2.5-flash\",\n \"responseId\": \"NekBatiAMZef_uMPp72iCQ\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:15 GMT + - Mon, 11 May 2026 14:35:34 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=1887 + - gfet4t7; dur=960 Transfer-Encoding: - chunked Vary: @@ -65,14 +65,14 @@ interactions: X-XSS-Protection: - '0' content-length: - - '1235' + - '1341' status: code: 200 message: OK - request: body: '{"contents": [{"parts": [{"text": "What is the weather like in Paris, France?"}], "role": "user"}, {"parts": [{"functionCall": {"args": {"location": "Paris, France"}, - "name": "get_weather"}, "thoughtSignature": "Cs8CAQw51seRhh0DMaXZsnhNcQmD2b1mDF5DPIqWCBvIstyNi6XG30A0H6qbiud0H5E_LWTGLogqBp2V5WV6wlR9xhAcvURjP9nOcTDcCv29JP7jqWMd_CzazDloZ2lhLLpOi4nKHTDX2PFXc_ZRISwt8XqoGoBStDn9kXQ565LK6KuuQQw9TlFzy05_MBck6LEnYl9tFWaB-mUalROylgeDta6PsVX90xwcV_CKQSFnQprVu0-po342g_6wx5PX7clfp6u-5teO4iqJ9_ou-bFK1ZffzXjPIZfQLmQE7BFfDUQF04bZUPEkxt1C0pgbSgRZ78QpXQ-YoBeb-9fq_yLnocjatL_d2Opi9U_klHizoiCXis_3YHn4bMEOb5pBS3fVIl6eSbvIUckg2fIUfhFLBHYZ1gp9xmRqNPLajkoRIdt9gPzmJ1SVtUkLVX1gnu0="}], + "name": "get_weather"}, "thoughtSignature": "CogDAQw51sdEbcKZoWjZXX5f7PgW3zHKloQYY5SGbjoOwWE6ZEmx5eQh04MdHPvSlI_ev2vs2_FDUD10uhXf7SStXtzu5B3zbbnZX_iTYX_JH2iYaUaPgrAmPL_EzKr5y58s31ekSB8r1DlkYrqrzM_IdcUBk4K_B-QkgOQMcEXX7Rz8N6UIgUyQv4Ny6X1UXhos80bmYLbkeQAdoLYUEugIcn2Qh8mllzY8tElC6kaEIVl8eJ9U4wa7Kjlwiw7xV9hxz7R_MmJ_1_v9bj0riq5ibUKhLX47EkF3IE6wSNkifRg2SjDLx19VO5EoysSili_zP_H3PNDrz8ooq7tHoZtz8fOA-1WYPKrWa8JclibCxNzQVMT78nPQS4BPEa_ZB9ClthCkE-ueIPevnq5MrIG05BrzipU5t0-QnQ15jL3DBL8XC3CzLu32saa8cOymPPFbUbQ6QWpVsYt5sMAKmV9_9FnL6br8W7Mkd7X8_rVLuR6DZJaMOswWR1ScXQqa6a6c9knQp3yM_MA="}], "role": "model"}, {"parts": [{"functionResponse": {"name": "get_weather", "response": {"result": "22 degrees celsius and sunny in Paris, France"}}}], "role": "user"}], "tools": [{"functionDeclarations": [{"description": "Get the current weather @@ -89,38 +89,39 @@ interactions: Connection: - keep-alive Content-Length: - - '1288' + - '1364' Content-Type: - application/json Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": [\n {\n \"text\": \"The weather in Paris, France is 22 - degrees Celsius and sunny.\"\n }\n ],\n \"role\": \"model\"\n + degrees celsius and sunny.\"\n }\n ],\n \"role\": \"model\"\n \ },\n \"finishReason\": \"STOP\",\n \"index\": 0\n }\n ],\n \ \"usageMetadata\": {\n \"promptTokenCount\": 145,\n \"candidatesTokenCount\": 15,\n \"totalTokenCount\": 160,\n \"promptTokensDetails\": [\n {\n - \ \"modality\": \"TEXT\",\n \"tokenCount\": 145\n }\n ]\n - \ },\n \"modelVersion\": \"gemini-2.5-flash\",\n \"responseId\": \"MHPzaZ_8Gfnm_uMPocGv8Ao\"\n}\n" + \ \"modality\": \"TEXT\",\n \"tokenCount\": 145\n }\n ],\n + \ \"serviceTier\": \"standard\"\n },\n \"modelVersion\": \"gemini-2.5-flash\",\n + \ \"responseId\": \"NukBaraeN8S-_uMP88K3qQk\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:17 GMT + - Mon, 11 May 2026 14:35:35 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=638 + - gfet4t7; dur=580 Transfer-Encoding: - chunked Vary: @@ -136,7 +137,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '576' + - '607' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_tool_use_async[async_stream].yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_tool_use_async[async_stream].yaml index 167239ac..99f4de4c 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_tool_use_async[async_stream].yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_tool_use_async[async_stream].yaml @@ -21,21 +21,21 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse response: body: string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"functionCall\": {\"name\": \"get_weather\",\"args\": {\"location\": \"Paris, France\"}},\"thoughtSignature\": - \"CiQBDDnWx89bWeJC7xQYwqHKEkIS704I9GySeloQ4kysn6JrW+0KXgEMOdbHlrtKkwEXmYDQNuKcO+3z810PRS6pRDZOR3Ih3pG0DU9rffptiUin6xxIPrFqhpKEhTgkcfX5JjAwHeKVNfLWPoT2IYfifvmAUKC3wrgaTNWfC7d7qSya5LcK1gEBDDnWxysqrau2khW+Q2ofcRZuqni1OsIGRbm0ClzVRxAWwVmdgv8h9va71PBRGY18GjsWYOnkXrGc72Nsi5UE0WESIbNNZd99Q7pCSOdKWASoi7H+4A0evB1JyJoTeNXy02xM1Xz/OwTiDC/2faQkKt0UBdq9aIYFozdKan+s1TmQHlIqw8O5L396ZR+5fYl9wz1y4zGONPQvgt9yD64hn85fbXNUO/BRqeCpF4xoK15VedSdIx97baGf4qmrvJxp/B/kOU1YbmrkLUtFIRhFtZqv4eFz\"}],\"role\": + \"CiQBDDnWxwW/4UInolUxsldPQ7XV2neGt8r4hZ0XvEGZaEqD/LQKXgEMOdbHLb59fOHdiDR1fe4OvvkWDh3Rc1shIgbf3HM3s9DoA5Wq/n7refZD6wtki5xVMsFg4AwmIDvTXx/tVjthi4utqkbbc4OnP13i8q9RbsBrtQY3zGbaau6h1OwK3QEBDDnWx0n9zDUBF3GabbDD9XflhbtekYQDX0mqUHBxopQN7owtwkHup7B1FnkWvnh8+uhDOKQM89gIQsFnQw6rpoYSxVcup/2AmchrwIpqjtKY8+urjhPbivttMzvvpNOADtWJnhktYtiX8C0UmiPCQb7maSSHnlwMXub5y5p6gwQO0ApCModIlJgxHNyMHMefnwY3SaKlLr049j05unAxmlD5fFsX2ifO3sPtQGuuChAH3vpVQS2/U8hQoJjqgi3HPU5vGWWDiST6sfuXIjUL3iId/+reRsMoiAbP3g==\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0,\"finishMessage\": \"Model generated function call(s).\"}],\"usageMetadata\": {\"promptTokenCount\": - 104,\"candidatesTokenCount\": 17,\"totalTokenCount\": 180,\"promptTokensDetails\": - [{\"modality\": \"TEXT\",\"tokenCount\": 104}],\"thoughtsTokenCount\": 59},\"modelVersion\": - \"gemini-2.5-flash\",\"responseId\": \"MXPzacT4Cvub_uMP4bq--Ac\"}\r\n\r\n" + 104,\"candidatesTokenCount\": 17,\"totalTokenCount\": 181,\"promptTokensDetails\": + [{\"modality\": \"TEXT\",\"tokenCount\": 104}],\"thoughtsTokenCount\": 60,\"serviceTier\": + \"standard\"},\"modelVersion\": \"gemini-2.5-flash\",\"responseId\": \"N-kBaouAK4WN_PUP3eOJqQE\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -44,11 +44,11 @@ interactions: Content-Type: - text/event-stream Date: - - Thu, 30 Apr 2026 15:20:18 GMT + - Mon, 11 May 2026 14:35:36 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=895 + - gfet4t7; dur=949 Transfer-Encoding: - chunked Vary: @@ -67,7 +67,7 @@ interactions: - request: body: '{"contents": [{"parts": [{"text": "What is the weather like in Paris, France?"}], "role": "user"}, {"parts": [{"functionCall": {"args": {"location": "Paris, France"}, - "name": "get_weather"}, "thoughtSignature": "CiQBDDnWx89bWeJC7xQYwqHKEkIS704I9GySeloQ4kysn6JrW-0KXgEMOdbHlrtKkwEXmYDQNuKcO-3z810PRS6pRDZOR3Ih3pG0DU9rffptiUin6xxIPrFqhpKEhTgkcfX5JjAwHeKVNfLWPoT2IYfifvmAUKC3wrgaTNWfC7d7qSya5LcK1gEBDDnWxysqrau2khW-Q2ofcRZuqni1OsIGRbm0ClzVRxAWwVmdgv8h9va71PBRGY18GjsWYOnkXrGc72Nsi5UE0WESIbNNZd99Q7pCSOdKWASoi7H-4A0evB1JyJoTeNXy02xM1Xz_OwTiDC_2faQkKt0UBdq9aIYFozdKan-s1TmQHlIqw8O5L396ZR-5fYl9wz1y4zGONPQvgt9yD64hn85fbXNUO_BRqeCpF4xoK15VedSdIx97baGf4qmrvJxp_B_kOU1YbmrkLUtFIRhFtZqv4eFz"}], + "name": "get_weather"}, "thoughtSignature": "CiQBDDnWxwW_4UInolUxsldPQ7XV2neGt8r4hZ0XvEGZaEqD_LQKXgEMOdbHLb59fOHdiDR1fe4OvvkWDh3Rc1shIgbf3HM3s9DoA5Wq_n7refZD6wtki5xVMsFg4AwmIDvTXx_tVjthi4utqkbbc4OnP13i8q9RbsBrtQY3zGbaau6h1OwK3QEBDDnWx0n9zDUBF3GabbDD9XflhbtekYQDX0mqUHBxopQN7owtwkHup7B1FnkWvnh8-uhDOKQM89gIQsFnQw6rpoYSxVcup_2AmchrwIpqjtKY8-urjhPbivttMzvvpNOADtWJnhktYtiX8C0UmiPCQb7maSSHnlwMXub5y5p6gwQO0ApCModIlJgxHNyMHMefnwY3SaKlLr049j05unAxmlD5fFsX2ifO3sPtQGuuChAH3vpVQS2_U8hQoJjqgi3HPU5vGWWDiST6sfuXIjUL3iId_-reRsMoiAbP3g=="}], "role": "model"}, {"parts": [{"functionResponse": {"name": "get_weather", "response": {"result": "22 degrees celsius and sunny in Paris, France"}}}], "role": "user"}], "tools": [{"functionDeclarations": [{"description": "Get the current weather @@ -84,29 +84,30 @@ interactions: Connection: - keep-alive Content-Length: - - '1304' + - '1316' Content-Type: - application/json Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse response: body: string: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"The weather in Paris\"}],\"role\": \"model\"},\"index\": 0}],\"usageMetadata\": - {\"promptTokenCount\": 204,\"candidatesTokenCount\": 4,\"totalTokenCount\": - 208,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 204}]},\"modelVersion\": - \"gemini-2.5-flash\",\"responseId\": \"MnPzaYOgDvac_uMP_rqQiQg\"}\r\n\r\ndata: + {\"promptTokenCount\": 205,\"candidatesTokenCount\": 4,\"totalTokenCount\": + 209,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 205}],\"serviceTier\": + \"standard\"},\"modelVersion\": \"gemini-2.5-flash\",\"responseId\": \"OOkBaoKaL-iu_PUP9Z6_2As\"}\r\n\r\ndata: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \", France is 22 degrees - Celsius and sunny.\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": - 0}],\"usageMetadata\": {\"promptTokenCount\": 204,\"candidatesTokenCount\": - 15,\"totalTokenCount\": 219,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": - 204}]},\"modelVersion\": \"gemini-2.5-flash\",\"responseId\": \"MnPzaYOgDvac_uMP_rqQiQg\"}\r\n\r\n" + celsius and sunny.\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": + 0}],\"usageMetadata\": {\"promptTokenCount\": 205,\"candidatesTokenCount\": + 15,\"totalTokenCount\": 220,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": + 205}],\"serviceTier\": \"standard\"},\"modelVersion\": \"gemini-2.5-flash\",\"responseId\": + \"OOkBaoKaL-iu_PUP9Z6_2As\"}\r\n\r\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 @@ -115,11 +116,11 @@ interactions: Content-Type: - text/event-stream Date: - - Thu, 30 Apr 2026 15:20:18 GMT + - Mon, 11 May 2026 14:35:37 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=487 + - gfet4t7; dur=545 Transfer-Encoding: - chunked Vary: diff --git a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_tool_use_with_result.yaml b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_tool_use_with_result.yaml index 82d34ada..9687bf16 100644 --- a/py/src/braintrust/integrations/google_genai/cassettes/latest/test_tool_use_with_result.yaml +++ b/py/src/braintrust/integrations/google_genai/cassettes/latest/test_tool_use_with_result.yaml @@ -22,36 +22,36 @@ interactions: Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: body: string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": [\n {\n \"functionCall\": {\n \"name\": \"calculate\",\n - \ \"args\": {\n \"operation\": \"multiply\",\n - \ \"b\": 49,\n \"a\": 127\n }\n - \ },\n \"thoughtSignature\": \"Cv4BAQw51seil+EEX28D5/5Me3tGSc78yrwazJxiiYpYxSK2l9rdb47bocEJ1fI9xwg9SPZDHQLdMY5345JebHRLqy7+d9tvdsYjGfN3bhqkhafvdadQNEsdXj9iiICGoUTW7i6xRAZkA9u4v5s/L8AC+j4ye/riZN/n0H3XkJ1qlajXmQcEuOZPPPAbC00p8GmHYQb5SD6dGfdR+JW0nClZxUu0yk45CYN5zFsdj3/im091SbeD773fAz4SWwA1oRUCsy+XSeeMnYtJROwtRVb4vs/18KPKhUpZ2+0k1C4mfjGwJ9ZbZgm6y9kkwlfuGsRvYNOY76w5h7TF35zARe0=\"\n + \ \"args\": {\n \"b\": 49,\n \"a\": + 127,\n \"operation\": \"multiply\"\n }\n },\n + \ \"thoughtSignature\": \"CuYBAQw51sfLcby2cQEkvTwZpEMc1XB+VT/GvYKyAuP33FrzPBSEyc24uCuIo+0n/7AfCXo8AjQBKeMd8Oc20grWMn8IprT3innLYCvfV/9Q47s0kHt3XRmuYli9QVf5/IpTcksvF6e3z6NV1BIllfcPx6mRXIlLBk7tphd6jqt7hK4yITUizNp8ja3eHHmSmVaQnYu1mxl31G3t4GLTfZ5e7vBIb1CAs3UM18hbKzzeD5SFh0BMMNGuj1Z5lzCGwR0qdlH+2F/2RkMlTG36J1vQE7rRR8mGdarjAop43R93MC+KkzYxA6I=\"\n \ }\n ],\n \"role\": \"model\"\n },\n \"finishReason\": \"STOP\",\n \"index\": 0,\n \"finishMessage\": \"Model generated function call(s).\"\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": - 84,\n \"candidatesTokenCount\": 26,\n \"totalTokenCount\": 165,\n \"promptTokensDetails\": + 84,\n \"candidatesTokenCount\": 26,\n \"totalTokenCount\": 163,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 84\n - \ }\n ],\n \"thoughtsTokenCount\": 55\n },\n \"modelVersion\": - \"gemini-2.5-flash\",\n \"responseId\": \"PHPzafHGKe2Y_uMP0PS8wAE\"\n}\n" + \ }\n ],\n \"thoughtsTokenCount\": 53,\n \"serviceTier\": \"standard\"\n + \ },\n \"modelVersion\": \"gemini-2.5-flash\",\n \"responseId\": \"QukBavOVPMud_uMPuNbRmAc\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:29 GMT + - Mon, 11 May 2026 14:35:47 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=922 + - gfet4t7; dur=832 Transfer-Encoding: - chunked Vary: @@ -67,14 +67,14 @@ interactions: X-XSS-Protection: - '0' content-length: - - '1170' + - '1169' status: code: 200 message: OK - request: body: '{"contents": [{"parts": [{"text": "What is 127 multiplied by 49?"}], "role": - "user"}, {"parts": [{"functionCall": {"args": {"operation": "multiply", "b": - 49, "a": 127}, "name": "calculate"}, "thoughtSignature": "Cv4BAQw51seil-EEX28D5_5Me3tGSc78yrwazJxiiYpYxSK2l9rdb47bocEJ1fI9xwg9SPZDHQLdMY5345JebHRLqy7-d9tvdsYjGfN3bhqkhafvdadQNEsdXj9iiICGoUTW7i6xRAZkA9u4v5s_L8AC-j4ye_riZN_n0H3XkJ1qlajXmQcEuOZPPPAbC00p8GmHYQb5SD6dGfdR-JW0nClZxUu0yk45CYN5zFsdj3_im091SbeD773fAz4SWwA1oRUCsy-XSeeMnYtJROwtRVb4vs_18KPKhUpZ2-0k1C4mfjGwJ9ZbZgm6y9kkwlfuGsRvYNOY76w5h7TF35zARe0="}], + "user"}, {"parts": [{"functionCall": {"args": {"b": 49, "a": 127, "operation": + "multiply"}, "name": "calculate"}, "thoughtSignature": "CuYBAQw51sfLcby2cQEkvTwZpEMc1XB-VT_GvYKyAuP33FrzPBSEyc24uCuIo-0n_7AfCXo8AjQBKeMd8Oc20grWMn8IprT3innLYCvfV_9Q47s0kHt3XRmuYli9QVf5_IpTcksvF6e3z6NV1BIllfcPx6mRXIlLBk7tphd6jqt7hK4yITUizNp8ja3eHHmSmVaQnYu1mxl31G3t4GLTfZ5e7vBIb1CAs3UM18hbKzzeD5SFh0BMMNGuj1Z5lzCGwR0qdlH-2F_2RkMlTG36J1vQE7rRR8mGdarjAop43R93MC-KkzYxA6I="}], "role": "model"}, {"parts": [{"functionResponse": {"name": "calculate", "response": {"result": 6223}}}], "role": "user"}], "tools": [{"functionDeclarations": [{"description": "Perform a mathematical calculation", "name": "calculate", "parameters_json_schema": @@ -91,15 +91,15 @@ interactions: Connection: - keep-alive Content-Length: - - '1185' + - '1153' Content-Type: - application/json Host: - generativelanguage.googleapis.com user-agent: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 x-goog-api-client: - - google-genai-sdk/1.74.0 gl-python/3.12.12 + - google-genai-sdk/2.0.1 gl-python/3.12.12 method: POST uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent response: @@ -110,19 +110,19 @@ interactions: \"STOP\",\n \"index\": 0\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\": 126,\n \"candidatesTokenCount\": 15,\n \"totalTokenCount\": 141,\n \"promptTokensDetails\": [\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 126\n - \ }\n ]\n },\n \"modelVersion\": \"gemini-2.5-flash\",\n \"responseId\": - \"PXPzafGmLKea_uMPnuKamAc\"\n}\n" + \ }\n ],\n \"serviceTier\": \"standard\"\n },\n \"modelVersion\": + \"gemini-2.5-flash\",\n \"responseId\": \"Q-kBaqmVN_Sd_uMP9--LsAc\"\n}\n" headers: Alt-Svc: - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Content-Type: - application/json; charset=UTF-8 Date: - - Thu, 30 Apr 2026 15:20:30 GMT + - Mon, 11 May 2026 14:35:48 GMT Server: - scaffolding on HTTPServer2 Server-Timing: - - gfet4t7; dur=688 + - gfet4t7; dur=536 Transfer-Encoding: - chunked Vary: @@ -138,7 +138,7 @@ interactions: X-XSS-Protection: - '0' content-length: - - '544' + - '575' status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/google_genai/test_google_genai.py b/py/src/braintrust/integrations/google_genai/test_google_genai.py index 2015774c..0e2e796f 100644 --- a/py/src/braintrust/integrations/google_genai/test_google_genai.py +++ b/py/src/braintrust/integrations/google_genai/test_google_genai.py @@ -1334,6 +1334,27 @@ def _interaction_function_tool(): ) +def _interaction_outputs(response): + outputs = getattr(response, "outputs", None) + if outputs is not None: + return outputs + + extracted = [] + for step in getattr(response, "steps", []) or []: + if getattr(step, "type", None) == "thought": + continue + if getattr(step, "type", None) == "model_output": + extracted.extend(getattr(step, "content", []) or []) + else: + extracted.append(step) + return extracted + + +def _function_result_content(**kwargs): + cls = getattr(interactions, "FunctionResultContent", None) or getattr(interactions, "FunctionResultStep") + return cls(**kwargs) + + @_needs_interactions @pytest.mark.vcr def test_interactions_create_and_get(memory_logger): @@ -1390,10 +1411,14 @@ def test_interactions_create_stream(memory_logger): assert create_span["metadata"]["model"] == INTERACTIONS_MODEL assert create_span["output"]["status"] == "completed" assert create_span["output"]["text"] - assert "hi" in create_span["output"]["text"].lower() assert create_span["metrics"]["time_to_first_token"] >= 0 - assert "content.start" in create_span["metadata"]["stream_event_types"] - assert "interaction.complete" in create_span["metadata"]["stream_event_types"] + assert any( + event_type in create_span["metadata"]["stream_event_types"] for event_type in ("content.start", "step.start") + ) + assert any( + event_type in create_span["metadata"]["stream_event_types"] + for event_type in ("interaction.complete", "interaction.completed") + ) @_needs_interactions @@ -1409,13 +1434,13 @@ def test_interactions_tool_call_and_follow_up(memory_logger): input="What is the weather like in Paris? Use the tool.", tools=[tool], ) - tool_call = next(output for output in first_response.outputs if output.type == "function_call") + tool_call = next(output for output in _interaction_outputs(first_response) if output.type == "function_call") second_response = client.interactions.create( model=INTERACTIONS_MODEL, previous_interaction_id=first_response.id, input=[ - interactions.FunctionResultContent( + _function_result_content( type="function_result", call_id=tool_call.id, name=tool_call.name, @@ -1427,7 +1452,7 @@ def test_interactions_tool_call_and_follow_up(memory_logger): assert first_response.status == "requires_action" assert second_response.status == "completed" - assert "sunny" in second_response.outputs[-1].text.lower() + assert "sunny" in _interaction_outputs(second_response)[-1].text.lower() spans = memory_logger.pop() llm_spans = find_spans_by_type(spans, SpanTypeAttribute.LLM) @@ -1459,7 +1484,7 @@ def test_interactions_tool_span_stays_active_during_local_tool_work(memory_logge input="What is the weather like in Paris? Use the tool.", tools=[tool], ) - tool_call = next(output for output in first_response.outputs if output.type == "function_call") + tool_call = next(output for output in _interaction_outputs(first_response) if output.type == "function_call") with logger.start_span(name="nested_tool_work", type=SpanTypeAttribute.TASK) as nested_tool_work: nested_tool_work.log(output={"forecast": "sunny"}) @@ -1468,7 +1493,7 @@ def test_interactions_tool_span_stays_active_during_local_tool_work(memory_logge model=INTERACTIONS_MODEL, previous_interaction_id=first_response.id, input=[ - interactions.FunctionResultContent( + _function_result_content( type="function_result", call_id=tool_call.id, name=tool_call.name, @@ -1581,9 +1606,10 @@ async def test_interactions_async_stream(memory_logger): assert create_span["output"]["status"] == "completed" assert create_span["output"]["text"] - assert "hi" in create_span["output"]["text"].lower() assert create_span["metrics"]["time_to_first_token"] >= 0 - assert "content.delta" in create_span["metadata"]["stream_event_types"] + assert any( + event_type in create_span["metadata"]["stream_event_types"] for event_type in ("content.delta", "step.start") + ) class TestAutoInstrumentGoogleGenAI: diff --git a/py/src/braintrust/integrations/google_genai/tracing.py b/py/src/braintrust/integrations/google_genai/tracing.py index 1c1e2856..9a164a46 100644 --- a/py/src/braintrust/integrations/google_genai/tracing.py +++ b/py/src/braintrust/integrations/google_genai/tracing.py @@ -488,9 +488,30 @@ def _extract_interaction_text(outputs: list[dict[str, Any]]) -> str | None: return "".join(text_parts) or None +def _interaction_outputs_from_steps(response: "Interaction") -> list[dict[str, Any]]: + """Extract response outputs from google-genai 2.x interaction steps.""" + steps = _materialize_interaction_value(getattr(response, "steps", None)) + if not isinstance(steps, list): + return [] + + outputs: list[dict[str, Any]] = [] + for step in steps: + if not isinstance(step, dict) or step.get("type") == "thought": + continue + if step.get("type") == "model_output" and isinstance(step.get("content"), list): + outputs.extend(item for item in step["content"] if isinstance(item, dict)) + else: + outputs.append(step) + return outputs + + def _serialize_interaction_outputs(response: "Interaction") -> list[dict[str, Any]]: outputs = _materialize_interaction_value(getattr(response, "outputs", None)) - return outputs if isinstance(outputs, list) else ([] if outputs is None else [outputs]) + if isinstance(outputs, list): + return outputs + if outputs is not None: + return [outputs] + return _interaction_outputs_from_steps(response) def _extract_interaction_output( @@ -718,7 +739,7 @@ def _aggregate_generate_content_chunks( def _is_interaction_content_event(event: Any) -> bool: - return getattr(event, "event_type", None) in {"content.start", "content.delta"} + return getattr(event, "event_type", None) in {"content.start", "content.delta", "step.start"} def _merge_interaction_content_delta(item: dict[str, Any], delta: dict[str, Any]) -> dict[str, Any]: @@ -758,6 +779,12 @@ def _reconstruct_interaction_outputs_from_events(events: list[Any]) -> list[dict if event_type == "content.start": outputs_by_index[index] = _materialize_interaction_value(getattr(event, "content", None)) or {} + elif event_type == "step.start": + step = _materialize_interaction_value(getattr(event, "step", None)) or {} + if isinstance(step, dict) and step.get("type") == "model_output" and isinstance(step.get("content"), list): + outputs_by_index[index] = next((item for item in step["content"] if isinstance(item, dict)), {}) + else: + outputs_by_index[index] = step if isinstance(step, dict) else {} elif event_type == "content.delta": item = outputs_by_index.setdefault(index, {}) delta = _materialize_interaction_value(getattr(event, "delta", None)) or {} diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/TestOpenAIIntegrationSetupAsyncSpans.test_setup_async_creates_spans.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/TestOpenAIIntegrationSetupAsyncSpans.test_setup_async_creates_spans.yaml index e7e25abf..760569fb 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/TestOpenAIIntegrationSetupAsyncSpans.test_setup_async_creates_spans.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/TestOpenAIIntegrationSetupAsyncSpans.test_setup_async_creates_spans.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,28 +38,28 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJSci7HozZntUOHmPb3fwRZb8ty0\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355346,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMBKXDBUPJzCVh7sSoFsy0eIa5CY\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510758,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": - \"assistant\",\n \"content\": \"Hello! How can I assist you today?\",\n + \"assistant\",\n \"content\": \"Hi there! How can I assist you today?\",\n \ \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": - 10,\n \"completion_tokens\": 9,\n \"total_tokens\": 19,\n \"prompt_tokens_details\": + 10,\n \"completion_tokens\": 10,\n \"total_tokens\": 20,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_fe7a5277a8\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_134a436b39\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed46a0fcf50f80e-YYZ + - 9fa1f8676e990f01-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:02:26 GMT + - Mon, 11 May 2026 14:45:59 GMT Server: - cloudflare Strict-Transport-Security: @@ -73,19 +73,19 @@ interactions: alt-svc: - h3=":443"; ma=86400 content-length: - - '840' + - '844' openai-organization: - braintrust-data openai-processing-ms: - - '329' + - '885' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=nHDFnT2q4cMvrvh_Q_2xnYVtaE0AE9GwcELQ_p7QwUo-1776355345.8835225-1.0.1.1-3gKLa5dl89BvgsYBtffZHKRhsLA_t..hr9cgZIH86zYPRi46TbqvPZ__MRcK20p8NyhsOjVYKgWoFo9r_ExRFHaDWZSD1PcGzHSg26KGu0Ggt8CJ3UNRLqQqvf1kGznY; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:26 GMT + - __cf_bm=mSNbBf9esFbzSzLDHFbwtSLOio2OhgzL9qAWhIjXUW0-1778510757.0285928-1.0.1.1-5Ejup4CkK80AWK3ZpI2JwQHVNgbIe8.jz7qsHTJv9F0JB6hQypBrcSEJZgI1Hp1kqdIRyrXc3f_3KpIlSVE9WMuXWxuSrLNNbrWY9eduSHba3JyJeX7K4xugjbFl6Lp6; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:15:59 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -101,7 +101,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_828d029769614c5fadc8008337d0127f + - req_eebf35c3f7cc4131af1513fda1559884 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/TestOpenAIIntegrationSetupSpans.test_setup_creates_spans.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/TestOpenAIIntegrationSetupSpans.test_setup_creates_spans.yaml index 4892a11f..18a1ee41 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/TestOpenAIIntegrationSetupSpans.test_setup_creates_spans.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/TestOpenAIIntegrationSetupSpans.test_setup_creates_spans.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,28 +38,28 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJSa04XQXp12rGZVGzHmlco8o3Ax\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355344,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMBHWAE3V2rV5lGNk28qeUvQMpD4\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510755,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": - \"assistant\",\n \"content\": \"Hi there! How can I assist you today?\",\n + \"assistant\",\n \"content\": \"Hi! How can I assist you today?\",\n \ \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": - 9,\n \"completion_tokens\": 10,\n \"total_tokens\": 19,\n \"prompt_tokens_details\": + 9,\n \"completion_tokens\": 9,\n \"total_tokens\": 18,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_fe7a5277a8\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_dac1f01875\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed46a0808a928db-YYZ + - 9fa1f85cfa38ac7e-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:02:25 GMT + - Mon, 11 May 2026 14:45:56 GMT Server: - cloudflare Strict-Transport-Security: @@ -73,19 +73,19 @@ interactions: alt-svc: - h3=":443"; ma=86400 content-length: - - '843' + - '836' openai-organization: - braintrust-data openai-processing-ms: - - '429' + - '563' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=bxiCzazNCvgV7yuMBh5cpFbldeBAPHpaNlvQIFRtNus-1776355344.6416326-1.0.1.1-B3YoMFQ0Lc7gzFL0M4911uDbUaiw.OrZR3a4szme4PBakkF6Lj9ZY.bge7Rp6D5DuAuvz01Wf6NFEFBaFVJIR66Cp3aL2Joq33ylX462UasGj1USNHlk5Qn8oM.70Zq4; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:25 GMT + - __cf_bm=JiZOgF_5UhSqmmvn8LJx1k0tp7h0iscCpQk_qLgxTi8-1778510755.355277-1.0.1.1-W.F7vZtqjl6rxy33rxyS0UwWbWFbM00XQ5TVu.9iXUrmBcYFNmgTmJfdrQgtjax1V6N9xKaU_gG4UmnMZRoZFYhfsDXCB6LyGfmW38hxDof62GKHDof5znOH_0suHETa; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:15:56 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -101,7 +101,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_402a0f279e8943a89b61dd0fb74db501 + - req_51766d2acd9440c696168cfbd9ceb7dc status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/TestOpenAIIntegrationSetupSpans.test_setup_stream_helper_creates_spans.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/TestOpenAIIntegrationSetupSpans.test_setup_stream_helper_creates_spans.yaml index 79ff52fa..63792236 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/TestOpenAIIntegrationSetupSpans.test_setup_stream_helper_creates_spans.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/TestOpenAIIntegrationSetupSpans.test_setup_stream_helper_creates_spans.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -27,11 +27,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -40,41 +40,41 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJSbH1D7eBYaE2Q2cpgTwY35iPjQ","object":"chat.completion.chunk","created":1776355345,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"E1Wz94AeG"} + string: 'data: {"id":"chatcmpl-DeMBIi2gxr1wPLiksnqHvmZimkl59","object":"chat.completion.chunk","created":1778510756,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"aoC1Xifu8"} - data: {"id":"chatcmpl-DVJSbH1D7eBYaE2Q2cpgTwY35iPjQ","object":"chat.completion.chunk","created":1776355345,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"py19iSHif"} + data: {"id":"chatcmpl-DeMBIi2gxr1wPLiksnqHvmZimkl59","object":"chat.completion.chunk","created":1778510756,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"O4b6bLAm9"} - data: {"id":"chatcmpl-DVJSbH1D7eBYaE2Q2cpgTwY35iPjQ","object":"chat.completion.chunk","created":1776355345,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"nNFE8rt5l"} + data: {"id":"chatcmpl-DeMBIi2gxr1wPLiksnqHvmZimkl59","object":"chat.completion.chunk","created":1778510756,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ajoLPfw7M"} - data: {"id":"chatcmpl-DVJSbH1D7eBYaE2Q2cpgTwY35iPjQ","object":"chat.completion.chunk","created":1776355345,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"huf0LzDgnP"} + data: {"id":"chatcmpl-DeMBIi2gxr1wPLiksnqHvmZimkl59","object":"chat.completion.chunk","created":1778510756,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Rx11Xzcdaz"} - data: {"id":"chatcmpl-DVJSbH1D7eBYaE2Q2cpgTwY35iPjQ","object":"chat.completion.chunk","created":1776355345,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"9u0jf46xT"} + data: {"id":"chatcmpl-DeMBIi2gxr1wPLiksnqHvmZimkl59","object":"chat.completion.chunk","created":1778510756,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"7aMhQbtBu"} - data: {"id":"chatcmpl-DVJSbH1D7eBYaE2Q2cpgTwY35iPjQ","object":"chat.completion.chunk","created":1776355345,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ZLQ1"} + data: {"id":"chatcmpl-DeMBIi2gxr1wPLiksnqHvmZimkl59","object":"chat.completion.chunk","created":1778510756,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Mr4n"} - data: {"id":"chatcmpl-DVJSbH1D7eBYaE2Q2cpgTwY35iPjQ","object":"chat.completion.chunk","created":1776355345,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"H7SU2VraGR"} + data: {"id":"chatcmpl-DeMBIi2gxr1wPLiksnqHvmZimkl59","object":"chat.completion.chunk","created":1778510756,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"8UUedNLyqn"} - data: {"id":"chatcmpl-DVJSbH1D7eBYaE2Q2cpgTwY35iPjQ","object":"chat.completion.chunk","created":1776355345,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"xFpD1kElp"} + data: {"id":"chatcmpl-DeMBIi2gxr1wPLiksnqHvmZimkl59","object":"chat.completion.chunk","created":1778510756,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"dB1xLCpfM"} - data: {"id":"chatcmpl-DVJSbH1D7eBYaE2Q2cpgTwY35iPjQ","object":"chat.completion.chunk","created":1776355345,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"rJ3x0Gmrd1"} + data: {"id":"chatcmpl-DeMBIi2gxr1wPLiksnqHvmZimkl59","object":"chat.completion.chunk","created":1778510756,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"LQ1R0SO2J8"} - data: {"id":"chatcmpl-DVJSbH1D7eBYaE2Q2cpgTwY35iPjQ","object":"chat.completion.chunk","created":1776355345,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"FuQT0"} + data: {"id":"chatcmpl-DeMBIi2gxr1wPLiksnqHvmZimkl59","object":"chat.completion.chunk","created":1778510756,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"2kOm6"} - data: {"id":"chatcmpl-DVJSbH1D7eBYaE2Q2cpgTwY35iPjQ","object":"chat.completion.chunk","created":1776355345,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"SjdGp7Etofp"} + data: {"id":"chatcmpl-DeMBIi2gxr1wPLiksnqHvmZimkl59","object":"chat.completion.chunk","created":1778510756,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"bR7xDyjw1Ff"} data: [DONE] @@ -85,13 +85,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed46a0bd87e178c-YYZ + - 9fa1f86239a8ebb9-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:02:25 GMT + - Mon, 11 May 2026 14:45:56 GMT Server: - cloudflare Strict-Transport-Security: @@ -107,15 +107,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '212' + - '382' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=.ROrYgjZPCDiakbT4jmUbnC0N_rD9lsh.tBarhJaMVk-1776355345.2579253-1.0.1.1-mwEMShJppprApAZiy3X.8RE5rUSUV_MzhgVuYnFhbNsqtFGYX5SMwwh_yCzal7Q0P3gbZWGge1QLJ4Fe.nHN_Kw3QKykbSKxF.xhi15fWkt.L3YTh_F99oQFX9A3.fSg; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:25 GMT + - __cf_bm=P7YFmKyrNGFMFWWM5TBQOLSfAz5yRWy7yP4cyNsvwf4-1778510756.194697-1.0.1.1-2cJt1RqVsbH9Fjr4b4JZGtcemwcGx2ycJxfI8WfJwlN8kPDFHbstcWdSr9HugxbEDdMpXUPhC3kc5_PEWoh0oj47EDnB2kvg3eH4FQndBnEyjWrkggsyaKNZbX09PU9A; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:15:56 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -125,13 +125,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999992' + - '149999995' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_73059b9f032e410d9ee1fe441fe533d2 + - req_b831e8894dd044b18490174b9b3ae59d status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/btx/attachments.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/btx/attachments.yaml index db6339ac..628e1d4f 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/btx/attachments.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/btx/attachments.yaml @@ -19,24 +19,24 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DYJBh4OEtcKC8rGUh4nzfqBNAVSNm\",\n \"object\": - \"chat.completion\",\n \"created\": 1777069281,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMit5am3esScC04fxKIDSWBWyUq2\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512839,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": - \"assistant\",\n \"content\": \"The image is red.\",\n \"refusal\": - null,\n \"annotations\": []\n },\n \"logprobs\": null,\n - \ \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": - 8522,\n \"completion_tokens\": 5,\n \"total_tokens\": 8527,\n \"prompt_tokens_details\": + \"assistant\",\n \"content\": \"The image is a solid shade of red.\",\n + \ \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": + null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": + 8522,\n \"completion_tokens\": 9,\n \"total_tokens\": 8531,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_4bbcc62b19\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_3b264ad91d\"\n}\n" headers: Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 24 Apr 2026 22:21:22 GMT + - Mon, 11 May 2026 15:20:40 GMT Server: - cloudflare Strict-Transport-Security: @@ -48,9 +48,9 @@ interactions: access-control-expose-headers: - X-Request-ID content-length: - - '827' + - '844' openai-processing-ms: - - '729' + - '774' openai-version: - '2020-10-01' x-openai-proxy-wasm: @@ -66,7 +66,7 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999220' + - '149999217' x-ratelimit-reset-input-images: - 1ms x-ratelimit-reset-requests: diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/btx/completions.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/btx/completions.yaml index cb890c08..a501826b 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/btx/completions.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/btx/completions.yaml @@ -19,8 +19,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DYJBiYtjOSDKd8RMDGXj5lIHPvQvG\",\n \"object\": - \"chat.completion\",\n \"created\": 1777069282,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMiuC5NfUtaSK9u5rCvr3mZW7f5x\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512840,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"The capital of France is Paris.\",\n \ \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": @@ -29,14 +29,14 @@ interactions: {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_f957560a82\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_29ce089943\"\n}\n" headers: Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 24 Apr 2026 22:21:23 GMT + - Mon, 11 May 2026 15:20:41 GMT Server: - cloudflare Strict-Transport-Security: @@ -50,7 +50,7 @@ interactions: content-length: - '837' openai-processing-ms: - - '378' + - '455' openai-version: - '2020-10-01' x-openai-proxy-wasm: diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/btx/reasoning.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/btx/reasoning.yaml index 01ea5aeb..5bd6673b 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/btx/reasoning.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/btx/reasoning.yaml @@ -19,56 +19,49 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_0c4bd3230ad523240069ebece370c88190ab7b2e512bdcf734\",\n - \ \"object\": \"response\",\n \"created_at\": 1777069283,\n \"status\": + string: "{\n \"id\": \"resp_04cf0c946973b39d006a01f3c9aaa481a2a856f8ff920ca0e2\",\n + \ \"object\": \"response\",\n \"created_at\": 1778512841,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1777069295,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778512851,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": null,\n \"max_output_tokens\": null,\n \"max_tool_calls\": null,\n \"model\": \"o4-mini-2025-04-16\",\n \"moderation\": null,\n \"output\": [\n {\n - \ \"id\": \"rs_0c4bd3230ad523240069ebece445988190a114335cfba8cc0e\",\n + \ \"id\": \"rs_04cf0c946973b39d006a01f3ca7ee881a2b8f69fcf3f8e3122\",\n \ \"type\": \"reasoning\",\n \"summary\": [\n {\n \"type\": - \"summary_text\",\n \"text\": \"**Identifying the sequence pattern**\\n\\nThe - user's sequence is 2, 6, 12, 20, 30, and I'm figuring out the pattern and - the formula for the nth term. Each term seems to follow the formula a_n = - n(n + 1), starting with n = 1. This makes sense since: 1*2 = 2, 2*3 = 6, and - so on. These numbers also correspond to doubling the triangular numbers. So, - the formula a_n = n(n + 1) is confirmed as correct!\"\n },\n {\n - \ \"type\": \"summary_text\",\n \"text\": \"**Finalizing - the sequence formula**\\n\\nI realized that indexing from n=0 gives an incorrect - result because it yields 0. The sequence starts at n=1, leading to the conclusion - that a_n = n(n + 1). This pattern shows that the differences between terms - (4, 6, 8, 10, etc.) are increasing, confirming it's quadratic. The final formula - indicates that these are pronic numbers, which can be expressed as products - of consecutive integers. So, the nth term remains a_n = n(n + 1), and that's - settled!\"\n },\n {\n \"type\": \"summary_text\",\n - \ \"text\": \"**Formulating the final answer**\\n\\nI\\u2019ve concluded - it\\u2019s best to start indexing the sequence from n=1. I\\u2019ll provide - the pattern for the differences, which are 4, 6, 8, 10, etc. This leads to - the formula a_n = n^2 + n. Now, I'm composing the final response, summarizing - these key insights and ensuring everything is clear. I'll make sure all the - details align with this formula so that it\\u2019s easily understood. Let's - finalize it!\"\n }\n ]\n },\n {\n \"id\": \"msg_0c4bd3230ad523240069ebecee930881908341f2a0e7613c7d\",\n + \"summary_text\",\n \"text\": \"**Analyzing pronic numbers**\\n\\nThe + user is exploring a sequence: 2, 6, 12, 20, 30. These terms represent pronic + numbers, which can be expressed as n(n+1), where n are consecutive integers. + For instance, when n=1, it gives 2; for n=2, it yields 6, and so on. The nth + term formula is a_n = n(n+1), starting with n=1. If starting from n=0, the + formula remains the same, but you'd track from a_1=2. So, pronic numbers create + this interesting pattern!\"\n },\n {\n \"type\": \"summary_text\",\n + \ \"text\": \"**Exploring pronic numbers**\\n\\nThe sequence 2, 6, + 12, 20, 30 consists of pronic numbers, defined as the product of consecutive + integers (n(n+1)). We can see that they also relate to triangular numbers, + where differences between terms increase by 2 each time: 4, 6, 8, and 10, + indicating a quadratic sequence. The formula is a_n = n(n+1), which could + also be expressed as n^2 + n. So, the key takeaway is that these are pronic + numbers, and I\\u2019ll make sure to clarify that!\"\n }\n ]\n + \ },\n {\n \"id\": \"msg_04cf0c946973b39d006a01f3d3054c81a2aa864b6bcbd2e4d9\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": - [],\n \"logprobs\": [],\n \"text\": \"The terms are \\n - 2, 6, 12, 20, 30, \\u2026 \\nand the differences between them are - \ \\n 6\\u22122=4, 12\\u22126=6, 20\\u221212=8, 30\\u221220=10, \\u2026 \\nso - the \\u201cgap\\u201d grows by 2 each time \\u21d2 the sequence is quadratic. - \ In fact one checks that\\n\\n a\\u2081=2, a\\u2082=6, a\\u2083=12, \\u2026 - \\n\\nfit the rule \\n a\\u2099 = n\\u00b2+n. \\n\\nEquivalently, each term - is the product of two consecutive integers:\\n\\n a\\u2099 = n\\u00b7(n+1).\"\n - \ }\n ],\n \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": - true,\n \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - null,\n \"prompt_cache_retention\": \"in_memory\",\n \"reasoning\": {\n - \ \"effort\": \"high\",\n \"summary\": \"detailed\"\n },\n \"safety_identifier\": - null,\n \"service_tier\": \"default\",\n \"store\": true,\n \"temperature\": - 1.0,\n \"text\": {\n \"format\": {\n \"type\": \"text\"\n },\n - \ \"verbosity\": \"medium\"\n },\n \"tool_choice\": \"auto\",\n \"tools\": - [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n - \ \"usage\": {\n \"input_tokens\": 41,\n \"input_tokens_details\": {\n - \ \"cached_tokens\": 0\n },\n \"output_tokens\": 1125,\n \"output_tokens_details\": - {\n \"reasoning_tokens\": 960\n },\n \"total_tokens\": 1166\n },\n + [],\n \"logprobs\": [],\n \"text\": \"The terms are the + \\u201cpronic\\u201d (or oblong) numbers, i.e. the products of two consecutive + integers:\\n\\n\\u2002a\\u2081 = 1\\u00b72 = 2 \\n\\u2002a\\u2082 = 2\\u00b73 + = 6 \\n\\u2002a\\u2083 = 3\\u00b74 = 12 \\n\\u2002a\\u2084 = 4\\u00b75 = + 20 \\n\\u2002a\\u2085 = 5\\u00b76 = 30 \\n\\nIf we start counting at n = + 1, the nth term is\\n\\n\\u2002a\\u2099 = n\\u00b7(n + 1) \\n\\nor equivalently\\n\\n\\u2002a\\u2099 + = n\\u00b2 + n.\"\n }\n ],\n \"role\": \"assistant\"\n }\n + \ ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": 0.0,\n \"previous_response_id\": + null,\n \"prompt_cache_key\": null,\n \"prompt_cache_retention\": \"in_memory\",\n + \ \"reasoning\": {\n \"effort\": \"high\",\n \"summary\": \"detailed\"\n + \ },\n \"safety_identifier\": null,\n \"service_tier\": \"default\",\n \"store\": + true,\n \"temperature\": 1.0,\n \"text\": {\n \"format\": {\n \"type\": + \"text\"\n },\n \"verbosity\": \"medium\"\n },\n \"tool_choice\": + \"auto\",\n \"tools\": [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": + \"disabled\",\n \"usage\": {\n \"input_tokens\": 41,\n \"input_tokens_details\": + {\n \"cached_tokens\": 0\n },\n \"output_tokens\": 962,\n \"output_tokens_details\": + {\n \"reasoning_tokens\": 768\n },\n \"total_tokens\": 1003\n },\n \ \"user\": null,\n \"metadata\": {}\n}" headers: Connection: @@ -76,7 +69,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 22:21:35 GMT + - Mon, 11 May 2026 15:20:51 GMT Server: - cloudflare Strict-Transport-Security: @@ -85,10 +78,12 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID content-length: - - '3715' + - '3182' openai-processing-ms: - - '11967' + - '9924' openai-version: - '2020-10-01' x-ratelimit-limit-requests: @@ -109,31 +104,24 @@ interactions: - request: body: "{\"input\":[{\"role\":\"user\",\"content\":\"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth - term?\\n\"},{\"id\":\"rs_0c4bd3230ad523240069ebece445988190a114335cfba8cc0e\",\"summary\":[{\"text\":\"**Identifying - the sequence pattern**\\n\\nThe user's sequence is 2, 6, 12, 20, 30, and I'm - figuring out the pattern and the formula for the nth term. Each term seems to - follow the formula a_n = n(n + 1), starting with n = 1. This makes sense since: - 1*2 = 2, 2*3 = 6, and so on. These numbers also correspond to doubling the triangular - numbers. So, the formula a_n = n(n + 1) is confirmed as correct!\",\"type\":\"summary_text\"},{\"text\":\"**Finalizing - the sequence formula**\\n\\nI realized that indexing from n=0 gives an incorrect - result because it yields 0. The sequence starts at n=1, leading to the conclusion - that a_n = n(n + 1). This pattern shows that the differences between terms (4, - 6, 8, 10, etc.) are increasing, confirming it's quadratic. The final formula - indicates that these are pronic numbers, which can be expressed as products - of consecutive integers. So, the nth term remains a_n = n(n + 1), and that's - settled!\",\"type\":\"summary_text\"},{\"text\":\"**Formulating the final answer**\\n\\nI\u2019ve - concluded it\u2019s best to start indexing the sequence from n=1. I\u2019ll - provide the pattern for the differences, which are 4, 6, 8, 10, etc. This leads - to the formula a_n = n^2 + n. Now, I'm composing the final response, summarizing - these key insights and ensuring everything is clear. I'll make sure all the - details align with this formula so that it\u2019s easily understood. Let's finalize - it!\",\"type\":\"summary_text\"}],\"type\":\"reasoning\"},{\"id\":\"msg_0c4bd3230ad523240069ebecee930881908341f2a0e7613c7d\",\"content\":[{\"annotations\":[],\"text\":\"The - terms are \\n 2, 6, 12, 20, 30, \u2026 \\nand the differences between - them are \\n 6\u22122=4, 12\u22126=6, 20\u221212=8, 30\u221220=10, \u2026 \\nso - the \u201Cgap\u201D grows by 2 each time \u21D2 the sequence is quadratic. In - fact one checks that\\n\\n a\u2081=2, a\u2082=6, a\u2083=12, \u2026 \\n\\nfit - the rule \\n a\u2099 = n\xB2+n. \\n\\nEquivalently, each term is the product - of two consecutive integers:\\n\\n a\u2099 = n\xB7(n+1).\",\"type\":\"output_text\",\"logprobs\":[]}],\"role\":\"assistant\",\"status\":\"completed\",\"type\":\"message\"},{\"role\":\"user\",\"content\":\"Using + term?\\n\"},{\"id\":\"rs_04cf0c946973b39d006a01f3ca7ee881a2b8f69fcf3f8e3122\",\"summary\":[{\"text\":\"**Analyzing + pronic numbers**\\n\\nThe user is exploring a sequence: 2, 6, 12, 20, 30. These + terms represent pronic numbers, which can be expressed as n(n+1), where n are + consecutive integers. For instance, when n=1, it gives 2; for n=2, it yields + 6, and so on. The nth term formula is a_n = n(n+1), starting with n=1. If starting + from n=0, the formula remains the same, but you'd track from a_1=2. So, pronic + numbers create this interesting pattern!\",\"type\":\"summary_text\"},{\"text\":\"**Exploring + pronic numbers**\\n\\nThe sequence 2, 6, 12, 20, 30 consists of pronic numbers, + defined as the product of consecutive integers (n(n+1)). We can see that they + also relate to triangular numbers, where differences between terms increase + by 2 each time: 4, 6, 8, and 10, indicating a quadratic sequence. The formula + is a_n = n(n+1), which could also be expressed as n^2 + n. So, the key takeaway + is that these are pronic numbers, and I\u2019ll make sure to clarify that!\",\"type\":\"summary_text\"}],\"type\":\"reasoning\"},{\"id\":\"msg_04cf0c946973b39d006a01f3d3054c81a2aa864b6bcbd2e4d9\",\"content\":[{\"annotations\":[],\"text\":\"The + terms are the \u201Cpronic\u201D (or oblong) numbers, i.e. the products of two + consecutive integers:\\n\\n\u2002a\u2081 = 1\xB72 = 2 \\n\u2002a\u2082 = 2\xB73 + = 6 \\n\u2002a\u2083 = 3\xB74 = 12 \\n\u2002a\u2084 = 4\xB75 = 20 \\n\u2002a\u2085 + = 5\xB76 = 30 \\n\\nIf we start counting at n = 1, the nth term is\\n\\n\u2002a\u2099 + = n\xB7(n + 1) \\n\\nor equivalently\\n\\n\u2002a\u2099 = n\xB2 + n.\",\"type\":\"output_text\",\"logprobs\":[]}],\"role\":\"assistant\",\"status\":\"completed\",\"type\":\"message\"},{\"role\":\"user\",\"content\":\"Using the pattern you discovered, what would be the 10th term? And can you find the sum of the first 10 terms?\"}],\"model\":\"o4-mini\",\"reasoning\":{\"effort\":\"high\",\"summary\":\"detailed\"}}" headers: @@ -144,7 +132,7 @@ interactions: Connection: - keep-alive Content-Length: - - '2471' + - '1967' Content-Type: - application/json Host: @@ -153,36 +141,48 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_0c4bd3230ad523240069ebecf06a108190942c0ca4fef98cbf\",\n - \ \"object\": \"response\",\n \"created_at\": 1777069296,\n \"status\": + string: "{\n \"id\": \"resp_04cf0c946973b39d006a01f3d3d45c81a2b5b20a9da152ae7c\",\n + \ \"object\": \"response\",\n \"created_at\": 1778512851,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1777069305,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778512859,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": null,\n \"max_output_tokens\": null,\n \"max_tool_calls\": null,\n \"model\": \"o4-mini-2025-04-16\",\n \"moderation\": null,\n \"output\": [\n {\n - \ \"id\": \"rs_0c4bd3230ad523240069ebecf17210819097082910f1f7da6b\",\n - \ \"type\": \"reasoning\",\n \"summary\": []\n },\n {\n \"id\": - \"msg_0c4bd3230ad523240069ebecf808e48190926a46d82556b9dd\",\n \"type\": - \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n - \ \"type\": \"output_text\",\n \"annotations\": [],\n \"logprobs\": - [],\n \"text\": \"The general term is \\n a\\u2099 = n\\u00b7(n+1). - \ \\nSo for n=10: \\n a\\u2081\\u2080 = 10\\u00b711 = 110. \\n\\nFor the - sum \\n S\\u2081\\u2080 = \\u2211\\u2099\\u208c\\u2081\\u00b9\\u2070 n(n+1) - \ \\n = \\u2211n\\u00b2 + \\u2211n \\n = (10\\u00b711\\u00b721)/6 - + (10\\u00b711)/2 \\n = 385 + 55 \\n = 440. \\n\\nEquivalently, - one can use the closed\\u2010form \\n \\u2211\\u2099\\u208c\\u2081\\u207f - n(n+1) = n(n+1)(n+2)/3, \\nso for n=10: 10\\u00b711\\u00b712/3 = 440.\"\n - \ }\n ],\n \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": - true,\n \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - null,\n \"prompt_cache_retention\": \"in_memory\",\n \"reasoning\": {\n - \ \"effort\": \"high\",\n \"summary\": \"detailed\"\n },\n \"safety_identifier\": - null,\n \"service_tier\": \"default\",\n \"store\": true,\n \"temperature\": - 1.0,\n \"text\": {\n \"format\": {\n \"type\": \"text\"\n },\n - \ \"verbosity\": \"medium\"\n },\n \"tool_choice\": \"auto\",\n \"tools\": - [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n - \ \"usage\": {\n \"input_tokens\": 224,\n \"input_tokens_details\": - {\n \"cached_tokens\": 0\n },\n \"output_tokens\": 691,\n \"output_tokens_details\": - {\n \"reasoning_tokens\": 512\n },\n \"total_tokens\": 915\n },\n + \ \"id\": \"rs_04cf0c946973b39d006a01f3d4c94081a2a361ca871a527340\",\n + \ \"type\": \"reasoning\",\n \"summary\": [\n {\n \"type\": + \"summary_text\",\n \"text\": \"**Calculating pronic numbers**\\n\\nThe + user is asking about pronic numbers, specifically the 10th term and the sum + of the first 10 terms. So, for the 10th term, I calculate \\\\( a_{10} = 10 + \\\\times 11 = 110 \\\\). \\n\\nNow, for the sum \\\\( S \\\\) of the first + 10 terms, I can break it down into the sum of squares and the sum of numbers. + The sum of squares gives me 385, and the sum of integers provides 55. When + I add these together, I find that \\\\( S = 440 \\\\). Thus, the answers are + 110 for the term and 440 for the sum.\"\n },\n {\n \"type\": + \"summary_text\",\n \"text\": \"**Explaining the summation**\\n\\nI'm + working on the summation of pronic numbers, which breaks down into two parts: + the sum of squares and the sum of integers. For \\\\( n = 10 \\\\), using + the formulas, I find the sum of squares is 385 and the sum of integers is + 55. When I add these together, I reach a total of 440. So, the answers are + 110 for the 10th term and 440 for the sum. I'll include an explanation with + the steps outlined.\"\n }\n ]\n },\n {\n \"id\": \"msg_04cf0c946973b39d006a01f3db6a3481a2977ed12c94ce40d1\",\n + \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": + [\n {\n \"type\": \"output_text\",\n \"annotations\": + [],\n \"logprobs\": [],\n \"text\": \"The 10th pronic term + is \\na\\u2081\\u2080 = 10\\u00b7(10 + 1) = 10\\u00b711 = 110.\\n\\nFor the + sum of the first 10 terms, \\nS\\u2081\\u2080 = \\u2211\\u2099\\u208c\\u2081\\u00b9\\u2070 + n(n+1) \\n = \\u2211\\u2099\\u208c\\u2081\\u00b9\\u2070 n\\u00b2 + \\u2211\\u2099\\u208c\\u2081\\u00b9\\u2070 + n \\n = [10\\u00b711\\u00b721/6] + [10\\u00b711/2] \\n = 385 + 55 + \ \\n = 440.\"\n }\n ],\n \"role\": \"assistant\"\n }\n + \ ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": 0.0,\n \"previous_response_id\": + null,\n \"prompt_cache_key\": null,\n \"prompt_cache_retention\": \"in_memory\",\n + \ \"reasoning\": {\n \"effort\": \"high\",\n \"summary\": \"detailed\"\n + \ },\n \"safety_identifier\": null,\n \"service_tier\": \"default\",\n \"store\": + true,\n \"temperature\": 1.0,\n \"text\": {\n \"format\": {\n \"type\": + \"text\"\n },\n \"verbosity\": \"medium\"\n },\n \"tool_choice\": + \"auto\",\n \"tools\": [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": + \"disabled\",\n \"usage\": {\n \"input_tokens\": 211,\n \"input_tokens_details\": + {\n \"cached_tokens\": 0\n },\n \"output_tokens\": 480,\n \"output_tokens_details\": + {\n \"reasoning_tokens\": 320\n },\n \"total_tokens\": 691\n },\n \ \"user\": null,\n \"metadata\": {}\n}" headers: Connection: @@ -190,7 +190,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 24 Apr 2026 22:21:45 GMT + - Mon, 11 May 2026 15:21:00 GMT Server: - cloudflare Strict-Transport-Security: @@ -199,10 +199,12 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID content-length: - - '2162' + - '3156' openai-processing-ms: - - '9292' + - '8248' openai-version: - '2020-10-01' x-ratelimit-limit-requests: @@ -212,7 +214,7 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999570' + - '149999582' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/btx/streaming.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/btx/streaming.yaml index dcdb558b..979e379c 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/btx/streaming.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/btx/streaming.yaml @@ -21,142 +21,142 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"QI7LKcfz0"} + string: 'data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"IhbulD9ZI"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"Sure"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Vjv3AEP"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"Sure"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"33nBbvn"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ZIqRkSiO6x"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"7cfOcz2HZ6"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":" - Here"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"hDuNBu"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":" + Here"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"UtfWnh"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":" - we"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"nwGOYO6O"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":" + we"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ovj9qQUW"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":" - go"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Yfoy1svO"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":" + go"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Im0NvuQE"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":":\n\n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"qhe4sR"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":":\n\n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"IpZPAg"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Fc4JwTFMrJ"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"IMtxoaufxN"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"uG8micA6"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ilzfE9iG"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"i0RfzE1"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"zbVyxlU"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"UCyvA95buc"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"yu75uqyUkE"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"AJCQJYL0"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"lY24pB8X"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"BWv1zeX"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"eJ7tMSg"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"YiXgCDwDiC"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ZgJR5wyxEq"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"KSVuLCJI"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"8SaAaiP5"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"cUkZYTc"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"vFnB88V"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"woRZ8zCgaj"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"dP0jJJvrBW"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gLZ2gGK8"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"yfOIYi3v"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"MHhIwNj"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"JojybeE"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"wTnrzF6x4u"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"pgtutQrzzZ"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"BSddNyto"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"SWW8RVpo"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"X5Ml0r5"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"YQayUd0"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"6"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"H0LYhiXNZF"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"6"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"W1SLid2W1A"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Rg9i9tKf"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"beIqFKRR"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"F3SNltj"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"qfL2U8a"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"7"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"E1MgcBT7Az"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"7"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"qcHTxBvNjR"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Zo9QxPFC"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"PtNBErWJ"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"LR4jBcY"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"INVub0n"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"8"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"G7AERU7nMx"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"8"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"nNSsP4AZIO"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"0FLAvVp6"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"cOmr9VYv"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"kUlhVqz"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"2YCv645"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"9"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Bllo9gGt8F"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"9"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"uqnuSX2Pya"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"3HZaaX5D"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"6CtqOlE2"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"JoXFuwS"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"24VoxuE"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"10"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"kanRLzFo9"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"10"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"r9jXcvouQ"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"YDgaB953"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"2kU87JTL"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":" \n\n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"jk3Oa"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":" \n\n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"kwlLB"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"There"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"aNhk1U"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"There"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"9ZMI7j"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":" - you"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"SMU9VdS"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":" + you"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"vlhW4Kp"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":" - have"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"TrmYKB"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":" + have"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"WAnkXT"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":" - it"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"n7yhanE7"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":" + it"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"bKGiQ5FG"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"JM0wpz1E6b"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"C0v4pwpZHF"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"OvJ5J"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"qFRic"} - data: {"id":"chatcmpl-DYJC637QICO5rMNyVc4LcRllHinAh","object":"chat.completion.chunk","created":1777069306,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_77c1b30b18","choices":[],"usage":{"prompt_tokens":25,"completion_tokens":41,"total_tokens":66,"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":"MDaX6BWfIo"} + data: {"id":"chatcmpl-DeMjERxpmZI0UGNDVokAYFnGvqknU","object":"chat.completion.chunk","created":1778512860,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7356b4308a","choices":[],"usage":{"prompt_tokens":25,"completion_tokens":41,"total_tokens":66,"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":"jfRZk1vX5F"} data: [DONE] @@ -169,7 +169,7 @@ interactions: Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 24 Apr 2026 22:21:46 GMT + - Mon, 11 May 2026 15:21:00 GMT Server: - cloudflare Strict-Transport-Security: @@ -181,7 +181,7 @@ interactions: access-control-expose-headers: - X-Request-ID openai-processing-ms: - - '237' + - '292' openai-version: - '2020-10-01' x-openai-proxy-wasm: @@ -193,7 +193,7 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999985' + - '149999982' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/btx/tools.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/btx/tools.yaml index 7c74b648..bf2d7a22 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/btx/tools.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/btx/tools.yaml @@ -22,11 +22,11 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DYJC77yOw6rmB6Cg3aYumNh3q9VdC\",\n \"object\": - \"chat.completion\",\n \"created\": 1777069307,\n \"model\": \"gpt-4o-2024-08-06\",\n + string: "{\n \"id\": \"chatcmpl-DeMjF6pMP51iy7nPmbSMH5t2GnTuD\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512861,\n \"model\": \"gpt-4o-2024-08-06\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n - \ \"id\": \"call_n9mTbnAj0OxTE5vQV0sPNobD\",\n \"type\": + \ \"id\": \"call_cijwTd5yHvK579LbsJiGpk2K\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"get_weather\",\n \ \"arguments\": \"{\\\"location\\\":\\\"Paris, France\\\"}\"\n \ }\n }\n ],\n \"refusal\": null,\n \"annotations\": @@ -36,14 +36,14 @@ interactions: 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_d59908c1a9\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_5f78e76dfa\"\n}\n" headers: Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 24 Apr 2026 22:21:47 GMT + - Mon, 11 May 2026 15:21:02 GMT Server: - cloudflare Strict-Transport-Security: @@ -57,7 +57,7 @@ interactions: content-length: - '1092' openai-processing-ms: - - '487' + - '554' openai-version: - '2020-10-01' x-openai-proxy-wasm: diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_auto_openai.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_auto_openai.yaml index 28dfbaa6..8435c55b 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_auto_openai.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_auto_openai.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,28 +38,28 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJSd8RpUKCYBIIgwjcKkn0YcxksC\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355347,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMBLhzkTz2HGMqCMlbPkKSzY643i\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510759,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": - \"assistant\",\n \"content\": \"Hi there! How can I assist you today?\",\n + \"assistant\",\n \"content\": \"Hi! How can I assist you today?\",\n \ \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": - 9,\n \"completion_tokens\": 10,\n \"total_tokens\": 19,\n \"prompt_tokens_details\": + 9,\n \"completion_tokens\": 9,\n \"total_tokens\": 18,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_fe7a5277a8\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_dac1f01875\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed46a184dcbd8d9-YYZ + - 9fa1f878b8f66e57-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:02:28 GMT + - Mon, 11 May 2026 14:46:00 GMT Server: - cloudflare Strict-Transport-Security: @@ -73,19 +73,19 @@ interactions: alt-svc: - h3=":443"; ma=86400 content-length: - - '843' + - '836' openai-organization: - braintrust-data openai-processing-ms: - - '855' + - '826' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=d6xUFheTHezzZ8wDikyxfztUlCKnoVvYjOSwfWe33c8-1776355347.2496035-1.0.1.1-bmznqvTj5qvMyE5t2CRCSSTjdqg66Ijypq_q1qNBrVdpTAg__DDlG5rZ.wHVABK_3tsYFGnpsDhTw.m8W4jzs46yW1GekrUUNiuRbK1fYiALQg5wd75CQ_3hAh8dY0gL; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:28 GMT + - __cf_bm=EYV8qNK4oEZf6UARTqK5D6uVwD5GjguWUEeCa0YQVbA-1778510759.793275-1.0.1.1-ae4fAyPKYYOTQYWJZUbsY4KgLYiZRRZE98XGazKwEP1B.gFUmLNd5jrW3X4Od2Ctlt0fOmrOFr33b0vcqRSBDLLK8YTFENI2S3QL.CLvVvHdc714k1xl1vBMM_BaI_oZ; + HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, + 11 May 2026 15:16:00 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -95,13 +95,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999997' + - '149999995' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_ef68d3b342ee40a0882e30e87945276d + - req_8e56350c26ba4297bce83ee670ee7690 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_async_parallel_requests.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_async_parallel_requests.yaml index 100161ee..0a57c49a 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_async_parallel_requests.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_async_parallel_requests.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,8 +38,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJRIlfuna5gyp9Xlf8StVKjjNNzr\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355264,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeM9RKPGL9OjnbaOO73A6eDy85FSX\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510641,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"3 + 3 equals 6.\",\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n @@ -48,18 +48,18 @@ interactions: {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_fe7a5277a8\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_a7b0b5e194\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed46811feeacca0-YYZ + - 9fa1f594b8cee910-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:01:04 GMT + - Mon, 11 May 2026 14:44:02 GMT Server: - cloudflare Strict-Transport-Security: @@ -77,15 +77,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '392' + - '675' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=gCrLhLqBBQjbu.6yKcpqL4Hnt.oIFq7kY.y7F3iDxwI-1776355264.320733-1.0.1.1-vgFgh82jADrQflcj8RrySYJwGlceYfsjlTWn9_.8n136S27lEgkO1nLOSpVco5Lk3N2awfedojMrV1laYU7_Px5zVNjA10Y0kSwu.psrBM8abnKe7Oiyzz_TcmzdJxrP; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:04 GMT + - __cf_bm=ofEk8bpyCP2EYBgYzr2_.MQ7t9gGxiy.ab8xbs4fYLY-1778510641.3963556-1.0.1.1-OqTQWkkNou5oo8qEjvqWAP7KiffGTlLn_ECZn8AEfi7oqehsUpHIkWCT0ynYImzrSCUR0qiMvgluR.G8xPanKPlNEEsAZWdVAGI.cCGvVF8OK5gvLNeOolPYtMakSxJy; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:14:02 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -95,18 +95,18 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999992' + - '149999995' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_6d5e670abd7c423bb1e709f5107e7d42 + - req_df600728cc8f4ffa99d84a2c814b7358 status: code: 200 message: OK - request: - body: '{"messages":[{"role":"user","content":"What is 5 + 5?"}],"model":"gpt-4o-mini"}' + body: '{"messages":[{"role":"user","content":"What is 4 + 4?"}],"model":"gpt-4o-mini"}' headers: Accept: - application/json @@ -121,7 +121,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -131,11 +131,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -144,28 +144,28 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJRIfTF0lB2KOV8aDnBg2q7idTdf\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355264,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeM9RAtD0nohxx1smiFzi41PuLaOu\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510641,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": - \"assistant\",\n \"content\": \"5 + 5 equals 10.\",\n \"refusal\": + \"assistant\",\n \"content\": \"4 + 4 equals 8.\",\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \ \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 15,\n \"completion_tokens\": 8,\n \"total_tokens\": 23,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_fe7a5277a8\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_d88f6e55bb\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed46811fab8ac63-YYZ + - 9fa1f595589c3987-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:01:04 GMT + - Mon, 11 May 2026 14:44:02 GMT Server: - cloudflare Strict-Transport-Security: @@ -179,19 +179,19 @@ interactions: alt-svc: - h3=":443"; ma=86400 content-length: - - '822' + - '821' openai-organization: - braintrust-data openai-processing-ms: - - '431' + - '603' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=jht1DJ.i1vgjNXQ8pquIwYQShSG.51Re60R2kaFBghY-1776355264.3211617-1.0.1.1-fm_KACYKZvgoXsbf42tiVuyrkcDou0avlPwnBdvzdh7XWx32wn5YHPYfv5p1FQon.wIb92qFtv9He.o.MK0NNLAQnrbVJApTfr34BqKPPcVgGngOfjnOwQ9IiTTnW8op; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:04 GMT + - __cf_bm=avkasK.fabhZwS0lb6EDH4EyZTrSlkJydKQH4U02.SY-1778510641.4920454-1.0.1.1-FgJvvJSy5aJEbtEfNahdzfBaxueFkSubLNHrlBg4_Ii9L_TSqel1Trsr71nVjzoQ.W.b8MXnR869ynqRmJmaJRfLkKCVD2aompzpYlY0JcYWZf1.Zo5egezayM7IMLcd; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:14:02 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -207,12 +207,12 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_682513736e71452c883c26f0555c5651 + - req_f4964d7454b54566bc8eecff01bae2b2 status: code: 200 message: OK - request: - body: '{"messages":[{"role":"user","content":"What is 4 + 4?"}],"model":"gpt-4o-mini"}' + body: '{"messages":[{"role":"user","content":"What is 5 + 5?"}],"model":"gpt-4o-mini"}' headers: Accept: - application/json @@ -227,7 +227,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -237,11 +237,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -250,28 +250,28 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJRImjdhjT9EBEFEAl5ec5Hg0xUd\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355264,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeM9Rd9bwC8Xn0MsiSGcznw8YMVhw\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510641,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": - \"assistant\",\n \"content\": \"4 + 4 equals 8.\",\n \"refusal\": + \"assistant\",\n \"content\": \"5 + 5 equals 10.\",\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \ \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 15,\n \"completion_tokens\": 8,\n \"total_tokens\": 23,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_fe7a5277a8\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_9bab15d2ac\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed468120f18cf1c-YYZ + - 9fa1f594bd3ea250-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:01:04 GMT + - Mon, 11 May 2026 14:44:02 GMT Server: - cloudflare Strict-Transport-Security: @@ -285,19 +285,19 @@ interactions: alt-svc: - h3=":443"; ma=86400 content-length: - - '821' + - '822' openai-organization: - braintrust-data openai-processing-ms: - - '489' + - '754' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=Hmjz54.2qoIo0JMwcdy9oZso.eSLSaRev15KoZ181so-1776355264.3270297-1.0.1.1-YZKji7OSOzfdsCJO6hPgRBnGIiSJvyccLbf.uibKBGLUxsx0yKBkjS0EEXM8LktQlBhy8if8iC2xIwoEF7DxwPtSlo0LGW_BOYjlGbm9t.S5h3noYgdLG8KxLwnbk83.; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:04 GMT + - __cf_bm=UvDyBx7wjrWnRmg349kZyifKJCFpxED1iZ3sV2EtoTM-1778510641.3968153-1.0.1.1-Z0xZAxG_ZFIejyS.DckxRxhs_nTXFgi76rBQP9uzRoWhHti5Wk5l5_dkOIaUkZr2.rIq612E4nTZaM4kO7oraz6W_G0gqRrm6XhjwtgKPPoLs2PaW2jGYC9KxHiBv1NL; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:14:02 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -305,15 +305,15 @@ interactions: x-ratelimit-limit-tokens: - '150000000' x-ratelimit-remaining-requests: - - '29999' + - '29998' x-ratelimit-remaining-tokens: - - '149999995' + - '149999992' x-ratelimit-reset-requests: - - 2ms + - 3ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_6897f3517fb640be9f920f0fa55c9f77 + - req_66969e88512546d0b733844eea260820 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_speech.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_speech.yaml index e9b571d4..6592a918 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_speech.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_speech.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -39,487 +39,462 @@ interactions: response: body: string: !!binary | - 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 + 7PwFoLPAAc1pTOKO9gKlGSAmeDhTHkDPjOlHtTPIArBpgGKYOwn9iFFAF8ZU50PhwyQoJYAW0mTG + CpBtmCBNGNaCI0MhYczgRUQv2ZiqcYADWoW2//PkxP10JDnMMuayfCQk3EyFAIih2DTGhCPTNYQr + MxMaEMEBQsw1haYwiUoQSIIQTODGSjXQHADNEXOWtGQiIJYqtqarWXokbCmLlyXASGTCYUpICFkQ + oNABwwgPB0INKLoioQOSCwpMAY6REeAgXUVVQVblAbKS2LFdNaYUXiY83oJGRKXbDCw0Csiau110 + W8bZrLgwNOUb1NfRVSFagzMu8j9Ql9lRuYnMXiY2m2mayIAjJXoDYIRWfovKqFurIFfJeuYzp/mU + omo4vssCpbOsxQdh9+XiLhKfgWOqzF6qOgccVuBqlpmjj0ZNNJhA/DirCzUMUuMxqrzNhUMpgcII + hg0BgYWAIrGNBiYrJhh0sCpNMHC4weEwoIBhcyLgyV0L7By0ZtuZYsYcWCBQFGmCCBBMeIBwkBAi + 3KcyAExoozS0ycoRUyV+YRAIRoVFGIJmXUGelmT1EnUK2zOMDEjx0YYIqZFMZyOZnUCPpJtM5GM6 + hMUQBI8UIEhsZVDrULqTJEAxORFB4sZICZMwYBKMIgQQAxsmMDQ4OEgIsZIuZVkYSGDIJhlhkxoO + IJDlUESDRQ4Ell10+Huvu6uZfLWGhsGXawJmK8lFU7FTq8VhSGTdVsYO1Btmuu04Toul//PkxP93 + FDlQAOay3ADGnFLxGEeYLgFiHWwYYBQUAigadwMPArwFkFXQIYYIJbxJNiCZIXICqBCWXUTDZw3d + jSsqUyBBL9WhazgyS67TAV4tigl9mssOQSg0gLJiJMREIJ12NjUqCwohQJFSU8GAI/tMht0lgU/E + 523cWGHOZKsZE0QhDA5AGn4oqmkjaXmBBYBcClIgnBiwFHLqI3p6JShcwGNhSERLAEctAhWqx7lA + gASAFyqoCRwcIPBoQqDRdFEGBkohf9ERQpJFFZCanY0h17EZdppLMm5tcaCtZdK6k6S0RiHmLEFL + akxBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq - qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq + qqqqqqqqqqqqqqqqqqqqqqqq headers: CF-RAY: - - 9ed469ab79deab5d-YYZ + - 9fa1f7583e944d63-YYZ Connection: - keep-alive Content-Type: - audio/mpeg Date: - - Thu, 16 Apr 2026 16:02:10 GMT + - Mon, 11 May 2026 14:45:15 GMT Server: - cloudflare Transfer-Encoding: @@ -535,19 +510,19 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '758' + - '1180' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=QPRHUdG4KSpdGh0_obPxIvLTjUkSS5QrknL1dFcbrdg-1776355329.835823-1.0.1.1-Xo.4yweTSzQ8rBNhTuFfjk96armciCQbM8qfp7zly.Hu.WjdSE34_KxnroMb0wYwGY31rFMtf9Fuu.DwGnZ.XeHEhXVCHt4lmsDH3Qv1AKYSzIfBb1e2eQmwnvHJlSI9; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:10 GMT + - __cf_bm=7.HngNueBn4jRZUomV3Yh.ovJSQJ5V3U9g6cx0nOL7U-1778510713.6314502-1.0.1.1-0EtKfGmozOZ4R.FW8RcyQX5pmP7pMCs.MPd7Wk1rwsTe4WBbXqkodYoXq6111y5UtpGpuwK1vj9y6ad4Uc_MRiTHWjbdZAUVivv38abH7cExLpp82vg6nbeO6ihKwVzx; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:15:15 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload via: - - envoy-router-567c8d69b6-t4xgv + - envoy-router-b69b9f586-6vhzh x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -557,7 +532,7 @@ interactions: x-ratelimit-reset-requests: - 6ms x-request-id: - - req_42ebe0ed7f8141b183db256aebef6612 + - req_df72ebfbf5d7409a9aaebd79fd1d2aa4 status: code: 200 message: OK @@ -577,7 +552,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -587,11 +562,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -601,470 +576,479 @@ interactions: response: body: string: !!binary | - //PkxABc5Dn0FtbfMACZbgKsnHomfCGgHFQKZUyEDjKEjCAjNnTOnzQoTPnzLhREUNEgAyQQiTNB - hGTM6RIRRmBixVzGMPBjAxBAOAKALsRUZCXLLZoD5KKBjJAjI0TZzMyZQAs6eSxmqTh69KbaKmHD - hiQIlYDAoxQSAwgzSYRsTVMJD0SgAEGGAymqC6s6k5MocY0UGGApko2n0sIupAYpW90siEU7YgBh - kHPUWwUxMBAy26/5EuyAWJtkTAlpc1cJuaZc0wZCLOufUA5CcKBOOlwhCfeoeulaj1YuxXxS0PvC - TgrhECFn8hB/lzXmGPKh8Z43GgsHOtKg3zLV65QtSOM8qHnOo4chyD0C0FvRQ4F8nBkHI0FvR6cU - pL2WOXQTRKHOj2BOLSgh4zAO8sdJpzkWLJxwPw6C/ibqpUN5zk7aZjkNAuEWErJvAOdbTjKc5pub - AoEUIQcGE44lvR5+GW3RU+o3M/HFuOMnhwSv4bcQRKiaEsVCnLeZafNOdQmKEp+HoOmBmJSZ4kGx - Tx0l0aK4jiEYkDGTIBkAyaCSmZhhC+DzoZkgG0E52ToaQimytJ6NiduwmkJA4Fmor5x9iaglHBTB - wy8ZQImorplIaYaCQYLAQYkDIY1jmY2i//PkxF96dDoEAt93BvmW6GmOYfmeTnGzEkHORKGaj3GQ - I0Gp5YmfYbmAJBGnFACODPTk1EXMqMhptMqRDLBww1BLKGVhxkycYoAjhuZybgK8DjI2LSO+Jgju - Nwkx8fNYnjZCwaUzHRcy4sMCCjEASB2zSPzAwkxMJBoaTBSTwGWDKBIRh5mpqb07CTYZAkAqUM3I - QEJjoOYeKhg+XUMCBggATeMICgUMJvkQGYACEwOgIX4zhF8xMVIRgyAEGQUyImMsLjKCIxQIMaKj - GgIwYSFiBW4DAZgYqYyCl31C1hDEhZGhKhMYw4QTMYWg+5xgAUgYXDMGDjCAQw4ILQjwMqAdBTEQ - 0mA15soTHGQEwcDV3FIMAAIkUWgZAj4h3fYRACBj6tYXYyxsbSIo2JWBFR72GQY7C1HBb+XzzYmy - u+/7ty52Ys1uKXX6cSUTE7R40Vhwodf/l1/pyeiDuRWtXhybrwJTP/ycp5GoOydxqZnL9uwvl/5F - FoPkTd5HWmoXi8DpSpuLW6aMPpAS1dwQ6rkMxaG1tuFREZCCpQKakVmRJgMFDFwEAkgcpOgFg1BG - IxEwcrMpGjDgwVGTPI00UuMokTEhAKHgOTTMlIzokMdcTLWsxYWAggZaTmJgZjgi//PkxEhuTDot - Tt6xUEpuaGQmHpJjI2aooG6IxR3CI6OWPTfcgOozIpMyRHMQKjJAo0QHKwJQ5TYuenGNOi7hhCst - UgKITOhSYEYAUNJBwKMCCMaLSS3gxHAR01k838wzBw0BEIaGZOAZahAnM/blo8FvGfLuVKKjSsyB - j5VDGmHmYEGVxqIAZqFFogDCRNQdnyESRQXCoBWtQ2SAUrBUQiaJBQcXEJURjDBuyAIKMDWMA2jk - FwhAUdSdyoFpNiQXAQJkqw1ZtKIgGwgCgJATICCIps3FlGcKfTJV+xoYmDSlx1YkzxpitqqwUc5s - dTiKAjT0wnOZGlWthEJYRgKCNnA8dMdGecT7C5Ur2pO3ZmJM3stgCDovXeaXSGWxJ7bkBQ3duK2U - sfcdvmEy56W+jjkt/AC9IdcCMzLuuxTx+ngibsM7hDY2H8YQuyQOu/KlCAOKO819riBc+oc4bcG9 - X02udK0BokGurBa5F2qby+G4eay4z/Q08sOOBL4076oRgwhQDkwgAbzILO3NIM80yNwvTBdCjMPk - GkxhigjQ3NpMg0NMw9xYTD/GqMxA9AzfhDjBxFtMXUeEyBQ3zQ8/PY2U6vOTsbzOOtMKnI1V/jL2 - ON8Rw1o7DQTWNyOY5EAz//PkxGF4VDogAPc2rLHRUAxy1cGkRuaqSZt0QmIT+ZCTosvTDlIwImMY - ASQ5MqBzDjowUUMLCEUDAgcHNwsFtEBxMXfEgoaCjABMwQBKBkwMSMVNjKzYwQNGhE1xNNQAg6UN - HZAy+NJgzIQg0MfUpMWCRoaRoKDUAAIFCGxGTCwYEgYMBwIYcXmBjZjiGY+MiEcIS0vCY6kGhkQW - PjGQ4CBKSztt+pGEt1cFYVNFCIaCg4aBI27QknmCiRESAIoMJDDAAA1IbCA0xoPACiBxc1iJMwfD - PIEyEgNDSzTVYyYoAK0YeNgJXMMBhYVMYD2BLZCwgQAJMGDwcksTAD5oJh0ISPU6eUYA5h64BQyY - sps4y2QECtQW0oiyVFUuC2qukTVYGou0mUjcvmEsqZ0/7qMKbAvZm0FvK5E08cN3NUcjtTsNQxBk - xIH8t08cnrctked2UUlND09Sz0zSyGksS2IymtFOx2MxmEy27LJjtDqNy6XZT8bxlXH5nNYw7Ozt - DQzlNKM90tJSVLtflyowLQlzB/DSMJoSsyCiYze63IMQcw4yzyIjHFGIMAGbA5yxrDKVG0MS8Ooy - lRWTz3jRMzI9cz9ijTHIHbMno7w1XhMDDyDfMGwF0wsgJzEGPiMM//PkxFJxbDokAPbfHOAgMD0C - Aw7QyzNJP9MmsSMwagxjCFD7Mb4lEyKg6zEFBMMxODNzIAuxjFAYeHGNjhi48aWvGnCYGBTFAkxY - pMNM1shQDCgGIisHASSVGmEEJJd6bZkVCAwsBU4SGcYx0YMUCSwBAIWEZeZslGknhjo0YeVGwBZ4 - 5aPNphYUQKxkwmk0REZig6ZWUmYFA0VAQJFA0xUUMgGQMFg4CNYajKxMkKjIQQLDJsx9DaulN0Ao - kJP+u2CW+Xpxy39KgCqRE8mASwBgYWTVCgWPAYoFFykqTFB0wwNMSEgclBYtJh9DEtI5ECIiMgFA - 5DADAKTznP8P4FCXEdqFVVDYYiHEiaTsShrIWjyVw1QX0nqySw5C6rajVSeerCmT7KZqQkQKYJeh - qpVyFrpbwcsncVKuNsCuckNlpHULEr3SHLmz1ilmYly+nfWUzm4zq15GjNc3uxNOFapn+DlZZmo5 - lumGJTK563uMJ699tKKPZSn9uLBmeMW1NQcBBmCXAJpgSIDsYM8AKmbkuYZhtIY+YJeAXGBuA6Rg - xaE4cvX+hqSDamIWIQYsRy5lpVNG3CemYOgXhgzBOGLqTEY/z1Jlcj/mJWAgYKQPhjxkiGdYICYF - wYBg6C5m//PkxF93NDoUAP+2VEJHWmWGNsYLQOZg6gfGBaC4YS4aRh2h1HXHACdDL0gzBXDqwrIV - FQQJmCE5kAoUCIABzCQAAiCwsDmDAphwan4xyGwCABwcwWBwqDGGhCtQKCBCBGCCpiQCFRJnJhgO - YoDpYBQKAQ6YuqGomBhBaa0SFFCaOeGriYsJmcjJmgebZBmQiZmpqRKRnTWcQDmZFBokUae8HCmp - rByacUmjEphJqHCZcIt/E1xIOQRB7LUmWSL8S6UksZDUhBEHgqEAYDbGFQcHApCImBkgMBwgdMAF - QQVGGmpiRQYWDjBECAgEjJjJMYKHmZmqO5jJygiMEJy+SpwcCKIt0QORqZW962XFYE+0NrFY8+z8 - vQyqG24qCvQqGac5l7WXieJ51qsejT1Lmf6G4ddJ7pBSSKnoYdnKSlmaClpatzCv2pcj1ipKohdn - pZ8UjM3L7b/28692Lyurllbv73Xi8axzj0rrxOR2a2pRKbcazs14VDFLUpcIpMWctX7etQxKZbb5 - T10AAAxgH4A2YFEBGGChg3Jj7RPWZgWD1mCpAQxgYoFGYNmJgGBbrsZjbIUSLAjQJBVMHopA05Ue - DCIELCoKhhUA1mIcMSZ/yEhhUAegQBAwMAHDF7GK//PkxFV0BDokAP+2bDPHOzMccAEwUANDNy00 - 3MMfMjHgkw0AMqEjV0FBVr0hEQYYaMDQg4DyvOARcWC2uUThGAhIsBwbflxbBm73sgEAUYIANBm3 - CAIiPAiEyCkmzGy0FFaQ73mTBRqaqZaImOg4JKjHgQ1JyMIBR4tMMCRZYN2OFpmfApjxmZwAm8o4 - kBGRlBiwqZ5IGblZhI8ACYMOjDT14gaJiwIY6Lhg+nwkOmkCgBrrV3IaQ2ZXbgInPAheRDKRhMPi - QOZmBmYBA4DGKChhAUEShpBNAplR0AmAHGhppGpoYISmWgwoCAwHLvBgSLFaYaHeG0NmDRV55W20 - xjUj0nqXe5fL6GB4+/jwOpDaejcYbZfBz7N66/YLi8egSAJBPRh+I3PWX/g7GJS1ncD1JmPvG1+L - Q42kMYM0dNelis4kMu/TyWAmJ3Y3GHclkFO5L2SULcGmWp5pEZceHIIaxLXLl2LhxpicPSxy4aYh - BMvikea5E4u/kTi7gQhyKvX8nbdiJy8wFQIQMAsYAAI5gUiPGXk8YZiobRgCgamAsBqYHg45s4Hp - GXOAeYFwHhg/hYmI4iwa+haJjODRhmBAkABhIgBsQjYUAISCcxCJ4zAB82TWoz9MIxaBczIR//Pk - xFhzNDpEAPd0jGNkJ6NABNMcQjMRiuMqiIPopCwQvIcPCfm+ZEqpgY4sZYUZgoYgoqQwqE1bM05F - I4EACyhgCRniQccbmYs+asuWjR4LiAgQZowYosXmWKBgaWosKLmGAHG0hDokDHgCTMOFMiwNYJBT - 1l4ESHMHD0EygExKM0qc0DAlPDIQdMGMjGfbAIualmcF6RqgzYYdab1qac2YI2IhxhAiiZddC5RU - CiTFgQcAb1GxGUIBppqDigEHH0FEvVDwEMBROOseEk5UNiTBJEQji7AcAKwI0TBoAtIIBSHgOFoP - pvJcLbcZwFEUwHBWOz4vBAsjaQvdkD2s7fYu4xSnoGHt0bSJy5PRHybvv/C30mZHBCxIOlfH3o6G - V3HQcS/II+5edNEqRwK9SINzadE6SEwO8r8PlEFp5uxVbuy6SNYnHTYu7lI9bbrvijpu2mOz6BJe - 5b6v3EOxN4nIkNeWyeXQJQQA1Cu1+dYHL4hGIpCnXm8cZdTzkOROrHEQBa8AE3oUxdgAqNZwSCpg - sBS5wCI5l+5pj4DphiIBhkAhiGeJk3thwmVhm0OmLl4cOTRsIehcLmGwaYZJJmsiBUDp7mGh4Iji - aCX5jI2mowCbXrp5seHeAqeaMZmk//PkxF5oJDppFu8ylPpnxsGyDiIzUagVhmgBGTweaMGJk4im - NhAZQEBnoDmNAwYwCSEkKhGYmZSJwBBDItgPam8cBiV7FzxgEaEC54YIAnDsCCs5CGAkzZHJGi6I - KHKiKYhpEwMkeSDsAIhGVlUFWZE2DHWCwoQARMFl2FioxiDDgicBcEumhJU4fVOJVBh0i2pvVpcW - bR5pVR0WhwbCHTW9Qr2Z83j9SB/pM71Z2l5O7fgyZdz6liBoHhmkdGI3qazhPxmw+r+yHt7C/S4x - 1yZN2puvuZjrsxXVbOrMym7DMM4Rq3LYzLcYzEaWNWp2GYzZsxmliU1Pv7EcI/uFQQ1p+pNE6rPZ - ZC5e+EOuK5LpNWa5AUHufE0vWXMLUtVoSjU8puzFGh1k5xYF1EBzoAkNdpfhXSS6uFiIrNKZG0wm - EUcUdRMZwndLF9s4nU/FOBkjSiQDExiUUzEqCuMFoE8wKwbTFvOdMMkdYwlgBDCDFtMlsHE0VjXT - IMFRMfI540EgOzUdIkMNEHw61FDAtdM8vIyWojQiQNyEs3CvDeIdNpjs1W1zkAJNTuowm8j7w4OM - nM+o0zQRrMkkQzGVDLYlDkkZIHhmpUUTBkh+FgIQlocNmIghlgEYCRGDEIJR//PkxJB2HDpMBPc2 - rNTUQkZkgEYGAGOAhj4wCBcwFNHgELm5pQkYIGGZAoXQjSAkwNfMuCjDY8HQgEdDOwAGIIR0maCh - nZcTDRnIYDQwKBpkggY0CERIFxIx0FM7LjCygy0jDqEyYNCigBoo0YLEIWOhZlA6ARoFDIsGoqGL - AQWCy5oAA15QSv+2rA4aGIhA3HRVQaWY2wXA4fIAdRxMxYxborBzAwagMJDgEXCAKaEFwEwgHgVd - o8BpupKSwWAHCSrWBU8xeJPI2kZcd+6juPO/juXom69BGHkf54H8gGVyvByJ/CEPrTwzPQxK6SIS - mRQDPu5Pww/7kv9NyNnEWgR936gKJxuMSN+Jtyodsu26EN2Jxr0grw6zCGo/Oy+dpYzDUMRtlLKb - MCvU6UMSalmWlxKHI9nCLDPHncqnmGoR2NsolFHIpFO2Jz4CdqXONK4ZmWsqBwAg4AeYFg4RuLFd - mIMI2YHgJZh3osmW+TAYSYjJi1GqGn4oeZWQmZlcGEGlYLwcm7/Ro4pnGHwhMZkSF5kGgPGOyLOY - RY1QMGvMF4QcwQRVjD6GtMJwY0wcgPzINCqMpALkztgeDGWPTMiE2IzUSiDcMAO90g1kdTZ6QMiB - E0iMDCo2M9BQxaQA//PkxIp5ZDo4APcxFDJU0MIzBw5JmOABSZYBZh8OmUgKGJUwaJQxkEhcDjAY - nPZhwXmHyEYPLZiwbGQRwYHJ5g1VGIjMZ7MpocrnWSkY+GxlYEmXFyZsA5ishGLBIYwKKrBQxGHg - LmJBgx8FTIJKMUhsw2CQEhC0ZiIbmcgkBjsY5MxmlVGgT8Y5HxmUcGPwOZQCZhwUggQkGjvwHNSF - VCoIIxl2GtrmM/lgxYBgercGMQ7GchBgvIlYXKBxmHl0w44s04VNXQixkGeogILJQwi9zGgtU6Et - e1sTjP7KHBabJYrDN6VU8V3OxnHlaeq2aWVWdVI1dlsZnICsyjLLc7lhNYWufZqRKYwmpdndx5bl - M7S33Rf2emmdRuBWiNed+UVWQwVGYFZLLnxeSUr9tSd9Gc0UNv4zZyYEZHOQa2RssubEra5cPNcb - 3VGuynet2KaKRtQK84rE2uu8+b6Oo0iFvBXoXqxh2kL0MBsA8xBkFjDxAEMGkA0wgyITKZGsMJ0C - Uw6yRzEqCTMHYL4xdisDFvE6MOcKww1UPDLsOBMjITsxDhfjBuB2MIkAUwkQ3zB+BpMAINEGAMGD - EIiYCIhZg9AuGD+OoYKo0BjeBtmF2JgYN4DxhHAKmiwg4cDA//PkxHdfPCJAAvbRH2g0bMOETTBc - ZBSgQMoIREHEoYCBUwUFHA0iEQEHu2CBcumgUAR1CUDRMDRKHMqAZmxjFTAwYUjzGwoCLZiWAZwQ - hcENzfCh6CB8wMyAQYyUAgoYKL3MLDi5xkYGFA4aFSZRMBESsyM4ADFwQxoDFnEsBZiYEGGRbp+g - cTI5JxDwE11Sx42uJpRpCVATxMGTRAACxVpKIqFq9UmWYUzty2Xv+4sCySk+OO9nLYCkVLMUtn8S - bWWRCSHmtRj7TZ4nOQcWkytw3MNaHHQqw65XjR02KrEsMqIGjmLOVDhWhGWRMLVNtZh0spdGoEoN - ThQ+BIH0mnMeHpgNixXZDbDo6jSRlwcFJk1MQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVV - VVVVOEaBCMGIBYyBU4DF+C4MKkHsxMCYg4XMwRhmTIdEGMHAHMx5x6zC8EVMPA8gzpkYzOEKrMQQ - KcxIhCTCgAFMNoGYwnwciII8MFxBAEJhYAxmBcBOzYwrBKyAO0xagCzBeDBMG0EcwhARTBPAGMYM - TGQgaKjBw8wQJRJAo6BBsHEgOETBBFOVHMqgCHxYBV5r4AgSzRwQcTLEHQgIHkOgUAgMdFAeiKWh - BSKa//PkxKtfxDo4BPbZHLUIEexkpElEwgKEAyYIFiwAAh4xUARkS+LPwAyJ+mCqGoBQgBCgaYEJ - hgiHCqaJfAAgoFA1HA4YZGkOyovs2tSlwhVuSSq4+rSaF8mGMJTLXKuxdzImQSulgCpYhqQ8p7PN - 6z+vzW6PUiLzGRE89JR2ciMP1Wl/G1WDuBjHpaQ6LClRlpZCqbsojO0UZXdTLVa0+iEQyPSovOFs - EbJ83RCVy49WPGPSHkYlwmSHx8rLbNI1CxUzCp1iJEmIh0eHVUKOAroV0ia4cfhkdvKTiVaGwt1C - TEEwE8D0MAMCfzGG0YkwdgHNMF0DIjIDg8MwJsBBMA4DlzDQwiYwEcEcMVMFlDEIwxkxdMPcMEmD - fTBZwDIzSRM24NMy1BIypX4xdI8AguYSGGYBi0ZJpUZXlEYcHYZtoMAShM+cwOOacO617NYDfAAH - GA5xp0sbOCGqq5uAoYCAGOrQcFg4vMrHCqKkxCZCPGBEIoUJVwQhJMbDi5woBoVhckGhoQARgQml - Wu0mGGcAgKBo6bO5GA9QnlnMQ5miSkOmmisCQkwQFAwqAgZYBSlQ4OBonedGAmTMRc0GiRlZQFz4 - 0coN3UgFEmdE5iAIDiFPt22lqdv+0ygvUjPJ//PkxP10RDoYAP92jBMNfIuCjilQYWLGHgDRc4Fb - SCmHKmf2UJgvq98CynDKetU0zVjMXn7mdeB7Up3L7l+y/cfZfJnYlP42YIjLtQU9taWw1yVbpHub - +kjM64cOzsucmMwzJ7Ew7UaZ06TvMuYmyJ92cITVSPU6roq8Wqn4+pdJUjkqZOWuxJ9NBNN8RwFL - OqYFkRkKBgGQiRZkEiSVphACWaT5Bw0W1SKkifzIwUFl5BGDiIIX2ShBemNIQJDRtPtPmJsAV43C - FrqcV52cLEZm1FgOEBJQUqwq66JUS1HPTEFNRTMuMTAwVVVVmAIARDDqRwM0sYeGMxREtzDzxZgz - QEOTMKpGQDGIRnwxzMb2MSQFGzCDxyIyE8aYMMbAVDAAAKIwLEDlOLC41StDSqAAg2MznIy+WAEa - jHxzNDF8wETDVKiMzpo29QzcQsOcwIxhfz+nFN0FM5Vkeup6mkziZkiPCwgxJIWHAQOWZQsUbTVg - gAhgcCRSYbDq7gYBHgNxMoDEmDl7VqGBCJKEqs71szxAzooyLA364CgTCAS2S73MZMXlX69FVqDX - 1+OhAzqOg867Vhm6Chk3Tk1Q0xhMzA8AjjIgm7gkErcoM16RzLpOU51WQRGNxJoSqzEm//PkxPNx - jDoABP80jL8Kp1KnDLhP8xKCnfZ6wWG1ZE4nPaU2JOJdLNlFV3qlp2uuCxFHpk0vU1jMvR6QWYsw - 4ucDgyCaHlNVBXYa84sNR12UALJdu09USbu8kOLmnGktBVhf6Gn6lMuelgqwsCUsExnquWcsRYww - 5kLEVKWatelTSnheV0mlvkX+QHMuBIoxYJOpL1QVL1qz7pyrpgVBNJHGWGc9YaG1Stig8QAwwCnq - XxpZau5lafyGqcoUCgoCzlYVMWkXjB8EO0/7GGrvooMup9XIRSUdBAkHDVSu6miqTEFNDBoDADED - MVYYw0K10j7vatMrkIIynCZTJwLBMVA8YzdB2CqI4YRAkhk8D7GEUC2YUAxBi0AwGUoppIrKzFig - yoiMSBjDhYywwMgDDABYyo4MuGDFykztNMzA0iDAyEwMaNcWDEg8wZkPZtzO0A25MM4XDtJYygvA - z+ZUmEzIEJhlKCCjIxwQEImNE5iREYQDmPh6rQsBBgYDREWIzCBRJEkCjAAM0pcNQPDMCoyIQAwA - AgKWmE4sOSFnF+QEpg5D1z9HAUy5bcmuYv/MvuvRwjAQDMBiDtBRBmCSEGMLV3Gocp4aYYyx35+A - FhFqTsMQxADD33gJpDqNfZWq//PkxPxz5DoULPbwnHYMmuICGYhgIZDIITfU1rN5xqgFSDhs2YQB - BGAhgMZjHN5xWY2m96LyULLjQpCB/EBZjCYRoXozlx3ulwVCZXnV5nSZVm+57iZRmtYkktWWTM7Q - yYgEJAbg1k0WPUC/DLHJLdmEplKZ0nIjFS55naApzCZZeNh5ZQuw8jsP6kOj/B8QZ227AEVEiHlX - OuuPMTkcbehUipExC6hfCR330eEtWW/S/QBwe5c9UjyXi1LErWmWkSsk09uuqoWUS4dCkSoV4pmr - t00E696f4u4DOH4qvBJqAIJgzglmB0EcYnIBRq0aWGigOETAUGFOEKcYYsRodBemC8JsYMi9himK - amRyEwVg7GBSHCc2bBjoIqPGISgagMxWOhGEjHYpQoJgEGEYBHgONgIDIyWDI5lMshEZFRmENmhC - 8YyEg0jTkr2ORPIy0lgU6jvh0NfrEaaxlxQmWHOapOZl8bGEw6YyFRi4UIcjEA5MOgUwgBCAQGKy - qZJHICI5k8DmWjEZANBkIBGYxoaAKgCGIkITGweLDINjFES1RWSiuIQUXIdeB3Frxh9lF8qDBAyO - J8BVc5FgwwFBE0BVGJSTaSUeGmVYF6K2Omu+Ut0bjFaKDYJhixD1HLco//PkxP93NDosSPcynKwz - RTkNyRpcMr4ZuDQ1sr0QiVRl7JBZViLA39LaoIVmoJYBdHVlvVouZFYrB1ucuWKKdfW8/LDVJF6l - Ml8NafxIdm0XfhbcqUpYKqBWVji82eKDNEUGgJuzPHXbsoOrEoErxPtOouwggioWSFlHKUUT3Xuw - ct+nJDbsl52TpaF7DEIUdBw5gAK2gUVXbI1SOyBGg51GlOIAHM5BDAGQCo6yTFREgEg12hUsFDpt - tTRABSBM23KBljFn1NzDLFowUYBQ06xEkjihEWDlbQSGkGZAwiPDC2GmCGkPPsARnhGAmBEYEgA5 - hACOGF7RQb6gkxguAtGAWLuZMkhJlbCiGByBAYfIrBk6wTGMOKqYKIBZgKgQmBYEiECSGBWASBgH - DAxAHAwTIcAmIBsyo/JQpgABFDFFskCofXYSHgKM2WMXMfKxZzMOKjHyoy2tMtDjLQU6WmCFYyIr - MKAjCyQwsSIBkaCDBgcUBRGQBUHMaCwMEmHBBAGgweL8GchphQQZpImfGxiRaUFhEClrxwAf8HBy - Pk+9shW7ab913ilTDmbue0SWKUqwz4gCVVgIECMXMcQjYQoMzyQoExC1qpU1kRGGw+tNMNOda8Va - OYYZb+XrZL9s//PkxPV8nDo4CPby3IEVEhgggwSSy5nrmaK1MSCMYYKmkU2kfjEkCQEDRGCt1MQy - hkAJhmkBgCBLJHA8Zghvmg4NMIzlgYSGLG0kKsjzxwxhwy3XPAhQ8YqkYhAQQm87IcmWwGATXdQO - HAQdWYp7UxAQXIZ0BhEZQEOvEDAMBbRejtM9g9EylRpYcnWvoABJWq9aYlWHGKAiR9GnKpa2KIJX - DRplAM9BiSBSd4JAWSkQMKl9lYFdCEhbYkcXHEA6YRdpfYVVZCSAtDVWL6GuSYRibRiGk3CZqTAN - AVePBFBMnEST/qBokApoVBY06BEMcR5slB3ZMStlJkAsgw0OPASocgMDmOIX7LyVaAloS9JoSDDv - yo5BbCgAVQUCBJkxeLC4cQmLlhlJELB1eK0UnfuHaXKmjVaWRV9JXDu45Ku5x2nh2GmaQy6z9yhg - 8Wa5CXgwabc+Lyd94ZlFfcacGwlsmE5kmgKVRR+Lk5Pyy7P3bVVrmE/GKlDWchTNri5GiQ6KgLPF - 6CIBVjcNn8BNLcBBIXYg6BWhP4h1bPaeiOoBEr2do0EQWZ4GGCghpRQKiRgAGYyPGiGhhIAY4SGK - sZrIaYmWlZOTGAQHkIMZiIhh+YMGmoqZqY4AaE4stN1W//PkxNVxhDpoTN71PMxg4Na0DfGk+N3A - CgZAWiMuNRZTTFYCrZ0QEa+aHXQhjwOFF43pgNqUjF5c+fjPCLDHyMyx2MoBg4iZEa35h05COBgA - u+YpQZRSc92YdYbREUIDDiwcIZYIhQGSAoYI0IkeC5MyJEDLTVrw4UYIoY4IYpAbJ0CmCgJiAxiB - wOMIB1pmLCtbdplhgwZZMAlTMhQSNRCBgk0600pcWOoXK4LUJgM1ApkzoNg64MEl1Ni4EqBggyho - WIGIRGeRGkLFvAIEclHBLQBDCzgqRJha3FB5sAh082SmEDJmrDhUCuss2j80xmCskhyVsY4oGnY1 - BMcWWBuNMM2R7iOUPw4zqG13xpHDszEV4tO+Itef6H859rTZX/X5lRxeHYlup2Vs8UCGoBpUATNV - dw+ypxLbMWXLCrSdWOQJKoHdaNL8aXQQLI1goYXmsC6kMPLKKzjwnKljEee1uEFSxsUdeFdDAFrt - CZQyKDHfTuYKgLARXALZIcRZECqAmdIKwZzp1AoamgCiXhV8ZiihCYOYsMIgQGCGRGEz4vKW5Bx0 - CxjZDhEJJQ7cjGkjGmhakacIbXecE+JYQrXPONKhUY+MlbIaU1GbKYs3AplNMLDFwU0ZcNXJjMmo - //PkxOJ9BDpcAMa34MiAjEyQxBBMZSDiiMUOTwQw1kXMXMDWUUOXjExEu4YCZmkuBv8gb4nnBqQC - fjPR8Fa5kxSlsbSqmrjZGFGPo5mrQaZBmqD5rJScQGAg1NCMAQ3B0caCgBF+mYYcpjAaIysykJMq - Mg6QMWCgYYmJooEBDAgYBEQ0EGAERi4cLNyDZrx4Ch80UOgUxclMSFQKcmPlpgSgaCKjA8YcTGQW - gCKTX0cyqKJtQy8VMnUzCxUCDIJBTMFYyggMNSzGBUw4eMSPTlxs1gHN7IhRuMaezDxowAXMENRA - AmCEZnosZkKmLpQgGgEHGPkZlg6BVkwIGMQPQcZjpEYSImSnBakxgfBRMYcPoHl4A4yAwsRLZjQM - DgBMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVBgADgVk0CYPBCPxZEMf3WSmTlT7Z6zho/NFr - ER0/ZfLFH6TAsFZwTVz0kIyfHF+BKNUFT15Q1ZaPJZMBdDdh2Guuu5CojXWfMLU0qsCREUSU8J4k - E4cBKU2fGKJhUEtXUhszFwWBQ7m8inT9s2ZjKWsw5TMoa2tZrz8v2gNchgS3YDGAqgAFBpyJJlUA - WCCWqhqsRii4tCHoRdwvigcbOQVWJGNM//PkxKVeRDpw4GaxzKgjlrDeITjnAGTMe8NqWOM1NA0M - ccCHwwaQVNxiNmTWEFTJuJp1Apql5kTBhxBlm5pjZmCoIZmKIGFMGBNkQwwqQyB0ygszAFRAQAQY - GWFMELB1Ew44DGyhkYAONETEBCUEFQpaEJsDmpWkIy9IVWXiSBR+NMwuRkIwBDc3PaCRWL0jChBs - uAgsWeZuOoEghZKY6EkOCp4zfHkhBXiNaDIU3FRKigNUBTRSgTpT9BRTIFGMWMVjTOAIGtr9RfQ2 - RZWDGkr9SsWMz5LZ8aFhzCGHFsoONTzMAAqMGABMHwCNAIWK2+M6QDEkFMUwHMGRnMqyjMIxIMDg - VAwHIBXIijNniQkL07ci82/cXfdlLL2GM5nkjTAMDUoy/6SivREAjsvayrN6GXQ8/sMS6LyCllUp - qZTkPw1FZS7j4SCJx+UvtbmtSGtNU9Jbh2NS93p2D55gsQf7rgNBV8hZTrCMvX0IQJk0N1Vhl3OH - xyUqRAABwSrEzhuxcqGSgsZowN2S4ibhhgEkIYMEAIgQ7JVqOGAixiwAJA8A3jFAIw8DMjDi7ABA - BAGAAVDFMMQjOGMyIrBS2Fx4iThUiFj8yFHMMNjS4Q7muNPSTQSkw1BNKMzWmcyY//PkxP903DpY - oO7zXJVXmDOBoCkaiVCALBhGTdxj5UFA8EKwKuzEwgzoGFRAGiABChZPNBE0Aa5y4IFCDCA8wsBB - geCBMwwhBIaWBAABSjBe4OKwgjMBATJA0MQB4WMSACzzrm0CAhxIoXQLCwWAME4cIFrQ4koQMVQ1 - 9DbNUOIhzWOWsTUHTkgnNIhAYXBBQxuhNGBQBcMygAMIuM2QwCUGADpQXAAxIVBEYByDqwJGkhwh - BLWAEoeKMUFDo3QiBMA8xzAeEgeIhUIRCGXzBA6HYDGIEFNkAz7gRNDUGEkQKkxBTUUzLjEwMKqq - qqqqqqqqqqqqqqqqqqqqAAEROYWj2BA2Mrc2NLgyAxDlASqBmGzEGQ4cJPw47Rg0E5ggAoUAfFWY - RAWvXU2wNHp1rsrR7L4u7g0cwBBkMDlCSw9N8u0sWQ4x9W6js85HYrnUqSWXb+pTP9WmphyZyYpJ - djLassvU0oxpstS6/Tv9SS2TsreK1cfpXqmONLBjYF8SyX1l3rHUdf9hjwsQSQbCXlaWmcw5NdI9 - fK4hEFFiDAjGkDDigCCcpSsKkQATUFIRACFFC4KhCQSZwqisTQETwKEAToAFAUtBKcyCN3AsBGkw - JPGSEFBUDARCFNEAOmHN//PkxORt3DpV4O6zXhiyw/L3Dhc0d0UHmlJmeTGfFHWZGgjmInmFSiFE - PvTByTQsxAYBVkCsBo0dQISuiIiGVRECOysM6ZBBcYCAAaABpaMxA8aDGXNhRAZg6ZgckaZsmYQO - FSJfk2FRpQeFQtEJxiikoBNQNWgkcBImLOSDhQE9QW/Iuyes2oAFYZaDcBpkGAFaQEULJMMBQI8+ - Y4IECAgyQwkMCgzKJBgQdcBnRxSGBIwRpAicqghYNUYVRDlS6LDnxHAWbgJZbxWEoYxZt1MB4gvl - Fy+jsFvgqAqKHGzVBEIALRMDQCMFgrNb5JNCg9AwrEwGGEYSmDhNmFADJkuEo4HEcPAG/lMQgApt - T4R9ycLNLEXy1vJhcZkDsMxzfV2KS/Mx+RXqlJ+FJhR08zfrw32a1NTsHzNuLWqKgoLdXOL9ryWg - gt2nncppEOv/Em5sP03SVX2NsVVyVQhNFYeRI2EQSxay6qg6mKmC31suIzlXqAZf44AoyvAjSoGA - hsqBKboKE1N0BAsHmDAxKFAAABgkYEQA4QMFAS6amBiAIYKTmMgYjCFtAUBEYMUIZhQYmIPMhMkG - YFg6BGGgpmwQChkxA1T0MHOBAiGGlaFSRRpqkaGaA5jMiODJQUzB//PkxP91XDpUoO71XGDSlgyY - TDoc2I8NRAzaUgwRxMKEzI0E5FGMxRjUD4xgkMYTjKUEyohNFDTT4tYU0BlNJZzMyIHVBuE8PIJo - IEackG8AoBLzERYxVPO3fDHJn3ZmaBopgOPES42Rhepj24hPgkeAFhjQK0SBQCwRngwK0iFCbKMd - CAFQkNm4KCFOb84EWjLkhoEYhmRASaqECTioTSFIoIg5paJlxhkAYXLmYNEww0aNIlBMDCaE4y5V - hCVqqYQqUYMgUJiIkDRgLnFnFBn7ASEBCRoKTDUQBCGLioWtYLQKTEFNRTMuMTAwBWFW5CSXeBgH - mO1xm5JnmEIQGAgKmCYHhRaDUY1AUUJEC7ykoBhANsHtOmNBCDgDhUpkKcagkFsQa4YEgKnOWnh9 - nooBgGBhDwFAYxBYcuezdu7NWwJ1we7ctgd2HUdSpx+JbF5dZwghs0mfZajUVjx6KORMSfWdBjZq - PtJ/pX5jk3Db925S6NO677P4wNnzNUqRYCz9iCklcrmcZIZ3V21oAZW1Zky0EN1YKBJ0MAEgVbwQ - FBylH9YCAhCIMAPL+qOIJy0hhRhUJGKJCV8xQA15oODmmOmgEGnDGIZgko5ZgyAIWhxpPQ0ws0rE - zF4xAs1A//PkxPNxjDpc4O6zXENAtPWQMMKMMLE4ZwkhmlYCjG8pnBKAwoZoKIhhm0wCkmqIAd6B - TIATGHjhLA2bULwBwmaawewWZ8GRJRqEcoGBQJi3Rr2CogExMs3EAU0CMADgulMMiGSIUwPQ8QCl - mDRLBThqpGS0Z44DlIhAxEz1ANcZSZkGoTF0sGN50xHxJkBCgYcCEAx01E2QA5YHShiYOhMFotmQ - BCMABhEgximnAGlUZY1kxWjpESHgkKEr1McYvuVhAEAAjFsw5ZpUrS2QiLww60qKtygGHGvRl/ZJ - AdFVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVQgwAAAIXAaBIC5YBiMDBKkycy1jAOBvMGEDQwWQQjCn - FSNLlmcxvwRTDgSAwbMWAYxkPwEZ2kQUj0KkgwiCYVI1miAMmQBYlc+zXTEgrM0GYCgFN0WGphQZ - mXacb8AShwABZCGURTJoRU2LTQ3EDGYlEICvW1AAJxMJ/p6hQEUFQYMtdyl3BUYzizNzAUyhZmLj - Chrttw3G6aeXJLXuj9px4BpHCls+oDaf9b6iQYC1JHlSaMwcmX5MBJN4auTLh1uAGILYLwRwpVGW - QQCpBYq8VhnuRThtjKEwLiIhjpgBCFhwMbNEpBii//PkxOlvHDpIyPcyeAYUjElqAFSYFfzkmAOB - D2BLpUWUzUcgl4y2oQCFRDAbMYoHDAgMuwbBpYUOUoAAsICNjm5I3SYYGiGyYBDTKIDojEFR5RwM - sRksBLHEQLPGBmtaLQGSUrYmsIiUNSAAaaMIceETSSMByQEBBQKPCY6apcowwHUcYZEXHDMCpgrC - gUBfsNPI8qpoPyV0sZNJz7LLk9V0pFK3T2S7lrpqtHgl2i7yfT7sRcZTZmRcZmzkp0l4mLv6pijS - zmQ1mBNBVgfaBpetdabSYtF3DikCZsseiX5qTEFNRTMuMTAwqqqqqqoWAEMAAAQwJAJTDTFvMyl8 - 84DjxzB9ChMEwN8wBwxTH6HjM81bgaZvMCHTRm4MJTlWQ01AHgMWIgQBGDlRoognMz8KiAhHTREk - mG0ZmmGSkC8xGAQ+YieGDoJimOdkHjgaZCMAYE1dD7cX0Fxy1aUK6lBXORgMcBMILhF3DBBAAxop - AKpAGRSBixmdnC0CvwWAYLZ4dno2ClXmVhYCyVctI7SJt14IKXYv9I1iBbUiCEgVqEwYWNTsMZdm - ZkIHSMXqEKBLGi2ZdwuGIaCZ4UNMuA3kTbBKIiZI2ADFfHEjYDMFshYFrDOqC05opmg8CwTd//Pk - xPFxNDo8APbydNTKiDADLNM6kOODGU/gueBHjBHesuURnmxUKkm2uaFBhIgbMCCFCotqLPF+C4+j - IANEsVWJhRJhpxEkgMYO+KNKU5IIiE0EcDbskggemq04qBJ/F8DFHQ7Aowxz09CZARnhYUaKLeIe - wOmgnbNKpMsc9xY60S2662p1ajc3vVgaK36tjcWTM/qq4ULY0u5iz0RuZkkPxitA8wzmVVJ+leRy - 5a2ZlbauMy16aJprvvlLY2w6P5JHQMwNVSH2Yyt2naXs9idT9PowOHnGglmDrsBdCozaMAwS4weh - CTDwCLMRZCM2tGxzTeIJMZMnwxpwZDCyDDMCUOUx2BLzB6BSMF4Q8w9gKjDdCmMAMDUwLgKwECag - lLiGAmAoXbL4vytV4mUszW5AShquE6y2BpzRjnJKzNIMNyeEQ8twgeEAS1S02vsFpHuUBUORGQCq - DKpJfoQl1kJ4CEoclEU5UBwEJmABA5ECAKwjZ1ywROxxdzd2zK6UpVhL3NYL5JyscLXCASLCDEgh - QKtNSwMFGAHiIQVjTCBSqCSjixe4qgRoSYsoFSotFNCiCy8x4E0hMGnDGhTSCTNujHqznFTc3jFO - DzujHVwedOPaM6tOcdMuyMWRMqCC//PkxP92nDoQAV7QAIJL8AIcKBUABkSQFEmqLmWjmuGHNeAS - OTgTdugqrNoJMqoEAooLqkQBmQCmBOGHFmoGmTYAAgaUIABqOCXSwr0O2p4v6gQQvAwVBpcagLNR - GAL0mFMGHAmeIglADlZmhYVHA4GChQUEl2AMSEANHBActFwIYi85Br8KDKKpYgEEgUJBi1KmBeov - KrhAcXlYegNWCae2rWoBkEWyh6CYOcqAX5dqbv0staU77XWlP26rswZA78sOgN8nKt5UzwuokUxl - cKgT7xapFpa4UbcVpULh6+/sQa8+Les6brUAoA5/GjHRSMjjQLMgrFhwkOkwjNZq8GCox+OA5VHI - xJJleGCQYGCgxkMzFYfYe8LwFp0a1+GRoWGPhQAwL81/yePOe8KRa0DP5KjO4UjHUPTM80WaRh2X - CgtCFXYCBtyIoZwoOZagubakqZKHkZjCk21paybjTqIFAmhyLSggAGkOAbPlCYnCsYIhmZkEMYND - CZQi3SwNgwRRd4mwtlhVfJkkuQrMkxJMQCSMkhCHi6MLBAAwQGRQIPxGmy6c9mEkp3LjzoP+im80 - 9WduTmNIuiQVmbARmYJEg0KDZ9MTFEnDPYijZBbm+guxLuU0ZkErt1q6gEMO//PkxPd4pDoEqZzo - ALuW9Ulrwt03/s0xmYCZkeLJkEVhkYARjSGpn6rJqCKZlsQxh0E5kqR5iiAZmoRVbGvRdnJ+7DU1 - 2NWJX+UXlESikzB8ggdx5XOX4pLcLBg4JZjmGpmMvxooopzCtp7uzJnMlRicCZm6dYKXcyEFwxDE - YyiHIEACadDkYzjDboO1IzPyqreylc/9NaziFa3DEqp4IllNROxDjuTj/yOWWIcV287XGUSh7KVi - ciMDgeMlgLMtTLMkwzNeTTMTDUMuhOM0BSLLmEQPGYheGVRTGUgpGNADmUJfmRIRmaJVmL4Tg4Gz - CEBzCQajHINl4BAACSKgCQjJ0wY0wgQZ9w8CAAkPMqsNE3a8hUyIBHDQGy1qKioBI2AAAUAMEvYk - Y11mrKy+SAkvYz1bL5Mhflr0ZrtfRsMEBgMbJQpWFuUF3dYEyZIcs+vsmD0rFFl5tIAIWGAagDnr - iR9XmNATH2jFq2HrbVreR3mhW1ALsNmLicKeiMp1AAGCoqZeFLvacoIShRWDoLmEhyczsmAhK4ln - jxAY+Zmej4kQuUYkAF+TJhgwgCGSMyJHDrs4UIKhMwcw5DLAgaAqGhXg8gm3wBkbQY6fgJLSIlpg - QAYKMmKg5joSmqYC//PkxOd9bDp2IZrYADJk4SYUDGgOhmBcBkUycjMSaTDDcwEUNBVSYHAUGIz1 - VhmBeauYCVCYeXhkEYycmNkxoooDQsgRjAAczQUMUEAcMGBFgGRQIRAkeMFLQMfmBjJlI6Ai9VAB - AgsEJfwyYg0GhsBhAEbEOBkeY8FGUAwKlh0fMABzMRwwoVHBhG4yYpMMEAqLhYiJQUeBgFUAggJk - sw8WAyUOlRggaYYKgpDaCYWNKaAIbTVQmF3FdLPaOxx+GHuCrMPABgIO2ythh4OuptGUV2RsmGjl - W0uMAQCqjILBI8GwW8yHFpj1IDQsBigOMCAVBpaXLLul8DARQAgSqphQkNAiqJADM2UtccRALHVJ - FzGcxZ9oelCg0HocjQOLHLrBnQKBlMKBbihgMm8WAl8wMQGIhqtamIXA4AbGzhcqmRchaEWg2PsD - XRA7gMlhK0ZG9DJ2bjwenoYQJGOBBakUZzexk5IRN8Vz0WMAmxgIKhCYmJhAWCAIUHUOZj4CYQAj - gCFAxOIKmpjoOCBkyMKMRIQcYGeJJobgagmjzMaKLGICpZmChYSUGgSMQhVZbadSo0zA4IDgwGjg - CQiYgLfjICneDhkQlBlpwHMxkJgYqOGRgBmZ4ZaImEigsRAI//PkxMR+ZDpYAdvYAEjHC0yQXMjN - jOSh0jEAMw42HTYwodNUHTCVo1NyMnBjGG0DiJqZmcBEmkLpuTCAkAEG5qAuZEdgBEN7cjPQYw8A - Cp+a8zmvKJsjSBhoLAZgwGQjJlAWYMPmNDZoTabYqhBGBj1sgiEwEIkIRKxYJMbAhgVCCAwEIMxQ - jKSAy8UFRAxsATtDhYwodDiUsBJiwSYIDgQFARKkqAhowsmMvIBoebqWVSRLYiocYYBptKGwyYAK - mLCpiQWYMCoDVbUVUOQGAlLswYAs1aoDAMBBq2HveAuU6bNASCGABoCGU5TDAlHwwcGMDCjDQAvc - pF+n5QyftbTNqWLvWns4zcnaYko+zQqAZhYcTBaAF3WUtYa+12MyJCSqGSlnUkS3KELtPUu6Rs+a - euVisBqUpjSeYa1Iq0WiMVpgLAI7DoZQjN4TRYxDNU8TIUBRokQcA5gUDJKCZgKED+kIABBlhhKl - UumhyqQCswyWjMxUIRKYMCBjJLmtxUHIEHA8y0BjAAOAItBgwHi4IgQAgiBgIYAAxggEAocmBRuY - AOQGLJpUem3AuapcJpJAGQy2Z3ZRr2SmWlsZ7D5ikQGMwpiYIBZiQpiMjmaRGY/JIMJhiEPg5gGG - D0Zr//PkxJ16tDpEJO82nAOYEC5nQ0GcIIGCwxiEzLSCOmCzi140gSMyJCAFEjYeAAYBICE44ELZ - pbGCgbMn4Ihsw4GMAHwqQGYi5gRIZULAwJCg0FhgSIWFmAHhiQQZsUEIeVEIBA5lpcYQqmND5MtI - hGbH5lycY60iEiMvRjDyI180MshDRQUM6BGVm1Chh6yY0XCMgMgEjGTRPUzQ0MECyY6BgkYaKISH - EDgJrZgQAgercXACwA3N/0t12LtaDA6mUNFQBWykMBgpn68WcrrpYkXlWrA8gciaomUsQaE4LLWA - um9jlQW7rsvq7z/vTATWqz7S+JT0zKGJvzZbjS2n7faJtje1lsXZG5DFpuq9lFm7cPxvr9QzAcDu - k1yMxDGWvPGnIaBK2HQ3HaFYJT4kAuGy6DGhNyQfqrESrZE4y5WNv6vN7mkUK9ocgRd8Nv2pU/kQ - hqTMnbE0iDoLAMKzGAQDcQBlmBAAEYVoKxmxBmmmuV+bDloZpLMbLxSaDNQbpHUYThuDQGMIgKMm - 01OLQZOCGUFiBGBmM7k0M1CeAwXhYIy6pgqD5hgGydkCoOFUIyYHwACYJBMUB4YAIBCkUAkYSBAY - qjWZIhmLjDnvTHrD8Sz8ezZhjbkTgC1DQiAY//PkxIVubDpV5vd0PFViwAKGzCHmim2dmBYgBwGZ - jO2DJLTKnDRqANcMtFNauMSwDwhgoiAYiBJBpJGBASx3WCXJe472uM9ylqkGgtMSRfMxJo0g8VAg - Z2YZkZE6cAQDRBl0aCqLJUDxSWosLqJDICUtQSvYcYoSClIKAERIQHULQsHMWGGiUYAoACDkwi4S - nS9TCB0JocRlEXY/MwCwxdzLE+2yxt6U9LLM4bVA7SY6hErZw19iM0uV2IHsT0PZRqUvq9rXpQ4N - nkdgZpLOXYgeUyGVO1KMpTLd2JtrLs3IDh2abu3te5EaGq+shdmGY7DsMuG0Bl1xoSwsEU8Ou021 - S61RH7srhNVlTjSdcqtzlMTTYRtQhfFuT1wLJXiXEqtEY3GVOkhlt9huCW1iPFeuVDUMxGVO+uZ9 - lYoVDsPOVQXHAoDDjBwMBsDUwEhEjE4aQMt0RQwPQRwSCgYCwMRlUlSmKYByCAHwsAsYixGxmGJt - mOgIWYJAPBheiymY8kYZ4hEJhYABEQBAVA/MMsREwugUQMAaWvMIYIAwsg1jBvAAGAOAYB+YPoTp - k9hAkWGAQ+amMBqJkHUlGYNSRotdnLZGaX5pzc7GZgSYnF5n0XmhxeYSIhlUzmRzKYzA//PkxJ5j - 9DpQBPcRHEOH8DHswWJDJBiNDEY0iTjOxCNMqE3KpRCmjLxnMPDozAIDE5QMKIAwiDzKAnAoFBoX - Mfg0Qgx2zBIXUWTVAIJQrh1ENHBNBdEpT+Q/QvEhATEUEhYlAZWMjBwUFiCYUBxbwWJ4yBCgZhAE - HQE5DIHCXWpg/CmrtPiKgwRgsVAAGAq9W2oml0zQoy0F0muUqbjD4LaG2WBXjS4oF0vxGJaIYdwH - wnFQaBYcS9lzMxMvJb1GWLnufBdOLi728F25b/oe7i7xTGC7zNx45y7iEqkvfMrqoXaHQQHo/NIZ - FGEsuJBSy5YWHjijDTTTh7McMYohTEFNRTMuMTAwAshgUEKXGBxGYSSx+dmmGhIYbGZl1mg83muT - EAgyJCY0M6jdrGFu2bXgpsl+Hzo2asoYwTjRshNthwzSdzFJBMmGIxebRYyGFDaYSJJjI5GVTGZO - N5hsymMjMMhkyQWzTwrMjRM0SQDE6HOYEwxqmDto/BJFNBkow0HTPBuMRBQO/AxjMOcB7NMuRAEP - GlkpsZqZAemxuw6zmbUZiLmZ+THgJpr7Gas3mnLBmtyCT0xYTNDLBGJhBeLHphgmYWAGGBBcEBBi - q7Oh0FUbEQAnqW2Z2mIkihKL//PkxNhq7DpgBubfVFo4AlAmWhDDNQMDA48WmAB4sEgAAIAGMsNb - tLG+bDahcOsOjLJ6rjPavNx10IjpeF51yJjqrLAjoKpsv1rSW7OHGgmGIjIpRF06t0UsFWZhVeTR - 3HEd5Hiw5JaXgvoODhMYUlHHIOAetZOcVwkcI9xlDCOVMEFFiLChxNRLk3So/wwCFoYN8Kg7189C - MnMwncW0uSNUpei0PtlMssCrZC+E/YH5+GarmNSGkstylTaUYmU62OrOhjfZnTD3DAnXPLc6WqUZ - 1QwwGNgqxNTburMyu6tKTEFNRTMuMTAwqqqqqkdCQBIwMxezExUQMxkWgwUg0jDEKjMKkRIwYhCT - AqG4MTIi8xoBOTFSAwMEUZsydhaTDqQLMlRCU0X0UjB7WEMuVygw8haTD6FEKpJGZsQGiaoGrS1m - GLWmq6JGNRHmQRVmraOBGjmmhFmvzlGcbmG1gJHIZGHGW0mVR9mVAfnEnUmq4hGi6JCqOmfAEGoI - zhDiGeKkmWwXGSa9mOYbGWi5mKwzGMgBmgQkGzKWGPAFGV68nLcFGkZeGoKUmYFgG25TGfxChAdH - kRHGW5wGDJsGmjAmTJjGVJkGPoemRoumBgaGEQLGEAUGGAHioJGDQOmC//PkxPJxS/I8APd02eAA - oDwCRKbFpEyjCBRoEXAMINMgGNa4AigBSxLEAEIHjGRQGNPmjzBQaOBjCizcE09h4cmS/qQr9QKs - GIwTmprDAJNkskm6a4GWRKFhAvJoBILEIkzCcCkDAjgSEMKWMWQAT6HEo0BQAIMhWEZikW0tu1Zz - YAvVH3pM8rvK+Uu+7y/nzK1a5Lu9rU1ybs47y+7Z3ZlVNVsVqaU58pcO8q8rfKrWWVaHq+GNLqmy - xqZWsu448ps7PJTytnVsflvLdXC1vHCmxw73HHK7yaUagGFSSUrVTEFNRTMuMTAwVVVVVVVVVVVV - VTAiAHMLURsybW4TMuFJMQgIsy0zPDFxCiMXoM8yVSVjEeAgMNgRww6w8jBeAoMK0kAxqwUTBaCs - MdBBwx+QwTQfG8NOpGkw6iajHrFQMrlDMniUNu0uMRh1MwB1NRQeM/VANHyTNiDrMIS/MiylN0ll - MYWIN+zyMxwrNwc9PznbMnTUMndFNyiFMvjnNinBOBEVMPVhMV2GNJRYMkhVMEA1MdiMMgltNGCe - MiRLMuW+NRUKMlAhNN2gNKU5MjmhNRDeM3zjMF0iOUmrMJiONG0cMMhXNG0WA0HGKwLmNo+GC4Zm - AormNQmlACmB//PkxOxvzDIsAPd02aFwcLSKg8BTCE0jQHTHDQhCZEsHFnGQYLjO4Y4mZIsZVsjk - qiBnZwqpqi5kEJqSSR40VEIBUaZsSbi/j1OWsVW5QEuKKCAMaTNARkuEYMQtsxgKBysOYpGGM0GT - CiASXFBBoxRkxBdQw4YFCgMiHiSvESlMU6JGw10mlLGhVarepb+FWappHIJTQb1awtaotaq8sfcv - cvz2eeWPf3W721z+a5vLP9f+Xf5jz+73vnc8P/efbOP4f++Ya7vfd7/HmPf1n3/xzx3Y5b7lj+t6 - /OpYufIqTEFNRQmB2BwYHiaJoYpuGFKJ8Y/JLxidgVGJYJiAAPTBEBCMIMQQwIAKjC/DsMN8HIwj - RajG5DLMUQM8xHgASofQaUCo5giGRGWeHQYQQgpzemGoT2RZw18nzrRLNUA83iGzey7NQCE0m5jS - RFNa3cz5HzbnRN5zY3MtDBplMnxM8XTDE2ZM3HUyY+zcCrMbtswUITIiXNLFUwULDFBXMHIkw0Cj - dIsMxHgxOdDcZ5MXww1yHTj53MLk05zwzpjhNiBAwaYjScJMJqQ1yIzAYTM2CkBAEBBAwaCxGBwM - EVhZG3upcCgEshYZNcmHL2AgdBVVMLEKUkQJYNMVMHBl//PkxPtzxDoYAvcy2rMQhG4wyEFIIAS9 - jLIPVI8LlwXLWbyBYGOPw0+GysNVVQctyIDQQUXKCpgXCMqkCiDxYhDUxRdNQNM9cbM2WiyI0S67 - S2utXL3uwmywRh7L4LlTOHpkUHs4WmzdrEml9I9a6HBbEsIuRdkVuSaZfV35uBFiWok0x/Ltydpq - CdpZRcpZfTxN/52ZiDT3bl9x2LtvGffyK0+FjClt1uzkpwrUtnO5nRVu4zEUiL95ximiM1EIo/sA - SeSZPjCZdJ5FB8bhmIRObjj9Q5FHUoHJwjdiA7ssTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqgl+ - KhBiR6dsNjwAj+nQFwBOqBV4LnLWJhVSqVGEgZgQMJEQwCGHizJYHT6Shhawyumfx5g6vEHl1JzM - 3JAoIFTCSAzEPHlEoFmSDgJsqEwIqUzTGlqSKKrCphtmVveBHJLtVaLgA2RETDJTRlEGwUUBJcxw - MRBoouRnD9sDpaKbzh905VLuvxYtSa3egVyonDK0i7iNKjQBLhgder4BYEmqVABZBboBAoD4i7Cu - 1kotysLBEIX6tP5Fy8CgDQWYN3fot256aC9WVEoEDDxgQY4QHBwCJTqAQR4Zww6s2Z8HCiIk6LvM - //PkxOZubDpQDN6zPBASRAStrSzQMDVCYMCIACODK09EHAYYN08OOnAxNPpeggAL4DKZ47nWilyZ - Mp3skIhbwALHIgF2TlTMQo5Kg6hnQEAMQo1IjoaAxhqooVIAG5usmYZ9YSOYgi7hCmdc5REBABAO - dvomkbgxagAznSuhGIQwE2FFDaMLIApMAmkR4MAMhYBWFu1/r4Ms80VzXLV+3Ms+Bg3nVXNZ4ikA - w6wA6SapZIMWZN1UWUEIoCXiSR6l7PHNWOrYYAiFDkQ5tYNJMEEGuSkWYIavlYGvhYAcLB1dTEFN - RTMuMTAwVVVVVVVVVVU8ITcIDGgN52r+7suh6cqPnRTje4w7Kq1uU0C6xFaslZ0VgrBJdIQkQOER - luE2tQcsbQoEKQnMKNz0BlBShchAklFJRCz5J0IUkZvdLvbrKcogTJQSBKfdqONaZZFmU1VN2Xq2 - RMwwAFgOBW7u4t5eKmrkPwuVt2V1FDXVoi+5ECMrTRSKfiVpDoCS9C4gKGM4DA9UYQ8DzmZmoGah - hj6USJxUXxYGNBCguKiQWIh0DH5p4qZ+PARBL5GCkIiIjFFQyUiAykZ+Lg0gMDATInA4gbNmNDZC - A2FGCIkzUJJhk1UfOIIg6uChaAXMaujP//PkxO5wbDpsrsJ23oQNIbBs0BYexIxIZMXLjPW0HHBk - x8a6hIIQMtK6BTWZUKmtvBlLOKm5uLmZWamnlwSGGuo5ywgbSQm9xZl4WeAvGuOAYyGpJhoyYa2d - EJKZgeGGkBgrGKXRvAIGBZr6ybxbGtuZqSwFyIOATatA24iNLDjfhozN3MQbjEDkyVCNkgzoKo5N - 1NUZjDDYCyhwVSYS5GXERrTaSlQHOzfL4iiTEh4xDLOJXjxSEojTiSE3xMMkHDpuAyAHOejgFrGW - sRo0QbU6GUmhKXmDFppaQeQ3nEqSTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqoYGCUQsVZ7c5de - guzLa8NRPj7PRF5ySwzCZ2l1BgqVldqwncd2hsJVxotLqnnsilc6XUcmaPYVwzqXaERWWdZbauDE - pY0fChUCImYbLhkZ4jYinKLU8DwcHxqFuR6HpsuipJYqjcD4qPYztLhoS8mftVSfS+YVxWoRBgsJ - X6CQYqDMELTtCwVFpL4FIzBDkekEYGGDyUxwox50FBTFAAtGFkoktHT4KWhQAVRQUBmOEAUqWTAo - RLAzxIz4AdBIiGAbGwCDJEkUGWXKJsTMYMAzEQYzTiwXSBmQCmRx6Y4eHDQcfOIN//PkxOVuRDpZ - YMP03AwsbmSHMxLgZIMcZYag2ZpuYlMYsKXDEaYzRg1oUxZQ0Yc0oAFBQJCCygIZmeLEggwt4wos - yAM0BYyaEHEAcoECQyrwwQdCweLG+BmNUBGk35YwL8xYAzJA2KA1QgwMMykEy5cBhha4acSIWpgo - BiRhmywNNkiMQngQPIAJZYiVgRWQDjMHgSgNelNEWNdBMUEMaVACYFLwcdMIWABQxyNG1JcaIqHh - gkYKmBOFBcoNGkTJWmjAGmJBYEDhiRYoqAhIxyNNUxoMQiETRY4JCTCjCz0nTEFNRTMuMTAwqqqq - qqqqqkMDEc5GVcO3Eq+7znuS15lzrzMFyrOFMsh+TKcWc7jtEKNJgdLhdKidWFzRbHMURyKI3FSc - hysE+0tFSCqUMExTxV8VPNrwuqwTOG6G+zJkzNbu4PGKicjoeSx+6PIeSGnWMMWwdRRIg3i8osQN - ypImAuZrKgS4HRcpEMVAqqAkUlIi4ChCEIKDCEQyhLUIghyMKJDMFwMFBSYDCEAgIUCJWIy4iAg1 - CYEUHVgNCHowclYgJADjDjUM3rSSNUDGDwYQBwAyBQxAcwBkS3GlLA5cY9QaAAbNsc00bkwDBY7X - MmlHZRn4oZEPAKMUYOQY//PkxO9wjDpUwMv03JUPkzJBzDsAeoTzMofMCSMeqDOxlK5M+EqwNaGd - hgbEFtZmWKDxgGJhWJsWgNFmZTmFVGYDmnCCzUsBAVhNVDMkZOurMyXBIgyCozIo4AMhRmOZmgLm - ALpMGtAsuGkZQBNMYMIMHSIGXGSPD1wzSI3AQBBjFqw6WAlwRAQDmcFGAigVmPPDCpDHljDizXnD - WqQlAClTEysAbwiGDRG7MY1BqkwTYeJCyaFBwAHITIBQMdDEpsiJgxosiMEDMsJTmMkDMKIGlIjD - Bw0mWFYcCIwwcjfVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRCG - WEhFxc12TxA7QtJK4uDQfxgoShqHnVIfs8GyGmXDQ9UsqZUTbFo4pGyulQaGKFiaYytiMCfhMryn - hRJttrQn2o9cHUharMBOQGdRnCqz9ViOcWo7EScylHcgjfWjkNEkhhm+PMxhXE8CjQRKkRoXat3i - LcCjwZM1b6WjkqUryC4hXS1EOKQCT6SkBQsaFCRsIIKtWsAUINFGmYIYGpJhBwSFGaSChcyBMoLG - aHAoOZZSMMiq1TyL6h0QyMIAtwC0MtINQUNY+NMKIAAgTmRimIEm//PkxNRp1DpeAH6x0EopAZOM - aOkPNWhB1ozIMBcS8RmDRiywNGGACGOZmQXlsAQ1NsJMwaM9NALEElxgkYcAClhhE5mJQKCCNoKB - WGgAeYgCcc8JPCjEYtoJFjVDQELNwTMBKDihZYEhjKBErzFDjLDSA/LgoKMg5ASQoLGuZhyIRAgo - gBUA1jRSpDgBjxszYc/Ighhy4OHOSTAAKZJQQKAhhsmHiRRAUyDJdJ1r3BcQTcH6WsYNg5yUQWGJ - lQGiFIrdHU0iQkKDJgRZaJpCqNR53SViW5qGyJ/X8c8lEQiVTEFNRTMuMTAwVVVVVVVVVVVVVVVV - VVVVVVVVRMciitMYnKIpl0fhvq4/CRGmcBbDWgQG9Q0uwIc+ZmViTzz96/2rXrC9UAwWNbTrSzQ1 - YuXKOq5DieKxjXCEF7V5LTUEMVg4C7ptoyomWA5YT6NXJJnGhlvFNGvPipyspVFhyigEFULZc86x - UJQBBiIGNYY2JWMuURGDpac4qigLSkSFRUBBgOUBAYOEVaFKgYSAWC5ajY0WHJCxAhRM5s55y45A - +CWzTkMMYxVTUOOGs4BDuVECIdImvHmEtGVOjrAwYA0AYyQYIwGoQGPPGigGTUEN4wqE1TwElDVT - DKr0yQqp//PkxORt7DpYoH51qgUpATEx0E6kM4QoLDwULJgAj4ApAPaTQqDdqDBwSUoAg5qggcIN - c4JFwJeGhGnHMhkRZplyRwE5jAwVGJRgEKZcuc94ImJmR5wjxzzJo2gMKGLJmcEHJVBckYAmWCpb - 0eQmjIGMLGdDgqCYoCNHwzYBzQo1Ao4xwc1BwwoAyIWuDiBi3BpDRggZUNAwCW/KDpjDoYABq8vE - i6sKoQI45QEGRZjBZkE5lCQYlFABggo0TAphSlP4GjC8lI/cZW47wONL4CBCRwCJjRAMAKaoqkw1 - E9TyTEFNRTMuMTAwqqqqECg+SOSvG2ht/ZDPYxKHo7clNBI6KpGb2VXsZneTVmrUp5bZx7Zx1NSV - 4GdOs0llsSgOKSOBZdVf90XffaQ2Ifd1pzmui57KFAy9LNW/VtYpDDFGDx1juLT24NyT1SJcVNFN - VkUFwgEiEQy14CoWvQ8O4mWohDsAj69051Qr+B5Sb5lIhQQNC1UBDAVNUpgwRy6VCOyYqAA4cMRD - zDAcuKFh4MIlTg4NKg0YcQo+lkzKAAw9TM+CAUdmWzAIIjYGsw9OMSMx7GN4FjU1g18UTSM5Hzei - AyU3NgZRk5DSQ5NHJ4A3sGM5LhEHmVhBqMIcDYGv//PkxPNxtDpRYMbz6FeI0szBWNRHzIy8x9oA - gyaiqGvMphoaaIhmAAokaGajQONRpSNCMxY4MqWTEhMzIxC4APJwQwmThxWDA0dARaXlTxAgOhmY - qVI8goNCpqEQhnIoZEEnqwabyMh3lm8MBngCYbsyIZAYBqAMsrGlMY1J8YlnRE0IczdFPxMObOx0 - s8bDZjIhU5rA6WcgbkmnMIl0hAqAJFGesgQNFYijElSEcBAJNExIDGM84z1jbGSvGRktxloaaLqg - FBToHLOwLBEICFZAKJWu5AxcFpTdGwp7qgdiMAFw4CUxYFIlN/Akqztw67tJT3aSXU9+l7QUdqU4 - zlBFaW5Pwddwltr5fDFNDsmwlDtRqeuvq8kPTTdSyLnuSxpMJypGmLAEPJywhjKvWBN3LurNQDJb - K1oBXAV0X1BwC0hAEm8CgJ1qGdh5lMMKLGDCJdAWAi3JgQOYMBgoFEIAhPQqYCjyhIMZHjARMzIh - LAUHBRfUOAWROOpi5qqJgQCXMMUFRGOBxOYsPmNDJEMo5OQYyZGDAxl5sHJRiQKYyfBiWYoJmND5 - gAoZISg4NCgUEMxtVGbMHGupBh4SZoHmkQZohUbe4GdhZow6ZihGKN5oA8LL5gYQZqgCFVOY//Pk - xP903DogAObzXKE0ByPhwjIVk04VMwVwSigqRFhseNTQ14ycVMwKTLkEeYTGikxYFMMIwMgmInBo - pMQg7imRF4gLRY0QJhcaIjYwoJLagAFMKBRwJMcFSqRGbjQUEwMIokmHjRA2mcbehjxngCZIwwCq - Qw0jhcEQxrjKor8MFIIqMx0ECBhyxQCYimny6phrAY81iyoMZx6RgyGJKmGMytJZFcyi23cVYq8l - ll0RGMaYgEXL3pMMeBgKA1W1TwJIM0xIEwTBIZrTZVgECZjGo8NWh6RI8qUAoYYDBxKwVTGbciOJ - FyQy3x4DBcBsMDIF4wQAJDAaA9MCEBMwEQHU6DAHADAQNZgMAWCACgwEAOh4GwCgGmA6BSYCgBRg - KADGAQAEJAfQEIgGDAGAEMBwAAiAVMKYvq7YLwQFv2ISwcWIzS3D7LBBk4cOMCwQSiBgJQqMnHkQ - YwgIcAzAWTAoKIRd9BcygDQgBAcHCTRKEEvg6QSGSxIQUzkfzPJGgQaihSgONgJl5WAECi35mACM - 9VoFSBQKISeBaxZ5jhghxC4CIBCI0Wbp4CWLAJfQvaMEpDAJUkGZCgQBQZtmgaclHM08oPCgFlN0 - xwTPjNU07IBYxM8WJacyFBEYgpgC//PkxP51ZDnYAV7IAAISBhSR8FhcA0hjKCMpCELGNooMLBIJ - hphDQCUNgAKEJDpWDAAiDN+0xwx7dRQv8ukaKBAgESJmVXigpM8IkRIGDU1kwGngUEQNhj5KyYRB - dUYAEl0cVbm/LBZesGEFyC9rGTDLGB0qXlTaQko5tgh9YcGgoTASJTjxCh4Qu6aLiPMUS/are036 - mzOmsP6hPXu0hoK73pTzYffQiHRWCshc1LN34RMvo2dJFKxGZ7kYH+ZWpU5XF32XtUcfFrKgTQWD - sAbvCWGtetvQw1hymLLU9nWXnWmadQQwKAwGBQIMAIjRJqAAPMcZjlDYeAxIGWUb/Fg2sA44AEI1 - IaN1G1GDLLA6MZDgO11X5ncqmFxAZaGhicHo4gEClv5lr8sBy3MKCgxUCjC4NAIjMeB8AgQlF6lY - YA1bkuF3mAQAYoDRlMFmICcZgGBlZTGUwoYMGaOCNjN4cp6SMXjLYDMJBYIDAVCJiUVmIQKYyDJj - UagYwgZYGCQkMAuYgCBF0PxqWoSxkJGKgIYCBAOCkJMOiExqADIJOMCCkxQkTOZuOCKQDQx94Haf - HHkmH8vQIWuMCAYgAgoGAMQDCAiEJHMmiMxACTXpLNfHA0OqTI5ONgmUwu5D//PkxPt1vDpGUZvg - ANcWzAgON/EyN00vuUlPlYlm85eYlGZi8CmBgeY7GoOGYOEhgUHgoJjwFUvTET6MwqExGEDNBtMv - D4x2LzSQ6Az0M4hMzkMjHAINNlEzyB+36S9zLX87/91/pENMbEBAQGAx+Et0B7IVB3Hjrr9Y418y - gLETTA4pMhh8xePTJAkMaDIzEOAwMg0MmFwKW8BAYLQmAACIAR+//X/v/7//v////6jzxiisapJZ - y/A+6fVDL5+9buSzgsEwcD08k6AcCxEBGShwMR1Ukosje1dc5csGAIMAywrNkSkvUCZDAEUDMnTP - BRYEhk4T9v2iM5yh5hgK9VC6Nh1mUs5bxuL71XJcVlLXn6mXFlr/O9BUue2AXrAwoMOAQKgIwKBC - +cWpIzLJ525uKNQaGuxHdEmHA4JGBAYYDCawojC0DhAlRFTRUBVbDKiqrX6gsQA0eCqOi+TAAXMP - AEKAdTFEYwWGDD4GAQqMRiwwAJjFYTMgAsxwNxQamYg+YlCpg4gjx1BTWMpD8w+DghWmaQOYjLBi - ALlmzVKuMiL00UkjhqsMUEkVNRn8iGXR0YjNBo0wAYhAQGGXxcZaJpgEQmEBwYZE5lQrkSZIQSXV - KAUYAE5kAOmFBAYz//PkxPd2HDpQAdrgACIZnBSDRgIVmCguPFwwGRjKo0C4dARVMNDcMDgGFQ0C - SQRgUNjIeIg8IAGFgeXZCAiNAUwiCgSGDGooMHggeDQ6ADAoUTLRnU0TJTkLPmChCYYArdEO5hgO - jwZaagLeIwCGDE4WAIDMOBEwADwQAUc3hBwJZ87QoEU4PVgAwBGQIYDBxMAlKhGAizTpgwClmnzc - tIVfTfzsjY2msplbZzBz5y2gf6GH67Zd2rQX79p9nKo4Bfl0o1DUBNatxmtQtZdmGZdK5TRMqZ1D - UNs5o5D2GYd3OsiQDODQRKLTFd+c5RUxIDPElzpxkysCAhuFCUzcxMNSQcEmSCREVCMHMLGjKxAy - 4yMOFC7gYNmBDQiDhQZMJLQUlrglxMNuLG3bi9RQtsAMBAYNGACxgpaZmPGGgBm7wYcbItgpRMSB - RCBITRkAVVfNrhcZki5k8kei2MFhYMEIOnoYCJmbKpszGYSMhw6YQIwkrBE3S+KBycwqDCoQEBJg - giShC5UJRZ4t0RCAIFTPlc1ZdNyWTHBY284NStzsKE2UuM8LzCSQ0tEBQOFwcDAhy9RwxBhTRkSp - uih6cBg0oKymZeG9VGZLJQmPgHFDDAU0xdrhk5RuxgOPCMuB//PkxPFzLDooAN6zxJItcKGTlXTn - JTCITCEjLqDNFzZRTLAhpkZg2OrANaMc3M4eInoXEmqSmOAkIAyKbAJghGE2DTTcDQaMNA2xEtWW - QeDBzJGLNF/kPTOLGBjZSBQzOwKUaqxmhF8oegsGCoWrWUCWyWZfxP0ykQw1Ts0IRJouTLWcypG0 - ta5sbTmft0HLVyyphxc4tdACg0njrDZM5UDLCqOpIsiXUzqLu7MRZ0l1OjGGtUdi21mHtXMt40r7 - OU7MmcqjkrOZBTR2HscplrMmhqXSqzEpdEoGxjzvVY6/OWUNQ9Gp+VIVjN8CTiKUDR45zN1HDT0k - jSlijS99j0tPjHkTDHQKzCkXDH81DOUnDGUVACJBjuixkaOBjyIAID4aD4MJIwhMQ92kMdyDY0wz - cWTDJBkSCSYJL2BxCYsDm0rIEBhYGMSWzHYYxg4NO/iSXOnVDjCcHWRsjuYmVGAhRjJAMhZggUPH - w0ImHhyRyNJUABQNJggSCkjQoDmLAZCDGDB4kOsmQkjIAMgZgxSBnExRJNCZRIRKpIYCBmVCwtDh - hwIicxgHMHDkg1BTCBEIKQQKmICYyMMTKoUbe+HQpg4CgAHMIHTXEc1kT72KCS9ZcUwjSYFIp9i2 - TrRM//PkxPdy/Dn8BO7y3FQi2ZmCs9MgkDCAJ4CFhR0WlQTKKqAGKIVQQc6ZrwKARqQ1WKpitAv0 - BA1VIMSvjzW12u8n2o6zVbjP25JzPMlIOCIEG7TzGJ121Pl+3LjzzoA30cOSPmu58GZP0lasV6Xx - krY4hEXHWc887Ll4wHKZAsM2jcoPWHgdorty5hjEXvdKHXEdyFtnf96ocn7kRk/IOtRqG4YfxxIk - 6cGu/ScfqKNNicNum1p15DDDZn3ctx6RptIxhljaR2pYU6ZxGmIRJn8DrJfd8I1EX8dp1nqpn+m2 - 60YMK4pOoNvNXHWN10AMkwKMKSxNNESMSx5GBVMtHDNlEzoqNLKAA+nAQIc6GDEQcdmqKZpZKbTh - GECBjRKZmbkxC3hcwdHVkmImwgLzACAxsWEC6bAvmEAYqAGJVJ+mWacSH9UGINmoDEQOLlqAgEqo - FBCU5gxaa6tJjAS1hYAg++rixVMxDrDKyi/6N5eMBIzIhlPAEERH40GG2xp1w0AAoQRBR8GiQCVM - SFIQSYgKOIZ076jxJK4HEh4YZYKYI6IWpg5wQAAJwAhAYiKoAOFg4nB6iy5kCTuNXYtFHqpGMM0W - jGmYLEYW9jT2Xt1gV2XaGgYKLrIFCTcDCjzD//PkxP51RDnsIu70WIIIHA4cKmB02aJUaFuZNUYg - Kb+uKbTo1TP9DWIxxkABIOxAMoeFme0qIkx1HBq4IMKGVgm9GAIoQMgUSHTwOImEFgYOggFgrPmo - hQAX9Y8n07iOi2kBZepHdKpRdS9fCtqg6+hISxVa6KCZYOBIQUyVyWLymIEJkqbiAEj+kgkuy4oF - J8s7X8FgEPpOsqU+tiEMPe5/HdWu97KEf21Vw7CVrCnmcR0y8C8X8JAcEyCyrmTpxvQ+qnC9lpO8 - WnQ7suEIFTtr0aTEbE6L6Jlv84HW9T1geVslMdI02lPzvE7NYC0wMazckXBWNNEo4xKTTG4ZMsBM - x+TjEYGCAGYkF4KGKfwcDzF5SMUi0zMSxGQgEgjDQlMJAsRBoxmDBGaeUqoEERf8BGmQqUGr7aek - K1ZTYEKnAyNGg0YiCWGAITBxCUZYgccZB7KEHTALIAC4xggAEJDcQHHbAYoCeKsSSyB5iBpAmOwH - JFxgCclW4CqRomAko42kRiA81SlrCAsiRAJRmgMhTSYEg66KgBosGmIFpz4dEaQCSMRcDIHPgcIT - vKKgAM0Hwda/Cm0TT8M0wxzDTGb6Pqoq9YCjM84NCJpsFAAsAhAgcW5LYhwEQgDEjhIO//PkxPx0 - zDnUAOZ0/AIaiCgNbIkMBRQOPFqS5pnoZtVBAzOQzHhCXxdp8AUKMQjFT5si4BUGpGF7hIOZ5SZg - OjAYQeJCVgjBgCwHAR1sAVBGLCM4MCEWe4qAkt6zxa4CAvixpjxf1ljNmAlnVKE6U5WzPWiq4jQl - 0iEIYIKkQYcA57gtNlTRQEBUdY415nrHQaCBQJoUhboW2htCaDgtxrKAlA1ASYQOnC7SQ0Dr6LvF - xngROR+a00tBWAnpfl4UhS7qsPVgi7UXRtLPKSWFflnMEMOacylZKDqYKhylyXzvrCqCqgWN7vDA - 5c1RQNbIzVgA1kCNYOzSWoxp7FGcyBCMfKTGBoxkPARoVjoCLTBwgZCACBg4YJi8HPTTkDYNzY4D - MewB1M5UNWvNMUNCDEnAsqCBqwziqmgmlnHmWqWWAA8LFQoOMKDDjA8iMoBMqaMUvFWQwgAIkvoK - AQuECgswJgwzEAwAu+MKtMgUMeHAxgiRmQAmDGFgK1uXhwUxoQxA8wpYwiMw7YERxyGZRUZ8WGNC - ZUClJkxxjEIVUFg8YEaWUL/oqJ1r0cd4GZNxfZ2WVMBUqL6iMYdKBoYkQNHBApaYACmGoBIxBKYC - xlihjBQ8DnTPOMZ8RxDiwFDQ//PkxPt0HDlwBN6y3Eih6hih6hiO6OidjA38uv8w1KoRAkIhUAR7 - Vw0NvXGh2VR2G3sZMulUyXqAoUFISCARAOmYs5OldzDUehAGMDhYAvWjCgcXZBIAUJGTiUovOoAw - 9wHTbEsCg0OhIho+Jxpwo5FpQSQIjyAsQAInqALHXoxZiL7TWMPO615dpdYLDjJRCMhzVQVRTeTt - Q5CIkRpDqgJJCBCINIFHJAKDSBg0lFSEYm+kGukqqgiIA0XU9F9sIX2wxm7214BfRzmWtaZizxk6 - sKXqdyc6OCBMOFMcQwlwu5VMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV + //PkxABlDDnxQ1jQAAAgnqxyUEEdkuuYymU5nOZxmoxkEBgIoLokDhtPZAxN4gQI1QOlDlA1EQGS + FciYiYiKiARFBdDkKAFx22Ag40DI4VA7WA71Y5DIIWAwUY4cYwYZAsZxEaZQapQaQ8ZgUY8KYMGY + MGAgZeNQdQMCiTKmTXLDVJDNEDEAEACYiQiARFBFcu+BQJgwZhQpgwJZMtOW3AQAswW0LwIOJEJi + JCJEF40A6K6Y6g6p13qnWOmIoIqRUipFSKkUAUESLTHTHTHTHTHVOqdY6xFSKkVIqRUipFSKkSLT + HUHVOqdY671h1jqCKkVIsRdi7F2LsXYoOqdU6p1TrvXeu9r7OGcLsVIqRQRUixGWM7Z2ztd6713r + vZ278OQw/jkOQ5DkOQ1xibO2ds7Z2ztnblu+7jsOQzhnDOGuOQ7jluWztnbluW/7/uWzhnDOGuOQ + 5DuP4/jvu25bW2ds7Z25bvv4/jkOQ5DkOQzhrjE2HrvXexNnbO3LctnDOGcMQZwzhrjuQ5G42/7/ + u25bluW5bOGGLsZwzhyH8hyWKgIAC8yYBMxLTBycxJkFBVPVjZpwEiCBBVDmlQYYAIZmPyAVFDdZ + 0x4dAgqiALmGksbqCBg4XGryOaCDoOGx//PkxD5uvDoYCZvgAo3BIYL1OzXIlMvGQxsFTFA0Mznc + w4OxkFFhwGJYCY3KRg5KmMDQYVDxgMFnHw+ZNGpugamexaY+AhzebGn9aZrSpjIPiy2MNAEwiCRE + HQuQTFpNMviMHDAwIUjBw5MtA81OYDZIvEB0MhJMxaKDRAbNOkM0qJAMmIBn3xicLfwxcOSqAGDM + kiaqCVxmUrstdVK93jLhMMGiiLxV/VjWpG12XKGJdS9x1/riSYdRjqzzGQiVRqA0KmBQCkykhHTA + IAaxFG3p6nb3ww/lM3AChEOD7yL7aHejsMSybXw6hgIYGKAYBQOYHAaMRiQKBwcuAIGF9UM1HGUN + Ne+kbEmIppOuxDEcTAgWZaZLoipOHBUDLOjDXkcE1E12vOW4jhu1bWoQAdO1OtYODVbm4M6eFwZG + 6jc1uMno5THZTRUb0Q3K47FnojkljsAxLUuisMwzHIOiLYcJTZh2k+1SXN9l01U+lkk5A0ngN5or + A07WlEolUCuw97OIZl76RPsosRADBhoawTmMh4EGFazCwIUIi8hiZIYeFBAwCQsaCzOw8xtAMcTA + EIA2fUgZf5HHMZqy0TbZgYCgNOYJzKQ0wwWishNoIAUZEJwIQYIEZiYFGoiMYiXx//PkxFZ3bDok + pdvgAIYnJtFemSk8YNchoMfGhUUNJMzONRIZmFQYVAmX7FAMnCYUCZgoFioHdwwsCxwBp0lAgMIg + kx6DzD4NMTDAweIjFotMHD0yoYDBhENiFEwgeDPJsAIbMah0FB4aA4cElLWmtunUzpDKPtiS/S1M + EgcHCYHAYxIIDGYPMJEwxKMDGwTMZBIAg4WDJAAGkjwKomVvEs1ylbUe1GkrQwDmLwWYXFoCB4QK + jBADMPB4w0LCIjg5IEIeFQYYHC5hAGBA8BQfMWCAw6IQgYGGQeY3JJicFhwLMcj8wCFTAQUMXhEw + IDgEAQKAi9gEBIXBbuugsUiAZex/WHIaoI3GZMpq7UB07wwLYo4rIoTDVI6TWXvi1LEH3mqeHY1N + 1p6gmH8l9yt2XRqWyyampdi/spllWhsx7C7MVIhZo5hxKWj3R5SKhp5ZEq1FOUM5DsD262Wk4YBd + l2WYKBqrtSYLAxcx1l5JeQ9ArLVZFgUjqZEAmAQAApgEAjwLSoUimeOgBlC/FxN3QcXEtFraRRMa + waM4UBMgqWPhMINwB+Nj2dMiyGNdG4NzTfMmXpO18NOq2tNJWNOlavPa4bMb3sNoncM8FWNaIpNY + y/M7EIMVTDMG0LNJStMu//PkxEty5DocAO6fPExTFcmzGx5jZpPDNgoTRkzTNclQEZRlkFhiUKBi + cUphMWhg+IxgkK5mEQZ5NBjHhl5B9Uxqahki5mCpjBphEpAlRfBw8DGx4WIwRjTQKNIBBEgATYww + EBUQcYLAQyjk3EEVAgxAFywOZmeqG4SqeAYsQk1+GKGGIBg0W0VJdHwtQGGFAUbC9wchMQFKwwcg + NmgMncOEyNBIMQkDIgEAhccXIUycpkjtvOzdjYgGjpwGATAqzACkJTXjQiwVDOjiNO2OkPNPBNYw + MZFHq5mDRg8BqyBqJsOjK42pILDR5SYAAcRqGFDClgoBC4xTQx5oxIoxYQWROqYMUy5KpPKnSqTW + gWxS9xmZVKXk7Ko/KYIi0yoVqERlI9Q1yW0Gxvase81lhKR42UeV2zMFIz5nw4Lt/O2GAmIaygFA + rjcODcyiTjKlTNSLMT45kMnmesDeTIyHUFSp811wPQbgNgrUKL+c58E8F1Ak208FeZRyEHOsSEcD + WTwTM1jkQgWwrT8XSJoBAEGEIBaYV4A5j4uWHo2SeZDJJRidiQGKWCwcy43ZkuBMGFsA0YxSWpxy + okGWWH0Y7ZLBkdnBG4CIQYcoNBhEIRlCdRkDwRmAcBjWAhhAYZsM//PkxFJy3DokAPd0rLmHnWDQ + uMn22Mnf1M/kZMpCTMrjnNGkjMoxDEgwMEQUC4DhUZzDACyEADKmDZDU3hCMMmWMIMLeJhFqw4kl + 8HGmIiAkwFsylAUImEExRqYoRBgNU44NSqCpwKpjP0jc6ADTGuxzkJkkJiVhiRQOTggEww94Mx4s + hGmSBAgyASoyXBR0IDo2goqAnRlThkkxiR49cAr03RYzhUDKQUocdvoeX2/kejsZaI4xaEOCGEGm + CAB0IYVmgDC2BENXxjxhZhASHDjGES5IiNoKFgczN1EtlPwSyxaZghrFEwVN2BrwhyJyGIVYFdSQ + VL12XTGGE9Qd7S15q/XmI3L3fk0aq07wRTGF6lcekdebtQ1LaeM00YsSF2rE3Sv9DbzOG6bnv81j + KqzqGmTu66UIeFkkrch92nurBqxFhIhKourxWdryARdCGcWL4IPtwUaV0tVpSPj3II0M0S12Q6pO + BjDAE11FnJSfmWMpIPoker6FL8ZDOpDN4mUxFoSwlYFAYBAAhgggGmDgCUY256J9oicmPiDuYPwD + xgig7HNA00ZAI/JgIg2GBEP2d+yBJmlh3CQ7hjKHpqlSJq6UZg6J5hEGo60B0EIBiMChgOFRgeOx + 9KfpmKSY//PkxFlw9DosDPd0jBAoMMhvM+BqMSgqesRgqeKOLk0aE+TLB1dOY+4BRBw9HxtE9hwO + 9yu0cR4ymhAE2YQNB8mnoHWg1lZZbEGAYbVtGQCRykSgEa8wb5cKwzCJwCXN8QNWAMAWAwAaOs6S + iEmadYslHRychhgRYBrBAIGKhDRIjcRSjYAh4YMCh0xRUsojJI1wwuKQDTQ1Gp6DFdMIAxISBvAm + KAAZhRC9jIhAwGlyWbCo4wwQwApeJgiosRCCAWKS1CagQVy3Zg7BEy2wKXBQC6q+pXH5ZOSSBnab + tTQE+7x51GxWL8Um3Ml7uu5DcxecFvozAz/uK90ixkUvb96c7jqxOIZMBcKUxyRuhIn8Zg/0kaFL + GtLCtCutzhl92YQM28mnWAP+rla0OsrjDdFU4XBatqwTdnpe5fLLm+SkRbTeV4nKqZYihK2hYQy9 + HYWFoEmvs7SvSvHAaYqYBQLXiWWVhQngECBBbtNGFixEAJjJddUUeRCB0YHgGJg+hKGLoxacpV9h + kxBImHSCaYdxOBywiZmqiSgIgyzBYH+NlnMA5/2pzERHMMSIBkwlQszJPDgMLwLgwgAXTBFFAMh0 + Jcxug7DAIA7BwaRizHMmGEX0Y+IRYkIKYHIMRhFh//PkxGh47DooAPbzFPphDg/gIMsRChu6cY8B + ojFzg4WM2IAMWJaBgWkuiYh4FAkIGUVk3QqEKZioSGD80ghBoOY2Alyk9xoYBgcGChKCiIUMIIjK + CQLDRhAW7YgHzKyMFDwCTjGgAwk5MgKjISk0YhHnszURM6QQwOAgCCRMWTwUCP8ABQxBCFogHKxm + AMcInHyKxoDGYOSnqeFlgqevJ9m+YO0iDolKJxnCjk2l6taMJRsBR6DinhgVUo4kmQNIjoI8acDD + IB4hAeAUy/TthYIxzUAQAEUggkBRiWE0oaX4hyhj7ltbpn8m3bl07Z7SR+VxyH95Uc7cxmnEi1JH + 5yKyXGhg2WSiMSWpZrckkjicGv3TQQ/7DJU6iR7fLQXbcLsLcljE2BSF1XGLiK3MeZgm8uFDGGXi + AT6J7qp/qKhg8EDISQ5aQACQ4ARE+R4AYBX2YQoIDflER9UbDDHVwDrAYCQhoUhxCGpKjUCwQFGA + 05NEKCNxCpxCuYzgokXKZ0aAIGvCqCfiQLAhjgBaORgdBYmNZLCZUoYpgSAkGBCF+YqSkZsHnvmI + OAwYLgFhhxhEGJvsMaqBGBrgFxj+QZl8nps/AZouNoGCYxAIUzyXUwQLYyCEow8Ckxwas39k//Pk + xFdzzDpAAvd0jmOQkuMWhXGBpMXClMkxoH5IG7mHhGebHAUGsRF5DJmjB3z00QFPMATMCZMWBn1c + ggKMKDQBlFEdHkQRmLCq3ChIhFiJQbZYLMXSa4YwgkSCU5YgGWcnVnnlInWIApcZZAYOMZ08AyIO + lHWLArIQExCGAgMRB0vTKiAIjOaDM+kMGcApszKxMQ0ic2BoGnQI4C5BMYz5lG4Eh0xlzpzgYHL4 + CQkWVbGAvCle/r4LofRSkvm+4KDjRd0TJnwKTM6nAScZGGAArJdYIPkIwqJjBAEiBQISCQKNAxNS + Q0ZCxUDC2Pp6jwYuwsA8MNJKKkeR9GupFsriTS3JZfA7/yOMRiWQxLrN2afi9qam4EsSpyKGL1oL + i+qOWOHXuzcQljv2X/pJuCIEeOLymdYJKWuRJypJHIpGHnmHXhuIzMqcF25E389I2G0tiAWKMcyU + 3ZAwTNp7YlvsffRtF+SxVRWBo6uWfS1XqMaeSi6e6mgyCHAe0JZehNRMcvdVBJSGQKABgQCZiCQR + wJ6hs+HAsHBg+F5j0JBtvbwGC0lC4wMIE0j7o/7z8zJDIgAcxOC4xeEU0pAAv6W2HANMVQUCEJAI + KDgAmMRXGdiAgYVxoNhACBlINhts//PkxFpjFDpYpO6fOFUSAetpqZgcGxhCAbPUuyQIDng86j7N + A4KLTWrtYUwApwIhStlb3mHGI/rnWHFAICAixyAHkU8IkphQRkkzDweNTEMqzAh0IMmjfmVELBoQ + sYMmDfpy07BgcUBQgoYUyDoRVEGrLBhBxxJSgOCgYDCkQQcgQAmHCl7UzjPjWttgJgqOZaCPQ47R + bxVkMsEeZG+XPEmi0l00omBICUAypl1KwiEIj0yeHFaoZmVg21BiD9HHQNMuR9l1O7tasYDPR0Pc + jCrWFghsqtVqktCYlFK5YVyi7jHYUNvN1KnYkeKxKV5mDRPP5nzcxNbUtTtcSAxMUyuY1arG6qsY + WVWuSGKz1WFao6v0PXUypOtWKZafnWkDob3yMaF2wxFahLFFKJQGkrlGmDkL1DUi+myErRgPXNVM + QU1FVVWAtSIBFUFDTAccTkcxDCgIgKB4OBoxYPo2ONMrB4wQDowaF0zq0Y5bVYFGcFA1CDzMySAM + IwSBICrnMLxLMQgzCANMCAYFRTMIQNMEggAoCmFYSmKh1GAoumNwPoJjAAGDBEIiYCiYD1JgIAMC + ReLyImqCu4yJMRTdfsQWu1pzWUKEsbUVkRb8gBR4Jhkb1JmWCIWBHuDij5iM//PkxJpbfDpopO5Z + PlUCEkAqhws001K6Qu83KNOOyhoBbwYHKEAQYJIpqCSZF4BAmIF6khQ4BOMvih8xJgjA5K/cDvmr + PKWsu22WLpev/J1OZY3WGU6kwJe8zCFdu7g+8UgyaqUUNOPN0kDRFalI4MWoY5Ozr7X6KHrEqr4T + 0Z3bpd1cLsl6qgKi4Sm1x8Y+rMSqe8hsJjY0Jy7UJHdl8c3XKde6vmlbCmN9WtaMd5onGZ7i0+u4 + 4TUjak6PiWyeDgZHz7g/XdPCoEXpxpdMh7LbJNYHFWdUPzUtHa5UrNyoTEFNRTMuMTAwqqqqqqqq + qqqqqqqqDgJgEgHLcMDEBowlCqzK+D3MKgEswRQfDFSAWNBMrQw+AKRQEIwWDRDQIQRMrIXswgx6 + zJHAHMlQY8xDA3QKFjFLJMTJQ1ihASNBGgzGqgNJooyOEDPCeNdlc3dUz0RdP0JgiyZwBbgZmGHC + WAAeZQAZiAIjgvMOBABCoGhkKAoFAsrAJZkaDLwmCgMOg4mG4VBSeQBBwcAzB4KIhMYSBrWwqA2K + FyjC4mBA0MbD4xySRaoHAQm4HiSkwx8wY4IPmKHGELkhNsYICqqo1uqstrCE4KgQU4MIJMwLN+4K + DRmioMVGcBhZaHDy//PkxOpvbDpMBvc0uOgKjgysYcA75hxDbF8Ui2QKYIfqmcYChlYkqWmrlUtl + 7/rpVWbcsizERBSgIr9SgvagsXJHhqfpMJh2UsziMTfVdylKCrrS2rel9JNVqkWpsr1NnUsRmGHk + geJuXF2zyqfnZBBbdJA/kcfi9AcN3YhQVqf5+MRSAJrGMxuIRd38ZJKqecnY1TUL+wNMRGGI9TVn + VgV5YnMw069jOGZqNv1fj3yqBuTeEOL9Ww70yrpnMBRFtoGXPLWux+Uv67ipGYPM46GLP13subE9 + zzxd+JS3thptCAETAjAMMG4LExQ22DHwBxMIsHcw1xSTkNN2MV0OQx6SqTaRl7Nj43cxYgbTJnLL + NRARE2VQzaBvOV807G6gibmKXybThBrFIGMz0aeG5x+fG42EYKLZ3UIH0PqE/k2BUj/orPOfTJhU + 4IdMyKwAJGOh5obMYaeEqASnogDA5qMGKzChAMSwsJggDMOCB4WBIaSiQEADJwIwEyMVDxaICwiE + BIGWjGygCMJixUdOEoJz4rk0Q+MODjPy4GCZgA0CiYMDwUDOOBABM+BnSVKgBYcChpRSD4LMNCTM + 0g0qRMuEDMyULExhgeJGBmQUWmMdHxkcRyEh8wQFMNCkbk6y//PkxP92zDo0APc2jOyIQQeBLrAk + ELAFb3wVVZ21RW9y8lMmWpapGt+pJHqSlxAENJnqAtcZMly7LqsmhyOvrB0apbGd+mp5fVmu1eam + q/51pLef2UurGIRHX1pJfKb05C30+T3Ze99dwLDosvb+G4W1tQ9Idj8WU0flRdu0YTSGgllLEkK2 + 4yJqKGEPII2skAQQgAWBUeESYNFhJLtmCg4kDs3HgByhABkAOyAtWwIaDwcLPtD7C2QuO05Shuyx + wQAKUOKo6mq2ZDZodKhElSulzwKAITB4NBgCu0iC1pKMu8juz5jzkPaqQYBgF4OAaMSI6A5FIXzC + sBNMMYjw1roGjUPEhMDkls1SFszYjLCMRwHkwlxuTToPvMcIJsVKBohBG1x8IgmIjmKmgOEYCBJp + FLGUR8YVFpjs1moRkATeZOaBnS+mbD0bzQZiOQGnSMYZCJggPGZx0LFIwsDgSzMwDCg4wxckFGEI + gUKAnMqLJihAx4YLkV2GFDFzi9IQKdAMEllzCAQMgBiCATOKTSXzXKAUnNwjUeEIJcDGmpLCyBrT + DldM9hpnTJ0NYo8KgCCcxw0kItjMobMAMAQ9AEgKDmgKbKAggGzp2GjNPk0FK2uM+1dqriyqYZc0 + ppq+//PkxPZy3DosAvc0kJn61ZJDselzOa7MWozUVg57IS/cPyeFPG3Ost10VJuDO3ozI5ppEMUj + t53JVOSKhiHHfyj7oxqMQxFIy2lIsdYdoUUaw8rHWLsSXqlaxV9VYlJDoJiKq8ahp/gMCYtDEDlm + lrqAIhp8r1LMw6rhjSzWXoRu4FAqw7GnvQwY0muTDEYQAJLdBgRuhEFCxkxwEsyFhKOxbZHMOLF6 + 35JjgBBsbCwRpJalwFMmfFAQeJiy1CgCiQQAQ0HgQKOqDJTgEYs4RhkH1xiMMPDleDQdfoyALQo7 + QPVMQU1FMy4xMDBVVSKVoBguhGGDMIqY6c5x+8n/GbaJgYs7/RiiDAmPGN4ZAitZwSmYGTmImYjA + X5gfizmASFsYYITxgBhomAmBUTApiQ2YOLmbCahxmYKY8ago0BQMYsdiE1M2WQAOGlxhqL0bm9nR + MxiSIZaMuYZCIiEDIhQDAYXDVMEAgKBU3EZ1xI/KGpolviILjBdUoGS/iQq6VlFsTChmGiICMJFm + kCg2YYIgaxMLDiwIgohLxBgc8Q0BJktFcaywaGn6cGW02EajaPqxmorwArCgwAiAsndQdZnyGyGb + CXmgZMxljtww+6JijhcwvAkoyBvFsuoQgCgi//PkxPJxZDoYHPbwvIQsO1RbRfZecbCgxYSEsGrD + ip2smU+siWI7rF2vKNM5eJiTdGaKqL9f1BRc6faS0peBlDXkaX5V9LnqThczJScaaw2RSxiudEul + grP1V6VJhChZi0U7knmyoKxxpsOuqylOFItb5d1qLA1HkXx1IjOX/eAQAdgtQsYlCCBp6A0SRIlA + lkhmSqXizNAE0ZXCGCzxxTxtxDjoVw2jYTCBiVNkxSUzhFsQgCyC46jhe1QlN5sacoOMuoOKWeGk + M4IBtYibKn8YkwNdjrStPdgSSCFQsp91oQgOjAcBiwiMn8KlCZko7JgVF1G7qy0bkBoBiNBamPkq + KcgbUpnVi2mLgD6ZLIwJhrg3mlhZljoZ4ZGfmJhKUaITGXDxhhIYSaminpmaaIxw1FBUkZigGZlo + C4zTxgzVSOeSjvjI2LTPVTTAjg0e/AXOcVUGrHBkQICUUWXDBAIwoOAQOYkRGWCJq6WZqVmgo5kR + abGUmRpZmJGYQcBwwMCRqCwaM3HBwZw4GPQhYByJOFjAYgekhCOZgRchFgv+Ah2Ty+ipInG7cNv/ + BDKH9WPHDOkA4gMWPTgWNBBiYJolpwNySEU0nLr/5QE8Mhi2cZkbMGiNEexwGwL3jb+t//PkxP90 + vDogCPbynskTGaLrmqeDFhFAIOhmkmX8gJiDVoxH4y+j6vrWl0FVmkN0cZwW6M0fKMQZDDWnPVxI + HGd9sbmrOZU1FA+jL+KVKOEoLBku0znWSHWDnl3I9MlL2LkWaFBAgBQxSyspehLC4qKi+G5iopgg + pfqbl/FaV/KReVB68Yha1n3Jo060IyVNLcoIQksoCgimqq4jKM45S5BgEkg4cURKInYTUMsFYywJ + E+VA0KxZeGTJALbl8y14QuwcIDWmvFjbuAqdT4NBMkNE9RwILYyseH2bydDqpeguALEYGAqAMYAQ + BpgtjDnEUqgZEIhRhVBDmE8AYdGwXphuAzGA4M6ZxxAhwBnagtRGhIObqXBnUamCQgYXFxhsnGMh + AYPGA0TzHQaVgBQhMGioFCkEgEwKOjEoZMIgMxEMTDAAARjARWBQ/Mxlgy8ITJyrOGQU/XGju1KN + aFE1sSTSoMMOl0xUbTAxsMVisyqUjHIzNHBow6ETDwaMjDcx2PDBgoMKWGFIs8OkrMPAE5ZgW5uU + RibpyBBoAIG1hkYGFgIBcNriwbqNIh5oTSWSMYcl/Xfljvzahy8y2pAYKpNfaRw6iMOJKgNHIRKW + ZKDIKKKx1pyl9p0lpK0NOXiv//PkxP93BDowUvc0fAi9Ou9AfDDxwPEZM47PX/XEIgKgjJF5Q6g4 + tRdzJET2ntLiLuv82zL34f+chERv0kudp243lai79P/K5QyhWCPvOsSEuS/T2S+fgGMKByqKUjvt + DwaMoS1xeLHmkLoftMtb8qSuSvEg6ObOkfnWakIRMFF/EgEf3JQlgYOX3WGkT8q+Eii+H2R5JhwG + DpAjIuHCQUIgCRboGLAmJApxtXU5FQJeBSSMbzhhJENMNU6Y5ZlEB0EGlpsOcdORQQxwYMPhAsQh + wUTMGDS1JB75rYQBI2F+HHaemG8o0BUPTEFNRTMuMTAwqqqqqqqqqqpgQqABx0y0bzZvTjGACyUC + QqWRr+XxgKBJgcERheSBqerxjaAYCAEAgUYJgAxN+hwA0+XpnmRLum4wsZ3WYNQZTDk24M7EJZFh + oHgqD6WgGIrxU6d8oDJINAd9Td0WzwxDNR0X3iThuTFHLYy2FVyMq7l+sie9niIlNIq8NxqIWflU + XzrUsvle4676wigj1OuFAioWVlr1b1iMQe1VRTVnS3ASDMGLMsIfUAFAUYaKBRoCLoPhUGaxobJo + bxcLGJKBR5kQIVGmlTm2VGgJAYIkCYsiiMvxEMMFlywQSHipjTJtSvgF//PkxOVuPDpYNu6xPFnT + vnBBg40dLcdJkZ4YYhYb44vsyEI7U4m5BhQyLU3pswyQww0y6U4OM/ec7iIxqsEkgcgiyioGeh2D + EQGYYnUqdyFDltfWgpgAQmMYCGZUm9oCWjmIjAqhhCZSr/VTAI0QgcRHdPNI9DdIdIstmBlqjWgF + xnJQkRtwZAvwzwvYzRQYiOYlDSQCFXTTHsa+xM1ECwC0hkYCoEgl+pht0LlxZDgX8W6v9GZnCEhH + NSx1EEiEg1KL0JftCQBtOZQreClrPcMu+ayhiJaX0W4ueDFMFNITTEFNRTMuMTAwVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV - VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV - VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV - VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV + VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUAF6qAFcID+RgRKndORILGUCb64wp+ + 4Q16RSOatvvHZu9LUNYVFhodnxTJ7jvTM1KoxGR+UimsXlnI6QL1yZW9S+Xxddo8s1ENTTrsd5h9 + jJyvzXPlqymAppka8eoVFHVfn4Hg5lcqiDNEOs1LnZLwIIC/BfcGBkIoNOVyZBQquEFlWIAjv6LX + BkqpFVFbmkAJ//PkxJFZNDqCTssy3PQAhyxqmg0QKLvyAgBlRrBjnAaoMKA5Z6EFnRsYy7RJc1yF + oDpoLPNw4sfGFOc9oGWNuECDgOEi+SuCHQsQFwaZCIRgpChhamwRORFoqAI9f4CDhmCkAKiqGose + aBTREUUcKFS9CAIQSSetKVgCQiFCYCKDsNOpo0hYzyBRQphrrLdGlyIQqBIxMYJiFPUrc1SqufV3 + obbuWnHQxoZXKVaLcAQyno7itAACUxQBoD0nJC74hHRjcRI9tV/sHWw6jNWkJuLpRvliaM8ueG2c + MITAUsg1LC4AwiGKrzduWUdMp9RlcdGl/FJ9uDBGtySOPvHoapoOllM27d2StjYjKZJGLUP2ZUwA + wh0VEw0ulUlNYbgRx2xNY+laMw2JzLpM+dCkrX1pMviL0N4qdyJM7dFPxB53ozjcsXtHmCvkyV4n + Oe5r0aXg05K1hcAPyofD0DJMvszR1S0qc6gcJUAkj8izq9QCKCswvQaphrlQBnGLKmtThVCY8EYY + KDZI8TBQY0A4v4ZsiZQaFSAwHDnpkzAMDIAByAYsqYhWHCTJC07TAiwAkM6dM+SNyjNYKFjRj1Yg + dGEMFYFFU5pIAsxxmaxECgBxWgKFmiOriMq5MgXM2NAA//PkxP97DDpYoM635JGCCRjQcDokxoMO + NGzJxIyIMMUSjRloHVJVKjUw0mjgSbmmKwcfmJiQARCk6MTbgV/G+E5xsIewImVkJxx4bDBnMCRj + iWYYDHEOJkC6aYlg06MbHViiySYMFGJFIcooCwuZAwRM4OkQwIzGUDxE5mTMAiYDDU0ysyM9JybI + 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 + gGmYL5oxiaYcmPshrJ4YMEGUixgoYgHBJUEIzARYBMRGkxQYFGblwOEi5RhIQ3AyEQAwiaQpigM1 + AogFDOIsxUAgZLVN42Vi9QUXBRghBRxMIMUDNE5SaIBtpN+2ySwjPN4VJQMaJUDlGSJWSnIhLMgE + QjFC4YSDIw1ELggQAxwDXiMIEKAAI83DS/piDjsR7zGuYQhI1AxUxEDXNPJFVMHIipBlBtga09wU + DQcMcAsszYtSKgKJyoyoTaNAxLOFjqXgY0LjGOAARBYplCOQXEABJqCr7HkRYota8IILNQlNJCWG + KqHgpGoFzDdoPGoDEoTBY8IV//PkxP50ZDnMAdvIABw83jy/IBWOGQeRRSAJxnjBA0oUucF0FSgg + FIwMCUVFBCZowATGFEBaMDdy8LWQgFAMukt0ugxwn+TXASsTWEAQznSROouSkMBA2BBQNBV8mBQa + 2FCEAhIPLvAAJhBtsvksyBAS+LTUbgSACjnCYc3ycrXGJInAkIHJK3F/lLpPCEhl1VUellOOksY5 + BmkIZmUqbC5pJoXgYEEAqRXa0pPYxxDHUGjTBIGgmsiAEyASqMaZgQcFxAwJRcWBcMgAHilHnTCw + KUhf4z0gwJI8ygzCPFjFTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRAMLprqIIdGjLgc + wbKOIc33DUzAvg5gaaoGkElygwOSMgMxUgsyOJiAwKkgAYDLlGJwlHBaZPxDoarYG0IrgE6ARh0p + QQHGMJAQ8ZwAZhEBrxsCZXBa4q0IgLWBwS7yNpfYRHGWCrB04oBG9QBdbSFUUZguILHFVELQYgDT + F0ndxk6OXMBgUcaYHOLMpbNbaYnCBlGR4joFWgJhRsFRBoFsK/Yo0JYrKoJbkkaSBRQFjFlRkSAs + eACnABIosKADBjTQMYQDUARqa611QIvKSgQFoDBpRiCDTDpEb0vFh1iK//PkxOBs/DmENNZwHP0u + S2QgCghQ7FUKCAwhEoB3jYkA0LDgMsmYGGLgo7KBpMoBkykx0oAwQECKiQnpcKcuMwFO5IcoCECL + giMBIcvOVmATgQclIXnQURjR9XytROIviWeFApKKVpoK2KvQ1R6VRVUWus1AElUrKjohLGgCSjEE + CqGIjJxICFSlLDFCgcUysBmyrUzAJrhiS2Sbq5GpxWVQDADtssTzCEllgokcSFAF0ysAcItiXmQ9 + Q8S0VjZK+0jd2VV5RCFLkApfZF9HhUa9ZdBLXFJIAS9yDKUyLpVITEFNRTMuMTAwqqqqqqqqqqqq + qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq + qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq + qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq + qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq + qqqqqqqqqqqq headers: CF-RAY: - - 9ed469b338baaa55-YYZ + - 9fa1f7669be71486-YYZ Connection: - keep-alive Content-Type: - audio/mpeg Date: - - Thu, 16 Apr 2026 16:02:12 GMT + - Mon, 11 May 2026 14:45:16 GMT Server: - cloudflare Transfer-Encoding: @@ -1080,19 +1064,19 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '1151' + - '529' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=FpUEWhKrHWLD1qv88rq_QLMeWbbLpYKEXSoU2UOi07c-1776355331.07796-1.0.1.1-ccrE1eyKyp6lUypcd8WexZHF_459Kwq8cmPf4vJJlTvUbKUweW8r.3BBBw_4.DLLmiy8RjdGte6QqXG.6W.YiBtCnYtu60qBMxTXc8EnHD1rCLWs7Kzzwf3WRiQWqUwN; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:12 GMT + - __cf_bm=l1s4O85fcvOtedBS88LAcfzFpN5FpxD6yuI7LzjSNEw-1778510715.9404054-1.0.1.1-pvsMKDzdLc176N32LKFWwtN8ouOvjGPR46WAaHuEQ2w_W57SujpCe8BQ1n8ploRik3Ro_XVMrrbGRX3D7GTX_Cul1ZqUb7E53YKD1tXXLWagGKEIxMEJzLpV2ymq.Xt4; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:15:16 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload via: - - envoy-router-canary-86c88bdd98-kgqcs + - envoy-router-75b8777d4-h5zww x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -1102,7 +1086,7 @@ interactions: x-ratelimit-reset-requests: - 6ms x-request-id: - - req_a3194f25ea874d08a398feec605debfa + - req_641f47306fe94b5a92f0e07bd0370e9c status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_speech_async.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_speech_async.yaml index 23a45fdc..ad8cb63a 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_speech_async.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_speech_async.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -39,457 +39,457 @@ interactions: response: body: string: !!binary | - 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 + MNFl3TABRsMsxHGXARs8KzEEN1JWpLYwxkHVSsRZy11L1dhkrGu0aCYcCYDJwIrdCwYQC/jjgGRz + MrFCwoEDBLKpmiEhiSAklyS7//PkxP50bDmwCt5xNDGG6stSpWoBFnB5oOZhgAJqWX8Nolkjgwc1 + +WUslC6jmhOoCwNBwUEs6ZnnSoC7AqPKmpe5dalrpLDAURdJcyEplssUya2pbDTPjPAMlKo+XtLQ + soLLJJL5AhzGRRFMWdChRpIFMimYllvnKTGfsvaXRYE2NuEVRtWa0UvCoCWldxssifZZKdK0S2rS + EVi7yXpiWAqqAmBYY0vMWaLbNNT1MAUrYcS+TGAokclVSyqFMFLmTCf4GkM5CyqOLGkFoeXc+K2D + CJXK0QAFLlsIEGq1pyttTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV @@ -505,13 +505,13 @@ interactions: VVVVVVVVVVVV headers: CF-RAY: - - 9ed469e5090490a8-YYZ + - 9fa1f7a0de9cf80a-YYZ Connection: - keep-alive Content-Type: - audio/mpeg Date: - - Thu, 16 Apr 2026 16:02:19 GMT + - Mon, 11 May 2026 14:45:40 GMT Server: - cloudflare Transfer-Encoding: @@ -527,19 +527,19 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '723' + - '15532' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=bYjta1S10qIskFe4cSsOEevAcPkC2W0anCM_il9SGlM-1776355339.0460508-1.0.1.1-OK.KbFpbFAF3ZoCViXaacC3jhhJFukxFD62ImgUmvBE3x.v0rSxg_68tygzE.4IVySmWJER0KZDMN0egCYYsogJ1fMBbVawj39DnVSmwvEq6WVMZGVxnwIU8iNo.W7R7; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:19 GMT + - __cf_bm=ZL5kAn7.hwR1SWwxQDjQdoLS1MYHoMqw4U_M2HzEakQ-1778510725.2582984-1.0.1.1-nRCAiq.M3MWJgANXUFuotFB_20eC2Lzj4oRwJrLiWOla0bqkwwa2itqBH46xWeVdLIzDxCeaWuUgPoqpkI93y6eFb4msL0IQ8.jRKAJKMF5PNmE9aqevTJ33oJrbkkYg; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:15:40 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload via: - - envoy-router-bf58857bf-nd7rg + - envoy-router-5f94974895-p4qtv x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -549,7 +549,7 @@ interactions: x-ratelimit-reset-requests: - 6ms x-request-id: - - req_d23d2b19cd4b4b979b486238ab441e95 + - req_bab630a75fef48d19321bc51b76e8392 status: code: 200 message: OK @@ -569,7 +569,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -579,11 +579,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -593,487 +593,462 @@ interactions: response: body: string: !!binary | - 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 - KfcMHQrDAQSCCoEJXoql0RYQzAEKjCUOph/v+UuEz1FWPGX6cGfZgAAL//PkxOt1RDnsAZzoAMwE - B8wyC8dBAKAKSgABAfEg8MRSQMIBLHQPIgPXwmq+okBi110wex5TVjywz7x5cyY0Si26rsuTdBw6 - GLpAOUMgUCgeMGQ+MMQgCwLl7hkBzDATyEBTBYFSgGFDTAIDWnSSDoLWmsC15Yz5vQW6flYVa7B4 - xS4zU9EcpmGceVq08+szLTBYEzAYKTDQOw4LQoDoCEkwNBoZAAwFARawVAAwFAYOA4Cg0YKgcscw - BBIwNAJCpxmXTrvKLuozVgyTC3ocYeh6sdqDLZluCRr1pWqKwG/yVMZmZbcpaCerW31lM7KquFNV - 5M7pcUxBTUUzLjEwMKqqqqqqqqqqaVRiWx1cR46huSQoXNUvNEJEJg1rIygMVCGNGGNEAIUvZI0w - g0xwld5hiJkh4YJYUXKYOYAeZQmpMxETUPBxrGCyxfJsZcFk0AyF0lAlNn3BgICJZGYRZlBr0BIh - jiKTMJM2myIIAGmgaZwLOC4SfSRphDoLQ+1lnLXZYpUARDHCa4BRjHCSSXiXhaiXOMUZkrSmXU7K - VivK6SgTu3K7grCstggtUYYSKL6F1jFIMsgHDJ3mY2bzqLRgHmgSogDQgEUjOak5uOiQwUHMokHC - vwj0XKLbJ9CM//PkxNhqzDk0DdrIAAM1I0SkmgsCYgKpDLcOWIoEMlo33DTGIizANMwdGlI4s6Ag - S7LgAkAFBLBmY6cT5MGZDJuMmcCzgs8hstkAAsmYC01mRd4uM35c0xBV/JUo+w4l8ik64UBMQVey - aJclH2BX2Z016HrM0ypIZB5TaGy9pZlxy3JaFqKlSAZqSAkwAWpICTABLMpgyZwlAkxmuzuVNTU1 - Nl+OD7LmVMy58S6pZFtlKS2JeFTWWMCLvF4nlZUsaTuCxGTNKSGXa/NRwl3NegtBKW1e5SlAKmC4 - tA7TlOVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV - VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV + VVVVVVVVVVVVVVVVVVVVVVVV headers: CF-RAY: - - 9ed469ebdefbac31-YYZ + - 9fa1f804ae188bf1-YYZ Connection: - keep-alive Content-Type: - audio/mpeg Date: - - Thu, 16 Apr 2026 16:02:21 GMT + - Mon, 11 May 2026 14:45:42 GMT Server: - cloudflare Transfer-Encoding: @@ -1089,19 +1064,19 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '1186' + - '1182' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=GmPfxi0KbuKgsFW6ce.OQkUXI2_otWKLqBS3Rhwfvrw-1776355340.139179-1.0.1.1-1B03norlHQ7Y8AyIlBFpzYDqBACvDlpABOXY5.fpVZ4FsJOodHJhgrRUn7Ml5J.uoLvcrewKC_Ml1IKYupB5xRkHybJ1SxrhmJR5K.WdMaFbs6sHVQ2cjmP8JVyweI58; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:21 GMT + - __cf_bm=LR4jkeE6laSQqczODtOCiO4Z8B7KWl5mlv1DuNM1utg-1778510741.2297747-1.0.1.1-Vnkoo0I_UfEHe5xAyZfUj2Fj.VEk6XUhpLl4G7ISdK572oYisJopNqrkEuT6t_7sBEzLxLZsu_QK5B6BgSjSB8DNhj7FtlkXVoEEi5w6XbUtZo8ZldvMzgQ0C0Ke3JcT; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:15:42 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload via: - - envoy-router-6f679769b8-hc7lj + - envoy-router-5f94974895-lnt7q x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -1111,7 +1086,7 @@ interactions: x-ratelimit-reset-requests: - 6ms x-request-id: - - req_eb840cc3ca1b45bfa53ea711ebbef6b0 + - req_040a8968fb1e4b27a43cb07d896eb7b0 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription.yaml index cd5653c9..e4fc8ae6 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription.yaml @@ -1,9 +1,9 @@ interactions: - request: body: !!binary | - LS01ODhmNDlmNDZmMDM1NTFmODUyYjE0ZDc4YzU2YmRiMg0KQ29udGVudC1EaXNwb3NpdGlvbjog - Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0Kd2hpc3Blci0xDQotLTU4OGY0OWY0NmYwMzU1MWY4 - NTJiMTRkNzhjNTZiZGIyDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZp + LS0yYzZhNjJjMzNjZDlhMzUzZTI4NzdmN2UyODEyNGIwZA0KQ29udGVudC1EaXNwb3NpdGlvbjog + Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0Kd2hpc3Blci0xDQotLTJjNmE2MmMzM2NkOWEzNTNl + Mjg3N2Y3ZTI4MTI0YjBkDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZp bGUiOyBmaWxlbmFtZT0idGVzdF9hdWRpby53YXYiDQpDb250ZW50LVR5cGU6IGF1ZGlvL3gtd2F2 DQoNClJJRkYkfQAAV0FWRWZtdCAQAAAAAQABAIA+AAAAfQAAAgAQAGRhdGEAfQAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -567,7 +567,7 @@ interactions: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAANCi0tNTg4ZjQ5ZjQ2ZjAzNTUxZjg1MmIxNGQ3OGM1NmJkYjItLQ0K + AAAAAAAAAAAAAAAAAAANCi0tMmM2YTYyYzMzY2Q5YTM1M2UyODc3ZjdlMjgxMjRiMGQtLQ0K headers: Accept: - application/json @@ -578,11 +578,11 @@ interactions: Content-Length: - '32316' Content-Type: - - multipart/form-data; boundary=588f49f46f03551f852b14d78c56bdb2 + - multipart/form-data; boundary=2c6a62c33cd9a353e2877f7e28124b0d Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -592,11 +592,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -608,13 +608,13 @@ interactions: string: '{"text":"you","usage":{"type":"duration","seconds":1}}' headers: CF-RAY: - - 9ed469bd1b8d36a6-YYZ + - 9fa1f76dfa0faa98-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:02:13 GMT + - Mon, 11 May 2026 14:45:17 GMT Server: - cloudflare Transfer-Encoding: @@ -632,19 +632,19 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '247' + - '498' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=uS_3H6LkiZ16Xju2DJQkmJvShxdn8S2_Dl49IBmNMyo-1776355332.6567287-1.0.1.1-6mLt49yjV1PiVWOLajeUmPtpYqpv6gqGS2gFvGEQ6p5_Elic9V5gkrx5jp0FX4xkWFPduDVmNvdagtj3GOU3SPnC2dyEF_C6sp2ArFsvY9TSUU9jGMZqyr2DibfJuQix; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:13 GMT + - __cf_bm=N9nU4E5nsTCBvHvAXKMh02gPxTRBXHZwW33dWjpWilE-1778510717.116788-1.0.1.1-6eM127HJfi29ur4_dKTYZbYFy65usnWeI0SyHslSnR5oDY7cAGahWhXXPbvRXi3cg_DYLPy1ZBK8uWiyHh35VEQxNnROIGu1jdNSTPTVu_.NoLBsJ79m3dJVSb_PdNv5; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:15:17 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload via: - - envoy-router-5495f58cd-dkwkz + - envoy-router-b69b9f586-6vhzh x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -654,15 +654,15 @@ interactions: x-ratelimit-reset-requests: - 6ms x-request-id: - - req_4f1247dc0f1d46b08f08f13e38ef8163 + - req_737cbe37f0c44e08bdaa5033a4bc53a1 status: code: 200 message: OK - request: body: !!binary | - LS1jOGU2MmFiZGYxYjYyMjFjYjIyOGFjYjFlZDc4NTA3YQ0KQ29udGVudC1EaXNwb3NpdGlvbjog - Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0Kd2hpc3Blci0xDQotLWM4ZTYyYWJkZjFiNjIyMWNi - MjI4YWNiMWVkNzg1MDdhDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZp + LS1iNWExM2E5MjlkMmJiZmRkYmNhOTcyMmEzNjVmMTk0ZA0KQ29udGVudC1EaXNwb3NpdGlvbjog + Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0Kd2hpc3Blci0xDQotLWI1YTEzYTkyOWQyYmJmZGRi + Y2E5NzIyYTM2NWYxOTRkDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZp bGUiOyBmaWxlbmFtZT0idGVzdF9hdWRpby53YXYiDQpDb250ZW50LVR5cGU6IGF1ZGlvL3gtd2F2 DQoNClJJRkYkfQAAV0FWRWZtdCAQAAAAAQABAIA+AAAAfQAAAgAQAGRhdGEAfQAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -1226,7 +1226,7 @@ interactions: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAANCi0tYzhlNjJhYmRmMWI2MjIxY2IyMjhhY2IxZWQ3ODUwN2EtLQ0K + AAAAAAAAAAAAAAAAAAANCi0tYjVhMTNhOTI5ZDJiYmZkZGJjYTk3MjJhMzY1ZjE5NGQtLQ0K headers: Accept: - application/json @@ -1237,11 +1237,11 @@ interactions: Content-Length: - '32316' Content-Type: - - multipart/form-data; boundary=c8e62abdf1b6221cb228acb1ed78507a + - multipart/form-data; boundary=b5a13a929d2bbfddbca9722a365f194d Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -1251,11 +1251,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -1267,13 +1267,13 @@ interactions: string: '{"text":"you","usage":{"type":"duration","seconds":1}}' headers: CF-RAY: - - 9ed469bfd9a6aad9-YYZ + - 9fa1f772a96eac66-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:02:13 GMT + - Mon, 11 May 2026 14:45:18 GMT Server: - cloudflare Transfer-Encoding: @@ -1291,19 +1291,19 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '418' + - '251' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=_VA8tkmMUl1svXpcaYpqCOV6nXVpgyreJ8zV.GCrimw-1776355333.0951436-1.0.1.1-1_RKdnQAvyWHnNHbgR3420mhpfnl3XlSmtcSuLovXl8trl13ZCEJkfVtMCIP7U5A47G.4yFv5uZ4EuCZIoeKczPpoLsT1jhNpGxBnHPSIKNxcngooUoUrkMUebWIuOHS; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:13 GMT + - __cf_bm=cgbnkE9jG6.v1P0qvWnFLn_KcjVTAijOFgsZHHxqe80-1778510717.8656774-1.0.1.1-36hK.SdRAGSXucZh0oFDpIHpJPNcwWPIiiRgqyavTKjCc4E1tE07rSOimZlSz023cTvh3fZvAJMlLH68wK_xGgpM5Cc7eVbrkTEMQGX4fXY9UEPMc8oCk.AQusDK6DlT; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:15:18 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload via: - - envoy-router-bf58857bf-f4l4j + - envoy-router-55f9689f99-jsg2m x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -1313,7 +1313,7 @@ interactions: x-ratelimit-reset-requests: - 6ms x-request-id: - - req_e0ee7d3f1b8549359f066089c337d9f0 + - req_d11bb10bc9e246e5ba4da9355d7064d1 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_async.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_async.yaml index 5473587f..5677f064 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_async.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_async.yaml @@ -1,9 +1,9 @@ interactions: - request: body: !!binary | - LS0yNTk3MDgwMjU0OTkxNDZmMzlkNjZiMzY5MTA5NDJiZQ0KQ29udGVudC1EaXNwb3NpdGlvbjog - Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0Kd2hpc3Blci0xDQotLTI1OTcwODAyNTQ5OTE0NmYz - OWQ2NmIzNjkxMDk0MmJlDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZp + LS1iOTNhZTg5NjQyYmYwNTJkNmE2MmQ5MWFmOTQ2YzZmNQ0KQ29udGVudC1EaXNwb3NpdGlvbjog + Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0Kd2hpc3Blci0xDQotLWI5M2FlODk2NDJiZjA1MmQ2 + YTYyZDkxYWY5NDZjNmY1DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZp bGUiOyBmaWxlbmFtZT0idGVzdF9hdWRpby53YXYiDQpDb250ZW50LVR5cGU6IGF1ZGlvL3gtd2F2 DQoNClJJRkYkfQAAV0FWRWZtdCAQAAAAAQABAIA+AAAAfQAAAgAQAGRhdGEAfQAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -567,7 +567,7 @@ interactions: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAANCi0tMjU5NzA4MDI1NDk5MTQ2ZjM5ZDY2YjM2OTEwOTQyYmUtLQ0K + AAAAAAAAAAAAAAAAAAANCi0tYjkzYWU4OTY0MmJmMDUyZDZhNjJkOTFhZjk0NmM2ZjUtLQ0K headers: Accept: - application/json @@ -578,11 +578,11 @@ interactions: Content-Length: - '32316' Content-Type: - - multipart/form-data; boundary=259708025499146f39d66b36910942be + - multipart/form-data; boundary=b93ae89642bf052d6a62d91af946c6f5 Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -592,11 +592,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -608,13 +608,13 @@ interactions: string: '{"text":"you","usage":{"type":"duration","seconds":1}}' headers: CF-RAY: - - 9ed469f66ee4a234-YYZ + - 9fa1f80e6d1aa235-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:02:22 GMT + - Mon, 11 May 2026 14:45:43 GMT Server: - cloudflare Transfer-Encoding: @@ -632,19 +632,19 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '202' + - '507' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=7F4YzHSnCleTtBog5LmDp1iIJMbc6ihzW_zRAzXxNkw-1776355341.827976-1.0.1.1-RFEMmX0WNBFfyoCzAAB0Z5DbIPzeDZCGxTxrl0pjcaD9553KGkU.vwevuhkWmf.z_DfU02hFgbZyjuoxGlF5mXGO0n3hbUH3qhZBhXVceTnGQYSkYfHtGXn1XaXBliLR; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:22 GMT + - __cf_bm=wsRYYhL9aYl4Xh0lBvycilSJKbAhhWdx8nz4ZtWpkM8-1778510742.78745-1.0.1.1-ppCV7eXFjrb.1soVtuO3tRSQnuxTh.zqWxrR_v8h1CB0a5wO92WAXJ5c.D2u8dzYf3ydC2ehGPLEm6DshuVGwsNzTTwuf0sHEKWnYox.ejarjixwlVm.9rR_X0PoTFn_; + HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, + 11 May 2026 15:15:43 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload via: - - envoy-router-77f9796db4-8sqjc + - envoy-router-79b556ffb-qp4nk x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -654,15 +654,15 @@ interactions: x-ratelimit-reset-requests: - 6ms x-request-id: - - req_3a0f716906754db4b42924a936610307 + - req_8adf78667ca8483d8c6eeaf30d0c8992 status: code: 200 message: OK - request: body: !!binary | - LS1mNDRiMGJkMjc4NzQ4ZjEzOTNmMTliNTAzYjAxY2RmNQ0KQ29udGVudC1EaXNwb3NpdGlvbjog - Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0Kd2hpc3Blci0xDQotLWY0NGIwYmQyNzg3NDhmMTM5 - M2YxOWI1MDNiMDFjZGY1DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZp + LS1mYTQyOTZjNTE2NTYwMWYyNDFhNTBiYzBiMWI3N2NiZQ0KQ29udGVudC1EaXNwb3NpdGlvbjog + Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0Kd2hpc3Blci0xDQotLWZhNDI5NmM1MTY1NjAxZjI0 + MWE1MGJjMGIxYjc3Y2JlDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZp bGUiOyBmaWxlbmFtZT0idGVzdF9hdWRpby53YXYiDQpDb250ZW50LVR5cGU6IGF1ZGlvL3gtd2F2 DQoNClJJRkYkfQAAV0FWRWZtdCAQAAAAAQABAIA+AAAAfQAAAgAQAGRhdGEAfQAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -1226,7 +1226,7 @@ interactions: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAANCi0tZjQ0YjBiZDI3ODc0OGYxMzkzZjE5YjUwM2IwMWNkZjUtLQ0K + AAAAAAAAAAAAAAAAAAANCi0tZmE0Mjk2YzUxNjU2MDFmMjQxYTUwYmMwYjFiNzdjYmUtLQ0K headers: Accept: - application/json @@ -1237,11 +1237,11 @@ interactions: Content-Length: - '32316' Content-Type: - - multipart/form-data; boundary=f44b0bd278748f1393f19b503b01cdf5 + - multipart/form-data; boundary=fa4296c5165601f241a50bc0b1b77cbe Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -1251,11 +1251,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -1267,13 +1267,13 @@ interactions: string: '{"text":"you","usage":{"type":"duration","seconds":1}}' headers: CF-RAY: - - 9ed469f90ae24d63-YYZ + - 9fa1f8130f05ab7c-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:02:22 GMT + - Mon, 11 May 2026 14:45:44 GMT Server: - cloudflare Transfer-Encoding: @@ -1291,19 +1291,19 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '356' + - '983' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=PaouDJfhXHdfI25S9h9lE2_ZYAkUSybM8lmT.WLY7rY-1776355342.2452018-1.0.1.1-WDrxS5Zxp4NleMpPk3oIj7MFHKOp0DBk6KanpA2j1XNqILXRR1rwaIjfoTTA07E5XDgqaxdMT4TE1VefnYK5grVZ8PDzHG3ouEAPVwYxun8JR3zoAqMHVPkAZ7TlVSrz; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:22 GMT + - __cf_bm=zU.swU16Y4ckVrRxyr97b0ukRP8o_VscQQ9b5WvqrOg-1778510743.5241437-1.0.1.1-Bhs8Xgk2nnZ_NgH5BvLRDACohb4v0mOMYqTNG4RbcUu4u7bBVBvh2t3Wr3A.0IRddThdQHal1pDrk2K71jEb.bGVA9Y0UZ_SS5m.Q9oJvINCQo0LYZ_Zty6HAhAuE8mN; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:15:44 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload via: - - envoy-router-6f4fdc4df-5pcwk + - envoy-router-7b4776f958-w99n9 x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -1313,7 +1313,7 @@ interactions: x-ratelimit-reset-requests: - 6ms x-request-id: - - req_6a2b4f2fe6144e39b9f831851076ba51 + - req_dd45787f9c1d4c21abd376267a21048a status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming.yaml index 8e66d782..3e20a160 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming.yaml @@ -1,10 +1,10 @@ interactions: - request: body: !!binary | - LS1iZmQ4ZDE3YmU0NDU0YjQxZDk5YjMxYjQ0ODBmNmFhNA0KQ29udGVudC1EaXNwb3NpdGlvbjog - Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0KZ3B0LTRvLXRyYW5zY3JpYmUNCi0tYmZkOGQxN2Jl - NDQ1NGI0MWQ5OWIzMWI0NDgwZjZhYTQNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg - bmFtZT0ic3RyZWFtIg0KDQp0cnVlDQotLWJmZDhkMTdiZTQ0NTRiNDFkOTliMzFiNDQ4MGY2YWE0 + LS02NWYwZDA0ZGYxYTVmMzNhMDQxZWNmZTcxNjM3ZTQxMA0KQ29udGVudC1EaXNwb3NpdGlvbjog + Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0KZ3B0LTRvLXRyYW5zY3JpYmUNCi0tNjVmMGQwNGRm + MWE1ZjMzYTA0MWVjZmU3MTYzN2U0MTANCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg + bmFtZT0ic3RyZWFtIg0KDQp0cnVlDQotLTY1ZjBkMDRkZjFhNWYzM2EwNDFlY2ZlNzE2MzdlNDEw DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZpbGUiOyBmaWxlbmFtZT0i dGVzdF9hdWRpby53YXYiDQpDb250ZW50LVR5cGU6IGF1ZGlvL3gtd2F2DQoNClJJRkYkfQAAV0FW RWZtdCAQAAAAAQABAIA+AAAAfQAAAgAQAGRhdGEAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -569,7 +569,7 @@ interactions: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN - Ci0tYmZkOGQxN2JlNDQ1NGI0MWQ5OWIzMWI0NDgwZjZhYTQtLQ0K + Ci0tNjVmMGQwNGRmMWE1ZjMzYTA0MWVjZmU3MTYzN2U0MTAtLQ0K headers: Accept: - application/json @@ -580,11 +580,11 @@ interactions: Content-Length: - '32415' Content-Type: - - multipart/form-data; boundary=bfd8d17be4454b41d99b31b4480f6aa4 + - multipart/form-data; boundary=65f0d04df1a5f33a041ecfe71637e410 Host: - api.openai.com User-Agent: - - OpenAI/Python 2.33.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -594,7 +594,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -607,14 +607,14 @@ interactions: uri: https://api.openai.com/v1/audio/transcriptions response: body: - string: "data: {\"type\":\"transcript.text.delta\",\"delta\":\"\u0422\u044B\"}\r\n\r\ndata: - {\"type\":\"transcript.text.delta\",\"delta\":\" \u043F\u0440\u0430\u0432\"}\r\n\r\ndata: - {\"type\":\"transcript.text.delta\",\"delta\":\".\"}\r\n\r\ndata: {\"type\":\"transcript.text.done\",\"text\":\"\u0422\u044B - \u043F\u0440\u0430\u0432.\",\"usage\":{\"type\":\"tokens\",\"total_tokens\":15,\"input_tokens\":10,\"input_token_details\":{\"text_tokens\":0,\"audio_tokens\":10},\"output_tokens\":5}}\r\n\r\ndata: + string: "data: {\"type\":\"transcript.text.delta\",\"delta\":\"K\"}\r\n\r\ndata: + {\"type\":\"transcript.text.delta\",\"delta\":\"\xF6n\"}\r\n\r\ndata: {\"type\":\"transcript.text.delta\",\"delta\":\"nen\"}\r\n\r\ndata: + {\"type\":\"transcript.text.delta\",\"delta\":\" Sie\"}\r\n\r\ndata: {\"type\":\"transcript.text.delta\",\"delta\":\"?\"}\r\n\r\ndata: + {\"type\":\"transcript.text.done\",\"text\":\"K\xF6nnen Sie?\",\"usage\":{\"type\":\"tokens\",\"total_tokens\":17,\"input_tokens\":10,\"input_token_details\":{\"text_tokens\":0,\"audio_tokens\":10},\"output_tokens\":7}}\r\n\r\ndata: [DONE]\r\n\r\n" headers: CF-RAY: - - 9f47f86a7e56175c-YYZ + - 9fa1f775c96aab28-YYZ Cache-Control: - no-store Connection: @@ -622,7 +622,7 @@ interactions: Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 30 Apr 2026 16:37:20 GMT + - Mon, 11 May 2026 14:45:19 GMT Server: - cloudflare Strict-Transport-Security: @@ -640,15 +640,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '263' + - '1263' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=e_nJeWEgMsOdr5sQb2hqJ0LKqdLTqbHxUT6hY7iA0FA-1777567039.1191041-1.0.1.1-TTPSh74WpUu7HUP2A4RbAR1kyKGTmqwPdAZx3wVL0YFGwaZh6TrDIbDdFUmxFIWL.8Gsc_vgXJZ6tRZsWHppFJBr4tak22O5mGG4IUIALQuMG4YDgsfPaVqLGxxMDVPJ; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 30 Apr 2026 - 17:07:20 GMT + - __cf_bm=cG9jDS5LCzdYlPEnNq_2X5vGgb5TDWrxGtkRaBoLpG4-1778510718.3656712-1.0.1.1-.08TS6hkjAJvwA1wcj3vR3gd8nubj.85Kot5nfnelC6fmwfkvIK9Oxf48YpNhXZylfWNBV9IrkN8lWruGCFeLeQkBfkfcoQAx9ZEBZW6T4Rnxmq4Rt3ICPWJ6fkfyRl3; + HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, + 11 May 2026 15:15:19 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -658,7 +658,7 @@ interactions: x-ratelimit-reset-requests: - 6ms x-request-id: - - req_e8b6e6a7b99549c8be3f3624a3424bb1 + - req_8d5078f34d3d43ac8e0f5fee4420b253 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming_async.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming_async.yaml index a90e8f82..3426a28c 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming_async.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming_async.yaml @@ -1,10 +1,10 @@ interactions: - request: body: !!binary | - LS1lZGM4MWVlOTZmZjAyODliODljYTc4ZjkzZmQxMzgwMg0KQ29udGVudC1EaXNwb3NpdGlvbjog - Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0KZ3B0LTRvLXRyYW5zY3JpYmUNCi0tZWRjODFlZTk2 - ZmYwMjg5Yjg5Y2E3OGY5M2ZkMTM4MDINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg - bmFtZT0ic3RyZWFtIg0KDQp0cnVlDQotLWVkYzgxZWU5NmZmMDI4OWI4OWNhNzhmOTNmZDEzODAy + LS0xYjJiMTNjZGZhNWVkMGZkOGE0MmY0ZGFiODQ4ZWE4Ng0KQ29udGVudC1EaXNwb3NpdGlvbjog + Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0KZ3B0LTRvLXRyYW5zY3JpYmUNCi0tMWIyYjEzY2Rm + YTVlZDBmZDhhNDJmNGRhYjg0OGVhODYNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg + bmFtZT0ic3RyZWFtIg0KDQp0cnVlDQotLTFiMmIxM2NkZmE1ZWQwZmQ4YTQyZjRkYWI4NDhlYTg2 DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZpbGUiOyBmaWxlbmFtZT0i dGVzdF9hdWRpby53YXYiDQpDb250ZW50LVR5cGU6IGF1ZGlvL3gtd2F2DQoNClJJRkYkfQAAV0FW RWZtdCAQAAAAAQABAIA+AAAAfQAAAgAQAGRhdGEAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -569,7 +569,7 @@ interactions: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN - Ci0tZWRjODFlZTk2ZmYwMjg5Yjg5Y2E3OGY5M2ZkMTM4MDItLQ0K + Ci0tMWIyYjEzY2RmYTVlZDBmZDhhNDJmNGRhYjg0OGVhODYtLQ0K headers: Accept: - application/json @@ -580,11 +580,11 @@ interactions: Content-Length: - '32415' Content-Type: - - multipart/form-data; boundary=edc81ee96ff0289b89ca78f93fd13802 + - multipart/form-data; boundary=1b2b13cdfa5ed0fd8a42f4dab848ea86 Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.33.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -594,7 +594,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -607,13 +607,13 @@ interactions: uri: https://api.openai.com/v1/audio/transcriptions response: body: - string: "data: {\"type\":\"transcript.text.delta\",\"delta\":\"Un\"}\r\n\r\ndata: - {\"type\":\"transcript.text.delta\",\"delta\":\"ib\"}\r\n\r\ndata: {\"type\":\"transcript.text.delta\",\"delta\":\"anco\"}\r\n\r\ndata: - {\"type\":\"transcript.text.done\",\"text\":\"Unibanco\",\"usage\":{\"type\":\"tokens\",\"total_tokens\":15,\"input_tokens\":10,\"input_token_details\":{\"text_tokens\":0,\"audio_tokens\":10},\"output_tokens\":5}}\r\n\r\ndata: + string: "data: {\"type\":\"transcript.text.delta\",\"delta\":\"The\"}\r\n\r\ndata: + {\"type\":\"transcript.text.delta\",\"delta\":\"odore\"}\r\n\r\ndata: {\"type\":\"transcript.text.delta\",\"delta\":\".\"}\r\n\r\ndata: + {\"type\":\"transcript.text.done\",\"text\":\"Theodore.\",\"usage\":{\"type\":\"tokens\",\"total_tokens\":15,\"input_tokens\":10,\"input_token_details\":{\"text_tokens\":0,\"audio_tokens\":10},\"output_tokens\":5}}\r\n\r\ndata: [DONE]\r\n\r\n" headers: CF-RAY: - - 9f47f871c8ebaca0-YYZ + - 9fa1f81b4e43f288-YYZ Cache-Control: - no-store Connection: @@ -621,7 +621,7 @@ interactions: Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 30 Apr 2026 16:37:20 GMT + - Mon, 11 May 2026 14:45:45 GMT Server: - cloudflare Strict-Transport-Security: @@ -639,15 +639,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '294' + - '252' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=VXq7rJ6iRAFkkkkMVStEvOK.XyMTnyeGz4xlrNmVLHs-1777567040.2878714-1.0.1.1-CBncwV8akOFO5BIywuhLRlMmGDsEEDaamBYH.xx596JLvlzkbHct4jNX3nzywthnNGIOckMX4LYSDCrSRr_4Xvtt2dyLlK5vSyHvXWtLlP2zu7jj5b1kMxV8P53FKqgx; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 30 Apr 2026 - 17:07:20 GMT + - __cf_bm=ldxmbMAWn_UZ3jClhYjkKMr1kRjZ0Hwe4WbCCdRVA4o-1778510744.840853-1.0.1.1-U_oPA.abr12D3s4.gzaZ_3FnOuDNumHx4Q4GBL.zBRB_CFNaeBp8kt5AbOPZ.xgeYjZpeBxAgF9amtCc_Msq0V0_7E6.m4QTLQ_ZDN.2JiYhjTt88M3ievn7BkgWKWqq; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:15:45 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -657,7 +657,7 @@ interactions: x-ratelimit-reset-requests: - 6ms x-request-id: - - req_a8e4b093ec4a479988821de7be2053ba + - req_e7b5687f29d941e1891332e417d255bf status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming_early_close.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming_early_close.yaml index 82a56f07..fd60b7d0 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming_early_close.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming_early_close.yaml @@ -1,10 +1,10 @@ interactions: - request: body: !!binary | - LS0xNDRiODdkNmJhYTkwY2Q3ZGE5NWYwZDFjNDZhMzdiNg0KQ29udGVudC1EaXNwb3NpdGlvbjog - Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0KZ3B0LTRvLXRyYW5zY3JpYmUNCi0tMTQ0Yjg3ZDZi - YWE5MGNkN2RhOTVmMGQxYzQ2YTM3YjYNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg - bmFtZT0ic3RyZWFtIg0KDQp0cnVlDQotLTE0NGI4N2Q2YmFhOTBjZDdkYTk1ZjBkMWM0NmEzN2I2 + LS1hOWE4M2JjODZiM2Y2OGJhMjk3YjQzM2EwNDFlMzVlNg0KQ29udGVudC1EaXNwb3NpdGlvbjog + Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0KZ3B0LTRvLXRyYW5zY3JpYmUNCi0tYTlhODNiYzg2 + YjNmNjhiYTI5N2I0MzNhMDQxZTM1ZTYNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg + bmFtZT0ic3RyZWFtIg0KDQp0cnVlDQotLWE5YTgzYmM4NmIzZjY4YmEyOTdiNDMzYTA0MWUzNWU2 DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZpbGUiOyBmaWxlbmFtZT0i dGVzdF9hdWRpby53YXYiDQpDb250ZW50LVR5cGU6IGF1ZGlvL3gtd2F2DQoNClJJRkYkfQAAV0FW RWZtdCAQAAAAAQABAIA+AAAAfQAAAgAQAGRhdGEAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -569,7 +569,7 @@ interactions: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN - Ci0tMTQ0Yjg3ZDZiYWE5MGNkN2RhOTVmMGQxYzQ2YTM3YjYtLQ0K + Ci0tYTlhODNiYzg2YjNmNjhiYTI5N2I0MzNhMDQxZTM1ZTYtLQ0K headers: Accept: - application/json @@ -580,11 +580,11 @@ interactions: Content-Length: - '32415' Content-Type: - - multipart/form-data; boundary=144b87d6baa90cd7da95f0d1c46a37b6 + - multipart/form-data; boundary=a9a83bc86b3f68ba297b433a041e35e6 Host: - api.openai.com User-Agent: - - OpenAI/Python 2.33.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -594,7 +594,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -607,13 +607,14 @@ interactions: uri: https://api.openai.com/v1/audio/transcriptions response: body: - string: "data: {\"type\":\"transcript.text.delta\",\"delta\":\"O\"}\r\n\r\ndata: - {\"type\":\"transcript.text.delta\",\"delta\":\"pros\"}\r\n\r\ndata: {\"type\":\"transcript.text.delta\",\"delta\":\"zenie\"}\r\n\r\ndata: - {\"type\":\"transcript.text.done\",\"text\":\"Oproszenie\",\"usage\":{\"type\":\"tokens\",\"total_tokens\":15,\"input_tokens\":10,\"input_token_details\":{\"text_tokens\":0,\"audio_tokens\":10},\"output_tokens\":5}}\r\n\r\ndata: + string: "data: {\"type\":\"transcript.text.delta\",\"delta\":\"Hi\"}\r\n\r\ndata: + {\"type\":\"transcript.text.delta\",\"delta\":\"\u1EC7n\"}\r\n\r\ndata: {\"type\":\"transcript.text.delta\",\"delta\":\" + nay\"}\r\n\r\ndata: {\"type\":\"transcript.text.delta\",\"delta\":\",\"}\r\n\r\ndata: + {\"type\":\"transcript.text.done\",\"text\":\"Hi\u1EC7n nay,\",\"usage\":{\"type\":\"tokens\",\"total_tokens\":16,\"input_tokens\":10,\"input_token_details\":{\"text_tokens\":0,\"audio_tokens\":10},\"output_tokens\":6}}\r\n\r\ndata: [DONE]\r\n\r\n" headers: CF-RAY: - - 9f4808544964e702-YYZ + - 9fa1f77f7e4e542b-YYZ Cache-Control: - no-store Connection: @@ -621,7 +622,7 @@ interactions: Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 30 Apr 2026 16:48:11 GMT + - Mon, 11 May 2026 14:45:20 GMT Server: - cloudflare Strict-Transport-Security: @@ -639,15 +640,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '504' + - '593' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=ckcZvvxCnNvk4k30vJCcw4OarGavr6qPNmCJffK.his-1777567690.928941-1.0.1.1-2j0Q2QWM1AKKkCgZPP93A5flcKjVSkrByvzJSNXjpjcTDb.z09DBzy2XHCR4FTItkWollnOY_rQZwumVgulBQtisq44vGmUHxsmypu_xH.C9SGZ6XqsFYsXOj8yg81uL; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 30 Apr 2026 - 17:18:11 GMT + - __cf_bm=W3iDkqEITHOagE_Hsw2hpiYf3AqwJv5RrQmTpRBSXi0-1778510719.919513-1.0.1.1-sk1tTgGV5FHFhTOQd1peaXJ7jbnAGVi8.TdsNTPEbQWgXc6mU8B1M_Ce_YDSc49IDHMujWvZ2l._l_TewXdZhO9_VCHvuHT33AhEnIgdAjme0FRmZ2jS3iYiUJ5Ko2sb; + HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, + 11 May 2026 15:15:20 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -657,7 +658,7 @@ interactions: x-ratelimit-reset-requests: - 6ms x-request-id: - - req_3705a4f692fa4ac3818b11b16aa1add0 + - req_2fce02b3933d4408afb75217b239e00d status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming_early_close_async.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming_early_close_async.yaml index 1f199de0..ddc40ce7 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming_early_close_async.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming_early_close_async.yaml @@ -1,10 +1,10 @@ interactions: - request: body: !!binary | - LS0zOTgwZjdlMzZjYzdiMjg4ODI5MWY1NmI3NWQ0ZjI1OA0KQ29udGVudC1EaXNwb3NpdGlvbjog - Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0KZ3B0LTRvLXRyYW5zY3JpYmUNCi0tMzk4MGY3ZTM2 - Y2M3YjI4ODgyOTFmNTZiNzVkNGYyNTgNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg - bmFtZT0ic3RyZWFtIg0KDQp0cnVlDQotLTM5ODBmN2UzNmNjN2IyODg4MjkxZjU2Yjc1ZDRmMjU4 + LS1kN2NhYzA1NzZmYTk1ZTAyOWMwOTc0YjU4YmI3YjlkMQ0KQ29udGVudC1EaXNwb3NpdGlvbjog + Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0KZ3B0LTRvLXRyYW5zY3JpYmUNCi0tZDdjYWMwNTc2 + ZmE5NWUwMjljMDk3NGI1OGJiN2I5ZDENCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg + bmFtZT0ic3RyZWFtIg0KDQp0cnVlDQotLWQ3Y2FjMDU3NmZhOTVlMDI5YzA5NzRiNThiYjdiOWQx DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZpbGUiOyBmaWxlbmFtZT0i dGVzdF9hdWRpby53YXYiDQpDb250ZW50LVR5cGU6IGF1ZGlvL3gtd2F2DQoNClJJRkYkfQAAV0FW RWZtdCAQAAAAAQABAIA+AAAAfQAAAgAQAGRhdGEAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -569,7 +569,7 @@ interactions: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN - Ci0tMzk4MGY3ZTM2Y2M3YjI4ODgyOTFmNTZiNzVkNGYyNTgtLQ0K + Ci0tZDdjYWMwNTc2ZmE5NWUwMjljMDk3NGI1OGJiN2I5ZDEtLQ0K headers: Accept: - application/json @@ -580,11 +580,11 @@ interactions: Content-Length: - '32415' Content-Type: - - multipart/form-data; boundary=3980f7e36cc7b2888291f56b75d4f258 + - multipart/form-data; boundary=d7cac0576fa95e029c0974b58bb7b9d1 Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.33.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -594,7 +594,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -607,13 +607,13 @@ interactions: uri: https://api.openai.com/v1/audio/transcriptions response: body: - string: "data: {\"type\":\"transcript.text.delta\",\"delta\":\"\u305D\u306E\"}\r\n\r\ndata: - {\"type\":\"transcript.text.delta\",\"delta\":\"\u307E\"}\r\n\r\ndata: {\"type\":\"transcript.text.delta\",\"delta\":\"\u307E\"}\r\n\r\ndata: - {\"type\":\"transcript.text.done\",\"text\":\"\u305D\u306E\u307E\u307E\",\"usage\":{\"type\":\"tokens\",\"total_tokens\":15,\"input_tokens\":10,\"input_token_details\":{\"text_tokens\":0,\"audio_tokens\":10},\"output_tokens\":5}}\r\n\r\ndata: + string: "data: {\"type\":\"transcript.text.delta\",\"delta\":\"An\"}\r\n\r\ndata: + {\"type\":\"transcript.text.delta\",\"delta\":\"schein\"}\r\n\r\ndata: {\"type\":\"transcript.text.delta\",\"delta\":\"end\"}\r\n\r\ndata: + {\"type\":\"transcript.text.delta\",\"delta\":\".\"}\r\n\r\ndata: {\"type\":\"transcript.text.done\",\"text\":\"Anscheinend.\",\"usage\":{\"type\":\"tokens\",\"total_tokens\":16,\"input_tokens\":10,\"input_token_details\":{\"text_tokens\":0,\"audio_tokens\":10},\"output_tokens\":6}}\r\n\r\ndata: [DONE]\r\n\r\n" headers: CF-RAY: - - 9f480859fe7fcbfd-YYZ + - 9fa1f81ece9290e5-YYZ Cache-Control: - no-store Connection: @@ -621,7 +621,7 @@ interactions: Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 30 Apr 2026 16:48:12 GMT + - Mon, 11 May 2026 14:45:45 GMT Server: - cloudflare Strict-Transport-Security: @@ -639,15 +639,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '375' + - '474' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=C.0K8l6ZCyNmkMNXat1PU8SkFtY34U718H6wDL..Y2M-1777567691.83429-1.0.1.1-tBiASP8V0HMDDaf4UwlCuWCaItL7zCZNhJ9bvko07Rtv9RbCYj_dwXwOvWoXBZtpxhPo_WJuWYAZMAknDDrePD63yNBblH_Gzf.ZxcTtrO8plu23UPM11OKFfGV1Ok65; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 30 Apr 2026 - 17:18:12 GMT + - __cf_bm=V9RuZmVe4424Fq2HlugyUya2bBY2myTQv.nTF4TFbZI-1778510745.4045177-1.0.1.1-UcpBSdWXTUCCEfd3._lT.dY31KLFJsF75ggImpheSVIEtI_FL3W6e1z85K8r53hBiaRG.6Q308bf_9QtdAit0EAnV8YhpRfl9QwHFFbyH54hpJzNgDcgj6ZJCX37CfmI; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:15:45 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -657,7 +657,7 @@ interactions: x-ratelimit-reset-requests: - 6ms x-request-id: - - req_b3de34bb24cb4790a01c6404f10fea5b + - req_6814423a30f74f849a057247351af5cd status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming_no_events_omits_output.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming_no_events_omits_output.yaml index 69cf8df0..ae91a3cf 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming_no_events_omits_output.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming_no_events_omits_output.yaml @@ -1,10 +1,10 @@ interactions: - request: body: !!binary | - LS00MDc1NjEyNGRiNWJlMTE4NTllOTVmNTQ1MmU0ZGEwYg0KQ29udGVudC1EaXNwb3NpdGlvbjog - Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0KZ3B0LTRvLXRyYW5zY3JpYmUNCi0tNDA3NTYxMjRk - YjViZTExODU5ZTk1ZjU0NTJlNGRhMGINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg - bmFtZT0ic3RyZWFtIg0KDQp0cnVlDQotLTQwNzU2MTI0ZGI1YmUxMTg1OWU5NWY1NDUyZTRkYTBi + LS03ZmRlZGQ3YTllNjc2MWI3M2YyNGM3NjczNzJiN2VhZA0KQ29udGVudC1EaXNwb3NpdGlvbjog + Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0KZ3B0LTRvLXRyYW5zY3JpYmUNCi0tN2ZkZWRkN2E5 + ZTY3NjFiNzNmMjRjNzY3MzcyYjdlYWQNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg + bmFtZT0ic3RyZWFtIg0KDQp0cnVlDQotLTdmZGVkZDdhOWU2NzYxYjczZjI0Yzc2NzM3MmI3ZWFk DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZpbGUiOyBmaWxlbmFtZT0i dGVzdF9hdWRpby53YXYiDQpDb250ZW50LVR5cGU6IGF1ZGlvL3gtd2F2DQoNClJJRkYkfQAAV0FW RWZtdCAQAAAAAQABAIA+AAAAfQAAAgAQAGRhdGEAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -569,7 +569,7 @@ interactions: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN - Ci0tNDA3NTYxMjRkYjViZTExODU5ZTk1ZjU0NTJlNGRhMGItLQ0K + Ci0tN2ZkZWRkN2E5ZTY3NjFiNzNmMjRjNzY3MzcyYjdlYWQtLQ0K headers: Accept: - application/json @@ -580,11 +580,11 @@ interactions: Content-Length: - '32415' Content-Type: - - multipart/form-data; boundary=40756124db5be11859e95f5452e4da0b + - multipart/form-data; boundary=7fdedd7a9e6761b73f24c767372b7ead Host: - api.openai.com User-Agent: - - OpenAI/Python 2.33.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -594,7 +594,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -607,14 +607,14 @@ interactions: uri: https://api.openai.com/v1/audio/transcriptions response: body: - string: "data: {\"type\":\"transcript.text.delta\",\"delta\":\"M\"}\r\n\r\ndata: - {\"type\":\"transcript.text.delta\",\"delta\":\"ia\u0142a\"}\r\n\r\ndata: - {\"type\":\"transcript.text.delta\",\"delta\":\"\u015B\"}\r\n\r\ndata: {\"type\":\"transcript.text.delta\",\"delta\":\".\"}\r\n\r\ndata: - {\"type\":\"transcript.text.done\",\"text\":\"Mia\u0142a\u015B.\",\"usage\":{\"type\":\"tokens\",\"total_tokens\":16,\"input_tokens\":10,\"input_token_details\":{\"text_tokens\":0,\"audio_tokens\":10},\"output_tokens\":6}}\r\n\r\ndata: + string: "data: {\"type\":\"transcript.text.delta\",\"delta\":\"\u041C\"}\r\n\r\ndata: + {\"type\":\"transcript.text.delta\",\"delta\":\"\u0430\u043B\u044C\"}\r\n\r\ndata: + {\"type\":\"transcript.text.delta\",\"delta\":\"\u0431\u0435\"}\r\n\r\ndata: + {\"type\":\"transcript.text.delta\",\"delta\":\".\"}\r\n\r\ndata: {\"type\":\"transcript.text.done\",\"text\":\"\u041C\u0430\u043B\u044C\u0431\u0435.\",\"usage\":{\"type\":\"tokens\",\"total_tokens\":16,\"input_tokens\":10,\"input_token_details\":{\"text_tokens\":0,\"audio_tokens\":10},\"output_tokens\":6}}\r\n\r\ndata: [DONE]\r\n\r\n" headers: CF-RAY: - - 9f482f13dd7b051b-YYZ + - 9fa1f7864c72e21a-YYZ Cache-Control: - no-store Connection: @@ -622,7 +622,7 @@ interactions: Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 30 Apr 2026 17:14:38 GMT + - Mon, 11 May 2026 14:45:21 GMT Server: - cloudflare Strict-Transport-Security: @@ -640,15 +640,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '439' + - '262' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=8_N8hf5Ynk3hGVPvT17X8MwFH1v_5RRWKqYRG4LbGpI-1777569278.0605547-1.0.1.1-DkcNAfhDwqiwik46l3SWFOfQAKHStTfHZpNLsx3J.gIHjPc1_X1I4H_TwTgikvdudzsORfXn24v9_e0wK_Exj58F5RDASOvrK0yfJhzQEEJliwJMm5e36QhSp28Y1YzJ; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 30 Apr 2026 - 17:44:38 GMT + - __cf_bm=4zXMx82ny71rXG2x0XYj2j.lSTdwMx8Ex1L36EdN0fo-1778510721.00878-1.0.1.1-UDBwUOtbax7KYYF5KGT4kmqMShTyhoagLiaUKa1FHoVm.qHCx9VKdMubqHm1AjyT3PBl1PoKxQo8olvuiNxsQCUX_2OJrToq0wiiD8qU6ezUEWMy1NaDF0BxZO9Qbzh.; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:15:21 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -658,7 +658,7 @@ interactions: x-ratelimit-reset-requests: - 6ms x-request-id: - - req_55d3e80f43f243f8a723392b12b0bb9a + - req_fac4bde0a86e403e924a15435793157b status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming_no_events_omits_output_async.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming_no_events_omits_output_async.yaml index e9c8e618..20499f84 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming_no_events_omits_output_async.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_streaming_no_events_omits_output_async.yaml @@ -1,10 +1,10 @@ interactions: - request: body: !!binary | - LS1jNmY1NmRlMzhjMmJmMzAxMjQ2NzA2MTgxMTA1NDFhZg0KQ29udGVudC1EaXNwb3NpdGlvbjog - Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0KZ3B0LTRvLXRyYW5zY3JpYmUNCi0tYzZmNTZkZTM4 - YzJiZjMwMTI0NjcwNjE4MTEwNTQxYWYNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg - bmFtZT0ic3RyZWFtIg0KDQp0cnVlDQotLWM2ZjU2ZGUzOGMyYmYzMDEyNDY3MDYxODExMDU0MWFm + LS02NGQ0YmMzOGVjYTdjMDI3ZjliN2QyNTY0ODIxMDM5MQ0KQ29udGVudC1EaXNwb3NpdGlvbjog + Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0KZ3B0LTRvLXRyYW5zY3JpYmUNCi0tNjRkNGJjMzhl + Y2E3YzAyN2Y5YjdkMjU2NDgyMTAzOTENCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg + bmFtZT0ic3RyZWFtIg0KDQp0cnVlDQotLTY0ZDRiYzM4ZWNhN2MwMjdmOWI3ZDI1NjQ4MjEwMzkx DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZpbGUiOyBmaWxlbmFtZT0i dGVzdF9hdWRpby53YXYiDQpDb250ZW50LVR5cGU6IGF1ZGlvL3gtd2F2DQoNClJJRkYkfQAAV0FW RWZtdCAQAAAAAQABAIA+AAAAfQAAAgAQAGRhdGEAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -569,7 +569,7 @@ interactions: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN - Ci0tYzZmNTZkZTM4YzJiZjMwMTI0NjcwNjE4MTEwNTQxYWYtLQ0K + Ci0tNjRkNGJjMzhlY2E3YzAyN2Y5YjdkMjU2NDgyMTAzOTEtLQ0K headers: Accept: - application/json @@ -580,11 +580,11 @@ interactions: Content-Length: - '32415' Content-Type: - - multipart/form-data; boundary=c6f56de38c2bf30124670618110541af + - multipart/form-data; boundary=64d4bc38eca7c027f9b7d25648210391 Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.33.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -594,7 +594,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -607,13 +607,13 @@ interactions: uri: https://api.openai.com/v1/audio/transcriptions response: body: - string: "data: {\"type\":\"transcript.text.delta\",\"delta\":\"K\"}\r\n\r\ndata: - {\"type\":\"transcript.text.delta\",\"delta\":\"yll\xE4\"}\r\n\r\ndata: {\"type\":\"transcript.text.delta\",\"delta\":\".\"}\r\n\r\ndata: - {\"type\":\"transcript.text.done\",\"text\":\"Kyll\xE4.\",\"usage\":{\"type\":\"tokens\",\"total_tokens\":15,\"input_tokens\":10,\"input_token_details\":{\"text_tokens\":0,\"audio_tokens\":10},\"output_tokens\":5}}\r\n\r\ndata: + string: "data: {\"type\":\"transcript.text.delta\",\"delta\":\"It's\"}\r\n\r\ndata: + {\"type\":\"transcript.text.delta\",\"delta\":\" raining\"}\r\n\r\ndata: {\"type\":\"transcript.text.delta\",\"delta\":\".\"}\r\n\r\ndata: + {\"type\":\"transcript.text.done\",\"text\":\"It's raining.\",\"usage\":{\"type\":\"tokens\",\"total_tokens\":15,\"input_tokens\":10,\"input_token_details\":{\"text_tokens\":0,\"audio_tokens\":10},\"output_tokens\":5}}\r\n\r\ndata: [DONE]\r\n\r\n" headers: CF-RAY: - - 9f482f1a3eb5ab12-YYZ + - 9fa1f8238ec434dc-YYZ Cache-Control: - no-store Connection: @@ -621,7 +621,7 @@ interactions: Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 30 Apr 2026 17:14:40 GMT + - Mon, 11 May 2026 14:45:53 GMT Server: - cloudflare Strict-Transport-Security: @@ -639,15 +639,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '446' + - '615' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=JYXEwfYcKdGWqnAkbMWLUdYRPiQBpDCxrrrUcjAHD.4-1777569279.0776846-1.0.1.1-_1CsktwNP3kod.4v8fNro3KT1nXK1GXBpaF_uMWVSNkD7LD_bydYorK3JbI41Co1FSbINAN0LMu_q7POnQdCIaODOr5b3bqolKRded0EiLHnkJTs2U9ZFfpSBxH24ozr; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 30 Apr 2026 - 17:44:40 GMT + - __cf_bm=YaQpRP2MqqOfouYjXePy3cKfhYP54N3cccPER7WoZI8-1778510746.1675563-1.0.1.1-DTlKT3Y46J7EzFzC5ZzcDNV65Tj5aeV17G49w8Hb7lEtNhJR0JcgCd7KlZTjk67LwVOxVvAkQ2yOVzGf.79JhHRQkcvj.DwshwRJ9SbECrLikED7PRNcN6N7J_1p9vFm; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:15:53 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -657,7 +657,7 @@ interactions: x-ratelimit-reset-requests: - 6ms x-request-id: - - req_1af070e918694f85911f3c34d3c2804b + - req_82ca321e8a994210a93d05bb1eeb065e status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_text_format.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_text_format.yaml index 3f60f48b..ef51b10f 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_text_format.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_transcription_text_format.yaml @@ -1,11 +1,11 @@ interactions: - request: body: !!binary | - LS1jOTI4NjQ2ZmJhNDVjZTBiYzAyYmExNDI2ZjUyNmIxMw0KQ29udGVudC1EaXNwb3NpdGlvbjog - Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0Kd2hpc3Blci0xDQotLWM5Mjg2NDZmYmE0NWNlMGJj - MDJiYTE0MjZmNTI2YjEzDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InJl - c3BvbnNlX2Zvcm1hdCINCg0KdGV4dA0KLS1jOTI4NjQ2ZmJhNDVjZTBiYzAyYmExNDI2ZjUyNmIx - Mw0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJmaWxlIjsgZmlsZW5hbWU9 + LS1iNmExODhmMmU3OGI4YzRhYTBiNjAwMDBkZDM0MGUyNw0KQ29udGVudC1EaXNwb3NpdGlvbjog + Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0Kd2hpc3Blci0xDQotLWI2YTE4OGYyZTc4YjhjNGFh + MGI2MDAwMGRkMzQwZTI3DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InJl + c3BvbnNlX2Zvcm1hdCINCg0KdGV4dA0KLS1iNmExODhmMmU3OGI4YzRhYTBiNjAwMDBkZDM0MGUy + Nw0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJmaWxlIjsgZmlsZW5hbWU9 InRlc3RfYXVkaW8ud2F2Ig0KQ29udGVudC1UeXBlOiBhdWRpby94LXdhdg0KDQpSSUZGJH0AAFdB VkVmbXQgEAAAAAEAAQCAPgAAAH0AAAIAEABkYXRhAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -569,7 +569,7 @@ interactions: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - DQotLWM5Mjg2NDZmYmE0NWNlMGJjMDJiYTE0MjZmNTI2YjEzLS0NCg== + DQotLWI2YTE4OGYyZTc4YjhjNGFhMGI2MDAwMGRkMzQwZTI3LS0NCg== headers: Accept: - application/json @@ -580,11 +580,11 @@ interactions: Content-Length: - '32416' Content-Type: - - multipart/form-data; boundary=c928646fba45ce0bc02ba1426f526b13 + - multipart/form-data; boundary=b6a188f2e78b8c4aa0b60000dd340e27 Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -594,11 +594,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -612,7 +612,7 @@ interactions: ' headers: CF-RAY: - - 9ed469c3aa905383-YYZ + - 9fa1f78b5b96ac70-YYZ Connection: - keep-alive Content-Length: @@ -620,7 +620,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:02:14 GMT + - Mon, 11 May 2026 14:45:22 GMT Server: - cloudflare X-Content-Type-Options: @@ -634,19 +634,19 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '596' + - '353' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=IjX8T1RJiKEBETB3RqFS71Ht6TrVQxaicOGyE.xvatI-1776355333.7039402-1.0.1.1-vppxWhvtfi.Doi01TyHRu68p5Naio1JDDK.Okk9LXKRlV5XVpdKZdvv6iHEgIVTahDjualS2FiqfeAk4c4DVFcaXXTfFilufN6dofqq6CsT2Rcn6jLJf.ZktUPyPwqfp; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:14 GMT + - __cf_bm=VT2fLI4xB1QF1dOZJB322.Aw60_2SqvelLeZxhaeN8w-1778510721.8158731-1.0.1.1-5LljZLG4nJssxrNQit9ezB5onkhLFS4LAbVakU95JN_1Na2Jsd..P2Ym7gIp5dKJNVqUJx7mlnRY4dNPPqR7RSqmJK06tqJcvUMzbfD3qQ_HJVdH0lBpPRlWQiqflOi2; + HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, + 11 May 2026 15:15:22 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload via: - - envoy-router-594c789796-v7d2x + - envoy-router-65cbbbcc76-pgcjp x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -656,17 +656,17 @@ interactions: x-ratelimit-reset-requests: - 6ms x-request-id: - - req_d8d2035fda274bdf8eedf28f35e3c787 + - req_1539047d98fa464ea559f6896d12b874 status: code: 200 message: OK - request: body: !!binary | - LS1lZjFmNWI0MTllNWZiZDc0ZWVhYTU0NGZiNDY3MjlkYw0KQ29udGVudC1EaXNwb3NpdGlvbjog - Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0Kd2hpc3Blci0xDQotLWVmMWY1YjQxOWU1ZmJkNzRl - ZWFhNTQ0ZmI0NjcyOWRjDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InJl - c3BvbnNlX2Zvcm1hdCINCg0KdGV4dA0KLS1lZjFmNWI0MTllNWZiZDc0ZWVhYTU0NGZiNDY3Mjlk - Yw0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJmaWxlIjsgZmlsZW5hbWU9 + LS1mYzNiZDJkZTU4MWIzNTUyNGMyZmQ4OTA3Y2ZmOTYyMw0KQ29udGVudC1EaXNwb3NpdGlvbjog + Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0Kd2hpc3Blci0xDQotLWZjM2JkMmRlNTgxYjM1NTI0 + YzJmZDg5MDdjZmY5NjIzDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InJl + c3BvbnNlX2Zvcm1hdCINCg0KdGV4dA0KLS1mYzNiZDJkZTU4MWIzNTUyNGMyZmQ4OTA3Y2ZmOTYy + Mw0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJmaWxlIjsgZmlsZW5hbWU9 InRlc3RfYXVkaW8ud2F2Ig0KQ29udGVudC1UeXBlOiBhdWRpby94LXdhdg0KDQpSSUZGJH0AAFdB VkVmbXQgEAAAAAEAAQCAPgAAAH0AAAIAEABkYXRhAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -1230,7 +1230,7 @@ interactions: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - DQotLWVmMWY1YjQxOWU1ZmJkNzRlZWFhNTQ0ZmI0NjcyOWRjLS0NCg== + DQotLWZjM2JkMmRlNTgxYjM1NTI0YzJmZDg5MDdjZmY5NjIzLS0NCg== headers: Accept: - application/json @@ -1241,11 +1241,11 @@ interactions: Content-Length: - '32416' Content-Type: - - multipart/form-data; boundary=ef1f5b419e5fbd74eeaa544fb46729dc + - multipart/form-data; boundary=fc3bd2de581b35524c2fd8907cff9623 Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -1255,11 +1255,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -1273,7 +1273,7 @@ interactions: ' headers: CF-RAY: - - 9ed469c8fb07299a-YYZ + - 9fa1f78f6bcbaa9d-YYZ Connection: - keep-alive Content-Length: @@ -1281,7 +1281,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:02:15 GMT + - Mon, 11 May 2026 14:45:23 GMT Server: - cloudflare X-Content-Type-Options: @@ -1295,19 +1295,19 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '1268' + - '876' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=1uBLMMXwyG6K4dpNJb0vQyntH7Isk.SvoO.ppWsfxR8-1776355334.557109-1.0.1.1-NcUfDqslqlWf2QM.zhD5QLx09Fu9QSuIOTlhMdhOfG1FJfEvcbYp7UlNxHxQ5yfF7SgKaYVhrQwllEI_JjynzNlOECABFhNsQfRXd3OJs.O23DOXZ6RmjcagURi8BCop; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:15 GMT + - __cf_bm=tCBjUyHz7Bm9YS7R8wIvuVnhupc.KpaD7eA6PGQJ4.w-1778510722.46262-1.0.1.1-paLfNig27LRoPt88IVQ4iV2CxsKvHGNeo_3rs5FdzJ93PEp87oij8hV_WZEaWLAr7yoFKQmp3sLFBH8Hdc8vVW6JSzFPP8I5MvZO.UymahHDKpWTcujpOimjqaGMB0U8; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:15:23 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload via: - - envoy-router-7589984b46-lx84l + - envoy-router-canary-69b49db9cb-qqhll x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -1317,7 +1317,7 @@ interactions: x-ratelimit-reset-requests: - 6ms x-request-id: - - req_a0501d92ace64f7dad93b0b6396736f7 + - req_7d39e30e08864aa6b8b54f4ed30473b9 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_translation.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_translation.yaml index e210007f..8c326b57 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_translation.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_translation.yaml @@ -1,9 +1,9 @@ interactions: - request: body: !!binary | - LS0wZjgyYjFkZWNiNWUzYzg4MGM4Y2ZiYWQ5NjcyMzU2Yw0KQ29udGVudC1EaXNwb3NpdGlvbjog - Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0Kd2hpc3Blci0xDQotLTBmODJiMWRlY2I1ZTNjODgw - YzhjZmJhZDk2NzIzNTZjDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZp + LS1iMTY4OTY4NzE0YjA4ZTVjNDRlMjE4MDE5NGFiYWM1MQ0KQ29udGVudC1EaXNwb3NpdGlvbjog + Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0Kd2hpc3Blci0xDQotLWIxNjg5Njg3MTRiMDhlNWM0 + NGUyMTgwMTk0YWJhYzUxDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZp bGUiOyBmaWxlbmFtZT0idGVzdF9hdWRpby53YXYiDQpDb250ZW50LVR5cGU6IGF1ZGlvL3gtd2F2 DQoNClJJRkYkfQAAV0FWRWZtdCAQAAAAAQABAIA+AAAAfQAAAgAQAGRhdGEAfQAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -567,7 +567,7 @@ interactions: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAANCi0tMGY4MmIxZGVjYjVlM2M4ODBjOGNmYmFkOTY3MjM1NmMtLQ0K + AAAAAAAAAAAAAAAAAAANCi0tYjE2ODk2ODcxNGIwOGU1YzQ0ZTIxODAxOTRhYmFjNTEtLQ0K headers: Accept: - application/json @@ -578,11 +578,11 @@ interactions: Content-Length: - '32316' Content-Type: - - multipart/form-data; boundary=0f82b1decb5e3c880c8cfbad9672356c + - multipart/form-data; boundary=b168968714b08e5c44e2180194abac51 Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -592,11 +592,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -608,7 +608,7 @@ interactions: string: '{"text":"you"}' headers: CF-RAY: - - 9ed469d29e10ebb9-YYZ + - 9fa1f7966d72e21a-YYZ Connection: - keep-alive Content-Length: @@ -616,7 +616,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:02:16 GMT + - Mon, 11 May 2026 14:45:24 GMT Server: - cloudflare X-Content-Type-Options: @@ -630,19 +630,19 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '498' + - '486' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=udFZFhYF6Yi_qgmSgCUD_eWEk7K1IQgYp1MCjCi6GUo-1776355336.09512-1.0.1.1-CHI2rdDfBi7ZF_nNBCwjFoJW9wLGO9knrojV6QM9k6lE767X_Am8UKgKC4oHHHH0w3w_4uvxSfRxj.1RX1c0isI95VhcGbsjQiJ.1wHoaitULsRR7MP17o9LNCF7hmCZ; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:16 GMT + - __cf_bm=Y_pC_orzuTMe8uG3FroNZmmMi78F6LiI8rB1C_dbaJg-1778510723.5827706-1.0.1.1-F4VOt8_tqGpIP5TS6ZUTxFmLTheUr74VfO.fPVi2jGzK.tBQvR.8vE_MWCQeON2qULGL8btRfd_S7rMFa2mi67agKcY04CbHRxpvJa87Sp6LJXtfpOioOJq9OBpZ1lAC; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:15:24 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload via: - - envoy-router-6f679769b8-c6crt + - envoy-router-7b4776f958-w99n9 x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -652,15 +652,15 @@ interactions: x-ratelimit-reset-requests: - 6ms x-request-id: - - req_2344bd2708954096aaaf83e6d06f2b01 + - req_7f0d30d46f644a3eacd81a5d7cf15b5f status: code: 200 message: OK - request: body: !!binary | - LS1kMTUzNzIzMTQ0MzcxOTEzMmZkM2JkZWE2MWVhNDRlYQ0KQ29udGVudC1EaXNwb3NpdGlvbjog - Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0Kd2hpc3Blci0xDQotLWQxNTM3MjMxNDQzNzE5MTMy - ZmQzYmRlYTYxZWE0NGVhDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZp + LS1iM2M2YjNjZmZkN2NmOWVhNDEyMmQzNmY1MTM2NzZmMw0KQ29udGVudC1EaXNwb3NpdGlvbjog + Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0Kd2hpc3Blci0xDQotLWIzYzZiM2NmZmQ3Y2Y5ZWE0 + MTIyZDM2ZjUxMzY3NmYzDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZp bGUiOyBmaWxlbmFtZT0idGVzdF9hdWRpby53YXYiDQpDb250ZW50LVR5cGU6IGF1ZGlvL3gtd2F2 DQoNClJJRkYkfQAAV0FWRWZtdCAQAAAAAQABAIA+AAAAfQAAAgAQAGRhdGEAfQAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -1224,7 +1224,7 @@ interactions: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAANCi0tZDE1MzcyMzE0NDM3MTkxMzJmZDNiZGVhNjFlYTQ0ZWEtLQ0K + AAAAAAAAAAAAAAAAAAANCi0tYjNjNmIzY2ZmZDdjZjllYTQxMjJkMzZmNTEzNjc2ZjMtLQ0K headers: Accept: - application/json @@ -1235,11 +1235,11 @@ interactions: Content-Length: - '32316' Content-Type: - - multipart/form-data; boundary=d1537231443719132fd3bdea61ea44ea + - multipart/form-data; boundary=b3c6b3cffd7cf9ea4122d36f513676f3 Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -1249,11 +1249,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -1265,7 +1265,7 @@ interactions: string: '{"text":"you"}' headers: CF-RAY: - - 9ed469d708ffa1fc-YYZ + - 9fa1f79c1b973a08-YYZ Connection: - keep-alive Content-Length: @@ -1273,7 +1273,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:02:18 GMT + - Mon, 11 May 2026 14:45:25 GMT Server: - cloudflare X-Content-Type-Options: @@ -1287,19 +1287,19 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '494' + - '459' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=L78E3Gl5QdIQqUkRS8nYbypMDpxS657WoLG5PHiWLZA-1776355336.8035617-1.0.1.1-r0H0.56Ijuke7CimesPvsk2sOOyGTjAswdjx0k4h0YFe6U_sJ0Sky.DGK3X1.wL5tXscQ9AlTgqOrWevgYIx8rL7rWHUAa2deDC0fYSMn1bCxu7yiviryD5KVyHCef14; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:18 GMT + - __cf_bm=Kzl3x2mIWvJlf6V6Fq40.TtXOBIrO21PDxss9lInMYw-1778510724.4949214-1.0.1.1-3GqsaebWwLM_cjekIjdKhJIfbrLf4R16dVItjAjC2qcw8frqi7HRmDo4yRFZcAhZkM3.NJZqc50i21dXcFbvqnFcndZWWxnfzLqPmtR5sYJGP6kbgBeQkHKokGBN_m1E; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:15:25 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload via: - - envoy-router-7589984b46-nv286 + - envoy-router-canary-69b49db9cb-qqhll x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -1309,7 +1309,7 @@ interactions: x-ratelimit-reset-requests: - 6ms x-request-id: - - req_1cc301110692439ba605e276cf97845d + - req_043cf01dd2eb491cae13b89d6e3ad64f status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_translation_async.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_translation_async.yaml index f7b7525d..f982ea06 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_translation_async.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_audio_translation_async.yaml @@ -1,9 +1,9 @@ interactions: - request: body: !!binary | - LS02NzlkZGFjZWU0NzU3MzQ2M2QzODY4MjhhNGJhZWQzNA0KQ29udGVudC1EaXNwb3NpdGlvbjog - Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0Kd2hpc3Blci0xDQotLTY3OWRkYWNlZTQ3NTczNDYz - ZDM4NjgyOGE0YmFlZDM0DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZp + LS1jOGQzNmIyNjFkOTIyMTIxNjA4OTBkOWFkYzMwOThkMg0KQ29udGVudC1EaXNwb3NpdGlvbjog + Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0Kd2hpc3Blci0xDQotLWM4ZDM2YjI2MWQ5MjIxMjE2 + MDg5MGQ5YWRjMzA5OGQyDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZp bGUiOyBmaWxlbmFtZT0idGVzdF9hdWRpby53YXYiDQpDb250ZW50LVR5cGU6IGF1ZGlvL3gtd2F2 DQoNClJJRkYkfQAAV0FWRWZtdCAQAAAAAQABAIA+AAAAfQAAAgAQAGRhdGEAfQAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -567,7 +567,7 @@ interactions: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAANCi0tNjc5ZGRhY2VlNDc1NzM0NjNkMzg2ODI4YTRiYWVkMzQtLQ0K + AAAAAAAAAAAAAAAAAAANCi0tYzhkMzZiMjYxZDkyMjEyMTYwODkwZDlhZGMzMDk4ZDItLQ0K headers: Accept: - application/json @@ -578,11 +578,11 @@ interactions: Content-Length: - '32316' Content-Type: - - multipart/form-data; boundary=679ddacee47573463d386828a4baed34 + - multipart/form-data; boundary=c8d36b261d92212160890d9adc3098d2 Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -592,11 +592,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -608,7 +608,7 @@ interactions: string: '{"text":"you"}' headers: CF-RAY: - - 9ed469fd6c960426-YYZ + - 9fa1f8503a13b406-YYZ Connection: - keep-alive Content-Length: @@ -616,7 +616,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:02:23 GMT + - Mon, 11 May 2026 14:45:54 GMT Server: - cloudflare X-Content-Type-Options: @@ -630,19 +630,19 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '875' + - '860' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=FQAS9i44fGada8SJwLxxs7COyX4Dp39Hbf6o5.zxVPM-1776355342.9459898-1.0.1.1-Y..cr5u6jOV1P4BocYAa5c.1XyKFhr7izHcrpKS9i3DMb7TqsRfVSZnpEYHwYxhWRFZkMEkoMeUn8D9mIVrSFJXtJwhY.dL9lwMTJFaku64per3u8D1bGkMWaOOGIg7m; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:23 GMT + - __cf_bm=wr_K8aoksjDDKh4pqxFYhr4AgfyHFDhleDkNfzTyEak-1778510753.3139257-1.0.1.1-vIkbZ0QaqInlncPH06zk7RbSLI0odUs0iE7BHE.s4kkjnJYM5W.anzrnSfxQR.WTpFppaeR1H1PLtIcZ6lQ6y7DOxfNw7LZqQExcOb888nxyFIae9GU1ssDaRjnFdE80; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:15:54 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload via: - - envoy-router-594c789796-swdrd + - envoy-router-5f798bbb74-blrwj x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -652,15 +652,15 @@ interactions: x-ratelimit-reset-requests: - 6ms x-request-id: - - req_031916cdb14e4fef9191a826a2d79dad + - req_cb5217d3b8004b99be789a76f6591754 status: code: 200 message: OK - request: body: !!binary | - LS0yNjBmOTJmNGI4YWIyMjA2ODkwZWVhZjhkYzVjNTA1Yg0KQ29udGVudC1EaXNwb3NpdGlvbjog - Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0Kd2hpc3Blci0xDQotLTI2MGY5MmY0YjhhYjIyMDY4 - OTBlZWFmOGRjNWM1MDViDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZp + LS1lNzUwYzk1NjcxODJhMTA5MjZkMDVmYzFjY2EzZGZhNg0KQ29udGVudC1EaXNwb3NpdGlvbjog + Zm9ybS1kYXRhOyBuYW1lPSJtb2RlbCINCg0Kd2hpc3Blci0xDQotLWU3NTBjOTU2NzE4MmExMDky + NmQwNWZjMWNjYTNkZmE2DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImZp bGUiOyBmaWxlbmFtZT0idGVzdF9hdWRpby53YXYiDQpDb250ZW50LVR5cGU6IGF1ZGlvL3gtd2F2 DQoNClJJRkYkfQAAV0FWRWZtdCAQAAAAAQABAIA+AAAAfQAAAgAQAGRhdGEAfQAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -1224,7 +1224,7 @@ interactions: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAANCi0tMjYwZjkyZjRiOGFiMjIwNjg5MGVlYWY4ZGM1YzUwNWItLQ0K + AAAAAAAAAAAAAAAAAAANCi0tZTc1MGM5NTY3MTgyYTEwOTI2ZDA1ZmMxY2NhM2RmYTYtLQ0K headers: Accept: - application/json @@ -1235,11 +1235,11 @@ interactions: Content-Length: - '32316' Content-Type: - - multipart/form-data; boundary=260f92f4b8ab2206890eeaf8dc5c505b + - multipart/form-data; boundary=e750c9567182a10926d05fc1cca3dfa6 Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -1249,11 +1249,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -1265,7 +1265,7 @@ interactions: string: '{"text":"you"}' headers: CF-RAY: - - 9ed46a041f10ab94-YYZ + - 9fa1f8572c98eff9-YYZ Connection: - keep-alive Content-Length: @@ -1273,7 +1273,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:02:24 GMT + - Mon, 11 May 2026 14:45:55 GMT Server: - cloudflare X-Content-Type-Options: @@ -1287,19 +1287,19 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '318' + - '697' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=ivzNMSDea4UZHhNF22xAjr1ovsSngG2_Ca.VgZXKc8o-1776355344.0157182-1.0.1.1-xlBsNDqdFDXFzStJsZgiFtdzcAX4TsdBbbaXPeNqlMkEL1sOL13EPTWc6g24mlmmNpFEUWs1mEd2gScf1W.gnBJhUxmT4oyRHVHf4Y2mEsBw20tklvCey66HNsZSJaZk; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:24 GMT + - __cf_bm=65AgS8dkecKJ59ZrwuwEZHn06TQweGHILvPsElun4ws-1778510754.4211369-1.0.1.1-g0Lyw4vH8SjUL9ECkGEwKCri9kGcr7cG_eodXJX1tLFu5dsRdsol_X.ft4xGMuTh4Jd7iwYIgxNOaxoxsogsFE8K4HlTWl9CQPcIhTDwdeKOQX7pe6NQHDkIxbHwjw5s; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:15:55 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload via: - - envoy-router-6b9f7fb4b4-w47zm + - envoy-router-79b556ffb-68stp x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -1309,7 +1309,7 @@ interactions: x-ratelimit-reset-requests: - 6ms x-request-id: - - req_a1d9725d220c4b6785c03ea587195648 + - req_03db680367f349b78b52e31b5e99a99d status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_async.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_async.yaml index 19bc7085..3f26ceef 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_async.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_async.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-raw-response: - 'true' x-stainless-read-timeout: @@ -40,8 +40,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJQsh4haMVBNfHolD0BdbaN3EIEF\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355238,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeM8rMxyunHoiMpg4mp8musLQEZT3\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510605,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"12 + 12 equals 24.\",\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n @@ -50,18 +50,18 @@ interactions: {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_fe7a5277a8\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_dac1f01875\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed4676fdbabac0f-YYZ + - 9fa1f4b22a00e080-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:38 GMT + - Mon, 11 May 2026 14:43:26 GMT Server: - cloudflare Strict-Transport-Security: @@ -79,15 +79,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '478' + - '821' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=Oj8tQ7xGhxcugWXBYRoaJU4BmqvH14exjySt0aQoyFs-1776355238.3741944-1.0.1.1-e8H4mJpMji6jWGzXC8a4ocqe1ux08zmtg7gQfTlsnzf8I0fsRk7ijNXHjlDEtAPFibDU_cbGfcRgzyTomobkoHRamk33467hLUTy6Qc1Ri1jxvAbPlVJ1e1.twvxLyQ2; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:38 GMT + - __cf_bm=XUJDdnWsl4Q8kkJItWwz85r9fxixl6hK7AKi5878XVo-1778510605.1451254-1.0.1.1-S4QvwSyDcRMY9oVujlo669HUz1HtE16rFiV8q77uxHpQwePzSEUT31gylIMRSCFQublsVlMP2sKuecbHzrHZO4LUdn2vmgTfshbvD0v4Br613mXu1dwod1UmegVqYRsp; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:26 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -103,7 +103,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_3f6f22b177c5464b97e8321937af8c17 + - req_6d97e23b899543b8b8343c9424c09023 status: code: 200 message: OK @@ -123,7 +123,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -133,11 +133,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-raw-response: - 'true' x-stainless-read-timeout: @@ -148,8 +148,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJQthwGV30Lbhdp9jbiQyDGthNyW\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355239,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeM8sWEXa39ZM5BroMLlfN0cHXZV3\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510606,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"12 + 12 equals 24.\",\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n @@ -158,18 +158,18 @@ interactions: {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_fe7a5277a8\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_dac1f01875\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed46777e9c24f09-YYZ + - 9fa1f4b88eb144b0-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:40 GMT + - Mon, 11 May 2026 14:43:27 GMT Server: - cloudflare Strict-Transport-Security: @@ -187,15 +187,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '405' + - '1547' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=MEjp8Cdf034oNfnkMeAHW6K1t.1Wj3pG.9dJ_bKQpjo-1776355239.6671832-1.0.1.1-51o9mYBhMoKiYTGWcyzegNNy61L0KTDbwe5nsoXAZeRnK5VHb3FXNSTyJNPzJ8bUPL1wOnWH3lEcl8g1INdalsKWtYBbX68lp5y62XykngUUUbEzZBGncG7pzgdxocqJ; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:40 GMT + - __cf_bm=fIBkngvMzbVUsEiKvubtQUcHGAfji_R6qvVnoiZAtW8-1778510606.1691613-1.0.1.1-1eNS.VM8pwgaf5rVK0oicAz8EGy3uLEjcRVTIqu7PKE6OufjNnuhahPr.XwxQFoqXZjUK9bwW3zIUcxqD7ATD4O4THHsQQ5ey.kl_JuqnFmcjD77KbS11QBgcTrJNnCk; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:27 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -211,7 +211,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_fddffafd0b004a828f3052d882130815 + - req_68b0eedef7eb441c924db13d2ff7752e status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_async_context_manager.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_async_context_manager.yaml index a301dc01..60ef75e0 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_async_context_manager.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_async_context_manager.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,41 +38,41 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJR8lzXnHUmz4lKzYbQR3ooatYyF","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"lIA0oamcU"} + string: 'data: {"id":"chatcmpl-DeM9E5oS5wZNF5SRzUjrKWqaljGIk","object":"chat.completion.chunk","created":1778510628,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"BI0yzc7Bh"} - data: {"id":"chatcmpl-DVJR8lzXnHUmz4lKzYbQR3ooatYyF","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"KwZe092Kv"} + data: {"id":"chatcmpl-DeM9E5oS5wZNF5SRzUjrKWqaljGIk","object":"chat.completion.chunk","created":1778510628,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"4MnE2DIw3"} - data: {"id":"chatcmpl-DVJR8lzXnHUmz4lKzYbQR3ooatYyF","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"o1RWgjLyG"} + data: {"id":"chatcmpl-DeM9E5oS5wZNF5SRzUjrKWqaljGIk","object":"chat.completion.chunk","created":1778510628,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"SzMpL0TNg"} - data: {"id":"chatcmpl-DVJR8lzXnHUmz4lKzYbQR3ooatYyF","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"qa2Ixq1XgT"} + data: {"id":"chatcmpl-DeM9E5oS5wZNF5SRzUjrKWqaljGIk","object":"chat.completion.chunk","created":1778510628,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"U4dt33we2J"} - data: {"id":"chatcmpl-DVJR8lzXnHUmz4lKzYbQR3ooatYyF","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"yXfekaGoe"} + data: {"id":"chatcmpl-DeM9E5oS5wZNF5SRzUjrKWqaljGIk","object":"chat.completion.chunk","created":1778510628,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"3n7XysYOT"} - data: {"id":"chatcmpl-DVJR8lzXnHUmz4lKzYbQR3ooatYyF","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"qvW7"} + data: {"id":"chatcmpl-DeM9E5oS5wZNF5SRzUjrKWqaljGIk","object":"chat.completion.chunk","created":1778510628,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"5nNS"} - data: {"id":"chatcmpl-DVJR8lzXnHUmz4lKzYbQR3ooatYyF","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"D5CVNBjH5l"} + data: {"id":"chatcmpl-DeM9E5oS5wZNF5SRzUjrKWqaljGIk","object":"chat.completion.chunk","created":1778510628,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ObZRm8Dd0T"} - data: {"id":"chatcmpl-DVJR8lzXnHUmz4lKzYbQR3ooatYyF","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"13YP2VtSt"} + data: {"id":"chatcmpl-DeM9E5oS5wZNF5SRzUjrKWqaljGIk","object":"chat.completion.chunk","created":1778510628,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"IUDkmoSmu"} - data: {"id":"chatcmpl-DVJR8lzXnHUmz4lKzYbQR3ooatYyF","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"B67gRJkEbF"} + data: {"id":"chatcmpl-DeM9E5oS5wZNF5SRzUjrKWqaljGIk","object":"chat.completion.chunk","created":1778510628,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"xwsi8cenAz"} - data: {"id":"chatcmpl-DVJR8lzXnHUmz4lKzYbQR3ooatYyF","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"HA9SI"} + data: {"id":"chatcmpl-DeM9E5oS5wZNF5SRzUjrKWqaljGIk","object":"chat.completion.chunk","created":1778510628,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"zIzY2"} - data: {"id":"chatcmpl-DVJR8lzXnHUmz4lKzYbQR3ooatYyF","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"RXM9IOasiC5"} + data: {"id":"chatcmpl-DeM9E5oS5wZNF5SRzUjrKWqaljGIk","object":"chat.completion.chunk","created":1778510628,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"akUfJHrbYFG"} data: [DONE] @@ -83,13 +83,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed467d08e130426-YYZ + - 9fa1f541abc47769-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:00:54 GMT + - Mon, 11 May 2026 14:43:48 GMT Server: - cloudflare Strict-Transport-Security: @@ -105,15 +105,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '326' + - '461' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=NZAQ37CogCCGgTpk2Pq053dAAudBsazgxdzawonnsyc-1776355253.846691-1.0.1.1-HmT6Y4fNOpZoYXSp9Tc96Jot2JiVQEjLzQIA78fD.GKYruqXhL2xLcDeW1iWyLM2Eq6qy0eh9GrJp3NbSNVfgvRT4ONy8SCCZ6CxdhHCOabENRUoyftQQihelYPZnMeu; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:54 GMT + - __cf_bm=sA_0zpjerUbx2HIpEH3kZoqQH6kp45kz55fp3NPdowg-1778510628.1107807-1.0.1.1-ZefSxrefjW2BJoiYnBDh_ONzM4Rs1FMgT8pDtBuVB2h64._w2Jyvqm4nkNFjazXKz6OXAZPnvLn_Vt5x8wirt.BiIbqYNks0qnR2wxP7pIxRcvLmetAOy6_AQjhPRuAX; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:48 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -123,13 +123,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999995' + - '149999992' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_def435dbab574a5a9a10c2b0582a16fe + - req_16b5724170709217a293d3329bc55f1d status: code: 200 message: OK @@ -149,7 +149,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -159,11 +159,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -172,41 +172,41 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJR8fppwm5wvRIvGCRD4rqP3ipXf","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"F2ppOSU6V"} + string: 'data: {"id":"chatcmpl-DeM9FEPuchJHjXNyqUwMK8zCP5Lht","object":"chat.completion.chunk","created":1778510629,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"QRL1Gz8oH"} - data: {"id":"chatcmpl-DVJR8fppwm5wvRIvGCRD4rqP3ipXf","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"d0VaggNuI"} + data: {"id":"chatcmpl-DeM9FEPuchJHjXNyqUwMK8zCP5Lht","object":"chat.completion.chunk","created":1778510629,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Ouiquoest"} - data: {"id":"chatcmpl-DVJR8fppwm5wvRIvGCRD4rqP3ipXf","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Hsums69C5"} + data: {"id":"chatcmpl-DeM9FEPuchJHjXNyqUwMK8zCP5Lht","object":"chat.completion.chunk","created":1778510629,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"YBhQZtyrS"} - data: {"id":"chatcmpl-DVJR8fppwm5wvRIvGCRD4rqP3ipXf","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"FuM2x8qP1l"} + data: {"id":"chatcmpl-DeM9FEPuchJHjXNyqUwMK8zCP5Lht","object":"chat.completion.chunk","created":1778510629,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"lV9UrxKrpS"} - data: {"id":"chatcmpl-DVJR8fppwm5wvRIvGCRD4rqP3ipXf","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"lmgzw1llU"} + data: {"id":"chatcmpl-DeM9FEPuchJHjXNyqUwMK8zCP5Lht","object":"chat.completion.chunk","created":1778510629,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Rlh4wXQKl"} - data: {"id":"chatcmpl-DVJR8fppwm5wvRIvGCRD4rqP3ipXf","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"NI7h"} + data: {"id":"chatcmpl-DeM9FEPuchJHjXNyqUwMK8zCP5Lht","object":"chat.completion.chunk","created":1778510629,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"abW0"} - data: {"id":"chatcmpl-DVJR8fppwm5wvRIvGCRD4rqP3ipXf","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"G7jbyYMf0m"} + data: {"id":"chatcmpl-DeM9FEPuchJHjXNyqUwMK8zCP5Lht","object":"chat.completion.chunk","created":1778510629,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Lb6C5bxWEA"} - data: {"id":"chatcmpl-DVJR8fppwm5wvRIvGCRD4rqP3ipXf","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"9ttDmgZZ0"} + data: {"id":"chatcmpl-DeM9FEPuchJHjXNyqUwMK8zCP5Lht","object":"chat.completion.chunk","created":1778510629,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"AVqSSyr1r"} - data: {"id":"chatcmpl-DVJR8fppwm5wvRIvGCRD4rqP3ipXf","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"JgMK8DeLCU"} + data: {"id":"chatcmpl-DeM9FEPuchJHjXNyqUwMK8zCP5Lht","object":"chat.completion.chunk","created":1778510629,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"jx3H9nZbUJ"} - data: {"id":"chatcmpl-DVJR8fppwm5wvRIvGCRD4rqP3ipXf","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"hma6B"} + data: {"id":"chatcmpl-DeM9FEPuchJHjXNyqUwMK8zCP5Lht","object":"chat.completion.chunk","created":1778510629,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"uwnGc"} - data: {"id":"chatcmpl-DVJR8fppwm5wvRIvGCRD4rqP3ipXf","object":"chat.completion.chunk","created":1776355254,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"7JzIFYDhn4V"} + data: {"id":"chatcmpl-DeM9FEPuchJHjXNyqUwMK8zCP5Lht","object":"chat.completion.chunk","created":1778510629,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"AZn9KmtL4uE"} data: [DONE] @@ -217,13 +217,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed467d4880baace-YYZ + - 9fa1f547edbbab66-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:00:54 GMT + - Mon, 11 May 2026 14:43:49 GMT Server: - cloudflare Strict-Transport-Security: @@ -239,15 +239,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '226' + - '347' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=MBdb1Ch2oVB45g9TPbLyNjzb2ELr7IQOBMWisVFInWM-1776355254.4865673-1.0.1.1-G5ZvQld5CxEVjd6ZjLQ2Sd8.J7kV3u5EkcoTVqQLYDG8PRqsniZhGPNDOtIMFpI6OvYKBmEG6xebWTgiLmfHQ4Na_Nkolrmoh_DBjBxXTcs_eX8x0kWTPleLs.wffNhQ; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:54 GMT + - __cf_bm=OVNIycc9C68c10E6VvawhdoWJHu7S3vLhc2oZPo73PY-1778510629.102503-1.0.1.1-QhwqLi3fOKwxbXmAhTASid5E_gJ6bk0IIW9a_I26KrE.mlYF_Qm7_8gbnOkRug_dbItBrka9o_jQKojLcxwhhopk3ly_CKMf_VSNq26R0l1qHwGQj.Yrl3Zqzr8AMaSD; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:49 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -263,7 +263,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_89ece487d286420fb52d936e6631750e + - req_ae9205bcf54140e8bfcb375f98a0c487 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_async_with_system_prompt.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_async_with_system_prompt.yaml index d7a09560..ebce253e 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_async_with_system_prompt.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_async_with_system_prompt.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,11 +26,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -39,8 +39,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJR3Miebiq1Rv8ObiJ1wUW1z05fp\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355249,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeM9AjJWfS2VWUQZ2JVKeJ4TbvjTi\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510624,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"24\",\n \"refusal\": null,\n \ \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": @@ -49,18 +49,18 @@ interactions: 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_fe7a5277a8\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_09d726607f\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed467b4ca361d7b-YYZ + - 9fa1f524fddaac28-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:49 GMT + - Mon, 11 May 2026 14:43:44 GMT Server: - cloudflare Strict-Transport-Security: @@ -78,15 +78,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '314' + - '873' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=Yo9CERsufnW2xEJ56PGgBcdqw60fAY8O9uzHHuLSbQ0-1776355249.405109-1.0.1.1-paLLMGfaCmzDD8m5xr.hzyK4PBdmHRnsbEDr7NB6G8foH0S5YcPXXLPpg68KNudThS02u7YaZVCkgJN_WZV7F9ZcADapVdgjEuqMK22eYVfSEbzxctyvOsJoCtqRBuhY; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:49 GMT + - __cf_bm=RsbFOjA_LLEf6C.nGchLJTcIdfVe1GW0JyD6ZV1e3IY-1778510623.5148528-1.0.1.1-m.JU8w7Yu1kBMwqh5GxWolqjz3d4rlbsrLJZaDHTl8Ee.rL4TNqpfUmVXqxqaSVF7g_R8TbcZkhkJ74fe.u7yWicIe2T4oyxdpeJDUjkmeH0IQhKntK08jgDmHmzf7hG; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:44 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -102,7 +102,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_af0424388ac34f1aaf7dcd9ed54e3ed6 + - req_485395405213495791c3f8382d05036d status: code: 200 message: OK @@ -123,7 +123,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -133,11 +133,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -146,8 +146,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJR43ATfsBxe6Slp7YrjoPOVUX5O\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355250,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeM9AlzVFESsM7Is70QE73Go70Ct9\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510624,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"24\",\n \"refusal\": null,\n \ \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": @@ -156,18 +156,18 @@ interactions: 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_fe7a5277a8\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_09d726607f\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed467bd3a3bac09-YYZ + - 9fa1f52bbbfa1707-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:51 GMT + - Mon, 11 May 2026 14:43:45 GMT Server: - cloudflare Strict-Transport-Security: @@ -185,15 +185,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '348' + - '363' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=A8C4b9mkdtbpwzIXwCiOVOzmI0DHsxTEp_LytHrQcpE-1776355250.759893-1.0.1.1-aOHSyMA7PPY4sBLHNrp4bbIxglnQx4kgmEL1piq6gZdhH0DN8q78h7sq1mU8fk7RTOlzdNeKJK56PStiSzGUJCZ1OEAJXNHoyQhrrvuMuc81iS3SK1PwK1EC2X5Xt5P6; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:51 GMT + - __cf_bm=Tb9.yF1CNzNZyMxWB9jD5OUaHsPnopua7_i052jBOk4-1778510624.5965652-1.0.1.1-g1GwzgmSotgyxLIxC5SRpw3x5s0LYph9ykMtAjjXWyTFqxuCwzP53Ey8RHNaTlE5VZfq1MGBMLauqB1Fs16JpgMKQYuhf1yAfuPF1lYAndPqIyF2Czn_e.lx6NeTXj1v; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:45 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -203,13 +203,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999977' + - '149999980' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_6c845621535e45ceac3e0f6ec40284c4 + - req_f274cb4f8e59450fb04a436a7abda683 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_error_in_async_context.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_error_in_async_context.yaml index 7614dadf..1da7f843 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_error_in_async_context.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_error_in_async_context.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,38 +38,38 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJRBRelqvfrGpjj5Qgj59R6yP3IU","object":"chat.completion.chunk","created":1776355257,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"obfuscation":"2IUwWs"} + string: 'data: {"id":"chatcmpl-DeM9H0JgY3bECxN7fhnwKmflPFat4","object":"chat.completion.chunk","created":1778510631,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"obfuscation":"GBFENC"} - data: {"id":"chatcmpl-DVJRBRelqvfrGpjj5Qgj59R6yP3IU","object":"chat.completion.chunk","created":1776355257,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"obfuscation":"2q6fkK"} + data: {"id":"chatcmpl-DeM9H0JgY3bECxN7fhnwKmflPFat4","object":"chat.completion.chunk","created":1778510631,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"obfuscation":"IBSz3B"} - data: {"id":"chatcmpl-DVJRBRelqvfrGpjj5Qgj59R6yP3IU","object":"chat.completion.chunk","created":1776355257,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - +"},"logprobs":null,"finish_reason":null}],"obfuscation":"s3HWF0"} + data: {"id":"chatcmpl-DeM9H0JgY3bECxN7fhnwKmflPFat4","object":"chat.completion.chunk","created":1778510631,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + +"},"logprobs":null,"finish_reason":null}],"obfuscation":"l6sjFq"} - data: {"id":"chatcmpl-DVJRBRelqvfrGpjj5Qgj59R6yP3IU","object":"chat.completion.chunk","created":1776355257,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"obfuscation":"lC7zGEx"} + data: {"id":"chatcmpl-DeM9H0JgY3bECxN7fhnwKmflPFat4","object":"chat.completion.chunk","created":1778510631,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"obfuscation":"OaslGKq"} - data: {"id":"chatcmpl-DVJRBRelqvfrGpjj5Qgj59R6yP3IU","object":"chat.completion.chunk","created":1776355257,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"obfuscation":"iyZdRY"} + data: {"id":"chatcmpl-DeM9H0JgY3bECxN7fhnwKmflPFat4","object":"chat.completion.chunk","created":1778510631,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"obfuscation":"bKE9gp"} - data: {"id":"chatcmpl-DVJRBRelqvfrGpjj5Qgj59R6yP3IU","object":"chat.completion.chunk","created":1776355257,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - equals"},"logprobs":null,"finish_reason":null}],"obfuscation":"Y"} + data: {"id":"chatcmpl-DeM9H0JgY3bECxN7fhnwKmflPFat4","object":"chat.completion.chunk","created":1778510631,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + equals"},"logprobs":null,"finish_reason":null}],"obfuscation":"W"} - data: {"id":"chatcmpl-DVJRBRelqvfrGpjj5Qgj59R6yP3IU","object":"chat.completion.chunk","created":1776355257,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"obfuscation":"s3unXsc"} + data: {"id":"chatcmpl-DeM9H0JgY3bECxN7fhnwKmflPFat4","object":"chat.completion.chunk","created":1778510631,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"obfuscation":"3TsVw1Q"} - data: {"id":"chatcmpl-DVJRBRelqvfrGpjj5Qgj59R6yP3IU","object":"chat.completion.chunk","created":1776355257,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"obfuscation":"WTgUyX"} + data: {"id":"chatcmpl-DeM9H0JgY3bECxN7fhnwKmflPFat4","object":"chat.completion.chunk","created":1778510631,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"obfuscation":"B6tX8u"} - data: {"id":"chatcmpl-DVJRBRelqvfrGpjj5Qgj59R6yP3IU","object":"chat.completion.chunk","created":1776355257,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"obfuscation":"VaMgIyz"} + data: {"id":"chatcmpl-DeM9H0JgY3bECxN7fhnwKmflPFat4","object":"chat.completion.chunk","created":1778510631,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"obfuscation":"9Q5gROT"} - data: {"id":"chatcmpl-DVJRBRelqvfrGpjj5Qgj59R6yP3IU","object":"chat.completion.chunk","created":1776355257,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"obfuscation":"OS"} + data: {"id":"chatcmpl-DeM9H0JgY3bECxN7fhnwKmflPFat4","object":"chat.completion.chunk","created":1778510631,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"obfuscation":"Rc"} data: [DONE] @@ -80,13 +80,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed467e86f26880c-YYZ + - 9fa1f5523a435437-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:00:58 GMT + - Mon, 11 May 2026 14:43:51 GMT Server: - cloudflare Strict-Transport-Security: @@ -102,15 +102,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '365' + - '742' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=vQO_Tt8zm_dbk2Qfq8nR302gzsWLmQ.DSTDXxlZgHZQ-1776355257.6673644-1.0.1.1-61jHHgP.9DB7yrpxLEZwbnBcO.lNjMaqqb8x3_Q.Kn06nTrRUJ0V7KNJuDEbmNbfBkMtMVYy.ZRNcysT1VtSol8PlMaj0dqjV1Pqgaf12UMOicX.p0IW6f7EuyBcn0os; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:58 GMT + - __cf_bm=c8MBh81D7ZrCQf8LW9E9dnIuIrLAND4Avb06BSMAzeU-1778510630.7529974-1.0.1.1-s7xRHCmESy5ZMb_yRWm2Yd89E2Ic4BB8fc_EPD5fqd2giae_S3yQ5B1XI041S6t3XpwsnDNEN1QoIykx5D24Jl391mEVsqM17UfVr8Elx8WIGn_uYy2KuzCcRMa__Fe1; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:51 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -126,7 +126,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_73db74a2c7864c61bdae61d4f165439c + - req_ec115a32fd4149cdafe5d68f2cf1582c status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_metrics.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_metrics.yaml index 42a2f1e2..ea7cd323 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_metrics.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_metrics.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-raw-response: - 'true' x-stainless-read-timeout: @@ -40,8 +40,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJQRgRdpFxuVUzyfv8Gqkdzeokfj\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355211,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeM89abtmlDdJcN4WcoDLxPKGjEn8\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510561,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"12 + 12 equals 24.\",\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n @@ -50,18 +50,18 @@ interactions: {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_fe7a5277a8\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_dac1f01875\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed466c4df3afc7d-YYZ + - 9fa1f399ff01c8b1-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:12 GMT + - Mon, 11 May 2026 14:42:42 GMT Server: - cloudflare Strict-Transport-Security: @@ -79,15 +79,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '453' + - '1280' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=tF6SbFkHwfqHELqdIrwmheT5BJHTN37eN2ltvslHuSQ-1776355211.0180366-1.0.1.1-pQkv.ARM0yAXU9rSV3jsn9qCkR2mxGHjGDYycDaa5GFXPSg4m6qje6k4Og9vBzSDmNRZlpUWje2TB20kBOL_MOAxvBvw.2rLVGacWHh0Mxx07IzlXM7BdAeSvChh3693; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:12 GMT + - __cf_bm=tHleClS.06Dm7qn_AsK2db4Qc4irFr41KXKHHDzx.RU-1778510560.3211122-1.0.1.1-m_UKffG0vZL5fKQhhfzzsCy7lFlZySlLdMlmwPLirasHY_4xLNfaOHbbFEhTn27KY8rBdt7.iLPgSG3YWsnMT98dw07b05nCG0tWZ3I7VF9InFeJYmdv55Q9vkx_O.aW; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:12:42 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -103,7 +103,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_e27a090399f14a278050f0dd6b0e1489 + - req_55cb990584e94120b38b10a573f3783f status: code: 200 message: OK @@ -123,7 +123,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -133,11 +133,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-raw-response: - 'true' x-stainless-read-timeout: @@ -148,8 +148,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJQSVgJMAbFwBPeDMNu3i1elGEbz\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355212,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeM8B9YTWV02gYP7dr24jghIiBeq9\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510563,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"12 + 12 equals 24.\",\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n @@ -158,18 +158,18 @@ interactions: {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_fe7a5277a8\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_dac1f01875\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed466cd9aa5ac9a-YYZ + - 9fa1f3aa1f8fe702-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:13 GMT + - Mon, 11 May 2026 14:42:44 GMT Server: - cloudflare Strict-Transport-Security: @@ -187,15 +187,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '531' + - '1058' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=D1ihx.b5lLSwLYEzNMx7GOW92iw5Y.iM1DD_8mtUnWA-1776355212.4156618-1.0.1.1-mEDH_sisxjvIrTbDTC8UI79eZzkialUcREp6irGll5zBgYKYl8MJKE8KlVuKKKl.3oabraG8MGtcnxPI35Yus4zjVNRgth6QNJfnGJRiu03knaSPbgs11WbBAgywzLex; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:13 GMT + - __cf_bm=VswsdXdOORQPrGaXC96S7CCcMoT3SLzL0gmloTWc2.U-1778510562.8922548-1.0.1.1-Fk.sAe910lRroMdhxMtaZ_4T0DrlVbekFPvSxMe2yMb9egEQX.feMlA1jLtylYqQL161VeR2NkLVWoctntDU6lIUVHX4kOfa8Xp8toR8zj47S9kakXkivQklTgC3mFMF; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:12:44 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -205,13 +205,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999995' + - '149999992' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_01991cdaf7324de980be9c476a382d10 + - req_9eeddeeb51674e65b9fee0c5445b3fd9 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_stream_helper_async.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_stream_helper_async.yaml index 0ca25756..7d0c81ed 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_stream_helper_async.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_stream_helper_async.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -27,11 +27,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -40,41 +40,41 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJR1oXsDeebgUeAuS8IoWAA8QDIV","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_4181e24c46","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"5Md5Wp6Ol"} + string: 'data: {"id":"chatcmpl-DeM97OGcSZ7N4S06zFF5Fb169fJ2w","object":"chat.completion.chunk","created":1778510621,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"fWwFBaBJ6"} - data: {"id":"chatcmpl-DVJR1oXsDeebgUeAuS8IoWAA8QDIV","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_4181e24c46","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"afnQCChF7"} + data: {"id":"chatcmpl-DeM97OGcSZ7N4S06zFF5Fb169fJ2w","object":"chat.completion.chunk","created":1778510621,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"lmpZZLEli"} - data: {"id":"chatcmpl-DVJR1oXsDeebgUeAuS8IoWAA8QDIV","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_4181e24c46","choices":[{"index":0,"delta":{"content":" - +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gGwrMDUPr"} + data: {"id":"chatcmpl-DeM97OGcSZ7N4S06zFF5Fb169fJ2w","object":"chat.completion.chunk","created":1778510621,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"6ptXcd479"} - data: {"id":"chatcmpl-DVJR1oXsDeebgUeAuS8IoWAA8QDIV","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_4181e24c46","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"7GrCM3XRpu"} + data: {"id":"chatcmpl-DeM97OGcSZ7N4S06zFF5Fb169fJ2w","object":"chat.completion.chunk","created":1778510621,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"YbzahNQJof"} - data: {"id":"chatcmpl-DVJR1oXsDeebgUeAuS8IoWAA8QDIV","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_4181e24c46","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ClvQ20qiE"} + data: {"id":"chatcmpl-DeM97OGcSZ7N4S06zFF5Fb169fJ2w","object":"chat.completion.chunk","created":1778510621,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ciPnlxxdj"} - data: {"id":"chatcmpl-DVJR1oXsDeebgUeAuS8IoWAA8QDIV","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_4181e24c46","choices":[{"index":0,"delta":{"content":" - equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"vEaY"} + data: {"id":"chatcmpl-DeM97OGcSZ7N4S06zFF5Fb169fJ2w","object":"chat.completion.chunk","created":1778510621,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"jaD0"} - data: {"id":"chatcmpl-DVJR1oXsDeebgUeAuS8IoWAA8QDIV","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_4181e24c46","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"MlnsqXruBw"} + data: {"id":"chatcmpl-DeM97OGcSZ7N4S06zFF5Fb169fJ2w","object":"chat.completion.chunk","created":1778510621,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"4rd411JJ7J"} - data: {"id":"chatcmpl-DVJR1oXsDeebgUeAuS8IoWAA8QDIV","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_4181e24c46","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"DFpICJpYI"} + data: {"id":"chatcmpl-DeM97OGcSZ7N4S06zFF5Fb169fJ2w","object":"chat.completion.chunk","created":1778510621,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"PQNKp3ePE"} - data: {"id":"chatcmpl-DVJR1oXsDeebgUeAuS8IoWAA8QDIV","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_4181e24c46","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"GDRUP0K2us"} + data: {"id":"chatcmpl-DeM97OGcSZ7N4S06zFF5Fb169fJ2w","object":"chat.completion.chunk","created":1778510621,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"NdA4KJwBnV"} - data: {"id":"chatcmpl-DVJR1oXsDeebgUeAuS8IoWAA8QDIV","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_4181e24c46","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"3xCPA"} + data: {"id":"chatcmpl-DeM97OGcSZ7N4S06zFF5Fb169fJ2w","object":"chat.completion.chunk","created":1778510621,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"jmRON"} - data: {"id":"chatcmpl-DVJR1oXsDeebgUeAuS8IoWAA8QDIV","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_4181e24c46","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"eNBMBvIVT1G"} + data: {"id":"chatcmpl-DeM97OGcSZ7N4S06zFF5Fb169fJ2w","object":"chat.completion.chunk","created":1778510621,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"M2b8Nhowz15"} data: [DONE] @@ -85,13 +85,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed467aa2b63711c-YYZ + - 9fa1f5159f081a24-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:00:48 GMT + - Mon, 11 May 2026 14:43:41 GMT Server: - cloudflare Strict-Transport-Security: @@ -107,15 +107,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '200' + - '450' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=r7OsqCRnMU6gkpLxekHniIXsjVxQZWbg8snToC.q8LE-1776355247.7078555-1.0.1.1-D0KapzLvCAOKOU0ng3Z9VJl8jgbdHoBPY2oq10gWeoMvs8_EpiUHrDdQRvMmSDlnnj8MpxL1wZky3e23bQHjq3aPpgJDCucjyjefQARMFxa6jMA0gX5hMNe5CO6GIUjN; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:48 GMT + - __cf_bm=9D3vBSpXkCE.u9woQIUIY5iMJpthPcXmKYV7cJlUqJA-1778510621.052301-1.0.1.1-j1lTPg3SYxn9.HTQwSWpI9JjvSlkmB9x9OTr7D7Q3f1OMGs_ougqk7_EvGl8BIyALc6zqdCnTDsYSUS0HEZETz.0.roxiAY6DOznA544rn_25gxaC68i3LxfW2FvHDiO; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:41 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -131,7 +131,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_8b4be00e86184bc388ac78b58add8ff8 + - req_241f531373c8412e8e310124895cc2d4 status: code: 200 message: OK @@ -151,7 +151,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -163,11 +163,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -176,41 +176,41 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJR2g16OuVEMJfPc71PsgbXsgZi5","object":"chat.completion.chunk","created":1776355248,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"EWy0ZYrxE"} + string: 'data: {"id":"chatcmpl-DeM98zDiEpvIiAKfsQ3YPhkT5Mqy5","object":"chat.completion.chunk","created":1778510622,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"jW8UvNz8F"} - data: {"id":"chatcmpl-DVJR2g16OuVEMJfPc71PsgbXsgZi5","object":"chat.completion.chunk","created":1776355248,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Zd4HFAByz"} + data: {"id":"chatcmpl-DeM98zDiEpvIiAKfsQ3YPhkT5Mqy5","object":"chat.completion.chunk","created":1778510622,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"MJyK0rgTQ"} - data: {"id":"chatcmpl-DVJR2g16OuVEMJfPc71PsgbXsgZi5","object":"chat.completion.chunk","created":1776355248,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"LbE80bFm0"} + data: {"id":"chatcmpl-DeM98zDiEpvIiAKfsQ3YPhkT5Mqy5","object":"chat.completion.chunk","created":1778510622,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"YiDd3TeM3"} - data: {"id":"chatcmpl-DVJR2g16OuVEMJfPc71PsgbXsgZi5","object":"chat.completion.chunk","created":1776355248,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"9a4YJPfTJN"} + data: {"id":"chatcmpl-DeM98zDiEpvIiAKfsQ3YPhkT5Mqy5","object":"chat.completion.chunk","created":1778510622,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Uo9dDYjadk"} - data: {"id":"chatcmpl-DVJR2g16OuVEMJfPc71PsgbXsgZi5","object":"chat.completion.chunk","created":1776355248,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"dfuGxrKK2"} + data: {"id":"chatcmpl-DeM98zDiEpvIiAKfsQ3YPhkT5Mqy5","object":"chat.completion.chunk","created":1778510622,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"uaoi7XgXv"} - data: {"id":"chatcmpl-DVJR2g16OuVEMJfPc71PsgbXsgZi5","object":"chat.completion.chunk","created":1776355248,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"lADw"} + data: {"id":"chatcmpl-DeM98zDiEpvIiAKfsQ3YPhkT5Mqy5","object":"chat.completion.chunk","created":1778510622,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"kPyg"} - data: {"id":"chatcmpl-DVJR2g16OuVEMJfPc71PsgbXsgZi5","object":"chat.completion.chunk","created":1776355248,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"SBlRyTkLcr"} + data: {"id":"chatcmpl-DeM98zDiEpvIiAKfsQ3YPhkT5Mqy5","object":"chat.completion.chunk","created":1778510622,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"MQIo5Om8Le"} - data: {"id":"chatcmpl-DVJR2g16OuVEMJfPc71PsgbXsgZi5","object":"chat.completion.chunk","created":1776355248,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Z5x02YIEy"} + data: {"id":"chatcmpl-DeM98zDiEpvIiAKfsQ3YPhkT5Mqy5","object":"chat.completion.chunk","created":1778510622,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"2mynv8hZS"} - data: {"id":"chatcmpl-DVJR2g16OuVEMJfPc71PsgbXsgZi5","object":"chat.completion.chunk","created":1776355248,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"XM44sQWwo2"} + data: {"id":"chatcmpl-DeM98zDiEpvIiAKfsQ3YPhkT5Mqy5","object":"chat.completion.chunk","created":1778510622,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"KlD1mFZ459"} - data: {"id":"chatcmpl-DVJR2g16OuVEMJfPc71PsgbXsgZi5","object":"chat.completion.chunk","created":1776355248,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"dAGxl"} + data: {"id":"chatcmpl-DeM98zDiEpvIiAKfsQ3YPhkT5Mqy5","object":"chat.completion.chunk","created":1778510622,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"xFKw0"} - data: {"id":"chatcmpl-DVJR2g16OuVEMJfPc71PsgbXsgZi5","object":"chat.completion.chunk","created":1776355248,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"aas4PfT9QSS"} + data: {"id":"chatcmpl-DeM98zDiEpvIiAKfsQ3YPhkT5Mqy5","object":"chat.completion.chunk","created":1778510622,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"HtCcekcd1kp"} data: [DONE] @@ -221,13 +221,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed467b12dfc6e57-YYZ + - 9fa1f51b1ecac730-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:00:49 GMT + - Mon, 11 May 2026 14:43:43 GMT Server: - cloudflare Strict-Transport-Security: @@ -243,15 +243,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '251' + - '1028' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=.kOPFYoZN6_UpxOz4awTFwHb8PQdjbIOtPdTzlMmwJ4-1776355248.8239186-1.0.1.1-4_XbLaL_UzmVVjcHiepICHmWTM2zg_jXKpT73i4T2N_GbFvdbXNrCsjDBHZfEqR7OcQFowKFYjLPGxaZ6cLpjNipsTGmdClEE7BsXg7EMxY8HbzaWrVGNhzeSl_UNIwu; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:49 GMT + - __cf_bm=CnT83uZ3stWKN9oZFTT2Twk3kglVxEfxOAWFXfFhTRQ-1778510621.9399948-1.0.1.1-YXckgxuankubklpH0rpDuHNmELE.TeupBZmsfSCEPprZVYqYKdeBS2RN80t0faKELE5w6gRb8DRjQcacBk4gBFhDzA8uXuE7cTBdhQi5kUvf_iUb5uGJ_GbwOqr1Dy3D; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:43 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -267,7 +267,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_e2167a697edc493abf4da3fdfe2c28a5 + - req_db01b9b05401480bb47d1e0f5ca2cc97 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_stream_helper_sync.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_stream_helper_sync.yaml index 2938272b..22d3e7c1 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_stream_helper_sync.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_stream_helper_sync.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -27,11 +27,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -40,41 +40,41 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJQkBPA5HqW8K9GvQJk7HoQvhzze","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"KS687WSkw"} + string: 'data: {"id":"chatcmpl-DeM8fmgeQmK9R4eSCigoVbgrExkPE","object":"chat.completion.chunk","created":1778510593,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"IRFFqkH3g"} - data: {"id":"chatcmpl-DVJQkBPA5HqW8K9GvQJk7HoQvhzze","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"KYJG5TK6l"} + data: {"id":"chatcmpl-DeM8fmgeQmK9R4eSCigoVbgrExkPE","object":"chat.completion.chunk","created":1778510593,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"NmIbnURe2"} - data: {"id":"chatcmpl-DVJQkBPA5HqW8K9GvQJk7HoQvhzze","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"6463msLqj"} + data: {"id":"chatcmpl-DeM8fmgeQmK9R4eSCigoVbgrExkPE","object":"chat.completion.chunk","created":1778510593,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"VX8GhnDhb"} - data: {"id":"chatcmpl-DVJQkBPA5HqW8K9GvQJk7HoQvhzze","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"JV4N8OgqlF"} + data: {"id":"chatcmpl-DeM8fmgeQmK9R4eSCigoVbgrExkPE","object":"chat.completion.chunk","created":1778510593,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"VktzlLVHwA"} - data: {"id":"chatcmpl-DVJQkBPA5HqW8K9GvQJk7HoQvhzze","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"EfC0MFP92"} + data: {"id":"chatcmpl-DeM8fmgeQmK9R4eSCigoVbgrExkPE","object":"chat.completion.chunk","created":1778510593,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"DvGPmcxpQ"} - data: {"id":"chatcmpl-DVJQkBPA5HqW8K9GvQJk7HoQvhzze","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"O1xT"} + data: {"id":"chatcmpl-DeM8fmgeQmK9R4eSCigoVbgrExkPE","object":"chat.completion.chunk","created":1778510593,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Wv43"} - data: {"id":"chatcmpl-DVJQkBPA5HqW8K9GvQJk7HoQvhzze","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"RR4bQzTnRn"} + data: {"id":"chatcmpl-DeM8fmgeQmK9R4eSCigoVbgrExkPE","object":"chat.completion.chunk","created":1778510593,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"3sDAcIGfGi"} - data: {"id":"chatcmpl-DVJQkBPA5HqW8K9GvQJk7HoQvhzze","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"yxgPFXxJI"} + data: {"id":"chatcmpl-DeM8fmgeQmK9R4eSCigoVbgrExkPE","object":"chat.completion.chunk","created":1778510593,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"z686Ca563"} - data: {"id":"chatcmpl-DVJQkBPA5HqW8K9GvQJk7HoQvhzze","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"A5mvK4EP7i"} + data: {"id":"chatcmpl-DeM8fmgeQmK9R4eSCigoVbgrExkPE","object":"chat.completion.chunk","created":1778510593,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"vdjr8MJqYE"} - data: {"id":"chatcmpl-DVJQkBPA5HqW8K9GvQJk7HoQvhzze","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"Gj5rC"} + data: {"id":"chatcmpl-DeM8fmgeQmK9R4eSCigoVbgrExkPE","object":"chat.completion.chunk","created":1778510593,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"ULr9v"} - data: {"id":"chatcmpl-DVJQkBPA5HqW8K9GvQJk7HoQvhzze","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"uUjeMEeD9hp"} + data: {"id":"chatcmpl-DeM8fmgeQmK9R4eSCigoVbgrExkPE","object":"chat.completion.chunk","created":1778510593,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"IMgPnp6i9M4"} data: [DONE] @@ -85,13 +85,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed4673d88bf8af6-YYZ + - 9fa1f46badcfdde5-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:00:30 GMT + - Mon, 11 May 2026 14:43:14 GMT Server: - cloudflare Strict-Transport-Security: @@ -107,15 +107,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '211' + - '350' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=ZBJsbT_MKrsfUQOMKyszx0w8xYXtRnhCyiq9Thpe6I4-1776355230.321712-1.0.1.1-o5I9AReGWEr8lq7uWetjPgRiyC3Tj._Ck8AFm1FkdkDZGmHJkvti_9iBFKeIpvt9JiDFBc.sNDTbeOHdTGq66tGF72KS9lBXYj6Fl71Mzl4uWvZSgltdItFx77Zr5TRZ; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:30 GMT + - __cf_bm=Qwq5_jQzUk72VjT5DCAh2kmdJAVuC2gsSr7XYghhvKo-1778510593.8671393-1.0.1.1-sBUQH_Z.pmNEqhaPd86LaeRkkVuAT5jorj1B5SMxrmcUTFdr_SZfYIb00ZW1dpmAVZNW7soLFNhQs2JMdJIC4lgCwV3j5YuME5BzAOI1LQ3GZk8B1f5WlKjUK28DHVeK; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:14 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -131,7 +131,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_b9cd9e8a2bab4142b91ebeea935c47d2 + - req_822a0fde28ed4786b177a7d52fb062fc status: code: 200 message: OK @@ -151,7 +151,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -163,11 +163,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -176,41 +176,41 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJQkFKqMa3FyycSKTrbfpXBsWHlz","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"TVnZbW0zH"} + string: 'data: {"id":"chatcmpl-DeM8g1ci7LL9kk1CiA1S6BPd2Y860","object":"chat.completion.chunk","created":1778510594,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ApQ15qmSt"} - data: {"id":"chatcmpl-DVJQkFKqMa3FyycSKTrbfpXBsWHlz","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"VhKI4L2WO"} + data: {"id":"chatcmpl-DeM8g1ci7LL9kk1CiA1S6BPd2Y860","object":"chat.completion.chunk","created":1778510594,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"XZ4XZosAb"} - data: {"id":"chatcmpl-DVJQkFKqMa3FyycSKTrbfpXBsWHlz","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"XhsYL2Csf"} + data: {"id":"chatcmpl-DeM8g1ci7LL9kk1CiA1S6BPd2Y860","object":"chat.completion.chunk","created":1778510594,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"6rN3hj7Mv"} - data: {"id":"chatcmpl-DVJQkFKqMa3FyycSKTrbfpXBsWHlz","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"WZZTtivGPx"} + data: {"id":"chatcmpl-DeM8g1ci7LL9kk1CiA1S6BPd2Y860","object":"chat.completion.chunk","created":1778510594,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"YeQjL4Oifo"} - data: {"id":"chatcmpl-DVJQkFKqMa3FyycSKTrbfpXBsWHlz","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Hx5K9Agui"} + data: {"id":"chatcmpl-DeM8g1ci7LL9kk1CiA1S6BPd2Y860","object":"chat.completion.chunk","created":1778510594,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Icm69PvMl"} - data: {"id":"chatcmpl-DVJQkFKqMa3FyycSKTrbfpXBsWHlz","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"VvGD"} + data: {"id":"chatcmpl-DeM8g1ci7LL9kk1CiA1S6BPd2Y860","object":"chat.completion.chunk","created":1778510594,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"MXlv"} - data: {"id":"chatcmpl-DVJQkFKqMa3FyycSKTrbfpXBsWHlz","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"9uWIg9T5YL"} + data: {"id":"chatcmpl-DeM8g1ci7LL9kk1CiA1S6BPd2Y860","object":"chat.completion.chunk","created":1778510594,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"0FcE4z5rIH"} - data: {"id":"chatcmpl-DVJQkFKqMa3FyycSKTrbfpXBsWHlz","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"UhQMEwLuQ"} + data: {"id":"chatcmpl-DeM8g1ci7LL9kk1CiA1S6BPd2Y860","object":"chat.completion.chunk","created":1778510594,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"YJMzmIUs7"} - data: {"id":"chatcmpl-DVJQkFKqMa3FyycSKTrbfpXBsWHlz","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"0bWfnIveQX"} + data: {"id":"chatcmpl-DeM8g1ci7LL9kk1CiA1S6BPd2Y860","object":"chat.completion.chunk","created":1778510594,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"23IBJerGtv"} - data: {"id":"chatcmpl-DVJQkFKqMa3FyycSKTrbfpXBsWHlz","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"VNBVv"} + data: {"id":"chatcmpl-DeM8g1ci7LL9kk1CiA1S6BPd2Y860","object":"chat.completion.chunk","created":1778510594,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"hnBqs"} - data: {"id":"chatcmpl-DVJQkFKqMa3FyycSKTrbfpXBsWHlz","object":"chat.completion.chunk","created":1776355230,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"1iUouWce94F"} + data: {"id":"chatcmpl-DeM8g1ci7LL9kk1CiA1S6BPd2Y860","object":"chat.completion.chunk","created":1778510594,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"QMkPk83cY5G"} data: [DONE] @@ -221,13 +221,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed46740ebd1ab54-YYZ + - 9fa1f4704b81aa9a-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:00:31 GMT + - Mon, 11 May 2026 14:43:15 GMT Server: - cloudflare Strict-Transport-Security: @@ -243,15 +243,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '228' + - '459' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=zMIweBpmDKKfI9kCMaVCQ_.ewUhWzGMH.ebNNz724aE-1776355230.8683329-1.0.1.1-WelIbTXo2EJM6WUjxsE8Ar1zrwmOMa.71Anbncb1diwgMW1On3NlR7deGvSWfxH.2BeMSuagXOw3CLlquaSk0D..ZGmkvdPvQ8D5L.XioJCUXF_XxFCCOTysI4ROdDCn; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:31 GMT + - __cf_bm=noB7syDBySs5t4.kCS2wq.miOdPQxbsIzm.H93SiVLI-1778510594.6031928-1.0.1.1-rOHrBhXhU.8AxcQvNQni5qvG5Q6MWQMiCSMpGX2uTjvh_a.SeqGxX7LZjqa_bXCfdb2dHcg_2LXoqvvlNcWsEGB1GDYEm9lUW54uwJQ20pgarxejADbeJWyGBTDVptxQ; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:15 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -261,13 +261,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999995' + - '149999992' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_3504fcdd306342be91a8dc3a8a5fc143 + - req_9efc6dad3fc543f68952de78a97f4e6e status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_async.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_async.yaml index 60bff088..ac0fda6b 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_async.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_async.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,41 +38,41 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJQzVqyC2Tk429nkmolf90ZmC9HR","object":"chat.completion.chunk","created":1776355245,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"am8p8KZQ5"} + string: 'data: {"id":"chatcmpl-DeM93wZPMm9pz8c7zjWLOq4Q2B75C","object":"chat.completion.chunk","created":1778510617,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Eox5bPfMC"} - data: {"id":"chatcmpl-DVJQzVqyC2Tk429nkmolf90ZmC9HR","object":"chat.completion.chunk","created":1776355245,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"t2QkdbWw5"} + data: {"id":"chatcmpl-DeM93wZPMm9pz8c7zjWLOq4Q2B75C","object":"chat.completion.chunk","created":1778510617,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"dCJeaqIHp"} - data: {"id":"chatcmpl-DVJQzVqyC2Tk429nkmolf90ZmC9HR","object":"chat.completion.chunk","created":1776355245,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"K4X8hOgPx"} + data: {"id":"chatcmpl-DeM93wZPMm9pz8c7zjWLOq4Q2B75C","object":"chat.completion.chunk","created":1778510617,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"F7meqfO8W"} - data: {"id":"chatcmpl-DVJQzVqyC2Tk429nkmolf90ZmC9HR","object":"chat.completion.chunk","created":1776355245,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"XHFqfFEaN0"} + data: {"id":"chatcmpl-DeM93wZPMm9pz8c7zjWLOq4Q2B75C","object":"chat.completion.chunk","created":1778510617,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"e8XR40MAv6"} - data: {"id":"chatcmpl-DVJQzVqyC2Tk429nkmolf90ZmC9HR","object":"chat.completion.chunk","created":1776355245,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"hQVycndJA"} + data: {"id":"chatcmpl-DeM93wZPMm9pz8c7zjWLOq4Q2B75C","object":"chat.completion.chunk","created":1778510617,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"5aKzh2B2a"} - data: {"id":"chatcmpl-DVJQzVqyC2Tk429nkmolf90ZmC9HR","object":"chat.completion.chunk","created":1776355245,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"mOR3"} + data: {"id":"chatcmpl-DeM93wZPMm9pz8c7zjWLOq4Q2B75C","object":"chat.completion.chunk","created":1778510617,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"QyzG"} - data: {"id":"chatcmpl-DVJQzVqyC2Tk429nkmolf90ZmC9HR","object":"chat.completion.chunk","created":1776355245,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"rOrkPm2APJ"} + data: {"id":"chatcmpl-DeM93wZPMm9pz8c7zjWLOq4Q2B75C","object":"chat.completion.chunk","created":1778510617,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"25L1GXMrYC"} - data: {"id":"chatcmpl-DVJQzVqyC2Tk429nkmolf90ZmC9HR","object":"chat.completion.chunk","created":1776355245,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"OQZkssBJ1"} + data: {"id":"chatcmpl-DeM93wZPMm9pz8c7zjWLOq4Q2B75C","object":"chat.completion.chunk","created":1778510617,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"tktwgSQuu"} - data: {"id":"chatcmpl-DVJQzVqyC2Tk429nkmolf90ZmC9HR","object":"chat.completion.chunk","created":1776355245,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Up86f8lEjy"} + data: {"id":"chatcmpl-DeM93wZPMm9pz8c7zjWLOq4Q2B75C","object":"chat.completion.chunk","created":1778510617,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ABgsK3iskO"} - data: {"id":"chatcmpl-DVJQzVqyC2Tk429nkmolf90ZmC9HR","object":"chat.completion.chunk","created":1776355245,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"wqMuv"} + data: {"id":"chatcmpl-DeM93wZPMm9pz8c7zjWLOq4Q2B75C","object":"chat.completion.chunk","created":1778510617,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"KXlaq"} - data: {"id":"chatcmpl-DVJQzVqyC2Tk429nkmolf90ZmC9HR","object":"chat.completion.chunk","created":1776355245,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"cQOYZO2C0tI"} + data: {"id":"chatcmpl-DeM93wZPMm9pz8c7zjWLOq4Q2B75C","object":"chat.completion.chunk","created":1778510617,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"vPDmx8GO0MR"} data: [DONE] @@ -83,13 +83,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed4679c4dab051b-YYZ + - 9fa1f5011e9daab6-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:00:45 GMT + - Mon, 11 May 2026 14:43:38 GMT Server: - cloudflare Strict-Transport-Security: @@ -105,15 +105,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '261' + - '361' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=RBoNoRn3CvDt2Q55PpMkx1yVjLjMWB6IZ.SlRM2XQdU-1776355245.4825563-1.0.1.1-_RaQKwSnYZ5aRqg6TlUQNKztgGL0dghcdvAiuvNnRnorhciK5UbG.2MsTFLOmn0zPy.rQAcXKegYu_HDAec8Ehubit9Ncc8qnaF9.e_AELWAgzhQjXZHPlzfbKzXQm9O; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:45 GMT + - __cf_bm=8biF8dPXEDLN5xpnyBTyR8oe26LXTDbw0ym2Ni.gwRQ-1778510617.7731566-1.0.1.1-QnrrDXUPR6N2fmzqO2sgQP11sW.t0MvGzNK9R5OQMZyElWokW63BI8SgUp4oSPn7Y_2yraAuR2GFRru.OR9PC2ciOhuIcA.TPLc9Saj3XZLmBEnXzz.oG7TCCDzD9FzK; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:38 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -129,7 +129,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_e16c249cef9b447ba731712e9819c5d2 + - req_7908ba3ec4ff4336aa4397fb4b927968 status: code: 200 message: OK @@ -149,7 +149,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -159,11 +159,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -172,41 +172,41 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJR1ll4yGLyDgDNqbj3luR2wPhLh","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"dOF1qbAgW"} + string: 'data: {"id":"chatcmpl-DeM94f8vJHmA8mAOFDCWaiE8SQWgt","object":"chat.completion.chunk","created":1778510618,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"1GCLoDlDD"} - data: {"id":"chatcmpl-DVJR1ll4yGLyDgDNqbj3luR2wPhLh","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"C9GvcvX1l"} + data: {"id":"chatcmpl-DeM94f8vJHmA8mAOFDCWaiE8SQWgt","object":"chat.completion.chunk","created":1778510618,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"m2fPjnnn5"} - data: {"id":"chatcmpl-DVJR1ll4yGLyDgDNqbj3luR2wPhLh","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"63p1147et"} + data: {"id":"chatcmpl-DeM94f8vJHmA8mAOFDCWaiE8SQWgt","object":"chat.completion.chunk","created":1778510618,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"NbJVyeSlP"} - data: {"id":"chatcmpl-DVJR1ll4yGLyDgDNqbj3luR2wPhLh","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"WegoGJEMGS"} + data: {"id":"chatcmpl-DeM94f8vJHmA8mAOFDCWaiE8SQWgt","object":"chat.completion.chunk","created":1778510618,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"FZUluZ1J8a"} - data: {"id":"chatcmpl-DVJR1ll4yGLyDgDNqbj3luR2wPhLh","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"TUWsw2hBY"} + data: {"id":"chatcmpl-DeM94f8vJHmA8mAOFDCWaiE8SQWgt","object":"chat.completion.chunk","created":1778510618,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"83upfeUfu"} - data: {"id":"chatcmpl-DVJR1ll4yGLyDgDNqbj3luR2wPhLh","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"4wLQ"} + data: {"id":"chatcmpl-DeM94f8vJHmA8mAOFDCWaiE8SQWgt","object":"chat.completion.chunk","created":1778510618,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"JYYF"} - data: {"id":"chatcmpl-DVJR1ll4yGLyDgDNqbj3luR2wPhLh","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"KURXrHzhfa"} + data: {"id":"chatcmpl-DeM94f8vJHmA8mAOFDCWaiE8SQWgt","object":"chat.completion.chunk","created":1778510618,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"67Pu785dnV"} - data: {"id":"chatcmpl-DVJR1ll4yGLyDgDNqbj3luR2wPhLh","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"DQdCMVqAA"} + data: {"id":"chatcmpl-DeM94f8vJHmA8mAOFDCWaiE8SQWgt","object":"chat.completion.chunk","created":1778510618,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"6LaAtYABV"} - data: {"id":"chatcmpl-DVJR1ll4yGLyDgDNqbj3luR2wPhLh","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"VRJELx89gG"} + data: {"id":"chatcmpl-DeM94f8vJHmA8mAOFDCWaiE8SQWgt","object":"chat.completion.chunk","created":1778510618,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"DGqCjXS5EJ"} - data: {"id":"chatcmpl-DVJR1ll4yGLyDgDNqbj3luR2wPhLh","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"fsfbC"} + data: {"id":"chatcmpl-DeM94f8vJHmA8mAOFDCWaiE8SQWgt","object":"chat.completion.chunk","created":1778510618,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"KQp2W"} - data: {"id":"chatcmpl-DVJR1ll4yGLyDgDNqbj3luR2wPhLh","object":"chat.completion.chunk","created":1776355247,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"WIoO5I4XVWd"} + data: {"id":"chatcmpl-DeM94f8vJHmA8mAOFDCWaiE8SQWgt","object":"chat.completion.chunk","created":1778510618,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"2IP1xSqFldK"} data: [DONE] @@ -217,13 +217,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed467a5ae13c9d6-YYZ + - 9fa1f505d9d31707-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:00:47 GMT + - Mon, 11 May 2026 14:43:39 GMT Server: - cloudflare Strict-Transport-Security: @@ -239,15 +239,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '303' + - '598' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=fesLdCZSOr5kW3MJwB7AoYLGKcl_md9BZHqxzoYrAK4-1776355246.9901502-1.0.1.1-ccAb0DT9JpVeW2gR_Mzc7GDqTMyIe_bhygD9zhZoxo19yhytlEVDJzVeh.6fRtHUD52gT54dWwoSvWc_58YL5P.8SgWDjtHoJUS3oiO5Arv4Qf7iCrinnbgCS8g8wpD6; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:47 GMT + - __cf_bm=DfCmUixQyfMBY87epulFnLkQU65o99.1cwmaTT675T4-1778510618.538045-1.0.1.1-TP37R1kUUNr9Pg9eYeekvJkTTRQ_7_gIrCMBEqkyF9.mavD71QbMw3g3nUDLd4jxjOO7wnf3TFpsTkAQGmGWkjbJnZB2_E7wJhWyLEG9RSziIx3BeFBEod9bY3xyJ0dF; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:39 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -257,13 +257,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999995' + - '149999992' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_6f0ee8a720a445f3a6da5df4c668e096 + - req_bca0492cdc1947a09dbf85932818f2ed status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_async_context_manager_partial_close.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_async_context_manager_partial_close.yaml index b60c6ef8..124aaad4 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_async_context_manager_partial_close.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_async_context_manager_partial_close.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.33.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,41 +38,41 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DaP3lh3K5wT4i4CXx9FaRRh5qCpmQ","object":"chat.completion.chunk","created":1777568509,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gx4KfIlvb"} + string: 'data: {"id":"chatcmpl-DeM96R6fEcxwOz9COIJGb3DwSqLH8","object":"chat.completion.chunk","created":1778510620,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"HMcd1LSYv"} - data: {"id":"chatcmpl-DaP3lh3K5wT4i4CXx9FaRRh5qCpmQ","object":"chat.completion.chunk","created":1777568509,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"B5mv6h2Mh"} + data: {"id":"chatcmpl-DeM96R6fEcxwOz9COIJGb3DwSqLH8","object":"chat.completion.chunk","created":1778510620,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"a1Bw6HpSM"} - data: {"id":"chatcmpl-DaP3lh3K5wT4i4CXx9FaRRh5qCpmQ","object":"chat.completion.chunk","created":1777568509,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":" - +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"iXepakx6R"} + data: {"id":"chatcmpl-DeM96R6fEcxwOz9COIJGb3DwSqLH8","object":"chat.completion.chunk","created":1778510620,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ujZVrBRvP"} - data: {"id":"chatcmpl-DaP3lh3K5wT4i4CXx9FaRRh5qCpmQ","object":"chat.completion.chunk","created":1777568509,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"vfzgWjoEI0"} + data: {"id":"chatcmpl-DeM96R6fEcxwOz9COIJGb3DwSqLH8","object":"chat.completion.chunk","created":1778510620,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"DMOmUWyhqx"} - data: {"id":"chatcmpl-DaP3lh3K5wT4i4CXx9FaRRh5qCpmQ","object":"chat.completion.chunk","created":1777568509,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"HH05o2UNl"} + data: {"id":"chatcmpl-DeM96R6fEcxwOz9COIJGb3DwSqLH8","object":"chat.completion.chunk","created":1778510620,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"SbeWGEMKC"} - data: {"id":"chatcmpl-DaP3lh3K5wT4i4CXx9FaRRh5qCpmQ","object":"chat.completion.chunk","created":1777568509,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":" - equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"zUGv"} + data: {"id":"chatcmpl-DeM96R6fEcxwOz9COIJGb3DwSqLH8","object":"chat.completion.chunk","created":1778510620,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"e9Xt"} - data: {"id":"chatcmpl-DaP3lh3K5wT4i4CXx9FaRRh5qCpmQ","object":"chat.completion.chunk","created":1777568509,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"HUjGagOUzW"} + data: {"id":"chatcmpl-DeM96R6fEcxwOz9COIJGb3DwSqLH8","object":"chat.completion.chunk","created":1778510620,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"aQfXzEkCCH"} - data: {"id":"chatcmpl-DaP3lh3K5wT4i4CXx9FaRRh5qCpmQ","object":"chat.completion.chunk","created":1777568509,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gVRw95mmy"} + data: {"id":"chatcmpl-DeM96R6fEcxwOz9COIJGb3DwSqLH8","object":"chat.completion.chunk","created":1778510620,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ah0TbL1Qm"} - data: {"id":"chatcmpl-DaP3lh3K5wT4i4CXx9FaRRh5qCpmQ","object":"chat.completion.chunk","created":1777568509,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"jw2jxUOLsZ"} + data: {"id":"chatcmpl-DeM96R6fEcxwOz9COIJGb3DwSqLH8","object":"chat.completion.chunk","created":1778510620,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"pUaWtfRtA5"} - data: {"id":"chatcmpl-DaP3lh3K5wT4i4CXx9FaRRh5qCpmQ","object":"chat.completion.chunk","created":1777568509,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"XDxr4"} + data: {"id":"chatcmpl-DeM96R6fEcxwOz9COIJGb3DwSqLH8","object":"chat.completion.chunk","created":1778510620,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"oe6z7"} - data: {"id":"chatcmpl-DaP3lh3K5wT4i4CXx9FaRRh5qCpmQ","object":"chat.completion.chunk","created":1777568509,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"dSLeWLW1hDp"} + data: {"id":"chatcmpl-DeM96R6fEcxwOz9COIJGb3DwSqLH8","object":"chat.completion.chunk","created":1778510620,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"bcIUkqyWoUC"} data: [DONE] @@ -83,13 +83,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f481c4e5f8c2388-YYZ + - 9fa1f50f38978eb6-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 30 Apr 2026 17:01:49 GMT + - Mon, 11 May 2026 14:43:40 GMT Server: - cloudflare Strict-Transport-Security: @@ -105,15 +105,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '277' + - '499' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=QywB3514tHjtIGdThPXOt0m7ThaHhXV1rQBF9OsJYIU-1777568509.172762-1.0.1.1-7H90j9FYOovgG7mPEOKNjvhgvHzCG8Eq0EVZVzVsdEak4mW8LF4Rq25aiIVq9BBdLfLZ.5lFfA.mVCmtJG9r.TdBbKIReGVPKlUiBELlpD2dXP5BmXuN8PdkEQfWupqb; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 30 Apr 2026 - 17:31:49 GMT + - __cf_bm=uw9AOOu33WKGt6QlWL1kRgD.WfP5rfZeX6uNufjdDZk-1778510620.0347412-1.0.1.1-rwvWgRiYac2XMDkwkubLD6H3BeGIJDiHPtnSpHDoxZdP2l2kUCVDHdgqyqYME_.ySI_RcmvgA7rsWpxlDZtG1OfRbjj8_a7x_mreGyiiK3xKIbq1uazRTDBLwCbWIhsC; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:40 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -129,7 +129,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_d0b19b5718d3493ca36ff029df834784 + - req_bd975e6e6fb8466b848d4c42a4a8684a status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_async_http2_context_manager_preserves_wrapper.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_async_http2_context_manager_preserves_wrapper.yaml index afc4749e..2a41666d 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_async_http2_context_manager_preserves_wrapper.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_async_http2_context_manager_preserves_wrapper.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,41 +38,41 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJSz7eNk7nCLgC5jFnOEnpcrEl5I","object":"chat.completion.chunk","created":1776355369,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ljDCCIcxl"} + string: 'data: {"id":"chatcmpl-DeMjOidZaj5Ss4VuXsAjjxPeeBpz9","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ZT5g2Yg6O"} - data: {"id":"chatcmpl-DVJSz7eNk7nCLgC5jFnOEnpcrEl5I","object":"chat.completion.chunk","created":1776355369,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"dvFOGIfdo"} + data: {"id":"chatcmpl-DeMjOidZaj5Ss4VuXsAjjxPeeBpz9","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"FfvdH5Mzu"} - data: {"id":"chatcmpl-DVJSz7eNk7nCLgC5jFnOEnpcrEl5I","object":"chat.completion.chunk","created":1776355369,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"V2uKZnhcP"} + data: {"id":"chatcmpl-DeMjOidZaj5Ss4VuXsAjjxPeeBpz9","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"RljF586WA"} - data: {"id":"chatcmpl-DVJSz7eNk7nCLgC5jFnOEnpcrEl5I","object":"chat.completion.chunk","created":1776355369,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"wJmSrZCgEp"} + data: {"id":"chatcmpl-DeMjOidZaj5Ss4VuXsAjjxPeeBpz9","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"hS2lZMwva3"} - data: {"id":"chatcmpl-DVJSz7eNk7nCLgC5jFnOEnpcrEl5I","object":"chat.completion.chunk","created":1776355369,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"AV6F7n0CB"} + data: {"id":"chatcmpl-DeMjOidZaj5Ss4VuXsAjjxPeeBpz9","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"fjbsEgzfA"} - data: {"id":"chatcmpl-DVJSz7eNk7nCLgC5jFnOEnpcrEl5I","object":"chat.completion.chunk","created":1776355369,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"r8Uz"} + data: {"id":"chatcmpl-DeMjOidZaj5Ss4VuXsAjjxPeeBpz9","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"nug9"} - data: {"id":"chatcmpl-DVJSz7eNk7nCLgC5jFnOEnpcrEl5I","object":"chat.completion.chunk","created":1776355369,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gvtmFbcrir"} + data: {"id":"chatcmpl-DeMjOidZaj5Ss4VuXsAjjxPeeBpz9","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"K3Wv6R1VNt"} - data: {"id":"chatcmpl-DVJSz7eNk7nCLgC5jFnOEnpcrEl5I","object":"chat.completion.chunk","created":1776355369,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Sfwe7eOXU"} + data: {"id":"chatcmpl-DeMjOidZaj5Ss4VuXsAjjxPeeBpz9","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"morhPd92e"} - data: {"id":"chatcmpl-DVJSz7eNk7nCLgC5jFnOEnpcrEl5I","object":"chat.completion.chunk","created":1776355369,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"R2ayPFsyUS"} + data: {"id":"chatcmpl-DeMjOidZaj5Ss4VuXsAjjxPeeBpz9","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"yICxTNAnQ0"} - data: {"id":"chatcmpl-DVJSz7eNk7nCLgC5jFnOEnpcrEl5I","object":"chat.completion.chunk","created":1776355369,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"ytHAb"} + data: {"id":"chatcmpl-DeMjOidZaj5Ss4VuXsAjjxPeeBpz9","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"BP2k0"} - data: {"id":"chatcmpl-DVJSz7eNk7nCLgC5jFnOEnpcrEl5I","object":"chat.completion.chunk","created":1776355369,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"aGFsTZbsELu"} + data: {"id":"chatcmpl-DeMjOidZaj5Ss4VuXsAjjxPeeBpz9","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"vEyykeHOcuY"} data: [DONE] @@ -87,15 +87,15 @@ interactions: cf-cache-status: - DYNAMIC cf-ray: - - 9ed46aa14e0c3786-YYZ + - 9fa22c025c70051b-YYZ content-type: - text/event-stream; charset=utf-8 date: - - Thu, 16 Apr 2026 16:02:49 GMT + - Mon, 11 May 2026 15:21:11 GMT openai-organization: - braintrust-data openai-processing-ms: - - '142' + - '328' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -103,9 +103,9 @@ interactions: server: - cloudflare set-cookie: - - __cf_bm=ZJF5bY9uU0NPGgYgCRy8sav4hOWK94NjtoA0iGFoT10-1776355369.162516-1.0.1.1-DrAk.ib948hcOOc4ZpmTs0Dz7zUvycxx7gS8kuo7VUfWA04.wDttUE.b_IIDGPkf4HVpJ1hYJbSc1ANv27NzX_oUa1sHTnM7Y7MVGi_WOczxbeW9YwXWMZVZThtY.jGy; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:49 GMT + - __cf_bm=uDwU8Fms5U_2Td8DD7y6huf8tt4P4twjqVZ4dRT7qQI-1778512870.776547-1.0.1.1-t9ppB1mK8Q8KEK2K6gMZFC4Yhmztlkz_cb8E2qpyo52BKDd8TtYVkv1eQgW4Fr87U1LE4ksJAigbhYgmv0dCN_mG6ZnwVBMkm78QYyO1_WqTYtFZDykT.GLwBqrrPwBT; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:51:11 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload x-content-type-options: @@ -125,7 +125,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_8d9ab7ad2de14f1ea4f84464650c4f7b + - req_d5c96ec68dc746dfbeb5e9cdeb7396ec status: code: 200 message: null diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync.yaml index c5ebeaa0..c94b89ac 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,41 +38,41 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJQibPEipcz2uSWUuSLM46oV8HIy","object":"chat.completion.chunk","created":1776355228,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"yBmz9lb9c"} + string: 'data: {"id":"chatcmpl-DeM8dbBLylFLNJzgv3taJyt2QXyhA","object":"chat.completion.chunk","created":1778510591,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"bZoK2EMso"} - data: {"id":"chatcmpl-DVJQibPEipcz2uSWUuSLM46oV8HIy","object":"chat.completion.chunk","created":1776355228,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"OI2OfMAih"} + data: {"id":"chatcmpl-DeM8dbBLylFLNJzgv3taJyt2QXyhA","object":"chat.completion.chunk","created":1778510591,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"IHMHzoByZ"} - data: {"id":"chatcmpl-DVJQibPEipcz2uSWUuSLM46oV8HIy","object":"chat.completion.chunk","created":1776355228,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"QfDn243NM"} + data: {"id":"chatcmpl-DeM8dbBLylFLNJzgv3taJyt2QXyhA","object":"chat.completion.chunk","created":1778510591,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"30QBW84wV"} - data: {"id":"chatcmpl-DVJQibPEipcz2uSWUuSLM46oV8HIy","object":"chat.completion.chunk","created":1776355228,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"orpX4sSZEe"} + data: {"id":"chatcmpl-DeM8dbBLylFLNJzgv3taJyt2QXyhA","object":"chat.completion.chunk","created":1778510591,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"FVYdSs4gAz"} - data: {"id":"chatcmpl-DVJQibPEipcz2uSWUuSLM46oV8HIy","object":"chat.completion.chunk","created":1776355228,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"36wRwvhUG"} + data: {"id":"chatcmpl-DeM8dbBLylFLNJzgv3taJyt2QXyhA","object":"chat.completion.chunk","created":1778510591,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"IHqQyJ4Dy"} - data: {"id":"chatcmpl-DVJQibPEipcz2uSWUuSLM46oV8HIy","object":"chat.completion.chunk","created":1776355228,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"DLmS"} + data: {"id":"chatcmpl-DeM8dbBLylFLNJzgv3taJyt2QXyhA","object":"chat.completion.chunk","created":1778510591,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"7I4q"} - data: {"id":"chatcmpl-DVJQibPEipcz2uSWUuSLM46oV8HIy","object":"chat.completion.chunk","created":1776355228,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"IFeDZ9d80h"} + data: {"id":"chatcmpl-DeM8dbBLylFLNJzgv3taJyt2QXyhA","object":"chat.completion.chunk","created":1778510591,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"R7wbmWPtbT"} - data: {"id":"chatcmpl-DVJQibPEipcz2uSWUuSLM46oV8HIy","object":"chat.completion.chunk","created":1776355228,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Mha6rly7l"} + data: {"id":"chatcmpl-DeM8dbBLylFLNJzgv3taJyt2QXyhA","object":"chat.completion.chunk","created":1778510591,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"lojqCNblV"} - data: {"id":"chatcmpl-DVJQibPEipcz2uSWUuSLM46oV8HIy","object":"chat.completion.chunk","created":1776355228,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Zwt9adJEA8"} + data: {"id":"chatcmpl-DeM8dbBLylFLNJzgv3taJyt2QXyhA","object":"chat.completion.chunk","created":1778510591,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"6rWIl80por"} - data: {"id":"chatcmpl-DVJQibPEipcz2uSWUuSLM46oV8HIy","object":"chat.completion.chunk","created":1776355228,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"dE0Oe"} + data: {"id":"chatcmpl-DeM8dbBLylFLNJzgv3taJyt2QXyhA","object":"chat.completion.chunk","created":1778510591,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"bkQG9"} - data: {"id":"chatcmpl-DVJQibPEipcz2uSWUuSLM46oV8HIy","object":"chat.completion.chunk","created":1776355228,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"feF6KlIQ5jo"} + data: {"id":"chatcmpl-DeM8dbBLylFLNJzgv3taJyt2QXyhA","object":"chat.completion.chunk","created":1778510591,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"fhC7Up12Q0O"} data: [DONE] @@ -83,13 +83,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed4672fea0aab54-YYZ + - 9fa1f45bbf3cf8ac-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:00:28 GMT + - Mon, 11 May 2026 14:43:11 GMT Server: - cloudflare Strict-Transport-Security: @@ -105,15 +105,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '342' + - '374' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=nU_EZZ214Y0OT1DElgYItepv.uKvipIFG9s07cyAdAE-1776355228.1415558-1.0.1.1-2gzqK8rnnVOM.GFouXSilHKixpXDg48PQoXpHK9eKN_NKFMDDlxY5aaQJGp5dFBGEnS2xPPi12bcGVMUZX2vQo3vrJyAFa4sGa0DPbmx1eMKjgFIK3aRvx0OC6LcUcq4; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:28 GMT + - __cf_bm=DlChOgWUf1HTt30TSmY8HBQACQCKIApa7BrokSvDl1k-1778510591.3151526-1.0.1.1-5JMnjiZVKAaaHzOgMkOiQWBV17XgdO8FZ4B9PnewqKShuzLROnZk6GNCbZO5ks_jaP83dmxcR.k2IxXPebLs4YPZQaJgyCX98X9pmljWeaceqICAOofp4dXnYOREORaW; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:11 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -123,13 +123,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999992' + - '149999995' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_d9a17832a38447cb8d5fe84816375902 + - req_9031739968584a52b0f3a8eef947f990 status: code: 200 message: OK @@ -149,7 +149,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -159,11 +159,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -172,41 +172,41 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJQjVyWAkCXXen9J6cE7rYpfvGUm","object":"chat.completion.chunk","created":1776355229,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ePW94IlOw"} + string: 'data: {"id":"chatcmpl-DeM8emdiIjLZnMzNVm5P9ebsnTNAz","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"V5CocvAlq"} - data: {"id":"chatcmpl-DVJQjVyWAkCXXen9J6cE7rYpfvGUm","object":"chat.completion.chunk","created":1776355229,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"dkv5W5cXE"} + data: {"id":"chatcmpl-DeM8emdiIjLZnMzNVm5P9ebsnTNAz","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"7uCXOD3ZA"} - data: {"id":"chatcmpl-DVJQjVyWAkCXXen9J6cE7rYpfvGUm","object":"chat.completion.chunk","created":1776355229,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"fkKjNyrHS"} + data: {"id":"chatcmpl-DeM8emdiIjLZnMzNVm5P9ebsnTNAz","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"pOsJv1Ghp"} - data: {"id":"chatcmpl-DVJQjVyWAkCXXen9J6cE7rYpfvGUm","object":"chat.completion.chunk","created":1776355229,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"vg7ugkN9mC"} + data: {"id":"chatcmpl-DeM8emdiIjLZnMzNVm5P9ebsnTNAz","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"DUHth6rRAp"} - data: {"id":"chatcmpl-DVJQjVyWAkCXXen9J6cE7rYpfvGUm","object":"chat.completion.chunk","created":1776355229,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"VRWQt21zC"} + data: {"id":"chatcmpl-DeM8emdiIjLZnMzNVm5P9ebsnTNAz","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"KVk50qaHN"} - data: {"id":"chatcmpl-DVJQjVyWAkCXXen9J6cE7rYpfvGUm","object":"chat.completion.chunk","created":1776355229,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"GuAf"} + data: {"id":"chatcmpl-DeM8emdiIjLZnMzNVm5P9ebsnTNAz","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ttjC"} - data: {"id":"chatcmpl-DVJQjVyWAkCXXen9J6cE7rYpfvGUm","object":"chat.completion.chunk","created":1776355229,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"A3e6qcTVSf"} + data: {"id":"chatcmpl-DeM8emdiIjLZnMzNVm5P9ebsnTNAz","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"1OANul5cAb"} - data: {"id":"chatcmpl-DVJQjVyWAkCXXen9J6cE7rYpfvGUm","object":"chat.completion.chunk","created":1776355229,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ctTqJV1n0"} + data: {"id":"chatcmpl-DeM8emdiIjLZnMzNVm5P9ebsnTNAz","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gdNN8xfIE"} - data: {"id":"chatcmpl-DVJQjVyWAkCXXen9J6cE7rYpfvGUm","object":"chat.completion.chunk","created":1776355229,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"JCm1Bpg3QX"} + data: {"id":"chatcmpl-DeM8emdiIjLZnMzNVm5P9ebsnTNAz","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"NjETZeTwG2"} - data: {"id":"chatcmpl-DVJQjVyWAkCXXen9J6cE7rYpfvGUm","object":"chat.completion.chunk","created":1776355229,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"RPZmI"} + data: {"id":"chatcmpl-DeM8emdiIjLZnMzNVm5P9ebsnTNAz","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"d9vxG"} - data: {"id":"chatcmpl-DVJQjVyWAkCXXen9J6cE7rYpfvGUm","object":"chat.completion.chunk","created":1776355229,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"DoBQO4s8qi1"} + data: {"id":"chatcmpl-DeM8emdiIjLZnMzNVm5P9ebsnTNAz","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"n7Mo4WqKeGx"} data: [DONE] @@ -217,13 +217,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed467399964ab27-YYZ + - 9fa1f4606f414cc4-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:00:30 GMT + - Mon, 11 May 2026 14:43:12 GMT Server: - cloudflare Strict-Transport-Security: @@ -239,15 +239,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '267' + - '313' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=O47LpP9jebN0XkGIZA5p5JxpycLPGpwlHekvJnW1oSM-1776355229.6916163-1.0.1.1-66_8qjAaMwEk1PeyoT9NOt.Xx9ftwV2G_3MG08kf34NeSgbiPb3G6UCi27HZSUxZkls7SCo7Zcau5O..slMQlHlYgpsqSKSdtUkp5_bzK4NZbxpes1WtEhoB9tG27i_6; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:30 GMT + - __cf_bm=S85tCiixWmUhJDfsNtcaj5ax1njM2hGdJKv6kw_8YJI-1778510592.0642972-1.0.1.1-aHX0hmUX_dM4iuL2Swv2.VA6l8KnypC_by.jGWvujfZ8KJU.mGYS0Ad3vj76.l3ptOIINlOY8wjao.T1KqaAz0Np2aj5yyeaRB24ZJvKPn1LxlIye0Or.0Sr8SiG3R1S; + HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, + 11 May 2026 15:13:12 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -257,13 +257,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999995' + - '149999992' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_95f197678cf14ee9a6adb04c9f1c4664 + - req_3f835cda696d40aca55c16a12d3f384f status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_context_manager_partial_close.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_context_manager_partial_close.yaml index b554c5a5..556495b6 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_context_manager_partial_close.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_context_manager_partial_close.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.33.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,41 +38,41 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DaP3kDkLi6jKNsbUO5AtqGhyg04cF","object":"chat.completion.chunk","created":1777568508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"7EEXN1Mhe"} + string: 'data: {"id":"chatcmpl-DeM8eN3iEsjLKu80fPBCDREhlExgy","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"o9rhgvgqA"} - data: {"id":"chatcmpl-DaP3kDkLi6jKNsbUO5AtqGhyg04cF","object":"chat.completion.chunk","created":1777568508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ldaaXu6se"} + data: {"id":"chatcmpl-DeM8eN3iEsjLKu80fPBCDREhlExgy","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"O4Fx95cAe"} - data: {"id":"chatcmpl-DaP3kDkLi6jKNsbUO5AtqGhyg04cF","object":"chat.completion.chunk","created":1777568508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":" - +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"SiPDytfIw"} + data: {"id":"chatcmpl-DeM8eN3iEsjLKu80fPBCDREhlExgy","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"pJ6nTeKe8"} - data: {"id":"chatcmpl-DaP3kDkLi6jKNsbUO5AtqGhyg04cF","object":"chat.completion.chunk","created":1777568508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"LMSuwAxElz"} + data: {"id":"chatcmpl-DeM8eN3iEsjLKu80fPBCDREhlExgy","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"DBWGUu7NPX"} - data: {"id":"chatcmpl-DaP3kDkLi6jKNsbUO5AtqGhyg04cF","object":"chat.completion.chunk","created":1777568508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"BuVVET5NF"} + data: {"id":"chatcmpl-DeM8eN3iEsjLKu80fPBCDREhlExgy","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"2ntWca7QK"} - data: {"id":"chatcmpl-DaP3kDkLi6jKNsbUO5AtqGhyg04cF","object":"chat.completion.chunk","created":1777568508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":" - equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"fecv"} + data: {"id":"chatcmpl-DeM8eN3iEsjLKu80fPBCDREhlExgy","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"FUH2"} - data: {"id":"chatcmpl-DaP3kDkLi6jKNsbUO5AtqGhyg04cF","object":"chat.completion.chunk","created":1777568508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Wp3iXGRQbL"} + data: {"id":"chatcmpl-DeM8eN3iEsjLKu80fPBCDREhlExgy","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"nsIRtzSuq5"} - data: {"id":"chatcmpl-DaP3kDkLi6jKNsbUO5AtqGhyg04cF","object":"chat.completion.chunk","created":1777568508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"p5ka3gXac"} + data: {"id":"chatcmpl-DeM8eN3iEsjLKu80fPBCDREhlExgy","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ZLKcDiHAj"} - data: {"id":"chatcmpl-DaP3kDkLi6jKNsbUO5AtqGhyg04cF","object":"chat.completion.chunk","created":1777568508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"AX8vwO6U3S"} + data: {"id":"chatcmpl-DeM8eN3iEsjLKu80fPBCDREhlExgy","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"SJdjf6Y2Ul"} - data: {"id":"chatcmpl-DaP3kDkLi6jKNsbUO5AtqGhyg04cF","object":"chat.completion.chunk","created":1777568508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"YkqMP"} + data: {"id":"chatcmpl-DeM8eN3iEsjLKu80fPBCDREhlExgy","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"ad6EK"} - data: {"id":"chatcmpl-DaP3kDkLi6jKNsbUO5AtqGhyg04cF","object":"chat.completion.chunk","created":1777568508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"1snGFX26mvn"} + data: {"id":"chatcmpl-DeM8eN3iEsjLKu80fPBCDREhlExgy","object":"chat.completion.chunk","created":1778510592,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"PstxrxLmTay"} data: [DONE] @@ -83,13 +83,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f481c450c1ab409-YYZ + - 9fa1f4650b51a06e-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 30 Apr 2026 17:01:48 GMT + - Mon, 11 May 2026 14:43:13 GMT Server: - cloudflare Strict-Transport-Security: @@ -105,15 +105,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '267' + - '627' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=9nwZgXQRDvLtfvNDghPGoQgGKtpquPSsy_cAGRVAyBE-1777568507.6890652-1.0.1.1-DpPuJzPQ6FA3ge7inY85LWYfYXwLGfKjqwJ5tkpdGkoNiqobUuUxcU_ur_paRDJ_1Y7HkNxNFWT3G6Kt5z_fBhIkW_kWG8ms96fzMOrXIkeX3CfmoIAHni1FosVdM9A.; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 30 Apr 2026 - 17:31:48 GMT + - __cf_bm=pK5h4OSC7CWBeSBnokts6civKZY2ZMDDMGyxl2E3IDA-1778510592.8034294-1.0.1.1-NVehU3iYicUz2TNceWhuGFpezPmB82Y.mBDVyt53mdyjRSoSVkycrIWF3jFoofh4Ho6k64Ni53Md33GOLtrMZnP5d4j02g_kLlD1Ji.QHqFOdVF.GaboxUC5ORjVdNu_; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:13 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -123,13 +123,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999995' + - '149999992' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_3f0a809679014c3bab493ee97c82f86b + - req_03c32df962544914ad084bf64ee5ad25 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_http2_context_manager_preserves_wrapper.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_http2_context_manager_preserves_wrapper.yaml index 100dcc00..2493b134 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_http2_context_manager_preserves_wrapper.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_http2_context_manager_preserves_wrapper.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,41 +38,41 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJSyDOYkpYJqJIUKXvzj65ts6kcq","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"fqdwX9RRM"} + string: 'data: {"id":"chatcmpl-DeMjOLkVBkYQlXItS8bkkHBERoSXG","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"p1T5Gz6Zh"} - data: {"id":"chatcmpl-DVJSyDOYkpYJqJIUKXvzj65ts6kcq","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"zCqzYmfhQ"} + data: {"id":"chatcmpl-DeMjOLkVBkYQlXItS8bkkHBERoSXG","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"jXbVnH0OO"} - data: {"id":"chatcmpl-DVJSyDOYkpYJqJIUKXvzj65ts6kcq","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"CDux7X2FY"} + data: {"id":"chatcmpl-DeMjOLkVBkYQlXItS8bkkHBERoSXG","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"yEoBG4P1t"} - data: {"id":"chatcmpl-DVJSyDOYkpYJqJIUKXvzj65ts6kcq","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"cc1D4BEG59"} + data: {"id":"chatcmpl-DeMjOLkVBkYQlXItS8bkkHBERoSXG","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gHQPFA9GqH"} - data: {"id":"chatcmpl-DVJSyDOYkpYJqJIUKXvzj65ts6kcq","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"zM2r7HR7n"} + data: {"id":"chatcmpl-DeMjOLkVBkYQlXItS8bkkHBERoSXG","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"U1r7xajHk"} - data: {"id":"chatcmpl-DVJSyDOYkpYJqJIUKXvzj65ts6kcq","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"dz7X"} + data: {"id":"chatcmpl-DeMjOLkVBkYQlXItS8bkkHBERoSXG","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"i4GN"} - data: {"id":"chatcmpl-DVJSyDOYkpYJqJIUKXvzj65ts6kcq","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"R7SGSmWuzn"} + data: {"id":"chatcmpl-DeMjOLkVBkYQlXItS8bkkHBERoSXG","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"NDAh9tRePY"} - data: {"id":"chatcmpl-DVJSyDOYkpYJqJIUKXvzj65ts6kcq","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"mVFJ2ziWj"} + data: {"id":"chatcmpl-DeMjOLkVBkYQlXItS8bkkHBERoSXG","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"VK5zFXOaC"} - data: {"id":"chatcmpl-DVJSyDOYkpYJqJIUKXvzj65ts6kcq","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"yGQqjSG2hF"} + data: {"id":"chatcmpl-DeMjOLkVBkYQlXItS8bkkHBERoSXG","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"s9Bn7FlraZ"} - data: {"id":"chatcmpl-DVJSyDOYkpYJqJIUKXvzj65ts6kcq","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"Osk2p"} + data: {"id":"chatcmpl-DeMjOLkVBkYQlXItS8bkkHBERoSXG","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"N0PKZ"} - data: {"id":"chatcmpl-DVJSyDOYkpYJqJIUKXvzj65ts6kcq","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"5M3KmCvdwBW"} + data: {"id":"chatcmpl-DeMjOLkVBkYQlXItS8bkkHBERoSXG","object":"chat.completion.chunk","created":1778512870,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"NkwiFCys02k"} data: [DONE] @@ -87,15 +87,15 @@ interactions: cf-cache-status: - DYNAMIC cf-ray: - - 9ed46a9dea1460a9-YYZ + - 9fa22bfc6bb474a5-YYZ content-type: - text/event-stream; charset=utf-8 date: - - Thu, 16 Apr 2026 16:02:48 GMT + - Mon, 11 May 2026 15:21:10 GMT openai-organization: - braintrust-data openai-processing-ms: - - '172' + - '418' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -103,9 +103,9 @@ interactions: server: - cloudflare set-cookie: - - __cf_bm=1GvoXqz0tFeqeIG9tU2AxlFrs4T5ro3x2t1feLsVw3Y-1776355368.6307478-1.0.1.1-QM4QOAuCL.sMFWXf5B3zj1CQ9ecL9wHwHIZuYk96n0SrM.poj0BONKQo6hnRL1JNkaDgMsrpeXsjzmBPLVqSedLSQVqjMp._l97NpIHG2pZyxm1Xu2lPdpBOBzhvTznu; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:48 GMT + - __cf_bm=loavXfOCgUb5UHNiCDfyQWSttXhlqIuH5geTMBb7SmM-1778512869.8283386-1.0.1.1-.1ejh9y1J69xTB.oWLPrJjDGoTWkkI2jt626iIuKz7e0AB8jXiJz7XJhZRxz6ykPsEf3zjMtfqsLlBw8l8j.xqdV.I.aEmfO2CITH4tptt0b52EOgSGyEToS.MuxfBV.; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:51:10 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload x-content-type-options: @@ -119,13 +119,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999992' + - '149999995' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_142778b85ae747449d4adf18f043d8b6 + - req_12c5cce32c8b46ffb4d7e9c7419965ac status: code: 200 message: null diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_http2_preserves_stream_interface.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_http2_preserves_stream_interface.yaml index e2e00f83..31cab9c4 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_http2_preserves_stream_interface.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_http2_preserves_stream_interface.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,41 +38,41 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJSxDe6OcIJXilj5vO4YKeAKjWzJ","object":"chat.completion.chunk","created":1776355367,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"kH5H84rCg"} + string: 'data: {"id":"chatcmpl-DeMjMeuFdUNHSgC1b1X6hcdRCFJFI","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Ux0Yycw7u"} - data: {"id":"chatcmpl-DVJSxDe6OcIJXilj5vO4YKeAKjWzJ","object":"chat.completion.chunk","created":1776355367,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Sk2B9zB25"} + data: {"id":"chatcmpl-DeMjMeuFdUNHSgC1b1X6hcdRCFJFI","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"V8BfPZbUT"} - data: {"id":"chatcmpl-DVJSxDe6OcIJXilj5vO4YKeAKjWzJ","object":"chat.completion.chunk","created":1776355367,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"LA5QUOVAg"} + data: {"id":"chatcmpl-DeMjMeuFdUNHSgC1b1X6hcdRCFJFI","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"dgn8lZOR5"} - data: {"id":"chatcmpl-DVJSxDe6OcIJXilj5vO4YKeAKjWzJ","object":"chat.completion.chunk","created":1776355367,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"md1ScuenLC"} + data: {"id":"chatcmpl-DeMjMeuFdUNHSgC1b1X6hcdRCFJFI","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"MK7mGSL4Om"} - data: {"id":"chatcmpl-DVJSxDe6OcIJXilj5vO4YKeAKjWzJ","object":"chat.completion.chunk","created":1776355367,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"wsbYzJYrx"} + data: {"id":"chatcmpl-DeMjMeuFdUNHSgC1b1X6hcdRCFJFI","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"weM7vIQua"} - data: {"id":"chatcmpl-DVJSxDe6OcIJXilj5vO4YKeAKjWzJ","object":"chat.completion.chunk","created":1776355367,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"P26J"} + data: {"id":"chatcmpl-DeMjMeuFdUNHSgC1b1X6hcdRCFJFI","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"pPut"} - data: {"id":"chatcmpl-DVJSxDe6OcIJXilj5vO4YKeAKjWzJ","object":"chat.completion.chunk","created":1776355367,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"81QZy0WTEb"} + data: {"id":"chatcmpl-DeMjMeuFdUNHSgC1b1X6hcdRCFJFI","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"peMMREFbkK"} - data: {"id":"chatcmpl-DVJSxDe6OcIJXilj5vO4YKeAKjWzJ","object":"chat.completion.chunk","created":1776355367,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"FAQuewlni"} + data: {"id":"chatcmpl-DeMjMeuFdUNHSgC1b1X6hcdRCFJFI","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"4PkSHDH00"} - data: {"id":"chatcmpl-DVJSxDe6OcIJXilj5vO4YKeAKjWzJ","object":"chat.completion.chunk","created":1776355367,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"08Nhx79abL"} + data: {"id":"chatcmpl-DeMjMeuFdUNHSgC1b1X6hcdRCFJFI","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"utsUl0RuZs"} - data: {"id":"chatcmpl-DVJSxDe6OcIJXilj5vO4YKeAKjWzJ","object":"chat.completion.chunk","created":1776355367,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"ydWlC"} + data: {"id":"chatcmpl-DeMjMeuFdUNHSgC1b1X6hcdRCFJFI","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"riQbH"} - data: {"id":"chatcmpl-DVJSxDe6OcIJXilj5vO4YKeAKjWzJ","object":"chat.completion.chunk","created":1776355367,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"9bNofiOe7If"} + data: {"id":"chatcmpl-DeMjMeuFdUNHSgC1b1X6hcdRCFJFI","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"ff2ahqJh2Ow"} data: [DONE] @@ -87,15 +87,15 @@ interactions: cf-cache-status: - DYNAMIC cf-ray: - - 9ed46a974d7ba211-YYZ + - 9fa22bf13afdaab3-YYZ content-type: - text/event-stream; charset=utf-8 date: - - Thu, 16 Apr 2026 16:02:47 GMT + - Mon, 11 May 2026 15:21:08 GMT openai-organization: - braintrust-data openai-processing-ms: - - '171' + - '333' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -103,9 +103,9 @@ interactions: server: - cloudflare set-cookie: - - __cf_bm=Q1QF8.it7Yk.jSNpGFgVpkYTCt481_rkcU8hilkkmYA-1776355367.563539-1.0.1.1-QnWOrh1fcRfIDLiOUm.XXSUGPbwo1iQ3Fwcji_tXLj598pQNxKoVN8D2cK4dknFe7YJbaQqWBGWNOvAZFQKcmfRI1XRuZ7ikb2KS19prxFP0FIg5hpTkVsLmJgmm400L; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:47 GMT + - __cf_bm=D7w16E1ckBNSnTfNC1J8PWgSm899sk78DmAgb0O8lUs-1778512868.0335855-1.0.1.1-pOL.ZNl3PJ.p54f8SwByfCjO7fFrIiKxrV8XhTVBzQYccrYEev2fsPkEh.TBpaHBwIr2qnJV99DlyBc9sreciEG1woU34AxsYfdMgcol3k.Q9SWUlXHaXfQBVDoEj.2V; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:51:08 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload x-content-type-options: @@ -119,13 +119,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999995' + - '149999992' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_624b848ac22f4376b9099db965155a2f + - req_5356bec255b04349bb281f7e6b35af9b status: code: 200 message: null @@ -145,7 +145,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -155,11 +155,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -168,41 +168,41 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJSyJEMz8gvmckynQ7oD7OUrTXhL","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"W3xdziRUl"} + string: 'data: {"id":"chatcmpl-DeMjME44TsueUhMrAaXi7bHc0C0tc","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"BLBVEK4zl"} - data: {"id":"chatcmpl-DVJSyJEMz8gvmckynQ7oD7OUrTXhL","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Mu5uTF3V2"} + data: {"id":"chatcmpl-DeMjME44TsueUhMrAaXi7bHc0C0tc","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"uhidnwNBs"} - data: {"id":"chatcmpl-DVJSyJEMz8gvmckynQ7oD7OUrTXhL","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"abGRVCQk5"} + data: {"id":"chatcmpl-DeMjME44TsueUhMrAaXi7bHc0C0tc","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"iUBssdiII"} - data: {"id":"chatcmpl-DVJSyJEMz8gvmckynQ7oD7OUrTXhL","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"kNNRPH0LKJ"} + data: {"id":"chatcmpl-DeMjME44TsueUhMrAaXi7bHc0C0tc","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"JzSOtMDJQa"} - data: {"id":"chatcmpl-DVJSyJEMz8gvmckynQ7oD7OUrTXhL","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"bWdYZbEZ3"} + data: {"id":"chatcmpl-DeMjME44TsueUhMrAaXi7bHc0C0tc","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"RB8PI8PrF"} - data: {"id":"chatcmpl-DVJSyJEMz8gvmckynQ7oD7OUrTXhL","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"SxfL"} + data: {"id":"chatcmpl-DeMjME44TsueUhMrAaXi7bHc0C0tc","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"9qpB"} - data: {"id":"chatcmpl-DVJSyJEMz8gvmckynQ7oD7OUrTXhL","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gyQ9KyfoxE"} + data: {"id":"chatcmpl-DeMjME44TsueUhMrAaXi7bHc0C0tc","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"LaJlpLmDmA"} - data: {"id":"chatcmpl-DVJSyJEMz8gvmckynQ7oD7OUrTXhL","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"4VoPoyzL3"} + data: {"id":"chatcmpl-DeMjME44TsueUhMrAaXi7bHc0C0tc","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"wfvgzyqCK"} - data: {"id":"chatcmpl-DVJSyJEMz8gvmckynQ7oD7OUrTXhL","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"OAtzAFRnnL"} + data: {"id":"chatcmpl-DeMjME44TsueUhMrAaXi7bHc0C0tc","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"jR6Q3w9YR5"} - data: {"id":"chatcmpl-DVJSyJEMz8gvmckynQ7oD7OUrTXhL","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"llwsn"} + data: {"id":"chatcmpl-DeMjME44TsueUhMrAaXi7bHc0C0tc","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"6HFG1"} - data: {"id":"chatcmpl-DVJSyJEMz8gvmckynQ7oD7OUrTXhL","object":"chat.completion.chunk","created":1776355368,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"qEQWzXOR0ue"} + data: {"id":"chatcmpl-DeMjME44TsueUhMrAaXi7bHc0C0tc","object":"chat.completion.chunk","created":1778512868,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"0OueJYAyjze"} data: [DONE] @@ -217,15 +217,15 @@ interactions: cf-cache-status: - DYNAMIC cf-ray: - - 9ed46a9a9f8071ff-YYZ + - 9fa22bf5ff0bac63-YYZ content-type: - text/event-stream; charset=utf-8 date: - - Thu, 16 Apr 2026 16:02:48 GMT + - Mon, 11 May 2026 15:21:09 GMT openai-organization: - braintrust-data openai-processing-ms: - - '164' + - '527' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -233,9 +233,9 @@ interactions: server: - cloudflare set-cookie: - - __cf_bm=P9YmGGkWETvtFa29GNClrz9FKPQzhld6DKrWgwjo3GE-1776355368.0954978-1.0.1.1-wYxzh9GUV5p_idGqJ9k8je0XNhn_qL3Wjme7kdZoQd25D9JRMQ5aFnMWIIWHfj.pFO7dZl1qYEpH6OER9.11I8vthjqSXrGvbb8xDbNt51qLYsV3RuwMvmNcD.FoN7.D; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:48 GMT + - __cf_bm=QXOjpy.0HGaVfHJFaTGygHZEPmgKWKa7Ri1cJ6QBuEU-1778512868.7985497-1.0.1.1-r43BDnM.p13BIGMHyTCIuvWJBKbWbg2lWwB02afQURtkM71XqFITXdpKsJ2gbWYjUeRKkUMPm2PZDtYd8pVfNDqYN_4HeDolLcrcQpHlaCftu7Z0fg8nHFk1eNtA6b4Q; + HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, + 11 May 2026 15:51:09 GMT strict-transport-security: - max-age=31536000; includeSubDomains; preload x-content-type-options: @@ -249,13 +249,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999995' + - '149999992' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_9bf678d4f6c14b4dbcf72d868fb223a3 + - req_b22d93687a1e4c5f999a43595adbcf50 status: code: 200 message: null diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_preserves_audio_attachment.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_preserves_audio_attachment.yaml index 57340a30..3e697825 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_preserves_audio_attachment.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_preserves_audio_attachment.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,70 +38,64 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","choices":[{"index":0,"delta":{"role":"assistant","refusal":null},"finish_reason":null}],"usage":null,"obfuscation":"7fcKdZIW4WybU"} + string: 'data: {"id":"chatcmpl-DeM8m4FnBzz9odhZ6DAKhBsKX9Jaf","object":"chat.completion.chunk","created":1778510600,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_0b7a2791a3","choices":[{"index":0,"delta":{"role":"assistant","refusal":null},"finish_reason":null}],"usage":null,"obfuscation":"bQe68sMn9DMeW"} - data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","choices":[{"index":0,"delta":{"content":null,"audio":{"id":"audio_69e107a1afc481919b3ccd3407c4dee2","transcript":"Hello"}},"finish_reason":null}],"usage":null,"obfuscation":"GYW"} + data: {"id":"chatcmpl-DeM8m4FnBzz9odhZ6DAKhBsKX9Jaf","object":"chat.completion.chunk","created":1778510600,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_0b7a2791a3","choices":[{"index":0,"delta":{"content":null,"audio":{"id":"audio_6a01eb08e2548191a4841d5a69009306","transcript":"Hello"}},"finish_reason":null}],"usage":null,"obfuscation":"pYG"} - data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","choices":[{"index":0,"delta":{"audio":{"transcript":"."}},"finish_reason":null}],"usage":null,"obfuscation":"uGlo"} + data: {"id":"chatcmpl-DeM8m4FnBzz9odhZ6DAKhBsKX9Jaf","object":"chat.completion.chunk","created":1778510600,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_0b7a2791a3","choices":[{"index":0,"delta":{"audio":{"transcript":"."}},"finish_reason":null}],"usage":null,"obfuscation":"VXhQ"} - data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","usage":null,"obfuscation":"rJ6kBt"} + data: {"id":"chatcmpl-DeM8m4FnBzz9odhZ6DAKhBsKX9Jaf","object":"chat.completion.chunk","created":1778510600,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_0b7a2791a3","usage":null,"obfuscation":"I6pzL7"} - data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","usage":null,"obfuscation":"MlHDhZ"} + data: {"id":"chatcmpl-DeM8m4FnBzz9odhZ6DAKhBsKX9Jaf","object":"chat.completion.chunk","created":1778510600,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_0b7a2791a3","usage":null,"obfuscation":"oY964M"} - data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","usage":null,"obfuscation":"VAltnK"} + data: {"id":"chatcmpl-DeM8m4FnBzz9odhZ6DAKhBsKX9Jaf","object":"chat.completion.chunk","created":1778510600,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_0b7a2791a3","usage":null,"obfuscation":"RbEBhK"} - data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","usage":null,"obfuscation":"4VQ2h5"} + data: {"id":"chatcmpl-DeM8m4FnBzz9odhZ6DAKhBsKX9Jaf","object":"chat.completion.chunk","created":1778510600,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_0b7a2791a3","usage":null,"obfuscation":"ydHuz7"} - data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","usage":null,"obfuscation":"i6RYqv"} + data: {"id":"chatcmpl-DeM8m4FnBzz9odhZ6DAKhBsKX9Jaf","object":"chat.completion.chunk","created":1778510600,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_0b7a2791a3","usage":null,"obfuscation":"fvh8Oh"} - data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","usage":null,"obfuscation":"fU9DWT"} + data: {"id":"chatcmpl-DeM8m4FnBzz9odhZ6DAKhBsKX9Jaf","object":"chat.completion.chunk","created":1778510600,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_0b7a2791a3","usage":null,"obfuscation":"QJtsr1"} - data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","usage":null,"obfuscation":"6llvPH"} + data: {"id":"chatcmpl-DeM8m4FnBzz9odhZ6DAKhBsKX9Jaf","object":"chat.completion.chunk","created":1778510600,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_0b7a2791a3","usage":null,"obfuscation":"2wxnHp"} - data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","choices":[{"index":0,"delta":{"role":"assistant","content":null,"refusal":null,"audio":{"id":"audio_69e107a1afc481919b3ccd3407c4dee2","data":"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"}},"finish_reason":null}],"usage":null,"obfuscation":"wRaXbJkSa0bb"} + data: {"id":"chatcmpl-DeM8m4FnBzz9odhZ6DAKhBsKX9Jaf","object":"chat.completion.chunk","created":1778510600,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_0b7a2791a3","choices":[{"index":0,"delta":{"role":"assistant","content":null,"refusal":null,"audio":{"id":"audio_6a01eb08e2548191a4841d5a69009306","data":"DQAHAAgACwAGAAwACAAJAAoADAANAAQABwAFAAkABwAJAAUACAAJAAUABwD//wYAAQAHAAIAAgABAAIAAQD//wUAAwABAAAA/v8AAAEAAAABAPz//P/9//v/+v/5//3/9//8//f//P/6//v/+f/2//v/+f/+//X//f/z//j/8//3//T/8v/2/+//9v/v//n/8f/3//H/7//y/+//9f/s//T/8P/y/+7/7v/w/+3/8f/t//H/7//u//H/6//w/+v/7f/o/+v/8f/s/+z/6f/s/+f/8P/u/+//6//s/+3/7v/t/+3/7v/s/+//6//w/+v/7v/t//H/7//u/+//7//y/+z/7//t/+r/7v/t/+3/8f/x/+//8v/u/+//8P/z//D/9P/y//X/8//3//P/9v/2//X/9P/1//b/+P/4//n/+v/8//n/+f/4//n///8AAPz//f/5//r/+/8AAPv//f/5//f//P/5//3/+//7/wAA9/8DAP7/BwD+/wUABgABAAIA/P8JAP//CgACAAkAAQACAAQA//8KAAAADQAAAAsAAwAIAP//AgAAAP3/CAAFAA8ACgATAAsAFwAPABEAFQAWACEAGgAmAB8ALAAgAB4AGwAbAB4AGQAmAB8AHgAbACIAHwAbAB0AFgAdACEAJQAbABoAGwASAAgACgAQABoAJQAxADsAQgA8ADYAMwAtADEAMgBCAFEAWQBdAFoARgA3ACQAFAAOAAkADQACAAQAAQD9//r//v8IAA8AHQAlACcAHwAQABMAEgAjADMAQwBXAF8AXQBHADMABQDq/83/zf/V/+T/BQAUACAAFAD6/9X/vv+u/6//x//g/wYANABUAGcAWABMACsAIgASAAcACAACABcAGAAtADAALAAtADUAPAA1ADwAHwAMANb/zv/X/wcAWQBkAG0AGwDn/43/bP9n/5b/7v8wAIUAfQCMAHMAYwBjAF0AZgBQADsAEwAAACcAUQCcALsAyQCwAF8AAQB7/z3/Kv9t/9L/FwBGACUABwDr/+j/6/+2/4//Uf9K/1//fP+p/83/HwB2AMgA8wDHAGEA8f+7/7//6/8SABUAEgDe/7T/ev9k/2X/bP99/3r/mf+W/5T/cP91/73/IACFAKgAkQA2AMf/Yf8w/5L/HQB+AGcACQCa/xr/4v7Y/k3/xv8qAE4A/f9h/4X+Cv7e/RX+Xf7N/j3/h/+j/7D/1P/j/6r/Jf+s/qH+4f76/sr+vP4D/zH/Gf8z/jD9XPwM/Mv8V/5BAFkBVwHTADEADgD2/+7/9v84APEAKgG5AIL/ff5J/uP+CwDDAJAAPf9R/dP7mvuo/Fv+0/8SAWICaANvAzMCWAD7/n/+7f5K/6v/yv8CAD0ATgA/AFj/Tf6o/CL83Py//nsAnwCxAG4BKQSHBuAGJQTE/yT8oPqB+yX9Wf89AXkDDwXLBbEEtQG//jD9if7CAAQCogAM/kf8/vyi/3QBMwEo/5/9/vyT/C78Rfwv/aT+PADwAfgCsQJ7AVIAvQArAdEAzP4J/Vz9RgBWBDcH3Qe8BbsBa/1q+vf4Zfiq+NL5+Pvx/hcBtwKsA/sEDwZeBb4CLf6o+/L7RP+TAw8H5AkzCq8IvATVAM/9GPz3+8v8wP6Q/6v/Gv+B/z4AbQBFAB//A/5j/Vb+7/+SAIcAiADuASIDVAOcAaT/e/7l/rkAYAIvA6ICxgH8AIIA5P8q/kf8Bvva+8r9e/9eANMAPAJ7Ay4ERQPeANb9jfvq/PQADwbOB2IHQQb5BG0Cn/7l+7n6VPuG+xX8Jfxi/Eb8Wf06ANMCBATKAQ7/kvxK/fj/EgMsBnsH0Qg+CWsJDgfjAib/3fzp/An9YP1x/Pz62/kO+2T/ggI1Ay0BM//9/R/9ZP6dAScFdAckCasKfgohB/IB7f1m/Kj72/qe+nv7Pv2Q/8IBwAK/AjkCEgKNAWQAC//m/Ub9Lv0O/kAAOgP3BPwE3gP7ATH/hfyh+o363PvF/Lb9+v75AJoCIwPkAY0AQ//F/Yf9nv2B/pL/kAAVAncDFQNUADz9Ifpm90n2W/eQ+4L/9wB0AcsB4wLEArgBowAkAB//nP2S/Sj+IgCLAXADfAUMBRkDBQBG/6n+J/2F+o74D/ns+R77tfxT/0IAev+c/jT+bf55/WX9iP41AT0DJQSoBKwDqQJYAOD+e/79/nAAgQK2A+gD6gJs/xf9Bfvq+WH6B/zH/6kCYQIo/6b9xv2x/t7+D/5K/n/9ovyF/Dn+4P+oAIAA4QAWArkCsgKcAkACIwJ8AmMBhv/3+2H6nfw9AcMCQgGB/rf8TP0V/Xb/oQFEAtYBQwIHBOgDlAICAgYEwwVXBUsCiv3b+GX2CPqf/8sDagSVAXL/z/yM+1H8pf6eAc4EWQd/B7EGQANDATAB7gAUAfkA0AEhAlwBQf8mALUCMgO1AaX9Gfy4+UT34fVg+bf/2wNcBKQCeQPKAp0E0AVvB3EHnwO//tX73vz0/Fv/hAEwBggI3AQj/9n4lvZj9Zv4svx1AvMEZga0CGkJIAhFA8L/6/oV+YX3M/ap9lj5w//QBm0LtQr8B20EUQKqADb+WfsU+hf7cv3q/1wCKASGA5MCpQF3AGj9Mvtr+iv7afxz/e/+qP9tAPcARAK0Abz/Cf1q+fn5cf3OAasEggWvB7wIFgcSBT8Cb/5N+/b62P0mAXEBzgAtAjgERwZUBikECwEB/dX4VfbH9oH6tf85A2AGwghhCKgGKAaEBacEKQEh/SH7M/j09iv2vPgP/nsEzQi1B28DCv1q+tf4pPhD+fr9VwNmBmoI3whxCjIIkgXeA0oDpAGT/P729fQv90H6jfx4++D7+/8e/+775vd6+Yr7afx5/0sCOQbrBBMEuwVkCSgL/wqNB4cBa/y29jL0+PGz8832efmc+zX9f/7J/vUAMQLAAjgDCwMe/+z5W/kf/x0FPwZyBWEEAAM+Aqf/0v2i+8P43/kL/Vf93/yh/igBAQinCggJEQTqABT+B/y5+3r83/2f+rD5K/wsAZQCWANMBdkIxQr3BhUD2/zl+tP6zvxO/w4C8wJ//8D7Aflm+tv8+/6h/1QANP6F/F/7pPshAWkHBA1BDQoJSAQrAJb8L/rZ+nn/twHlApEBwADkAKv/CAIXA0UDRgHq/r7+vv5U/kT/mwGXA+IFAQWNBBoDqQEmAicCRAHX/+z9x/sf/EX9P/0p/iIBkAN6BEgF8ALcAZD8Bvl1+1n7BPzk+cb8rP94BPYFlgY8Bw8FwwKB/17/UP9gAXoABQHWALwAcv9p/AX9Mv75ALUD5ABU/AP79Ph7+vv6+v1dA0QGVQV9A6MFQgXZAl//uf/FAZcB1f4p/nMCjgSzBRwE4QVyBh4Cof/o/eL8C/rU+qv9sQA3A3kCbwWcCZ0KXAm2BqQERQCB+rT6fv6r/jf8J/vV+tj9Rv6+/Jz+jP+o/i/8Kf6C+776iftv/hwEFQIqAHT8CPwU+vz5y/zf/Qv/svpP/Nv/DgK5ADH+av08/ED6gfO19Kr26fdE/UIB9AXwBaMBKv6F/Cf8xPWI9bf1qvMK9hv42v3JASMHkghjDWMLGgU2AC770P4N/UH/YQIiA8cDiAPkBRcGuwUOAqb/mv46+iz4JPmc+jz9uf9LAoEETQapBqMJuQqKC0MMwwsNDeMN7RGoEzAWcRYmFd8TTBDqDHgHIwQcAU0AOv/J/r3+P/7e/60BqAT7Az0EAwLPAHoCWALSBZwFfQYeB7gHvgZzA24AmPwQ/qr5wvbi9CPzhPDU7hHxYPKk9fLzhvU69Dfx8+zK6gzt4O6r8EruI/F669bl3uRy5RzonOa85V7kdueG6sbtvPI18332O/dH91j3R+7M6abpDO1163Hubezc6xDwEPBS+AT43f37/O/9//vX+T39xv4NBzoFLwclC4cOaRHKER0TfxOlFCQTdRTrFIIW8xVAGEMd3B99H5EiLChiK5sroyvwLWkufCzoJHIhiSD5INkc9hm7F60Q0w6rCJAH7QXpBNgBJP+IAG7+3wgBCgEMLxGtE44UixR5DikLFw5UBXQF2AFM/pn/Rf/x/28BOgFlAI8AL/z690/2f/R18Vfwxe1g7x/wdfET8ir0PPQx81byCvEo8ofvDPG37MvnuuQN4fXgXeFQ4urisuY856Lpp+eM5qfmJ+X45a3nzucC50bqMuyy7qnwD/Ax72zy1fHo7iHvRuxk7AjrEewP8m71n/fN+Rr+bwEBBTsGkwj+C9oNrQ6fEZsX8BnXHqojeik3KyIvpC7pMso05S3HLCcg5BZcC+IIbwfkAh4APfrE+2P+SwVoBrEIPgojC6YNJQz2CtYHqgpwDNAOwRUdGFIa3BrWHOof5B9pGkQTnArUBlQCOv6++Mf3Pfjl+Xr9N/5YACAArAI0BA8GMQKh/B74wPHA8R3xQvDv8IPvEu+g8Nj2QPY792L4kPQ594Hyn+ur5zDni+jA663t5+0b8P3uAvPT8xb05vI67dvna+Ns30fb/tpA2QTax9uo3onhBee+7Y7zgvhh+M72C/Rv8rfxYPKL8wD1b/RG9uL74f5PBhwOsxQTHPgiQydILT4wVDISMtYxDC2AJkkgRRgcEBAJ/QV1AeoDwQDX/X7+uQFhBjkH7wgZBV8GrQIoA7EDLgLPAQADHwjwCyoRwRIbGxYewR/3IDke0Bw8FmURiwxvCeEC6fvz9kz08/VZ9j74GPs3AIACqQTgA08CxwBA/KD6NPdy9YDxNvER8yz25vc1+Qn8Df5h/778SfxX98TyG++z7BDsyuuu6vzqtu3w7Uvugu4F8ELx0/E479/sAOu551nlsuMV4+/gbt/+37Hj++aI6ELq6enn6xHt1uwp8cTxaPIz9Uf10feF+Oz7WAD7CVkQbBb/HIMiGyzoMIc39TrdP5c5IjMyK7cfNR1DEoAOxAp/A/P7rfhe+QL+TQQqBOEFOAWVBBQCpQM9Ac/+tf82/D//5QF7AZcFVQuMEG8X0xmVGzAdShzVGwQbqxdJDy0HKQEh/W78Qfm792/6Pfqt/jcBwwFsA0oCEgHv/xv+Mfma9KbwI+9W7sPtyex37SDwzfLV9pX4qfnR+EX3APiA92H1ufSR8hDwG+1K6i/pTui952Tot+kD6gLpFeh2597nR+kR6ADnVeVH5OrkkeXo5SXnNed058/oEerS7nTwK/T39nv35/kn/BgAEAM3CgAPOBPjGh0fEiYhLhQxkTQhOB80dS4NJ7ggQhvhFv8QkQfKAsD6dfio+/f77v+a/z8ANQPdBEIFuwS4AzkDxQJ2ARQAm/8p/8AA4AVUCrANGA9lEp8XIhxsHlQdIxv2FncRQQ3ICLUENP8g+l35evhv+or6h/k8/dX/egGcAgUBdgBs/1r8X/tN+E/1wfBg7lHvb+8R8CfvffD38lH0iPZl+Lb5cvun+qH5TPhv9CTx4+0Z6zHq1+eu5DjjhuJB43DkeuaA50DnNOfW53LqbOqC58/lduQk5LnjJOKa5Kzl6eaw6qzsjvFR9Pz3Nf9XB+MMyhGjFj0cXiSgKfQsCzFWNfAwgi1QKK0hkSEMHGQX8BI5C+8C1ADXAeQDWwahAs0AIAJFA5IDxgSyAWL/Kv+A+9b74/sX+UX6d/0EAL0DDwYTCAEOzhOuFwUbnht7GPQWmhalFPgSiQ2ZByQFmgIiAbL/Tv50/T3+qf4N/6AAbQDZ/wMAEgAK//D89/i/9tn1/PP78dTvt+4N7v3tSe/98Y/zW/Vz9wH5S/o8+hD5C/dp9VLz7vB47WLpduaQ41jiEuOm4lriVeKD4+DmzuhU6tfqWOvu60brK+u36hHqHunu6XXqROt77b7uQvLx9g39wQJTCCwP/BVlHociryeqLB8uojCoLRcrFyjiIJUdoRoVFkkSvAs8BrMFZwetB18H1QalBQUHZAcLCEwJ5wUVAiMBRv/O/uT84/h/+pf7Hvze/Z7/3QJTBrAK7A3VEgYUSxNrFDYV/xbQFS0Sdw+dDTMLbQk0B48FFQSOAS4BhwGcAV4ATQCPAX4C3ALNAHEAt//b/ur9D/zh+T33YPXa8zn0ufMZ88XyDfPg9H/1xvV39cv1tPV69S30EvKa8LPt0Osx6lbo7eW04+fiFuPT45nj2ePI45bkvOVq5uHmouaB5lnm8eY05yvoqejm6OfrQu5y8of2O/oXAYwHbw4/FJga7h6EJLwoXylNK7AnriRzIlcjgCDjGsAWIBF4EXIQ0w97D4ENXQskDAUO1gznDPcI6waEBgMEbwIF/2v8Fvsc+4b6h/rs+tH6V/2+AIcENge5CC0KIg3YD20RoBIMEuERPRGMEBsQPw5pDOMKEgkACMMGgwSRA5gDcAOdA7EDZwNRA5MDbQOqAxwDEgFZ//H91fyo+635"}},"finish_reason":null}],"usage":null,"obfuscation":"g67CW4zm5B9j"} - data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","usage":null,"obfuscation":"YAPLCp"} + data: {"id":"chatcmpl-DeM8m4FnBzz9odhZ6DAKhBsKX9Jaf","object":"chat.completion.chunk","created":1778510600,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_0b7a2791a3","usage":null,"obfuscation":"doiruo"} - data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","usage":null,"obfuscation":"NKIqOK"} + data: {"id":"chatcmpl-DeM8m4FnBzz9odhZ6DAKhBsKX9Jaf","object":"chat.completion.chunk","created":1778510600,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_0b7a2791a3","usage":null,"obfuscation":"eR0W7y"} - data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","usage":null,"obfuscation":"z8RKLc"} + data: {"id":"chatcmpl-DeM8m4FnBzz9odhZ6DAKhBsKX9Jaf","object":"chat.completion.chunk","created":1778510600,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_0b7a2791a3","usage":null,"obfuscation":"GzGUiu"} - data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","usage":null,"obfuscation":"CN9umm"} + data: {"id":"chatcmpl-DeM8m4FnBzz9odhZ6DAKhBsKX9Jaf","object":"chat.completion.chunk","created":1778510600,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_0b7a2791a3","usage":null,"obfuscation":"XzQxWb"} - data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","choices":[{"index":0,"delta":{"audio":{"data":"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"}},"finish_reason":null}],"usage":null,"obfuscation":"Weo8pC5SThF"} + data: {"id":"chatcmpl-DeM8m4FnBzz9odhZ6DAKhBsKX9Jaf","object":"chat.completion.chunk","created":1778510600,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_0b7a2791a3","choices":[{"index":0,"delta":{"audio":{"data":"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"}},"finish_reason":null}],"usage":null,"obfuscation":"OGhsc2mHXy0"} - data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","usage":null,"obfuscation":"5RJBBy"} + data: {"id":"chatcmpl-DeM8m4FnBzz9odhZ6DAKhBsKX9Jaf","object":"chat.completion.chunk","created":1778510600,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_0b7a2791a3","choices":[{"index":0,"delta":{"audio":{"data":"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LgAxACkALQAoADIAKgAxADAAKAAqACcAMQAoAC0AKAAqACwAJAAuACUAKgAlACoAKwAlACsAJAApACcAIQAnACIAKgAiACYAKgAjADAAHwA0ACAALwAiACsAKQAnACkAJQAxACEAMAAfADMAIgAxACwAKwAxACoAOgAjADYALQAxADEAKQA8ACcAOgAoADgAMQAtADUAMQA/ACoAOQAoADEAMgA2ACoAMwApACwAKgAwACUAKgAtACQAKwAhAC0AJAAuACUAIgAhACUAJAAfACQAGwAfAB0AIQAdAB0AGgAaABgAGwAWABgAFQAUABoAEQAbABEAFQASABYAEgAOABYADQAQAAwADgATAA4AEgAOABEAEAAMABAAAwAKAAwACwAMAAUABwD9/wwA/f8PAAEAAgD5////AgD5/wYA8/8GAPb//f/2//X/+//u//f/7v/2/+7/8P/w/+3/6//r/+z/6f/k/+j/5P/o/+X/5P/k/+T/4P/f/9//4v/c/+L/2v/k/9f/4P/Y/+D/2v/X/9z/1//k/9H/4f/T/97/2P/a/9v/1f/f/9X/4v/b/97/2P/f/9n/4//b/+H/3f/g/+P/3v/q/9//7P/b/+b/4v/o/+H/5f/p/+P/6f/k/+v/5v/s/+j/7P/q/+v/5//q/+j/5v/r/+f/7f/q/+z/6//r/+f/7P/r/+3/7f/u/+3/7v/s/+n/7f/s/+7/7v/x/+7/7//t/+7/8P/v//H/7f/z//D/8P/v//H/7//w//L/7//z//P/8P/0/+7/9v/y//f/8v/2//r/+P/4//L//P/1//r/9v8AAPr/+//7//r/AgD2/wIA+P8DAP3//f8DAPn/AwD2/wIA/f8BAAIA9v8DAPz/AgD8/wIAAAD+/wUA/f8GAPz/BgD8/wQA/v8CAAIA//8HAAIACgABAAoA/v8GAAYABQAJAAMACwAFAA0ABwALAAoACwAQAAoAEAAKABEADAAQAA4ADwATABAAEQATABMAGAAUABoADQAXABYAGQAcABMAGgANAB0ADwAfABYAGgAVABYAGQASABsACwAbABIAGgAUABcAGgAVABwAEwAcABMAGgAWABQAFAASABYAEAAXABMAFgATABMAFQAUABUAEQATABMAFwAVABQAEgAOABEADwATAA8AEgAQAA0AEgAPAA4ADgAPAA8ACwAQAAsAEAAHABEACgAUAAwADgARAAsAEgAAABUAAgAZAAcADAAIAAkAEgAAABYAAAAUAAMAEQAIAAYADwABAA4A/f8PAAAACAADAAYABwABAAsA//8KAP7/BgD+/wAABwABAAYA/v8HAP3/BgACAAEAAgD+/////f8AAP3//v8AAP3/AAD5//7/+f/8//7//P8AAPv/+f/6//b/+//5//f/+v/2//v/9//9//j/+v/6//f/AQD7/wMA9v8AAPj/+v/3/////f/7//z/9//+//f/AwD5/wIA9f/9//f//v/+//r/+v/x//3/8/8DAPn/9//3/wAA/f/5//7/9//2//r/9v/9//n/AQD4//3/+P/3//v/9v////f/AQD0/wEA9P8BAPP/AgD2//z/+f/4/wEA8f8JAPD/AgDu/wIA9//9//3/+v8AAPj/AAD3/wYA9f8GAPj/BgD4/wAA///7/wEA9P8MAPH/CQDx/wcA+P/8/wYA9/8HAPL/BgD1/wQA+v/9/wMA9/8HAPT/BgD2/wEA+v/4//7/9P8CAO/////y//v/AAD9//3/9P/8//P/+f/7//n/+//3//f/+f/z//j/9f/8//L/9P/0//b/9f/w//3/8P/8/+7/+f/w//X/8f/x//X/6//7/+3/+//r//j/7v/0//X/8f/3//P/+P/u//T/8v/0//X/9P/2//X/9//0//P/9P/y//T/9//4//T/8//x//L/9v/z//j/8//4//T/9P/6//L//P/2//n/+P/4//f/+v/6//j/+f/5//r/9//6//r/+P/6//v//P/8//r/+f/3//r/9/////r//P/6//r//P/0/wAA9/8CAPX//f/1//z/+v/8//3/9/8CAPL/AADy/wQA+v//////AAAFAPz/AwD6/wMA/P8FAPz/AgABAP//AwD+/wAA+/8DAAIABgAGAAEABwD8/wMAAwAIAAAABAADAP//BgACAAQAAwAKAAgABAACAAoABQALAAcACAAJAAoADQAKAAkABQAHAAUACwAIAA4ABQAKAAkACgAJAA0ACgALAAwACAALAAoADwALAA0ACwANABEADAATAAwAEAAMAA0AEgAMABIADQAWAA4AEwARABQAEQASABcADgASABAAFwARABkAEAAYABAAGQAWABcAFgATABYAEgAWABYAGAAVABgAEgAUABEAGAAXABUAFwAQABUAEwAWABIAFQAXABUAGAARABkADwAZABMAEgAWABEAGgAMAB0ADwAbABAAFwAVABEAFQAMABQADQAXAA0AFQAOABMADgARABIACwAUAAwAFAAIAA0ADgAKAAoABgALAAgACgAOAAYACgD//wgAAwALAAMABwAHAP//DwAAAAUAAAAHAAQA+/8EAP7/BAD8/wUA/f8AAAEA/f8BAPf////6//v////9/wAA9v/4//v/+v////r/+v/y////8f/9//n/8v/y//f/9//x//r/6v/3//D/+v/y//T/9v/q//T/5v/6/+r/8P/m//D/6//p//L/6f/x/+v/7f/p/+7/6v/t/+r/6f/p/+b/6v/k/+j/5f/s/+v/5//o/+j/6v/m/+n/5f/i/+z/4P/v/+P/6//h/+f/5v/i/+v/5P/s/+T/4v/p/+P/7f/m/+j/7f/h/+j/4f/t/9//5//o/+T/7//n/+z/6P/n//P/6f/4/+n/8v/k/+3/6v/u/+//7P/y/+n/9//o//P/5f/3/+z/8f/y/+v/+v/m//v/5//9/+r/9//0//H/+//t////6/8BAPD/9v/y//r/9//5//3/+f/8//v////6/wQA9/8EAPb/AgD3//3/+//3/wMA9f8OAPn/CgD2/wkA+//+/wUA9/8HAPn/BQD5/wcABwAFAAUAAQAHAAAABQACAAAABgAGAAkAAAAGAAQACAAIAAkABwACAAkAAQAGAAIACgAEAAQABAABAAUACQAMAAAABAABAAEABQAFAAcAAwACAAYA+v8GAP7/BQD7//7/AwD8/wEA+v8HAP7//f/6//7/+//6/wAA+v/5//7/+f/9//f/+P/5//T////z//3/9//7//f/8f/+//H/AADt//3/8v/5//n/7//5/+7/+v/t//X/8P/v//D/7P/z/+//8//x//H/8P/v//D/7//u//H/6//w//D/8f/z/+7/7//q//D/8v/z/+7/8P/v//L/8//5/+7/8//w/+7/+P/z//P/9f/1//f/8P/4//j/9v/5//T////0//7/9v8AAP3/+f8AAPv/BgD9/wQA+v8AAAAABAADAAEA/f////7/AQADAAUAAQD//wUAAwAIAAYAAgADAAoABAAIAAQACwAAAAoAAgAGAAwAAwASAAEAFAACAA0ABwAGAAoAAQAWAAUAEAAFAA8ABwAGAA8ABgASAAAAEwABAA8ABwAOAAkACAASAAMADQD9/w8ABQAOAAsACAALAAoADAAKAA4ACgAPAAsADwAHABIACAARABIACgATAAYAFgAEABMACwARAA8ADgAWAA0AFgAJABIADQASAA4AEAARAA8ACwAJABAACgASAA8AEgANABMADQANAA4ADQANAA0ADAAOAAoADwAKAA0ACgANAAgACwAKAA8ADwAJABAAAgAOAAYADwAJAAsADQAKAAoABQALAAUAAwABAAMABQAIAAkAAwABAAkAAwAGAAYAAwAFAP//BwD+/wUAAgABAAMA//8HAP7/AgD//wIAAwD//wQA+f/9//3/AgAFAAYAAgABAAUAAQACAAIABgD//wkAAwAHAAAA//8EAP3/BQD7/wcA/f8CAAAA/v8JAAEADAABAAYABAADAAcAAgAJAPz/BwD9/wEAAgADAAYAAAAHAAQABAADAAkAAwAGAAYABQAIAAQACAADAAcABQADAAYABgAKAAUABgAHAAkACQAGAAkACQAJAAkACQAMAAgADAAMAAwACgALABEADwATABAAFAASABIAFAAVABYAFAAbABkAHAAcABgAGwAYABwAGgAaABsAFwAdABgAHQAaABsAHQAcACEAGgAeABoAGgAYABgAHAAZABoAGgAcABoAFwAaABUAFwATABUAFgAVABMADgAQAAkADAAIAAkACQAFAAcAAgAFAAAAAwD9//7//f/6//r/+f/7//b//P/1//z/+P/8//r/+P/8//X/+v/0//r/9v/3//f/9f/6//j/+f/3//v/9v/0//j/+P/3//b/+P/4//n/9//2//X/9f/z//P/9v/1//T/8f/y//T/8P/v/+3/7//u//D/7v/w/+z/6//p/+n/7v/n/+n/6f/q/+r/6v/p/+f/6f/l/+r/5//q/+n/6f/s/+j/6f/m/+3/5//s/+z/6f/p/+r/7P/s/+z/7f/q/+z/7v/s/+3/7v/t/+7/8v/v//H/8v/z//T/9v/z//X/9P/5/+//9v/z//T/+//3/wAA+//+//n/AAD+//n/AgD9/wcAAwAUAAQAFAAJABMAEgAPAA8ABQASAAYAAgD//wQAAwAKAA4ADQAdACUAFwAtACgAOwAZAAQAGAAIAEgAKgAcADoAKwBNAAoABAAHAAkAGAAVAA8AKwATAM//"}},"finish_reason":null}],"usage":null,"obfuscation":"hJ8aqZIufXz"} - data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","usage":null,"obfuscation":"q5Zcyo"} + data: {"id":"chatcmpl-DeM8m4FnBzz9odhZ6DAKhBsKX9Jaf","object":"chat.completion.chunk","created":1778510600,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_0b7a2791a3","usage":null,"obfuscation":"9saqIa"} - data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","choices":[{"index":0,"delta":{"audio":{"data":"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///2/wIAAAACAA0A+/8bAP3/JAAHABAAFQD+/x8A9f8kAAEADwANAP//IgD2/xwAAAATAAgAAwATAPr/DwDz/wYA/f/4//v/8v/3/+3/9//t//D/7f/s/+3/6v/x//H/8v/4//T/+P/1//r//P/4////9P8GAPb/BgADAAcADAAFABAADgAVABYAGgAgABsAIwAdACYALQAkAC0AIgAuACEAKwAnACcALwAhADIAHgA6ACEAPQAkADEALAAkADIAGQA9ABcAMAATACoAIAAgAC0ACAAjABUAJgAeACIAJgAXACwAFgAtAB4AJgAjAB4AKQAcACgAHQAlACIAHwAnACQALQAiAC8AJgAnACUAJgAoACAAJwAcACUAGQAiABUAGQAPABUADwAOABIABQAPAP7/EQD//woA//8HAAMA/P8HAPL/BwDv/wUA8f/+//b/9v8AAPL/AwDv/wUA8f8CAPn/AAABAPr/CAD3/wgA7/////v///8CAPb/AADt/wAA8f/7//P/9f/5//X/+f/t//b/7//u/+7/5v/q/+L/4f/d/9//2//a/9n/2v/b/9b/2P/Y/9v/1//Y/9b/0v/X/87/0f/I/9T/zf/W/8//zv/S/8f/1v/E/9b/0P/S/9f/zv/Z/8n/3v/P/9T/zf/F/9T/wf/X/8D/0//G/8n/0P/C/9D/wf/U/8H/0//F/87/yP/L/8v/yP/O/77/yv+5/8r/w//N/8b/xv/F/7//zf/H/83/x//O/8z/0P/Z/8z/3P/R/9f/1v/W/93/1P/h/9r/2v/d/9n/4f/Y/+L/3P/e/+T/2//o/9j/6P/e/+H/4v/W/+T/3f/l/9b/3P/a/97/3//d/+T/2P/c/9H/5//a/+f/2//u/+P/7v/r/+r//v/j/wUA3/8GAPD/AAADAPf/DwDx/xAA+v8XAA0ABAAVAAYAHgABABwADwAVABoAEAAbAAwAIwATABsAEwAYABoAEwAhABIAJAAWACIAHQAeACYAGAAiABwAHwAkAB4ALQAhACsAIQAhACYAGQAyABwALwAhACYAJQAdACoAEwAmABEAIAANABwAFAAYABEADwARAAEAHgD//xsA+v8MAP3/+/8KAOb/DADc/wcA6v8EAOb/6v/2/9f/BQDU/wMAzv/z/9H/6P/h/9j/7//F/+7/xv/y/77/5f/H/97/1v/U/+L/yf/t/8v/5f/V/97/2//Z/+L/0//Z/+P/2//s/9r/6v/f/+b/8P/g//v/5v/+//T/9P8DAOv/GADx/w4A//8HABgA9v8sAPf/MAACACcAFQAUACsADAA5ABEANgAPADUAGgAnACQAGQAmABoAMgAWADEAHwAoACsAIAAzACMAKQArACAANAAdACwALgAaAEEADwBGACAANwA4ACQATgAUAFMAIABGADYALgBUACAAXwAdAFMAMAA7AEgALgBTAC8ATQAwAEUAOgBCAD4APQBCADoARQAtAFAALABZADQAQwA9ADYAVwAoAGAAIABQADUAPABPACsAawAXAG4AHABXADQAPABTACIAaAATAGEAIwBUADAAPQBGACsAUAAkAEUAJQA3AC8ALAAvADAAKwAsACIALAAkACEALAAcACwAIAAqACEAGAAjAB0AHAAhABEAKAAKACcADgAdABgACwAuAPj/PAD1/y8ABAAXABsABwAsAPX/LQD5/yoADgAhABIADQAcAAsAIAAGACQACgAeAAoAFQATABIAHQALABcAEAAWAAsAFwAIABgAAQAdAAMAGgAMAAwAEAD0/xwA7P8cAPf/BAD8//f/BgDi/woA6P/2/+//4v/6/9r/8f/V/+H/4f/P/+z/vv/t/8D/3f/M/8H/3/+q/+T/qP/g/7P/xf/D/7b/1f+i/9n/qv/N/67/uf+6/6f/yP+i/8D/n/+1/6//rf+6/6X/t/+i/67/r/+v/7X/qP+8/6X/yf+w/73/v/+v/8n/qv/X/6z/zv+5/8b/0P+9/9j/vP/g/8j/0//R/9H/3f/V/9r/2P/Y/93/4P/c/+P/3//o/9//5v/k/+j/7f/p//P/7v/y//H/9f/3//H/9f/p//T/9v/7//X/+f/4//b/+P/7//v///8CAP3/+f/2//7/9v8DAPv/+f/2//r////1/wMA9f8IAPH/BgDy//z/AQDz/wYA7v8SAPP/CQD3/wIAAgDy////+f8FAPj/BwABAAIAAQABAAEA//8CAAUA//8BAAIAAQADAAgA+/8HAPv/BgD7//7/AAD1/wYA9P8IAPb/AwD9//7/BAD6/wQAAAAHAAMA+f8BAPr/CQD//wIAAgD5/wkA/P8OAPz/AQD+//X/BQD9////BAAAAAIA+v8HAPn/AAD6/wAABgAAAAYA9P/+//L/AQD6//3////2/wEA7/8AAPD////4//f/+v/r/wIA6P8FAPD/8//0/+7////m/wQA5v/6//H/8//4/+7/+v/o//v/6f/7//L/+P/0//T/+f/v//f/7P/z//L/8P/0//H/+P/z//L/8//w//b/8//9//P//P/z//n/+P/6////+P8BAPn/AAD+//3/BQAAAA0A+/8IAAEACQAIAAoACAADABQABQAQAAUADgABABMACQAQAAwADgANAAwAEQAMABUADAATAA4AFAAQABMADwAOABcADgAYABIADwAUABEAFwASABQAFgASABMADgAYABEAFwAPABoADwAOAA4AFQATABAAEQAQABUADgAYAAoAFwANABIABgAKABYADAAaAA4AGAAMABcAFAAXAB4AFQAcABkAGgAeABgAHwASAB0AHAAbACIAHQAiABoAHgAZABwAJAAfACAAIQAfABsAIAAfACIAHgAjACIAJQAjACIAJQAcACYAHQAnAB4AHQAdABgAJwAXACYAEwAqABcAIQAcABoAJAAOACQACQAbAA0AEQATAAkAFAAEAA4ABAALAAYABgAGAP//AgD7/wEA/v8AAP///f/9//r//v/7//v/+P/2//3/AAADAPX/AADv////9v/9//j/9P/6//D/+f/r//z/7//9//L/8P/t//T/9//y//f/8v/5//T//f/z////+P/+//r/+f/+//n//P/3//n//P/3//7/9P/8//7/+P8BAPT/AgDx////+P/2//z/8P////L/+//7//v/+//1//v/+v/z//P/7f/x//D/7P/9/+n/AwDs//r/8//t//7/5P8BAOj/+//u//L//f/u//n/6//5//P/+//9//T/+v/z//n/AAD9//3/+//6//v/+//9//7//v8FAPv/CQD5/w0A/v8GAAYABAASAP//EAD9/w4ACAAIAAwAAQATAAMADAAJAAYADAADAA4AAwAJAAUAAQAIAP3/DQD6/w8A+/8GAAAA/f8NAPr/EADv/wsA9/8GAP3//v8OAPD/CwDp/wYA7v8CAPv/+f////P//P/x//j/+P/6//b//v/w/wEA9P8EAPT//v/4//P/BAD3//3//P/9/wMA9v8IAPT/BQD6//7/9//0//7/+P8EAPv/+//z/wEA9v/+//r//v/9//7////2/wAA9P8AAPb//f/8//f/+v/x//v/+P/8//7/7f/6//H/+P/u//L/9//l//r/4v/9/+r/7v/p/+v/7v/d//H/4P/r/+T/4//r/+D/8v/j/+f/5//i/+z/5P/y/+T/6v/j/+L/7f/l//L/5P/3/+b/8P/r/+7/9//p//7/3f/6/+X/8//x/+r/+f/i//n/3//8/+v/9P/x/+r//P/e//r/3//4/+r/6//x/+D/AwDg//z/4P/u/+X/6f/6/93/+v/b//f/4//x/+f/6f/s/+X/7v/s/+v/6v/s/+3/8P/o//P/6f/0/+r/6P/q/+j/8//r/+7/7f/o//T/6v/1//H/7//z//H/9v/s//b/8P/z//n/9v8FAPT/9//3//7/AgD5/wwA+f8EAAQA/P8KAPj/EQD0/xIA/f8HAAsA+/8VAPv/GQD8/xEABwAKAAoABwAUAAcAFAAIABQACwAXAA8AFAATABUAHAARABsADgAaABIAGgAYABkAFgAWABcAFwAZABoAFQAYABcAGAAYABkAGgAWABkAGQAZABsAGAAaABgAHQAXABkAFwAVAB0AEwAfABAAHAATABgAHAAUACUAFQApABIAKAATACAAHgAgACEAGQAuABgAKwAWAC0AIAAqACkAHQArACEAMAAdAC4AHgAoACEAJgAmACIALQAbAC8AFwAsAB0AHQAiABsAKAAWACYAEgAXAB4AFAAlABAAIAAPABgAEAAOABQABwAUAAcAFAAHABEACAAFAAsAAAAJAP7/CAAAAAQAAAAFAPz/AgD7/wEA/v/9/wEA9/8CAPf/AQDz//r//v/4//j/8f/+//P/AQD3/wEA9P/2//f/9f/8//T//f/z//v/9f/9//T//f/5//v/9v/2//r/8//9//P////w////7//7//T/9//2//T/+f/s//r/7P/8/+z/+P/v/+//9v/u//H/6//0/+v/+//w//T/7P/t/+//8P/2/+v/9v/k//D/6f/x/+r/7//w//P/7f/0/+z/8f/u/+3/8//u//b/7//9//D/8v/v//f/+f/u//v/9v/8//n/+f/7//f/AwD7/wYAAAD///7/9v8FAPX/DQD+/wgA/P8AAAQA/f8LAP//BgD3/wUA+P/7//7/9P8AAPL/AgDy//3/9f/x//j/6//8/+j//P/r//P/7v/s//b/5f/6/+H/9f/l//H/7//r//X/7v/2/+v/8f/z//H/8//2//P/9P/z//f/+f/4//n/8//2//v/8v/8//n/BAD1/wYA9v8AAPz/+v8EAPf/CAD1/wgA/f8JAAAACQAIAAUADAD+/xMA+v8SAP//BgD//wcADAAFAA8A+/8NAP3/CgACAAcACQD3/w4A8/8QAPv/BgABAP7/BAD3/wYA/f8FAP7/AwD6//3///8CAPn/+v/z//X////z/wIA8f8EAPH///////P/BADn/w0A5v8OAOz/BAD6//n/CgDq/wwA5/8SAO7/CAD1/wQA/f/4/wQA9/8JAPT/CgD2/wUA//8FAAAA//8CAPv////5/wEA+P8BAPf/AAD3//7/+//4//v/+P/6//j/9//+//T/8v/0/+z/9P/v//j/6P/w/+7/6//y/+v/8P/l//T/5v/x/+r/9P/n/+//7P/s//b/5v/5/+j/9//o//T/9P/w////7/8EAPH//f/5//n/BgD0/wsA/P8EAAgA+f8MAPD/GQD4/wsABAD8/w4A9f8UAPr/DwADAAkABgAIAAYACAALAAkACgAIAAcAAQANAP3/DwD9/w8AAAALAAYADAAKAAsAEwABABUABQAeAP//GwD//w8ACwANAA4ABAAVAP3/FAABAA8ABQAKAA8ACAAXAAUAGAAFABUADwATABUAEAAVABIAIgAWABwADQAZABIAGQAbABUAJAARACMADgAfAA8AFwAXAA4AHwALABwABwAcAA8AFQAXAA4AHQAEAB4AEQAgABQAFQAZABEAHQAWABQAHwASAB0ACQAaABQAFQAhABAAIAAIAB8AEgAbABsADgAYAA8AFQAKABEAEAALABQADAAVABAADwASAAsAEgAIAAoAEQAMABEACQASAA0ADAAKAA4ADAAIABAADAARAAQADQD//woABQALAAcABwAQAAMAEgACAA4ACAAKAAsAAwAQAAMAFAAFAA8ADwANAAoACAAMAAoAEAAQAA4ACAADAAUABAAJAP7////+//b////6//b//P/2//3/7v/6/+7/9v/z//L/9P/r//r/6v/5//P/7//t//D/8//p//T/6v/z/+v/8v/s/+7/8P/t//H/7P/x/+3/8//y//D/7P/t/+r/7v/t//D/8P/w/+//9P/0//X/8P/3//D/9f/1/+//+P/m//T/6P/y/+z/6f/1/+j/8//k/+7/5f/p/+j/4v/o/+T/7v/l/+//4P/v/+T/8P/p/+f/6v/c/+z/3P/y/+D/6P/h/+7/5v/k/+7/4P/s/+T/7v/i/+7/6v/o//H/5//1/+v/8//w/+//8//o//P/6f/1//H/9v/7//H/9f/r//j/8P/3//T/7v/z//T/9//w//f/7//y//L/8f/1//D/9//t//f/8f/2//f/7//7//H//v/z//z////5//3/8f8CAPj/AgD5//3//f/0//r/8f////D//f/6//T/AgD0/wQA9/8EAAEAAgAIAP//BgD6/wYABgAIAAcACQAOAAYACAAGAAoADQANABUABgAQAAsADwAMAA0ADwAJABAACgARAA0ADwAKAAwACAAJAAYABgAGAAkACAALAAgADQAKAA0ACAAKAAoAEAAOAAkAEgAFABAABwAUAAgADQANAAsAEgALAA8ACAAPAAsADAAPAA4ADwALABAADQAMABEADQARAAoAEQANAAwADgAMAAsACwALAAgACgAJAA0ACwANAA4ADQAKAAsABwANAAYAEAAJAAsACQAGAAoABwAPAAkABwAGAAoACAAIAAsADgAJAA8ABwALAAUACQAIAAUABgAFAAkACwAJAAUACQAGAAgABgAIAAYACAAHAAcABgAHAAgABwAGAAUAAAACAP//BAADAAIAAgD9/wMA/v8EAAEA/f///wQAAgAEAAMAAwACAAUABAADAAYAAAACAAUABQAIAAYAAwABAAYAAwAKAAcAAQABAAUABQAFAAYAAQABAAUAAAACAP3/BwD//wMAAAD+/wUA/f8JAPr/BQD4/wAA///9/wAA+P8HAPr/AwD8/wEAAgD+/wYA/P8BAAEA//8CAP3/CgD+/wMAAQD+/wEA/v8GAPv/AwD+/wAA+//+//7/AwADAAIA/P/7//3/AAAAAAIA///+/wIA+v8DAP3/AAD3/wAA+v////7//f//////AAD4//7//v/8//f/+v/9//r/+//4//7/+v/9////+P/9//3//v////7/AwD6////+P/9//r/AQD////////7//z////+////+//8/////P8CAPv/AgD4//7/+//7//z/+v8FAPf/BQDz/wEA+v/8////9/8CAPf//f/1//v//v/+//3//f/9//z//f8AAP7//v////z///////7/AAD8/wAAAAD//wEA+v8DAP7/AwD//wEAAQD//wMA+/8AAPz//v/9//z/BAD+/////P/9//7/AQAEAPr////6/wAA//8CAP/////+//n/AQD8/wAA/P8DAP7//v/8/////////wAA+f/9////AAD//wAAAgD7/wAA/v8BAAAA+/8AAAAAAgD//wEAAQD//wAA//////////////7//f////v//f////j////3/wAA+/8AAPz//v8AAPr/AgD7/wAA/v8BAP///v8AAPv///8AAAAAAAAAAP/////+/wEA/P8DAPv/AAD+//z/BwD9/wIA/v8DAAEA/v8FAP3/AwD6//7//P/9/////f8BAP7/AwAEAPv/BAD6/wUA+v8DAAAA/v8GAPj/BgD3/wAA/f/+/wYA+f8LAPb/BwD2/wMA/f8BAAMA/v8LAPn/CAD4/wUA+/8FAAAA/P/6/wQA//8BAAUA/v8BAP7/AwD9/wQA/v8AAAAA/v8BAPz/AwD//wMAAQADAAEAAAAFAPr/BgD6/wQA/P/+/wIA+v8GAPr/BAD6/wMA///+/wMA/f8DAPz/BAD//wMAAQD+/wUA/v8GAP/////+////AAAEAAEABAD+/wYA/v8HAAMAAwAEAAEABAD7/wYA/f8EAP//AQADAP7/AgD8/wIA/P8CAP//AQD+/wIAAQD//wAA/f8AAP//AQABAAMA/v8AAAAABAD//wQA/P8BAAAAAQADAP3/BAD2/wkA9/8KAPz/AgD/////AgD6/wUA+/8EAP3/BAD9////BAD+////+/8CAP3/AwD+/wAAAAD6//7///8AAAEA/v////z///8BAPz/BQD8/wQAAAADAP///P8EAPv/AwD//wEAAAAAAAMA/P8BAAEAAQAFAP7/BAD9/wEA///+/wIA/f8BAPr/AQD//wYA/v8BAAEA/P8DAPz/AwD5/wYA//8BAAAA/v8BAP7/AQD8/wAAAQABAP7/AQD+/wIA/v8CAAAA//8AAP7/AQD9/wMA/v8EAP7////9////AQD9/wEA///9//3/+f8BAPv/BQD7/wMA/f/7/wMA9v8FAPj/AwD7//3/BAD6/wIA+/8DAPr///////7/AgD6/wQA/P////z/AQD///z/AAD+/wIA/f8CAAIAAwD9/wEA/f8DAP7//v8CAPz/BgD2/wEAAAADAP7///8CAPr/AgAAAPz/AAD6/wEA/P////7//P8BAP7/AAD9/////////wAA/f/+//7/AAD//wAAAQD+/wAA/f/8/wAA+v8AAPv/AgD7/wEA/v///wEA/v8DAPz/AwD//wAAAAD//wAA/f8AAP//AQAAAAEA/P/+//3//v/+////AQD+//3//v/+//////8AAP3/AAD9//7//v/+/////f8EAP//BgAAAAIA///9////+/8CAPz/BgD+/wIA///+/wAA/f8EAAEA/v/+//7/AAD9/wIA/v8DAAAAAAD//wAAAwD//wMA/P8DAP3/AQABAP7/AwD5/wIA/f8CAP7/AAACAP3/AwD//////v8CAAMAAAACAAIAAQAAAAMA/f8CAP3/BAD+/wEAAQD9/wIA/v8CAP////8AAP7////9////AAD9/wIA/f8EAP///v////7/AwD7/wUA+/8DAPv/AgADAAEAAQD//wMAAAABAAEAAgD+/wIA/v8CAPz/AgD///7/AgAAAAEA///+/wEA//8AAAEA+v8AAP3/AgD9/wIAAQD9/wEA/P8DAP3/AAABAAEABAD8/wMA+//+//z//P////r/BgD9/wMA+/8AAAEA//8HAPz/AgD4/wEA/f8BAP3/AAABAP3/AgD9/wAA/v8CAP//AQD//wIAAQAAAAIA//8CAAEAAQADAAMA///9/wMAAwADAAQA+v8BAAAAAwAAAAEABAD8/wQA/f8HAP/////6/////P/9/wIAAAADAAIAAQD+/wMA//8CAP3/AAD+//7/AgD+/wEA//8DAAIAAQABAP//AgD+/wEAAAD//wMA/v8EAP//AAD9/wAA///+/wIAAwD//wMA/P8CAP3//v8AAPz/BAD2/wAA/v8CAPv//f////v/BAD+/wAA/P/+/wMA//8FAP//AAD8/wAA//8BAAEAAAAAAP7/AgD8////+v8DAP3/AAD/////BAD3/wIA+P8EAPn/AAD9//v/AAD6/wIA+P8EAPv/+//7////AAD+/wMA/v///wAA//8BAP///v/+//7/AAD//wAAAAD+/wEA/f8EAAAABAD9/wMA/v///wMA/v8EAPz/AQD9/wEAAwAAAP7//v////3/AAD9//3//v////7//P////7/AQABAAMAAQD//wAA/v/+//3//v/7//7//f/9/wAAAQADAP3/AQD8//z////8/wEA+v8AAP///P////7/AgD+/wAAAAD+/wAA/P////3/+//+//z////+/wMAAAD+/////f8BAPv////8//3/AQD8/wIA/v8CAAAA/v8EAAAABAD7/wIA/f8AAAIA/f8DAPz/AwD7/wIA//8BAAAA//8CAP3/AgD7/wIA/P////3//f/9/wAAAAD//wMAAQACAAAA/f/8//3/AQAAAP//AAD9/wEAAAAGAPz/AQD+//7/BQABAP//AQD//wAA//8BAAIAAAABAP3/AAD9/////v8AAAEA+v8AAPz/BAD//wMA/v///wAA///+//v/+v/6//z//f/+///////9/wEAAAACAAAA/f/9/wMA/v8BAP//AQD8/wAA/P/8/////f8DAP3/BQD//wIAAQD9/wAA+/8EAPz/AQD+/wQAAQD//wUA/v8FAPv/BAD8/wMAAAACAP///f8CAPz/AwD6/wAA/////////f8AAP////8AAP//AAAAAAAAAAD9/wMA/P8BAAEA/P8AAPv/AwD6/wMA/v8AAP//AAAEAP//BQD9/wIAAQAEAAAAAwACAAEA///+/wMA/v8DAAAAAgD//wEA/v/+/wAA/v/9/wAA/v8CAPz/AAD9/////v/8//3/+//9/wAAAAD//wEA/f8AAP7/AwD//wEA/v////z/+/8AAPv/+//4//v//f///wAA/P/+/wAA/v/9//7//f/+//z/AAD8/wAA/v////7//P8BAP7////9/wAAAAD//wAA+v/9//3///8BAAAAAAD+/wEAAAD//wEAAwD//wMAAQACAP///f8CAP7/AwD8/wIA/P/9//7/+/8EAP7/BQD7/////v/+/wEA/P8EAPv/AwD7//////8AAAIA/v8DAAAAAwD+/wMA//8BAAAAAAADAP7/AQD7/////P/7//7//f8BAPv//P/7//7/+//7//7///8AAP//AAD9//z//v///////v///wAAAAAAAP//AQABAAEAAQACAAEA//8CAP//AwABAAAAAwAAAAIAAAAAAAIA/v8DAP//AgD//wAAAwAAAAYA//8CAP///f/+//3/AQD//wAA//8BAAIA//8DAP7/AQD8/wAAAwAEAAEAAQADAP7/AQD+/wAA/v///wAA/v8CAAEABAD+/////P/7//v//P/+//z/AQD6/wIA/f8AAP7//v8BAPv/AQD8/wIA/f/8//7//P////7//v/9/wAA/P/7/wAA///+//v//v/+/wAA/f/+////////////AQD+/wAA/v/+/wAA/P/+//v////9/wAA/v8AAPz/+v/6//j//P/3//X/+P/0//f/9//6//n/+//5//z/+//8//z//P////3//f/7//7/+v/8//3/+//6//r/+//7//r/+//5//n//P/7//3//v/9//z//v/5//z//f///wAAAAD//wAAAAACAPr//v/6//v//v///wIA//////3/AwABAP3/AwABAAYAAwAOAAUADQAFAA0ADgAPAAsABwAMAAYAAAD//wIAAwAIAAgAAgALABEA/f8OAAwAEwAAAOz/+//t/ycABAD8/xYABAAZAPL/6f/x/+v/9P/5/9f/HwAOAL3/"}},"finish_reason":null}],"usage":null,"obfuscation":"Gh1rTgxOaBI"} + data: {"id":"chatcmpl-DeM8m4FnBzz9odhZ6DAKhBsKX9Jaf","object":"chat.completion.chunk","created":1778510600,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_0b7a2791a3","choices":[],"usage":{"prompt_tokens":11,"completion_tokens":17,"total_tokens":28,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0,"text_tokens":11,"image_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":11,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0,"text_tokens":6}},"obfuscation":"2CJ2Ycvq5vZB2I"} - data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","usage":null,"obfuscation":"Pnff3u"} - - - data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","choices":[],"usage":{"prompt_tokens":11,"completion_tokens":19,"total_tokens":30,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0,"text_tokens":11,"image_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":13,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0,"text_tokens":6}},"obfuscation":"BsdGfQXCNB2nub"} - - - data: {"id":"chatcmpl-DVJQnQKxfuygHcqlI1EyIEBfefVzR","object":"chat.completion.chunk","created":1776355233,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_6419bec501","choices":[{"index":0,"delta":{"audio":{"expires_at":1776358833}}}],"usage":null,"obfuscation":"V5pAF"} + data: {"id":"chatcmpl-DeM8m4FnBzz9odhZ6DAKhBsKX9Jaf","object":"chat.completion.chunk","created":1778510600,"model":"gpt-4o-audio-preview-2025-06-03","service_tier":"default","system_fingerprint":"fp_0b7a2791a3","choices":[{"index":0,"delta":{"audio":{"expires_at":1778514201}}}],"usage":null,"obfuscation":"h0VXw"} data: [DONE] @@ -112,13 +106,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed467508b19b408-YYZ + - 9fa1f493ea98964a-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:00:33 GMT + - Mon, 11 May 2026 14:43:20 GMT Server: - cloudflare Strict-Transport-Security: @@ -134,15 +128,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '263' + - '526' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=WNoO7nWAzWkjzX1A4yF8yHO9cBAkHiCyKVnhClYqmpY-1776355233.368216-1.0.1.1-E6WKfgh6EbaLuslUA6PenagxLk5qZkV22LgBnunHlXHHG1iOGw5nOAeidTFImgGXDrj4LuEHw_6G_GlJjmALgh9a2oHNBK26jmkhY5G114ieaYfRv9cqv4zMNpUL0KKm; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:33 GMT + - __cf_bm=orvBCYVhGepuaVcSKy.3Iv34dvgtLTWuik.G0.6cUwM-1778510600.3010278-1.0.1.1-.L8Mvb7elK7PRZcHo58NSqp2JB4BlEChJykxzGLkygWF59GkzEIgrTsVi7gvP1TjbAqJuiGHgsoWK00l.lm1wip7hbDbzb.4.d0fWVGqlxDgBowzGMDirNwzmSEEPVWc; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:20 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -158,7 +152,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_1acca754f0b544718b49ac7bd903a4fb + - req_e48f20757a78468fb5a405b796cf0796 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_preserves_logprobs.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_preserves_logprobs.yaml index df03f6b5..1f4861c1 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_preserves_logprobs.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_preserves_logprobs.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,11 +26,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -39,14 +39,14 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJQmUydn2YZrdXaRw6WV3Mb2QQD1","object":"chat.completion.chunk","created":1776355232,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":{"content":[],"refusal":null},"finish_reason":null}],"obfuscation":"WYA3EaHG1bTnS"} + string: 'data: {"id":"chatcmpl-DeM8iDmJtGH6qwO6CqGRBbBwX3Ndc","object":"chat.completion.chunk","created":1778510596,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_935a9caf81","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":{"content":[],"refusal":null},"finish_reason":null}],"obfuscation":"U7uOCz7fYafNp"} - data: {"id":"chatcmpl-DVJQmUydn2YZrdXaRw6WV3Mb2QQD1","object":"chat.completion.chunk","created":1776355232,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"OK"},"logprobs":{"content":[{"token":"OK","logprob":0.0,"bytes":[79,75],"top_logprobs":[{"token":"OK","logprob":0.0,"bytes":[79,75]},{"token":" - OK","logprob":-19.0,"bytes":[32,79,75]}]}],"refusal":null},"finish_reason":null}],"obfuscation":""} + data: {"id":"chatcmpl-DeM8iDmJtGH6qwO6CqGRBbBwX3Ndc","object":"chat.completion.chunk","created":1778510596,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_935a9caf81","choices":[{"index":0,"delta":{"content":"OK"},"logprobs":{"content":[{"token":"OK","logprob":0.0,"bytes":[79,75],"top_logprobs":[{"token":"OK","logprob":0.0,"bytes":[79,75]},{"token":" + OK","logprob":-19.125,"bytes":[32,79,75]}]}],"refusal":null},"finish_reason":null}],"obfuscation":"sLe8rJkqtqUjtT"} - data: {"id":"chatcmpl-DVJQmUydn2YZrdXaRw6WV3Mb2QQD1","object":"chat.completion.chunk","created":1776355232,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"obfuscation":"NM"} + data: {"id":"chatcmpl-DeM8iDmJtGH6qwO6CqGRBbBwX3Ndc","object":"chat.completion.chunk","created":1778510596,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_935a9caf81","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"obfuscation":"VQ"} data: [DONE] @@ -57,13 +57,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed4674a091d3b8e-YYZ + - 9fa1f47608fcf80a-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:00:32 GMT + - Mon, 11 May 2026 14:43:16 GMT Server: - cloudflare Strict-Transport-Security: @@ -79,15 +79,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '268' + - '407' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=UfpscaYtDfwbi8a9wAAnqILNo1lGt7_6QlGTr4iUBc4-1776355232.3287501-1.0.1.1-qKCnKfZjW2l9KcMa563zzPqwx5_0xHfKy88H2zQvqHUXnjTYPJ1Ub9V2yBq2KyjrQ3PCXXOEOp5Os5E_VIe79nRbJYdJF.o6TvBUM6IIzJvjQpfGh5B2USEBB_kYKqw0; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:32 GMT + - __cf_bm=XvJuvCFBPOcRcMsxGWQwtiO.pjQvcXkHVpLSlGI_Yzo-1778510595.523061-1.0.1.1-4ta9kgPUmS6fXlkzbXiIKhogKaj0wwanJ0qqWVrU8o..6aEirdqAyXwKkiOLJoEqxUH.XsUltXI0qCVVAflQ0B6Y4xz4BrtSy0JIWSTtLYc3S_G2JKlvZO06bJkaWdzf; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:16 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -97,13 +97,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999980' + - '149999982' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_39c12115949d4856a1f2dcb279bea467 + - req_2e123a515eff4405aeb984142efb5951 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_preserves_refusal.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_preserves_refusal.yaml index 1c99d553..9838d895 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_preserves_refusal.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_streaming_sync_preserves_refusal.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,11 +26,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -39,51 +39,51 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJQmkX5Uw35mI9pfuiTq20q64Qce","object":"chat.completion.chunk","created":1776355232,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_d156f9f64d","choices":[{"index":0,"delta":{"role":"assistant","content":null,"refusal":""},"logprobs":null,"finish_reason":null}],"obfuscation":"EMyAA"} + string: 'data: {"id":"chatcmpl-DeM8lYN6nWaGvDmDGe7BvNnAveqn0","object":"chat.completion.chunk","created":1778510599,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_9733ec05fe","choices":[{"index":0,"delta":{"role":"assistant","content":null,"refusal":""},"logprobs":null,"finish_reason":null}],"obfuscation":"wsaab"} - data: {"id":"chatcmpl-DVJQmkX5Uw35mI9pfuiTq20q64Qce","object":"chat.completion.chunk","created":1776355232,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_d156f9f64d","choices":[{"index":0,"delta":{"refusal":"I''m"},"logprobs":null,"finish_reason":null}],"obfuscation":"m0gO"} + data: {"id":"chatcmpl-DeM8lYN6nWaGvDmDGe7BvNnAveqn0","object":"chat.completion.chunk","created":1778510599,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_9733ec05fe","choices":[{"index":0,"delta":{"refusal":"I''m"},"logprobs":null,"finish_reason":null}],"obfuscation":"4N3d"} - data: {"id":"chatcmpl-DVJQmkX5Uw35mI9pfuiTq20q64Qce","object":"chat.completion.chunk","created":1776355232,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_d156f9f64d","choices":[{"index":0,"delta":{"refusal":" - sorry"},"logprobs":null,"finish_reason":null}],"obfuscation":"f"} + data: {"id":"chatcmpl-DeM8lYN6nWaGvDmDGe7BvNnAveqn0","object":"chat.completion.chunk","created":1778510599,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_9733ec05fe","choices":[{"index":0,"delta":{"refusal":" + sorry"},"logprobs":null,"finish_reason":null}],"obfuscation":"M"} - data: {"id":"chatcmpl-DVJQmkX5Uw35mI9pfuiTq20q64Qce","object":"chat.completion.chunk","created":1776355232,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_d156f9f64d","choices":[{"index":0,"delta":{"refusal":","},"logprobs":null,"finish_reason":null}],"obfuscation":"pQN2j2"} + data: {"id":"chatcmpl-DeM8lYN6nWaGvDmDGe7BvNnAveqn0","object":"chat.completion.chunk","created":1778510599,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_9733ec05fe","choices":[{"index":0,"delta":{"refusal":","},"logprobs":null,"finish_reason":null}],"obfuscation":"L365UD"} - data: {"id":"chatcmpl-DVJQmkX5Uw35mI9pfuiTq20q64Qce","object":"chat.completion.chunk","created":1776355232,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_d156f9f64d","choices":[{"index":0,"delta":{"refusal":" - but"},"logprobs":null,"finish_reason":null}],"obfuscation":"U5e"} + data: {"id":"chatcmpl-DeM8lYN6nWaGvDmDGe7BvNnAveqn0","object":"chat.completion.chunk","created":1778510599,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_9733ec05fe","choices":[{"index":0,"delta":{"refusal":" + but"},"logprobs":null,"finish_reason":null}],"obfuscation":"aKk"} - data: {"id":"chatcmpl-DVJQmkX5Uw35mI9pfuiTq20q64Qce","object":"chat.completion.chunk","created":1776355232,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_d156f9f64d","choices":[{"index":0,"delta":{"refusal":" - I"},"logprobs":null,"finish_reason":null}],"obfuscation":"DB34n"} + data: {"id":"chatcmpl-DeM8lYN6nWaGvDmDGe7BvNnAveqn0","object":"chat.completion.chunk","created":1778510599,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_9733ec05fe","choices":[{"index":0,"delta":{"refusal":" + I"},"logprobs":null,"finish_reason":null}],"obfuscation":"4rJhT"} - data: {"id":"chatcmpl-DVJQmkX5Uw35mI9pfuiTq20q64Qce","object":"chat.completion.chunk","created":1776355232,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_d156f9f64d","choices":[{"index":0,"delta":{"refusal":" - can''t"},"logprobs":null,"finish_reason":null}],"obfuscation":"a"} + data: {"id":"chatcmpl-DeM8lYN6nWaGvDmDGe7BvNnAveqn0","object":"chat.completion.chunk","created":1778510599,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_9733ec05fe","choices":[{"index":0,"delta":{"refusal":" + can''t"},"logprobs":null,"finish_reason":null}],"obfuscation":"t"} - data: {"id":"chatcmpl-DVJQmkX5Uw35mI9pfuiTq20q64Qce","object":"chat.completion.chunk","created":1776355232,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_d156f9f64d","choices":[{"index":0,"delta":{"refusal":" + data: {"id":"chatcmpl-DeM8lYN6nWaGvDmDGe7BvNnAveqn0","object":"chat.completion.chunk","created":1778510599,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_9733ec05fe","choices":[{"index":0,"delta":{"refusal":" assist"},"logprobs":null,"finish_reason":null}],"obfuscation":""} - data: {"id":"chatcmpl-DVJQmkX5Uw35mI9pfuiTq20q64Qce","object":"chat.completion.chunk","created":1776355232,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_d156f9f64d","choices":[{"index":0,"delta":{"refusal":" - with"},"logprobs":null,"finish_reason":null}],"obfuscation":"2S"} + data: {"id":"chatcmpl-DeM8lYN6nWaGvDmDGe7BvNnAveqn0","object":"chat.completion.chunk","created":1778510599,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_9733ec05fe","choices":[{"index":0,"delta":{"refusal":" + with"},"logprobs":null,"finish_reason":null}],"obfuscation":"aP"} - data: {"id":"chatcmpl-DVJQmkX5Uw35mI9pfuiTq20q64Qce","object":"chat.completion.chunk","created":1776355232,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_d156f9f64d","choices":[{"index":0,"delta":{"refusal":" - that"},"logprobs":null,"finish_reason":null}],"obfuscation":"Fu"} + data: {"id":"chatcmpl-DeM8lYN6nWaGvDmDGe7BvNnAveqn0","object":"chat.completion.chunk","created":1778510599,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_9733ec05fe","choices":[{"index":0,"delta":{"refusal":" + that"},"logprobs":null,"finish_reason":null}],"obfuscation":"ik"} - data: {"id":"chatcmpl-DVJQmkX5Uw35mI9pfuiTq20q64Qce","object":"chat.completion.chunk","created":1776355232,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_d156f9f64d","choices":[{"index":0,"delta":{"refusal":" - request"},"logprobs":null,"finish_reason":null}],"obfuscation":"2HlBIgVI84KfWtX"} + data: {"id":"chatcmpl-DeM8lYN6nWaGvDmDGe7BvNnAveqn0","object":"chat.completion.chunk","created":1778510599,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_9733ec05fe","choices":[{"index":0,"delta":{"refusal":" + request"},"logprobs":null,"finish_reason":null}],"obfuscation":"QTGwaPUMmxPcbCc"} - data: {"id":"chatcmpl-DVJQmkX5Uw35mI9pfuiTq20q64Qce","object":"chat.completion.chunk","created":1776355232,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_d156f9f64d","choices":[{"index":0,"delta":{"refusal":"."},"logprobs":null,"finish_reason":null}],"obfuscation":"1gMB7y"} + data: {"id":"chatcmpl-DeM8lYN6nWaGvDmDGe7BvNnAveqn0","object":"chat.completion.chunk","created":1778510599,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_9733ec05fe","choices":[{"index":0,"delta":{"refusal":"."},"logprobs":null,"finish_reason":null}],"obfuscation":"OYNly9"} - data: {"id":"chatcmpl-DVJQmkX5Uw35mI9pfuiTq20q64Qce","object":"chat.completion.chunk","created":1776355232,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_d156f9f64d","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"obfuscation":"6"} + data: {"id":"chatcmpl-DeM8lYN6nWaGvDmDGe7BvNnAveqn0","object":"chat.completion.chunk","created":1778510599,"model":"gpt-4.1-mini-2025-04-14","service_tier":"default","system_fingerprint":"fp_9733ec05fe","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"obfuscation":"L"} data: [DONE] @@ -94,13 +94,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed4674d4cbb175c-YYZ + - 9fa1f47efd57aacd-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:00:33 GMT + - Mon, 11 May 2026 14:43:19 GMT Server: - cloudflare Strict-Transport-Security: @@ -116,15 +116,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '163' + - '596' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=171hQZm6DPNuwXXBu7MHb9nnpmiCuYrBtiK6hjL8cCk-1776355232.845231-1.0.1.1-m2k3A.yR9N3FJ2EW2bL0gmelDNXo.OPfoD_DHAwYLvw3eIB4REPuxrH4d1fUZ4eCzsy4IeiMLbxjUXI34rAIZU7csT4AUWd987qkoFWnggD5YIKCV3gExHWSmdgAV5_F; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:33 GMT + - __cf_bm=GbsXnT_Pgf7ISmrPMrh4oq9amgIqUVc4lR9QjaHymbs-1778510596.959796-1.0.1.1-3oggKqn97Zt29ubTiW6zq2DcaD3dZPz9fDtcBeHLRnIhaE7jcT4E3j4oXwpI6WK3ZeNTwfGvLPO4tPnw57f_Zz1mBkNvCCOCkcUOvbxX.zofVRutkUbEegdozOAWiSgA; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:19 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -140,7 +140,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_eb7d19e3500e457fa3c01d695eab2fd5 + - req_ccab527281da483781b04b4fc5c4b439 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_with_system_prompt.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_with_system_prompt.yaml index b7363528..428c3d14 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_with_system_prompt.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_chat_with_system_prompt.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,11 +26,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -39,8 +39,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJQoIX5NDJAJcgsdmc4iHGYU9vnH\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355234,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeM8nIFBKUxMzLwFYL71REHUbLCU3\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510601,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"24\",\n \"refusal\": null,\n \ \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": @@ -49,18 +49,18 @@ interactions: 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_4181e24c46\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_09d726607f\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed46754de13e5b3-YYZ + - 9fa1f49b5dbaec72-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:34 GMT + - Mon, 11 May 2026 14:43:21 GMT Server: - cloudflare Strict-Transport-Security: @@ -78,15 +78,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '337' + - '210' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=xjPwBk2omFbq_Zgo..aak6ovaPkuZMVKCZbfBK6RbJg-1776355234.0589736-1.0.1.1-ukKXRB4UG.apBu9xkxmqtTRfn.gkfU1OS7s8lOnqs5cR4Je1NUwJlC_5oibeuO3YDPNChCfs1itP9ZNgPZbJFfbOvtb6QM3.D.TQ617LY2IXAv8OtiOCM2j1E7kub6a1; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:34 GMT + - __cf_bm=Wt5IAW53i5fRkewC2ABo0N.FUsr9_WQ_VbWKyec7r54-1778510601.4973075-1.0.1.1-UZx_58EqZXOjhg6Z506qizyDqpRk4EB4VVdcyBe5dk3rZL88PwheeveZTl4R02Z4KrXmJycupRvM87icPoBp8.APEt_tC7Kdty5nIXp.o0ruhH18Arl4O5LAdxhplmWm; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:21 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -102,7 +102,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_85e03ea01ad4408f99f6c00d789f0bd5 + - req_54da3b6b34a64508bc41a9e4cfe1cbf0 status: code: 200 message: OK @@ -123,7 +123,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -133,11 +133,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -146,8 +146,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJQp8PE2bgnpypj8M9CFgSNH0sh9\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355235,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeM8oMMMaGLs8FC76q9ZaDBuZ8hBL\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510602,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"24\",\n \"refusal\": null,\n \ \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": @@ -156,18 +156,18 @@ interactions: 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_fe7a5277a8\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_09d726607f\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed4675daf4e1341-YYZ + - 9fa1f49dcab55577-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:35 GMT + - Mon, 11 May 2026 14:43:22 GMT Server: - cloudflare Strict-Transport-Security: @@ -185,15 +185,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '274' + - '548' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=RZMWEbhIrhoHYD.Wi4pOrgFWPuUX8ZsytGGIDbvu2RA-1776355235.4692674-1.0.1.1-usf9zyihSuxp1G3Wc6SYeM9ePXPAGRGRStev03gzPePuxGf8ok93QtcrRbT4obSySHhnjhZeqdv72hQz4nzKQPCSYr.z1Wi2yCM5RnsHfrMZ6YsR221q2yPo7nk7OixK; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:35 GMT + - __cf_bm=SSwEq8KLNqbPMpe8M6KNiciZNkn4Gjb5RBzY3FDJrOE-1778510601.8882082-1.0.1.1-eyrvVBTuh_bdzbRLli62cqsbHZK2cxq6HNRlr1dzEVgxOJahYPgwLDrRYMKDLP7WH7CsmdMhw8WYxxxe8j3cDZELOKKnN77kuulVQfV.jl0OtZ2RI.oTTScrGp7A1SDI; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:22 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -209,7 +209,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_463ea8c3acf34cfca98c070113bb065e + - req_67a3da4d8a304c43a6371381f88dc7e9 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_client_async_comparison.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_client_async_comparison.yaml index 3acb7e12..726a32b6 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_client_async_comparison.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_client_async_comparison.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,8 +38,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJR5hpN7S86Yn5lxLHXufYykt2vk\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355251,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeM9BzJnnZxfJIjpWZx0vtiBGayYt\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510625,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"12 + 12 equals 24.\",\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n @@ -48,18 +48,18 @@ interactions: {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_fe7a5277a8\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_dac1f01875\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed467c07e3e74a5-YYZ + - 9fa1f5308fe2b404-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:51 GMT + - Mon, 11 May 2026 14:43:46 GMT Server: - cloudflare Strict-Transport-Security: @@ -77,15 +77,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '408' + - '866' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=giTmOHo4aiNLQ5Ssg7zF6H6MlWEBZge0b2YjEGnWuLI-1776355251.2802002-1.0.1.1-GXYINLy3bVNUgG8mUWTbZdvLDUCc0fs9du3R7EQtDaxcwcXoAxfHPZ1WsdfaCZC8N1Vosx_.V8ov70gvbfE9onqv0ThyIHhVbZoWHMIDrzTFKrErLYSVcoRWAP2zT.jh; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:51 GMT + - __cf_bm=Ucam.KVopChAUPPvvwWbXW1BULc4YQsDc8cgIBF9wKY-1778510625.363567-1.0.1.1-bMuXFEqQSALo_cCCZ1XlSXMF2qCy8Be9G2GIUG.uv.QLm44SSV2EUplUTnP9MFBviIkmD3nYNdxndrlwSo.UUrvFG24oq3ZsxlY9x19KvrhjwiM2KIU7gMK4mcnyNy9b; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:46 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -101,7 +101,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_c0c0ceb17c0246f58609caba73e7f44d + - req_c3fbb434f2d244b7b34eaa4d48b69148 status: code: 200 message: OK @@ -121,7 +121,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -131,11 +131,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -144,8 +144,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJR5jSReb6hGKWeEjdoHjoj7zgCn\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355251,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeM9CgZaqfN1t2KC1mHAimAOYPmcM\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510626,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"12 + 12 equals 24.\",\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n @@ -154,18 +154,18 @@ interactions: {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_fe7a5277a8\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_dac1f01875\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed467c40d5690e5-YYZ + - 9fa1f537283d378a-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:52 GMT + - Mon, 11 May 2026 14:43:47 GMT Server: - cloudflare Strict-Transport-Security: @@ -183,15 +183,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '491' + - '1109' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=99lTYy0g91OxRY0FoVzD4S3Zw81QiPM5BSAk6m7QhXc-1776355251.844259-1.0.1.1-kVfdmKzjQJXYkqOeXTPEB9kaUAsdwGDjAmg4hDnMV2Yss8yWrHUkItDMHf_wbmHwcmYHK4CBdN9s3581tPU4_URtSFAtOH8bFrSt6vPVk0_X1xfrSKvvKqjirfvlumvF; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:52 GMT + - __cf_bm=8jHX4FpzTQMq1uGNH86ITebw481LdEi9srVYZsuFyMg-1778510626.4301872-1.0.1.1-8xBFKVRL93G.bscoFjp7p359lZHj5RNgufI.mYc49fx8Lu5T8.ts_Azq4ckv7IY5wPnlp8MWloADNARx0rbyTRdfsbAwH6HWBCG3yQD9CFxrzSiOk_K37cjAXH6rizJu; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:47 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -201,13 +201,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999995' + - '149999992' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_fd904b9f55dd40b88d7435d3cb883155 + - req_1c86967b9f5d4b32be7e917d7cd07e3f status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_client_async_error.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_client_async_error.yaml index b89382ab..e12f5389 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_client_async_error.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_client_async_error.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -45,13 +45,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed467c85ad3ac5e-YYZ + - 9fa1f5406d78ec71-YYZ Connection: - keep-alive Content-Type: - application/json; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:00:52 GMT + - Mon, 11 May 2026 14:43:48 GMT Server: - cloudflare Strict-Transport-Security: @@ -67,13 +67,13 @@ interactions: content-length: - '224' set-cookie: - - __cf_bm=TEqKw.0PAyUUQxIgUbKHT_UYVC5cxW6rDJoQD3OoyEQ-1776355252.5391493-1.0.1.1-dyIERk.Bb42ZhMu3xgJJAoQHCJtso6I7ehMBGTw0E0ASbfAIW9x.Yl2pVE8JLcXgO5JqkcGOhdYi41vKJEGWgReQ7DZYhBtMU_9UjkxeanW_L0pwR71VlRhU2HyBCeuC; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:52 GMT + - __cf_bm=RvCriA209bXxmKA6u8TJuNXy78rxbRMG8JhuraqKmlw-1778510627.9072835-1.0.1.1-ZXBjVk.VVb0Dc_o1dDXYWtNR4dsbvAquunUHRWmEugiu.bFE6FC1NSsCYQXBPOQx9p8Il.4.PNdVfIe7bA1uq7AXev.NgpqO_ZjusRV.yBJNpi6AwkVBemsdiF1b.4U8; + HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, + 11 May 2026 15:13:48 GMT x-openai-proxy-wasm: - v0.1 x-request-id: - - req_8b33a855eda740a7a760b4b63aa7cd12 + - req_45c7b0a972e548db86b820a142739469 status: code: 404 message: Not Found diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_client_comparison.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_client_comparison.yaml index f6dbd5ae..573f5f5b 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_client_comparison.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_client_comparison.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,8 +38,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJQrM0nZmJM2IlZD8nAkfKlo2VC9\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355237,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeM8pClDOk1qvTOqpdV40R6eouwTu\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510603,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"12 + 12 equals 24.\",\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n @@ -48,18 +48,18 @@ interactions: {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_fe7a5277a8\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_dac1f01875\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed467677a1bab3e-YYZ + - 9fa1f4a479fdabe8-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:37 GMT + - Mon, 11 May 2026 14:43:23 GMT Server: - cloudflare Strict-Transport-Security: @@ -77,15 +77,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '306' + - '804' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=qIR3WDT2Kv7WiN9bIvo4CSbYX8PzD9glXuSpRDkc5n4-1776355237.038125-1.0.1.1-I1jugClXpi7H39mHTgiQPrZz9ZX6K75NhhzuFcn0c9Ma70JXWSogrEzGg8oqUux0OjxhjuvOwsicAKO1lvI30MRDvTpIsJewDuU519z6v.wowLFr5NaGF4SLNDrduIoi; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:37 GMT + - __cf_bm=m64yIap.a2uUA3kxGXzm3AzJDWsxKVMCaFVobwn45vM-1778510602.9539354-1.0.1.1-ehaeOHxMrAq1P6VIZEfrVn_GRM.pVJHtvLnjSm8YZ_UgaQsCUhcifKou_z1nkQN3.a3Y.hQ6LrtFlsSD_XAYOAZZv_yLV0X_8VVmyyL4SAkzoCdwLHnlXY9298hOnksE; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:23 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -95,13 +95,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999992' + - '149999995' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_9b96bbdbbe034590991a7999c50e76ab + - req_506ff5fe53b4426487d7ca237902c7b3 status: code: 200 message: OK @@ -121,7 +121,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -131,11 +131,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -144,8 +144,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJQr83QPPWwev7jOey0eydMziW9H\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355237,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeM8qh2chsiFJwkJgBgO78cg19jgW\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510604,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"12 + 12 equals 24.\",\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n @@ -154,18 +154,18 @@ interactions: {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_fe7a5277a8\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_dac1f01875\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed4676abef9375a-YYZ + - 9fa1f4aada5e74a5-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:38 GMT + - Mon, 11 May 2026 14:43:24 GMT Server: - cloudflare Strict-Transport-Security: @@ -183,15 +183,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '435' + - '699' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=IO_3YDrcSvBTGNmHykmR3y8z9fZIItAYzeegIJxGgs4-1776355237.5542762-1.0.1.1-9rG3s1r7.YTv94.r_gAZxIiEjoL2Y20z6ABijoCtD5jw5wW4Pf0USkauu_ovmMdlE5HltSHcNsT1MwX0yLbjpHBG71SKXGwa5g6k_AVUDm40IlFpvESH0At_SprBOlj.; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:38 GMT + - __cf_bm=alKMW9C7e9erVkBOJqA8AMGRAWdFT.Aes1Qmi.Dxl_0-1778510603.9758003-1.0.1.1-Hnx8fI_w.huBSNXHsh8oQj1VUYzioixOFCIlEFD_R24fEFY8pvM0VXLql88QIBZdvFvI8WiQgos0bxRRfJzockVwWcEZIOyDcn2E8MMQ9sb4l7EA2YbnDdfNU72FdFxj; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:24 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -201,13 +201,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999992' + - '149999995' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_8bfd9475c67542ef9b8eadfc308b2b24 + - req_4de783d0968747e1bd171a44f0935052 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_client_error.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_client_error.yaml index ef9b892e..1d5312f0 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_client_error.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_client_error.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -45,13 +45,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed4676e8aad36bd-YYZ + - 9fa1f4b09accfcd9-YYZ Connection: - keep-alive Content-Type: - application/json; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:00:38 GMT + - Mon, 11 May 2026 14:43:25 GMT Server: - cloudflare Strict-Transport-Security: @@ -67,13 +67,13 @@ interactions: content-length: - '224' set-cookie: - - __cf_bm=wZJ2.hjOuzWo4xQmKuwPuV3pZPIdfuE6ykhe5oFIjVM-1776355238.162921-1.0.1.1-dul618WGHnaVRBtRqZf8YfM.f4mkNvs6pf7J7EcOGlLwoR1HsU2D8AMN1Q6RVlOTYAaHcqExlfHxq.njPX9.at3mwnmcLRPYPTWae0H1ND98Fel3ssB77n67IOKy0fL3; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:38 GMT + - __cf_bm=P2JHiSYVm5gX2Xtam9wAH.l0l8p6OxAwnJjTnRqaEI0-1778510604.8989983-1.0.1.1-0xM6_tYofogSJqvyYcfVNLcwFoijmLuuqOXSlJll0_UIh5KJ4auIZMfOtFf40UKN5082mJsjELk5xxop17zx9jK6UpXn0eV4djes08Kd4i2_u5khsrZA5uD3ib0JfpRR; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:25 GMT x-openai-proxy-wasm: - v0.1 x-request-id: - - req_6cf1babf35b84d18beb0ab01ca2354ef + - req_1271711957ec480ebfb75ce67c4658a8 status: code: 404 message: Not Found diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_embeddings.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_embeddings.yaml index 2f45e4fd..91b27e93 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_embeddings.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_embeddings.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -43,32 +43,28 @@ interactions: \ }\n ],\n \"model\": \"text-embedding-ada-002-v2\",\n \"usage\": {\n \ \"prompt_tokens\": 4,\n \"total_tokens\": 4\n }\n}\n" headers: - Access-Control-Allow-Origin: - - '*' - CF-Cache-Status: - - DYNAMIC - CF-Ray: - - 9ed4672998d8ac63-YYZ + CF-RAY: + - 9fa1f43d9decaad3-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:27 GMT + - Mon, 11 May 2026 14:43:10 GMT Server: - cloudflare - Strict-Transport-Security: - - max-age=31536000; includeSubDomains; preload Transfer-Encoding: - chunked - Via: - - envoy-router-bf58857bf-4jxdp X-Content-Type-Options: - nosniff + access-control-allow-origin: + - '*' access-control-expose-headers: - X-Request-ID alt-svc: - h3=":443"; ma=86400 + cf-cache-status: + - DYNAMIC content-length: - '8417' openai-model: @@ -76,15 +72,19 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '59' + - '283' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=xDP6HX2BA6OxZ4E_7v8JEScS4qCkA2dTXgCgoMsi1Dw-1776355227.1343982-1.0.1.1-JhaGxO9Q.pooDvn6NUfgV_Pg.JxhcOiLviA0gC19kcxZHag4dElNwRG7Rc40Ox03wQCOrlyie45PtdKFNDl3Ne7wSt0WE1iSxRtjba9NBR1ECOiHnnjqTpGLuzkAXUHS; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:27 GMT + - __cf_bm=Vq5.IHxgJ2zpcwIxUmLPK4r9XWAvk0huwQWy4Qodz4k-1778510586.4995418-1.0.1.1-ujmy4X2EtpBzLRDxOVvQmB9pRBAYj3T9WmcLOQvhAoz5aF1JSm0QW54RnEaDVfw3U2iiJ9dXQC4p9TxZy4ZANjLQEtK7oW0cSwcrD9aKjiY1yDg3w.q5MWKYCLvPQMXS; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:10 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + via: + - envoy-router-5f798bbb74-27gh2 x-engine-geography: - US x-openai-proxy-wasm: @@ -102,7 +102,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_ab077717e9aa4b2f9ee4b9fe942d049e + - req_95196626b6bb483aa8d9ea2effb18ae8 status: code: 200 message: OK @@ -122,7 +122,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -132,11 +132,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -150,32 +150,28 @@ interactions: \ }\n ],\n \"model\": \"text-embedding-ada-002-v2\",\n \"usage\": {\n \ \"prompt_tokens\": 4,\n \"total_tokens\": 4\n }\n}\n" headers: - Access-Control-Allow-Origin: - - '*' - CF-Cache-Status: - - DYNAMIC - CF-Ray: - - 9ed4672b7f91ae18-YYZ + CF-RAY: + - 9fa1f4586a17ac75-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:27 GMT + - Mon, 11 May 2026 14:43:11 GMT Server: - cloudflare - Strict-Transport-Security: - - max-age=31536000; includeSubDomains; preload Transfer-Encoding: - chunked - Via: - - envoy-router-bf58857bf-4jxdp X-Content-Type-Options: - nosniff + access-control-allow-origin: + - '*' access-control-expose-headers: - X-Request-ID alt-svc: - h3=":443"; ma=86400 + cf-cache-status: + - DYNAMIC content-length: - '8417' openai-model: @@ -183,15 +179,19 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '43' + - '56' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=M1suuw4zXX.DMt8yfMHsq1CEY51f0cX7LcZL64fsd9U-1776355227.4405503-1.0.1.1-yR60xNWycTABZdZYWeZEbHiYpcsnei_rS27o8GcwD2N0txekG_BR3hwM72_ShOjKGydEgI_Tv6vSpYcKK1x6QG8WR7baIahssKXePzpET1FtI553CkV7jubhr43VNTwr; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:27 GMT + - __cf_bm=Wfb7EEUNJeUofnMRNbiL1yavJvoV0tnIP8Bn2x1YYKA-1778510590.7836716-1.0.1.1-79Vg107ARmP4N4lOp8zIzY_fPNeEQEFEGDbpG9d3HCfF6TD1TheMFecBzV5bn1O2dM36qUGrYbtOLo0IE8VHHzBP9d_iX5GrY790PFcclj45VcdzetYFSb6sIWwQ2fgQ; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:11 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + via: + - envoy-router-75874d98d8-47ck4 x-engine-geography: - US x-openai-proxy-wasm: @@ -209,7 +209,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_5321fe741d8343a981533a01f1170bef + - req_f0016de5c3e9452d893afbbf56c1db1e status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_embeddings_async.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_embeddings_async.yaml index 3df70ad8..fdcf0ad7 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_embeddings_async.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_embeddings_async.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -43,32 +43,28 @@ interactions: \ }\n ],\n \"model\": \"text-embedding-ada-002-v2\",\n \"usage\": {\n \ \"prompt_tokens\": 4,\n \"total_tokens\": 4\n }\n}\n" headers: - Access-Control-Allow-Origin: - - '*' - CF-Cache-Status: - - DYNAMIC - CF-Ray: - - 9ed467967d1e39f2-YYZ + CF-RAY: + - 9fa1f4fd1bd30c26-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:44 GMT + - Mon, 11 May 2026 14:43:37 GMT Server: - cloudflare - Strict-Transport-Security: - - max-age=31536000; includeSubDomains; preload Transfer-Encoding: - chunked - Via: - - envoy-router-6f4fdc4df-mc22c X-Content-Type-Options: - nosniff + access-control-allow-origin: + - '*' access-control-expose-headers: - X-Request-ID alt-svc: - h3=":443"; ma=86400 + cf-cache-status: + - DYNAMIC content-length: - '8417' openai-model: @@ -76,15 +72,19 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '44' + - '61' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=BCmXtwVzAv_.aGG73Bf2F9oM6XvYYaI7783rALS.gyo-1776355244.5521243-1.0.1.1-SFfvTpuAgX69IjuqsPtzM5jRX79fOvKKoFNHEvcO70OLP5jIRTUYFejkvhwFa1pAlTNBo0.FAJdVUSqdkhUB5pcvSA11jzM1tgIcCXzNPdAEH7zs_DhWYYCf5AM1exdW; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:44 GMT + - __cf_bm=_Mp6pL.AhaeH67upUsjkiI7bJ8Q58eSP4WJIdv_N4Po-1778510617.1317456-1.0.1.1-4dUXUT64mnGbxsqYXzzFpU0vf4zosno4qzHnMkUeM.8_k8Y1jwC3Zh8mc9Q1PWFYLO1dyVtnzKKT3dV6zTN8S1Sacn011s_9wyN21aEmxrU.NqCeD2GN3JgS6LNmYdBs; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:37 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + via: + - envoy-router-canary-775fd7bcf4-s4799 x-engine-geography: - US x-openai-proxy-wasm: @@ -102,7 +102,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_335c05117db4493792292097f66c31fb + - req_f8bea39302904e4db9249638ea2b96a6 status: code: 200 message: OK @@ -122,7 +122,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -132,11 +132,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -150,32 +150,28 @@ interactions: \ }\n ],\n \"model\": \"text-embedding-ada-002-v2\",\n \"usage\": {\n \ \"prompt_tokens\": 4,\n \"total_tokens\": 4\n }\n}\n" headers: - Access-Control-Allow-Origin: - - '*' - CF-Cache-Status: - - DYNAMIC - CF-Ray: - - 9ed4679a180f5383-YYZ + CF-RAY: + - 9fa1f4ff3c82a3f1-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:45 GMT + - Mon, 11 May 2026 14:43:37 GMT Server: - cloudflare - Strict-Transport-Security: - - max-age=31536000; includeSubDomains; preload Transfer-Encoding: - chunked - Via: - - envoy-router-6f679769b8-c6crt X-Content-Type-Options: - nosniff + access-control-allow-origin: + - '*' access-control-expose-headers: - X-Request-ID alt-svc: - h3=":443"; ma=86400 + cf-cache-status: + - DYNAMIC content-length: - '8417' openai-model: @@ -183,15 +179,19 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '124' + - '60' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=bGzqPcqvmzU3mfSFikspL.TEV6X4IButmTWwK_lC83M-1776355245.1380012-1.0.1.1-1D1zOhIG8qrM0MdhXXXIqEP9RUoXd8iW1VvL9Xr_K_DRMWdiKXpdR8eZzks0GLdyzoTjNz4VchNu5ZmuwH3YpOuvimWQPPPOuK_qK4KgjGx7U3mqfuqeIKGIKvvTeQT9; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:45 GMT + - __cf_bm=J2mviBUsRH83aQ41Fe6vxWsP5yA_YBYLH5vnQE2PP30-1778510617.4793437-1.0.1.1-FspcJ5eqb2EJRU3gY_6JSdWAr4oON2BOdXzipbBiV3clPlSai5gk.SCKzApNAuj2g48DN5zTtGgyQQDbMxyPPC4JIq_gwkmmfaT07BSt98uSaIQanrq74ZET4Oc0.Vt_; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:37 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + via: + - envoy-router-75874d98d8-5ht77 x-engine-geography: - US x-openai-proxy-wasm: @@ -209,7 +209,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_95030549c96b467c8910cc5388e556bb + - req_4d9100844bec4974b31245c275d31ed4 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_image_data_url_converts_to_attachment.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_image_data_url_converts_to_attachment.yaml index 78816e96..a940ac79 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_image_data_url_converts_to_attachment.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_image_data_url_converts_to_attachment.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,11 +26,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -39,8 +39,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJSfs5e5eTwmkuqg0TT3IxwDZp8T\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355349,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMBO6acGTm9UrdLhVyZQ7sPIoEu0\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510762,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"The image is red.\",\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n @@ -49,18 +49,18 @@ interactions: {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_4debc47fe0\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_3b264ad91d\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed46a26cb5a36d8-YYZ + - 9fa1f8859af25d15-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:02:30 GMT + - Mon, 11 May 2026 14:46:02 GMT Server: - cloudflare Strict-Transport-Security: @@ -78,15 +78,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '751' + - '744' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=Rh_vAU8r.heBgR7aX24q7d_D1ZpydES8macHUZsS3pY-1776355349.564994-1.0.1.1-ayGR4mFVZdOr2NqMLdDkRda30VYNMxa9JI4EOiprcBYPLzO2dvfumYZic.Oy6j3zGc7DhwqqEu5EoMxHqoMr_Iq2ome5s3ic2ZSXi1CPSHEyYZEoBf50L8dYhyraU4WD; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:30 GMT + - __cf_bm=m1d2qbbC9otCsnsKbqpraRM14LwyQ4B6M4iwqI6D.2k-1778510761.8603745-1.0.1.1-8K46Je6pm7nhMSHQaSYTboQp4jcIXqFkahOmdGgo9tv6svjxNpiWDADJkstBQPL3pFFxvj.wkkU19efZzQj9roh7Gq4AWdQBSUQg2g2TyIIkBKA93R.YGxZ2XyfgP_Mb; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:16:02 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-input-images: @@ -100,7 +100,7 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999225' + - '149999227' x-ratelimit-reset-input-images: - 1ms x-ratelimit-reset-requests: @@ -108,7 +108,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_650b2024b3f34eccb820c8f77181622d + - req_17b01a2f895e4106926dfd26f5a02a17 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_images_edit.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_images_edit.yaml index af970b84..bcc6ab9d 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_images_edit.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_images_edit.yaml @@ -1,20 +1,20 @@ interactions: - request: body: !!binary | - LS05NjVjNGI2ZWY4MjIxMmUzMjNjODVkNjMxMzMzYzJkNA0KQ29udGVudC1EaXNwb3NpdGlvbjog - Zm9ybS1kYXRhOyBuYW1lPSJwcm9tcHQiDQoNCkFkZCBhIGJsdWUgYm9yZGVyDQotLTk2NWM0YjZl - ZjgyMjEyZTMyM2M4NWQ2MzEzMzNjMmQ0DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7 - IG5hbWU9Im1vZGVsIg0KDQpkYWxsLWUtMg0KLS05NjVjNGI2ZWY4MjIxMmUzMjNjODVkNjMxMzMz - YzJkNA0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJyZXNwb25zZV9mb3Jt - YXQiDQoNCnVybA0KLS05NjVjNGI2ZWY4MjIxMmUzMjNjODVkNjMxMzMzYzJkNA0KQ29udGVudC1E - aXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJzaXplIg0KDQoyNTZ4MjU2DQotLTk2NWM0YjZl - ZjgyMjEyZTMyM2M4NWQ2MzEzMzNjMmQ0DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7 + LS1jMGE1NTA1MDZiYzA2YTI0M2MzYmNmMzBmZTgxYWJkOQ0KQ29udGVudC1EaXNwb3NpdGlvbjog + Zm9ybS1kYXRhOyBuYW1lPSJwcm9tcHQiDQoNCkFkZCBhIGJsdWUgYm9yZGVyDQotLWMwYTU1MDUw + NmJjMDZhMjQzYzNiY2YzMGZlODFhYmQ5DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7 + IG5hbWU9Im1vZGVsIg0KDQpkYWxsLWUtMg0KLS1jMGE1NTA1MDZiYzA2YTI0M2MzYmNmMzBmZTgx + YWJkOQ0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJyZXNwb25zZV9mb3Jt + YXQiDQoNCnVybA0KLS1jMGE1NTA1MDZiYzA2YTI0M2MzYmNmMzBmZTgxYWJkOQ0KQ29udGVudC1E + aXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJzaXplIg0KDQoyNTZ4MjU2DQotLWMwYTU1MDUw + NmJjMDZhMjQzYzNiY2YzMGZlODFhYmQ5DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7 IG5hbWU9ImltYWdlIjsgZmlsZW5hbWU9ImJyYWludHJ1c3QtdGVzdC1pbWFnZS5wbmciDQpDb250 ZW50LVR5cGU6IGltYWdlL3BuZw0KDQqJUE5HDQoaCgAAAA1JSERSAAAAQAAAAEAIBgAAAKppcd4A AACUSURBVHic7dAxEQAwEMOw8Cf9haGhHrT7vNvuZ9MBWgN0gNYAHaA1QAdoDdABWgN0gNYAHaA1 QAdoDdABWgN0gNYAHaA1QAdoDdABWgN0gNYAHaA1QAdoDdABWgN0gNYAHaA1QAdoDdABWgN0gNYA HaA1QAdoDdABWgN0gNYAHaA1QAdoDdABWgN0gNYAHaA1QAdoD0OI4dJt2PESAAAAAElFTkSuQmCC - DQotLTk2NWM0YjZlZjgyMjEyZTMyM2M4NWQ2MzEzMzNjMmQ0LS0NCg== + DQotLWMwYTU1MDUwNmJjMDZhMjQzYzNiY2YzMGZlODFhYmQ5LS0NCg== headers: Accept: - application/json @@ -25,11 +25,11 @@ interactions: Content-Length: - '781' Content-Type: - - multipart/form-data; boundary=965c4b6ef82212e323c85d631333c2d4 + - multipart/form-data; boundary=c0a550506bc06a243c3bcf30fe81abd9 Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -39,11 +39,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -52,18 +52,20 @@ interactions: uri: https://api.openai.com/v1/images/edits response: body: - string: "{\n \"created\": 1776355319,\n \"data\": [\n {\n \"url\": - \"https://oaidalleapiprodscus.blob.core.windows.net/private/org-gY2CWXtioLkEfpHBJTrcdNID/user-jIouncdtCNqBNU7Q41fsSvZ2/img-7MtTu8HDtF2ztoLCTvTu8o1X.png?st=2026-04-16T15%3A01%3A59Z&se=2026-04-16T17%3A01%3A59Z&sp=r&sv=2026-02-06&sr=b&rscd=inline&rsct=image/png&skoid=ed3ea2f9-5e38-44be-9a1b-7c1e65e4d54f&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skt=2026-04-15T17%3A18%3A44Z&ske=2026-04-16T17%3A18%3A44Z&sks=b&skv=2026-02-06&sig=/PnkmRVZnj8/AqSMB0OkVaLF0NAICMXKjqd61/Zi/qE%3D\"\n + string: "{\n \"created\": 1778510703,\n \"data\": [\n {\n \"url\": + \"https://oaidalleapiprodscus.blob.core.windows.net/private/org-gY2CWXtioLkEfpHBJTrcdNID/user-jIouncdtCNqBNU7Q41fsSvZ2/img-7TR2PTcVDCWE5DpUDsBQqGnt.png?st=2026-05-11T13%3A45%3A03Z&se=2026-05-11T15%3A45%3A03Z&sp=r&sv=2026-02-06&sr=b&rscd=inline&rsct=image/png&skoid=b1a0ae1f-618f-4548-84fd-8b16cacd5485&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skt=2026-05-11T12%3A31%3A29Z&ske=2026-05-12T12%3A31%3A29Z&sks=b&skv=2026-02-06&sig=oeg7fvVbie%2BtiXfJwAJo%2B9apPoDl7sVRISy/r6qB9rA%3D\"\n \ }\n ]\n}" headers: - CF-RAY: - - 9ed46917ed687aa8-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f6d33a64ab96-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:01:59 GMT + - Mon, 11 May 2026 14:45:03 GMT Server: - cloudflare Strict-Transport-Security: @@ -72,45 +74,45 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '544' + - '548' openai-organization: - braintrust-data openai-processing-ms: - - '12970' + - '10797' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=e50mbWKdrIiDTdGhpPjZj1S624sr4FzA_3vZ2cNtVOo-1776355306.223971-1.0.1.1-zaR7Rw.NAEzoAFjglYX9W750YU8hyiKYoVuE7b6zPNI0bHJ7Rq1_rUKhIxzcnT02rsuBQ.tW2WoW4XrHM2rnapDljkypiSwxL2cFjArMp6wwG39EPRF.DG2r7LVffpHL; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:59 GMT + - __cf_bm=3amO50EBKJxB12wfttuqsOSU0JIXLuTlDsvYDsq9aLg-1778510692.353616-1.0.1.1-9JQSdh5hdi.M1PHdrskKJh9H0C.ur.70jdtDK1WC9mYApMyBaNAOSuhBiyigbNqN0x8MJsYSkTJC9x0D.NN3L4OB_zP0sL3IQlWVjSLlMeUii_oPKNvFJG6G00XS1FB4; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:15:03 GMT x-request-id: - - req_50106539050d485ca4bec92cea566cc0 + - req_94a672f2df724e2ab2ebed492132dd91 status: code: 200 message: OK - request: body: !!binary | - LS1jMDY4YzgyYmUwYzg1ZjA5NjM4YTkzZWQxNDI0NTk3NQ0KQ29udGVudC1EaXNwb3NpdGlvbjog - Zm9ybS1kYXRhOyBuYW1lPSJwcm9tcHQiDQoNCkFkZCBhIGJsdWUgYm9yZGVyDQotLWMwNjhjODJi - ZTBjODVmMDk2MzhhOTNlZDE0MjQ1OTc1DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7 - IG5hbWU9Im1vZGVsIg0KDQpkYWxsLWUtMg0KLS1jMDY4YzgyYmUwYzg1ZjA5NjM4YTkzZWQxNDI0 - NTk3NQ0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJyZXNwb25zZV9mb3Jt - YXQiDQoNCnVybA0KLS1jMDY4YzgyYmUwYzg1ZjA5NjM4YTkzZWQxNDI0NTk3NQ0KQ29udGVudC1E - aXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJzaXplIg0KDQoyNTZ4MjU2DQotLWMwNjhjODJi - ZTBjODVmMDk2MzhhOTNlZDE0MjQ1OTc1DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7 + LS0wZTY5YjA2ZmY3OWE1MDRhZGU2YmM2NGY5ZWUzNTJiMw0KQ29udGVudC1EaXNwb3NpdGlvbjog + Zm9ybS1kYXRhOyBuYW1lPSJwcm9tcHQiDQoNCkFkZCBhIGJsdWUgYm9yZGVyDQotLTBlNjliMDZm + Zjc5YTUwNGFkZTZiYzY0ZjllZTM1MmIzDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7 + IG5hbWU9Im1vZGVsIg0KDQpkYWxsLWUtMg0KLS0wZTY5YjA2ZmY3OWE1MDRhZGU2YmM2NGY5ZWUz + NTJiMw0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJyZXNwb25zZV9mb3Jt + YXQiDQoNCnVybA0KLS0wZTY5YjA2ZmY3OWE1MDRhZGU2YmM2NGY5ZWUzNTJiMw0KQ29udGVudC1E + aXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJzaXplIg0KDQoyNTZ4MjU2DQotLTBlNjliMDZm + Zjc5YTUwNGFkZTZiYzY0ZjllZTM1MmIzDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7 IG5hbWU9ImltYWdlIjsgZmlsZW5hbWU9ImJyYWludHJ1c3QtdGVzdC1pbWFnZS5wbmciDQpDb250 ZW50LVR5cGU6IGltYWdlL3BuZw0KDQqJUE5HDQoaCgAAAA1JSERSAAAAQAAAAEAIBgAAAKppcd4A AACUSURBVHic7dAxEQAwEMOw8Cf9haGhHrT7vNvuZ9MBWgN0gNYAHaA1QAdoDdABWgN0gNYAHaA1 QAdoDdABWgN0gNYAHaA1QAdoDdABWgN0gNYAHaA1QAdoDdABWgN0gNYAHaA1QAdoDdABWgN0gNYA HaA1QAdoDdABWgN0gNYAHaA1QAdoDdABWgN0gNYAHaA1QAdoD0OI4dJt2PESAAAAAElFTkSuQmCC - DQotLWMwNjhjODJiZTBjODVmMDk2MzhhOTNlZDE0MjQ1OTc1LS0NCg== + DQotLTBlNjliMDZmZjc5YTUwNGFkZTZiYzY0ZjllZTM1MmIzLS0NCg== headers: Accept: - application/json @@ -121,11 +123,11 @@ interactions: Content-Length: - '781' Content-Type: - - multipart/form-data; boundary=c068c82be0c85f09638a93ed14245975 + - multipart/form-data; boundary=0e69b06ff79a504ade6bc64f9ee352b3 Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -135,11 +137,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -148,18 +150,20 @@ interactions: uri: https://api.openai.com/v1/images/edits response: body: - string: "{\n \"created\": 1776355329,\n \"data\": [\n {\n \"url\": - \"https://oaidalleapiprodscus.blob.core.windows.net/private/org-gY2CWXtioLkEfpHBJTrcdNID/user-jIouncdtCNqBNU7Q41fsSvZ2/img-AlpfGyILMXcIxp2tfIORktyZ.png?st=2026-04-16T15%3A02%3A09Z&se=2026-04-16T17%3A02%3A09Z&sp=r&sv=2026-02-06&sr=b&rscd=inline&rsct=image/png&skoid=9346e9b9-5d29-4d37-a0a9-c6f95f09f79d&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skt=2026-04-16T03%3A15%3A01Z&ske=2026-04-17T03%3A15%3A01Z&sks=b&skv=2026-02-06&sig=3cmK7uKj98F/ekKN5vSbRVh3RVVMYf01lAVP5f01vvU%3D\"\n + string: "{\n \"created\": 1778510713,\n \"data\": [\n {\n \"url\": + \"https://oaidalleapiprodscus.blob.core.windows.net/private/org-gY2CWXtioLkEfpHBJTrcdNID/user-jIouncdtCNqBNU7Q41fsSvZ2/img-BqSP5A7LHG30lWB9BBuOfZ9E.png?st=2026-05-11T13%3A45%3A13Z&se=2026-05-11T15%3A45%3A13Z&sp=r&sv=2026-02-06&sr=b&rscd=inline&rsct=image/png&skoid=cc612491-d948-4d2e-9821-2683df3719f5&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skt=2026-05-10T21%3A21%3A17Z&ske=2026-05-11T21%3A21%3A17Z&sks=b&skv=2026-02-06&sig=PPBXw/VCuBRa0M1U/SmM45AvqGTEjc9Tf%2B2f4ZHmpsA%3D\"\n \ }\n ]\n}" headers: - CF-RAY: - - 9ed4696bb85bcf1c-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f7188edf76ed-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:02:09 GMT + - Mon, 11 May 2026 14:45:13 GMT Server: - cloudflare Strict-Transport-Security: @@ -168,26 +172,26 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '544' + - '546' openai-organization: - braintrust-data openai-processing-ms: - - '9968' + - '9985' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=bG6ebpstsr32Ri7FwmtYfU8Dd.PtWD_MpAqfvFAFeGs-1776355319.635326-1.0.1.1-7DbEdBvZEgAUKeIMdYrJNrfnPxeVlfgYXFyFVb9Ihvwn3RUS2u0vax7GbGT7OuDfnudWQ_nOzExSzD7N5PYCHnuLxPFrRTBJ9l9wNYPlLvYJSII5MGGhp0Bsggk.bU9b; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:09 GMT + - __cf_bm=1PtJ7dJUZMp817MOAjZU8tB0bjpwKRCszKV8_AZgNyU-1778510703.4505117-1.0.1.1-44qWJRoOusyzEFtMAwIWm0MyPUsptqunNhtYutr3pWmcSLeTiXiX3Mn6SYXyxSttTnXY.q_j4ZKuLa__r2.V9UaRTve2PxdgjOdhtALTrF0fyDAhd59gfivMEeRrDt6j; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:15:13 GMT x-request-id: - - req_ea24b8f40e0e471a9649629c4c3b7906 + - req_de6d77a95ce54fb69dbe4fa492712ad4 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_images_generate.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_images_generate.yaml index 10df0d36..cd14409e 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_images_generate.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_images_generate.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,18 +38,20 @@ interactions: uri: https://api.openai.com/v1/images/generations response: body: - string: "{\n \"created\": 1776355295,\n \"data\": [\n {\n \"url\": - \"https://oaidalleapiprodscus.blob.core.windows.net/private/org-gY2CWXtioLkEfpHBJTrcdNID/user-jIouncdtCNqBNU7Q41fsSvZ2/img-mYshbt9Cbx2CiYrL4Ru5mQ6l.png?st=2026-04-16T15%3A01%3A35Z&se=2026-04-16T17%3A01%3A35Z&sp=r&sv=2026-02-06&sr=b&rscd=inline&rsct=image/png&skoid=cc612491-d948-4d2e-9821-2683df3719f5&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skt=2026-04-15T17%3A00%3A33Z&ske=2026-04-16T17%3A00%3A33Z&sks=b&skv=2026-02-06&sig=vxrou1LK%2BWdhyY7VoyRLFqVLU31yo7uadd5GXGux89c%3D\"\n + string: "{\n \"created\": 1778510680,\n \"data\": [\n {\n \"url\": + \"https://oaidalleapiprodscus.blob.core.windows.net/private/org-gY2CWXtioLkEfpHBJTrcdNID/user-jIouncdtCNqBNU7Q41fsSvZ2/img-NxHPZPE02V1dHY8tQQuIz9HS.png?st=2026-05-11T13%3A44%3A40Z&se=2026-05-11T15%3A44%3A40Z&sp=r&sv=2026-02-06&sr=b&rscd=inline&rsct=image/png&skoid=13da7400-b3f7-4f8c-9cba-908fecbd114c&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skt=2026-05-11T07%3A13%3A27Z&ske=2026-05-12T07%3A13%3A27Z&sks=b&skv=2026-02-06&sig=X41siv%2Baz%2Boj2Q%2BDJfWTLpboOcPZQ0QQxU%2BI6DX%2Bl4A%3D\"\n \ }\n ]\n}" headers: - CF-RAY: - - 9ed4689baf83a235-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f64ac8cd97b9-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:01:35 GMT + - Mon, 11 May 2026 14:44:40 GMT Server: - cloudflare Strict-Transport-Security: @@ -58,26 +60,26 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '546' + - '554' openai-organization: - braintrust-data openai-processing-ms: - - '9428' + - '9706' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=4rDGRrpG42.1sO0T7YhoSir3A65eUYyHmQ0RANTMrkI-1776355286.342236-1.0.1.1-ErJyvbxQWzAHkh83bkmyru6nzfYr10DB.v_aBapjf8sUf8adG_FtGGFrxE3fIDW7heqXvjEpz8SHG4doGiSXsnFzAQCZaTSzBgdKYPY7RMsDQtyt.Jp2I8JeP1zvI88G; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:35 GMT + - __cf_bm=vRXP8Km79dGvNDzFRDalSNHvDBv2f223HtMU8agOiAU-1778510670.5245514-1.0.1.1-SZSyEV8Kvn4vCXen90Aul120g1PnOyyeO87x3qIZJoXKlBBgLIqYjwrmfC4Rl40GoC2CWzCWXWH9ozeBRoLnhejNyjb0jwA12XDFkJRoScmngHfc4v1qKhxqM_N2zwSU; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:14:40 GMT x-request-id: - - req_7f4bb1ee812d4ef1957e506a3d7af612 + - req_e58dceba604a4f4c84a733822781a181 status: code: 200 message: OK @@ -97,7 +99,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -107,11 +109,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -120,18 +122,20 @@ interactions: uri: https://api.openai.com/v1/images/generations response: body: - string: "{\n \"created\": 1776355305,\n \"data\": [\n {\n \"url\": - \"https://oaidalleapiprodscus.blob.core.windows.net/private/org-gY2CWXtioLkEfpHBJTrcdNID/user-jIouncdtCNqBNU7Q41fsSvZ2/img-b4HzDcDX4jUuHHyTlsQknksK.png?st=2026-04-16T15%3A01%3A45Z&se=2026-04-16T17%3A01%3A45Z&sp=r&sv=2026-02-06&sr=b&rscd=inline&rsct=image/png&skoid=b1a0ae1f-618f-4548-84fd-8b16cacd5485&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skt=2026-04-15T17%3A25%3A54Z&ske=2026-04-16T17%3A25%3A54Z&sks=b&skv=2026-02-06&sig=jSMBsS1F/uySMXLJBlMDkc6h7P3IyZKmQLbT43N0cbk%3D\"\n + string: "{\n \"created\": 1778510692,\n \"data\": [\n {\n \"url\": + \"https://oaidalleapiprodscus.blob.core.windows.net/private/org-gY2CWXtioLkEfpHBJTrcdNID/user-jIouncdtCNqBNU7Q41fsSvZ2/img-BHIXH2TKTpTB6PLPyChMljGP.png?st=2026-05-11T13%3A44%3A52Z&se=2026-05-11T15%3A44%3A52Z&sp=r&sv=2026-02-06&sr=b&rscd=inline&rsct=image/png&skoid=cc612491-d948-4d2e-9821-2683df3719f5&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skt=2026-05-11T09%3A41%3A34Z&ske=2026-05-12T09%3A41%3A34Z&sks=b&skv=2026-02-06&sig=UING6Bbo5ZTdftXaQo/tRO/qr/LzxFNQ%2BhnO5VbHR4c%3D\"\n \ }\n ]\n}" headers: - CF-RAY: - - 9ed468d8caa8a1ec-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f68878fc1707-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:01:45 GMT + - Mon, 11 May 2026 14:44:52 GMT Server: - cloudflare Strict-Transport-Security: @@ -140,26 +144,26 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '544' + - '546' openai-organization: - braintrust-data openai-processing-ms: - - '9720' + - '11592' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=vxRxNra44srcbWcgGHrXovSMU4H6hoZzh9qsoDvRb48-1776355296.1287844-1.0.1.1-rwCGxy40NKOWBd0sKHC.DtcXBZ2uv2TzyPqPlmbjpNecg.KS.9AOI67W_fSD6de37VR29Vg_T1VKWR6iMf8OOUWVs_6UVxRnOgps1LTpKfNhOFk0aD7lXX.Oe6Oc4kLU; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:45 GMT + - __cf_bm=lRiDKyIGjl9IHisNfvKZIUNUSrn9lMY7ALJa2yCBudY-1778510680.3978038-1.0.1.1-6od3bOEfmmelUapnh3X2xi2p03doRlDF.i0WzuRXHTCiDiyIn5N6ncSWq6r53Af3OUD5DsD2qf.x7s94DGwwEdi4X1bAk34luZ9_pn6n9NRK488ow2Z3Ob4DUT48YItd; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:14:52 GMT x-request-id: - - req_a3da3c8bc37b48ff861093ae2c0f15a2 + - req_b7c538dce80e41b680bcd8b12cab3871 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_not_given_filtering.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_not_given_filtering.yaml index dab32955..15421fcf 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_not_given_filtering.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_not_given_filtering.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,8 +38,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJRJ5Zvhu1KlN0A8to8N6GrWKBX6\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355265,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeM9SbtAAqTEuMnHsmCaw94pDrnVs\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510642,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"12 + 12 equals 24.\",\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n @@ -48,18 +48,18 @@ interactions: {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_fe7a5277a8\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_dac1f01875\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed468163fe6a1ec-YYZ + - 9fa1f59abf823786-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:01:05 GMT + - Mon, 11 May 2026 14:44:03 GMT Server: - cloudflare Strict-Transport-Security: @@ -77,15 +77,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '611' + - '606' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=xfT73UCD.CTRZQteGh5OTsP8GrX5fivBHQ3AcP8n9Po-1776355264.9989812-1.0.1.1-4h74U0yHzyBG9RJwES6bUusQJ7eAlC2PxeA6_AwLU1fcIZiyM1YKhnRypCoksL9gsz1aP9UXcCRJET_iAQpBxHag2NuOpjxVNAZOUKmlL0cvpkVA0gTsxq29s4c_AEEz; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:05 GMT + - __cf_bm=5DGZDZow_NAWkyIB6bGVMeTQ2wh71oIOYDZjF_L3kWo-1778510642.3603196-1.0.1.1-hlzWdhzq3Lm6Q3sAtw.XcN1rW._JoY566xNQFf5gCywGTnRuwnL0c7w.d5WkvUQ9ii7.USI70x8v5pxEz6NzMIic5.Udd1.TojNmb9uhtYXeEuqWnFziVqdCVozCREd1; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:14:03 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -95,13 +95,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999995' + - '149999992' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_1a016543ae2d4dbea5b141dd6b4b8f0d + - req_30ddb924060140f9b65f4ebf58ab8e63 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_parallel_tool_calls.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_parallel_tool_calls.yaml index 7de03241..5dc5a74e 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_parallel_tool_calls.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_parallel_tool_calls.yaml @@ -20,7 +20,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -30,11 +30,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -43,14 +43,14 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJRYbz0tfN7V0m5G02rJq9P08i0d\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355280,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeM9ptcCUrZ1Kj9B0KjamW19Z8uuB\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510665,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n - \ \"id\": \"call_kOnmW4SWoIEIuhoWpxrgrpl1\",\n \"type\": + \ \"id\": \"call_a0k3mA6hV16auvduDkHk8SQs\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"get_weather\",\n \ \"arguments\": \"{\\\"location\\\": \\\"New York\\\"}\"\n }\n - \ },\n {\n \"id\": \"call_XJV9mb07mjBnQNZGMTQOE7ha\",\n + \ },\n {\n \"id\": \"call_HYgmNPNgr2j4y8N4gv6samLE\",\n \ \"type\": \"function\",\n \"function\": {\n \"name\": \"get_time\",\n \"arguments\": \"{\\\"timezone\\\": \\\"Asia/Tokyo\\\"}\"\n \ }\n }\n ],\n \"refusal\": null,\n \"annotations\": @@ -60,18 +60,18 @@ interactions: 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_f1791ef38a\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_fcf1a634a5\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed468743ddf713b-YYZ + - 9fa1f62c9ceaebb8-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:01:21 GMT + - Mon, 11 May 2026 14:44:26 GMT Server: - cloudflare Strict-Transport-Security: @@ -89,15 +89,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '1304' + - '993' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=JHCr_VH_H8vTBuljsOAkJmn31eaX9fJ1zg_LYpgqmHU-1776355280.0361874-1.0.1.1-3YGsQBat7GbA2mJ60Onz2TNZ01SsQy9g79grzhKqxewHi0LJyN.dKQ9dC9nkcqhSOW5SXCJJWY4S5vWzO9y9aupjhdnCZDy8Ya4xsKzHUJtssTuH9or_3Mu6TLAeYCsj; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:21 GMT + - __cf_bm=O8mnj3xF1Gxz9NYA9ky5_Xs9rVNQyqnvQ11IoQ_mw8Y-1778510665.6921227-1.0.1.1-9ejIKLQ0FNMiRIbGsr34hzzHtSJo47iaabvqc3T71t8EW9gzelQW9ey1HOZLjPiHir73NhUXdNQkmO2cqURjeMyjckPa4ZbxsruMWg98Gshf9KHsDAbN4jpMsVXoKTG3; + HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, + 11 May 2026 15:14:26 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -113,7 +113,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_5cba1516c3ea443eaa6ff57094e58fa3 + - req_013b994b5024427b908f7bc0c7fb1778 status: code: 200 message: OK @@ -138,7 +138,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -148,11 +148,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -161,14 +161,14 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJRZb2EYvbv2z188wFIjxVsymZUI\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355281,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeM9rKsFzmFq9dc0KEBFxntzUTyJ1\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510667,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n - \ \"id\": \"call_JHo6pL0UDcpPUlCD6oQGYsxc\",\n \"type\": + \ \"id\": \"call_uTJuLXcBCLlPRbuW1md61AJ9\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"get_weather\",\n \ \"arguments\": \"{\\\"location\\\": \\\"New York\\\"}\"\n }\n - \ },\n {\n \"id\": \"call_ypba2rheefG6kXOITRf4H9ut\",\n + \ },\n {\n \"id\": \"call_zYAhUuTJO8UKWbyehH8BLl7c\",\n \ \"type\": \"function\",\n \"function\": {\n \"name\": \"get_time\",\n \"arguments\": \"{\\\"timezone\\\": \\\"Asia/Tokyo\\\"}\"\n \ }\n }\n ],\n \"refusal\": null,\n \"annotations\": @@ -178,18 +178,18 @@ interactions: 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_a7190374f3\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_fcf1a634a5\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed4687dfa1f3b8e-YYZ + - 9fa1f633f9f7ec6f-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:01:22 GMT + - Mon, 11 May 2026 14:44:27 GMT Server: - cloudflare Strict-Transport-Security: @@ -207,15 +207,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '1214' + - '812' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=sEBDF.kQNF6Ho5xKTm_YWfmLqLsfnX.5ibtn0t_7lgM-1776355281.5940826-1.0.1.1-yuHQbqbMJnCreKAce6Qm34Sa6g0vvPnqDxtLdF.0bBksPK7LIuMJeuOMjwIhRQ5lVPpEX5kM5ch4hxGnKGI_Xi23TMHwsxPktDyaDvlPxTS3nifAPJdUCayc9ufUweYW; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:22 GMT + - __cf_bm=yzh3_GLI4zdVjBkmH_QhhoxqHO62HuGfEXjWs6OxyeI-1778510666.8781018-1.0.1.1-qz7BTZ1FD6UeFKggYWPzGM_mzaTw5BZndWJDqSF_sOsLLFMovdcQCbaU_sMQucLwwQlV96B702bBP850XxrXjGOKPoE3UKOlMUGOp6DD6ZGxS6VWtQeUMUmmP9BtoxBW; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:14:27 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -225,13 +225,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999982' + - '149999985' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_b67f060178774963aeadfb13b9c9f24d + - req_516d27bb62de4dabae459ef0f80cce62 status: code: 200 message: OK @@ -254,11 +254,11 @@ interactions: Content-Type: - application/json Cookie: - - __cf_bm=JHCr_VH_H8vTBuljsOAkJmn31eaX9fJ1zg_LYpgqmHU-1776355280.0361874-1.0.1.1-3YGsQBat7GbA2mJ60Onz2TNZ01SsQy9g79grzhKqxewHi0LJyN.dKQ9dC9nkcqhSOW5SXCJJWY4S5vWzO9y9aupjhdnCZDy8Ya4xsKzHUJtssTuH9or_3Mu6TLAeYCsj + - __cf_bm=O8mnj3xF1Gxz9NYA9ky5_Xs9rVNQyqnvQ11IoQ_mw8Y-1778510665.6921227-1.0.1.1-9ejIKLQ0FNMiRIbGsr34hzzHtSJo47iaabvqc3T71t8EW9gzelQW9ey1HOZLjPiHir73NhUXdNQkmO2cqURjeMyjckPa4ZbxsruMWg98Gshf9KHsDAbN4jpMsVXoKTG3 Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -268,11 +268,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -281,55 +281,55 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJRbGTVyXC2CrMAkwoKSHuBkCJaa","object":"chat.completion.chunk","created":1776355283,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a7190374f3","usage":null,"choices":[{"index":0,"delta":{"role":"assistant","content":null},"logprobs":null,"finish_reason":null}],"obfuscation":"cQwB60"} + string: 'data: {"id":"chatcmpl-DeM9sR13wcOAzareAnQbcg53PF7E8","object":"chat.completion.chunk","created":1778510668,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"role":"assistant","content":null},"logprobs":null,"finish_reason":null}],"obfuscation":"tL4b9X"} - data: {"id":"chatcmpl-DVJRbGTVyXC2CrMAkwoKSHuBkCJaa","object":"chat.completion.chunk","created":1776355283,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a7190374f3","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"id":"call_41qE00sr6BUN52SEkcOTueQi","type":"function","function":{"name":"get_weather","arguments":""}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"pJANc"} + data: {"id":"chatcmpl-DeM9sR13wcOAzareAnQbcg53PF7E8","object":"chat.completion.chunk","created":1778510668,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"id":"call_Okpw09p6qZY5QNEalNzGstoF","type":"function","function":{"name":"get_weather","arguments":""}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"zKIfz"} - data: {"id":"chatcmpl-DVJRbGTVyXC2CrMAkwoKSHuBkCJaa","object":"chat.completion.chunk","created":1776355283,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a7190374f3","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"{\"lo"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"9TBHAKMLgnDB"} + data: {"id":"chatcmpl-DeM9sR13wcOAzareAnQbcg53PF7E8","object":"chat.completion.chunk","created":1778510668,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"{\"lo"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"ZNO5NafQO5Q4"} - data: {"id":"chatcmpl-DVJRbGTVyXC2CrMAkwoKSHuBkCJaa","object":"chat.completion.chunk","created":1776355283,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a7190374f3","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"catio"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"yvB39AePm2sO"} + data: {"id":"chatcmpl-DeM9sR13wcOAzareAnQbcg53PF7E8","object":"chat.completion.chunk","created":1778510668,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"catio"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"0e1veyHYGk1F"} - data: {"id":"chatcmpl-DVJRbGTVyXC2CrMAkwoKSHuBkCJaa","object":"chat.completion.chunk","created":1776355283,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a7190374f3","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"n\": - \"N"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"pDlTseQQL"} + data: {"id":"chatcmpl-DeM9sR13wcOAzareAnQbcg53PF7E8","object":"chat.completion.chunk","created":1778510668,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"n\": + \"N"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"IP8nNOw84"} - data: {"id":"chatcmpl-DVJRbGTVyXC2CrMAkwoKSHuBkCJaa","object":"chat.completion.chunk","created":1776355283,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a7190374f3","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"ew - Y"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"AKk66UWxfutHN"} + data: {"id":"chatcmpl-DeM9sR13wcOAzareAnQbcg53PF7E8","object":"chat.completion.chunk","created":1778510668,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"ew + Y"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"0XqaOkexOcXyz"} - data: {"id":"chatcmpl-DVJRbGTVyXC2CrMAkwoKSHuBkCJaa","object":"chat.completion.chunk","created":1776355283,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a7190374f3","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"ork\"}"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"QEEUbmIJLe6"} + data: {"id":"chatcmpl-DeM9sR13wcOAzareAnQbcg53PF7E8","object":"chat.completion.chunk","created":1778510668,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"ork\"}"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"uLz9SMJrLmK"} - data: {"id":"chatcmpl-DVJRbGTVyXC2CrMAkwoKSHuBkCJaa","object":"chat.completion.chunk","created":1776355283,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a7190374f3","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"id":"call_JT4jFIwvbqkCpAxlkeEdql1r","type":"function","function":{"name":"get_time","arguments":""}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"NrzCDIvt"} + data: {"id":"chatcmpl-DeM9sR13wcOAzareAnQbcg53PF7E8","object":"chat.completion.chunk","created":1778510668,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"id":"call_91by8iUHMEmM8lH2E4Raj38x","type":"function","function":{"name":"get_time","arguments":""}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"BG9sEzzf"} - data: {"id":"chatcmpl-DVJRbGTVyXC2CrMAkwoKSHuBkCJaa","object":"chat.completion.chunk","created":1776355283,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a7190374f3","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"{\"ti"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"GwoBpMtupTR2"} + data: {"id":"chatcmpl-DeM9sR13wcOAzareAnQbcg53PF7E8","object":"chat.completion.chunk","created":1778510668,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"{\"ti"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"Eknkhd1QGLLh"} - data: {"id":"chatcmpl-DVJRbGTVyXC2CrMAkwoKSHuBkCJaa","object":"chat.completion.chunk","created":1776355283,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a7190374f3","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"mezon"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"caQ3EUPg6kC2"} + data: {"id":"chatcmpl-DeM9sR13wcOAzareAnQbcg53PF7E8","object":"chat.completion.chunk","created":1778510668,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"mezon"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"WC97AkgRlazY"} - data: {"id":"chatcmpl-DVJRbGTVyXC2CrMAkwoKSHuBkCJaa","object":"chat.completion.chunk","created":1776355283,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a7190374f3","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"e\": - \"A"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"UgS0f89v2"} + data: {"id":"chatcmpl-DeM9sR13wcOAzareAnQbcg53PF7E8","object":"chat.completion.chunk","created":1778510668,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"e\": + \"A"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"dNPmR4Csm"} - data: {"id":"chatcmpl-DVJRbGTVyXC2CrMAkwoKSHuBkCJaa","object":"chat.completion.chunk","created":1776355283,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a7190374f3","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"sia/"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"ZgmzrHAzivCL6"} + data: {"id":"chatcmpl-DeM9sR13wcOAzareAnQbcg53PF7E8","object":"chat.completion.chunk","created":1778510668,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"sia/"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"KSLzWpvwZsyJ1"} - data: {"id":"chatcmpl-DVJRbGTVyXC2CrMAkwoKSHuBkCJaa","object":"chat.completion.chunk","created":1776355283,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a7190374f3","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"Tokyo"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"vjItYxTMSD3Q"} + data: {"id":"chatcmpl-DeM9sR13wcOAzareAnQbcg53PF7E8","object":"chat.completion.chunk","created":1778510668,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"Tokyo"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"tlT58yuA2mtz"} - data: {"id":"chatcmpl-DVJRbGTVyXC2CrMAkwoKSHuBkCJaa","object":"chat.completion.chunk","created":1776355283,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a7190374f3","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"\"}"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"AR0DoBa5BCvlIy"} + data: {"id":"chatcmpl-DeM9sR13wcOAzareAnQbcg53PF7E8","object":"chat.completion.chunk","created":1778510668,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"\"}"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"8sObVdBBr9CkIS"} - data: {"id":"chatcmpl-DVJRbGTVyXC2CrMAkwoKSHuBkCJaa","object":"chat.completion.chunk","created":1776355283,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a7190374f3","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"tool_calls"}],"usage":null,"obfuscation":"RdkXkxfl3R5Rosk"} + data: {"id":"chatcmpl-DeM9sR13wcOAzareAnQbcg53PF7E8","object":"chat.completion.chunk","created":1778510668,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"tool_calls"}],"usage":null,"obfuscation":"1bduvuHeNtGXlJ2"} - data: {"id":"chatcmpl-DVJRbGTVyXC2CrMAkwoKSHuBkCJaa","object":"chat.completion.chunk","created":1776355283,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a7190374f3","choices":[],"usage":{"prompt_tokens":94,"completion_tokens":48,"total_tokens":142,"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":"UETpmw4yN"} + data: {"id":"chatcmpl-DeM9sR13wcOAzareAnQbcg53PF7E8","object":"chat.completion.chunk","created":1778510668,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","choices":[],"usage":{"prompt_tokens":94,"completion_tokens":48,"total_tokens":142,"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":"aKFwgpkE5"} data: [DONE] @@ -340,13 +340,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed46886ad16ebb8-YYZ + - 9fa1f63a1dd9aca0-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:01:24 GMT + - Mon, 11 May 2026 14:44:28 GMT Server: - cloudflare Strict-Transport-Security: @@ -362,7 +362,7 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '1109' + - '851' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -382,7 +382,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_657a90358790497987bb71fb8648a757 + - req_ee122a13b9b24e2897ba1881e010f46d status: code: 200 message: OK @@ -405,11 +405,11 @@ interactions: Content-Type: - application/json Cookie: - - __cf_bm=sEBDF.kQNF6Ho5xKTm_YWfmLqLsfnX.5ibtn0t_7lgM-1776355281.5940826-1.0.1.1-yuHQbqbMJnCreKAce6Qm34Sa6g0vvPnqDxtLdF.0bBksPK7LIuMJeuOMjwIhRQ5lVPpEX5kM5ch4hxGnKGI_Xi23TMHwsxPktDyaDvlPxTS3nifAPJdUCayc9ufUweYW + - __cf_bm=yzh3_GLI4zdVjBkmH_QhhoxqHO62HuGfEXjWs6OxyeI-1778510666.8781018-1.0.1.1-qz7BTZ1FD6UeFKggYWPzGM_mzaTw5BZndWJDqSF_sOsLLFMovdcQCbaU_sMQucLwwQlV96B702bBP850XxrXjGOKPoE3UKOlMUGOp6DD6ZGxS6VWtQeUMUmmP9BtoxBW Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -419,11 +419,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -432,55 +432,55 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJRcyXQtGUjsk4j0BNogs4hf9Elz","object":"chat.completion.chunk","created":1776355284,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_e61ea1dda4","usage":null,"choices":[{"index":0,"delta":{"role":"assistant","content":null},"logprobs":null,"finish_reason":null}],"obfuscation":"Q5uWVO"} + string: 'data: {"id":"chatcmpl-DeM9tK4wRZ82Bbql1DNcJE26NtvLh","object":"chat.completion.chunk","created":1778510669,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"role":"assistant","content":null},"logprobs":null,"finish_reason":null}],"obfuscation":"kdRsct"} - data: {"id":"chatcmpl-DVJRcyXQtGUjsk4j0BNogs4hf9Elz","object":"chat.completion.chunk","created":1776355284,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_e61ea1dda4","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"id":"call_pHsLxH5iPG9cKfHQbF9dwVrM","type":"function","function":{"name":"get_weather","arguments":""}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"vjnLi"} + data: {"id":"chatcmpl-DeM9tK4wRZ82Bbql1DNcJE26NtvLh","object":"chat.completion.chunk","created":1778510669,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"id":"call_AuEICBmFqGdZSngo0bQwKQ5U","type":"function","function":{"name":"get_weather","arguments":""}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"FiPsw"} - data: {"id":"chatcmpl-DVJRcyXQtGUjsk4j0BNogs4hf9Elz","object":"chat.completion.chunk","created":1776355284,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_e61ea1dda4","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"{\"lo"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"7IE8FZ0BArQ0"} + data: {"id":"chatcmpl-DeM9tK4wRZ82Bbql1DNcJE26NtvLh","object":"chat.completion.chunk","created":1778510669,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"{\"lo"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"mK3LKtS4jacz"} - data: {"id":"chatcmpl-DVJRcyXQtGUjsk4j0BNogs4hf9Elz","object":"chat.completion.chunk","created":1776355284,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_e61ea1dda4","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"catio"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"dEiSLkRth8YN"} + data: {"id":"chatcmpl-DeM9tK4wRZ82Bbql1DNcJE26NtvLh","object":"chat.completion.chunk","created":1778510669,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"catio"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"P4kjtarfCHv4"} - data: {"id":"chatcmpl-DVJRcyXQtGUjsk4j0BNogs4hf9Elz","object":"chat.completion.chunk","created":1776355284,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_e61ea1dda4","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"n\": - \"N"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"FPqsGCzV4"} + data: {"id":"chatcmpl-DeM9tK4wRZ82Bbql1DNcJE26NtvLh","object":"chat.completion.chunk","created":1778510669,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"n\": + \"N"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"lSFbGRfCs"} - data: {"id":"chatcmpl-DVJRcyXQtGUjsk4j0BNogs4hf9Elz","object":"chat.completion.chunk","created":1776355284,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_e61ea1dda4","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"ew - Y"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"FQD4FhLT1tLCN"} + data: {"id":"chatcmpl-DeM9tK4wRZ82Bbql1DNcJE26NtvLh","object":"chat.completion.chunk","created":1778510669,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"ew + Y"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"MkfhIHy8WN6HM"} - data: {"id":"chatcmpl-DVJRcyXQtGUjsk4j0BNogs4hf9Elz","object":"chat.completion.chunk","created":1776355284,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_e61ea1dda4","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"ork\"}"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"d7Va8WID1z3"} + data: {"id":"chatcmpl-DeM9tK4wRZ82Bbql1DNcJE26NtvLh","object":"chat.completion.chunk","created":1778510669,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"ork\"}"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"B3ihtdwNMoh"} - data: {"id":"chatcmpl-DVJRcyXQtGUjsk4j0BNogs4hf9Elz","object":"chat.completion.chunk","created":1776355284,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_e61ea1dda4","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"id":"call_VLe1AaeD2w22s9Il9O7xuLBX","type":"function","function":{"name":"get_time","arguments":""}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"7emd3wOd"} + data: {"id":"chatcmpl-DeM9tK4wRZ82Bbql1DNcJE26NtvLh","object":"chat.completion.chunk","created":1778510669,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"id":"call_dbmbmmEhCRPBEOPsUJlNzgoq","type":"function","function":{"name":"get_time","arguments":""}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"er0LDOph"} - data: {"id":"chatcmpl-DVJRcyXQtGUjsk4j0BNogs4hf9Elz","object":"chat.completion.chunk","created":1776355284,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_e61ea1dda4","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"{\"ti"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"W6JHXEt8XMZ7"} + data: {"id":"chatcmpl-DeM9tK4wRZ82Bbql1DNcJE26NtvLh","object":"chat.completion.chunk","created":1778510669,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"{\"ti"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"9T9uRUZ9yGXt"} - data: {"id":"chatcmpl-DVJRcyXQtGUjsk4j0BNogs4hf9Elz","object":"chat.completion.chunk","created":1776355284,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_e61ea1dda4","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"mezon"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"Gq3404MtqCUp"} + data: {"id":"chatcmpl-DeM9tK4wRZ82Bbql1DNcJE26NtvLh","object":"chat.completion.chunk","created":1778510669,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"mezon"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"HUPhZblTtN7B"} - data: {"id":"chatcmpl-DVJRcyXQtGUjsk4j0BNogs4hf9Elz","object":"chat.completion.chunk","created":1776355284,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_e61ea1dda4","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"e\": - \"A"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"cIeNja8y7"} + data: {"id":"chatcmpl-DeM9tK4wRZ82Bbql1DNcJE26NtvLh","object":"chat.completion.chunk","created":1778510669,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"e\": + \"A"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"Dpxg7eAtf"} - data: {"id":"chatcmpl-DVJRcyXQtGUjsk4j0BNogs4hf9Elz","object":"chat.completion.chunk","created":1776355284,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_e61ea1dda4","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"sia/"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"MbU8IkCkdEqla"} + data: {"id":"chatcmpl-DeM9tK4wRZ82Bbql1DNcJE26NtvLh","object":"chat.completion.chunk","created":1778510669,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"sia/"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"WWJ3S18RnENql"} - data: {"id":"chatcmpl-DVJRcyXQtGUjsk4j0BNogs4hf9Elz","object":"chat.completion.chunk","created":1776355284,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_e61ea1dda4","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"Tokyo"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"jQHsMNAcKGsC"} + data: {"id":"chatcmpl-DeM9tK4wRZ82Bbql1DNcJE26NtvLh","object":"chat.completion.chunk","created":1778510669,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"Tokyo"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"RNmyrOFQlFJm"} - data: {"id":"chatcmpl-DVJRcyXQtGUjsk4j0BNogs4hf9Elz","object":"chat.completion.chunk","created":1776355284,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_e61ea1dda4","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"\"}"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"fMksA23mthaNfO"} + data: {"id":"chatcmpl-DeM9tK4wRZ82Bbql1DNcJE26NtvLh","object":"chat.completion.chunk","created":1778510669,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","usage":null,"choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"\"}"}}]},"logprobs":null,"finish_reason":null}],"obfuscation":"Rw5Oc3fNIqi4iS"} - data: {"id":"chatcmpl-DVJRcyXQtGUjsk4j0BNogs4hf9Elz","object":"chat.completion.chunk","created":1776355284,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_e61ea1dda4","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"tool_calls"}],"usage":null,"obfuscation":"uStegmVpz3aFyK1"} + data: {"id":"chatcmpl-DeM9tK4wRZ82Bbql1DNcJE26NtvLh","object":"chat.completion.chunk","created":1778510669,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"tool_calls"}],"usage":null,"obfuscation":"eBJfDnbDdXb0urw"} - data: {"id":"chatcmpl-DVJRcyXQtGUjsk4j0BNogs4hf9Elz","object":"chat.completion.chunk","created":1776355284,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_e61ea1dda4","choices":[],"usage":{"prompt_tokens":94,"completion_tokens":48,"total_tokens":142,"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":"yMuVxArLu"} + data: {"id":"chatcmpl-DeM9tK4wRZ82Bbql1DNcJE26NtvLh","object":"chat.completion.chunk","created":1778510669,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fcf1a634a5","choices":[],"usage":{"prompt_tokens":94,"completion_tokens":48,"total_tokens":142,"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":"UpK2z8GII"} data: [DONE] @@ -491,13 +491,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed4688eef0dac82-YYZ + - 9fa1f640de73d5f4-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:01:25 GMT + - Mon, 11 May 2026 14:44:30 GMT Server: - cloudflare Strict-Transport-Security: @@ -513,7 +513,7 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '1212' + - '1056' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -527,13 +527,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999985' + - '149999982' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_3fc76d7eb7a44e7988b54307e64d371b + - req_5509184ca3f24806b8adaf9cecf57d18 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_pdf_data_url_converts_to_attachment.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_pdf_data_url_converts_to_attachment.yaml index b3562c07..066f8a1f 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_pdf_data_url_converts_to_attachment.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_pdf_data_url_converts_to_attachment.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,11 +26,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -39,31 +39,32 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJSgeufiicgOhcBd37orjv0cqcEH\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355350,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMBPLXITqVE2SRKQNlPSVhK18pzO\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510763,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": - \"assistant\",\n \"content\": \"It seems I don't have access to the - content of the document \\\"test.pdf,\\\" so I'm unable to identify its type. - If you can provide more context or describe any features of the document, - I might be able to help further!\",\n \"refusal\": null,\n \"annotations\": - []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n - \ }\n ],\n \"usage\": {\n \"prompt_tokens\": 233,\n \"completion_tokens\": - 46,\n \"total_tokens\": 279,\n \"prompt_tokens_details\": {\n \"cached_tokens\": + \"assistant\",\n \"content\": \"It seems that I couldn't access any + content or images from the document you mentioned, 'test.pdf'. Therefore, + I can't identify the type of document or provide any details about its content. + If you have another document or specific details about the file, feel free + to share!\",\n \"refusal\": null,\n \"annotations\": []\n },\n + \ \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n + \ \"usage\": {\n \"prompt_tokens\": 233,\n \"completion_tokens\": 54,\n + \ \"total_tokens\": 287,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_4debc47fe0\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_3b264ad91d\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed46a2cff5639cc-YYZ + - 9fa1f88b8ccdaa55-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:02:32 GMT + - Mon, 11 May 2026 14:46:04 GMT Server: - cloudflare Strict-Transport-Security: @@ -77,19 +78,19 @@ interactions: alt-svc: - h3=":443"; ma=86400 content-length: - - '1025' + - '1083' openai-organization: - braintrust-data openai-processing-ms: - - '1376' + - '1428' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=n_5UIO0PszhlxqiRYEhc8hQPKwx.huSqoL52HWZ949w-1776355350.552982-1.0.1.1-ij2wlcqzOhK9we_v6CjDXxO6Kmi4EQqDSYP02rbOwftGjP6pxA22zgZ_rSCUDrgz.ddXt_PhYdpi10LHpTffike0g8b89U2tqVCYjCImJ0rIobOiIEPujs4mO0Q0qUi6; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:32 GMT + - __cf_bm=ZfywfEGn8HoAEl.ghOPz09u0lsb6GHP2GFwC1dpeZ1I-1778510762.810016-1.0.1.1-oikT4UGS26WuOh8fEUAnc6HHsaFYt8NFuaNqa5269DVRM0ms_L9DoLkM..SQmw6O4MS7W_s1BkqYI6V4qIsF4.jR6l8VPSGmiVYhDMj_.UjW_2td7CxSQ67xr90HcJks; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:16:04 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -105,7 +106,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_237a49babcda42be97b7e58fc9f8e3fb + - req_e7e1f6f37bd04d718d027a5c44b413f0 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_response_streaming_async.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_response_streaming_async.yaml index ac09b2b9..f5f353b4 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_response_streaming_async.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_response_streaming_async.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -40,98 +40,100 @@ interactions: body: string: 'event: response.created - data: {"type":"response.created","response":{"id":"resp_0195666093350a660069e107ba9b1c819db2e6355f727b70f0","object":"response","created_at":1776355258,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} + data: {"type":"response.created","response":{"id":"resp_0b7273e95fa1eab3006a01eb2851dc819d8b81138b4cda7e7a","object":"response","created_at":1778510632,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} event: response.in_progress - data: {"type":"response.in_progress","response":{"id":"resp_0195666093350a660069e107ba9b1c819db2e6355f727b70f0","object":"response","created_at":1776355258,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} + data: {"type":"response.in_progress","response":{"id":"resp_0b7273e95fa1eab3006a01eb2851dc819d8b81138b4cda7e7a","object":"response","created_at":1778510632,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} event: response.output_item.added - data: {"type":"response.output_item.added","item":{"id":"msg_0195666093350a660069e107bafe90819db0807c5ad34466a3","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} + data: {"type":"response.output_item.added","item":{"id":"msg_0b7273e95fa1eab3006a01eb294674819d889cc068c87a9cdb","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} event: response.content_part.added - data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_0195666093350a660069e107bafe90819db0807c5ad34466a3","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} + data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_0b7273e95fa1eab3006a01eb294674819d889cc068c87a9cdb","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_0195666093350a660069e107bafe90819db0807c5ad34466a3","logprobs":[],"obfuscation":"zYdnW1tfRWb232","output_index":0,"sequence_number":4} + data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_0b7273e95fa1eab3006a01eb294674819d889cc068c87a9cdb","logprobs":[],"obfuscation":"yuOhTljEpF2399","output_index":0,"sequence_number":4} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" +","item_id":"msg_0195666093350a660069e107bafe90819db0807c5ad34466a3","logprobs":[],"obfuscation":"adOM0aEJFMoCI8","output_index":0,"sequence_number":5} + data: {"type":"response.output_text.delta","content_index":0,"delta":" +","item_id":"msg_0b7273e95fa1eab3006a01eb294674819d889cc068c87a9cdb","logprobs":[],"obfuscation":"t2dLQogt95XcFo","output_index":0,"sequence_number":5} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0195666093350a660069e107bafe90819db0807c5ad34466a3","logprobs":[],"obfuscation":"7eEAxyojiCORQPz","output_index":0,"sequence_number":6} + data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0b7273e95fa1eab3006a01eb294674819d889cc068c87a9cdb","logprobs":[],"obfuscation":"safOLj4fp0VQIt4","output_index":0,"sequence_number":6} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_0195666093350a660069e107bafe90819db0807c5ad34466a3","logprobs":[],"obfuscation":"v6OtMoYLZPdnqf","output_index":0,"sequence_number":7} + data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_0b7273e95fa1eab3006a01eb294674819d889cc068c87a9cdb","logprobs":[],"obfuscation":"Q9MlpBy5lYCsJG","output_index":0,"sequence_number":7} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" equals","item_id":"msg_0195666093350a660069e107bafe90819db0807c5ad34466a3","logprobs":[],"obfuscation":"gVbRDf2Nn","output_index":0,"sequence_number":8} + data: {"type":"response.output_text.delta","content_index":0,"delta":" =","item_id":"msg_0b7273e95fa1eab3006a01eb294674819d889cc068c87a9cdb","logprobs":[],"obfuscation":"3ilN1GSiaXqUkz","output_index":0,"sequence_number":8} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0195666093350a660069e107bafe90819db0807c5ad34466a3","logprobs":[],"obfuscation":"KJqvfFEmEc3Tyvp","output_index":0,"sequence_number":9} + data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0b7273e95fa1eab3006a01eb294674819d889cc068c87a9cdb","logprobs":[],"obfuscation":"ilbnERTJI9Wvutg","output_index":0,"sequence_number":9} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"24","item_id":"msg_0195666093350a660069e107bafe90819db0807c5ad34466a3","logprobs":[],"obfuscation":"UaMxk0GmXNecI0","output_index":0,"sequence_number":10} + data: {"type":"response.output_text.delta","content_index":0,"delta":"24","item_id":"msg_0b7273e95fa1eab3006a01eb294674819d889cc068c87a9cdb","logprobs":[],"obfuscation":"Li1QHaAulAX6qv","output_index":0,"sequence_number":10} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0195666093350a660069e107bafe90819db0807c5ad34466a3","logprobs":[],"obfuscation":"tAEuPLRf6ZCTHcZ","output_index":0,"sequence_number":11} + data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0b7273e95fa1eab3006a01eb294674819d889cc068c87a9cdb","logprobs":[],"obfuscation":"XYp6B7KQN2VkDSj","output_index":0,"sequence_number":11} event: response.output_text.done - data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_0195666093350a660069e107bafe90819db0807c5ad34466a3","logprobs":[],"output_index":0,"sequence_number":12,"text":"12 - + 12 equals 24."} + data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_0b7273e95fa1eab3006a01eb294674819d889cc068c87a9cdb","logprobs":[],"output_index":0,"sequence_number":12,"text":"12 + + 12 = 24."} event: response.content_part.done - data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_0195666093350a660069e107bafe90819db0807c5ad34466a3","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"12 - + 12 equals 24."},"sequence_number":13} + data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_0b7273e95fa1eab3006a01eb294674819d889cc068c87a9cdb","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + + 12 = 24."},"sequence_number":13} event: response.output_item.done - data: {"type":"response.output_item.done","item":{"id":"msg_0195666093350a660069e107bafe90819db0807c5ad34466a3","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 - + 12 equals 24."}],"role":"assistant"},"output_index":0,"sequence_number":14} + data: {"type":"response.output_item.done","item":{"id":"msg_0b7273e95fa1eab3006a01eb294674819d889cc068c87a9cdb","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + + 12 = 24."}],"role":"assistant"},"output_index":0,"sequence_number":14} event: response.completed - data: {"type":"response.completed","response":{"id":"resp_0195666093350a660069e107ba9b1c819db2e6355f727b70f0","object":"response","created_at":1776355258,"status":"completed","background":false,"completed_at":1776355259,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[{"id":"msg_0195666093350a660069e107bafe90819db0807c5ad34466a3","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 - + 12 equals 24."}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":14,"input_tokens_details":{"cached_tokens":0},"output_tokens":9,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":23},"user":null,"metadata":{}},"sequence_number":15} + data: {"type":"response.completed","response":{"id":"resp_0b7273e95fa1eab3006a01eb2851dc819d8b81138b4cda7e7a","object":"response","created_at":1778510632,"status":"completed","background":false,"completed_at":1778510633,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[{"id":"msg_0b7273e95fa1eab3006a01eb294674819d889cc068c87a9cdb","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + + 12 = 24."}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":14,"input_tokens_details":{"cached_tokens":0},"output_tokens":9,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":23},"user":null,"metadata":{}},"sequence_number":15} ' headers: - CF-RAY: - - 9ed467ee0bc9ec71-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f55acf6ef337-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:00:58 GMT + - Mon, 11 May 2026 14:43:52 GMT Server: - cloudflare Strict-Transport-Security: @@ -140,24 +142,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC openai-organization: - braintrust-data openai-processing-ms: - - '40' + - '232' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=k0B4yOYwKgoKKkFBcSRffSA.SZR9XcTNQqOAYX_MwP4-1776355258.5691879-1.0.1.1-53kgTeKqB_PpTX62AdH24kt4bmL9UQLrS3N7UPMNwyKiIzG3kiarkOlNaqkAeTAH.GnOzzCD79T.nghRM1Fytd5e.iwiDykZMdCkwtFvWPLwiyGZpcq_GLjUhgG95cPw; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:58 GMT + - __cf_bm=5aH3.TLvqHaKz0RMMdDjiQXJ2qrDEAqf8Kmcdquf_5s-1778510632.126674-1.0.1.1-deTlLlYprk27JlrFzOvQT0nFEv7q6gW8IUJGJCh7a3aj1ztw3rzMgcd3ien0ScGcRhmdYQFPXC.QL2Vbn.eyE4i60mqWnfDbWU2F2C_LscWNpvlWkS.TdkoYH4.ciUct; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:52 GMT x-request-id: - - req_e8fd0e8899df443bb6b7c4fdff46b390 + - req_5f3a967a4be44b099b929b5ea0eb47af status: code: 200 message: OK @@ -177,7 +179,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -187,11 +189,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -202,98 +204,100 @@ interactions: body: string: 'event: response.created - data: {"type":"response.created","response":{"id":"resp_0329b159599329bf0069e107bb55b48197b2096bb69608668f","object":"response","created_at":1776355259,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} + data: {"type":"response.created","response":{"id":"resp_04220a00ee182e80006a01eb29f160819fabb85180254bc330","object":"response","created_at":1778510633,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} event: response.in_progress - data: {"type":"response.in_progress","response":{"id":"resp_0329b159599329bf0069e107bb55b48197b2096bb69608668f","object":"response","created_at":1776355259,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} + data: {"type":"response.in_progress","response":{"id":"resp_04220a00ee182e80006a01eb29f160819fabb85180254bc330","object":"response","created_at":1778510633,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} event: response.output_item.added - data: {"type":"response.output_item.added","item":{"id":"msg_0329b159599329bf0069e107bc40c0819782a21ceb505bf50b","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} + data: {"type":"response.output_item.added","item":{"id":"msg_04220a00ee182e80006a01eb2a5cc8819fb23992a914e4e3c8","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} event: response.content_part.added - data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_0329b159599329bf0069e107bc40c0819782a21ceb505bf50b","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} + data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_04220a00ee182e80006a01eb2a5cc8819fb23992a914e4e3c8","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_0329b159599329bf0069e107bc40c0819782a21ceb505bf50b","logprobs":[],"obfuscation":"2dPVAKXrZUj2oy","output_index":0,"sequence_number":4} + data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_04220a00ee182e80006a01eb2a5cc8819fb23992a914e4e3c8","logprobs":[],"obfuscation":"lNwXecqSBT6HQI","output_index":0,"sequence_number":4} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" +","item_id":"msg_0329b159599329bf0069e107bc40c0819782a21ceb505bf50b","logprobs":[],"obfuscation":"lfSMJWBFZnyxsw","output_index":0,"sequence_number":5} + data: {"type":"response.output_text.delta","content_index":0,"delta":" +","item_id":"msg_04220a00ee182e80006a01eb2a5cc8819fb23992a914e4e3c8","logprobs":[],"obfuscation":"GPOKRum9VBm1xY","output_index":0,"sequence_number":5} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0329b159599329bf0069e107bc40c0819782a21ceb505bf50b","logprobs":[],"obfuscation":"ndavR3UtWjAInZk","output_index":0,"sequence_number":6} + data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_04220a00ee182e80006a01eb2a5cc8819fb23992a914e4e3c8","logprobs":[],"obfuscation":"jRIkaOyOGQumgza","output_index":0,"sequence_number":6} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_0329b159599329bf0069e107bc40c0819782a21ceb505bf50b","logprobs":[],"obfuscation":"DiddtI4aSxtfCD","output_index":0,"sequence_number":7} + data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_04220a00ee182e80006a01eb2a5cc8819fb23992a914e4e3c8","logprobs":[],"obfuscation":"B9IPTCyf4bCPaQ","output_index":0,"sequence_number":7} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" equals","item_id":"msg_0329b159599329bf0069e107bc40c0819782a21ceb505bf50b","logprobs":[],"obfuscation":"YsdLZgBRD","output_index":0,"sequence_number":8} + data: {"type":"response.output_text.delta","content_index":0,"delta":" equals","item_id":"msg_04220a00ee182e80006a01eb2a5cc8819fb23992a914e4e3c8","logprobs":[],"obfuscation":"2nqBXQhhi","output_index":0,"sequence_number":8} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0329b159599329bf0069e107bc40c0819782a21ceb505bf50b","logprobs":[],"obfuscation":"743NTDlwQo17zc9","output_index":0,"sequence_number":9} + data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_04220a00ee182e80006a01eb2a5cc8819fb23992a914e4e3c8","logprobs":[],"obfuscation":"nZJSqqed4FvWujr","output_index":0,"sequence_number":9} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"24","item_id":"msg_0329b159599329bf0069e107bc40c0819782a21ceb505bf50b","logprobs":[],"obfuscation":"Eqa65mixfv82Jf","output_index":0,"sequence_number":10} + data: {"type":"response.output_text.delta","content_index":0,"delta":"24","item_id":"msg_04220a00ee182e80006a01eb2a5cc8819fb23992a914e4e3c8","logprobs":[],"obfuscation":"Sdt7McOADql5BZ","output_index":0,"sequence_number":10} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0329b159599329bf0069e107bc40c0819782a21ceb505bf50b","logprobs":[],"obfuscation":"5bbpmoA5qa9oU1t","output_index":0,"sequence_number":11} + data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_04220a00ee182e80006a01eb2a5cc8819fb23992a914e4e3c8","logprobs":[],"obfuscation":"eMCSGpQrjAzjGD8","output_index":0,"sequence_number":11} event: response.output_text.done - data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_0329b159599329bf0069e107bc40c0819782a21ceb505bf50b","logprobs":[],"output_index":0,"sequence_number":12,"text":"12 + data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_04220a00ee182e80006a01eb2a5cc8819fb23992a914e4e3c8","logprobs":[],"output_index":0,"sequence_number":12,"text":"12 + 12 equals 24."} event: response.content_part.done - data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_0329b159599329bf0069e107bc40c0819782a21ceb505bf50b","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_04220a00ee182e80006a01eb2a5cc8819fb23992a914e4e3c8","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + 12 equals 24."},"sequence_number":13} event: response.output_item.done - data: {"type":"response.output_item.done","item":{"id":"msg_0329b159599329bf0069e107bc40c0819782a21ceb505bf50b","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + data: {"type":"response.output_item.done","item":{"id":"msg_04220a00ee182e80006a01eb2a5cc8819fb23992a914e4e3c8","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + 12 equals 24."}],"role":"assistant"},"output_index":0,"sequence_number":14} event: response.completed - data: {"type":"response.completed","response":{"id":"resp_0329b159599329bf0069e107bb55b48197b2096bb69608668f","object":"response","created_at":1776355259,"status":"completed","background":false,"completed_at":1776355260,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[{"id":"msg_0329b159599329bf0069e107bc40c0819782a21ceb505bf50b","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 - + 12 equals 24."}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":14,"input_tokens_details":{"cached_tokens":0},"output_tokens":9,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":23},"user":null,"metadata":{}},"sequence_number":15} + data: {"type":"response.completed","response":{"id":"resp_04220a00ee182e80006a01eb29f160819fabb85180254bc330","object":"response","created_at":1778510633,"status":"completed","background":false,"completed_at":1778510634,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[{"id":"msg_04220a00ee182e80006a01eb2a5cc8819fb23992a914e4e3c8","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + + 12 equals 24."}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":14,"input_tokens_details":{"cached_tokens":0},"output_tokens":9,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":23},"user":null,"metadata":{}},"sequence_number":15} ' headers: - CF-RAY: - - 9ed467f29ea33786-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f5659ad4aba8-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:00:59 GMT + - Mon, 11 May 2026 14:43:54 GMT Server: - cloudflare Strict-Transport-Security: @@ -302,24 +306,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC openai-organization: - braintrust-data openai-processing-ms: - - '76' + - '127' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=EEzQG7Jr8PtmYKEss3GQXBByP9UyXcMrB3zkazMKW0M-1776355259.291536-1.0.1.1-FyROtgPVqfHYW6InN9xsljEaUk1XgjJI4ddZgEnLYy6S4ai77Ck7pqDs7s9kYX2YaY5p4x2y1uxL2.gBruiTZDy5kgTnpoZmK7WnZ2KKPB6M2P6Sef3I3xzJKhyzxbgr; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:59 GMT + - __cf_bm=xE6owvQgPDjYyXFOWHfFVbmVJahf4ZO45BM9w1lm1iA-1778510633.8529837-1.0.1.1-zoG.YEISag0oYghbh0ZdrsfbhSLOFnDF3Rb7kRjHdr3MgibL4X5MrWiouxdatdtd442hMNr8VStbqCcaOuX5I1SWbW1hFlIFamdaThiwesZ.lJwat89v0zyIZSl5vOSs; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:54 GMT x-request-id: - - req_37eccac894204991a54af0c4705cd814 + - req_c23f7dce9fcd403c9f9869a45ecb42f3 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_async.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_async.yaml index ff91ec2d..154a832b 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_async.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_async.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,38 +38,40 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_04c678b6048fad3e0069e107a85180819f932a0db9e914f793\",\n - \ \"object\": \"response\",\n \"created_at\": 1776355240,\n \"status\": + string: "{\n \"id\": \"resp_0e0c0710e6a861c6006a01eb1026688193bf7f658c14b62fcf\",\n + \ \"object\": \"response\",\n \"created_at\": 1778510608,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1776355240,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778510609,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": \"Just the number please\",\n \"max_output_tokens\": null,\n \"max_tool_calls\": - null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \"output\": [\n {\n - \ \"id\": \"msg_04c678b6048fad3e0069e107a8f780819fbd9ee7b57d594806\",\n + null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \"moderation\": null,\n + \ \"output\": [\n {\n \"id\": \"msg_0e0c0710e6a861c6006a01eb11c6348193a65f3e78fc7b8cf9\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": [],\n \"logprobs\": [],\n \"text\": \"24\"\n }\n \ ],\n \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - null,\n \"prompt_cache_retention\": null,\n \"reasoning\": {\n \"effort\": - null,\n \"summary\": null\n },\n \"safety_identifier\": null,\n \"service_tier\": - \"default\",\n \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n - \ \"format\": {\n \"type\": \"text\"\n },\n \"verbosity\": \"medium\"\n - \ },\n \"tool_choice\": \"auto\",\n \"tools\": [],\n \"top_logprobs\": - 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n \"usage\": {\n \"input_tokens\": - 22,\n \"input_tokens_details\": {\n \"cached_tokens\": 0\n },\n - \ \"output_tokens\": 2,\n \"output_tokens_details\": {\n \"reasoning_tokens\": - 0\n },\n \"total_tokens\": 24\n },\n \"user\": null,\n \"metadata\": - {}\n}" + null,\n \"prompt_cache_retention\": \"in_memory\",\n \"reasoning\": {\n + \ \"effort\": null,\n \"summary\": null\n },\n \"safety_identifier\": + null,\n \"service_tier\": \"default\",\n \"store\": true,\n \"temperature\": + 1.0,\n \"text\": {\n \"format\": {\n \"type\": \"text\"\n },\n + \ \"verbosity\": \"medium\"\n },\n \"tool_choice\": \"auto\",\n \"tools\": + [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n + \ \"usage\": {\n \"input_tokens\": 22,\n \"input_tokens_details\": {\n + \ \"cached_tokens\": 0\n },\n \"output_tokens\": 2,\n \"output_tokens_details\": + {\n \"reasoning_tokens\": 0\n },\n \"total_tokens\": 24\n },\n + \ \"user\": null,\n \"metadata\": {}\n}" headers: - CF-RAY: - - 9ed4677bb93baab6-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f4c4686ff80a-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:41 GMT + - Mon, 11 May 2026 14:43:30 GMT Server: - cloudflare Strict-Transport-Security: @@ -78,24 +80,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '1549' + - '1578' openai-organization: - braintrust-data openai-processing-ms: - - '766' + - '1856' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=nnchCkmg_d0WDw8yvbXsqweC4mBJkglXInYgwMZEmXE-1776355240.276367-1.0.1.1-6sLVfca.0VI44lW8n7mGxK.0Grod8MywKa26x26.KNigbhH.artM3hFeYrGqUvczgZM.NkNkDibREg7AdAunKnNpwofCPsUSDeNUoMcHYutVc0Bb2Waj_dX1wUvECTOl; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:41 GMT + - __cf_bm=MWzAF2SYZs2V6xENCuOcRfBWeoyljLsmTWwhHdEhlTk-1778510608.0700767-1.0.1.1-Akh0KB4WoFe3JvQQjXrJr2Jl6eyF6MMXYGdy2BQIqJYDedHqDcuqQks_0852tYyhKYHpJ0cypzyla9GE.oV5hRng8_wxGIWDKbRZBaHbX1q9VjEcKoQ3Tl_N0STGFSZo; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:30 GMT x-ratelimit-limit-requests: - '30000' x-ratelimit-limit-tokens: @@ -103,13 +105,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999957' + - '149999960' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_b010561709a34b72ae4d5a67bda09707 + - req_654097ff049e4a96988f38c9343ae7cd status: code: 200 message: OK @@ -129,7 +131,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -139,11 +141,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -152,38 +154,40 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_0ea666b83cc2c2830069e107a952108195b5e8532d4c3fe9f4\",\n - \ \"object\": \"response\",\n \"created_at\": 1776355241,\n \"status\": + string: "{\n \"id\": \"resp_0f31923745565355006a01eb122f008196825158594d45a7eb\",\n + \ \"object\": \"response\",\n \"created_at\": 1778510610,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1776355241,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778510612,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": \"Just the number please\",\n \"max_output_tokens\": null,\n \"max_tool_calls\": - null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \"output\": [\n {\n - \ \"id\": \"msg_0ea666b83cc2c2830069e107a9d3fc81959b08648e5ce633da\",\n + null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \"moderation\": null,\n + \ \"output\": [\n {\n \"id\": \"msg_0f31923745565355006a01eb140b6481969f4c8deff84aa51e\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": [],\n \"logprobs\": [],\n \"text\": \"24\"\n }\n \ ],\n \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - null,\n \"prompt_cache_retention\": null,\n \"reasoning\": {\n \"effort\": - null,\n \"summary\": null\n },\n \"safety_identifier\": null,\n \"service_tier\": - \"default\",\n \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n - \ \"format\": {\n \"type\": \"text\"\n },\n \"verbosity\": \"medium\"\n - \ },\n \"tool_choice\": \"auto\",\n \"tools\": [],\n \"top_logprobs\": - 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n \"usage\": {\n \"input_tokens\": - 22,\n \"input_tokens_details\": {\n \"cached_tokens\": 0\n },\n - \ \"output_tokens\": 2,\n \"output_tokens_details\": {\n \"reasoning_tokens\": - 0\n },\n \"total_tokens\": 24\n },\n \"user\": null,\n \"metadata\": - {}\n}" + null,\n \"prompt_cache_retention\": \"in_memory\",\n \"reasoning\": {\n + \ \"effort\": null,\n \"summary\": null\n },\n \"safety_identifier\": + null,\n \"service_tier\": \"default\",\n \"store\": true,\n \"temperature\": + 1.0,\n \"text\": {\n \"format\": {\n \"type\": \"text\"\n },\n + \ \"verbosity\": \"medium\"\n },\n \"tool_choice\": \"auto\",\n \"tools\": + [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n + \ \"usage\": {\n \"input_tokens\": 22,\n \"input_tokens_details\": {\n + \ \"cached_tokens\": 0\n },\n \"output_tokens\": 2,\n \"output_tokens_details\": + {\n \"reasoning_tokens\": 0\n },\n \"total_tokens\": 24\n },\n + \ \"user\": null,\n \"metadata\": {}\n}" headers: - CF-RAY: - - 9ed46781edd652e6-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f4d12adfaadf-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:41 GMT + - Mon, 11 May 2026 14:43:32 GMT Server: - cloudflare Strict-Transport-Security: @@ -192,24 +196,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '1549' + - '1578' openai-organization: - braintrust-data openai-processing-ms: - - '649' + - '2274' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=OsYWZbUljA14Jk__kSqSFl1iNY4sRf64p4JwKLT3AYE-1776355241.2621083-1.0.1.1-uTfOs1rU_x2ebs0sMXNk1qYb5YGlI3pd457czafsU5f1Y9eaCnYLUOxQDPG32Ggrr1SSKExz7WoD.QoOaEk7_px9txYAly0i_eyShzqpzC6VS3ZoSjd0GAeImZXPTZFq; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:41 GMT + - __cf_bm=7BBmf9X_A0vlyE12ImMuQUprFrgECaitmOxyu5SxZDs-1778510610.105387-1.0.1.1-t7i0YL7uNpUln8YjuO.bCTSRDDh3ZRMdE_P1BrOpE0ZYG3IgXBXSYEQd7MOx0iZYUdP9gc7uKfK3pwyvTQn7zCEZOE_NP4aFgsrtTBRkPXO00QpByL7tXFVpl71VBgX5; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:32 GMT x-ratelimit-limit-requests: - '30000' x-ratelimit-limit-tokens: @@ -223,7 +227,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_5711a93548f44594b49235a88d94229b + - req_28e7ef469e0545cf8cc559e617437dac status: code: 200 message: OK @@ -241,11 +245,11 @@ interactions: Content-Type: - application/json Cookie: - - __cf_bm=nnchCkmg_d0WDw8yvbXsqweC4mBJkglXInYgwMZEmXE-1776355240.276367-1.0.1.1-6sLVfca.0VI44lW8n7mGxK.0Grod8MywKa26x26.KNigbhH.artM3hFeYrGqUvczgZM.NkNkDibREg7AdAunKnNpwofCPsUSDeNUoMcHYutVc0Bb2Waj_dX1wUvECTOl + - __cf_bm=MWzAF2SYZs2V6xENCuOcRfBWeoyljLsmTWwhHdEhlTk-1778510608.0700767-1.0.1.1-Akh0KB4WoFe3JvQQjXrJr2Jl6eyF6MMXYGdy2BQIqJYDedHqDcuqQks_0852tYyhKYHpJ0cypzyla9GE.oV5hRng8_wxGIWDKbRZBaHbX1q9VjEcKoQ3Tl_N0STGFSZo Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -255,11 +259,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -268,44 +272,49 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_0828ff1ed02eb0c00069e107aa23388191b459bba44640fbe1\",\n - \ \"object\": \"response\",\n \"created_at\": 1776355242,\n \"status\": + string: "{\n \"id\": \"resp_0d3e23ed1681df26006a01eb149d9c81a0887c62b79be0eb45\",\n + \ \"object\": \"response\",\n \"created_at\": 1778510612,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1776355242,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778510613,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": null,\n \"max_output_tokens\": null,\n \"max_tool_calls\": null,\n \"model\": - \"gpt-4o-mini-2024-07-18\",\n \"output\": [\n {\n \"id\": \"msg_0828ff1ed02eb0c00069e107aa75488191a4969c0ab81d34aa\",\n + \"gpt-4o-mini-2024-07-18\",\n \"moderation\": null,\n \"output\": [\n {\n + \ \"id\": \"msg_0d3e23ed1681df26006a01eb1548e481a0ac47be045b19d361\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": [],\n \"logprobs\": [],\n \"text\": \"{\\\"value\\\":24,\\\"reasoning\\\":\\\"12 - plus 12 equals 24 by simple addition.\\\"}\"\n }\n ],\n \"role\": - \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": - 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": null,\n \"prompt_cache_retention\": - null,\n \"reasoning\": {\n \"effort\": null,\n \"summary\": null\n - \ },\n \"safety_identifier\": null,\n \"service_tier\": \"default\",\n \"store\": - true,\n \"temperature\": 1.0,\n \"text\": {\n \"format\": {\n \"type\": - \"json_schema\",\n \"description\": null,\n \"name\": \"NumberAnswer\",\n - \ \"schema\": {\n \"properties\": {\n \"value\": {\n \"title\": - \"Value\",\n \"type\": \"integer\"\n },\n \"reasoning\": - {\n \"title\": \"Reasoning\",\n \"type\": \"string\"\n - \ }\n },\n \"required\": [\n \"value\",\n \"reasoning\"\n - \ ],\n \"title\": \"NumberAnswer\",\n \"type\": \"object\",\n - \ \"additionalProperties\": false\n },\n \"strict\": true\n - \ },\n \"verbosity\": \"medium\"\n },\n \"tool_choice\": \"auto\",\n - \ \"tools\": [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": - \"disabled\",\n \"usage\": {\n \"input_tokens\": 59,\n \"input_tokens_details\": - {\n \"cached_tokens\": 0\n },\n \"output_tokens\": 21,\n \"output_tokens_details\": - {\n \"reasoning_tokens\": 0\n },\n \"total_tokens\": 80\n },\n - \ \"user\": null,\n \"metadata\": {}\n}" + plus 12 equals 24 because you are combining two groups of 12, which results + in a total of 24.\\\"}\"\n }\n ],\n \"role\": \"assistant\"\n + \ }\n ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": 0.0,\n + \ \"previous_response_id\": null,\n \"prompt_cache_key\": null,\n \"prompt_cache_retention\": + \"in_memory\",\n \"reasoning\": {\n \"effort\": null,\n \"summary\": + null\n },\n \"safety_identifier\": null,\n \"service_tier\": \"default\",\n + \ \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n \"format\": + {\n \"type\": \"json_schema\",\n \"description\": null,\n \"name\": + \"NumberAnswer\",\n \"schema\": {\n \"properties\": {\n \"value\": + {\n \"title\": \"Value\",\n \"type\": \"integer\"\n + \ },\n \"reasoning\": {\n \"title\": \"Reasoning\",\n + \ \"type\": \"string\"\n }\n },\n \"required\": + [\n \"value\",\n \"reasoning\"\n ],\n \"title\": + \"NumberAnswer\",\n \"type\": \"object\",\n \"additionalProperties\": + false\n },\n \"strict\": true\n },\n \"verbosity\": \"medium\"\n + \ },\n \"tool_choice\": \"auto\",\n \"tools\": [],\n \"top_logprobs\": + 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n \"usage\": {\n \"input_tokens\": + 59,\n \"input_tokens_details\": {\n \"cached_tokens\": 0\n },\n + \ \"output_tokens\": 36,\n \"output_tokens_details\": {\n \"reasoning_tokens\": + 0\n },\n \"total_tokens\": 95\n },\n \"user\": null,\n \"metadata\": + {}\n}" headers: - CF-RAY: - - 9ed467871e40de44-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f4e07a5ef54f-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:42 GMT + - Mon, 11 May 2026 14:43:35 GMT Server: - cloudflare Strict-Transport-Security: @@ -314,16 +323,16 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '2114' + - '2199' openai-organization: - braintrust-data openai-processing-ms: - - '724' + - '3037' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -341,7 +350,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_6fdcccc4f5e34a0695e7eb8977629d98 + - req_d637c9e7da7f4cae9590c4ff6d4646f6 status: code: 200 message: OK @@ -359,11 +368,11 @@ interactions: Content-Type: - application/json Cookie: - - __cf_bm=OsYWZbUljA14Jk__kSqSFl1iNY4sRf64p4JwKLT3AYE-1776355241.2621083-1.0.1.1-uTfOs1rU_x2ebs0sMXNk1qYb5YGlI3pd457czafsU5f1Y9eaCnYLUOxQDPG32Ggrr1SSKExz7WoD.QoOaEk7_px9txYAly0i_eyShzqpzC6VS3ZoSjd0GAeImZXPTZFq + - __cf_bm=7BBmf9X_A0vlyE12ImMuQUprFrgECaitmOxyu5SxZDs-1778510610.105387-1.0.1.1-t7i0YL7uNpUln8YjuO.bCTSRDDh3ZRMdE_P1BrOpE0ZYG3IgXBXSYEQd7MOx0iZYUdP9gc7uKfK3pwyvTQn7zCEZOE_NP4aFgsrtTBRkPXO00QpByL7tXFVpl71VBgX5 Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -373,11 +382,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -386,44 +395,49 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_0d6bd2d11339f5af0069e107ab0b3c819caf158b7266e72171\",\n - \ \"object\": \"response\",\n \"created_at\": 1776355243,\n \"status\": + string: "{\n \"id\": \"resp_084c30bd2f0408a2006a01eb17ecec81a393fd1c37a8d1b842\",\n + \ \"object\": \"response\",\n \"created_at\": 1778510615,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1776355243,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778510616,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": null,\n \"max_output_tokens\": null,\n \"max_tool_calls\": null,\n \"model\": - \"gpt-4o-mini-2024-07-18\",\n \"output\": [\n {\n \"id\": \"msg_0d6bd2d11339f5af0069e107ab786c819c96bc2358f29afaa7\",\n + \"gpt-4o-mini-2024-07-18\",\n \"moderation\": null,\n \"output\": [\n {\n + \ \"id\": \"msg_084c30bd2f0408a2006a01eb1873b881a38acbc6482f796407\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": - [],\n \"logprobs\": [],\n \"text\": \"{\\\"value\\\":24,\\\"reasoning\\\":\\\"Adding - 12 and 12 together gives 24.\\\"}\"\n }\n ],\n \"role\": - \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": - 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": null,\n \"prompt_cache_retention\": - null,\n \"reasoning\": {\n \"effort\": null,\n \"summary\": null\n - \ },\n \"safety_identifier\": null,\n \"service_tier\": \"default\",\n \"store\": - true,\n \"temperature\": 1.0,\n \"text\": {\n \"format\": {\n \"type\": - \"json_schema\",\n \"description\": null,\n \"name\": \"NumberAnswer\",\n - \ \"schema\": {\n \"properties\": {\n \"value\": {\n \"title\": - \"Value\",\n \"type\": \"integer\"\n },\n \"reasoning\": - {\n \"title\": \"Reasoning\",\n \"type\": \"string\"\n - \ }\n },\n \"required\": [\n \"value\",\n \"reasoning\"\n - \ ],\n \"title\": \"NumberAnswer\",\n \"type\": \"object\",\n - \ \"additionalProperties\": false\n },\n \"strict\": true\n - \ },\n \"verbosity\": \"medium\"\n },\n \"tool_choice\": \"auto\",\n - \ \"tools\": [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": - \"disabled\",\n \"usage\": {\n \"input_tokens\": 59,\n \"input_tokens_details\": - {\n \"cached_tokens\": 0\n },\n \"output_tokens\": 21,\n \"output_tokens_details\": - {\n \"reasoning_tokens\": 0\n },\n \"total_tokens\": 80\n },\n - \ \"user\": null,\n \"metadata\": {}\n}" + [],\n \"logprobs\": [],\n \"text\": \"{\\\"value\\\":24,\\\"reasoning\\\":\\\"12 + + 12 equals 24 because when you add the two numbers together, you combine + their total values.\\\"}\"\n }\n ],\n \"role\": \"assistant\"\n + \ }\n ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": 0.0,\n + \ \"previous_response_id\": null,\n \"prompt_cache_key\": null,\n \"prompt_cache_retention\": + \"in_memory\",\n \"reasoning\": {\n \"effort\": null,\n \"summary\": + null\n },\n \"safety_identifier\": null,\n \"service_tier\": \"default\",\n + \ \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n \"format\": + {\n \"type\": \"json_schema\",\n \"description\": null,\n \"name\": + \"NumberAnswer\",\n \"schema\": {\n \"properties\": {\n \"value\": + {\n \"title\": \"Value\",\n \"type\": \"integer\"\n + \ },\n \"reasoning\": {\n \"title\": \"Reasoning\",\n + \ \"type\": \"string\"\n }\n },\n \"required\": + [\n \"value\",\n \"reasoning\"\n ],\n \"title\": + \"NumberAnswer\",\n \"type\": \"object\",\n \"additionalProperties\": + false\n },\n \"strict\": true\n },\n \"verbosity\": \"medium\"\n + \ },\n \"tool_choice\": \"auto\",\n \"tools\": [],\n \"top_logprobs\": + 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n \"usage\": {\n \"input_tokens\": + 59,\n \"input_tokens_details\": {\n \"cached_tokens\": 0\n },\n + \ \"output_tokens\": 32,\n \"output_tokens_details\": {\n \"reasoning_tokens\": + 0\n },\n \"total_tokens\": 91\n },\n \"user\": null,\n \"metadata\": + {}\n}" headers: - CF-RAY: - - 9ed4678cbd928e83-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f4f4f823e403-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:44 GMT + - Mon, 11 May 2026 14:43:36 GMT Server: - cloudflare Strict-Transport-Security: @@ -432,16 +446,16 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '2109' + - '2199' openai-organization: - braintrust-data openai-processing-ms: - - '1048' + - '1062' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -453,13 +467,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999920' + - '149999922' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_7d161d4ca4674c3d8e6454e2dc4597f6 + - req_530417963cd3451587b54db8fe1eb5ee status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_function_call_tool_spans.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_function_call_tool_spans.yaml index 84c184a8..ec89cca8 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_function_call_tool_spans.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_function_call_tool_spans.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,11 +26,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -39,42 +39,45 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_0151555954aba52a0069e107945138819d82490b238ca08123\",\n - \ \"object\": \"response\",\n \"created_at\": 1776355220,\n \"status\": + string: "{\n \"id\": \"resp_0266169fb190604a006a01eaf25904819fbeccf47ee5764b7f\",\n + \ \"object\": \"response\",\n \"created_at\": 1778510578,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1776355220,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778510580,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": null,\n \"max_output_tokens\": null,\n \"max_tool_calls\": null,\n \"model\": - \"gpt-4.1-mini-2025-04-14\",\n \"output\": [\n {\n \"id\": \"fc_0151555954aba52a0069e10794b2d8819db7d906348ec4fbb9\",\n + \"gpt-4.1-mini-2025-04-14\",\n \"moderation\": null,\n \"output\": [\n {\n + \ \"id\": \"fc_0266169fb190604a006a01eaf4730c819fb534c59b8008faac\",\n \ \"type\": \"function_call\",\n \"status\": \"completed\",\n \"arguments\": - \"{\\\"location\\\":\\\"Paris\\\"}\",\n \"call_id\": \"call_LZLB3YU3e6cCEduvzed2OUoO\",\n + \"{\\\"location\\\":\\\"Paris\\\"}\",\n \"call_id\": \"call_ti1IQ42KVBOgpWgS71wRL5DR\",\n \ \"name\": \"get_weather\"\n }\n ],\n \"parallel_tool_calls\": true,\n \ \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - null,\n \"prompt_cache_retention\": null,\n \"reasoning\": {\n \"effort\": - null,\n \"summary\": null\n },\n \"safety_identifier\": null,\n \"service_tier\": - \"default\",\n \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n - \ \"format\": {\n \"type\": \"text\"\n },\n \"verbosity\": \"medium\"\n - \ },\n \"tool_choice\": {\n \"type\": \"function\",\n \"name\": \"get_weather\"\n - \ },\n \"tools\": [\n {\n \"type\": \"function\",\n \"description\": - \"Get the weather for a location.\",\n \"name\": \"get_weather\",\n \"parameters\": - {\n \"type\": \"object\",\n \"properties\": {\n \"location\": - {\n \"type\": \"string\"\n }\n },\n \"required\": - [\n \"location\"\n ],\n \"additionalProperties\": false\n - \ },\n \"strict\": true\n }\n ],\n \"top_logprobs\": 0,\n \"top_p\": - 1.0,\n \"truncation\": \"disabled\",\n \"usage\": {\n \"input_tokens\": - 61,\n \"input_tokens_details\": {\n \"cached_tokens\": 0\n },\n - \ \"output_tokens\": 6,\n \"output_tokens_details\": {\n \"reasoning_tokens\": - 0\n },\n \"total_tokens\": 67\n },\n \"user\": null,\n \"metadata\": - {}\n}" + null,\n \"prompt_cache_retention\": \"in_memory\",\n \"reasoning\": {\n + \ \"effort\": null,\n \"summary\": null\n },\n \"safety_identifier\": + null,\n \"service_tier\": \"default\",\n \"store\": true,\n \"temperature\": + 1.0,\n \"text\": {\n \"format\": {\n \"type\": \"text\"\n },\n + \ \"verbosity\": \"medium\"\n },\n \"tool_choice\": {\n \"type\": \"function\",\n + \ \"name\": \"get_weather\"\n },\n \"tools\": [\n {\n \"type\": + \"function\",\n \"description\": \"Get the weather for a location.\",\n + \ \"name\": \"get_weather\",\n \"parameters\": {\n \"type\": + \"object\",\n \"properties\": {\n \"location\": {\n \"type\": + \"string\"\n }\n },\n \"required\": [\n \"location\"\n + \ ],\n \"additionalProperties\": false\n },\n \"strict\": + true\n }\n ],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": + \"disabled\",\n \"usage\": {\n \"input_tokens\": 61,\n \"input_tokens_details\": + {\n \"cached_tokens\": 0\n },\n \"output_tokens\": 6,\n \"output_tokens_details\": + {\n \"reasoning_tokens\": 0\n },\n \"total_tokens\": 67\n },\n + \ \"user\": null,\n \"metadata\": {}\n}" headers: - CF-RAY: - - 9ed466feabde1d7b-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f40a4d7090a8-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:20 GMT + - Mon, 11 May 2026 14:43:00 GMT Server: - cloudflare Strict-Transport-Security: @@ -83,24 +86,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '1920' + - '1949' openai-organization: - braintrust-data openai-processing-ms: - - '539' + - '2548' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=lam1eZSlWsXFqYsCE1P5e4NsHpIc1ITkMF51c0PXlmw-1776355220.26891-1.0.1.1-VEFuLqk5whKHv754S7.7eTybZqwzxmcS3k4.qkU.98BWyWAkHHXOye2zKT0N3a6Y.2NWfCncgHq8G8LHwkF9bHXA1bLBfkTX4ivDwpmdVQ3iCjy8VIoduzCZ6RJkYFsc; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:20 GMT + - __cf_bm=B8iJTdPxdj9mcomnjj34J8bJIHEmgj8Secr00L25e8M-1778510578.2898426-1.0.1.1-hHN0SdzY.mLfMQ.yWYMLhngnDWicDykMY.3v4W8Q6lnx_lkUUASW1Iac1M1TwsLBAa2SQqHAAd_la8lQuA3OD.siKSV.vvVFsBdHo6TOOzWXuCWR4c8l6I8Z5.iGOLCJ; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:00 GMT x-ratelimit-limit-requests: - '30000' x-ratelimit-limit-tokens: @@ -114,7 +117,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_63789fc0693a434c8414fcad4d42b6a5 + - req_95f3b02e8da74864ba75372d0fbdbd4c status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_metadata_preservation.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_metadata_preservation.yaml index 620858ff..bdbb0be4 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_metadata_preservation.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_metadata_preservation.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,38 +38,40 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_0026c3ea5fbe8bc10069e107926238819297f1b4b5f7e151a6\",\n - \ \"object\": \"response\",\n \"created_at\": 1776355218,\n \"status\": + string: "{\n \"id\": \"resp_090322b492879438006a01eaed43d881948fe607e35593fb2e\",\n + \ \"object\": \"response\",\n \"created_at\": 1778510573,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1776355218,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778510574,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": \"Respond with just the number\",\n \"max_output_tokens\": null,\n \"max_tool_calls\": - null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \"output\": [\n {\n - \ \"id\": \"msg_0026c3ea5fbe8bc10069e10792c5f88192b8e440f8c239f020\",\n + null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \"moderation\": null,\n + \ \"output\": [\n {\n \"id\": \"msg_090322b492879438006a01eaeef29881949cfe762a81b95079\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": [],\n \"logprobs\": [],\n \"text\": \"20\"\n }\n \ ],\n \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - null,\n \"prompt_cache_retention\": null,\n \"reasoning\": {\n \"effort\": - null,\n \"summary\": null\n },\n \"safety_identifier\": null,\n \"service_tier\": - \"default\",\n \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n - \ \"format\": {\n \"type\": \"text\"\n },\n \"verbosity\": \"medium\"\n - \ },\n \"tool_choice\": \"auto\",\n \"tools\": [],\n \"top_logprobs\": - 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n \"usage\": {\n \"input_tokens\": - 24,\n \"input_tokens_details\": {\n \"cached_tokens\": 0\n },\n - \ \"output_tokens\": 2,\n \"output_tokens_details\": {\n \"reasoning_tokens\": - 0\n },\n \"total_tokens\": 26\n },\n \"user\": null,\n \"metadata\": - {}\n}" + null,\n \"prompt_cache_retention\": \"in_memory\",\n \"reasoning\": {\n + \ \"effort\": null,\n \"summary\": null\n },\n \"safety_identifier\": + null,\n \"service_tier\": \"default\",\n \"store\": true,\n \"temperature\": + 1.0,\n \"text\": {\n \"format\": {\n \"type\": \"text\"\n },\n + \ \"verbosity\": \"medium\"\n },\n \"tool_choice\": \"auto\",\n \"tools\": + [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n + \ \"usage\": {\n \"input_tokens\": 24,\n \"input_tokens_details\": {\n + \ \"cached_tokens\": 0\n },\n \"output_tokens\": 2,\n \"output_tokens_details\": + {\n \"reasoning_tokens\": 0\n },\n \"total_tokens\": 26\n },\n + \ \"user\": null,\n \"metadata\": {}\n}" headers: - CF-RAY: - - 9ed466f29bdb713b-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f3e5ced7b5e5-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:18 GMT + - Mon, 11 May 2026 14:42:55 GMT Server: - cloudflare Strict-Transport-Security: @@ -78,24 +80,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '1555' + - '1584' openai-organization: - braintrust-data openai-processing-ms: - - '498' + - '1959' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=DNlHF.g9UWlwC.Dy9E9_7RTUmTDdfCAGYVwWdFjBWxc-1776355218.3400772-1.0.1.1-Qvmqdg3HZsObxzAuJFggmO_agPj4ouYSUQ.pY4b5uDHP35ft8AcqoV2dDUOaHeyJkK26_wtAMgzqOlq16mJ4qhCW4EueDqJguTU_ApT2Lmw64KDkD8eNQdc9WhaQlkfI; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:18 GMT + - __cf_bm=ow1r_xLPLI.UIlvxeW.uhRz0TbpXRP9vrh7R_9Bpcjw-1778510572.4453912-1.0.1.1-zgkBDl8DvtsqvuCyfo_wdXebFzXr2Psa6SRYxLrzffKzbZnmXpRGS2Tsal0M4E0EyaK2_cYRPk_DGd_l1_vGBK7FDFEUnnORDxXRapF87ezvvT8pXFbpdbu57HPG2Ztk; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:12:55 GMT x-ratelimit-limit-requests: - '30000' x-ratelimit-limit-tokens: @@ -109,7 +111,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_5c32b587be224470b8914b5f32aa4636 + - req_c6e66e6e20694e2f82891be756203d53 status: code: 200 message: OK @@ -127,11 +129,11 @@ interactions: Content-Type: - application/json Cookie: - - __cf_bm=DNlHF.g9UWlwC.Dy9E9_7RTUmTDdfCAGYVwWdFjBWxc-1776355218.3400772-1.0.1.1-Qvmqdg3HZsObxzAuJFggmO_agPj4ouYSUQ.pY4b5uDHP35ft8AcqoV2dDUOaHeyJkK26_wtAMgzqOlq16mJ4qhCW4EueDqJguTU_ApT2Lmw64KDkD8eNQdc9WhaQlkfI + - __cf_bm=ow1r_xLPLI.UIlvxeW.uhRz0TbpXRP9vrh7R_9Bpcjw-1778510572.4453912-1.0.1.1-zgkBDl8DvtsqvuCyfo_wdXebFzXr2Psa6SRYxLrzffKzbZnmXpRGS2Tsal0M4E0EyaK2_cYRPk_DGd_l1_vGBK7FDFEUnnORDxXRapF87ezvvT8pXFbpdbu57HPG2Ztk Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -141,11 +143,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -154,42 +156,45 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_0a23acefdde784a00069e1079318d48192857f7247d115c469\",\n - \ \"object\": \"response\",\n \"created_at\": 1776355219,\n \"status\": + string: "{\n \"id\": \"resp_03acc527241b94ae006a01eaefd06c8193a7061abab07f281b\",\n + \ \"object\": \"response\",\n \"created_at\": 1778510575,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1776355219,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778510577,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": null,\n \"max_output_tokens\": null,\n \"max_tool_calls\": null,\n \"model\": - \"gpt-4o-mini-2024-07-18\",\n \"output\": [\n {\n \"id\": \"msg_0a23acefdde784a00069e10793c2bc81928f599c9219f07dfe\",\n + \"gpt-4o-mini-2024-07-18\",\n \"moderation\": null,\n \"output\": [\n {\n + \ \"id\": \"msg_03acc527241b94ae006a01eaf143008193b0daac4eee22e776\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": [],\n \"logprobs\": [],\n \"text\": \"{\\\"value\\\":30}\"\n \ }\n ],\n \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - null,\n \"prompt_cache_retention\": null,\n \"reasoning\": {\n \"effort\": - null,\n \"summary\": null\n },\n \"safety_identifier\": null,\n \"service_tier\": - \"default\",\n \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n - \ \"format\": {\n \"type\": \"json_schema\",\n \"description\": - null,\n \"name\": \"SimpleAnswer\",\n \"schema\": {\n \"properties\": - {\n \"value\": {\n \"title\": \"Value\",\n \"type\": - \"integer\"\n }\n },\n \"required\": [\n \"value\"\n - \ ],\n \"title\": \"SimpleAnswer\",\n \"type\": \"object\",\n - \ \"additionalProperties\": false\n },\n \"strict\": true\n - \ },\n \"verbosity\": \"medium\"\n },\n \"tool_choice\": \"auto\",\n - \ \"tools\": [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": + null,\n \"prompt_cache_retention\": \"in_memory\",\n \"reasoning\": {\n + \ \"effort\": null,\n \"summary\": null\n },\n \"safety_identifier\": + null,\n \"service_tier\": \"default\",\n \"store\": true,\n \"temperature\": + 1.0,\n \"text\": {\n \"format\": {\n \"type\": \"json_schema\",\n + \ \"description\": null,\n \"name\": \"SimpleAnswer\",\n \"schema\": + {\n \"properties\": {\n \"value\": {\n \"title\": + \"Value\",\n \"type\": \"integer\"\n }\n },\n \"required\": + [\n \"value\"\n ],\n \"title\": \"SimpleAnswer\",\n + \ \"type\": \"object\",\n \"additionalProperties\": false\n },\n + \ \"strict\": true\n },\n \"verbosity\": \"medium\"\n },\n \"tool_choice\": + \"auto\",\n \"tools\": [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n \"usage\": {\n \"input_tokens\": 47,\n \"input_tokens_details\": {\n \"cached_tokens\": 0\n },\n \"output_tokens\": 6,\n \"output_tokens_details\": {\n \"reasoning_tokens\": 0\n },\n \"total_tokens\": 53\n },\n \ \"user\": null,\n \"metadata\": {}\n}" headers: - CF-RAY: - - 9ed466f6f9bede04-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f3f86c03a450-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:19 GMT + - Mon, 11 May 2026 14:42:58 GMT Server: - cloudflare Strict-Transport-Security: @@ -198,16 +203,16 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '1930' + - '1959' openai-organization: - braintrust-data openai-processing-ms: - - '845' + - '2521' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -225,7 +230,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_6c552d3404ea4133b710469dbf0e1f5a + - req_172d4f8ada954cfb9025aa3fa4a50acd status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_metrics.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_metrics.yaml index ae26913f..7280792e 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_metrics.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_metrics.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,38 +38,40 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_02ad71f1313f9e0b0069e1078d380881a1b47d4e57629c2fae\",\n - \ \"object\": \"response\",\n \"created_at\": 1776355213,\n \"status\": + string: "{\n \"id\": \"resp_0d62201787a5954a006a01eae5492081a3aa6c5e6807f0906b\",\n + \ \"object\": \"response\",\n \"created_at\": 1778510565,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1776355213,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778510566,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": \"Just the number please\",\n \"max_output_tokens\": null,\n \"max_tool_calls\": - null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \"output\": [\n {\n - \ \"id\": \"msg_02ad71f1313f9e0b0069e1078d8ab481a18792a6ebc124422f\",\n + null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \"moderation\": null,\n + \ \"output\": [\n {\n \"id\": \"msg_0d62201787a5954a006a01eae66b1481a38cbf6634b432af28\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": [],\n \"logprobs\": [],\n \"text\": \"24\"\n }\n \ ],\n \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - null,\n \"prompt_cache_retention\": null,\n \"reasoning\": {\n \"effort\": - null,\n \"summary\": null\n },\n \"safety_identifier\": null,\n \"service_tier\": - \"default\",\n \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n - \ \"format\": {\n \"type\": \"text\"\n },\n \"verbosity\": \"medium\"\n - \ },\n \"tool_choice\": \"auto\",\n \"tools\": [],\n \"top_logprobs\": - 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n \"usage\": {\n \"input_tokens\": - 22,\n \"input_tokens_details\": {\n \"cached_tokens\": 0\n },\n - \ \"output_tokens\": 2,\n \"output_tokens_details\": {\n \"reasoning_tokens\": - 0\n },\n \"total_tokens\": 24\n },\n \"user\": null,\n \"metadata\": - {}\n}" + null,\n \"prompt_cache_retention\": \"in_memory\",\n \"reasoning\": {\n + \ \"effort\": null,\n \"summary\": null\n },\n \"safety_identifier\": + null,\n \"service_tier\": \"default\",\n \"store\": true,\n \"temperature\": + 1.0,\n \"text\": {\n \"format\": {\n \"type\": \"text\"\n },\n + \ \"verbosity\": \"medium\"\n },\n \"tool_choice\": \"auto\",\n \"tools\": + [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n + \ \"usage\": {\n \"input_tokens\": 22,\n \"input_tokens_details\": {\n + \ \"cached_tokens\": 0\n },\n \"output_tokens\": 2,\n \"output_tokens_details\": + {\n \"reasoning_tokens\": 0\n },\n \"total_tokens\": 24\n },\n + \ \"user\": null,\n \"metadata\": {}\n}" headers: - CF-RAY: - - 9ed466d22ac1ac57-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f3b71db55163-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:13 GMT + - Mon, 11 May 2026 14:42:46 GMT Server: - cloudflare Strict-Transport-Security: @@ -78,24 +80,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '1549' + - '1578' openai-organization: - braintrust-data openai-processing-ms: - - '429' + - '1310' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=u9v9JnH8PO__nJA4F6UUrws4k3AB9f3CgyoUFIPMu.M-1776355213.1454365-1.0.1.1-2VjuIlixGdfDxkfegUy.PGcabiV_Kpl3qwYBMqwDUAhtjgrGgHc5BA4ZC8rzA4nlj7Xmy9SEI1gIBWag8rwNo0KlArNRFwd9PR_gkWqVcnSubOp1oL1JWNB9_gO67Pm7; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:13 GMT + - __cf_bm=F9Pmz.ue2Ky10lwFE1l1QBCnkRL_8vz_PSmzawIqenw-1778510564.9806914-1.0.1.1-R3i8pJT6ZfF3DgPy9hDAF7fXTphhEPORbAHrEm9GB5uvNG5lhGczq1isMcGyCiwys1l.KxQ4OyPdXghJaxFUcxxePijSpEI8wPUdhyLbViatrzQxnmL_0b.SNJKulcI0; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:12:46 GMT x-ratelimit-limit-requests: - '30000' x-ratelimit-limit-tokens: @@ -109,7 +111,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_09757e905ed34c82a3cec0bff0f82158 + - req_3e517f4c8074415db7dc3efc153bc23f status: code: 200 message: OK @@ -129,7 +131,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -139,11 +141,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -152,38 +154,40 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_09394f8a8ca603890069e1078e22ec81a1bd45aa30581739d1\",\n - \ \"object\": \"response\",\n \"created_at\": 1776355214,\n \"status\": + string: "{\n \"id\": \"resp_00453c1c7ab9bce2006a01eae6fb9c81a2976d534713507de9\",\n + \ \"object\": \"response\",\n \"created_at\": 1778510567,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1776355214,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778510568,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": \"Just the number please\",\n \"max_output_tokens\": null,\n \"max_tool_calls\": - null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \"output\": [\n {\n - \ \"id\": \"msg_09394f8a8ca603890069e1078e985081a1945513cca339c81f\",\n + null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \"moderation\": null,\n + \ \"output\": [\n {\n \"id\": \"msg_00453c1c7ab9bce2006a01eae7fe6881a2ad52b22f43345034\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": [],\n \"logprobs\": [],\n \"text\": \"24\"\n }\n \ ],\n \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - null,\n \"prompt_cache_retention\": null,\n \"reasoning\": {\n \"effort\": - null,\n \"summary\": null\n },\n \"safety_identifier\": null,\n \"service_tier\": - \"default\",\n \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n - \ \"format\": {\n \"type\": \"text\"\n },\n \"verbosity\": \"medium\"\n - \ },\n \"tool_choice\": \"auto\",\n \"tools\": [],\n \"top_logprobs\": - 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n \"usage\": {\n \"input_tokens\": - 22,\n \"input_tokens_details\": {\n \"cached_tokens\": 0\n },\n - \ \"output_tokens\": 2,\n \"output_tokens_details\": {\n \"reasoning_tokens\": - 0\n },\n \"total_tokens\": 24\n },\n \"user\": null,\n \"metadata\": - {}\n}" + null,\n \"prompt_cache_retention\": \"in_memory\",\n \"reasoning\": {\n + \ \"effort\": null,\n \"summary\": null\n },\n \"safety_identifier\": + null,\n \"service_tier\": \"default\",\n \"store\": true,\n \"temperature\": + 1.0,\n \"text\": {\n \"format\": {\n \"type\": \"text\"\n },\n + \ \"verbosity\": \"medium\"\n },\n \"tool_choice\": \"auto\",\n \"tools\": + [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n + \ \"usage\": {\n \"input_tokens\": 22,\n \"input_tokens_details\": {\n + \ \"cached_tokens\": 0\n },\n \"output_tokens\": 2,\n \"output_tokens_details\": + {\n \"reasoning_tokens\": 0\n },\n \"total_tokens\": 24\n },\n + \ \"user\": null,\n \"metadata\": {}\n}" headers: - CF-RAY: - - 9ed466d81cacde74-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f3c25f460c69-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:14 GMT + - Mon, 11 May 2026 14:42:48 GMT Server: - cloudflare Strict-Transport-Security: @@ -192,24 +196,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '1549' + - '1578' openai-organization: - braintrust-data openai-processing-ms: - - '781' + - '1329' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=1B9VhPgxPFlBYX91r3rvUBfUvytYRSzpUSDaP5UQpuU-1776355214.0975907-1.0.1.1-zlJWo4XSYYzb0ibH8.s3CkY.HNQwwces4F0yIrptfe36xcKb5GrmGoxjDH0Z3GaCusnoS9VzUb_9F9bAfRz64JKoD_RKXuqLQP6fBpi_Zw9t3NWCOp5HVgBHjlbFREnN; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:14 GMT + - __cf_bm=W6vJ4Nl775Xplmsbrl7NuE0QmQs5Fujv_tmcU.YL_NU-1778510566.776733-1.0.1.1-FPPkYhV2GfyKq0wtJ4c9AVnDSL644J5R1CkoeoTSIDd0uFP0cRLDzcW92sdg8CG.k5wLwPLiRmIiUJpTfDAm1qS7HAvRhu3Y7OBs1MCs_RNPV8L8CUJOmnsPBEfNDLpU; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:12:48 GMT x-ratelimit-limit-requests: - '30000' x-ratelimit-limit-tokens: @@ -217,13 +221,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999960' + - '149999957' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_9d975568796a42de97a4ac3472e6e4ed + - req_cd9c93bb1c864202b97f32b9691183c0 status: code: 200 message: OK @@ -241,11 +245,11 @@ interactions: Content-Type: - application/json Cookie: - - __cf_bm=u9v9JnH8PO__nJA4F6UUrws4k3AB9f3CgyoUFIPMu.M-1776355213.1454365-1.0.1.1-2VjuIlixGdfDxkfegUy.PGcabiV_Kpl3qwYBMqwDUAhtjgrGgHc5BA4ZC8rzA4nlj7Xmy9SEI1gIBWag8rwNo0KlArNRFwd9PR_gkWqVcnSubOp1oL1JWNB9_gO67Pm7 + - __cf_bm=F9Pmz.ue2Ky10lwFE1l1QBCnkRL_8vz_PSmzawIqenw-1778510564.9806914-1.0.1.1-R3i8pJT6ZfF3DgPy9hDAF7fXTphhEPORbAHrEm9GB5uvNG5lhGczq1isMcGyCiwys1l.KxQ4OyPdXghJaxFUcxxePijSpEI8wPUdhyLbViatrzQxnmL_0b.SNJKulcI0 Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -255,11 +259,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -268,44 +272,49 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_0be18dfd8973a7500069e1078f2564819f8bd3c7cb0dddcd26\",\n - \ \"object\": \"response\",\n \"created_at\": 1776355215,\n \"status\": + string: "{\n \"id\": \"resp_0dce3bc7cbeff595006a01eae8672481a092acfb57a5bef8f1\",\n + \ \"object\": \"response\",\n \"created_at\": 1778510568,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1776355215,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778510570,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": null,\n \"max_output_tokens\": null,\n \"max_tool_calls\": null,\n \"model\": - \"gpt-4o-mini-2024-07-18\",\n \"output\": [\n {\n \"id\": \"msg_0be18dfd8973a7500069e1078f8a84819fbc572229fb63e57c\",\n + \"gpt-4o-mini-2024-07-18\",\n \"moderation\": null,\n \"output\": [\n {\n + \ \"id\": \"msg_0dce3bc7cbeff595006a01eae97d5481a0a9b22c81e415dd5b\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": - [],\n \"logprobs\": [],\n \"text\": \"{\\\"value\\\":24,\\\"reasoning\\\":\\\"Adding - 12 and 12 gives 24.\\\"}\"\n }\n ],\n \"role\": \"assistant\"\n + [],\n \"logprobs\": [],\n \"text\": \"{\\\"value\\\":24,\\\"reasoning\\\":\\\"12 + plus 12 equals 24 because when you add two identical numbers together, you + simply double the number.\\\"}\"\n }\n ],\n \"role\": \"assistant\"\n \ }\n ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": 0.0,\n \ \"previous_response_id\": null,\n \"prompt_cache_key\": null,\n \"prompt_cache_retention\": - null,\n \"reasoning\": {\n \"effort\": null,\n \"summary\": null\n - \ },\n \"safety_identifier\": null,\n \"service_tier\": \"default\",\n \"store\": - true,\n \"temperature\": 1.0,\n \"text\": {\n \"format\": {\n \"type\": - \"json_schema\",\n \"description\": null,\n \"name\": \"NumberAnswer\",\n - \ \"schema\": {\n \"properties\": {\n \"value\": {\n \"title\": - \"Value\",\n \"type\": \"integer\"\n },\n \"reasoning\": - {\n \"title\": \"Reasoning\",\n \"type\": \"string\"\n - \ }\n },\n \"required\": [\n \"value\",\n \"reasoning\"\n - \ ],\n \"title\": \"NumberAnswer\",\n \"type\": \"object\",\n - \ \"additionalProperties\": false\n },\n \"strict\": true\n - \ },\n \"verbosity\": \"medium\"\n },\n \"tool_choice\": \"auto\",\n - \ \"tools\": [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": - \"disabled\",\n \"usage\": {\n \"input_tokens\": 59,\n \"input_tokens_details\": - {\n \"cached_tokens\": 0\n },\n \"output_tokens\": 20,\n \"output_tokens_details\": - {\n \"reasoning_tokens\": 0\n },\n \"total_tokens\": 79\n },\n - \ \"user\": null,\n \"metadata\": {}\n}" + \"in_memory\",\n \"reasoning\": {\n \"effort\": null,\n \"summary\": + null\n },\n \"safety_identifier\": null,\n \"service_tier\": \"default\",\n + \ \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n \"format\": + {\n \"type\": \"json_schema\",\n \"description\": null,\n \"name\": + \"NumberAnswer\",\n \"schema\": {\n \"properties\": {\n \"value\": + {\n \"title\": \"Value\",\n \"type\": \"integer\"\n + \ },\n \"reasoning\": {\n \"title\": \"Reasoning\",\n + \ \"type\": \"string\"\n }\n },\n \"required\": + [\n \"value\",\n \"reasoning\"\n ],\n \"title\": + \"NumberAnswer\",\n \"type\": \"object\",\n \"additionalProperties\": + false\n },\n \"strict\": true\n },\n \"verbosity\": \"medium\"\n + \ },\n \"tool_choice\": \"auto\",\n \"tools\": [],\n \"top_logprobs\": + 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n \"usage\": {\n \"input_tokens\": + 59,\n \"input_tokens_details\": {\n \"cached_tokens\": 0\n },\n + \ \"output_tokens\": 32,\n \"output_tokens_details\": {\n \"reasoning_tokens\": + 0\n },\n \"total_tokens\": 91\n },\n \"user\": null,\n \"metadata\": + {}\n}" headers: - CF-RAY: - - 9ed466de4fb4de44-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f3cc0dbcab1b-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:16 GMT + - Mon, 11 May 2026 14:42:50 GMT Server: - cloudflare Strict-Transport-Security: @@ -314,16 +323,16 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '2100' + - '2206' openai-organization: - braintrust-data openai-processing-ms: - - '903' + - '1809' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -341,7 +350,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_fb0ab60fa34d447188cdc03192c21475 + - req_12e32f086a364d23bf77b13d0892c9a0 status: code: 200 message: OK @@ -359,11 +368,11 @@ interactions: Content-Type: - application/json Cookie: - - __cf_bm=1B9VhPgxPFlBYX91r3rvUBfUvytYRSzpUSDaP5UQpuU-1776355214.0975907-1.0.1.1-zlJWo4XSYYzb0ibH8.s3CkY.HNQwwces4F0yIrptfe36xcKb5GrmGoxjDH0Z3GaCusnoS9VzUb_9F9bAfRz64JKoD_RKXuqLQP6fBpi_Zw9t3NWCOp5HVgBHjlbFREnN + - __cf_bm=W6vJ4Nl775Xplmsbrl7NuE0QmQs5Fujv_tmcU.YL_NU-1778510566.776733-1.0.1.1-FPPkYhV2GfyKq0wtJ4c9AVnDSL644J5R1CkoeoTSIDd0uFP0cRLDzcW92sdg8CG.k5wLwPLiRmIiUJpTfDAm1qS7HAvRhu3Y7OBs1MCs_RNPV8L8CUJOmnsPBEfNDLpU Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -373,11 +382,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -386,45 +395,49 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_00a8f5fde5e9f4bc0069e107914d94819498730282510e9e0c\",\n - \ \"object\": \"response\",\n \"created_at\": 1776355217,\n \"status\": + string: "{\n \"id\": \"resp_0b7881677daad41f006a01eaea712881a1911b268076aacdd4\",\n + \ \"object\": \"response\",\n \"created_at\": 1778510570,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1776355218,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778510572,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": null,\n \"max_output_tokens\": null,\n \"max_tool_calls\": null,\n \"model\": - \"gpt-4o-mini-2024-07-18\",\n \"output\": [\n {\n \"id\": \"msg_00a8f5fde5e9f4bc0069e10791b0908194b3b69ca32137e5cc\",\n + \"gpt-4o-mini-2024-07-18\",\n \"moderation\": null,\n \"output\": [\n {\n + \ \"id\": \"msg_0b7881677daad41f006a01eaeb94a081a186e6d8b07d2a7af6\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": - [],\n \"logprobs\": [],\n \"text\": \"{\\\"value\\\":24,\\\"reasoning\\\":\\\"Adding - the two numbers together, 12 + 12 equals 24.\\\"}\"\n }\n ],\n - \ \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n - \ \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - null,\n \"prompt_cache_retention\": null,\n \"reasoning\": {\n \"effort\": - null,\n \"summary\": null\n },\n \"safety_identifier\": null,\n \"service_tier\": - \"default\",\n \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n - \ \"format\": {\n \"type\": \"json_schema\",\n \"description\": - null,\n \"name\": \"NumberAnswer\",\n \"schema\": {\n \"properties\": - {\n \"value\": {\n \"title\": \"Value\",\n \"type\": - \"integer\"\n },\n \"reasoning\": {\n \"title\": - \"Reasoning\",\n \"type\": \"string\"\n }\n },\n - \ \"required\": [\n \"value\",\n \"reasoning\"\n ],\n - \ \"title\": \"NumberAnswer\",\n \"type\": \"object\",\n \"additionalProperties\": + [],\n \"logprobs\": [],\n \"text\": \"{\\\"value\\\":24,\\\"reasoning\\\":\\\"12 + plus 12 equals 24 because when you combine the two numbers, you add their + values together.\\\"}\"\n }\n ],\n \"role\": \"assistant\"\n + \ }\n ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": 0.0,\n + \ \"previous_response_id\": null,\n \"prompt_cache_key\": null,\n \"prompt_cache_retention\": + \"in_memory\",\n \"reasoning\": {\n \"effort\": null,\n \"summary\": + null\n },\n \"safety_identifier\": null,\n \"service_tier\": \"default\",\n + \ \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n \"format\": + {\n \"type\": \"json_schema\",\n \"description\": null,\n \"name\": + \"NumberAnswer\",\n \"schema\": {\n \"properties\": {\n \"value\": + {\n \"title\": \"Value\",\n \"type\": \"integer\"\n + \ },\n \"reasoning\": {\n \"title\": \"Reasoning\",\n + \ \"type\": \"string\"\n }\n },\n \"required\": + [\n \"value\",\n \"reasoning\"\n ],\n \"title\": + \"NumberAnswer\",\n \"type\": \"object\",\n \"additionalProperties\": false\n },\n \"strict\": true\n },\n \"verbosity\": \"medium\"\n \ },\n \"tool_choice\": \"auto\",\n \"tools\": [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n \"usage\": {\n \"input_tokens\": 59,\n \"input_tokens_details\": {\n \"cached_tokens\": 0\n },\n - \ \"output_tokens\": 25,\n \"output_tokens_details\": {\n \"reasoning_tokens\": - 0\n },\n \"total_tokens\": 84\n },\n \"user\": null,\n \"metadata\": + \ \"output_tokens\": 31,\n \"output_tokens_details\": {\n \"reasoning_tokens\": + 0\n },\n \"total_tokens\": 90\n },\n \"user\": null,\n \"metadata\": {}\n}" headers: - CF-RAY: - - 9ed466e7ff67ac66-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f3d8ce8a8631-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:18 GMT + - Mon, 11 May 2026 14:42:52 GMT Server: - cloudflare Strict-Transport-Security: @@ -433,16 +446,16 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '2125' + - '2196' openai-organization: - braintrust-data openai-processing-ms: - - '895' + - '1874' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -460,7 +473,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_e53d0ce90b34404d9b291be6e9c42d2b + - req_2b62c36dc834432a8a8cbf94e72e18dd status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_not_given_filtering.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_not_given_filtering.yaml index 9706dcfb..4aa646db 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_not_given_filtering.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_not_given_filtering.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,38 +38,40 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_0c5bafa530a41a4c0069e107c1ec1881a3b8bc06d4fd6dc5fc\",\n - \ \"object\": \"response\",\n \"created_at\": 1776355265,\n \"status\": + string: "{\n \"id\": \"resp_06cdd4a42d3377af006a01eb334434819fbd8d1c3549abae84\",\n + \ \"object\": \"response\",\n \"created_at\": 1778510643,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1776355266,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778510644,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": \"Just the number please\",\n \"max_output_tokens\": null,\n \"max_tool_calls\": - null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \"output\": [\n {\n - \ \"id\": \"msg_0c5bafa530a41a4c0069e107c28f0881a38408fb812d8c2042\",\n + null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \"moderation\": null,\n + \ \"output\": [\n {\n \"id\": \"msg_06cdd4a42d3377af006a01eb3408a8819f808f75a46f986f32\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": [],\n \"logprobs\": [],\n \"text\": \"24\"\n }\n \ ],\n \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - null,\n \"prompt_cache_retention\": null,\n \"reasoning\": {\n \"effort\": - null,\n \"summary\": null\n },\n \"safety_identifier\": null,\n \"service_tier\": - \"default\",\n \"store\": true,\n \"temperature\": 0.5,\n \"text\": {\n - \ \"format\": {\n \"type\": \"text\"\n },\n \"verbosity\": \"medium\"\n - \ },\n \"tool_choice\": \"auto\",\n \"tools\": [],\n \"top_logprobs\": - 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n \"usage\": {\n \"input_tokens\": - 22,\n \"input_tokens_details\": {\n \"cached_tokens\": 0\n },\n - \ \"output_tokens\": 2,\n \"output_tokens_details\": {\n \"reasoning_tokens\": - 0\n },\n \"total_tokens\": 24\n },\n \"user\": null,\n \"metadata\": - {}\n}" + null,\n \"prompt_cache_retention\": \"in_memory\",\n \"reasoning\": {\n + \ \"effort\": null,\n \"summary\": null\n },\n \"safety_identifier\": + null,\n \"service_tier\": \"default\",\n \"store\": true,\n \"temperature\": + 0.5,\n \"text\": {\n \"format\": {\n \"type\": \"text\"\n },\n + \ \"verbosity\": \"medium\"\n },\n \"tool_choice\": \"auto\",\n \"tools\": + [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n + \ \"usage\": {\n \"input_tokens\": 22,\n \"input_tokens_details\": {\n + \ \"cached_tokens\": 0\n },\n \"output_tokens\": 2,\n \"output_tokens_details\": + {\n \"reasoning_tokens\": 0\n },\n \"total_tokens\": 24\n },\n + \ \"user\": null,\n \"metadata\": {}\n}" headers: - CF-RAY: - - 9ed4681bb9d1ab3a-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f5a009f93b8e-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:01:06 GMT + - Mon, 11 May 2026 14:44:04 GMT Server: - cloudflare Strict-Transport-Security: @@ -78,24 +80,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '1549' + - '1578' openai-organization: - braintrust-data openai-processing-ms: - - '806' + - '944' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=fU4h_ClOdjGDuH8LNkyvjsRhhCuLQHe.sqYlzOFx4gU-1776355265.8805268-1.0.1.1-34y0.TFtwWomtAMB_zHkvqsVYn3o4TvgQG7C1SRhPd2AYYCy_FDoy067J5anP_V3mtUAXiOSV54FHngniRwZ.ixpn0wkUmoWJeXvtvQxIgkRulfHbfSK_8XtivhRmVRt; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:06 GMT + - __cf_bm=oJQ7CtQF.XKtjSACb54J2qpnM5jK1_bY_Ob5zMdVlJE-1778510643.203141-1.0.1.1-TedvJs24OkgoRtEI9gMq_BOAzE3AaOAa7k8T339IZyVyQL5CiijRTpOD_0wAHbBvfZEHk8WvaGZipmuI1.pd_qBnLQHafdJSb53d8t8U1FtweK5puaaoyO6z8YWgZTsP; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:14:04 GMT x-ratelimit-limit-requests: - '30000' x-ratelimit-limit-tokens: @@ -109,7 +111,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_d973956d1a0a458aaeef74a153c3970c + - req_7b58a5c1351b4fae9f75d86f69e036c1 status: code: 200 message: OK @@ -127,11 +129,11 @@ interactions: Content-Type: - application/json Cookie: - - __cf_bm=fU4h_ClOdjGDuH8LNkyvjsRhhCuLQHe.sqYlzOFx4gU-1776355265.8805268-1.0.1.1-34y0.TFtwWomtAMB_zHkvqsVYn3o4TvgQG7C1SRhPd2AYYCy_FDoy067J5anP_V3mtUAXiOSV54FHngniRwZ.ixpn0wkUmoWJeXvtvQxIgkRulfHbfSK_8XtivhRmVRt + - __cf_bm=oJQ7CtQF.XKtjSACb54J2qpnM5jK1_bY_Ob5zMdVlJE-1778510643.203141-1.0.1.1-TedvJs24OkgoRtEI9gMq_BOAzE3AaOAa7k8T339IZyVyQL5CiijRTpOD_0wAHbBvfZEHk8WvaGZipmuI1.pd_qBnLQHafdJSb53d8t8U1FtweK5puaaoyO6z8YWgZTsP Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -141,11 +143,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -154,45 +156,48 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_088d6fac04db231c0069e107c2f37c819c9642cfd4525866bd\",\n - \ \"object\": \"response\",\n \"created_at\": 1776355266,\n \"status\": + string: "{\n \"id\": \"resp_02275a064a0d3084006a01eb34711c819786b0f3ca0b6d0674\",\n + \ \"object\": \"response\",\n \"created_at\": 1778510644,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1776355267,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778510646,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": null,\n \"max_output_tokens\": null,\n \"max_tool_calls\": null,\n \"model\": - \"gpt-4o-mini-2024-07-18\",\n \"output\": [\n {\n \"id\": \"msg_088d6fac04db231c0069e107c34d1c819c964c51c5bb9aa709\",\n + \"gpt-4o-mini-2024-07-18\",\n \"moderation\": null,\n \"output\": [\n {\n + \ \"id\": \"msg_02275a064a0d3084006a01eb35cb7881978ae14c4ded18e093\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": - [],\n \"logprobs\": [],\n \"text\": \"{\\\"value\\\":24,\\\"reasoning\\\":\\\"12 - plus 12 equals 24 because adding two identical numbers doubles the value.\\\"}\"\n - \ }\n ],\n \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": - true,\n \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - null,\n \"prompt_cache_retention\": null,\n \"reasoning\": {\n \"effort\": - null,\n \"summary\": null\n },\n \"safety_identifier\": null,\n \"service_tier\": - \"default\",\n \"store\": true,\n \"temperature\": 0.7,\n \"text\": {\n - \ \"format\": {\n \"type\": \"json_schema\",\n \"description\": - null,\n \"name\": \"NumberAnswer\",\n \"schema\": {\n \"properties\": - {\n \"value\": {\n \"title\": \"Value\",\n \"type\": - \"integer\"\n },\n \"reasoning\": {\n \"title\": - \"Reasoning\",\n \"type\": \"string\"\n }\n },\n - \ \"required\": [\n \"value\",\n \"reasoning\"\n ],\n - \ \"title\": \"NumberAnswer\",\n \"type\": \"object\",\n \"additionalProperties\": + [],\n \"logprobs\": [],\n \"text\": \"{\\\"value\\\":24,\\\"reasoning\\\":\\\"Adding + 12 and 12 gives a total of 24.\\\"}\"\n }\n ],\n \"role\": + \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": + 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": null,\n \"prompt_cache_retention\": + \"in_memory\",\n \"reasoning\": {\n \"effort\": null,\n \"summary\": + null\n },\n \"safety_identifier\": null,\n \"service_tier\": \"default\",\n + \ \"store\": true,\n \"temperature\": 0.7,\n \"text\": {\n \"format\": + {\n \"type\": \"json_schema\",\n \"description\": null,\n \"name\": + \"NumberAnswer\",\n \"schema\": {\n \"properties\": {\n \"value\": + {\n \"title\": \"Value\",\n \"type\": \"integer\"\n + \ },\n \"reasoning\": {\n \"title\": \"Reasoning\",\n + \ \"type\": \"string\"\n }\n },\n \"required\": + [\n \"value\",\n \"reasoning\"\n ],\n \"title\": + \"NumberAnswer\",\n \"type\": \"object\",\n \"additionalProperties\": false\n },\n \"strict\": true\n },\n \"verbosity\": \"medium\"\n \ },\n \"tool_choice\": \"auto\",\n \"tools\": [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n \"usage\": {\n \"input_tokens\": 59,\n \"input_tokens_details\": {\n \"cached_tokens\": 0\n },\n - \ \"output_tokens\": 26,\n \"output_tokens_details\": {\n \"reasoning_tokens\": - 0\n },\n \"total_tokens\": 85\n },\n \"user\": null,\n \"metadata\": + \ \"output_tokens\": 23,\n \"output_tokens_details\": {\n \"reasoning_tokens\": + 0\n },\n \"total_tokens\": 82\n },\n \"user\": null,\n \"metadata\": {}\n}" headers: - CF-RAY: - - 9ed468222c10fcd9-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f5a71a11ab82-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:01:07 GMT + - Mon, 11 May 2026 14:44:06 GMT Server: - cloudflare Strict-Transport-Security: @@ -201,16 +206,16 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '2150' + - '2140' openai-organization: - braintrust-data openai-processing-ms: - - '930' + - '1981' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -222,13 +227,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999920' + - '149999922' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_2e4d7d9b6a9a4f6f9f537c7b0c8cfae8 + - req_ea06456b80694bea96f5f64b85b65b67 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_stream_helper.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_stream_helper.yaml index 09f6cea6..d6c020ea 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_stream_helper.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_stream_helper.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -40,62 +40,64 @@ interactions: body: string: 'event: response.created - data: {"type":"response.created","response":{"id":"resp_0569881e63cf8e840069e107bd7f5c81959683dc8932f5675b","object":"response","created_at":1776355261,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just - the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} + data: {"type":"response.created","response":{"id":"resp_0ef43a773d57ed5c006a01eb2b09b4819786a6beed5a8610ca","object":"response","created_at":1778510635,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just + the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} event: response.in_progress - data: {"type":"response.in_progress","response":{"id":"resp_0569881e63cf8e840069e107bd7f5c81959683dc8932f5675b","object":"response","created_at":1776355261,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just - the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} + data: {"type":"response.in_progress","response":{"id":"resp_0ef43a773d57ed5c006a01eb2b09b4819786a6beed5a8610ca","object":"response","created_at":1778510635,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just + the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} event: response.output_item.added - data: {"type":"response.output_item.added","item":{"id":"msg_0569881e63cf8e840069e107be04448195871d657c63551a31","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} + data: {"type":"response.output_item.added","item":{"id":"msg_0ef43a773d57ed5c006a01eb2b82f48197b010e1dd9f6403da","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} event: response.content_part.added - data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_0569881e63cf8e840069e107be04448195871d657c63551a31","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} + data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_0ef43a773d57ed5c006a01eb2b82f48197b010e1dd9f6403da","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"24","item_id":"msg_0569881e63cf8e840069e107be04448195871d657c63551a31","logprobs":[],"obfuscation":"rA7NiRRYDBxIbq","output_index":0,"sequence_number":4} + data: {"type":"response.output_text.delta","content_index":0,"delta":"24","item_id":"msg_0ef43a773d57ed5c006a01eb2b82f48197b010e1dd9f6403da","logprobs":[],"obfuscation":"DOzMwOCzqrLzYT","output_index":0,"sequence_number":4} event: response.output_text.done - data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_0569881e63cf8e840069e107be04448195871d657c63551a31","logprobs":[],"output_index":0,"sequence_number":5,"text":"24"} + data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_0ef43a773d57ed5c006a01eb2b82f48197b010e1dd9f6403da","logprobs":[],"output_index":0,"sequence_number":5,"text":"24"} event: response.content_part.done - data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_0569881e63cf8e840069e107be04448195871d657c63551a31","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"24"},"sequence_number":6} + data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_0ef43a773d57ed5c006a01eb2b82f48197b010e1dd9f6403da","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"24"},"sequence_number":6} event: response.output_item.done - data: {"type":"response.output_item.done","item":{"id":"msg_0569881e63cf8e840069e107be04448195871d657c63551a31","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"24"}],"role":"assistant"},"output_index":0,"sequence_number":7} + data: {"type":"response.output_item.done","item":{"id":"msg_0ef43a773d57ed5c006a01eb2b82f48197b010e1dd9f6403da","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"24"}],"role":"assistant"},"output_index":0,"sequence_number":7} event: response.completed - data: {"type":"response.completed","response":{"id":"resp_0569881e63cf8e840069e107bd7f5c81959683dc8932f5675b","object":"response","created_at":1776355261,"status":"completed","background":false,"completed_at":1776355262,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just - the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[{"id":"msg_0569881e63cf8e840069e107be04448195871d657c63551a31","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"24"}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":22,"input_tokens_details":{"cached_tokens":0},"output_tokens":2,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":24},"user":null,"metadata":{}},"sequence_number":8} + data: {"type":"response.completed","response":{"id":"resp_0ef43a773d57ed5c006a01eb2b09b4819786a6beed5a8610ca","object":"response","created_at":1778510635,"status":"completed","background":false,"completed_at":1778510635,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just + the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[{"id":"msg_0ef43a773d57ed5c006a01eb2b82f48197b010e1dd9f6403da","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"24"}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":22,"input_tokens_details":{"cached_tokens":0},"output_tokens":2,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":24},"user":null,"metadata":{}},"sequence_number":8} ' headers: - CF-RAY: - - 9ed468001b81ab45-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f56c3bc9ab12-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:01:01 GMT + - Mon, 11 May 2026 14:43:55 GMT Server: - cloudflare Strict-Transport-Security: @@ -104,24 +106,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC openai-organization: - braintrust-data openai-processing-ms: - - '76' + - '306' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=OoLvJyjSkkk9tlZtPbf5oss9aLanjynMqXl_nDEkP2U-1776355261.4569972-1.0.1.1-sC8f7fli72EpWmotVG1QzP5ApVRQB85CPXT5K80GdLEzU_rg7CUSNO88qkcWIjBVPZdFKcoFnu4JfUDw7IxBydtxh9.tZXDknwVJLhz2LxZZy2xubOQxa0Zg6oNzXMGw; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:01 GMT + - __cf_bm=R.cELBghxN21Wa7tXxAkzleIUTmZnL_F9B1ZMjqUevI-1778510634.9135165-1.0.1.1-cmzdZd94WpKOiYvdQ4sWK8kUV4kqKAQVrLsCTB_mCzHmz.UxhkOnxL.OEmLOoUON8w_btzHw1MA9Zllqv8YO3ZRXLWg5cG.kh9AiQuaIbrBvnVtHHRXqmpsnYMiaq1lU; + HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, + 11 May 2026 15:13:55 GMT x-request-id: - - req_3a565c468d1346a1b38cda5ce94adc7c + - req_b017792d199e485c9476112b1b981660 status: code: 200 message: OK @@ -141,7 +143,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -151,11 +153,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -166,62 +168,64 @@ interactions: body: string: 'event: response.created - data: {"type":"response.created","response":{"id":"resp_024728bdb4afd7480069e107be532481a0bd0cd1c228eb56e8","object":"response","created_at":1776355262,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just - the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} + data: {"type":"response.created","response":{"id":"resp_01db09a05924618a006a01eb2bf44881978d5b2c4583d5a9b7","object":"response","created_at":1778510635,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just + the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} event: response.in_progress - data: {"type":"response.in_progress","response":{"id":"resp_024728bdb4afd7480069e107be532481a0bd0cd1c228eb56e8","object":"response","created_at":1776355262,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just - the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} + data: {"type":"response.in_progress","response":{"id":"resp_01db09a05924618a006a01eb2bf44881978d5b2c4583d5a9b7","object":"response","created_at":1778510635,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just + the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} event: response.output_item.added - data: {"type":"response.output_item.added","item":{"id":"msg_024728bdb4afd7480069e107becb1481a0adeba1a8b57b1624","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} + data: {"type":"response.output_item.added","item":{"id":"msg_01db09a05924618a006a01eb2c832c8197a68f20012c4692af","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} event: response.content_part.added - data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_024728bdb4afd7480069e107becb1481a0adeba1a8b57b1624","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} + data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_01db09a05924618a006a01eb2c832c8197a68f20012c4692af","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"24","item_id":"msg_024728bdb4afd7480069e107becb1481a0adeba1a8b57b1624","logprobs":[],"obfuscation":"8er4j9TR2bbWmM","output_index":0,"sequence_number":4} + data: {"type":"response.output_text.delta","content_index":0,"delta":"24","item_id":"msg_01db09a05924618a006a01eb2c832c8197a68f20012c4692af","logprobs":[],"obfuscation":"Q4MkL4SGX3CcSm","output_index":0,"sequence_number":4} event: response.output_text.done - data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_024728bdb4afd7480069e107becb1481a0adeba1a8b57b1624","logprobs":[],"output_index":0,"sequence_number":5,"text":"24"} + data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_01db09a05924618a006a01eb2c832c8197a68f20012c4692af","logprobs":[],"output_index":0,"sequence_number":5,"text":"24"} event: response.content_part.done - data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_024728bdb4afd7480069e107becb1481a0adeba1a8b57b1624","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"24"},"sequence_number":6} + data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_01db09a05924618a006a01eb2c832c8197a68f20012c4692af","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"24"},"sequence_number":6} event: response.output_item.done - data: {"type":"response.output_item.done","item":{"id":"msg_024728bdb4afd7480069e107becb1481a0adeba1a8b57b1624","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"24"}],"role":"assistant"},"output_index":0,"sequence_number":7} + data: {"type":"response.output_item.done","item":{"id":"msg_01db09a05924618a006a01eb2c832c8197a68f20012c4692af","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"24"}],"role":"assistant"},"output_index":0,"sequence_number":7} event: response.completed - data: {"type":"response.completed","response":{"id":"resp_024728bdb4afd7480069e107be532481a0bd0cd1c228eb56e8","object":"response","created_at":1776355262,"status":"completed","background":false,"completed_at":1776355262,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just - the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[{"id":"msg_024728bdb4afd7480069e107becb1481a0adeba1a8b57b1624","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"24"}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":22,"input_tokens_details":{"cached_tokens":0},"output_tokens":2,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":24},"user":null,"metadata":{}},"sequence_number":8} + data: {"type":"response.completed","response":{"id":"resp_01db09a05924618a006a01eb2bf44881978d5b2c4583d5a9b7","object":"response","created_at":1778510635,"status":"completed","background":false,"completed_at":1778510636,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just + the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[{"id":"msg_01db09a05924618a006a01eb2c832c8197a68f20012c4692af","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"24"}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":22,"input_tokens_details":{"cached_tokens":0},"output_tokens":2,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":24},"user":null,"metadata":{}},"sequence_number":8} ' headers: - CF-RAY: - - 9ed468053a2c44b0-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f5721a0dab4e-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:01:02 GMT + - Mon, 11 May 2026 14:43:56 GMT Server: - cloudflare Strict-Transport-Security: @@ -230,24 +234,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC openai-organization: - braintrust-data openai-processing-ms: - - '67' + - '119' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=vjO.wNGsLCqDxJfGNqYHkt8_y6pzM_aiJ7ymCYClGtw-1776355262.274826-1.0.1.1-xcxfA6PX9TZWHitJz7PEN4LaLhB3nIdHVZKDKVpouMDb_I_HsyqH0H6EETXTR8xFMfakoNv5lirxWsZDvrzdzQ1D6JKMfeCD0EHlAY5INq52ZseUTgCu1aLewO4q3nmx; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:02 GMT + - __cf_bm=zTH_u2i4xCiKEimhpQGLLJ.PE43GtlESKzGKQ7O9jeQ-1778510635.8597515-1.0.1.1-yywwfJziw1vyAma3PKR5Ul6.aID5cHnhOb0WyySF3NYvtEMNfCNL28gYwoZmn3xFvkkWuB4QGs4m4SibRRRUKUWO85RfXiLqTNa.SH3_H17iw5sEhyfqhY.IkkZgDoOh; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:56 GMT x-request-id: - - req_950fc3065d9c40f5bde99f53fa2f571a + - req_a8a4808886f147c1aa7716abdda0ab66 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_stream_helper_async.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_stream_helper_async.yaml index 08821dbf..ff6cdfcd 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_stream_helper_async.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_stream_helper_async.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -40,62 +40,64 @@ interactions: body: string: 'event: response.created - data: {"type":"response.created","response":{"id":"resp_03fe7636c0bce41e0069e107bf1a2881a1bef71b1a917a530a","object":"response","created_at":1776355263,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just - the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} + data: {"type":"response.created","response":{"id":"resp_0dfa7fae41b59d8f006a01eb2cfe60819da55d2c9094593d18","object":"response","created_at":1778510637,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just + the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} event: response.in_progress - data: {"type":"response.in_progress","response":{"id":"resp_03fe7636c0bce41e0069e107bf1a2881a1bef71b1a917a530a","object":"response","created_at":1776355263,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just - the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} + data: {"type":"response.in_progress","response":{"id":"resp_0dfa7fae41b59d8f006a01eb2cfe60819da55d2c9094593d18","object":"response","created_at":1778510637,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just + the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} event: response.output_item.added - data: {"type":"response.output_item.added","item":{"id":"msg_03fe7636c0bce41e0069e107bf5eac81a1850a0f3bcd697419","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} + data: {"type":"response.output_item.added","item":{"id":"msg_0dfa7fae41b59d8f006a01eb2e11c8819d9d49ef4a67324807","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} event: response.content_part.added - data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_03fe7636c0bce41e0069e107bf5eac81a1850a0f3bcd697419","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} + data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_0dfa7fae41b59d8f006a01eb2e11c8819d9d49ef4a67324807","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"24","item_id":"msg_03fe7636c0bce41e0069e107bf5eac81a1850a0f3bcd697419","logprobs":[],"obfuscation":"cqJbD1lFmH4dhp","output_index":0,"sequence_number":4} + data: {"type":"response.output_text.delta","content_index":0,"delta":"24","item_id":"msg_0dfa7fae41b59d8f006a01eb2e11c8819d9d49ef4a67324807","logprobs":[],"obfuscation":"NLBRFyne9Q5bLf","output_index":0,"sequence_number":4} event: response.output_text.done - data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_03fe7636c0bce41e0069e107bf5eac81a1850a0f3bcd697419","logprobs":[],"output_index":0,"sequence_number":5,"text":"24"} + data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_0dfa7fae41b59d8f006a01eb2e11c8819d9d49ef4a67324807","logprobs":[],"output_index":0,"sequence_number":5,"text":"24"} event: response.content_part.done - data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_03fe7636c0bce41e0069e107bf5eac81a1850a0f3bcd697419","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"24"},"sequence_number":6} + data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_0dfa7fae41b59d8f006a01eb2e11c8819d9d49ef4a67324807","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"24"},"sequence_number":6} event: response.output_item.done - data: {"type":"response.output_item.done","item":{"id":"msg_03fe7636c0bce41e0069e107bf5eac81a1850a0f3bcd697419","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"24"}],"role":"assistant"},"output_index":0,"sequence_number":7} + data: {"type":"response.output_item.done","item":{"id":"msg_0dfa7fae41b59d8f006a01eb2e11c8819d9d49ef4a67324807","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"24"}],"role":"assistant"},"output_index":0,"sequence_number":7} event: response.completed - data: {"type":"response.completed","response":{"id":"resp_03fe7636c0bce41e0069e107bf1a2881a1bef71b1a917a530a","object":"response","created_at":1776355263,"status":"completed","background":false,"completed_at":1776355263,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just - the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[{"id":"msg_03fe7636c0bce41e0069e107bf5eac81a1850a0f3bcd697419","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"24"}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":22,"input_tokens_details":{"cached_tokens":0},"output_tokens":2,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":24},"user":null,"metadata":{}},"sequence_number":8} + data: {"type":"response.completed","response":{"id":"resp_0dfa7fae41b59d8f006a01eb2cfe60819da55d2c9094593d18","object":"response","created_at":1778510637,"status":"completed","background":false,"completed_at":1778510638,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just + the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[{"id":"msg_0dfa7fae41b59d8f006a01eb2e11c8819d9d49ef4a67324807","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"24"}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":22,"input_tokens_details":{"cached_tokens":0},"output_tokens":2,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":24},"user":null,"metadata":{}},"sequence_number":8} ' headers: - CF-RAY: - - 9ed4680a1ea36d93-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f578be0aac0c-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:01:03 GMT + - Mon, 11 May 2026 14:43:57 GMT Server: - cloudflare Strict-Transport-Security: @@ -104,24 +106,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC openai-organization: - braintrust-data openai-processing-ms: - - '52' + - '160' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=Z_mbIqRc7.cC.IqQHJmgbg9fC8O2FM.OZt.DarIftxU-1776355263.0544279-1.0.1.1-QJ.uhRLi_WriS23pBaTeF3a689m6a47_3aVhRXmeBobeTU7fy3egyWqNy2yXhN9orRvMxoEXIFpQjOB87D.3JBTMpMf9_.F1jfCz7E2SGh4JX2hvK_rZluv6me_Lndmp; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:03 GMT + - __cf_bm=IcudSbOz7qfE6jqRUxki0Zec40jhxmecH3TZ3E8UqRQ-1778510636.9187396-1.0.1.1-soGZMfSLHJEutgRhc8iE_fBPXn_APe2LR59juZGVGb46059epLC2qMPrPw0nL7KvNBlqeCna2Q7k8IwDmXGbVEiJRStbVpDRLOxKEQPLkt_dFPc7W0XU2.kQVAL1JrzU; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:57 GMT x-request-id: - - req_4f769682196847ee88b411b8d6607a5b + - req_2d327e0ccdd647a99fbf9ea87af6925f status: code: 200 message: OK @@ -141,7 +143,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -151,11 +153,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -166,62 +168,64 @@ interactions: body: string: 'event: response.created - data: {"type":"response.created","response":{"id":"resp_0a18a15bd23e51cf0069e107bfc1d881a1a6411296bb1c7ff2","object":"response","created_at":1776355263,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just - the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} + data: {"type":"response.created","response":{"id":"resp_06f7d470f7e0d364006a01eb302b2c8194a521c8456e115790","object":"response","created_at":1778510640,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just + the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} event: response.in_progress - data: {"type":"response.in_progress","response":{"id":"resp_0a18a15bd23e51cf0069e107bfc1d881a1a6411296bb1c7ff2","object":"response","created_at":1776355263,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just - the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} + data: {"type":"response.in_progress","response":{"id":"resp_06f7d470f7e0d364006a01eb302b2c8194a521c8456e115790","object":"response","created_at":1778510640,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just + the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} event: response.output_item.added - data: {"type":"response.output_item.added","item":{"id":"msg_0a18a15bd23e51cf0069e107c0109481a1abcada649aaa7ab6","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} + data: {"type":"response.output_item.added","item":{"id":"msg_06f7d470f7e0d364006a01eb30dcf08194bf984f5c4df28b87","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} event: response.content_part.added - data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_0a18a15bd23e51cf0069e107c0109481a1abcada649aaa7ab6","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} + data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_06f7d470f7e0d364006a01eb30dcf08194bf984f5c4df28b87","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"24","item_id":"msg_0a18a15bd23e51cf0069e107c0109481a1abcada649aaa7ab6","logprobs":[],"obfuscation":"UESjZ7JvIcWP9v","output_index":0,"sequence_number":4} + data: {"type":"response.output_text.delta","content_index":0,"delta":"24","item_id":"msg_06f7d470f7e0d364006a01eb30dcf08194bf984f5c4df28b87","logprobs":[],"obfuscation":"2gsxAR92IMvVlq","output_index":0,"sequence_number":4} event: response.output_text.done - data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_0a18a15bd23e51cf0069e107c0109481a1abcada649aaa7ab6","logprobs":[],"output_index":0,"sequence_number":5,"text":"24"} + data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_06f7d470f7e0d364006a01eb30dcf08194bf984f5c4df28b87","logprobs":[],"output_index":0,"sequence_number":5,"text":"24"} event: response.content_part.done - data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_0a18a15bd23e51cf0069e107c0109481a1abcada649aaa7ab6","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"24"},"sequence_number":6} + data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_06f7d470f7e0d364006a01eb30dcf08194bf984f5c4df28b87","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"24"},"sequence_number":6} event: response.output_item.done - data: {"type":"response.output_item.done","item":{"id":"msg_0a18a15bd23e51cf0069e107c0109481a1abcada649aaa7ab6","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"24"}],"role":"assistant"},"output_index":0,"sequence_number":7} + data: {"type":"response.output_item.done","item":{"id":"msg_06f7d470f7e0d364006a01eb30dcf08194bf984f5c4df28b87","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"24"}],"role":"assistant"},"output_index":0,"sequence_number":7} event: response.completed - data: {"type":"response.completed","response":{"id":"resp_0a18a15bd23e51cf0069e107bfc1d881a1a6411296bb1c7ff2","object":"response","created_at":1776355263,"status":"completed","background":false,"completed_at":1776355264,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just - the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[{"id":"msg_0a18a15bd23e51cf0069e107c0109481a1abcada649aaa7ab6","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"24"}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":22,"input_tokens_details":{"cached_tokens":0},"output_tokens":2,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":24},"user":null,"metadata":{}},"sequence_number":8} + data: {"type":"response.completed","response":{"id":"resp_06f7d470f7e0d364006a01eb302b2c8194a521c8456e115790","object":"response","created_at":1778510640,"status":"completed","background":false,"completed_at":1778510640,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"Just + the number please","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[{"id":"msg_06f7d470f7e0d364006a01eb30dcf08194bf984f5c4df28b87","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"24"}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":22,"input_tokens_details":{"cached_tokens":0},"output_tokens":2,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":24},"user":null,"metadata":{}},"sequence_number":8} ' headers: - CF-RAY: - - 9ed4680e3d10e702-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f582292aae18-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:01:03 GMT + - Mon, 11 May 2026 14:44:00 GMT Server: - cloudflare Strict-Transport-Security: @@ -230,24 +234,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC openai-organization: - braintrust-data openai-processing-ms: - - '57' + - '547' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=aGmiBB3o7OH8f1ThPtPOM72cg_NbttsHX31yHtEKuUI-1776355263.7137516-1.0.1.1-W_HlkYr6yT1OEnv6dJtweHtO1uTrHOVghgZDM7Ja7jzDNLKVu8PEELIwKAGN6hwkFjJti0eOBHzWzgWmHmEGvWZGCs4gHOAoOrxqq3PItMFn3tGUKnXsYf6fErLtGd3G; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:03 GMT + - __cf_bm=I.2SZx0fatjU8KKB773HD9ODSdouO2f.IGZtLz_3voA-1778510638.4242759-1.0.1.1-SrNmCSi78Ioa1xfqn.8vUPmUgb2c1A7Van0P09Z3BWeVCCl9vCeeMba6kmmC4PZ.s53pjB1IlbyfthgtJYAeDrvnn8OtAZnBgL4fHjUNMqOVoP3QwRY1pw3_4JaNPo3i; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:14:00 GMT x-request-id: - - req_6da9d1959da94241b6d7237493d0c65c + - req_2b61d8f014f44bce8bb70dbcc6c70b28 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_web_search_tool_spans.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_web_search_tool_spans.yaml index 9f12717a..6c98e181 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_web_search_tool_spans.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_web_search_tool_spans.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,11 +26,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -39,61 +39,70 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_05b8fed67202fa4b0069e1079503248190acd421d93a1f01c2\",\n - \ \"object\": \"response\",\n \"created_at\": 1776355221,\n \"status\": + string: "{\n \"id\": \"resp_0933c32d6c857639006a01eaf52afc81a3a297ba2084e47ebf\",\n + \ \"object\": \"response\",\n \"created_at\": 1778510581,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1776355222,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778510583,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": null,\n \"max_output_tokens\": null,\n \"max_tool_calls\": null,\n \"model\": - \"gpt-4.1-mini-2025-04-14\",\n \"output\": [\n {\n \"id\": \"ws_05b8fed67202fa4b0069e10795369c819085eb68549b07a099\",\n + \"gpt-4.1-mini-2025-04-14\",\n \"moderation\": null,\n \"output\": [\n {\n + \ \"id\": \"ws_0933c32d6c857639006a01eaf5789481a3983a573a555167c3\",\n \ \"type\": \"web_search_call\",\n \"status\": \"completed\",\n \"action\": {\n \"type\": \"search\",\n \"queries\": [\n \"Search the web for the current weather in Paris and answer in one sentence.\"\n ],\n \ \"query\": \"Search the web for the current weather in Paris and answer - in one sentence.\"\n }\n },\n {\n \"id\": \"msg_05b8fed67202fa4b0069e10795f03c819091b585dfd0f1787d\",\n + in one sentence.\"\n }\n },\n {\n \"id\": \"msg_0933c32d6c857639006a01eaf65b4081a3a8e4e64862bff471\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": - [],\n \"logprobs\": [],\n \"text\": \"As of 6:00\\u202fPM - on April 16, 2026, Paris is experiencing mostly sunny weather with a temperature - of 67\\u00b0F (19\\u00b0C).\\n\\n## Weather for Paris, Paris, France:\\nCurrent - Conditions: Mostly sunny, 67\\u00b0F (19\\u00b0C)\\n\\nDaily Forecast:\\n* - Thursday, April 16: Low: 47\\u00b0F (8\\u00b0C), High: 66\\u00b0F (19\\u00b0C), - Description: Intervals of clouds and sunshine\\n* Friday, April 17: Low: 50\\u00b0F - (10\\u00b0C), High: 71\\u00b0F (21\\u00b0C), Description: Nice with intervals - of clouds and sunshine\\n* Saturday, April 18: Low: 47\\u00b0F (8\\u00b0C), - High: 69\\u00b0F (20\\u00b0C), Description: Some sun, then turning cloudy - with a couple of showers in the afternoon\\n* Sunday, April 19: Low: 43\\u00b0F - (6\\u00b0C), High: 65\\u00b0F (18\\u00b0C), Description: Mostly cloudy\\n* - Monday, April 20: Low: 42\\u00b0F (6\\u00b0C), High: 61\\u00b0F (16\\u00b0C), - Description: Times of clouds and sun\\n* Tuesday, April 21: Low: 46\\u00b0F - (8\\u00b0C), High: 61\\u00b0F (16\\u00b0C), Description: Turning cloudy\\n* - Wednesday, April 22: Low: 48\\u00b0F (9\\u00b0C), High: 63\\u00b0F (17\\u00b0C), - Description: Sun and areas of high clouds in the morning, then mostly cloudy - in the afternoon\\n \"\n }\n ],\n \"role\": \"assistant\"\n - \ }\n ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": 0.0,\n - \ \"previous_response_id\": null,\n \"prompt_cache_key\": null,\n \"prompt_cache_retention\": - null,\n \"reasoning\": {\n \"effort\": null,\n \"summary\": null\n - \ },\n \"safety_identifier\": null,\n \"service_tier\": \"auto\",\n \"store\": - true,\n \"temperature\": 1.0,\n \"text\": {\n \"format\": {\n \"type\": - \"text\"\n },\n \"verbosity\": \"medium\"\n },\n \"tool_choice\": - {\n \"type\": \"web_search_preview\"\n },\n \"tools\": [\n {\n \"type\": - \"web_search_preview\",\n \"search_context_size\": \"low\",\n \"user_location\": - {\n \"type\": \"approximate\",\n \"city\": null,\n \"country\": - \"US\",\n \"region\": null,\n \"timezone\": null\n }\n - \ }\n ],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": - \"disabled\",\n \"usage\": {\n \"input_tokens\": 323,\n \"input_tokens_details\": - {\n \"cached_tokens\": 0\n },\n \"output_tokens\": 308,\n \"output_tokens_details\": - {\n \"reasoning_tokens\": 0\n },\n \"total_tokens\": 631\n },\n - \ \"user\": null,\n \"metadata\": {}\n}" + [],\n \"logprobs\": [],\n \"text\": \"As of 4:43\\u202fPM + on May 11, 2026, in Paris, France, the weather is mostly cloudy with a temperature + of 57\\u00b0F (14\\u00b0C).\\n\\n## Weather for Paris, Paris, France:\\nCurrent + Conditions: Mostly cloudy, 57\\u00b0F (14\\u00b0C)\\n\\nDaily Forecast:\\n* + Monday, May 11: Low: 43\\u00b0F (6\\u00b0C), High: 59\\u00b0F (15\\u00b0C), + Description: Mostly cloudy\\n* Tuesday, May 12: Low: 48\\u00b0F (9\\u00b0C), + High: 61\\u00b0F (16\\u00b0C), Description: Turning cloudy\\n* Wednesday, + May 13: Low: 45\\u00b0F (7\\u00b0C), High: 61\\u00b0F (16\\u00b0C), Description: + Intervals of clouds and sun with a passing shower or two in the afternoon\\n* + Thursday, May 14: Low: 44\\u00b0F (7\\u00b0C), High: 55\\u00b0F (13\\u00b0C), + Description: Cool with a blend of sun and clouds; a couple of afternoon showers\\n* + Friday, May 15: Low: 43\\u00b0F (6\\u00b0C), High: 56\\u00b0F (13\\u00b0C), + Description: Occasional morning rain; otherwise, mostly cloudy and cool\\n* + Saturday, May 16: Low: 48\\u00b0F (9\\u00b0C), High: 62\\u00b0F (17\\u00b0C), + Description: Sun and some clouds\\n* Sunday, May 17: Low: 51\\u00b0F (10\\u00b0C), + High: 67\\u00b0F (19\\u00b0C), Description: Considerable cloudiness with rain + and drizzle in the afternoon\\n\\nSevere Weather Alerts:\\n* Paris: Yellow + Warning for Rain-Flood in effect until Tuesday, 12:00 AM CEST. Source: M\\u00e9t\\u00e9o-France, + Moderate rain-flood warningModerate damages may occur, especially in vulnerable + or in exposed areas and to people who carry out weather-related activities.Be + careful, keep informed of the latest weather forecast., start time: Monday, + May 11, 06:00:00 UTC, end time: Tuesday, May 12, 00:00:00 UTC\\n \"\n }\n + \ ],\n \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": + true,\n \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": + null,\n \"prompt_cache_retention\": \"in_memory\",\n \"reasoning\": {\n + \ \"effort\": null,\n \"summary\": null\n },\n \"safety_identifier\": + null,\n \"service_tier\": \"auto\",\n \"store\": true,\n \"temperature\": + 1.0,\n \"text\": {\n \"format\": {\n \"type\": \"text\"\n },\n + \ \"verbosity\": \"medium\"\n },\n \"tool_choice\": {\n \"type\": \"web_search_preview\"\n + \ },\n \"tools\": [\n {\n \"type\": \"web_search_preview\",\n \"search_context_size\": + \"low\",\n \"user_location\": {\n \"type\": \"approximate\",\n + \ \"city\": null,\n \"country\": \"US\",\n \"region\": + null,\n \"timezone\": null\n }\n }\n ],\n \"top_logprobs\": + 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n \"usage\": {\n \"input_tokens\": + 323,\n \"input_tokens_details\": {\n \"cached_tokens\": 0\n },\n + \ \"output_tokens\": 426,\n \"output_tokens_details\": {\n \"reasoning_tokens\": + 0\n },\n \"total_tokens\": 749\n },\n \"user\": null,\n \"metadata\": + {}\n}" headers: - CF-RAY: - - 9ed467031aecab64-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f41bdc04d5a9-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:00:22 GMT + - Mon, 11 May 2026 14:43:03 GMT Server: - cloudflare Strict-Transport-Security: @@ -102,26 +111,26 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '3384' + - '3867' openai-organization: - braintrust-data openai-processing-ms: - - '1805' + - '2024' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=oKNXo.BAeRIAYpFnVacMsWKABAyB85HafU9_fR.K5xw-1776355220.9737887-1.0.1.1-esV6mD746yzy9wX.kATPRmSNWUf292qj5P7D79cfhU2vMnGg97lL_Xo_GiafgTAqXQHU81dE2CgzJ4S5qa.xg1w_l_ab2iOoLGzVucjAoWrWS_RukRQis9A2O7GY3f8B; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:22 GMT + - __cf_bm=NzjUOP19B7Pg3b0nptqwq25JG7179GtA9UBDrLE5uiw-1778510581.092742-1.0.1.1-VMHhWaSHXhvyPxhy1vfIPbS5gUqAt5soi1CrWcd9ItB6GxSVWOcgB9pqw2T3p98CSeXFFxPubWg0hImdrOsO7__2jWs0m5XisjnhI4FG9BVjavDHx6sqcRtDSNwlDC9Z; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:03 GMT x-request-id: - - req_4e1d2997b7ac4bdc8fa982e1816f7122 + - req_73a4967cc6c341659815f39007a11f47 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_web_search_tool_spans_stream.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_web_search_tool_spans_stream.yaml index 078c8493..e09af9c0 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_web_search_tool_spans_stream.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_web_search_tool_spans_stream.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,187 +38,305 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_00654a3876e683b50069e107977dd88193b3f1489831d7d6b4\",\"object\":\"response\",\"created_at\":1776355223,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0.0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":null,\"max_tool_calls\":null,\"model\":\"gpt-4.1-mini-2025-04-14\",\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0.0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":null,\"reasoning\":{\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":1.0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":{\"type\":\"web_search_preview\"},\"tools\":[{\"type\":\"web_search_preview\",\"search_context_size\":\"low\",\"user_location\":{\"type\":\"approximate\",\"city\":null,\"country\":\"US\",\"region\":null,\"timezone\":null}}],\"top_logprobs\":0,\"top_p\":1.0,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}\n\nevent: - response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_00654a3876e683b50069e107977dd88193b3f1489831d7d6b4\",\"object\":\"response\",\"created_at\":1776355223,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0.0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":null,\"max_tool_calls\":null,\"model\":\"gpt-4.1-mini-2025-04-14\",\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0.0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":null,\"reasoning\":{\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":1.0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":{\"type\":\"web_search_preview\"},\"tools\":[{\"type\":\"web_search_preview\",\"search_context_size\":\"low\",\"user_location\":{\"type\":\"approximate\",\"city\":null,\"country\":\"US\",\"region\":null,\"timezone\":null}}],\"top_logprobs\":0,\"top_p\":1.0,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}\n\nevent: - response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"ws_00654a3876e683b50069e10797a0cc8193a05204a4210b31bd\",\"type\":\"web_search_call\",\"status\":\"in_progress\",\"action\":{\"type\":\"search\"}},\"output_index\":0,\"sequence_number\":2}\n\nevent: - response.web_search_call.in_progress\ndata: {\"type\":\"response.web_search_call.in_progress\",\"item_id\":\"ws_00654a3876e683b50069e10797a0cc8193a05204a4210b31bd\",\"output_index\":0,\"sequence_number\":3}\n\nevent: - response.web_search_call.searching\ndata: {\"type\":\"response.web_search_call.searching\",\"item_id\":\"ws_00654a3876e683b50069e10797a0cc8193a05204a4210b31bd\",\"output_index\":0,\"sequence_number\":4}\n\nevent: - response.web_search_call.completed\ndata: {\"type\":\"response.web_search_call.completed\",\"item_id\":\"ws_00654a3876e683b50069e10797a0cc8193a05204a4210b31bd\",\"output_index\":0,\"sequence_number\":5}\n\nevent: - response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"ws_00654a3876e683b50069e10797a0cc8193a05204a4210b31bd\",\"type\":\"web_search_call\",\"status\":\"completed\",\"action\":{\"type\":\"search\",\"queries\":[\"Search + string: "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_09fd96e404748a76006a01eaf776d8819e86375e451d5ce430\",\"object\":\"response\",\"created_at\":1778510583,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0.0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":null,\"max_tool_calls\":null,\"model\":\"gpt-4.1-mini-2025-04-14\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0.0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":1.0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":{\"type\":\"web_search_preview\"},\"tools\":[{\"type\":\"web_search_preview\",\"search_context_size\":\"low\",\"user_location\":{\"type\":\"approximate\",\"city\":null,\"country\":\"US\",\"region\":null,\"timezone\":null}}],\"top_logprobs\":0,\"top_p\":1.0,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}\n\nevent: + response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_09fd96e404748a76006a01eaf776d8819e86375e451d5ce430\",\"object\":\"response\",\"created_at\":1778510583,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0.0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":null,\"max_tool_calls\":null,\"model\":\"gpt-4.1-mini-2025-04-14\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0.0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":1.0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":{\"type\":\"web_search_preview\"},\"tools\":[{\"type\":\"web_search_preview\",\"search_context_size\":\"low\",\"user_location\":{\"type\":\"approximate\",\"city\":null,\"country\":\"US\",\"region\":null,\"timezone\":null}}],\"top_logprobs\":0,\"top_p\":1.0,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}\n\nevent: + response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"ws_09fd96e404748a76006a01eaf79724819e92f58bf0c9ee9d8d\",\"type\":\"web_search_call\",\"status\":\"in_progress\",\"action\":{\"type\":\"search\"}},\"output_index\":0,\"sequence_number\":2}\n\nevent: + response.web_search_call.in_progress\ndata: {\"type\":\"response.web_search_call.in_progress\",\"item_id\":\"ws_09fd96e404748a76006a01eaf79724819e92f58bf0c9ee9d8d\",\"output_index\":0,\"sequence_number\":3}\n\nevent: + response.web_search_call.searching\ndata: {\"type\":\"response.web_search_call.searching\",\"item_id\":\"ws_09fd96e404748a76006a01eaf79724819e92f58bf0c9ee9d8d\",\"output_index\":0,\"sequence_number\":4}\n\nevent: + response.web_search_call.completed\ndata: {\"type\":\"response.web_search_call.completed\",\"item_id\":\"ws_09fd96e404748a76006a01eaf79724819e92f58bf0c9ee9d8d\",\"output_index\":0,\"sequence_number\":5}\n\nevent: + response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"ws_09fd96e404748a76006a01eaf79724819e92f58bf0c9ee9d8d\",\"type\":\"web_search_call\",\"status\":\"completed\",\"action\":{\"type\":\"search\",\"queries\":[\"Search the web for the latest weather in Paris and answer briefly.\"],\"query\":\"Search the web for the latest weather in Paris and answer briefly.\"}},\"output_index\":0,\"sequence_number\":6}\n\nevent: - response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"type\":\"message\",\"status\":\"in_progress\",\"content\":[],\"role\":\"assistant\"},\"output_index\":1,\"sequence_number\":7}\n\nevent: - response.content_part.added\ndata: {\"type\":\"response.content_part.added\",\"content_index\":0,\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"output_index\":1,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"\"},\"sequence_number\":8}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"\\n## - [Paris, France](https://www.google.com/maps/search/Paris?utm_source=openai\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"7q\",\"output_index\":1,\"sequence_number\":9}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"nai\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"tQPjK1Eva5f14\",\"output_index\":1,\"sequence_number\":10}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"=openai\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"bHs9wdylx\",\"output_index\":1,\"sequence_number\":11}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\")\\n\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"JfBVCndQmRrUx9\",\"output_index\":1,\"sequence_number\":12}\n\nevent: - response.output_text.annotation.added\ndata: {\"type\":\"response.output_text.annotation.added\",\"annotation\":{\"type\":\"url_citation\",\"end_index\":88,\"start_index\":3,\"title\":\"Paris, - France\",\"url\":\"https://www.google.com/maps/search/Paris%2C+France?utm_source=openai\"},\"annotation_index\":0,\"content_index\":0,\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"output_index\":1,\"sequence_number\":13}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"\\n\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"fQmA5oNwmvIGzwT\",\"output_index\":1,\"sequence_number\":14}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"\\n\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"TxIuoe8D9tzNhOg\",\"output_index\":1,\"sequence_number\":15}\n\nevent: + response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"type\":\"message\",\"status\":\"in_progress\",\"content\":[],\"role\":\"assistant\"},\"output_index\":1,\"sequence_number\":7}\n\nevent: + response.content_part.added\ndata: {\"type\":\"response.content_part.added\",\"content_index\":0,\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"output_index\":1,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"\"},\"sequence_number\":8}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"As\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"JfNNzCwXuId7QJ\",\"output_index\":1,\"sequence_number\":9}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + of\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"PMGoSzIexiYks\",\"output_index\":1,\"sequence_number\":10}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + \",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"s5jrrQLOSZzcqWr\",\"output_index\":1,\"sequence_number\":11}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"4\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"pALOPci0CQdH9vo\",\"output_index\":1,\"sequence_number\":12}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\":\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"wZqEV0qooMiNPgG\",\"output_index\":1,\"sequence_number\":13}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"43\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"uPAp38cjHWLsxH\",\"output_index\":1,\"sequence_number\":14}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + PM\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"Hcgnd1zLzPmcp\",\"output_index\":1,\"sequence_number\":15}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + local\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"jysC5H7ZxI\",\"output_index\":1,\"sequence_number\":16}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + time\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"2x5NxrFV1CB\",\"output_index\":1,\"sequence_number\":17}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + in\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"MiCxcNZG3JzqI\",\"output_index\":1,\"sequence_number\":18}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + Paris\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"gXKv3lTjpn\",\"output_index\":1,\"sequence_number\":19}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + on\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"NaKOYJEzpgO8R\",\"output_index\":1,\"sequence_number\":20}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + Monday\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"gpJH57Uwa\",\"output_index\":1,\"sequence_number\":21}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\",\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"Tj6N9RQHceFP7Se\",\"output_index\":1,\"sequence_number\":22}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + May\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"dWwaKfmOaIoJ\",\"output_index\":1,\"sequence_number\":23}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + \",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"0RKD2yGMcMmnLGs\",\"output_index\":1,\"sequence_number\":24}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"11\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"NnslFWSYwJqyWg\",\"output_index\":1,\"sequence_number\":25}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\",\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"jVnES0lFgqTKHaU\",\"output_index\":1,\"sequence_number\":26}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + \",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"NO3Va4gxMJ41C0K\",\"output_index\":1,\"sequence_number\":27}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"202\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"znfETJDMn300X\",\"output_index\":1,\"sequence_number\":28}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"6\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"MxrWx9Ozy5Pqxvv\",\"output_index\":1,\"sequence_number\":29}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\",\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"fZWHH5VxtMqrGVo\",\"output_index\":1,\"sequence_number\":30}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + the\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"cOrjlVuND4SP\",\"output_index\":1,\"sequence_number\":31}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + weather\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"QHb6gDt2\",\"output_index\":1,\"sequence_number\":32}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + is\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"9t2vfeZZJpaRr\",\"output_index\":1,\"sequence_number\":33}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + mostly\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"jA68YKJVh\",\"output_index\":1,\"sequence_number\":34}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + cloudy\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"MOCcsYE1D\",\"output_index\":1,\"sequence_number\":35}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + with\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"MOvsExKcisN\",\"output_index\":1,\"sequence_number\":36}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + a\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"u2rxoRr3zHLxfM\",\"output_index\":1,\"sequence_number\":37}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + temperature\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"Arhi\",\"output_index\":1,\"sequence_number\":38}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + of\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"oM4OCfZ8CxUVk\",\"output_index\":1,\"sequence_number\":39}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + \",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"Fo0GFitDm3QtdFP\",\"output_index\":1,\"sequence_number\":40}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"57\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"TnVKfwUDTsAGUi\",\"output_index\":1,\"sequence_number\":41}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"\xB0F\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"rl95M58Nv3doEG\",\"output_index\":1,\"sequence_number\":42}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + (\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"MvxyXdFDnCcmtz\",\"output_index\":1,\"sequence_number\":43}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"14\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"LKQKy5vJZFabUs\",\"output_index\":1,\"sequence_number\":44}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"\xB0C\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"9sm1iav6TpZmES\",\"output_index\":1,\"sequence_number\":45}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\").\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"xfPz6YgVgccUQg\",\"output_index\":1,\"sequence_number\":46}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"\\n\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"D64nQ9WtL9ERC4e\",\"output_index\":1,\"sequence_number\":47}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"\\n\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"F16e2eiB6tMN9Vv\",\"output_index\":1,\"sequence_number\":48}\n\nevent: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"## - Weather for Paris, Paris, France:\\nCurrent Conditions: Mostly sunny, 67\xB0F - (19\xB0C)\\n\\nDaily Forecast:\\n* Thursday, April 16: Low: 47\xB0F (8\xB0C), - High: 66\xB0F (19\xB0C), Description: Intervals of clouds and sunshine\\n* - Friday, April 17: Low: 50\xB0F (10\xB0C), High: 71\xB0F (21\xB0C), Description: - Nice with intervals of clouds and sunshine\\n* Saturday, April 18: Low: 47\xB0F - (8\xB0C), High: 69\xB0F (20\xB0C), Description: Some sun, then turning cloudy - with a couple of showers in the afternoon\\n* Sunday, April 19: Low: 43\xB0F - (6\xB0C), High: 65\xB0F (18\xB0C), Description: Mostly cloudy\\n* Monday, - April 20: Low: 42\xB0F (6\xB0C), High: 61\xB0F (16\xB0C), Description: Times - of clouds and sun\\n* Tuesday, April 21: Low: 46\xB0F (8\xB0C), High: 61\xB0F - (16\xB0C), Description: Turning cloudy\\n* Wednesday, April 22: Low: 48\xB0F - (9\xB0C), High: 63\xB0F (17\xB0C), Description: Sun and areas of high clouds - in the morning, then mostly cloudy in the afternoon\\n\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"F7muKx\",\"output_index\":1,\"sequence_number\":16}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"\\n\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"NHLQYH7WXCRvTfe\",\"output_index\":1,\"sequence_number\":17}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"\\n\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"HhoF4MGqpOk6IYq\",\"output_index\":1,\"sequence_number\":18}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"As\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"j1DfMafYIb1AeB\",\"output_index\":1,\"sequence_number\":19}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - of\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"bD7zteiDee5bd\",\"output_index\":1,\"sequence_number\":20}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - \",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"EU6mOD12L4gWS5K\",\"output_index\":1,\"sequence_number\":21}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"6\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"Updjw8GfcGYBUm5\",\"output_index\":1,\"sequence_number\":22}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\":\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"EEmPv8U32qZsyx6\",\"output_index\":1,\"sequence_number\":23}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"00\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"WrrlfE5j44clgD\",\"output_index\":1,\"sequence_number\":24}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - PM\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"O4pXE80FqmSK2\",\"output_index\":1,\"sequence_number\":25}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - local\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"wiNcADpc7B\",\"output_index\":1,\"sequence_number\":26}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - time\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"LLj0J09hbQy\",\"output_index\":1,\"sequence_number\":27}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - on\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"hzWDd8b3lgGFx\",\"output_index\":1,\"sequence_number\":28}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - Thursday\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"rxFzphG\",\"output_index\":1,\"sequence_number\":29}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\",\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"qpnlJuWbqFpAyKf\",\"output_index\":1,\"sequence_number\":30}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - April\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"xrQ7siTs3B\",\"output_index\":1,\"sequence_number\":31}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - \",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"EOKMFvdCmflxvw3\",\"output_index\":1,\"sequence_number\":32}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"16\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"NBYqBwNvsXbDWw\",\"output_index\":1,\"sequence_number\":33}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\",\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"2zq7PdzOJYBpFrc\",\"output_index\":1,\"sequence_number\":34}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - \",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"mVwZ5JbGLm21nRg\",\"output_index\":1,\"sequence_number\":35}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"202\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"kPlxEU04TMs9a\",\"output_index\":1,\"sequence_number\":36}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"6\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"4tSEG87N153Hfhb\",\"output_index\":1,\"sequence_number\":37}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\",\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"px4C7d4OdZ3Ai74\",\"output_index\":1,\"sequence_number\":38}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - the\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"yFSNl81ut0Kh\",\"output_index\":1,\"sequence_number\":39}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - weather\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"AQplsvyT\",\"output_index\":1,\"sequence_number\":40}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - in\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"GlF4zgRJWfyLm\",\"output_index\":1,\"sequence_number\":41}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - Paris\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"ES5iQTQ2P6\",\"output_index\":1,\"sequence_number\":42}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - is\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"UYypQZmsmWwk5\",\"output_index\":1,\"sequence_number\":43}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - mostly\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"2YLMxAvcC\",\"output_index\":1,\"sequence_number\":44}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - sunny\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"ML2QRKhXJY\",\"output_index\":1,\"sequence_number\":45}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - with\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"nfgPr2Cj3b6\",\"output_index\":1,\"sequence_number\":46}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - a\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"wjpn3mDymcJtVV\",\"output_index\":1,\"sequence_number\":47}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - temperature\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"IoC6\",\"output_index\":1,\"sequence_number\":48}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - of\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"XDaEcJEQ5K7bL\",\"output_index\":1,\"sequence_number\":49}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - \",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"925FYzQcARSnGmM\",\"output_index\":1,\"sequence_number\":50}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"67\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"NVB1PL6CLrxpoP\",\"output_index\":1,\"sequence_number\":51}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"\xB0F\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"QUuK64uHQWjAsg\",\"output_index\":1,\"sequence_number\":52}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - (\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"XYtTUUIEkWslGj\",\"output_index\":1,\"sequence_number\":53}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"19\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"RlmQ5UiJWAVh9B\",\"output_index\":1,\"sequence_number\":54}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"\xB0C\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"dVMLau1Fv8lFyg\",\"output_index\":1,\"sequence_number\":55}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\").\",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"Wvu6TrjFTrHI1Y\",\"output_index\":1,\"sequence_number\":56}\n\nevent: - response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" - \",\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"obfuscation\":\"CDGrhH2Swu7SbVP\",\"output_index\":1,\"sequence_number\":57}\n\nevent: - response.output_text.done\ndata: {\"type\":\"response.output_text.done\",\"content_index\":0,\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"logprobs\":[],\"output_index\":1,\"sequence_number\":58,\"text\":\"\\n## - [Paris, France](https://www.google.com/maps/search/Paris%2C+France?utm_source=openai)\\n\\n\\n## - Weather for Paris, Paris, France:\\nCurrent Conditions: Mostly sunny, 67\xB0F - (19\xB0C)\\n\\nDaily Forecast:\\n* Thursday, April 16: Low: 47\xB0F (8\xB0C), - High: 66\xB0F (19\xB0C), Description: Intervals of clouds and sunshine\\n* - Friday, April 17: Low: 50\xB0F (10\xB0C), High: 71\xB0F (21\xB0C), Description: - Nice with intervals of clouds and sunshine\\n* Saturday, April 18: Low: 47\xB0F - (8\xB0C), High: 69\xB0F (20\xB0C), Description: Some sun, then turning cloudy - with a couple of showers in the afternoon\\n* Sunday, April 19: Low: 43\xB0F - (6\xB0C), High: 65\xB0F (18\xB0C), Description: Mostly cloudy\\n* Monday, - April 20: Low: 42\xB0F (6\xB0C), High: 61\xB0F (16\xB0C), Description: Times - of clouds and sun\\n* Tuesday, April 21: Low: 46\xB0F (8\xB0C), High: 61\xB0F - (16\xB0C), Description: Turning cloudy\\n* Wednesday, April 22: Low: 48\xB0F - (9\xB0C), High: 63\xB0F (17\xB0C), Description: Sun and areas of high clouds - in the morning, then mostly cloudy in the afternoon\\n\\n\\nAs of 6:00 PM - local time on Thursday, April 16, 2026, the weather in Paris is mostly sunny - with a temperature of 67\xB0F (19\xB0C). \"}\n\nevent: response.content_part.done\ndata: - {\"type\":\"response.content_part.done\",\"content_index\":0,\"item_id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"output_index\":1,\"part\":{\"type\":\"output_text\",\"annotations\":[{\"type\":\"url_citation\",\"end_index\":88,\"start_index\":3,\"title\":\"Paris, - France\",\"url\":\"https://www.google.com/maps/search/Paris%2C+France?utm_source=openai\"}],\"logprobs\":[],\"text\":\"\\n## - [Paris, France](https://www.google.com/maps/search/Paris%2C+France?utm_source=openai)\\n\\n\\n## - Weather for Paris, Paris, France:\\nCurrent Conditions: Mostly sunny, 67\xB0F - (19\xB0C)\\n\\nDaily Forecast:\\n* Thursday, April 16: Low: 47\xB0F (8\xB0C), - High: 66\xB0F (19\xB0C), Description: Intervals of clouds and sunshine\\n* - Friday, April 17: Low: 50\xB0F (10\xB0C), High: 71\xB0F (21\xB0C), Description: - Nice with intervals of clouds and sunshine\\n* Saturday, April 18: Low: 47\xB0F - (8\xB0C), High: 69\xB0F (20\xB0C), Description: Some sun, then turning cloudy - with a couple of showers in the afternoon\\n* Sunday, April 19: Low: 43\xB0F - (6\xB0C), High: 65\xB0F (18\xB0C), Description: Mostly cloudy\\n* Monday, - April 20: Low: 42\xB0F (6\xB0C), High: 61\xB0F (16\xB0C), Description: Times - of clouds and sun\\n* Tuesday, April 21: Low: 46\xB0F (8\xB0C), High: 61\xB0F - (16\xB0C), Description: Turning cloudy\\n* Wednesday, April 22: Low: 48\xB0F - (9\xB0C), High: 63\xB0F (17\xB0C), Description: Sun and areas of high clouds - in the morning, then mostly cloudy in the afternoon\\n\\n\\nAs of 6:00 PM - local time on Thursday, April 16, 2026, the weather in Paris is mostly sunny - with a temperature of 67\xB0F (19\xB0C). \"},\"sequence_number\":59}\n\nevent: - response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[{\"type\":\"url_citation\",\"end_index\":88,\"start_index\":3,\"title\":\"Paris, - France\",\"url\":\"https://www.google.com/maps/search/Paris%2C+France?utm_source=openai\"}],\"logprobs\":[],\"text\":\"\\n## - [Paris, France](https://www.google.com/maps/search/Paris%2C+France?utm_source=openai)\\n\\n\\n## - Weather for Paris, Paris, France:\\nCurrent Conditions: Mostly sunny, 67\xB0F - (19\xB0C)\\n\\nDaily Forecast:\\n* Thursday, April 16: Low: 47\xB0F (8\xB0C), - High: 66\xB0F (19\xB0C), Description: Intervals of clouds and sunshine\\n* - Friday, April 17: Low: 50\xB0F (10\xB0C), High: 71\xB0F (21\xB0C), Description: - Nice with intervals of clouds and sunshine\\n* Saturday, April 18: Low: 47\xB0F - (8\xB0C), High: 69\xB0F (20\xB0C), Description: Some sun, then turning cloudy - with a couple of showers in the afternoon\\n* Sunday, April 19: Low: 43\xB0F - (6\xB0C), High: 65\xB0F (18\xB0C), Description: Mostly cloudy\\n* Monday, - April 20: Low: 42\xB0F (6\xB0C), High: 61\xB0F (16\xB0C), Description: Times - of clouds and sun\\n* Tuesday, April 21: Low: 46\xB0F (8\xB0C), High: 61\xB0F - (16\xB0C), Description: Turning cloudy\\n* Wednesday, April 22: Low: 48\xB0F - (9\xB0C), High: 63\xB0F (17\xB0C), Description: Sun and areas of high clouds - in the morning, then mostly cloudy in the afternoon\\n\\n\\nAs of 6:00 PM - local time on Thursday, April 16, 2026, the weather in Paris is mostly sunny - with a temperature of 67\xB0F (19\xB0C). \"}],\"role\":\"assistant\"},\"output_index\":1,\"sequence_number\":60}\n\nevent: - response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_00654a3876e683b50069e107977dd88193b3f1489831d7d6b4\",\"object\":\"response\",\"created_at\":1776355223,\"status\":\"completed\",\"background\":false,\"completed_at\":1776355226,\"error\":null,\"frequency_penalty\":0.0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":null,\"max_tool_calls\":null,\"model\":\"gpt-4.1-mini-2025-04-14\",\"output\":[{\"id\":\"ws_00654a3876e683b50069e10797a0cc8193a05204a4210b31bd\",\"type\":\"web_search_call\",\"status\":\"completed\",\"action\":{\"type\":\"search\",\"queries\":[\"Search + Weather for Paris, Paris, France:\\nCurrent Conditions: Mostly cloudy, 57\xB0F + (14\xB0C)\\n\\nDaily Forecast:\\n* Monday, May 11: Low: 43\xB0F (6\xB0C), + High: 59\xB0F (15\xB0C), Description: Mostly cloudy\\n* Tuesday, May 12: Low: + 48\xB0F (9\xB0C), High: 61\xB0F (16\xB0C), Description: Turning cloudy\\n* + Wednesday, May 13: Low: 45\xB0F (7\xB0C), High: 61\xB0F (16\xB0C), Description: + Intervals of clouds and sun with a passing shower or two in the afternoon\\n* + Thursday, May 14: Low: 44\xB0F (7\xB0C), High: 55\xB0F (13\xB0C), Description: + Cool with a blend of sun and clouds; a couple of afternoon showers\\n* Friday, + May 15: Low: 43\xB0F (6\xB0C), High: 56\xB0F (13\xB0C), Description: Occasional + morning rain; otherwise, mostly cloudy and cool\\n* Saturday, May 16: Low: + 48\xB0F (9\xB0C), High: 62\xB0F (17\xB0C), Description: Sun and some clouds\\n* + Sunday, May 17: Low: 51\xB0F (10\xB0C), High: 67\xB0F (19\xB0C), Description: + Considerable cloudiness with rain and drizzle in the afternoon\\n\\nSevere + Weather Alerts:\\n* Paris: Yellow Warning for Rain-Flood in effect until Tuesday, + 12:00 AM CEST. Source: M\xE9t\xE9o-France, Moderate rain-flood warningModerate + damages may occur, especially in vulnerable or in exposed areas and to people + who carry out weather-related activities.Be careful, keep informed of the + latest weather forecast., start time: Monday, May 11, 06:00:00 UTC, end time: + Tuesday, May 12, 00:00:00 UTC\\n\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"8Py9hqEldoKQ1mS\",\"output_index\":1,\"sequence_number\":49}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"\\n\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"2ojmi7MziwoCmiR\",\"output_index\":1,\"sequence_number\":50}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"\\n\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"O7x6iKCMJye47xa\",\"output_index\":1,\"sequence_number\":51}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"Please\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"9g6WjHH5oX\",\"output_index\":1,\"sequence_number\":52}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + note\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"4h2qUNFHdrB\",\"output_index\":1,\"sequence_number\":53}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + that\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"COKxzeLOskO\",\"output_index\":1,\"sequence_number\":54}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + a\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"tqxhCDYJdSZUC3\",\"output_index\":1,\"sequence_number\":55}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + Yellow\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"TRm5anSMy\",\"output_index\":1,\"sequence_number\":56}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + Warning\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"cuDw4Y9m\",\"output_index\":1,\"sequence_number\":57}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + for\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"s2PuYiIFZdBT\",\"output_index\":1,\"sequence_number\":58}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + Rain\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"QdV8LiWEwZY\",\"output_index\":1,\"sequence_number\":59}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"-F\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"GD3Bf9G3swgb6x\",\"output_index\":1,\"sequence_number\":60}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"lood\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"u03v79TlAW1a\",\"output_index\":1,\"sequence_number\":61}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + is\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"DSSnLibFoDrCA\",\"output_index\":1,\"sequence_number\":62}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + in\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"ynB3EfiBmKF5h\",\"output_index\":1,\"sequence_number\":63}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + effect\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"8cxRgILvv\",\"output_index\":1,\"sequence_number\":64}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + until\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"cXsIiLIv02\",\"output_index\":1,\"sequence_number\":65}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + Tuesday\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"OQ8aYby8\",\"output_index\":1,\"sequence_number\":66}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\",\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"lwBLfOQuLtYhMgp\",\"output_index\":1,\"sequence_number\":67}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + \",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"chicAd9IgxAI3tI\",\"output_index\":1,\"sequence_number\":68}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"12\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"FScAQ6MyAiqpNJ\",\"output_index\":1,\"sequence_number\":69}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\":\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"1T6IxiRLLevy2aY\",\"output_index\":1,\"sequence_number\":70}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"00\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"PjZ2bIesoyDKjz\",\"output_index\":1,\"sequence_number\":71}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + AM\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"s75QkndJaMoHN\",\"output_index\":1,\"sequence_number\":72}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + C\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"duAZciKL4zumjR\",\"output_index\":1,\"sequence_number\":73}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"EST\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"dEMjsuBKu2afS\",\"output_index\":1,\"sequence_number\":74}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\",\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"Vu0UzAkOFeUnX9p\",\"output_index\":1,\"sequence_number\":75}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + indicating\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"548vG\",\"output_index\":1,\"sequence_number\":76}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + moderate\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"lx1fN7d\",\"output_index\":1,\"sequence_number\":77}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + rain\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"HB3nURFHMqP\",\"output_index\":1,\"sequence_number\":78}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + and\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"TTX20NaPUKi9\",\"output_index\":1,\"sequence_number\":79}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + potential\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"7DHjqr\",\"output_index\":1,\"sequence_number\":80}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + flooding\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"tghlpo3\",\"output_index\":1,\"sequence_number\":81}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\".\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"oIMZGb17XapbrcQ\",\"output_index\":1,\"sequence_number\":82}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + \",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"kEvFvEkKcPJKPB1\",\"output_index\":1,\"sequence_number\":83}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"It's\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"JeFXW04I7S1N\",\"output_index\":1,\"sequence_number\":84}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + advisable\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"nrWUun\",\"output_index\":1,\"sequence_number\":85}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + to\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"Wx6bfyq8hOdUu\",\"output_index\":1,\"sequence_number\":86}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + stay\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"Iy4pK1dH72A\",\"output_index\":1,\"sequence_number\":87}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + informed\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"jvkXpN7\",\"output_index\":1,\"sequence_number\":88}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + about\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"ZQ6VcJ81HT\",\"output_index\":1,\"sequence_number\":89}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + the\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"KvybVP7NZ6xR\",\"output_index\":1,\"sequence_number\":90}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + latest\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"8xSROWN1D\",\"output_index\":1,\"sequence_number\":91}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + weather\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"znSy64AM\",\"output_index\":1,\"sequence_number\":92}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + updates\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"wB9zVTIf\",\"output_index\":1,\"sequence_number\":93}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\".\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"97ssRwHipt9ditH\",\"output_index\":1,\"sequence_number\":94}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + \",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"t0O7VYqidVjrtip\",\"output_index\":1,\"sequence_number\":95}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"([meteofrance.com](https://meteofrance.com/previsions-meteo-france/paris/75000?utm_source=openai))\",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"E6kp9xJTKnC8Ru\",\"output_index\":1,\"sequence_number\":96}\n\nevent: + response.output_text.annotation.added\ndata: {\"type\":\"response.output_text.annotation.added\",\"annotation\":{\"type\":\"url_citation\",\"end_index\":1744,\"start_index\":1646,\"title\":\"METEO + PARIS par M\xE9t\xE9o-France - Pr\xE9visions M\xE9t\xE9o gratuites pour aujourd\u2019hui, + demain et \xE0 15 jours.\",\"url\":\"https://meteofrance.com/previsions-meteo-france/paris/75000?utm_source=openai\"},\"annotation_index\":0,\"content_index\":0,\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"output_index\":1,\"sequence_number\":97}\n\nevent: + response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" + \",\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"obfuscation\":\"DiqyIcp7CdO3Tks\",\"output_index\":1,\"sequence_number\":98}\n\nevent: + response.output_text.done\ndata: {\"type\":\"response.output_text.done\",\"content_index\":0,\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"logprobs\":[],\"output_index\":1,\"sequence_number\":99,\"text\":\"As + of 4:43 PM local time in Paris on Monday, May 11, 2026, the weather is mostly + cloudy with a temperature of 57\xB0F (14\xB0C).\\n\\n## Weather for Paris, + Paris, France:\\nCurrent Conditions: Mostly cloudy, 57\xB0F (14\xB0C)\\n\\nDaily + Forecast:\\n* Monday, May 11: Low: 43\xB0F (6\xB0C), High: 59\xB0F (15\xB0C), + Description: Mostly cloudy\\n* Tuesday, May 12: Low: 48\xB0F (9\xB0C), High: + 61\xB0F (16\xB0C), Description: Turning cloudy\\n* Wednesday, May 13: Low: + 45\xB0F (7\xB0C), High: 61\xB0F (16\xB0C), Description: Intervals of clouds + and sun with a passing shower or two in the afternoon\\n* Thursday, May 14: + Low: 44\xB0F (7\xB0C), High: 55\xB0F (13\xB0C), Description: Cool with a blend + of sun and clouds; a couple of afternoon showers\\n* Friday, May 15: Low: + 43\xB0F (6\xB0C), High: 56\xB0F (13\xB0C), Description: Occasional morning + rain; otherwise, mostly cloudy and cool\\n* Saturday, May 16: Low: 48\xB0F + (9\xB0C), High: 62\xB0F (17\xB0C), Description: Sun and some clouds\\n* Sunday, + May 17: Low: 51\xB0F (10\xB0C), High: 67\xB0F (19\xB0C), Description: Considerable + cloudiness with rain and drizzle in the afternoon\\n\\nSevere Weather Alerts:\\n* + Paris: Yellow Warning for Rain-Flood in effect until Tuesday, 12:00 AM CEST. + \ Source: M\xE9t\xE9o-France, Moderate rain-flood warningModerate damages + may occur, especially in vulnerable or in exposed areas and to people who + carry out weather-related activities.Be careful, keep informed of the latest + weather forecast., start time: Monday, May 11, 06:00:00 UTC, end time: Tuesday, + May 12, 00:00:00 UTC\\n\\n\\nPlease note that a Yellow Warning for Rain-Flood + is in effect until Tuesday, 12:00 AM CEST, indicating moderate rain and potential + flooding. It's advisable to stay informed about the latest weather updates. + ([meteofrance.com](https://meteofrance.com/previsions-meteo-france/paris/75000?utm_source=openai)) + \"}\n\nevent: response.content_part.done\ndata: {\"type\":\"response.content_part.done\",\"content_index\":0,\"item_id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"output_index\":1,\"part\":{\"type\":\"output_text\",\"annotations\":[{\"type\":\"url_citation\",\"end_index\":1744,\"start_index\":1646,\"title\":\"METEO + PARIS par M\xE9t\xE9o-France - Pr\xE9visions M\xE9t\xE9o gratuites pour aujourd\u2019hui, + demain et \xE0 15 jours.\",\"url\":\"https://meteofrance.com/previsions-meteo-france/paris/75000?utm_source=openai\"}],\"logprobs\":[],\"text\":\"As + of 4:43 PM local time in Paris on Monday, May 11, 2026, the weather is mostly + cloudy with a temperature of 57\xB0F (14\xB0C).\\n\\n## Weather for Paris, + Paris, France:\\nCurrent Conditions: Mostly cloudy, 57\xB0F (14\xB0C)\\n\\nDaily + Forecast:\\n* Monday, May 11: Low: 43\xB0F (6\xB0C), High: 59\xB0F (15\xB0C), + Description: Mostly cloudy\\n* Tuesday, May 12: Low: 48\xB0F (9\xB0C), High: + 61\xB0F (16\xB0C), Description: Turning cloudy\\n* Wednesday, May 13: Low: + 45\xB0F (7\xB0C), High: 61\xB0F (16\xB0C), Description: Intervals of clouds + and sun with a passing shower or two in the afternoon\\n* Thursday, May 14: + Low: 44\xB0F (7\xB0C), High: 55\xB0F (13\xB0C), Description: Cool with a blend + of sun and clouds; a couple of afternoon showers\\n* Friday, May 15: Low: + 43\xB0F (6\xB0C), High: 56\xB0F (13\xB0C), Description: Occasional morning + rain; otherwise, mostly cloudy and cool\\n* Saturday, May 16: Low: 48\xB0F + (9\xB0C), High: 62\xB0F (17\xB0C), Description: Sun and some clouds\\n* Sunday, + May 17: Low: 51\xB0F (10\xB0C), High: 67\xB0F (19\xB0C), Description: Considerable + cloudiness with rain and drizzle in the afternoon\\n\\nSevere Weather Alerts:\\n* + Paris: Yellow Warning for Rain-Flood in effect until Tuesday, 12:00 AM CEST. + \ Source: M\xE9t\xE9o-France, Moderate rain-flood warningModerate damages + may occur, especially in vulnerable or in exposed areas and to people who + carry out weather-related activities.Be careful, keep informed of the latest + weather forecast., start time: Monday, May 11, 06:00:00 UTC, end time: Tuesday, + May 12, 00:00:00 UTC\\n\\n\\nPlease note that a Yellow Warning for Rain-Flood + is in effect until Tuesday, 12:00 AM CEST, indicating moderate rain and potential + flooding. It's advisable to stay informed about the latest weather updates. + ([meteofrance.com](https://meteofrance.com/previsions-meteo-france/paris/75000?utm_source=openai)) + \"},\"sequence_number\":100}\n\nevent: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[{\"type\":\"url_citation\",\"end_index\":1744,\"start_index\":1646,\"title\":\"METEO + PARIS par M\xE9t\xE9o-France - Pr\xE9visions M\xE9t\xE9o gratuites pour aujourd\u2019hui, + demain et \xE0 15 jours.\",\"url\":\"https://meteofrance.com/previsions-meteo-france/paris/75000?utm_source=openai\"}],\"logprobs\":[],\"text\":\"As + of 4:43 PM local time in Paris on Monday, May 11, 2026, the weather is mostly + cloudy with a temperature of 57\xB0F (14\xB0C).\\n\\n## Weather for Paris, + Paris, France:\\nCurrent Conditions: Mostly cloudy, 57\xB0F (14\xB0C)\\n\\nDaily + Forecast:\\n* Monday, May 11: Low: 43\xB0F (6\xB0C), High: 59\xB0F (15\xB0C), + Description: Mostly cloudy\\n* Tuesday, May 12: Low: 48\xB0F (9\xB0C), High: + 61\xB0F (16\xB0C), Description: Turning cloudy\\n* Wednesday, May 13: Low: + 45\xB0F (7\xB0C), High: 61\xB0F (16\xB0C), Description: Intervals of clouds + and sun with a passing shower or two in the afternoon\\n* Thursday, May 14: + Low: 44\xB0F (7\xB0C), High: 55\xB0F (13\xB0C), Description: Cool with a blend + of sun and clouds; a couple of afternoon showers\\n* Friday, May 15: Low: + 43\xB0F (6\xB0C), High: 56\xB0F (13\xB0C), Description: Occasional morning + rain; otherwise, mostly cloudy and cool\\n* Saturday, May 16: Low: 48\xB0F + (9\xB0C), High: 62\xB0F (17\xB0C), Description: Sun and some clouds\\n* Sunday, + May 17: Low: 51\xB0F (10\xB0C), High: 67\xB0F (19\xB0C), Description: Considerable + cloudiness with rain and drizzle in the afternoon\\n\\nSevere Weather Alerts:\\n* + Paris: Yellow Warning for Rain-Flood in effect until Tuesday, 12:00 AM CEST. + \ Source: M\xE9t\xE9o-France, Moderate rain-flood warningModerate damages + may occur, especially in vulnerable or in exposed areas and to people who + carry out weather-related activities.Be careful, keep informed of the latest + weather forecast., start time: Monday, May 11, 06:00:00 UTC, end time: Tuesday, + May 12, 00:00:00 UTC\\n\\n\\nPlease note that a Yellow Warning for Rain-Flood + is in effect until Tuesday, 12:00 AM CEST, indicating moderate rain and potential + flooding. It's advisable to stay informed about the latest weather updates. + ([meteofrance.com](https://meteofrance.com/previsions-meteo-france/paris/75000?utm_source=openai)) + \"}],\"role\":\"assistant\"},\"output_index\":1,\"sequence_number\":101}\n\nevent: + response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_09fd96e404748a76006a01eaf776d8819e86375e451d5ce430\",\"object\":\"response\",\"created_at\":1778510583,\"status\":\"completed\",\"background\":false,\"completed_at\":1778510585,\"error\":null,\"frequency_penalty\":0.0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":null,\"max_tool_calls\":null,\"model\":\"gpt-4.1-mini-2025-04-14\",\"moderation\":null,\"output\":[{\"id\":\"ws_09fd96e404748a76006a01eaf79724819e92f58bf0c9ee9d8d\",\"type\":\"web_search_call\",\"status\":\"completed\",\"action\":{\"type\":\"search\",\"queries\":[\"Search the web for the latest weather in Paris and answer briefly.\"],\"query\":\"Search - the web for the latest weather in Paris and answer briefly.\"}},{\"id\":\"msg_00654a3876e683b50069e10798d5788193bfa35c7acafbd6a8\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[{\"type\":\"url_citation\",\"end_index\":88,\"start_index\":3,\"title\":\"Paris, - France\",\"url\":\"https://www.google.com/maps/search/Paris%2C+France?utm_source=openai\"}],\"logprobs\":[],\"text\":\"\\n## - [Paris, France](https://www.google.com/maps/search/Paris%2C+France?utm_source=openai)\\n\\n\\n## - Weather for Paris, Paris, France:\\nCurrent Conditions: Mostly sunny, 67\xB0F - (19\xB0C)\\n\\nDaily Forecast:\\n* Thursday, April 16: Low: 47\xB0F (8\xB0C), - High: 66\xB0F (19\xB0C), Description: Intervals of clouds and sunshine\\n* - Friday, April 17: Low: 50\xB0F (10\xB0C), High: 71\xB0F (21\xB0C), Description: - Nice with intervals of clouds and sunshine\\n* Saturday, April 18: Low: 47\xB0F - (8\xB0C), High: 69\xB0F (20\xB0C), Description: Some sun, then turning cloudy - with a couple of showers in the afternoon\\n* Sunday, April 19: Low: 43\xB0F - (6\xB0C), High: 65\xB0F (18\xB0C), Description: Mostly cloudy\\n* Monday, - April 20: Low: 42\xB0F (6\xB0C), High: 61\xB0F (16\xB0C), Description: Times - of clouds and sun\\n* Tuesday, April 21: Low: 46\xB0F (8\xB0C), High: 61\xB0F - (16\xB0C), Description: Turning cloudy\\n* Wednesday, April 22: Low: 48\xB0F - (9\xB0C), High: 63\xB0F (17\xB0C), Description: Sun and areas of high clouds - in the morning, then mostly cloudy in the afternoon\\n\\n\\nAs of 6:00 PM - local time on Thursday, April 16, 2026, the weather in Paris is mostly sunny - with a temperature of 67\xB0F (19\xB0C). \"}],\"role\":\"assistant\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0.0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":null,\"reasoning\":{\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":1.0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":{\"type\":\"web_search_preview\"},\"tools\":[{\"type\":\"web_search_preview\",\"search_context_size\":\"low\",\"user_location\":{\"type\":\"approximate\",\"city\":null,\"country\":\"US\",\"region\":null,\"timezone\":null}}],\"top_logprobs\":0,\"top_p\":1.0,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":319,\"input_tokens_details\":{\"cached_tokens\":0},\"output_tokens\":339,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":658},\"user\":null,\"metadata\":{}},\"sequence_number\":61}\n\n" + the web for the latest weather in Paris and answer briefly.\"}},{\"id\":\"msg_09fd96e404748a76006a01eaf8b810819ebdf8592cbbe997bb\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[{\"type\":\"url_citation\",\"end_index\":1744,\"start_index\":1646,\"title\":\"METEO + PARIS par M\xE9t\xE9o-France - Pr\xE9visions M\xE9t\xE9o gratuites pour aujourd\u2019hui, + demain et \xE0 15 jours.\",\"url\":\"https://meteofrance.com/previsions-meteo-france/paris/75000?utm_source=openai\"}],\"logprobs\":[],\"text\":\"As + of 4:43 PM local time in Paris on Monday, May 11, 2026, the weather is mostly + cloudy with a temperature of 57\xB0F (14\xB0C).\\n\\n## Weather for Paris, + Paris, France:\\nCurrent Conditions: Mostly cloudy, 57\xB0F (14\xB0C)\\n\\nDaily + Forecast:\\n* Monday, May 11: Low: 43\xB0F (6\xB0C), High: 59\xB0F (15\xB0C), + Description: Mostly cloudy\\n* Tuesday, May 12: Low: 48\xB0F (9\xB0C), High: + 61\xB0F (16\xB0C), Description: Turning cloudy\\n* Wednesday, May 13: Low: + 45\xB0F (7\xB0C), High: 61\xB0F (16\xB0C), Description: Intervals of clouds + and sun with a passing shower or two in the afternoon\\n* Thursday, May 14: + Low: 44\xB0F (7\xB0C), High: 55\xB0F (13\xB0C), Description: Cool with a blend + of sun and clouds; a couple of afternoon showers\\n* Friday, May 15: Low: + 43\xB0F (6\xB0C), High: 56\xB0F (13\xB0C), Description: Occasional morning + rain; otherwise, mostly cloudy and cool\\n* Saturday, May 16: Low: 48\xB0F + (9\xB0C), High: 62\xB0F (17\xB0C), Description: Sun and some clouds\\n* Sunday, + May 17: Low: 51\xB0F (10\xB0C), High: 67\xB0F (19\xB0C), Description: Considerable + cloudiness with rain and drizzle in the afternoon\\n\\nSevere Weather Alerts:\\n* + Paris: Yellow Warning for Rain-Flood in effect until Tuesday, 12:00 AM CEST. + \ Source: M\xE9t\xE9o-France, Moderate rain-flood warningModerate damages + may occur, especially in vulnerable or in exposed areas and to people who + carry out weather-related activities.Be careful, keep informed of the latest + weather forecast., start time: Monday, May 11, 06:00:00 UTC, end time: Tuesday, + May 12, 00:00:00 UTC\\n\\n\\nPlease note that a Yellow Warning for Rain-Flood + is in effect until Tuesday, 12:00 AM CEST, indicating moderate rain and potential + flooding. It's advisable to stay informed about the latest weather updates. + ([meteofrance.com](https://meteofrance.com/previsions-meteo-france/paris/75000?utm_source=openai)) + \"}],\"role\":\"assistant\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0.0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":1.0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":{\"type\":\"web_search_preview\"},\"tools\":[{\"type\":\"web_search_preview\",\"search_context_size\":\"low\",\"user_location\":{\"type\":\"approximate\",\"city\":null,\"country\":\"US\",\"region\":null,\"timezone\":null}}],\"top_logprobs\":0,\"top_p\":1.0,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":319,\"input_tokens_details\":{\"cached_tokens\":0},\"output_tokens\":498,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":817},\"user\":null,\"metadata\":{}},\"sequence_number\":102}\n\n" headers: - CF-RAY: - - 9ed467127ca3ab48-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f42a0f7bab9a-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:00:23 GMT + - Mon, 11 May 2026 14:43:03 GMT Server: - cloudflare Strict-Transport-Security: @@ -227,24 +345,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC openai-organization: - braintrust-data openai-processing-ms: - - '129' + - '137' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=Euh1FunD7A2khH9L4_d9mxVuVpFiImcqRCrE._j53rk-1776355223.4380755-1.0.1.1-_ClMb8k63IpVvnLZ7lOIVpl4hbq3QJO9o6acordAlu3nc4oFfKlLEt1tX2o4BAyFVm75TCJwNbAeNJVWZMwnEJVn4YKUtKSbU0AzjardgG6.SUla_btERc.vG3TNzfAh; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:23 GMT + - __cf_bm=segD_so27zPl61jsWPC5WG5ybBvXxrr2nFk7pEHanzw-1778510583.3688242-1.0.1.1-MBwMDL90kuXbehcXQ1_LayKC8EUKN1E.2iPpIojJswTQm52MC7Qws65_YAU6Og9ZyAwOTzVQAQiOeE9r0eOGu635s.Tvn4jlfY79mS9AKKnezrNKUyVKHIj_Y_fHtwbk; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:03 GMT x-request-id: - - req_28e32708c70b407fac5611b1fa437b4f + - req_d55f98fe026d473cba10e2e6e858f85f status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_with_raw_response_async.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_with_raw_response_async.yaml index 82f3e13e..cc44144c 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_with_raw_response_async.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_with_raw_response_async.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,13 +25,13 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Raw-Response: - 'true' X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -40,38 +40,40 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_0971040668da56ad0069e107cbb340819e928280163dc48f67\",\n - \ \"object\": \"response\",\n \"created_at\": 1776355275,\n \"status\": + string: "{\n \"id\": \"resp_06cf64ad22fd126f006a01eb437b408194b0d8bcfa52be3df0\",\n + \ \"object\": \"response\",\n \"created_at\": 1778510659,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1776355276,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778510660,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": \"Just the number please\",\n \"max_output_tokens\": null,\n \"max_tool_calls\": - null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \"output\": [\n {\n - \ \"id\": \"msg_0971040668da56ad0069e107cced94819ea474ecb1a2b31a74\",\n + null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \"moderation\": null,\n + \ \"output\": [\n {\n \"id\": \"msg_06cf64ad22fd126f006a01eb4423f0819493589c8d51d2e142\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": [],\n \"logprobs\": [],\n \"text\": \"24\"\n }\n \ ],\n \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - null,\n \"prompt_cache_retention\": null,\n \"reasoning\": {\n \"effort\": - null,\n \"summary\": null\n },\n \"safety_identifier\": null,\n \"service_tier\": - \"default\",\n \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n - \ \"format\": {\n \"type\": \"text\"\n },\n \"verbosity\": \"medium\"\n - \ },\n \"tool_choice\": \"auto\",\n \"tools\": [],\n \"top_logprobs\": - 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n \"usage\": {\n \"input_tokens\": - 22,\n \"input_tokens_details\": {\n \"cached_tokens\": 0\n },\n - \ \"output_tokens\": 2,\n \"output_tokens_details\": {\n \"reasoning_tokens\": - 0\n },\n \"total_tokens\": 24\n },\n \"user\": null,\n \"metadata\": - {}\n}" + null,\n \"prompt_cache_retention\": \"in_memory\",\n \"reasoning\": {\n + \ \"effort\": null,\n \"summary\": null\n },\n \"safety_identifier\": + null,\n \"service_tier\": \"default\",\n \"store\": true,\n \"temperature\": + 1.0,\n \"text\": {\n \"format\": {\n \"type\": \"text\"\n },\n + \ \"verbosity\": \"medium\"\n },\n \"tool_choice\": \"auto\",\n \"tools\": + [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n + \ \"usage\": {\n \"input_tokens\": 22,\n \"input_tokens_details\": {\n + \ \"cached_tokens\": 0\n },\n \"output_tokens\": 2,\n \"output_tokens_details\": + {\n \"reasoning_tokens\": 0\n },\n \"total_tokens\": 24\n },\n + \ \"user\": null,\n \"metadata\": {}\n}" headers: - CF-RAY: - - 9ed468589cdcade0-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f6053975ac1b-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:01:17 GMT + - Mon, 11 May 2026 14:44:20 GMT Server: - cloudflare Strict-Transport-Security: @@ -80,24 +82,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '1549' + - '1578' openai-organization: - braintrust-data openai-processing-ms: - - '1372' + - '945' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=TPiG_rUrr0rF33Uylzb8c6lG9DWLK_80L1gNStVe_1A-1776355275.6196468-1.0.1.1-znqaBwUWAk5KJHjQtiDRv_W_6u.EjTi6ODOVw.w90e_XlD2gWG..o9XPAmdAA35mm2_MgSmMTNJxbTUGgjrTY9_u9_dF3CEfptG2fxnSqW2Ii4DHXmmCw_UtGMma8r4U; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:17 GMT + - __cf_bm=clJPX0fWj7Mm.atwsYiIuOUDlHk5fH2jep8Nkzs1o1w-1778510659.3942933-1.0.1.1-6JTWRBJ.n80wkREnTxNEM7wEKT_xYsu4cWIudSh_CB.c5hOAzSsumxOqNK.wNnkfBraQBfcCdVIeg8RquU6niswz5VjdxP_zzcUnBJHx.mLsX0e6NEHYhY2cFlo_NAYg; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:14:20 GMT x-ratelimit-limit-requests: - '30000' x-ratelimit-limit-tokens: @@ -111,7 +113,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_184df6a13b1d416ea13d994ed8c0976d + - req_766cce317db24e9fb504c131110d35a8 status: code: 200 message: OK @@ -131,7 +133,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -141,13 +143,13 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Raw-Response: - 'true' X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -156,38 +158,40 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_009678f46741f4b10069e107cd6738819fbcda0debe65ed173\",\n - \ \"object\": \"response\",\n \"created_at\": 1776355277,\n \"status\": + string: "{\n \"id\": \"resp_07b2a97dc2f9e28e006a01eb455c2c81a1a633c2a76373aabb\",\n + \ \"object\": \"response\",\n \"created_at\": 1778510661,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1776355278,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778510661,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": \"Just the number please\",\n \"max_output_tokens\": null,\n \"max_tool_calls\": - null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \"output\": [\n {\n - \ \"id\": \"msg_009678f46741f4b10069e107cdff28819fad51db12afa92805\",\n + null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \"moderation\": null,\n + \ \"output\": [\n {\n \"id\": \"msg_07b2a97dc2f9e28e006a01eb45c60881a1b294e04284bb5de7\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": [],\n \"logprobs\": [],\n \"text\": \"24\"\n }\n \ ],\n \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - null,\n \"prompt_cache_retention\": null,\n \"reasoning\": {\n \"effort\": - null,\n \"summary\": null\n },\n \"safety_identifier\": null,\n \"service_tier\": - \"default\",\n \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n - \ \"format\": {\n \"type\": \"text\"\n },\n \"verbosity\": \"medium\"\n - \ },\n \"tool_choice\": \"auto\",\n \"tools\": [],\n \"top_logprobs\": - 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n \"usage\": {\n \"input_tokens\": - 22,\n \"input_tokens_details\": {\n \"cached_tokens\": 0\n },\n - \ \"output_tokens\": 2,\n \"output_tokens_details\": {\n \"reasoning_tokens\": - 0\n },\n \"total_tokens\": 24\n },\n \"user\": null,\n \"metadata\": - {}\n}" + null,\n \"prompt_cache_retention\": \"in_memory\",\n \"reasoning\": {\n + \ \"effort\": null,\n \"summary\": null\n },\n \"safety_identifier\": + null,\n \"service_tier\": \"default\",\n \"store\": true,\n \"temperature\": + 1.0,\n \"text\": {\n \"format\": {\n \"type\": \"text\"\n },\n + \ \"verbosity\": \"medium\"\n },\n \"tool_choice\": \"auto\",\n \"tools\": + [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n + \ \"usage\": {\n \"input_tokens\": 22,\n \"input_tokens_details\": {\n + \ \"cached_tokens\": 0\n },\n \"output_tokens\": 2,\n \"output_tokens_details\": + {\n \"reasoning_tokens\": 0\n },\n \"total_tokens\": 24\n },\n + \ \"user\": null,\n \"metadata\": {}\n}" headers: - CF-RAY: - - 9ed468637bdf9dab-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f6110e52e21a-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:01:18 GMT + - Mon, 11 May 2026 14:44:22 GMT Server: - cloudflare Strict-Transport-Security: @@ -196,24 +200,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '1549' + - '1578' openai-organization: - braintrust-data openai-processing-ms: - - '714' + - '706' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=15hqrri8z4X2z5lbGucRPmCuPIOQyjiE3LN9D4rc6vk-1776355277.3607185-1.0.1.1-c2sJaQXS3r05J5IEmf_81nn.HDKGvCbrVbG5pZVS_RUQ5eQ869x7KciUOt5bZmgT1IuIjb0kDaJt0aXgYBly_l5YxkEM_TsL7JUwzPdLke.5qd0cZlaf0kboGsREAeSw; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:18 GMT + - __cf_bm=SqSaPVkVfCKxUy5bk_mg6g13OBOI4oRF1X5bUJ7Se1Q-1778510661.2911415-1.0.1.1-8DIXRMnwDMAgyKG8cqbADg9dDYXnvfvz8.c0DyCu8ukrLTz5pzYpoi.Bv_l2mgUNAq7vX3bSjPiCAyvruzcU2upNLfE8O8Jcn78eLMzakfmyrOzdx3samk3kYZRzvix2; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:14:22 GMT x-ratelimit-limit-requests: - '30000' x-ratelimit-limit-tokens: @@ -227,7 +231,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_fae53083aeef4c57b5ca132db481e8ac + - req_36fca677059b48ec8a0378b2194dd31c status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_with_raw_response_create.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_with_raw_response_create.yaml index 3dedaa31..188c3fa9 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_with_raw_response_create.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_with_raw_response_create.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,13 +25,13 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Raw-Response: - 'true' X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -40,38 +40,40 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_007dd4bca242ee750069e107c4076081a0ba39538dc37b935f\",\n - \ \"object\": \"response\",\n \"created_at\": 1776355268,\n \"status\": + string: "{\n \"id\": \"resp_06828417a22aaa86006a01eb369f9881a3929a6e042431c9a3\",\n + \ \"object\": \"response\",\n \"created_at\": 1778510646,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1776355268,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778510647,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": \"Just the number please\",\n \"max_output_tokens\": null,\n \"max_tool_calls\": - null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \"output\": [\n {\n - \ \"id\": \"msg_007dd4bca242ee750069e107c4657881a08e3f97a299372d0a\",\n + null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \"moderation\": null,\n + \ \"output\": [\n {\n \"id\": \"msg_06828417a22aaa86006a01eb3730fc81a3b236e22cc0b9854b\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": [],\n \"logprobs\": [],\n \"text\": \"24\"\n }\n \ ],\n \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - null,\n \"prompt_cache_retention\": null,\n \"reasoning\": {\n \"effort\": - null,\n \"summary\": null\n },\n \"safety_identifier\": null,\n \"service_tier\": - \"default\",\n \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n - \ \"format\": {\n \"type\": \"text\"\n },\n \"verbosity\": \"medium\"\n - \ },\n \"tool_choice\": \"auto\",\n \"tools\": [],\n \"top_logprobs\": - 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n \"usage\": {\n \"input_tokens\": - 22,\n \"input_tokens_details\": {\n \"cached_tokens\": 0\n },\n - \ \"output_tokens\": 2,\n \"output_tokens_details\": {\n \"reasoning_tokens\": - 0\n },\n \"total_tokens\": 24\n },\n \"user\": null,\n \"metadata\": - {}\n}" + null,\n \"prompt_cache_retention\": \"in_memory\",\n \"reasoning\": {\n + \ \"effort\": null,\n \"summary\": null\n },\n \"safety_identifier\": + null,\n \"service_tier\": \"default\",\n \"store\": true,\n \"temperature\": + 1.0,\n \"text\": {\n \"format\": {\n \"type\": \"text\"\n },\n + \ \"verbosity\": \"medium\"\n },\n \"tool_choice\": \"auto\",\n \"tools\": + [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n + \ \"usage\": {\n \"input_tokens\": 22,\n \"input_tokens_details\": {\n + \ \"cached_tokens\": 0\n },\n \"output_tokens\": 2,\n \"output_tokens_details\": + {\n \"reasoning_tokens\": 0\n },\n \"total_tokens\": 24\n },\n + \ \"user\": null,\n \"metadata\": {}\n}" headers: - CF-RAY: - - 9ed46828da3fab6d-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f5b4eb6dae18-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:01:08 GMT + - Mon, 11 May 2026 14:44:07 GMT Server: - cloudflare Strict-Transport-Security: @@ -80,24 +82,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '1549' + - '1578' openai-organization: - braintrust-data openai-processing-ms: - - '515' + - '792' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=jpZlbFFrv4zn0oCH.SSG_U0d0qVMh.U_VyHuYJbn_5w-1776355267.9736063-1.0.1.1-wr.KLXFFoCsRzab8Agkclw_shAlN9lNZgifHCNLFAvw4A5f.JBylgpDAbuuQxujcnWXlyr3sSlE.qFC4TiARyZnH0JMbs2hvp8H8dJQH._5MSdWrHzAe9j1wkGXFn.jc; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:08 GMT + - __cf_bm=cASkBuz8ObCFq400L3xVsDqXdRiXf0WWURhOdyogsG8-1778510646.550938-1.0.1.1-jrveSQpk8yhlQw6l9pLZeNiBDf_k2pNPH45_2feuOdoHfycZvyGpB7gew.Y9n2vHbL3XjGmOizWYDCKPFytVcXIu6ZrvE8VfZ2Gbat1GQi7KqJIpwHqF.zXHr6h05SEn; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:14:07 GMT x-ratelimit-limit-requests: - '30000' x-ratelimit-limit-tokens: @@ -105,13 +107,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999960' + - '149999957' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_cbabf62f89c6484da8505e07597ae308 + - req_033d8a7969c84b1c8ddd643bb725a593 status: code: 200 message: OK @@ -131,7 +133,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -141,13 +143,13 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Raw-Response: - 'true' X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -156,38 +158,40 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_0fc6fd74e679704d0069e107c5253c8190a37c70c436c48e8a\",\n - \ \"object\": \"response\",\n \"created_at\": 1776355269,\n \"status\": + string: "{\n \"id\": \"resp_07e588544f613e53006a01eb379f9c819f9ebe77d9225b6b66\",\n + \ \"object\": \"response\",\n \"created_at\": 1778510647,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1776355269,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778510649,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": \"Just the number please\",\n \"max_output_tokens\": null,\n \"max_tool_calls\": - null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \"output\": [\n {\n - \ \"id\": \"msg_0fc6fd74e679704d0069e107c585b081908c058c65221545d4\",\n + null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \"moderation\": null,\n + \ \"output\": [\n {\n \"id\": \"msg_07e588544f613e53006a01eb398598819fb12cabf356f0065a\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": [],\n \"logprobs\": [],\n \"text\": \"24\"\n }\n \ ],\n \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - null,\n \"prompt_cache_retention\": null,\n \"reasoning\": {\n \"effort\": - null,\n \"summary\": null\n },\n \"safety_identifier\": null,\n \"service_tier\": - \"default\",\n \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n - \ \"format\": {\n \"type\": \"text\"\n },\n \"verbosity\": \"medium\"\n - \ },\n \"tool_choice\": \"auto\",\n \"tools\": [],\n \"top_logprobs\": - 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n \"usage\": {\n \"input_tokens\": - 22,\n \"input_tokens_details\": {\n \"cached_tokens\": 0\n },\n - \ \"output_tokens\": 2,\n \"output_tokens_details\": {\n \"reasoning_tokens\": - 0\n },\n \"total_tokens\": 24\n },\n \"user\": null,\n \"metadata\": - {}\n}" + null,\n \"prompt_cache_retention\": \"in_memory\",\n \"reasoning\": {\n + \ \"effort\": null,\n \"summary\": null\n },\n \"safety_identifier\": + null,\n \"service_tier\": \"default\",\n \"store\": true,\n \"temperature\": + 1.0,\n \"text\": {\n \"format\": {\n \"type\": \"text\"\n },\n + \ \"verbosity\": \"medium\"\n },\n \"tool_choice\": \"auto\",\n \"tools\": + [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n + \ \"usage\": {\n \"input_tokens\": 22,\n \"input_tokens_details\": {\n + \ \"cached_tokens\": 0\n },\n \"output_tokens\": 2,\n \"output_tokens_details\": + {\n \"reasoning_tokens\": 0\n },\n \"total_tokens\": 24\n },\n + \ \"user\": null,\n \"metadata\": {}\n}" headers: - CF-RAY: - - 9ed4682d0863ae18-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f5bb3d2caa55-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:01:09 GMT + - Mon, 11 May 2026 14:44:09 GMT Server: - cloudflare Strict-Transport-Security: @@ -196,24 +200,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '1549' + - '1578' openai-organization: - braintrust-data openai-processing-ms: - - '774' + - '2127' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=sDq4AdageEYyfmvmg29VSARnWthJtKgPWWa_DBWWwRo-1776355268.6430185-1.0.1.1-thWZYJRHiIMRM.yf2XgGmlJg71bCJ6TSIUHbwtQsRQaXumeh2pruu9W.cT0ntDdacKR9Nfwp5ailTKrROKSpA_cVbtUoIAfOcM0fXYH2iMHMcMCV3fQ80s63ZHVwyBCv; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:09 GMT + - __cf_bm=3avGddDMCYM94OIXMfO3M83cbsNtL7JpAboktTHl9Ic-1778510647.5534008-1.0.1.1-rTq1saZ5IcylYD.QKWBqvMhI_fxW1uWvbL_nHhDnu33J3qJxa_SwsqQQcnwKxNArzFHlaDkVj5XQz.6k.M7oYW6.d2fMyY4_QHw9QIhBol_f2_pVyDqvERmSLH_HVype; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:14:09 GMT x-ratelimit-limit-requests: - '30000' x-ratelimit-limit-tokens: @@ -227,7 +231,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_31211ea1f0eb4fe8807c97f4e329adb1 + - req_2ef4502d0847425b8167f5e0a669b6c8 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_with_raw_response_create_stream.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_with_raw_response_create_stream.yaml index c5633b45..33c67f15 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_with_raw_response_create_stream.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_with_raw_response_create_stream.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,13 +25,13 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Raw-Response: - 'true' X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -42,98 +42,100 @@ interactions: body: string: 'event: response.created - data: {"type":"response.created","response":{"id":"resp_08d32dac7cf0071d0069e107c625d8819783efc5c2eb477c76","object":"response","created_at":1776355270,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} + data: {"type":"response.created","response":{"id":"resp_01787d6f14551894006a01eb3a05248194a709cb518601f889","object":"response","created_at":1778510650,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} event: response.in_progress - data: {"type":"response.in_progress","response":{"id":"resp_08d32dac7cf0071d0069e107c625d8819783efc5c2eb477c76","object":"response","created_at":1776355270,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} + data: {"type":"response.in_progress","response":{"id":"resp_01787d6f14551894006a01eb3a05248194a709cb518601f889","object":"response","created_at":1778510650,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} event: response.output_item.added - data: {"type":"response.output_item.added","item":{"id":"msg_08d32dac7cf0071d0069e107c690188197adc473b464624937","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} + data: {"type":"response.output_item.added","item":{"id":"msg_01787d6f14551894006a01eb3ad790819486f243f3cac61bbf","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} event: response.content_part.added - data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_08d32dac7cf0071d0069e107c690188197adc473b464624937","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} + data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_01787d6f14551894006a01eb3ad790819486f243f3cac61bbf","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_08d32dac7cf0071d0069e107c690188197adc473b464624937","logprobs":[],"obfuscation":"SqALp2reG72RR9","output_index":0,"sequence_number":4} + data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_01787d6f14551894006a01eb3ad790819486f243f3cac61bbf","logprobs":[],"obfuscation":"RjwbxrkOzaz4vg","output_index":0,"sequence_number":4} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" +","item_id":"msg_08d32dac7cf0071d0069e107c690188197adc473b464624937","logprobs":[],"obfuscation":"Le0SS037JLE1Kv","output_index":0,"sequence_number":5} + data: {"type":"response.output_text.delta","content_index":0,"delta":" +","item_id":"msg_01787d6f14551894006a01eb3ad790819486f243f3cac61bbf","logprobs":[],"obfuscation":"XhmGsp5LKMY3J1","output_index":0,"sequence_number":5} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_08d32dac7cf0071d0069e107c690188197adc473b464624937","logprobs":[],"obfuscation":"YKFx9IvXfxqZjZN","output_index":0,"sequence_number":6} + data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_01787d6f14551894006a01eb3ad790819486f243f3cac61bbf","logprobs":[],"obfuscation":"LvGFvTdyMpEi0ae","output_index":0,"sequence_number":6} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_08d32dac7cf0071d0069e107c690188197adc473b464624937","logprobs":[],"obfuscation":"1n0jQS6dLknkwo","output_index":0,"sequence_number":7} + data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_01787d6f14551894006a01eb3ad790819486f243f3cac61bbf","logprobs":[],"obfuscation":"wjQpkesPOOuX3L","output_index":0,"sequence_number":7} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" equals","item_id":"msg_08d32dac7cf0071d0069e107c690188197adc473b464624937","logprobs":[],"obfuscation":"ymM6Z7vUR","output_index":0,"sequence_number":8} + data: {"type":"response.output_text.delta","content_index":0,"delta":" equals","item_id":"msg_01787d6f14551894006a01eb3ad790819486f243f3cac61bbf","logprobs":[],"obfuscation":"d7fxEi01G","output_index":0,"sequence_number":8} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_08d32dac7cf0071d0069e107c690188197adc473b464624937","logprobs":[],"obfuscation":"RJ69vB8MYSjIUiZ","output_index":0,"sequence_number":9} + data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_01787d6f14551894006a01eb3ad790819486f243f3cac61bbf","logprobs":[],"obfuscation":"mVP8hdmPT5Uia65","output_index":0,"sequence_number":9} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"24","item_id":"msg_08d32dac7cf0071d0069e107c690188197adc473b464624937","logprobs":[],"obfuscation":"gWxKjOrsmnXcx6","output_index":0,"sequence_number":10} + data: {"type":"response.output_text.delta","content_index":0,"delta":"24","item_id":"msg_01787d6f14551894006a01eb3ad790819486f243f3cac61bbf","logprobs":[],"obfuscation":"ruIVy6uSunW7GJ","output_index":0,"sequence_number":10} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_08d32dac7cf0071d0069e107c690188197adc473b464624937","logprobs":[],"obfuscation":"j3pgREQQaNrlDGT","output_index":0,"sequence_number":11} + data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_01787d6f14551894006a01eb3ad790819486f243f3cac61bbf","logprobs":[],"obfuscation":"pG4bq9hzQqgDw4V","output_index":0,"sequence_number":11} event: response.output_text.done - data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_08d32dac7cf0071d0069e107c690188197adc473b464624937","logprobs":[],"output_index":0,"sequence_number":12,"text":"12 + data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_01787d6f14551894006a01eb3ad790819486f243f3cac61bbf","logprobs":[],"output_index":0,"sequence_number":12,"text":"12 + 12 equals 24."} event: response.content_part.done - data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_08d32dac7cf0071d0069e107c690188197adc473b464624937","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_01787d6f14551894006a01eb3ad790819486f243f3cac61bbf","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + 12 equals 24."},"sequence_number":13} event: response.output_item.done - data: {"type":"response.output_item.done","item":{"id":"msg_08d32dac7cf0071d0069e107c690188197adc473b464624937","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + data: {"type":"response.output_item.done","item":{"id":"msg_01787d6f14551894006a01eb3ad790819486f243f3cac61bbf","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + 12 equals 24."}],"role":"assistant"},"output_index":0,"sequence_number":14} event: response.completed - data: {"type":"response.completed","response":{"id":"resp_08d32dac7cf0071d0069e107c625d8819783efc5c2eb477c76","object":"response","created_at":1776355270,"status":"completed","background":false,"completed_at":1776355270,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[{"id":"msg_08d32dac7cf0071d0069e107c690188197adc473b464624937","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 - + 12 equals 24."}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":14,"input_tokens_details":{"cached_tokens":0},"output_tokens":9,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":23},"user":null,"metadata":{}},"sequence_number":15} + data: {"type":"response.completed","response":{"id":"resp_01787d6f14551894006a01eb3a05248194a709cb518601f889","object":"response","created_at":1778510650,"status":"completed","background":false,"completed_at":1778510650,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[{"id":"msg_01787d6f14551894006a01eb3ad790819486f243f3cac61bbf","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + + 12 equals 24."}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":14,"input_tokens_details":{"cached_tokens":0},"output_tokens":9,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":23},"user":null,"metadata":{}},"sequence_number":15} ' headers: - CF-RAY: - - 9ed468360f1339de-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f5ca3b4d7091-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:01:10 GMT + - Mon, 11 May 2026 14:44:10 GMT Server: - cloudflare Strict-Transport-Security: @@ -142,24 +144,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC openai-organization: - braintrust-data openai-processing-ms: - - '80' + - '307' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=5oxjbuOsLTIc07ke8l00ChDd.AibPZgJ7GixWczloFU-1776355270.0902832-1.0.1.1-4lc80tXohy_rr9Qho4T3hD_hHZJT.IVgp5g5J9ykfkMVyYRxOoa_9O1uSrUOjqby85F9S8CeoKyeCCH4xf7QP0PX_fdQYrVderozlJCyigCDu5o1FPrmBLZra1HXHK2i; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:10 GMT + - __cf_bm=WHuoOShDfjzW6g.me2KVd_p4c4sUbCBn3hqTBtb2t6w-1778510649.9610507-1.0.1.1-kKCSkZOZfgnPoiQhtfb3byEb42NXkJBiAQXiQvT8QSORPEql1Ms6KIQJ9Om5jUguiR2OZRBGJyKbuzk_cqxdmmiIN48meK2VZ3ritQa.3UZCYzAw2KAJoTvWqqFwMJGm; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:14:10 GMT x-request-id: - - req_2c626f28f9f942fc944848a2b083edef + - req_ca68f342b70f4b8d9495a4117e0ad6d4 status: code: 200 message: OK @@ -179,7 +181,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -189,13 +191,13 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Raw-Response: - 'true' X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -206,98 +208,100 @@ interactions: body: string: 'event: response.created - data: {"type":"response.created","response":{"id":"resp_07aed661b39642d00069e107c726c8819db2ec54f1611becc7","object":"response","created_at":1776355271,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} + data: {"type":"response.created","response":{"id":"resp_06efcf3d57a46228006a01eb3b5924819c80cb8e2b7a59759d","object":"response","created_at":1778510651,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} event: response.in_progress - data: {"type":"response.in_progress","response":{"id":"resp_07aed661b39642d00069e107c726c8819db2ec54f1611becc7","object":"response","created_at":1776355271,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} + data: {"type":"response.in_progress","response":{"id":"resp_06efcf3d57a46228006a01eb3b5924819c80cb8e2b7a59759d","object":"response","created_at":1778510651,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} event: response.output_item.added - data: {"type":"response.output_item.added","item":{"id":"msg_07aed661b39642d00069e107c7f154819db4e443a67a2b5fc9","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} + data: {"type":"response.output_item.added","item":{"id":"msg_06efcf3d57a46228006a01eb3c0504819c97928c6aeb15569d","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} event: response.content_part.added - data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_07aed661b39642d00069e107c7f154819db4e443a67a2b5fc9","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} + data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_06efcf3d57a46228006a01eb3c0504819c97928c6aeb15569d","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_07aed661b39642d00069e107c7f154819db4e443a67a2b5fc9","logprobs":[],"obfuscation":"0L583ysuUdw8qb","output_index":0,"sequence_number":4} + data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_06efcf3d57a46228006a01eb3c0504819c97928c6aeb15569d","logprobs":[],"obfuscation":"gWZbPWpVPkOgz8","output_index":0,"sequence_number":4} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" +","item_id":"msg_07aed661b39642d00069e107c7f154819db4e443a67a2b5fc9","logprobs":[],"obfuscation":"gONcffEaCoD4Uu","output_index":0,"sequence_number":5} + data: {"type":"response.output_text.delta","content_index":0,"delta":" +","item_id":"msg_06efcf3d57a46228006a01eb3c0504819c97928c6aeb15569d","logprobs":[],"obfuscation":"QPd5ETS76ElgZF","output_index":0,"sequence_number":5} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_07aed661b39642d00069e107c7f154819db4e443a67a2b5fc9","logprobs":[],"obfuscation":"7S6zXZcf2L4Bxlv","output_index":0,"sequence_number":6} + data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_06efcf3d57a46228006a01eb3c0504819c97928c6aeb15569d","logprobs":[],"obfuscation":"ZOhHTO05D7SN2UA","output_index":0,"sequence_number":6} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_07aed661b39642d00069e107c7f154819db4e443a67a2b5fc9","logprobs":[],"obfuscation":"rZnV2lXEYmi4ct","output_index":0,"sequence_number":7} + data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_06efcf3d57a46228006a01eb3c0504819c97928c6aeb15569d","logprobs":[],"obfuscation":"vdkDvNgg0AIhBF","output_index":0,"sequence_number":7} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" equals","item_id":"msg_07aed661b39642d00069e107c7f154819db4e443a67a2b5fc9","logprobs":[],"obfuscation":"ayq2y9QFo","output_index":0,"sequence_number":8} + data: {"type":"response.output_text.delta","content_index":0,"delta":" equals","item_id":"msg_06efcf3d57a46228006a01eb3c0504819c97928c6aeb15569d","logprobs":[],"obfuscation":"yDhN1p4jJ","output_index":0,"sequence_number":8} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_07aed661b39642d00069e107c7f154819db4e443a67a2b5fc9","logprobs":[],"obfuscation":"RfkSn74xjWcZSLd","output_index":0,"sequence_number":9} + data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_06efcf3d57a46228006a01eb3c0504819c97928c6aeb15569d","logprobs":[],"obfuscation":"rfixF0nvlusk5xS","output_index":0,"sequence_number":9} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"24","item_id":"msg_07aed661b39642d00069e107c7f154819db4e443a67a2b5fc9","logprobs":[],"obfuscation":"VWEHRCSe8DfYdD","output_index":0,"sequence_number":10} + data: {"type":"response.output_text.delta","content_index":0,"delta":"24","item_id":"msg_06efcf3d57a46228006a01eb3c0504819c97928c6aeb15569d","logprobs":[],"obfuscation":"KzSjvRkq5xRqxG","output_index":0,"sequence_number":10} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_07aed661b39642d00069e107c7f154819db4e443a67a2b5fc9","logprobs":[],"obfuscation":"SxB8721ur1yZXus","output_index":0,"sequence_number":11} + data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_06efcf3d57a46228006a01eb3c0504819c97928c6aeb15569d","logprobs":[],"obfuscation":"j973w0tjKsYOUWY","output_index":0,"sequence_number":11} event: response.output_text.done - data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_07aed661b39642d00069e107c7f154819db4e443a67a2b5fc9","logprobs":[],"output_index":0,"sequence_number":12,"text":"12 + data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_06efcf3d57a46228006a01eb3c0504819c97928c6aeb15569d","logprobs":[],"output_index":0,"sequence_number":12,"text":"12 + 12 equals 24."} event: response.content_part.done - data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_07aed661b39642d00069e107c7f154819db4e443a67a2b5fc9","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_06efcf3d57a46228006a01eb3c0504819c97928c6aeb15569d","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + 12 equals 24."},"sequence_number":13} event: response.output_item.done - data: {"type":"response.output_item.done","item":{"id":"msg_07aed661b39642d00069e107c7f154819db4e443a67a2b5fc9","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + data: {"type":"response.output_item.done","item":{"id":"msg_06efcf3d57a46228006a01eb3c0504819c97928c6aeb15569d","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + 12 equals 24."}],"role":"assistant"},"output_index":0,"sequence_number":14} event: response.completed - data: {"type":"response.completed","response":{"id":"resp_07aed661b39642d00069e107c726c8819db2ec54f1611becc7","object":"response","created_at":1776355271,"status":"completed","background":false,"completed_at":1776355272,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[{"id":"msg_07aed661b39642d00069e107c7f154819db4e443a67a2b5fc9","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 - + 12 equals 24."}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":14,"input_tokens_details":{"cached_tokens":0},"output_tokens":9,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":23},"user":null,"metadata":{}},"sequence_number":15} + data: {"type":"response.completed","response":{"id":"resp_06efcf3d57a46228006a01eb3b5924819c80cb8e2b7a59759d","object":"response","created_at":1778510651,"status":"completed","background":false,"completed_at":1778510652,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[{"id":"msg_06efcf3d57a46228006a01eb3c0504819c97928c6aeb15569d","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + + 12 equals 24."}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":14,"input_tokens_details":{"cached_tokens":0},"output_tokens":9,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":23},"user":null,"metadata":{}},"sequence_number":15} ' headers: - CF-RAY: - - 9ed4683c782e5383-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f5d1ef31aaf8-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:01:11 GMT + - Mon, 11 May 2026 14:44:11 GMT Server: - cloudflare Strict-Transport-Security: @@ -306,24 +310,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC openai-organization: - braintrust-data openai-processing-ms: - - '44' + - '272' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=NgsKK8Wc2NXBJm.YAp1dDZ_UPx4CjmDkI5VmlEYeQZQ-1776355271.1130967-1.0.1.1-WAOpEOQ3LfWQpG8TFzMcsW60x2dmbzDPK9fmKCYRvSN7mbu09GKPFANrFyQzRdGRyf309l.M.7A1RmwsEjCXkdVy7aexd0cWdFAzAYeix0rndI3_WPtQ7BbiOyWZz8kH; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:11 GMT + - __cf_bm=w4YiRT6C2B1XEVZh203tQ5Q_ANyN2zodozG1umj9kik-1778510651.1891317-1.0.1.1-83JGd2JXpSkTPI3hVafwT2TAr0iKJHdc3yWI1k6wRcj7uzlU1U_YcGzp4HmDmN8kl.wXY0wYlCQf3izn7kly5a3gmdvESvNF.W3xqshRYS73xOnAYMXz7lFcc79UAZf5; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:14:11 GMT x-request-id: - - req_981a01db2f7f4f139d913273f2bb51df + - req_c9b66e52a99d40a9b2eb575a9f5a7c5a status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_with_raw_response_create_stream_async.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_with_raw_response_create_stream_async.yaml index 94ef7c91..85c3c2e9 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_with_raw_response_create_stream_async.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_with_raw_response_create_stream_async.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,13 +25,13 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Raw-Response: - 'true' X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -42,98 +42,100 @@ interactions: body: string: 'event: response.created - data: {"type":"response.created","response":{"id":"resp_05507fdd705700d90069e107ce5b288190b5a7dca288977d02","object":"response","created_at":1776355278,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} + data: {"type":"response.created","response":{"id":"resp_02ddba2bf52d52ee006a01eb46402481a299be144b2824f360","object":"response","created_at":1778510662,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} event: response.in_progress - data: {"type":"response.in_progress","response":{"id":"resp_05507fdd705700d90069e107ce5b288190b5a7dca288977d02","object":"response","created_at":1776355278,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} + data: {"type":"response.in_progress","response":{"id":"resp_02ddba2bf52d52ee006a01eb46402481a299be144b2824f360","object":"response","created_at":1778510662,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} event: response.output_item.added - data: {"type":"response.output_item.added","item":{"id":"msg_05507fdd705700d90069e107ceb29c81909d8f9f63493d982e","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} + data: {"type":"response.output_item.added","item":{"id":"msg_02ddba2bf52d52ee006a01eb46c8a481a2a87b7d3cb524040f","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} event: response.content_part.added - data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_05507fdd705700d90069e107ceb29c81909d8f9f63493d982e","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} + data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_02ddba2bf52d52ee006a01eb46c8a481a2a87b7d3cb524040f","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_05507fdd705700d90069e107ceb29c81909d8f9f63493d982e","logprobs":[],"obfuscation":"n0jQEUF0uipzLW","output_index":0,"sequence_number":4} + data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_02ddba2bf52d52ee006a01eb46c8a481a2a87b7d3cb524040f","logprobs":[],"obfuscation":"fG4IZERA1v4WBV","output_index":0,"sequence_number":4} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" +","item_id":"msg_05507fdd705700d90069e107ceb29c81909d8f9f63493d982e","logprobs":[],"obfuscation":"tEMRrhzG5B6nut","output_index":0,"sequence_number":5} + data: {"type":"response.output_text.delta","content_index":0,"delta":" +","item_id":"msg_02ddba2bf52d52ee006a01eb46c8a481a2a87b7d3cb524040f","logprobs":[],"obfuscation":"Dtxamh130LDiHT","output_index":0,"sequence_number":5} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_05507fdd705700d90069e107ceb29c81909d8f9f63493d982e","logprobs":[],"obfuscation":"wN9VnwA6KYixwtC","output_index":0,"sequence_number":6} + data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_02ddba2bf52d52ee006a01eb46c8a481a2a87b7d3cb524040f","logprobs":[],"obfuscation":"etmiKcQmbtjeLfG","output_index":0,"sequence_number":6} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_05507fdd705700d90069e107ceb29c81909d8f9f63493d982e","logprobs":[],"obfuscation":"8mooOvVOGmRoxi","output_index":0,"sequence_number":7} + data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_02ddba2bf52d52ee006a01eb46c8a481a2a87b7d3cb524040f","logprobs":[],"obfuscation":"oI1lKjobpggCRB","output_index":0,"sequence_number":7} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" equals","item_id":"msg_05507fdd705700d90069e107ceb29c81909d8f9f63493d982e","logprobs":[],"obfuscation":"M76NSIQM6","output_index":0,"sequence_number":8} + data: {"type":"response.output_text.delta","content_index":0,"delta":" equals","item_id":"msg_02ddba2bf52d52ee006a01eb46c8a481a2a87b7d3cb524040f","logprobs":[],"obfuscation":"gawmIkZXE","output_index":0,"sequence_number":8} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_05507fdd705700d90069e107ceb29c81909d8f9f63493d982e","logprobs":[],"obfuscation":"oojS9garogaW9zD","output_index":0,"sequence_number":9} + data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_02ddba2bf52d52ee006a01eb46c8a481a2a87b7d3cb524040f","logprobs":[],"obfuscation":"oJTuAkDnhfinCy4","output_index":0,"sequence_number":9} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"24","item_id":"msg_05507fdd705700d90069e107ceb29c81909d8f9f63493d982e","logprobs":[],"obfuscation":"W9L09rm0GIoz62","output_index":0,"sequence_number":10} + data: {"type":"response.output_text.delta","content_index":0,"delta":"24","item_id":"msg_02ddba2bf52d52ee006a01eb46c8a481a2a87b7d3cb524040f","logprobs":[],"obfuscation":"eNGpXwNvykeuYl","output_index":0,"sequence_number":10} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_05507fdd705700d90069e107ceb29c81909d8f9f63493d982e","logprobs":[],"obfuscation":"zLZMbDpVqRyO2uV","output_index":0,"sequence_number":11} + data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_02ddba2bf52d52ee006a01eb46c8a481a2a87b7d3cb524040f","logprobs":[],"obfuscation":"taoWoLEnmvGHqgL","output_index":0,"sequence_number":11} event: response.output_text.done - data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_05507fdd705700d90069e107ceb29c81909d8f9f63493d982e","logprobs":[],"output_index":0,"sequence_number":12,"text":"12 + data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_02ddba2bf52d52ee006a01eb46c8a481a2a87b7d3cb524040f","logprobs":[],"output_index":0,"sequence_number":12,"text":"12 + 12 equals 24."} event: response.content_part.done - data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_05507fdd705700d90069e107ceb29c81909d8f9f63493d982e","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_02ddba2bf52d52ee006a01eb46c8a481a2a87b7d3cb524040f","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + 12 equals 24."},"sequence_number":13} event: response.output_item.done - data: {"type":"response.output_item.done","item":{"id":"msg_05507fdd705700d90069e107ceb29c81909d8f9f63493d982e","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + data: {"type":"response.output_item.done","item":{"id":"msg_02ddba2bf52d52ee006a01eb46c8a481a2a87b7d3cb524040f","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + 12 equals 24."}],"role":"assistant"},"output_index":0,"sequence_number":14} event: response.completed - data: {"type":"response.completed","response":{"id":"resp_05507fdd705700d90069e107ce5b288190b5a7dca288977d02","object":"response","created_at":1776355278,"status":"completed","background":false,"completed_at":1776355278,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[{"id":"msg_05507fdd705700d90069e107ceb29c81909d8f9f63493d982e","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 - + 12 equals 24."}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":14,"input_tokens_details":{"cached_tokens":0},"output_tokens":9,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":23},"user":null,"metadata":{}},"sequence_number":15} + data: {"type":"response.completed","response":{"id":"resp_02ddba2bf52d52ee006a01eb46402481a299be144b2824f360","object":"response","created_at":1778510662,"status":"completed","background":false,"completed_at":1778510662,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[{"id":"msg_02ddba2bf52d52ee006a01eb46c8a481a2a87b7d3cb524040f","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + + 12 equals 24."}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":14,"input_tokens_details":{"cached_tokens":0},"output_tokens":9,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":23},"user":null,"metadata":{}},"sequence_number":15} ' headers: - CF-RAY: - - 9ed468696d04ac64-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f6169f93ab10-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:01:18 GMT + - Mon, 11 May 2026 14:44:22 GMT Server: - cloudflare Strict-Transport-Security: @@ -142,24 +144,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC openai-organization: - braintrust-data openai-processing-ms: - - '73' + - '188' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=Wgjr35WIbDlOu4uNt1wBAtHjPe.fHsa1P.O0mdnyWMQ-1776355278.3028333-1.0.1.1-kNOWmRGq1ugeV3MQuS2UphBM12BZ9J0q9sUFYamyS5F6KzbHDPQJDP2AY4C5_RvJgAErVlCreC.HhxRq6iODd9jToxvA.1GivmSmUwPuKWdNRBcBwwnegVVMtWYOvwIV; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:18 GMT + - __cf_bm=2DUcPJO9QtRDSDj2ejLthc2CLlO1mL93nb9q84l0kCU-1778510662.1808774-1.0.1.1-TFCiHBokzDP7CbpyP4Tmi1C0Qq9dhC34wApIN7Cm5aAKmwVr2G7f43uWxvR9eIY_VgGy9NUr4PljHbIBAMasvxdRHCGp5WYj_3gzI3KMnq71jeymc9xDJqc4iA1KCOgl; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:14:22 GMT x-request-id: - - req_2e5d9317ec644cea8e371443abb862ba + - req_4731a3a096ec44bc810f0db6f3c4c518 status: code: 200 message: OK @@ -179,7 +181,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -189,13 +191,13 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Raw-Response: - 'true' X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -206,98 +208,100 @@ interactions: body: string: 'event: response.created - data: {"type":"response.created","response":{"id":"resp_06815e6695b4133b0069e107cf1f1881968365132571c8287c","object":"response","created_at":1776355279,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} + data: {"type":"response.created","response":{"id":"resp_02c471346eea381a006a01eb4879988194b04b47c640c43025","object":"response","created_at":1778510664,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} event: response.in_progress - data: {"type":"response.in_progress","response":{"id":"resp_06815e6695b4133b0069e107cf1f1881968365132571c8287c","object":"response","created_at":1776355279,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} + data: {"type":"response.in_progress","response":{"id":"resp_02c471346eea381a006a01eb4879988194b04b47c640c43025","object":"response","created_at":1778510664,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} event: response.output_item.added - data: {"type":"response.output_item.added","item":{"id":"msg_06815e6695b4133b0069e107cf89a88196a8d579bbdb18839a","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} + data: {"type":"response.output_item.added","item":{"id":"msg_02c471346eea381a006a01eb48f4e881949c69a6aad000c51c","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} event: response.content_part.added - data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_06815e6695b4133b0069e107cf89a88196a8d579bbdb18839a","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} + data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_02c471346eea381a006a01eb48f4e881949c69a6aad000c51c","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_06815e6695b4133b0069e107cf89a88196a8d579bbdb18839a","logprobs":[],"obfuscation":"n08IETYZbysqCH","output_index":0,"sequence_number":4} + data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_02c471346eea381a006a01eb48f4e881949c69a6aad000c51c","logprobs":[],"obfuscation":"miOBJzVyiatNB1","output_index":0,"sequence_number":4} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" +","item_id":"msg_06815e6695b4133b0069e107cf89a88196a8d579bbdb18839a","logprobs":[],"obfuscation":"ux0ZtHXKhxyOot","output_index":0,"sequence_number":5} + data: {"type":"response.output_text.delta","content_index":0,"delta":" +","item_id":"msg_02c471346eea381a006a01eb48f4e881949c69a6aad000c51c","logprobs":[],"obfuscation":"WrSqVnSPygWqDf","output_index":0,"sequence_number":5} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_06815e6695b4133b0069e107cf89a88196a8d579bbdb18839a","logprobs":[],"obfuscation":"bmcjUsUn8hTKJIF","output_index":0,"sequence_number":6} + data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_02c471346eea381a006a01eb48f4e881949c69a6aad000c51c","logprobs":[],"obfuscation":"M6PsoVo7INuJAQq","output_index":0,"sequence_number":6} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_06815e6695b4133b0069e107cf89a88196a8d579bbdb18839a","logprobs":[],"obfuscation":"YV49Xeb0JbRyFO","output_index":0,"sequence_number":7} + data: {"type":"response.output_text.delta","content_index":0,"delta":"12","item_id":"msg_02c471346eea381a006a01eb48f4e881949c69a6aad000c51c","logprobs":[],"obfuscation":"lARjrJJo4s3dB0","output_index":0,"sequence_number":7} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" equals","item_id":"msg_06815e6695b4133b0069e107cf89a88196a8d579bbdb18839a","logprobs":[],"obfuscation":"NqnFiP4oo","output_index":0,"sequence_number":8} + data: {"type":"response.output_text.delta","content_index":0,"delta":" equals","item_id":"msg_02c471346eea381a006a01eb48f4e881949c69a6aad000c51c","logprobs":[],"obfuscation":"rFcE5VPAo","output_index":0,"sequence_number":8} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_06815e6695b4133b0069e107cf89a88196a8d579bbdb18839a","logprobs":[],"obfuscation":"4Wj74AfsXpMXOZ2","output_index":0,"sequence_number":9} + data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_02c471346eea381a006a01eb48f4e881949c69a6aad000c51c","logprobs":[],"obfuscation":"bQoNGQTtr4icKeR","output_index":0,"sequence_number":9} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":"24","item_id":"msg_06815e6695b4133b0069e107cf89a88196a8d579bbdb18839a","logprobs":[],"obfuscation":"7oYsIFXPJOlzuC","output_index":0,"sequence_number":10} + data: {"type":"response.output_text.delta","content_index":0,"delta":"24","item_id":"msg_02c471346eea381a006a01eb48f4e881949c69a6aad000c51c","logprobs":[],"obfuscation":"89GXhn2kHUYIQm","output_index":0,"sequence_number":10} event: response.output_text.delta - data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_06815e6695b4133b0069e107cf89a88196a8d579bbdb18839a","logprobs":[],"obfuscation":"XCivnogampREh4Y","output_index":0,"sequence_number":11} + data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_02c471346eea381a006a01eb48f4e881949c69a6aad000c51c","logprobs":[],"obfuscation":"P9MAheHsq7BIteP","output_index":0,"sequence_number":11} event: response.output_text.done - data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_06815e6695b4133b0069e107cf89a88196a8d579bbdb18839a","logprobs":[],"output_index":0,"sequence_number":12,"text":"12 + data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_02c471346eea381a006a01eb48f4e881949c69a6aad000c51c","logprobs":[],"output_index":0,"sequence_number":12,"text":"12 + 12 equals 24."} event: response.content_part.done - data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_06815e6695b4133b0069e107cf89a88196a8d579bbdb18839a","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_02c471346eea381a006a01eb48f4e881949c69a6aad000c51c","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + 12 equals 24."},"sequence_number":13} event: response.output_item.done - data: {"type":"response.output_item.done","item":{"id":"msg_06815e6695b4133b0069e107cf89a88196a8d579bbdb18839a","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + data: {"type":"response.output_item.done","item":{"id":"msg_02c471346eea381a006a01eb48f4e881949c69a6aad000c51c","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + 12 equals 24."}],"role":"assistant"},"output_index":0,"sequence_number":14} event: response.completed - data: {"type":"response.completed","response":{"id":"resp_06815e6695b4133b0069e107cf1f1881968365132571c8287c","object":"response","created_at":1776355279,"status":"completed","background":false,"completed_at":1776355279,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","output":[{"id":"msg_06815e6695b4133b0069e107cf89a88196a8d579bbdb18839a","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 - + 12 equals 24."}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":14,"input_tokens_details":{"cached_tokens":0},"output_tokens":9,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":23},"user":null,"metadata":{}},"sequence_number":15} + data: {"type":"response.completed","response":{"id":"resp_02c471346eea381a006a01eb4879988194b04b47c640c43025","object":"response","created_at":1778510664,"status":"completed","background":false,"completed_at":1778510665,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[{"id":"msg_02c471346eea381a006a01eb48f4e881949c69a6aad000c51c","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"12 + + 12 equals 24."}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":14,"input_tokens_details":{"cached_tokens":0},"output_tokens":9,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":23},"user":null,"metadata":{}},"sequence_number":15} ' headers: - CF-RAY: - - 9ed4686e39bcaaee-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f6248842aa71-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:01:19 GMT + - Mon, 11 May 2026 14:44:24 GMT Server: - cloudflare Strict-Transport-Security: @@ -306,24 +310,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC openai-organization: - braintrust-data openai-processing-ms: - - '88' + - '139' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=NotDXIBQGQEhcAh.RAxLkNShied71OMXimacQIxUhdI-1776355279.0802526-1.0.1.1-OxCuKXZUZN3Dmhnch7rYFWTg5snbvppFYr0WDKVdmllPDj105fVi1.BncxcufHR1YAWMXeoHaBMwg8i0zag_LqVrKOxbAUj6UaH49mpxavf0ZVmXUz9IUlFrzajGeP4J; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:19 GMT + - __cf_bm=mFkJX1.1VROEROaEID5wEYwzjSQGPE8haeikQkdUcKg-1778510664.4051487-1.0.1.1-Pt3uw7D_fN3s5KcJAd81hv0qALn17u1FV0d3tZVrq.GHJdcGRlM0oAdonGhDkqfwWQgHBwMEQYkArx6UHu7J3z_u25cdNkKdKKUXerMgwJKz.Ec1pK6xhluZDw3Y6H..; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:14:24 GMT x-request-id: - - req_32d74ac7dd824ee1ac7663ad8698ce6d + - req_b86c51525c2b4b638b61e6f35f177aec status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_with_raw_response_parse.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_with_raw_response_parse.yaml index bfbfe8e5..67e386e6 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_with_raw_response_parse.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_responses_with_raw_response_parse.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,13 +25,13 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Raw-Response: - 'true' X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -40,45 +40,48 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_0951875a4481bea60069e107c846d0819f93d585de961d93a5\",\n - \ \"object\": \"response\",\n \"created_at\": 1776355272,\n \"status\": + string: "{\n \"id\": \"resp_02a27612f140fb72006a01eb3cb8b8819c8055ea2379b92ce5\",\n + \ \"object\": \"response\",\n \"created_at\": 1778510652,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1776355273,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778510654,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": null,\n \"max_output_tokens\": null,\n \"max_tool_calls\": null,\n \"model\": - \"gpt-4o-mini-2024-07-18\",\n \"output\": [\n {\n \"id\": \"msg_0951875a4481bea60069e107c8bee8819fa5eaf09d2abb2314\",\n + \"gpt-4o-mini-2024-07-18\",\n \"moderation\": null,\n \"output\": [\n {\n + \ \"id\": \"msg_02a27612f140fb72006a01eb3e9ab0819c8e2c8f337a6afff5\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": - [],\n \"logprobs\": [],\n \"text\": \"{\\\"value\\\":24,\\\"reasoning\\\":\\\"12 - plus 12 equals 24 because when you add two identical numbers, the result is - double that number.\\\"}\"\n }\n ],\n \"role\": \"assistant\"\n + [],\n \"logprobs\": [],\n \"text\": \"{\\\"value\\\":24,\\\"reasoning\\\":\\\"Adding + 12 and 12 gives you 24.\\\"}\"\n }\n ],\n \"role\": \"assistant\"\n \ }\n ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": 0.0,\n \ \"previous_response_id\": null,\n \"prompt_cache_key\": null,\n \"prompt_cache_retention\": - null,\n \"reasoning\": {\n \"effort\": null,\n \"summary\": null\n - \ },\n \"safety_identifier\": null,\n \"service_tier\": \"default\",\n \"store\": - true,\n \"temperature\": 1.0,\n \"text\": {\n \"format\": {\n \"type\": - \"json_schema\",\n \"description\": null,\n \"name\": \"NumberAnswer\",\n - \ \"schema\": {\n \"properties\": {\n \"value\": {\n \"title\": - \"Value\",\n \"type\": \"integer\"\n },\n \"reasoning\": - {\n \"title\": \"Reasoning\",\n \"type\": \"string\"\n - \ }\n },\n \"required\": [\n \"value\",\n \"reasoning\"\n - \ ],\n \"title\": \"NumberAnswer\",\n \"type\": \"object\",\n - \ \"additionalProperties\": false\n },\n \"strict\": true\n - \ },\n \"verbosity\": \"medium\"\n },\n \"tool_choice\": \"auto\",\n - \ \"tools\": [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": - \"disabled\",\n \"usage\": {\n \"input_tokens\": 59,\n \"input_tokens_details\": - {\n \"cached_tokens\": 0\n },\n \"output_tokens\": 32,\n \"output_tokens_details\": - {\n \"reasoning_tokens\": 0\n },\n \"total_tokens\": 91\n },\n - \ \"user\": null,\n \"metadata\": {}\n}" + \"in_memory\",\n \"reasoning\": {\n \"effort\": null,\n \"summary\": + null\n },\n \"safety_identifier\": null,\n \"service_tier\": \"default\",\n + \ \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n \"format\": + {\n \"type\": \"json_schema\",\n \"description\": null,\n \"name\": + \"NumberAnswer\",\n \"schema\": {\n \"properties\": {\n \"value\": + {\n \"title\": \"Value\",\n \"type\": \"integer\"\n + \ },\n \"reasoning\": {\n \"title\": \"Reasoning\",\n + \ \"type\": \"string\"\n }\n },\n \"required\": + [\n \"value\",\n \"reasoning\"\n ],\n \"title\": + \"NumberAnswer\",\n \"type\": \"object\",\n \"additionalProperties\": + false\n },\n \"strict\": true\n },\n \"verbosity\": \"medium\"\n + \ },\n \"tool_choice\": \"auto\",\n \"tools\": [],\n \"top_logprobs\": + 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n \"usage\": {\n \"input_tokens\": + 59,\n \"input_tokens_details\": {\n \"cached_tokens\": 0\n },\n + \ \"output_tokens\": 21,\n \"output_tokens_details\": {\n \"reasoning_tokens\": + 0\n },\n \"total_tokens\": 80\n },\n \"user\": null,\n \"metadata\": + {}\n}" headers: - CF-RAY: - - 9ed468438f6361e9-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f5db28ee0c26-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:01:14 GMT + - Mon, 11 May 2026 14:44:15 GMT Server: - cloudflare Strict-Transport-Security: @@ -87,24 +90,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '2172' + - '2133' openai-organization: - braintrust-data openai-processing-ms: - - '1959' + - '2447' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=7krvzQiAufOP4jtwS5LJkEQmq8IDtZQuqYCcqwQsOXo-1776355272.2433636-1.0.1.1-aKaVeQCWWiuiNoYVLfI7d_y.zcCpwru_xIzSUUBOBkmO_vHBx3DfvG3CaYEtNXLsqIc14ZKi6Hx7m3BB1IYjxaru5.WwleYR0ZkiQR5mGy9r.uQXF2CAR6AbeBUZU7hn; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:14 GMT + - __cf_bm=nLIoF8jnxJgsdr4.tY4R3siamCQL.nN3z.Il5VSj0ig-1778510652.6657481-1.0.1.1-OAWEKolu_qUzNUPOEDQ4XE5vMm63kz_MiQMIkmXG2WrtbbyNDMbJcOehXMRMwt6NgLnWGgm0MK34CTGj0Ul80i8YlYyEGGWtPBUyVMj2fg.NOOXT67GYNjvhG0lV8rkV; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:14:15 GMT x-ratelimit-limit-requests: - '30000' x-ratelimit-limit-tokens: @@ -118,7 +121,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_745230d5078740b9bff03721bcaf8e9b + - req_a45c038595d6477ca184e18be6e30b07 status: code: 200 message: OK @@ -138,7 +141,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -148,13 +151,13 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Raw-Response: - 'true' X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -163,44 +166,49 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_03264ef504f93d3a0069e107ca635481928e224143e2e80e6e\",\n - \ \"object\": \"response\",\n \"created_at\": 1776355274,\n \"status\": + string: "{\n \"id\": \"resp_0667a0d0041aebaf006a01eb3f5e808195b32b6da725a66dca\",\n + \ \"object\": \"response\",\n \"created_at\": 1778510655,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1776355275,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778510659,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": null,\n \"max_output_tokens\": null,\n \"max_tool_calls\": null,\n \"model\": - \"gpt-4o-mini-2024-07-18\",\n \"output\": [\n {\n \"id\": \"msg_03264ef504f93d3a0069e107cad82881928e077e5b755679d3\",\n + \"gpt-4o-mini-2024-07-18\",\n \"moderation\": null,\n \"output\": [\n {\n + \ \"id\": \"msg_0667a0d0041aebaf006a01eb4094f08195a6c3e4ae66c8fcdf\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": - [],\n \"logprobs\": [],\n \"text\": \"{\\\"value\\\":24,\\\"reasoning\\\":\\\"Adding - 12 and 12 together gives a total of 24.\\\"}\"\n }\n ],\n \"role\": + [],\n \"logprobs\": [],\n \"text\": \"{\\\"value\\\":24,\\\"reasoning\\\":\\\"When + you add 12 and 12 together, you combine the two quantities. This can be calculated + straightforwardly: 12 + 12 = 24.\\\"}\"\n }\n ],\n \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": null,\n \"prompt_cache_retention\": - null,\n \"reasoning\": {\n \"effort\": null,\n \"summary\": null\n - \ },\n \"safety_identifier\": null,\n \"service_tier\": \"default\",\n \"store\": - true,\n \"temperature\": 1.0,\n \"text\": {\n \"format\": {\n \"type\": - \"json_schema\",\n \"description\": null,\n \"name\": \"NumberAnswer\",\n - \ \"schema\": {\n \"properties\": {\n \"value\": {\n \"title\": - \"Value\",\n \"type\": \"integer\"\n },\n \"reasoning\": - {\n \"title\": \"Reasoning\",\n \"type\": \"string\"\n - \ }\n },\n \"required\": [\n \"value\",\n \"reasoning\"\n - \ ],\n \"title\": \"NumberAnswer\",\n \"type\": \"object\",\n - \ \"additionalProperties\": false\n },\n \"strict\": true\n - \ },\n \"verbosity\": \"medium\"\n },\n \"tool_choice\": \"auto\",\n - \ \"tools\": [],\n \"top_logprobs\": 0,\n \"top_p\": 1.0,\n \"truncation\": - \"disabled\",\n \"usage\": {\n \"input_tokens\": 59,\n \"input_tokens_details\": - {\n \"cached_tokens\": 0\n },\n \"output_tokens\": 24,\n \"output_tokens_details\": - {\n \"reasoning_tokens\": 0\n },\n \"total_tokens\": 83\n },\n - \ \"user\": null,\n \"metadata\": {}\n}" + \"in_memory\",\n \"reasoning\": {\n \"effort\": null,\n \"summary\": + null\n },\n \"safety_identifier\": null,\n \"service_tier\": \"default\",\n + \ \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n \"format\": + {\n \"type\": \"json_schema\",\n \"description\": null,\n \"name\": + \"NumberAnswer\",\n \"schema\": {\n \"properties\": {\n \"value\": + {\n \"title\": \"Value\",\n \"type\": \"integer\"\n + \ },\n \"reasoning\": {\n \"title\": \"Reasoning\",\n + \ \"type\": \"string\"\n }\n },\n \"required\": + [\n \"value\",\n \"reasoning\"\n ],\n \"title\": + \"NumberAnswer\",\n \"type\": \"object\",\n \"additionalProperties\": + false\n },\n \"strict\": true\n },\n \"verbosity\": \"medium\"\n + \ },\n \"tool_choice\": \"auto\",\n \"tools\": [],\n \"top_logprobs\": + 0,\n \"top_p\": 1.0,\n \"truncation\": \"disabled\",\n \"usage\": {\n \"input_tokens\": + 59,\n \"input_tokens_details\": {\n \"cached_tokens\": 0\n },\n + \ \"output_tokens\": 42,\n \"output_tokens_details\": {\n \"reasoning_tokens\": + 0\n },\n \"total_tokens\": 101\n },\n \"user\": null,\n \"metadata\": + {}\n}" headers: - CF-RAY: - - 9ed468509cbf813d-YYZ + CF-Cache-Status: + - DYNAMIC + CF-Ray: + - 9fa1f5eb9a25b405-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:01:15 GMT + - Mon, 11 May 2026 14:44:19 GMT Server: - cloudflare Strict-Transport-Security: @@ -209,24 +217,24 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC content-length: - - '2120' + - '2224' openai-organization: - braintrust-data openai-processing-ms: - - '1132' + - '3864' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=xnOy589rhhYepqvsR_heBfTYbttGzfpn9WmtRdmICE0-1776355274.3340774-1.0.1.1-euE2fmXUXTOlTyKeaeMkt4TcuiS3jt8OAo2PAiG8gMOHfyWYVxuM6jAbxkoQovK3El.iE6TY5ybcNq05T5SQAc1V6D5AVSwbhwxPlK_iNxi49Z48_JmponTUMnPEmpYo; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:31:15 GMT + - __cf_bm=c4Qjr3uQtryxuuBzjZMMKBgy4sGOtxyn3nFWPwe8q2E-1778510655.299081-1.0.1.1-uN3PFZpj9iPeQPGojg0YaEF4YGSRLDbFL1uBbVti05Wk.N8gTq1m8Fy.ennwaf9pJhSRkjVeqxzS8GIFy9ssMokjWGdySG_vf0_.Ye4irAslTZzKlSoxC5aWL.85wipq; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:14:19 GMT x-ratelimit-limit-requests: - '30000' x-ratelimit-limit-tokens: @@ -240,7 +248,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_f235dd1901c64ca0b34252f05ea32329 + - req_b8ace1e653174d73ac84f4262bcc0783 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_streaming_with_break.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_streaming_with_break.yaml index 7f5c3f43..fe2d818c 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_streaming_with_break.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_streaming_with_break.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,11 +25,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -38,38 +38,38 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DVJRBG2EgBIFv0YJd7zlAdk3dXBkR","object":"chat.completion.chunk","created":1776355257,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"obfuscation":"k3kJ1U"} + string: 'data: {"id":"chatcmpl-DeM9GrT9zBvZNXITkFfB36GqjUpDU","object":"chat.completion.chunk","created":1778510630,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"obfuscation":"8QQF13"} - data: {"id":"chatcmpl-DVJRBG2EgBIFv0YJd7zlAdk3dXBkR","object":"chat.completion.chunk","created":1776355257,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"obfuscation":"3NeiJg"} + data: {"id":"chatcmpl-DeM9GrT9zBvZNXITkFfB36GqjUpDU","object":"chat.completion.chunk","created":1778510630,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"obfuscation":"T9cHl9"} - data: {"id":"chatcmpl-DVJRBG2EgBIFv0YJd7zlAdk3dXBkR","object":"chat.completion.chunk","created":1776355257,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - +"},"logprobs":null,"finish_reason":null}],"obfuscation":"tE5JQl"} + data: {"id":"chatcmpl-DeM9GrT9zBvZNXITkFfB36GqjUpDU","object":"chat.completion.chunk","created":1778510630,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + +"},"logprobs":null,"finish_reason":null}],"obfuscation":"e1Yy5N"} - data: {"id":"chatcmpl-DVJRBG2EgBIFv0YJd7zlAdk3dXBkR","object":"chat.completion.chunk","created":1776355257,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"obfuscation":"9ThZbHN"} + data: {"id":"chatcmpl-DeM9GrT9zBvZNXITkFfB36GqjUpDU","object":"chat.completion.chunk","created":1778510630,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"obfuscation":"bFrfLcL"} - data: {"id":"chatcmpl-DVJRBG2EgBIFv0YJd7zlAdk3dXBkR","object":"chat.completion.chunk","created":1776355257,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"obfuscation":"rCH9Jl"} + data: {"id":"chatcmpl-DeM9GrT9zBvZNXITkFfB36GqjUpDU","object":"chat.completion.chunk","created":1778510630,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"12"},"logprobs":null,"finish_reason":null}],"obfuscation":"3Xl15q"} - data: {"id":"chatcmpl-DVJRBG2EgBIFv0YJd7zlAdk3dXBkR","object":"chat.completion.chunk","created":1776355257,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - equals"},"logprobs":null,"finish_reason":null}],"obfuscation":"S"} + data: {"id":"chatcmpl-DeM9GrT9zBvZNXITkFfB36GqjUpDU","object":"chat.completion.chunk","created":1778510630,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + equals"},"logprobs":null,"finish_reason":null}],"obfuscation":"W"} - data: {"id":"chatcmpl-DVJRBG2EgBIFv0YJd7zlAdk3dXBkR","object":"chat.completion.chunk","created":1776355257,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"obfuscation":"i93RCxN"} + data: {"id":"chatcmpl-DeM9GrT9zBvZNXITkFfB36GqjUpDU","object":"chat.completion.chunk","created":1778510630,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"obfuscation":"OrOPo66"} - data: {"id":"chatcmpl-DVJRBG2EgBIFv0YJd7zlAdk3dXBkR","object":"chat.completion.chunk","created":1776355257,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"obfuscation":"YADmQ8"} + data: {"id":"chatcmpl-DeM9GrT9zBvZNXITkFfB36GqjUpDU","object":"chat.completion.chunk","created":1778510630,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"24"},"logprobs":null,"finish_reason":null}],"obfuscation":"NumEXs"} - data: {"id":"chatcmpl-DVJRBG2EgBIFv0YJd7zlAdk3dXBkR","object":"chat.completion.chunk","created":1776355257,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"obfuscation":"S9rrpc6"} + data: {"id":"chatcmpl-DeM9GrT9zBvZNXITkFfB36GqjUpDU","object":"chat.completion.chunk","created":1778510630,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"obfuscation":"BOmqLoN"} - data: {"id":"chatcmpl-DVJRBG2EgBIFv0YJd7zlAdk3dXBkR","object":"chat.completion.chunk","created":1776355257,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fe7a5277a8","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"obfuscation":"zW"} + data: {"id":"chatcmpl-DeM9GrT9zBvZNXITkFfB36GqjUpDU","object":"chat.completion.chunk","created":1778510630,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_dac1f01875","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"obfuscation":"Zx"} data: [DONE] @@ -80,13 +80,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed467e4c90fa641-YYZ + - 9fa1f54d7cc04a29-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Thu, 16 Apr 2026 16:00:57 GMT + - Mon, 11 May 2026 14:43:50 GMT Server: - cloudflare Strict-Transport-Security: @@ -102,15 +102,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '276' + - '370' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=cvvfZK4tJolduD4hzfL0ge53hi_suiXgtMUVWmdVl90-1776355257.0828478-1.0.1.1-5qoDQFxsckfCwmiXfyiZ2Khldopyz.5IGksVSVZzhYveYUaYxNIW9v0lUi1puEvJG6RtCAh3W_Z80.zpDj9gaZHRAP8OL4fNm5FMnhQHvms8LPRK6SwnP8e8IH2mQ2ed; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:30:57 GMT + - __cf_bm=G0caFGnKkRJW7SJhGN8z9LHN0yNzt2cmefrloPRaNcU-1778510629.9952874-1.0.1.1-XJzZnPQ6hOoRAm6XaZfhHOxUYK2ZD0VhMFdX9y6_sWEU76ebK3lTfDOWIW1ERN0GmnrxN_QnDY2mIfloirGYJg6YwyRuIVnhTBJ6D.P99_uHFf0tmEt4bcLVLvQd1ixk; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:13:50 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -126,7 +126,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_594a3998c33542fdb28bd7eb2d8aacf7 + - req_c7c145baff3240469e041ab7639a5452 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_unwrapped_client_no_conversion.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_unwrapped_client_no_conversion.yaml index b94d96b6..4469b0da 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_unwrapped_client_no_conversion.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openai_unwrapped_client_no_conversion.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,11 +26,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -39,28 +39,28 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DVJSi3gZnBnSDY0WYIoF9H9SjsAbM\",\n \"object\": - \"chat.completion\",\n \"created\": 1776355352,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMBS6n3bbm02LDzw3gJc4gXUOVwR\",\n \"object\": + \"chat.completion\",\n \"created\": 1778510766,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": - \"assistant\",\n \"content\": \"The color of the image is red.\",\n - \ \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": - null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": - 8513,\n \"completion_tokens\": 8,\n \"total_tokens\": 8521,\n \"prompt_tokens_details\": + \"assistant\",\n \"content\": \"The image appears to be red.\",\n \"refusal\": + null,\n \"annotations\": []\n },\n \"logprobs\": null,\n + \ \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": + 8513,\n \"completion_tokens\": 7,\n \"total_tokens\": 8520,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_4debc47fe0\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_3b264ad91d\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9ed46a373fafeff9-YYZ + - 9fa1f895fa2d3786-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:02:32 GMT + - Mon, 11 May 2026 14:46:06 GMT Server: - cloudflare Strict-Transport-Security: @@ -74,19 +74,19 @@ interactions: alt-svc: - h3=":443"; ma=86400 content-length: - - '840' + - '838' openai-organization: - braintrust-data openai-processing-ms: - - '724' + - '1100' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=fOSX7uy11ya9rL8jinWAjgrodPpTUetMK5Wq6M.VTgU-1776355352.198063-1.0.1.1-dCVetAM4Otl96S6dJiOcaPgPTgbFpy3VkSCi3GobB1dRrcwst4Y.K2BcinA1FhJY2.OmR.5e3gBCzvW3Tzm8CV5G41KF..5b5tRStINhp8ySXuzJS9EKNe6j4k4cDC5Q; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Apr 2026 - 16:32:32 GMT + - __cf_bm=NrosNk4YMGp3bT1U_lyOR_zZgcHWH06TJhb6Klx_l3w-1778510764.475302-1.0.1.1-U_OieAlbjZvu6EJ2bmQizZ_rTQozBi11YlPPBIob4RmM4hPJlvc7m5x3SwrjtPa2yHmNhna760Pnu8wQEnwNhFga3z1KM3OPyo7T1XJMWdYq4vrXryn96XUj12FTA3Gy; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:16:06 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-input-images: @@ -108,7 +108,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_77d4f9d08e58479cb91f01c08bc3401e + - req_ee1b344799a7440f8a22fc229a6740b4 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openrouter_chat_completion_async.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openrouter_chat_completion_async.yaml index b76c54ee..060d9496 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openrouter_chat_completion_async.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openrouter_chat_completion_async.yaml @@ -16,7 +16,7 @@ interactions: Host: - openrouter.ai User-Agent: - - AsyncOpenAI/Python 2.32.0 + - AsyncOpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,11 +26,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -39,18 +39,18 @@ interactions: uri: https://openrouter.ai/api/v1/chat/completions response: body: - string: "\n \n{\"id\":\"gen-1776355354-yuHO4A51pajDynJCni6Z\",\"object\":\"chat.completion\",\"created\":1776355354,\"model\":\"openai/gpt-4o-mini\",\"provider\":\"OpenAI\",\"system_fingerprint\":\"fp_3d695acdac\",\"choices\":[{\"index\":0,\"logprobs\":null,\"finish_reason\":\"stop\",\"native_finish_reason\":\"stop\",\"message\":{\"role\":\"assistant\",\"content\":\"6\",\"refusal\":null,\"reasoning\":null}}],\"usage\":{\"prompt_tokens\":20,\"completion_tokens\":1,\"total_tokens\":21,\"cost\":0.0000036,\"is_byok\":false,\"prompt_tokens_details\":{\"cached_tokens\":0,\"cache_write_tokens\":0,\"audio_tokens\":0,\"video_tokens\":0},\"cost_details\":{\"upstream_inference_cost\":0.0000036,\"upstream_inference_prompt_cost\":0.000003,\"upstream_inference_completions_cost\":6e-7},\"completion_tokens_details\":{\"reasoning_tokens\":0,\"image_tokens\":0,\"audio_tokens\":0}}}" + string: "\n \n{\"id\":\"gen-1778510768-OQstY67fJ0GZM76zHLAO\",\"object\":\"chat.completion\",\"created\":1778510768,\"model\":\"openai/gpt-4o-mini\",\"provider\":\"OpenAI\",\"system_fingerprint\":\"fp_d88f6e55bb\",\"choices\":[{\"index\":0,\"logprobs\":null,\"finish_reason\":\"stop\",\"native_finish_reason\":\"stop\",\"message\":{\"role\":\"assistant\",\"content\":\"6\",\"refusal\":null,\"reasoning\":null}}],\"usage\":{\"prompt_tokens\":20,\"completion_tokens\":1,\"total_tokens\":21,\"cost\":0.0000036,\"is_byok\":false,\"prompt_tokens_details\":{\"cached_tokens\":0,\"cache_write_tokens\":0,\"audio_tokens\":0,\"video_tokens\":0},\"cost_details\":{\"upstream_inference_cost\":0.0000036,\"upstream_inference_prompt_cost\":0.000003,\"upstream_inference_completions_cost\":6e-7},\"completion_tokens_details\":{\"reasoning_tokens\":0,\"image_tokens\":0,\"audio_tokens\":0}}}" headers: Access-Control-Allow-Origin: - '*' CF-RAY: - - 9ed46a4889bd5383-YYZ + - 9fa1f8b02ad9a641-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:02:35 GMT + - Mon, 11 May 2026 14:46:09 GMT Permissions-Policy: - payment=(self "https://checkout.stripe.com" "https://connect-js.stripe.com" "https://js.stripe.com" "https://*.js.stripe.com" "https://hooks.stripe.com") @@ -63,7 +63,7 @@ interactions: X-Content-Type-Options: - nosniff X-Generation-Id: - - gen-1776355354-yuHO4A51pajDynJCni6Z + - gen-1778510768-OQstY67fJ0GZM76zHLAO access-control-expose-headers: - X-Generation-Id,cf-ray content-length: diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openrouter_chat_completion_sync.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openrouter_chat_completion_sync.yaml index cf8bd176..c989b51b 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openrouter_chat_completion_sync.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openrouter_chat_completion_sync.yaml @@ -16,7 +16,7 @@ interactions: Host: - openrouter.ai User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,11 +26,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -39,18 +39,18 @@ interactions: uri: https://openrouter.ai/api/v1/chat/completions response: body: - string: "\n \n{\"id\":\"gen-1776355354-pHwWrr4RuNUuRngZ8i9B\",\"object\":\"chat.completion\",\"created\":1776355354,\"model\":\"openai/gpt-4o-mini\",\"provider\":\"Azure\",\"system_fingerprint\":\"fp_eb37e061ec\",\"choices\":[{\"index\":0,\"logprobs\":null,\"finish_reason\":\"stop\",\"native_finish_reason\":\"stop\",\"message\":{\"role\":\"assistant\",\"content\":\"4\",\"refusal\":null,\"reasoning\":null}}],\"usage\":{\"prompt_tokens\":20,\"completion_tokens\":2,\"total_tokens\":22,\"cost\":0.0000042,\"is_byok\":false,\"prompt_tokens_details\":{\"cached_tokens\":0,\"cache_write_tokens\":0,\"audio_tokens\":0,\"video_tokens\":0},\"cost_details\":{\"upstream_inference_cost\":0.0000042,\"upstream_inference_prompt_cost\":0.000003,\"upstream_inference_completions_cost\":0.0000012},\"completion_tokens_details\":{\"reasoning_tokens\":0,\"image_tokens\":0,\"audio_tokens\":0}}}" + string: "\n \n{\"id\":\"gen-1778510767-WojY67e4Ddq0xnq40eJK\",\"object\":\"chat.completion\",\"created\":1778510767,\"model\":\"openai/gpt-4o-mini\",\"provider\":\"Azure\",\"system_fingerprint\":\"fp_eb37e061ec\",\"choices\":[{\"index\":0,\"logprobs\":null,\"finish_reason\":\"stop\",\"native_finish_reason\":\"stop\",\"message\":{\"role\":\"assistant\",\"content\":\"4\",\"refusal\":null,\"reasoning\":null}}],\"usage\":{\"prompt_tokens\":20,\"completion_tokens\":2,\"total_tokens\":22,\"cost\":0.0000042,\"is_byok\":false,\"prompt_tokens_details\":{\"cached_tokens\":0,\"cache_write_tokens\":0,\"audio_tokens\":0,\"video_tokens\":0},\"cost_details\":{\"upstream_inference_cost\":0.0000042,\"upstream_inference_prompt_cost\":0.000003,\"upstream_inference_completions_cost\":0.0000012},\"completion_tokens_details\":{\"reasoning_tokens\":0,\"image_tokens\":0,\"audio_tokens\":0}}}" headers: Access-Control-Allow-Origin: - '*' CF-RAY: - - 9ed46a42a948abeb-YYZ + - 9fa1f8a8dc331693-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Thu, 16 Apr 2026 16:02:34 GMT + - Mon, 11 May 2026 14:46:08 GMT Permissions-Policy: - payment=(self "https://checkout.stripe.com" "https://connect-js.stripe.com" "https://js.stripe.com" "https://*.js.stripe.com" "https://hooks.stripe.com") @@ -63,7 +63,7 @@ interactions: X-Content-Type-Options: - nosniff X-Generation-Id: - - gen-1776355354-pHwWrr4RuNUuRngZ8i9B + - gen-1778510767-WojY67e4Ddq0xnq40eJK access-control-expose-headers: - X-Generation-Id,cf-ray content-length: diff --git a/py/src/braintrust/integrations/openai/cassettes/latest/test_openrouter_streaming_sync.yaml b/py/src/braintrust/integrations/openai/cassettes/latest/test_openrouter_streaming_sync.yaml index 0e1b3734..c4d06d44 100644 --- a/py/src/braintrust/integrations/openai/cassettes/latest/test_openrouter_streaming_sync.yaml +++ b/py/src/braintrust/integrations/openai/cassettes/latest/test_openrouter_streaming_sync.yaml @@ -16,7 +16,7 @@ interactions: Host: - openrouter.ai User-Agent: - - OpenAI/Python 2.32.0 + - OpenAI/Python 2.36.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,11 +26,11 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.32.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: - - 3.14.3 + - 3.12.12 x-stainless-read-timeout: - '600' x-stainless-retry-count: @@ -39,16 +39,13 @@ interactions: uri: https://openrouter.ai/api/v1/chat/completions response: body: - string: ': OPENROUTER PROCESSING + string: 'data: {"id":"gen-1778510769-lJGHfCb5PeUuDkHj6w8h","object":"chat.completion.chunk","created":1778510769,"model":"openai/gpt-4o-mini","provider":"OpenAI","system_fingerprint":"fp_22f51daea7","choices":[{"index":0,"delta":{"content":"10","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]} - data: {"id":"gen-1776355355-THHRsv4oxjdbuvrPEtgz","object":"chat.completion.chunk","created":1776355355,"model":"openai/gpt-4o-mini","provider":"Azure","system_fingerprint":"fp_eb37e061ec","choices":[{"index":0,"delta":{"content":"10","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]} + data: {"id":"gen-1778510769-lJGHfCb5PeUuDkHj6w8h","object":"chat.completion.chunk","created":1778510769,"model":"openai/gpt-4o-mini","provider":"OpenAI","system_fingerprint":"fp_22f51daea7","choices":[{"index":0,"delta":{"content":"","role":"assistant"},"finish_reason":"stop","native_finish_reason":"stop"}]} - data: {"id":"gen-1776355355-THHRsv4oxjdbuvrPEtgz","object":"chat.completion.chunk","created":1776355355,"model":"openai/gpt-4o-mini","provider":"Azure","system_fingerprint":"fp_eb37e061ec","choices":[{"index":0,"delta":{"content":"","role":"assistant"},"finish_reason":"stop","native_finish_reason":"stop"}]} - - - data: {"id":"gen-1776355355-THHRsv4oxjdbuvrPEtgz","object":"chat.completion.chunk","created":1776355355,"model":"openai/gpt-4o-mini","provider":"Azure","system_fingerprint":"fp_eb37e061ec","choices":[{"index":0,"delta":{"content":"","role":"assistant"},"finish_reason":"stop","native_finish_reason":"stop"}],"usage":{"prompt_tokens":20,"completion_tokens":2,"total_tokens":22,"cost":0.0000042,"is_byok":false,"prompt_tokens_details":{"cached_tokens":0,"cache_write_tokens":0,"audio_tokens":0,"video_tokens":0},"cost_details":{"upstream_inference_cost":0.0000042,"upstream_inference_prompt_cost":0.000003,"upstream_inference_completions_cost":0.0000012},"completion_tokens_details":{"reasoning_tokens":0,"image_tokens":0,"audio_tokens":0}}} + data: {"id":"gen-1778510769-lJGHfCb5PeUuDkHj6w8h","object":"chat.completion.chunk","created":1778510769,"model":"openai/gpt-4o-mini","provider":"OpenAI","system_fingerprint":"fp_22f51daea7","choices":[{"index":0,"delta":{"content":"","role":"assistant"},"finish_reason":"stop","native_finish_reason":"stop"}],"usage":{"prompt_tokens":20,"completion_tokens":1,"total_tokens":21,"cost":0.0000036,"is_byok":false,"prompt_tokens_details":{"cached_tokens":0,"cache_write_tokens":0,"audio_tokens":0,"video_tokens":0},"cost_details":{"upstream_inference_cost":0.0000036,"upstream_inference_prompt_cost":0.000003,"upstream_inference_completions_cost":6e-7},"completion_tokens_details":{"reasoning_tokens":0,"image_tokens":0,"audio_tokens":0}}} data: [DONE] @@ -59,7 +56,7 @@ interactions: Access-Control-Allow-Origin: - '*' CF-RAY: - - 9ed46a4c9962f41f-YYZ + - 9fa1f8b7aaa2ebb4-YYZ Cache-Control: - no-cache Connection: @@ -67,7 +64,7 @@ interactions: Content-Type: - text/event-stream Date: - - Thu, 16 Apr 2026 16:02:36 GMT + - Mon, 11 May 2026 14:46:10 GMT Permissions-Policy: - payment=(self "https://checkout.stripe.com" "https://connect-js.stripe.com" "https://js.stripe.com" "https://*.js.stripe.com" "https://hooks.stripe.com") @@ -80,7 +77,7 @@ interactions: X-Content-Type-Options: - nosniff X-Generation-Id: - - gen-1776355355-THHRsv4oxjdbuvrPEtgz + - gen-1778510769-lJGHfCb5PeUuDkHj6w8h access-control-expose-headers: - X-Generation-Id,cf-ray status: diff --git a/py/src/braintrust/integrations/openai_agents/cassettes/latest/test_auto_openai_agents.yaml b/py/src/braintrust/integrations/openai_agents/cassettes/latest/test_auto_openai_agents.yaml index bc089430..45e2eecc 100644 --- a/py/src/braintrust/integrations/openai_agents/cassettes/latest/test_auto_openai_agents.yaml +++ b/py/src/braintrust/integrations/openai_agents/cassettes/latest/test_auto_openai_agents.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"include":[],"input":[{"content":"What is 2+2? Just the number.","role":"user"}],"instructions":"You - are a helpful assistant. Be very concise.","model":"gpt-4o-mini","prompt_cache_key":"agents-sdk:run:09feed69efe74e0a81eda0fac0a9775a","tools":[]}' + are a helpful assistant. Be very concise.","model":"gpt-4o-mini","prompt_cache_key":"agents-sdk:run:873ee4e953a04c1db572b2a69adaef58","tools":[]}' headers: Accept: - application/json @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - Agents/Python 0.15.0 + - Agents/Python 0.17.1 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -39,20 +39,20 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_06aefc55e94728bd0069f4de79cd8081a3ae0cfa0aa810e4a9\",\n - \ \"object\": \"response\",\n \"created_at\": 1777655417,\n \"status\": + string: "{\n \"id\": \"resp_08ef42c672599f51006a01f2fc33fc819fbc71510c80186a55\",\n + \ \"object\": \"response\",\n \"created_at\": 1778512636,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1777655418,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778512637,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": \"You are a helpful assistant. Be very concise.\",\n \"max_output_tokens\": null,\n \"max_tool_calls\": null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n - \ \"moderation\": null,\n \"output\": [\n {\n \"id\": \"msg_06aefc55e94728bd0069f4de7af03881a3a6181ebbfd64087c\",\n + \ \"moderation\": null,\n \"output\": [\n {\n \"id\": \"msg_08ef42c672599f51006a01f2fd0704819f8633da7ba51d9d2e\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": [],\n \"logprobs\": [],\n \"text\": \"4\"\n }\n ],\n \ \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n \ \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - \"agents-sdk:run:09feed69efe74e0a81eda0fac0a9775a\",\n \"prompt_cache_retention\": + \"agents-sdk:run:873ee4e953a04c1db572b2a69adaef58\",\n \"prompt_cache_retention\": \"in_memory\",\n \"reasoning\": {\n \"effort\": null,\n \"summary\": null\n },\n \"safety_identifier\": null,\n \"service_tier\": \"default\",\n \ \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n \"format\": @@ -67,13 +67,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f506618eff935ae-YYZ + - 9fa22647ce250426-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:10:19 GMT + - Mon, 11 May 2026 15:17:17 GMT Server: - cloudflare Strict-Transport-Security: @@ -82,6 +82,8 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 content-length: @@ -89,15 +91,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '1284' + - '1086' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=Lsg3i5bJ_YSfVsCGE7sw_iFX4Qp90m_L171lqpaHZw8-1777655417.741916-1.0.1.1-xeQrZUx4nKDTabAo0vQ0ci9mU3f5cHuXM2U0SwGCByuiwH3bdKgE_BumuBCeOo0TSvgJpslQNyLepu4lXj2vZ9r4JE7Hs.hk.gXswCT8005mg11.GuYDRFL9vUxmVQHY; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:40:19 GMT + - __cf_bm=YTVaMhspGvFIuf.FKJUtyqCwzo2L9q8w6WnVP34r6mE-1778512636.1222858-1.0.1.1-WyqpDPGV2Cp52BTmLtzHB19pYP8T_brVag2rfNT9Vq_pxUwCl_f1yZdYfRdqQnLDdavst1VfqVXvkIq_qPiIeeosP14fkHBL9JgglYpIKcD1jXGt7.JNXCnpCk1BJKPC; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:47:17 GMT x-ratelimit-limit-requests: - '30000' x-ratelimit-limit-tokens: @@ -105,13 +107,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999947' + - '149999950' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_7ca2e623a9834128b8deeece1581f7e5 + - req_6b3305fb8ee84526841c904526efc669 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai_agents/cassettes/latest/test_braintrust_tracing_processor_concurrency_bug.yaml b/py/src/braintrust/integrations/openai_agents/cassettes/latest/test_braintrust_tracing_processor_concurrency_bug.yaml index 011daacc..8ea08b7f 100644 --- a/py/src/braintrust/integrations/openai_agents/cassettes/latest/test_braintrust_tracing_processor_concurrency_bug.yaml +++ b/py/src/braintrust/integrations/openai_agents/cassettes/latest/test_braintrust_tracing_processor_concurrency_bug.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"include":[],"input":[{"content":"Who are you?","role":"user"}],"instructions":"You - are agent B. Just respond with ''B'' and nothing else.","model":"gpt-4o-mini","prompt_cache_key":"agents-sdk:run:86ee351df041409ca483dc4a7a009aaf","tools":[]}' + are agent B. Just respond with ''B'' and nothing else.","model":"gpt-4o-mini","prompt_cache_key":"agents-sdk:run:e7ac611d279744359db1a9e9701fbe27","tools":[]}' headers: Accept: - application/json @@ -14,11 +14,11 @@ interactions: Content-Type: - application/json Cookie: - - __cf_bm=FVp08q0ZwaIQZdeE4G_eE3U4mqumdtfLEW0RfIUEWI4-1777655409.4763591-1.0.1.1-7DNw1NkRZ1OXrOnYZcxCkyqkg6cw8AZDt7k08n9kFslqRaIdJfiwOQ4GTcSDiBjZ5BPddPY5iSylZX1rLyF_4UbLQcEOMthhmq05spIZEVkbamW7tYvP8GiJBBODkNwH + - __cf_bm=AhF_GqP7hu.ik.7NqTKc.xDLHql3Av1GM58XKmq6efI-1778512629.1183877-1.0.1.1-TXLH9WhVY74otlzrx0Q9bw2MdZTqG_jXqjH5ErsI9zX1JtIGGl_.g74U7fQIxYZ8.PO2.e45EGdOFZYzMQqsTqCL05MKJJSu5rzV3aJJyPiLAG6Y1dwuetlJjKZLZQ9A Host: - api.openai.com User-Agent: - - Agents/Python 0.15.0 + - Agents/Python 0.17.1 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -41,20 +41,20 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_06909c0b6fad3f820069f4de759fa8819692aa3e076e843cc4\",\n - \ \"object\": \"response\",\n \"created_at\": 1777655413,\n \"status\": + string: "{\n \"id\": \"resp_0666f1b895b6ae72006a01f2f829d481a28c8739e510ea8bb2\",\n + \ \"object\": \"response\",\n \"created_at\": 1778512632,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1777655414,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778512632,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": \"You are agent B. Just respond with 'B' and nothing else.\",\n \"max_output_tokens\": null,\n \"max_tool_calls\": null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n - \ \"moderation\": null,\n \"output\": [\n {\n \"id\": \"msg_06909c0b6fad3f820069f4de763c4c81969007d4da63f1f2e4\",\n + \ \"moderation\": null,\n \"output\": [\n {\n \"id\": \"msg_0666f1b895b6ae72006a01f2f8c40881a2a4f5bfbd4dcd4da4\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": [],\n \"logprobs\": [],\n \"text\": \"B\"\n }\n ],\n \ \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n \ \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - \"agents-sdk:run:86ee351df041409ca483dc4a7a009aaf\",\n \"prompt_cache_retention\": + \"agents-sdk:run:e7ac611d279744359db1a9e9701fbe27\",\n \"prompt_cache_retention\": \"in_memory\",\n \"reasoning\": {\n \"effort\": null,\n \"summary\": null\n },\n \"safety_identifier\": null,\n \"service_tier\": \"default\",\n \ \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n \"format\": @@ -69,13 +69,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5065fec9a4ab64-YYZ + - 9fa2262e799038e1-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:10:14 GMT + - Mon, 11 May 2026 15:17:13 GMT Server: - cloudflare Strict-Transport-Security: @@ -84,6 +84,8 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 content-length: @@ -91,7 +93,7 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '831' + - '848' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -103,85 +105,19 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999950' + - '149999952' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_e62671143c40494d91d905f442a908ef + - req_dd5fb431f8ca4095ac05f336605605d3 status: code: 200 message: OK -- request: - body: '{"data":[{"object":"trace","id":"trace_4d7e986e82e6414ebe3ba187e78c452d","workflow_name":"Agent - workflow","group_id":null,"metadata":null},{"object":"trace.span","id":"span_df2aa2da51664aebbc91b57e","trace_id":"trace_4d7e986e82e6414ebe3ba187e78c452d","parent_id":"span_fa0e826ad92a4e82aa2c44cc","started_at":"2026-05-01T17:10:08.816830+00:00","ended_at":"2026-05-01T17:10:11.318181+00:00","span_data":{"type":"response","response_id":"resp_0dcfb67b5244a2b50069f4de72287481a196a1fb3fbdbb1b2f"},"error":null},{"object":"trace.span","id":"span_fa0e826ad92a4e82aa2c44cc","trace_id":"trace_4d7e986e82e6414ebe3ba187e78c452d","parent_id":"span_256a5afc7d7e4dd69d01d8f3","started_at":"2026-05-01T17:10:08.813542+00:00","ended_at":"2026-05-01T17:10:11.319859+00:00","span_data":{"type":"custom","name":"turn","data":{"sdk_span_type":"turn","turn":1,"agent_name":"test-agent","usage":{"input_tokens":32,"output_tokens":2,"cached_input_tokens":0}}},"error":null},{"object":"trace.span","id":"span_256a5afc7d7e4dd69d01d8f3","trace_id":"trace_4d7e986e82e6414ebe3ba187e78c452d","parent_id":"span_cfc2e02b54274b7db6a95672","started_at":"2026-05-01T17:10:08.813496+00:00","ended_at":"2026-05-01T17:10:11.320115+00:00","span_data":{"type":"agent","name":"test-agent","handoffs":[],"tools":[],"output_type":"str"},"error":null},{"object":"trace.span","id":"span_cfc2e02b54274b7db6a95672","trace_id":"trace_4d7e986e82e6414ebe3ba187e78c452d","parent_id":null,"started_at":"2026-05-01T17:10:08.813124+00:00","ended_at":"2026-05-01T17:10:11.320147+00:00","span_data":{"type":"custom","name":"task","data":{"sdk_span_type":"task","name":"Agent - workflow","usage":{"input_tokens":32,"output_tokens":2,"cached_input_tokens":0,"requests":1,"total_tokens":34}}},"error":null},{"object":"trace","id":"trace_e83be64c101245588903279187e6a72b","workflow_name":"Agent - workflow","group_id":null,"metadata":null},{"object":"trace.span","id":"span_47e52ffe3c9b472e851d9d29","trace_id":"trace_e83be64c101245588903279187e6a72b","parent_id":"span_d5774bb9d6c34f00aaacadb0","started_at":"2026-05-01T17:10:11.324942+00:00","ended_at":"2026-05-01T17:10:13.464412+00:00","span_data":{"type":"response","response_id":"resp_059c71bfcee1b6e20069f4de745ea08195bbaa9c30e6a84368"},"error":null},{"object":"trace.span","id":"span_d5774bb9d6c34f00aaacadb0","trace_id":"trace_e83be64c101245588903279187e6a72b","parent_id":"span_a34c6159e2b640c0ad4e838b","started_at":"2026-05-01T17:10:11.324357+00:00","ended_at":"2026-05-01T17:10:13.464851+00:00","span_data":{"type":"custom","name":"turn","data":{"sdk_span_type":"turn","turn":1,"agent_name":"test-agent","usage":{"input_tokens":32,"output_tokens":2,"cached_input_tokens":0}}},"error":null},{"object":"trace.span","id":"span_a34c6159e2b640c0ad4e838b","trace_id":"trace_e83be64c101245588903279187e6a72b","parent_id":"span_df7e7fdda2d34e4096c83c02","started_at":"2026-05-01T17:10:11.324039+00:00","ended_at":"2026-05-01T17:10:13.464982+00:00","span_data":{"type":"agent","name":"test-agent","handoffs":[],"tools":[],"output_type":"str"},"error":null},{"object":"trace.span","id":"span_df7e7fdda2d34e4096c83c02","trace_id":"trace_e83be64c101245588903279187e6a72b","parent_id":null,"started_at":"2026-05-01T17:10:11.323862+00:00","ended_at":"2026-05-01T17:10:13.465015+00:00","span_data":{"type":"custom","name":"task","data":{"sdk_span_type":"task","name":"Agent - workflow","usage":{"input_tokens":32,"output_tokens":2,"cached_input_tokens":0,"requests":1,"total_tokens":34}}},"error":null},{"object":"trace","id":"trace_195a216ee92844c3b1b522de1d42b8a7","workflow_name":"Agent - workflow","group_id":null,"metadata":null},{"object":"trace","id":"trace_a73c37dd350440afa208de7d1484a1f7","workflow_name":"Agent - workflow","group_id":null,"metadata":null}]}' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '3748' - Content-Type: - - application/json - Host: - - api.openai.com - OpenAI-Beta: - - traces=v1 - User-Agent: - - python-httpx/0.28.1 - method: POST - uri: https://api.openai.com/v1/traces/ingest - response: - body: - string: '' - headers: - CF-RAY: - - 9f506601dc813705-YYZ - Connection: - - keep-alive - Date: - - Fri, 01 May 2026 17:10:14 GMT - Server: - - cloudflare - Strict-Transport-Security: - - max-age=31536000; includeSubDomains; preload - X-Content-Type-Options: - - nosniff - alt-svc: - - h3=":443"; ma=86400 - cf-cache-status: - - DYNAMIC - openai-organization: - - braintrust-data - openai-processing-ms: - - '571' - openai-project: - - proj_vsCSXafhhByzWOThMrJcZiw9 - openai-version: - - '2020-10-01' - set-cookie: - - __cf_bm=kWT.E.5TomQaVxPpiiLP8r19gk7pnpUo4.p6Vq1ZTi4-1777655414.0576837-1.0.1.1-YzhVzP2S5emTyoK6DDqtph.wDHuqWotJ8P5oHB_clCIVidZ1pFC45OVQoepzYN0UwYC8eAgCsKHdAxVJ1RjYq6M_uMC_HfmMZhxqbzpZ1ogKeaiaaWhif10vbbGrerxq; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:40:14 GMT - x-openai-proxy-wasm: - - v0.1 - x-request-id: - - req_aa45156032bb4409827119c4831db8af - status: - code: 204 - message: No Content - request: body: '{"include":[],"input":[{"content":"What''s your name?","role":"user"}],"instructions":"You - are agent A. Just respond with ''A'' and nothing else.","model":"gpt-4o-mini","prompt_cache_key":"agents-sdk:run:2536d0f097cb4c8cb7b079761213beef","tools":[]}' + are agent A. Just respond with ''A'' and nothing else.","model":"gpt-4o-mini","prompt_cache_key":"agents-sdk:run:db2b1af702ce419dbc519c527ef859c0","tools":[]}' headers: Accept: - application/json @@ -194,11 +130,11 @@ interactions: Content-Type: - application/json Cookie: - - __cf_bm=FVp08q0ZwaIQZdeE4G_eE3U4mqumdtfLEW0RfIUEWI4-1777655409.4763591-1.0.1.1-7DNw1NkRZ1OXrOnYZcxCkyqkg6cw8AZDt7k08n9kFslqRaIdJfiwOQ4GTcSDiBjZ5BPddPY5iSylZX1rLyF_4UbLQcEOMthhmq05spIZEVkbamW7tYvP8GiJBBODkNwH + - __cf_bm=AhF_GqP7hu.ik.7NqTKc.xDLHql3Av1GM58XKmq6efI-1778512629.1183877-1.0.1.1-TXLH9WhVY74otlzrx0Q9bw2MdZTqG_jXqjH5ErsI9zX1JtIGGl_.g74U7fQIxYZ8.PO2.e45EGdOFZYzMQqsTqCL05MKJJSu5rzV3aJJyPiLAG6Y1dwuetlJjKZLZQ9A Host: - api.openai.com User-Agent: - - Agents/Python 0.15.0 + - Agents/Python 0.17.1 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -221,20 +157,20 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_08346632885295b80069f4de7636208193bd64c199eff332b0\",\n - \ \"object\": \"response\",\n \"created_at\": 1777655414,\n \"status\": + string: "{\n \"id\": \"resp_01cb56e7a292a4f0006a01f2f88dfc8193ae47fc0af06da39a\",\n + \ \"object\": \"response\",\n \"created_at\": 1778512632,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1777655415,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778512633,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": \"You are agent A. Just respond with 'A' and nothing else.\",\n \"max_output_tokens\": null,\n \"max_tool_calls\": null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n - \ \"moderation\": null,\n \"output\": [\n {\n \"id\": \"msg_08346632885295b80069f4de771c8c8193ba977a238e409b60\",\n + \ \"moderation\": null,\n \"output\": [\n {\n \"id\": \"msg_01cb56e7a292a4f0006a01f2f8fdf88193be89cf99bd0ed64b\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": [],\n \"logprobs\": [],\n \"text\": \"A\"\n }\n ],\n \ \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n \ \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - \"agents-sdk:run:2536d0f097cb4c8cb7b079761213beef\",\n \"prompt_cache_retention\": + \"agents-sdk:run:db2b1af702ce419dbc519c527ef859c0\",\n \"prompt_cache_retention\": \"in_memory\",\n \"reasoning\": {\n \"effort\": null,\n \"summary\": null\n },\n \"safety_identifier\": null,\n \"service_tier\": \"default\",\n \ \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n \"format\": @@ -249,13 +185,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5065fecabfa228-YYZ + - 9fa2262e7fcc3b8e-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:10:15 GMT + - Mon, 11 May 2026 15:17:13 GMT Server: - cloudflare Strict-Transport-Security: @@ -264,6 +200,8 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 content-length: @@ -271,7 +209,7 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '1130' + - '695' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -289,7 +227,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_05c5c94c130f4791b167033f9e7eccbe + - req_dcae6300bd184c3982ea23083106424c status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai_agents/cassettes/latest/test_braintrust_tracing_processor_current_span_detection.yaml b/py/src/braintrust/integrations/openai_agents/cassettes/latest/test_braintrust_tracing_processor_current_span_detection.yaml index 66bbf9ae..add22695 100644 --- a/py/src/braintrust/integrations/openai_agents/cassettes/latest/test_braintrust_tracing_processor_current_span_detection.yaml +++ b/py/src/braintrust/integrations/openai_agents/cassettes/latest/test_braintrust_tracing_processor_current_span_detection.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"include":[],"input":[{"content":"What is 2+2? Just the number.","role":"user"}],"instructions":"You - are a helpful assistant. Be very concise.","model":"gpt-4o-mini","prompt_cache_key":"agents-sdk:run:76c9b2baf5014819b170f0a5d8c68bbe","tools":[]}' + are a helpful assistant. Be very concise.","model":"gpt-4o-mini","prompt_cache_key":"agents-sdk:run:07c001fb595745238c5f95312461e01f","tools":[]}' headers: Accept: - application/json @@ -14,11 +14,11 @@ interactions: Content-Type: - application/json Cookie: - - __cf_bm=FVp08q0ZwaIQZdeE4G_eE3U4mqumdtfLEW0RfIUEWI4-1777655409.4763591-1.0.1.1-7DNw1NkRZ1OXrOnYZcxCkyqkg6cw8AZDt7k08n9kFslqRaIdJfiwOQ4GTcSDiBjZ5BPddPY5iSylZX1rLyF_4UbLQcEOMthhmq05spIZEVkbamW7tYvP8GiJBBODkNwH + - __cf_bm=AhF_GqP7hu.ik.7NqTKc.xDLHql3Av1GM58XKmq6efI-1778512629.1183877-1.0.1.1-TXLH9WhVY74otlzrx0Q9bw2MdZTqG_jXqjH5ErsI9zX1JtIGGl_.g74U7fQIxYZ8.PO2.e45EGdOFZYzMQqsTqCL05MKJJSu5rzV3aJJyPiLAG6Y1dwuetlJjKZLZQ9A Host: - api.openai.com User-Agent: - - Agents/Python 0.15.0 + - Agents/Python 0.17.1 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -41,20 +41,20 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_059c71bfcee1b6e20069f4de745ea08195bbaa9c30e6a84368\",\n - \ \"object\": \"response\",\n \"created_at\": 1777655412,\n \"status\": + string: "{\n \"id\": \"resp_07c6ec32580e2c2b006a01f2f6efac81a09b2aa27f2b28f17d\",\n + \ \"object\": \"response\",\n \"created_at\": 1778512630,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1777655413,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778512631,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": \"You are a helpful assistant. Be very concise.\",\n \"max_output_tokens\": null,\n \"max_tool_calls\": null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n - \ \"moderation\": null,\n \"output\": [\n {\n \"id\": \"msg_059c71bfcee1b6e20069f4de7534288195874cd16ec1b025a9\",\n + \ \"moderation\": null,\n \"output\": [\n {\n \"id\": \"msg_07c6ec32580e2c2b006a01f2f75d1081a0807f9df402635952\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": [],\n \"logprobs\": [],\n \"text\": \"4\"\n }\n ],\n \ \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n \ \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - \"agents-sdk:run:76c9b2baf5014819b170f0a5d8c68bbe\",\n \"prompt_cache_retention\": + \"agents-sdk:run:07c001fb595745238c5f95312461e01f\",\n \"prompt_cache_retention\": \"in_memory\",\n \"reasoning\": {\n \"effort\": null,\n \"summary\": null\n },\n \"safety_identifier\": null,\n \"service_tier\": \"default\",\n \ \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n \"format\": @@ -69,13 +69,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5065f16e1961e9-YYZ + - 9fa22626ecc74c9b-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:10:13 GMT + - Mon, 11 May 2026 15:17:11 GMT Server: - cloudflare Strict-Transport-Security: @@ -84,6 +84,8 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 content-length: @@ -91,7 +93,7 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '1090' + - '591' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -103,13 +105,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999947' + - '149999950' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_499118243cd547638482eceaa6d4d888 + - req_f23f93caef7849bc9e01fdff866ebb9a status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai_agents/cassettes/latest/test_openai_agents_integration_setup_creates_spans.yaml b/py/src/braintrust/integrations/openai_agents/cassettes/latest/test_openai_agents_integration_setup_creates_spans.yaml index 3aec5744..0bd74093 100644 --- a/py/src/braintrust/integrations/openai_agents/cassettes/latest/test_openai_agents_integration_setup_creates_spans.yaml +++ b/py/src/braintrust/integrations/openai_agents/cassettes/latest/test_openai_agents_integration_setup_creates_spans.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"include":[],"input":[{"content":"What is 2+2? Just the number.","role":"user"}],"instructions":"You - are a helpful assistant. Be very concise.","model":"gpt-4o-mini","prompt_cache_key":"agents-sdk:run:bbf9638d0e03401ab41b8204ee5585e2","tools":[]}' + are a helpful assistant. Be very concise.","model":"gpt-4o-mini","prompt_cache_key":"agents-sdk:run:3af6f68e540e403184558182a28f2922","tools":[]}' headers: Accept: - application/json @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - Agents/Python 0.15.0 + - Agents/Python 0.17.1 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -39,20 +39,20 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_0dcfb67b5244a2b50069f4de72287481a196a1fb3fbdbb1b2f\",\n - \ \"object\": \"response\",\n \"created_at\": 1777655410,\n \"status\": + string: "{\n \"id\": \"resp_04b7a9bbcbb0624b006a01f2f5e1f8819c9e8b13a7b1ef8853\",\n + \ \"object\": \"response\",\n \"created_at\": 1778512629,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1777655411,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778512630,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": \"You are a helpful assistant. Be very concise.\",\n \"max_output_tokens\": null,\n \"max_tool_calls\": null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n - \ \"moderation\": null,\n \"output\": [\n {\n \"id\": \"msg_0dcfb67b5244a2b50069f4de731e2081a1a10c8cf91767780a\",\n + \ \"moderation\": null,\n \"output\": [\n {\n \"id\": \"msg_04b7a9bbcbb0624b006a01f2f67a6c819ca35855b9c7199610\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": [],\n \"logprobs\": [],\n \"text\": \"4\"\n }\n ],\n \ \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n \ \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - \"agents-sdk:run:bbf9638d0e03401ab41b8204ee5585e2\",\n \"prompt_cache_retention\": + \"agents-sdk:run:3af6f68e540e403184558182a28f2922\",\n \"prompt_cache_retention\": \"in_memory\",\n \"reasoning\": {\n \"effort\": null,\n \"summary\": null\n },\n \"safety_identifier\": null,\n \"service_tier\": \"default\",\n \ \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n \"format\": @@ -67,13 +67,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5065e53d30ab6a-YYZ + - 9fa2261bff16e930-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:10:11 GMT + - Mon, 11 May 2026 15:17:10 GMT Server: - cloudflare Strict-Transport-Security: @@ -82,6 +82,8 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 content-length: @@ -89,15 +91,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '1124' + - '774' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=FVp08q0ZwaIQZdeE4G_eE3U4mqumdtfLEW0RfIUEWI4-1777655409.4763591-1.0.1.1-7DNw1NkRZ1OXrOnYZcxCkyqkg6cw8AZDt7k08n9kFslqRaIdJfiwOQ4GTcSDiBjZ5BPddPY5iSylZX1rLyF_4UbLQcEOMthhmq05spIZEVkbamW7tYvP8GiJBBODkNwH; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:40:11 GMT + - __cf_bm=AhF_GqP7hu.ik.7NqTKc.xDLHql3Av1GM58XKmq6efI-1778512629.1183877-1.0.1.1-TXLH9WhVY74otlzrx0Q9bw2MdZTqG_jXqjH5ErsI9zX1JtIGGl_.g74U7fQIxYZ8.PO2.e45EGdOFZYzMQqsTqCL05MKJJSu5rzV3aJJyPiLAG6Y1dwuetlJjKZLZQ9A; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:47:10 GMT x-ratelimit-limit-requests: - '30000' x-ratelimit-limit-tokens: @@ -111,7 +113,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_c93653b7d5cb41b9b806028ad04de67a + - req_cbaa163779f645ae888f8d910da6fb82 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/openai_agents/cassettes/latest/test_openai_agents_task_and_turn_span_types.yaml b/py/src/braintrust/integrations/openai_agents/cassettes/latest/test_openai_agents_task_and_turn_span_types.yaml index c50c27a6..3cafc2bd 100644 --- a/py/src/braintrust/integrations/openai_agents/cassettes/latest/test_openai_agents_task_and_turn_span_types.yaml +++ b/py/src/braintrust/integrations/openai_agents/cassettes/latest/test_openai_agents_task_and_turn_span_types.yaml @@ -1,7 +1,14 @@ interactions: - request: - body: '{"data":[{"object":"trace.span","id":"span_3d0353a6d3914190ad2f52e4","trace_id":"trace_195a216ee92844c3b1b522de1d42b8a7","parent_id":"span_27924ccba82b44af8cca85fb","started_at":"2026-05-01T17:10:13.469421+00:00","ended_at":"2026-05-01T17:10:15.333299+00:00","span_data":{"type":"response","response_id":"resp_08346632885295b80069f4de7636208193bd64c199eff332b0"},"error":null},{"object":"trace.span","id":"span_27924ccba82b44af8cca85fb","trace_id":"trace_195a216ee92844c3b1b522de1d42b8a7","parent_id":"span_6392487228c64302b58fa0c5","started_at":"2026-05-01T17:10:13.468666+00:00","ended_at":"2026-05-01T17:10:15.333715+00:00","span_data":{"type":"custom","name":"turn","data":{"sdk_span_type":"turn","turn":1,"agent_name":"agent-a","usage":{"input_tokens":30,"output_tokens":2,"cached_input_tokens":0}}},"error":null},{"object":"trace.span","id":"span_6392487228c64302b58fa0c5","trace_id":"trace_195a216ee92844c3b1b522de1d42b8a7","parent_id":"span_11a48856da194cd883409181","started_at":"2026-05-01T17:10:13.468626+00:00","ended_at":"2026-05-01T17:10:15.333843+00:00","span_data":{"type":"agent","name":"agent-a","handoffs":[],"tools":[],"output_type":"str"},"error":null},{"object":"trace.span","id":"span_11a48856da194cd883409181","trace_id":"trace_195a216ee92844c3b1b522de1d42b8a7","parent_id":null,"started_at":"2026-05-01T17:10:13.468483+00:00","ended_at":"2026-05-01T17:10:15.333873+00:00","span_data":{"type":"custom","name":"task","data":{"sdk_span_type":"task","name":"Agent - workflow","usage":{"input_tokens":30,"output_tokens":2,"cached_input_tokens":0,"requests":1,"total_tokens":32}}},"error":null},{"object":"trace","id":"trace_0d0183f833754df497911737602cb631","workflow_name":"Agent + body: '{"data":[{"object":"trace","id":"trace_e14480df0bcc4aafa640c5de95166a21","workflow_name":"Agent + workflow","group_id":null,"metadata":null},{"object":"trace.span","id":"span_a0e42a16db9e46f8bc57c4b6","trace_id":"trace_e14480df0bcc4aafa640c5de95166a21","parent_id":"span_b40852b0e0df4a028f1f5076","started_at":"2026-05-11T15:17:08.387029+00:00","ended_at":"2026-05-11T15:17:10.720393+00:00","span_data":{"type":"response","response_id":"resp_04b7a9bbcbb0624b006a01f2f5e1f8819c9e8b13a7b1ef8853"},"error":null},{"object":"trace.span","id":"span_b40852b0e0df4a028f1f5076","trace_id":"trace_e14480df0bcc4aafa640c5de95166a21","parent_id":"span_304e85cf41504540b981b708","started_at":"2026-05-11T15:17:08.383829+00:00","ended_at":"2026-05-11T15:17:10.722099+00:00","span_data":{"type":"custom","name":"turn","data":{"sdk_span_type":"turn","turn":1,"agent_name":"test-agent","usage":{"input_tokens":32,"output_tokens":2,"cached_input_tokens":0}}},"error":null},{"object":"trace.span","id":"span_304e85cf41504540b981b708","trace_id":"trace_e14480df0bcc4aafa640c5de95166a21","parent_id":"span_dc22edf97c3d4f0b95293878","started_at":"2026-05-11T15:17:08.383783+00:00","ended_at":"2026-05-11T15:17:10.722318+00:00","span_data":{"type":"agent","name":"test-agent","handoffs":[],"tools":[],"output_type":"str"},"error":null},{"object":"trace.span","id":"span_dc22edf97c3d4f0b95293878","trace_id":"trace_e14480df0bcc4aafa640c5de95166a21","parent_id":null,"started_at":"2026-05-11T15:17:08.383601+00:00","ended_at":"2026-05-11T15:17:10.722353+00:00","span_data":{"type":"custom","name":"task","data":{"sdk_span_type":"task","name":"Agent + workflow","usage":{"input_tokens":32,"output_tokens":2,"cached_input_tokens":0,"requests":1,"total_tokens":34}}},"error":null},{"object":"trace","id":"trace_73f91f6930974c80a57c0191c53b3f73","workflow_name":"Agent + workflow","group_id":null,"metadata":null},{"object":"trace.span","id":"span_ba50ce58f12d46e1bb9593a7","trace_id":"trace_73f91f6930974c80a57c0191c53b3f73","parent_id":"span_c915eaf008d54cd5b56c1f22","started_at":"2026-05-11T15:17:10.727559+00:00","ended_at":"2026-05-11T15:17:11.484651+00:00","span_data":{"type":"response","response_id":"resp_07c6ec32580e2c2b006a01f2f6efac81a09b2aa27f2b28f17d"},"error":null},{"object":"trace.span","id":"span_c915eaf008d54cd5b56c1f22","trace_id":"trace_73f91f6930974c80a57c0191c53b3f73","parent_id":"span_8d84ad57c5bc4d989578ca1c","started_at":"2026-05-11T15:17:10.727118+00:00","ended_at":"2026-05-11T15:17:11.486359+00:00","span_data":{"type":"custom","name":"turn","data":{"sdk_span_type":"turn","turn":1,"agent_name":"test-agent","usage":{"input_tokens":32,"output_tokens":2,"cached_input_tokens":0}}},"error":null},{"object":"trace.span","id":"span_8d84ad57c5bc4d989578ca1c","trace_id":"trace_73f91f6930974c80a57c0191c53b3f73","parent_id":"span_bc5e946d98aa47f68b894db3","started_at":"2026-05-11T15:17:10.726812+00:00","ended_at":"2026-05-11T15:17:11.486879+00:00","span_data":{"type":"agent","name":"test-agent","handoffs":[],"tools":[],"output_type":"str"},"error":null},{"object":"trace.span","id":"span_bc5e946d98aa47f68b894db3","trace_id":"trace_73f91f6930974c80a57c0191c53b3f73","parent_id":null,"started_at":"2026-05-11T15:17:10.726623+00:00","ended_at":"2026-05-11T15:17:11.487028+00:00","span_data":{"type":"custom","name":"task","data":{"sdk_span_type":"task","name":"Agent + workflow","usage":{"input_tokens":32,"output_tokens":2,"cached_input_tokens":0,"requests":1,"total_tokens":34}}},"error":null},{"object":"trace","id":"trace_1cf0bc76c912438690f3f3f95258196d","workflow_name":"Agent + workflow","group_id":null,"metadata":null},{"object":"trace","id":"trace_bb74b4d53fcb4c258fe457c080039931","workflow_name":"Agent + workflow","group_id":null,"metadata":null},{"object":"trace.span","id":"span_53a565e582d0446782703e9a","trace_id":"trace_bb74b4d53fcb4c258fe457c080039931","parent_id":"span_254b196dbc604101ba07603b","started_at":"2026-05-11T15:17:11.499111+00:00","ended_at":"2026-05-11T15:17:12.989023+00:00","span_data":{"type":"response","response_id":"resp_0666f1b895b6ae72006a01f2f829d481a28c8739e510ea8bb2"},"error":null},{"object":"trace.span","id":"span_254b196dbc604101ba07603b","trace_id":"trace_bb74b4d53fcb4c258fe457c080039931","parent_id":"span_18f17b2841584f5a84bade3e","started_at":"2026-05-11T15:17:11.497366+00:00","ended_at":"2026-05-11T15:17:12.989813+00:00","span_data":{"type":"custom","name":"turn","data":{"sdk_span_type":"turn","turn":1,"agent_name":"agent-b","usage":{"input_tokens":30,"output_tokens":2,"cached_input_tokens":0}}},"error":null},{"object":"trace.span","id":"span_18f17b2841584f5a84bade3e","trace_id":"trace_bb74b4d53fcb4c258fe457c080039931","parent_id":"span_ab186518ba0947aab80da7ff","started_at":"2026-05-11T15:17:11.497309+00:00","ended_at":"2026-05-11T15:17:12.990078+00:00","span_data":{"type":"agent","name":"agent-b","handoffs":[],"tools":[],"output_type":"str"},"error":null},{"object":"trace.span","id":"span_ab186518ba0947aab80da7ff","trace_id":"trace_bb74b4d53fcb4c258fe457c080039931","parent_id":null,"started_at":"2026-05-11T15:17:11.497141+00:00","ended_at":"2026-05-11T15:17:12.990133+00:00","span_data":{"type":"custom","name":"task","data":{"sdk_span_type":"task","name":"Agent + workflow","usage":{"input_tokens":30,"output_tokens":2,"cached_input_tokens":0,"requests":1,"total_tokens":32}}},"error":null},{"object":"trace.span","id":"span_0b35d5d21aa84f0f8bf50a5c","trace_id":"trace_1cf0bc76c912438690f3f3f95258196d","parent_id":"span_a382c1c28fb9416091ce694a","started_at":"2026-05-11T15:17:11.498102+00:00","ended_at":"2026-05-11T15:17:13.229754+00:00","span_data":{"type":"response","response_id":"resp_01cb56e7a292a4f0006a01f2f88dfc8193ae47fc0af06da39a"},"error":null},{"object":"trace.span","id":"span_a382c1c28fb9416091ce694a","trace_id":"trace_1cf0bc76c912438690f3f3f95258196d","parent_id":"span_a938ec00e83445f89570e91d","started_at":"2026-05-11T15:17:11.496735+00:00","ended_at":"2026-05-11T15:17:13.230867+00:00","span_data":{"type":"custom","name":"turn","data":{"sdk_span_type":"turn","turn":1,"agent_name":"agent-a","usage":{"input_tokens":30,"output_tokens":2,"cached_input_tokens":0}}},"error":null},{"object":"trace.span","id":"span_a938ec00e83445f89570e91d","trace_id":"trace_1cf0bc76c912438690f3f3f95258196d","parent_id":"span_e7f3a86ef89b4828ac997b89","started_at":"2026-05-11T15:17:11.496647+00:00","ended_at":"2026-05-11T15:17:13.231213+00:00","span_data":{"type":"agent","name":"agent-a","handoffs":[],"tools":[],"output_type":"str"},"error":null},{"object":"trace.span","id":"span_e7f3a86ef89b4828ac997b89","trace_id":"trace_1cf0bc76c912438690f3f3f95258196d","parent_id":null,"started_at":"2026-05-11T15:17:11.496365+00:00","ended_at":"2026-05-11T15:17:13.231297+00:00","span_data":{"type":"custom","name":"task","data":{"sdk_span_type":"task","name":"Agent + workflow","usage":{"input_tokens":30,"output_tokens":2,"cached_input_tokens":0,"requests":1,"total_tokens":32}}},"error":null},{"object":"trace","id":"trace_5042f4a2497b427497785e9889be5011","workflow_name":"Agent workflow","group_id":null,"metadata":null}]}' headers: Accept: @@ -11,11 +18,9 @@ interactions: Connection: - keep-alive Content-Length: - - '1743' + - '7084' Content-Type: - application/json - Cookie: - - __cf_bm=kWT.E.5TomQaVxPpiiLP8r19gk7pnpUo4.p6Vq1ZTi4-1777655414.0576837-1.0.1.1-YzhVzP2S5emTyoK6DDqtph.wDHuqWotJ8P5oHB_clCIVidZ1pFC45OVQoepzYN0UwYC8eAgCsKHdAxVJ1RjYq6M_uMC_HfmMZhxqbzpZ1ogKeaiaaWhif10vbbGrerxq Host: - api.openai.com OpenAI-Beta: @@ -29,17 +34,19 @@ interactions: string: '' headers: CF-RAY: - - 9f50660bac135383-YYZ + - 9fa226388c35ac21-YYZ Connection: - keep-alive Date: - - Fri, 01 May 2026 17:10:15 GMT + - Mon, 11 May 2026 15:17:14 GMT Server: - cloudflare Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 cf-cache-status: @@ -47,21 +54,25 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '119' + - '679' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' + set-cookie: + - __cf_bm=.VCPOParU4yFIXeL4WPzM7AYCbUqzx5VjxcVioqGxGA-1778512633.6860392-1.0.1.1-tIO96PvhGZWJCCgPG1r60qR2VZrx1cKD9tj_bI9HQ_Zl_9u1s0hDG7ukkaL7m_q9PwSyUQxuD1R3nes9.X6YuQ6gcmBTj4I7SkHcj0gAhPZExPBUbG2YLJmMCMorVeFQ; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:47:14 GMT x-openai-proxy-wasm: - v0.1 x-request-id: - - req_af69a3572c374357bc96d1a7e8708a66 + - req_ec190b4d2024410e96baf97e1e957ee9 status: code: 204 message: No Content - request: body: '{"include":[],"input":[{"content":"What is 2+2? Just the number.","role":"user"}],"instructions":"You - are a helpful assistant. Be very concise.","model":"gpt-4o-mini","prompt_cache_key":"agents-sdk:run:d6e217cd56254e15a2687d9300dd318f","tools":[]}' + are a helpful assistant. Be very concise.","model":"gpt-4o-mini","prompt_cache_key":"agents-sdk:run:6f1da8292d2943838c5039e952aeac5f","tools":[]}' headers: Accept: - application/json @@ -74,11 +85,11 @@ interactions: Content-Type: - application/json Cookie: - - __cf_bm=FVp08q0ZwaIQZdeE4G_eE3U4mqumdtfLEW0RfIUEWI4-1777655409.4763591-1.0.1.1-7DNw1NkRZ1OXrOnYZcxCkyqkg6cw8AZDt7k08n9kFslqRaIdJfiwOQ4GTcSDiBjZ5BPddPY5iSylZX1rLyF_4UbLQcEOMthhmq05spIZEVkbamW7tYvP8GiJBBODkNwH + - __cf_bm=AhF_GqP7hu.ik.7NqTKc.xDLHql3Av1GM58XKmq6efI-1778512629.1183877-1.0.1.1-TXLH9WhVY74otlzrx0Q9bw2MdZTqG_jXqjH5ErsI9zX1JtIGGl_.g74U7fQIxYZ8.PO2.e45EGdOFZYzMQqsTqCL05MKJJSu5rzV3aJJyPiLAG6Y1dwuetlJjKZLZQ9A Host: - api.openai.com User-Agent: - - Agents/Python 0.15.0 + - Agents/Python 0.17.1 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -101,20 +112,20 @@ interactions: uri: https://api.openai.com/v1/responses response: body: - string: "{\n \"id\": \"resp_022d01718bad26070069f4de77a0c4819fa83f70493bd28366\",\n - \ \"object\": \"response\",\n \"created_at\": 1777655415,\n \"status\": + string: "{\n \"id\": \"resp_08f812ac4ce403bb006a01f2fa06c88193a9fe506a43895415\",\n + \ \"object\": \"response\",\n \"created_at\": 1778512634,\n \"status\": \"completed\",\n \"background\": false,\n \"billing\": {\n \"payer\": - \"developer\"\n },\n \"completed_at\": 1777655416,\n \"error\": null,\n + \"developer\"\n },\n \"completed_at\": 1778512635,\n \"error\": null,\n \ \"frequency_penalty\": 0.0,\n \"incomplete_details\": null,\n \"instructions\": \"You are a helpful assistant. Be very concise.\",\n \"max_output_tokens\": null,\n \"max_tool_calls\": null,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n - \ \"moderation\": null,\n \"output\": [\n {\n \"id\": \"msg_022d01718bad26070069f4de789620819f96110ca72945aeb8\",\n + \ \"moderation\": null,\n \"output\": [\n {\n \"id\": \"msg_08f812ac4ce403bb006a01f2faff088193ac49b3da6a4c873d\",\n \ \"type\": \"message\",\n \"status\": \"completed\",\n \"content\": [\n {\n \"type\": \"output_text\",\n \"annotations\": [],\n \"logprobs\": [],\n \"text\": \"4\"\n }\n ],\n \ \"role\": \"assistant\"\n }\n ],\n \"parallel_tool_calls\": true,\n \ \"presence_penalty\": 0.0,\n \"previous_response_id\": null,\n \"prompt_cache_key\": - \"agents-sdk:run:d6e217cd56254e15a2687d9300dd318f\",\n \"prompt_cache_retention\": + \"agents-sdk:run:6f1da8292d2943838c5039e952aeac5f\",\n \"prompt_cache_retention\": \"in_memory\",\n \"reasoning\": {\n \"effort\": null,\n \"summary\": null\n },\n \"safety_identifier\": null,\n \"service_tier\": \"default\",\n \ \"store\": true,\n \"temperature\": 1.0,\n \"text\": {\n \"format\": @@ -129,13 +140,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f50660b29b0ab12-YYZ + - 9fa226375a09ab51-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:10:16 GMT + - Mon, 11 May 2026 15:17:15 GMT Server: - cloudflare Strict-Transport-Security: @@ -144,6 +155,8 @@ interactions: - chunked X-Content-Type-Options: - nosniff + access-control-expose-headers: + - X-Request-ID alt-svc: - h3=":443"; ma=86400 content-length: @@ -151,7 +164,7 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '1131' + - '1202' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -169,7 +182,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_433125784b9743c88f56ece0db26c7f3 + - req_e928f7a216c94b21beaf40743f5a3316 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_async.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_async.yaml index 1923345e..d43aeddc 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_async.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_async.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -39,8 +39,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalgsmtVteozo6WZ2stLpmbUj2bzt\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655502,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMgK6XqUA14UklnfNRmrWenHFTNx\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512680,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"4\",\n \"refusal\": null,\n \ \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": @@ -49,18 +49,18 @@ interactions: 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_65e01686b7\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_65d291db15\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f50682aac68c4c7-YYZ + - 9fa227599c84f54f-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:11:42 GMT + - Mon, 11 May 2026 15:18:00 GMT Server: - cloudflare Strict-Transport-Security: @@ -78,15 +78,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '368' + - '215' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=H1bCFUFc5FV8ejzYtPBrm4iTepi5GKOg_d4WABnExWw-1777655502.5032322-1.0.1.1-3NWVH4zIj7Jm01HnM.5odgusP11ey323wKhgeQmoPzHE3GfFqGQkLBfhgFwUxDcqOBZcga2Z9l8pDQ3Xb2Hb2PXxGEg8ZlCNsybP9Qy1N1e3PteLE2BSTzeIEw6YEEp9; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:41:42 GMT + - __cf_bm=1N5RiVV1iycs.M4KQnU4WvNhmN.38eDmT8KusxqDXzw-1778512679.940438-1.0.1.1-03V6fZyJsra_8bTlg_XeohzrUqmy3P2fsGNGQkCM.lGHKy8uW1NIhX73JTl67PJilPnu65mxRaMwfYzPkj6BXGxLbk4m_ZRpSnw7XSsd5i6KK8i9DW3HjP0sXekPyZQK; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:00 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -102,7 +102,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_9b5d4a4b6c254e4a98998f83bd77d532 + - req_c7dc2a8e3c4e4c28b024bcc75bc64256 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_stream.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_stream.yaml index aa182eac..5ef44736 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_stream.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_stream.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,59 +38,56 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DalgydBt1DXoDdrYIACKSbFpjmKna","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d0a1738203","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"AEtpBxAKH"} + string: 'data: {"id":"chatcmpl-DeMgUsvxCkwwRiKbg0bIPN8lCOVKl","object":"chat.completion.chunk","created":1778512690,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"BF3aiyH2v"} - data: {"id":"chatcmpl-DalgydBt1DXoDdrYIACKSbFpjmKna","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d0a1738203","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"iLthfrTtos"} + data: {"id":"chatcmpl-DeMgUsvxCkwwRiKbg0bIPN8lCOVKl","object":"chat.completion.chunk","created":1778512690,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"I742fRhToO"} - data: {"id":"chatcmpl-DalgydBt1DXoDdrYIACKSbFpjmKna","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d0a1738203","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"0fLKxS2d9M"} + data: {"id":"chatcmpl-DeMgUsvxCkwwRiKbg0bIPN8lCOVKl","object":"chat.completion.chunk","created":1778512690,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"WUg4iotgBk"} - data: {"id":"chatcmpl-DalgydBt1DXoDdrYIACKSbFpjmKna","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d0a1738203","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"AJ8LgjPMCE"} + data: {"id":"chatcmpl-DeMgUsvxCkwwRiKbg0bIPN8lCOVKl","object":"chat.completion.chunk","created":1778512690,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"LV2PlqnAvE"} - data: {"id":"chatcmpl-DalgydBt1DXoDdrYIACKSbFpjmKna","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d0a1738203","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"vIdM0XRx4d"} + data: {"id":"chatcmpl-DeMgUsvxCkwwRiKbg0bIPN8lCOVKl","object":"chat.completion.chunk","created":1778512690,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"whLTTwzp8S"} - data: {"id":"chatcmpl-DalgydBt1DXoDdrYIACKSbFpjmKna","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d0a1738203","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"A7c2LmUPM6"} + data: {"id":"chatcmpl-DeMgUsvxCkwwRiKbg0bIPN8lCOVKl","object":"chat.completion.chunk","created":1778512690,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"jeRM5NrjfS"} - data: {"id":"chatcmpl-DalgydBt1DXoDdrYIACKSbFpjmKna","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d0a1738203","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Dio6q18HUG"} + data: {"id":"chatcmpl-DeMgUsvxCkwwRiKbg0bIPN8lCOVKl","object":"chat.completion.chunk","created":1778512690,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"GqCodpcNjG"} - data: {"id":"chatcmpl-DalgydBt1DXoDdrYIACKSbFpjmKna","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d0a1738203","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"i1HdeGmiy1"} + data: {"id":"chatcmpl-DeMgUsvxCkwwRiKbg0bIPN8lCOVKl","object":"chat.completion.chunk","created":1778512690,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"1JO8ofX9LD"} - data: {"id":"chatcmpl-DalgydBt1DXoDdrYIACKSbFpjmKna","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d0a1738203","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"5F9psjlWrb"} + data: {"id":"chatcmpl-DeMgUsvxCkwwRiKbg0bIPN8lCOVKl","object":"chat.completion.chunk","created":1778512690,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Vw54yHzEwa"} - data: {"id":"chatcmpl-DalgydBt1DXoDdrYIACKSbFpjmKna","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d0a1738203","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"rIR8uRjUpY"} + data: {"id":"chatcmpl-DeMgUsvxCkwwRiKbg0bIPN8lCOVKl","object":"chat.completion.chunk","created":1778512690,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"UPrOvNQDc2"} - data: {"id":"chatcmpl-DalgydBt1DXoDdrYIACKSbFpjmKna","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d0a1738203","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"YTbCYZMdWT"} + data: {"id":"chatcmpl-DeMgUsvxCkwwRiKbg0bIPN8lCOVKl","object":"chat.completion.chunk","created":1778512690,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"XbxBHJ6egO"} - data: {"id":"chatcmpl-DalgydBt1DXoDdrYIACKSbFpjmKna","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d0a1738203","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"37fRAEfoJP"} + data: {"id":"chatcmpl-DeMgUsvxCkwwRiKbg0bIPN8lCOVKl","object":"chat.completion.chunk","created":1778512690,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Wrq6trUuU4"} - data: {"id":"chatcmpl-DalgydBt1DXoDdrYIACKSbFpjmKna","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d0a1738203","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"HH4ZrtwcQe"} + data: {"id":"chatcmpl-DeMgUsvxCkwwRiKbg0bIPN8lCOVKl","object":"chat.completion.chunk","created":1778512690,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gMF84YQH6q"} - data: {"id":"chatcmpl-DalgydBt1DXoDdrYIACKSbFpjmKna","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d0a1738203","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Nb8cavoyoF"} + data: {"id":"chatcmpl-DeMgUsvxCkwwRiKbg0bIPN8lCOVKl","object":"chat.completion.chunk","created":1778512690,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"86GpblB9kz"} - data: {"id":"chatcmpl-DalgydBt1DXoDdrYIACKSbFpjmKna","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d0a1738203","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Xe0rUYENUi"} + data: {"id":"chatcmpl-DeMgUsvxCkwwRiKbg0bIPN8lCOVKl","object":"chat.completion.chunk","created":1778512690,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"CVdVU"} - data: {"id":"chatcmpl-DalgydBt1DXoDdrYIACKSbFpjmKna","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d0a1738203","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"aCh1U"} - - - data: {"id":"chatcmpl-DalgydBt1DXoDdrYIACKSbFpjmKna","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d0a1738203","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":14,"total_tokens":28,"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":"8t4cjp4Ht0"} + data: {"id":"chatcmpl-DeMgUsvxCkwwRiKbg0bIPN8lCOVKl","object":"chat.completion.chunk","created":1778512690,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":13,"total_tokens":27,"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":"wJSRy1F23X"} data: [DONE] @@ -101,13 +98,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068507eaec109-YYZ + - 9fa2279a3d1d9113-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 01 May 2026 17:11:48 GMT + - Mon, 11 May 2026 15:18:10 GMT Server: - cloudflare Strict-Transport-Security: @@ -123,15 +120,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '288' + - '346' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=Qtw8d9rFdbe5w_H7n1QNS7su7N705ogNNhvqQY1T61k-1777655508.556331-1.0.1.1-1nNa9wz9hIsPkwMO1O0IPhMUZDgIYoafu9rG2F.OO14D1ne0582noxIiJf40UwPCa_aqemBGPwjTWsr.fOkayK2i6BkwPRqUb.wIkK1nCO8xw3rJXZdwq5KSsAXVryXs; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:41:48 GMT + - __cf_bm=366FEbjHpiB5M9yzXNF2EvbDcM4CyJHhTH4q7cUJcm0-1778512690.2716782-1.0.1.1-YVn.UNPmLDoQGokWcrCNYexwSVHhKK4r1xnZt27nAfp1BW2G9WrGVmma6oFnqsbqJpj6.zgumiFTiCu_xZnka35lALJhgp5TeBaXKD0hZcaHgy3q_ztH9BPFjZo.fKyz; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:10 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -141,13 +138,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999992' + - '149999995' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_7a60de1107484a3b91d2eb8267946a09 + - req_0f35f9671fed48c581c417e8b0c4f777 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_stream_events.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_stream_events.yaml index 4ba3b1c1..d1585057 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_stream_events.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_stream_events.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,41 +38,41 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DalhE26mUvFjuOqnS3t1eiGSkxlMC","object":"chat.completion.chunk","created":1777655524,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Ta83ycJ3p"} + string: 'data: {"id":"chatcmpl-DeMgpIt1cDnYcesEsrV1mQTJw7DFJ","object":"chat.completion.chunk","created":1778512711,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3620f71984","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"W2l1mFVOz"} - data: {"id":"chatcmpl-DalhE26mUvFjuOqnS3t1eiGSkxlMC","object":"chat.completion.chunk","created":1777655524,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Hf7LzD8Zxr"} + data: {"id":"chatcmpl-DeMgpIt1cDnYcesEsrV1mQTJw7DFJ","object":"chat.completion.chunk","created":1778512711,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3620f71984","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"xKhD57dOjf"} - data: {"id":"chatcmpl-DalhE26mUvFjuOqnS3t1eiGSkxlMC","object":"chat.completion.chunk","created":1777655524,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":" - +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"iuNwATQlG"} + data: {"id":"chatcmpl-DeMgpIt1cDnYcesEsrV1mQTJw7DFJ","object":"chat.completion.chunk","created":1778512711,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3620f71984","choices":[{"index":0,"delta":{"content":" + +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"JpNFyqXDc"} - data: {"id":"chatcmpl-DalhE26mUvFjuOqnS3t1eiGSkxlMC","object":"chat.completion.chunk","created":1777655524,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"mKdX41v5vi"} + data: {"id":"chatcmpl-DeMgpIt1cDnYcesEsrV1mQTJw7DFJ","object":"chat.completion.chunk","created":1778512711,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3620f71984","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"BGpoCQ1HdR"} - data: {"id":"chatcmpl-DalhE26mUvFjuOqnS3t1eiGSkxlMC","object":"chat.completion.chunk","created":1777655524,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Jz4tX5llDa"} + data: {"id":"chatcmpl-DeMgpIt1cDnYcesEsrV1mQTJw7DFJ","object":"chat.completion.chunk","created":1778512711,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3620f71984","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"GV6vHIaHvY"} - data: {"id":"chatcmpl-DalhE26mUvFjuOqnS3t1eiGSkxlMC","object":"chat.completion.chunk","created":1777655524,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":" - equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"qTGA"} + data: {"id":"chatcmpl-DeMgpIt1cDnYcesEsrV1mQTJw7DFJ","object":"chat.completion.chunk","created":1778512711,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3620f71984","choices":[{"index":0,"delta":{"content":" + equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ASk5"} - data: {"id":"chatcmpl-DalhE26mUvFjuOqnS3t1eiGSkxlMC","object":"chat.completion.chunk","created":1777655524,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"xNJHCkelAM"} + data: {"id":"chatcmpl-DeMgpIt1cDnYcesEsrV1mQTJw7DFJ","object":"chat.completion.chunk","created":1778512711,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3620f71984","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"fPojstFymi"} - data: {"id":"chatcmpl-DalhE26mUvFjuOqnS3t1eiGSkxlMC","object":"chat.completion.chunk","created":1777655524,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":"10"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"RWivX8nUM"} + data: {"id":"chatcmpl-DeMgpIt1cDnYcesEsrV1mQTJw7DFJ","object":"chat.completion.chunk","created":1778512711,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3620f71984","choices":[{"index":0,"delta":{"content":"10"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"nzbRvbVXB"} - data: {"id":"chatcmpl-DalhE26mUvFjuOqnS3t1eiGSkxlMC","object":"chat.completion.chunk","created":1777655524,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"OD8M87UIBj"} + data: {"id":"chatcmpl-DeMgpIt1cDnYcesEsrV1mQTJw7DFJ","object":"chat.completion.chunk","created":1778512711,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3620f71984","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"59JoHLys25"} - data: {"id":"chatcmpl-DalhE26mUvFjuOqnS3t1eiGSkxlMC","object":"chat.completion.chunk","created":1777655524,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"tPo2G"} + data: {"id":"chatcmpl-DeMgpIt1cDnYcesEsrV1mQTJw7DFJ","object":"chat.completion.chunk","created":1778512711,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3620f71984","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"FIkhZ"} - data: {"id":"chatcmpl-DalhE26mUvFjuOqnS3t1eiGSkxlMC","object":"chat.completion.chunk","created":1777655524,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"7yMPnb98mCJ"} + data: {"id":"chatcmpl-DeMgpIt1cDnYcesEsrV1mQTJw7DFJ","object":"chat.completion.chunk","created":1778512711,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3620f71984","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"qbwIalLeXB2"} data: [DONE] @@ -83,13 +83,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068b1fac038e1-YYZ + - 9fa2281d8e51de44-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 01 May 2026 17:12:04 GMT + - Mon, 11 May 2026 15:18:31 GMT Server: - cloudflare Strict-Transport-Security: @@ -105,15 +105,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '253' + - '201' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=eDIrTGGiXQ4u1b3ufXQvibqTamjkqGFs8KDsjfOS9eM-1777655524.162081-1.0.1.1-0tmjO.wjswAHKZlhUFfrKgcivMoB7IR8MFiTUHV4o69kyRzZlElJMK6SnarAAb2pGj9uEF4zo3EpcMd_Is3_dSa1KsyC1KVHOVHhTf7NwxvMPOo16ApwiOS54YN1PhPS; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:04 GMT + - __cf_bm=Rwyju7UNxk_iD5IEJ.UfFIaJ.fhqgZfS_cZg_bGbhlM-1778512711.2905116-1.0.1.1-wIDI50dHTy.cZQwaa1143963JlVHA_35ypFPdr7Wdbe7pmvYehWJFVoQX3RF_QY13nidR0xrz3Pdvv6XYj.57ztCSPGK.qcsmVGhtOyKHrHlGxLJDsdWbgrzsSWl8K2l; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:31 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -123,13 +123,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999997' + - '149999995' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_e226309c84a94b3a9d20853e5d19788d + - req_602f47ad3b71435995d27a92c32e372c status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_stream_structured_output.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_stream_structured_output.yaml index 741ad4aa..e98a8b46 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_stream_structured_output.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_stream_structured_output.yaml @@ -17,7 +17,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -27,7 +27,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -40,50 +40,50 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DalhQ8j1tyBia7mnmNc6hveNYTAuZ","object":"chat.completion.chunk","created":1777655536,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3084892da3","choices":[{"index":0,"delta":{"role":"assistant","content":null,"tool_calls":[{"index":0,"id":"call_GgZ64vSvYN0suPkNmFfDNbyP","type":"function","function":{"name":"final_result","arguments":""}}],"refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"GXO"} + string: 'data: {"id":"chatcmpl-DeMh58tFWvoBVG9En7DdMRnvkRNVu","object":"chat.completion.chunk","created":1778512727,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f9748774de","choices":[{"index":0,"delta":{"role":"assistant","content":null,"tool_calls":[{"index":0,"id":"call_RtqyWS2mmiUVkzP9vOJYSCuZ","type":"function","function":{"name":"final_result","arguments":""}}],"refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"7Ch"} - data: {"id":"chatcmpl-DalhQ8j1tyBia7mnmNc6hveNYTAuZ","object":"chat.completion.chunk","created":1777655536,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3084892da3","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"{\""}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"MOrkEmk36gXJVA"} + data: {"id":"chatcmpl-DeMh58tFWvoBVG9En7DdMRnvkRNVu","object":"chat.completion.chunk","created":1778512727,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f9748774de","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"{\""}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"avCKypFoX9YiaA"} - data: {"id":"chatcmpl-DalhQ8j1tyBia7mnmNc6hveNYTAuZ","object":"chat.completion.chunk","created":1777655536,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3084892da3","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"name"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"8stWvm0arIVYt"} + data: {"id":"chatcmpl-DeMh58tFWvoBVG9En7DdMRnvkRNVu","object":"chat.completion.chunk","created":1778512727,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f9748774de","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"name"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"No6qFgc1VuQGn"} - data: {"id":"chatcmpl-DalhQ8j1tyBia7mnmNc6hveNYTAuZ","object":"chat.completion.chunk","created":1777655536,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3084892da3","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\":\""}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"YOnA6xU9Bbkl"} + data: {"id":"chatcmpl-DeMh58tFWvoBVG9En7DdMRnvkRNVu","object":"chat.completion.chunk","created":1778512727,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f9748774de","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\":\""}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Gk3wVgRu20Zy"} - data: {"id":"chatcmpl-DalhQ8j1tyBia7mnmNc6hveNYTAuZ","object":"chat.completion.chunk","created":1777655536,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3084892da3","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"Wireless"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"BKVkghQGH"} + data: {"id":"chatcmpl-DeMh58tFWvoBVG9En7DdMRnvkRNVu","object":"chat.completion.chunk","created":1778512727,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f9748774de","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"Wireless"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"jHXVDn8wy"} - data: {"id":"chatcmpl-DalhQ8j1tyBia7mnmNc6hveNYTAuZ","object":"chat.completion.chunk","created":1777655536,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3084892da3","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":" - Mouse"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"qebMR3tivpk"} + data: {"id":"chatcmpl-DeMh58tFWvoBVG9En7DdMRnvkRNVu","object":"chat.completion.chunk","created":1778512727,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f9748774de","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":" + Mouse"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"PYquCkdPCpK"} - data: {"id":"chatcmpl-DalhQ8j1tyBia7mnmNc6hveNYTAuZ","object":"chat.completion.chunk","created":1777655536,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3084892da3","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\",\""}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"tnfj32QR9kx5"} + data: {"id":"chatcmpl-DeMh58tFWvoBVG9En7DdMRnvkRNVu","object":"chat.completion.chunk","created":1778512727,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f9748774de","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\",\""}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"0l2U2U4HUdOz"} - data: {"id":"chatcmpl-DalhQ8j1tyBia7mnmNc6hveNYTAuZ","object":"chat.completion.chunk","created":1777655536,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3084892da3","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"price"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"mGEqExcCoR1J"} + data: {"id":"chatcmpl-DeMh58tFWvoBVG9En7DdMRnvkRNVu","object":"chat.completion.chunk","created":1778512727,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f9748774de","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"price"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"6PgXVVyJUp1M"} - data: {"id":"chatcmpl-DalhQ8j1tyBia7mnmNc6hveNYTAuZ","object":"chat.completion.chunk","created":1777655536,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3084892da3","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\":"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"CenwL5K2qIUQ61"} + data: {"id":"chatcmpl-DeMh58tFWvoBVG9En7DdMRnvkRNVu","object":"chat.completion.chunk","created":1778512727,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f9748774de","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\":"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ZL4AletljdXWMX"} - data: {"id":"chatcmpl-DalhQ8j1tyBia7mnmNc6hveNYTAuZ","object":"chat.completion.chunk","created":1777655536,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3084892da3","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"29"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"b9K1u28Hc6OEdrw"} + data: {"id":"chatcmpl-DeMh58tFWvoBVG9En7DdMRnvkRNVu","object":"chat.completion.chunk","created":1778512727,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f9748774de","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"29"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Oem7cZ6tZcGirvj"} - data: {"id":"chatcmpl-DalhQ8j1tyBia7mnmNc6hveNYTAuZ","object":"chat.completion.chunk","created":1777655536,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3084892da3","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"."}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":""} + data: {"id":"chatcmpl-DeMh58tFWvoBVG9En7DdMRnvkRNVu","object":"chat.completion.chunk","created":1778512727,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f9748774de","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"."}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":""} - data: {"id":"chatcmpl-DalhQ8j1tyBia7mnmNc6hveNYTAuZ","object":"chat.completion.chunk","created":1777655536,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3084892da3","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"99"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"0TDedMObQSZncTC"} + data: {"id":"chatcmpl-DeMh58tFWvoBVG9En7DdMRnvkRNVu","object":"chat.completion.chunk","created":1778512727,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f9748774de","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"99"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"WxOOv6F3I6fYSOR"} - data: {"id":"chatcmpl-DalhQ8j1tyBia7mnmNc6hveNYTAuZ","object":"chat.completion.chunk","created":1777655536,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3084892da3","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"}"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":""} + data: {"id":"chatcmpl-DeMh58tFWvoBVG9En7DdMRnvkRNVu","object":"chat.completion.chunk","created":1778512727,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f9748774de","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"}"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":""} - data: {"id":"chatcmpl-DalhQ8j1tyBia7mnmNc6hveNYTAuZ","object":"chat.completion.chunk","created":1777655536,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3084892da3","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"tool_calls"}],"usage":null,"obfuscation":"7DYrvY0eaqsyIXv"} + data: {"id":"chatcmpl-DeMh58tFWvoBVG9En7DdMRnvkRNVu","object":"chat.completion.chunk","created":1778512727,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f9748774de","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"tool_calls"}],"usage":null,"obfuscation":"uT41nxceAvMhMbd"} - data: {"id":"chatcmpl-DalhQ8j1tyBia7mnmNc6hveNYTAuZ","object":"chat.completion.chunk","created":1777655536,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_3084892da3","choices":[],"usage":{"prompt_tokens":60,"completion_tokens":21,"total_tokens":81,"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":"KPd8MVtklH"} + data: {"id":"chatcmpl-DeMh58tFWvoBVG9En7DdMRnvkRNVu","object":"chat.completion.chunk","created":1778512727,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f9748774de","choices":[],"usage":{"prompt_tokens":60,"completion_tokens":21,"total_tokens":81,"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":"PV7DEmy4zL"} data: [DONE] @@ -94,13 +94,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5069019ef7ec72-YYZ + - 9fa2287e78eb0702-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 01 May 2026 17:12:17 GMT + - Mon, 11 May 2026 15:18:47 GMT Server: - cloudflare Strict-Transport-Security: @@ -116,15 +116,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '375' + - '525' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=e_t7dayXh2RStlIA1DYpzYVzpUTtcDvAOAagk10Yw6w-1777655536.8943522-1.0.1.1-y8MGMExMusberK6xoXej9T9snnGGc5HqLLCPsAYcEtV8aWRA2nRruluiqRPxvik.OjIgT5bo1Ba.LHbCLo8UbjLXS5GzNKpJTXb7jHsgjJo05BsGW6AR4LAx.VsT4T9v; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:17 GMT + - __cf_bm=lmSx4C1k7XsmChdscvj50eUotjk0.3loLlb680Y8twk-1778512726.7978463-1.0.1.1-RVN2pEhtimXuwfivGy9Y0V0RBymF60iqUQlyd58U9JaAwHVo0twr3pq6rA_F02vrD55QypBSCMgLy8MQzNwWksF.uS7AiIrTEl350jjXkxwLAK_VdfY1lJVDXZUAJmTb; + HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, + 11 May 2026 15:48:47 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -134,13 +134,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999985' + - '149999987' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_a7bbb00aca1a47b8bec66982b867aa22 + - req_6c4437091a024b7ab93f30fb06909b8c status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_stream_sync.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_stream_sync.yaml index 31ab9789..010e8344 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_stream_sync.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_stream_sync.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,39 +38,39 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DalhDmt8FCI23kHiZ4FRLAvMxwDbw","object":"chat.completion.chunk","created":1777655523,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"n6AsArbVs"} + string: 'data: {"id":"chatcmpl-DeMgoU7MhCn81JsYhc0J3dTNDYnbo","object":"chat.completion.chunk","created":1778512710,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"atPMXmjBF"} - data: {"id":"chatcmpl-DalhDmt8FCI23kHiZ4FRLAvMxwDbw","object":"chat.completion.chunk","created":1777655523,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ms0xGTxq9h"} + data: {"id":"chatcmpl-DeMgoU7MhCn81JsYhc0J3dTNDYnbo","object":"chat.completion.chunk","created":1778512710,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"2BfKqwdVl3"} - data: {"id":"chatcmpl-DalhDmt8FCI23kHiZ4FRLAvMxwDbw","object":"chat.completion.chunk","created":1777655523,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"l66NdIHn89"} + data: {"id":"chatcmpl-DeMgoU7MhCn81JsYhc0J3dTNDYnbo","object":"chat.completion.chunk","created":1778512710,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"g1Yoy74zHg"} - data: {"id":"chatcmpl-DalhDmt8FCI23kHiZ4FRLAvMxwDbw","object":"chat.completion.chunk","created":1777655523,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"jF4awhoh6J"} + data: {"id":"chatcmpl-DeMgoU7MhCn81JsYhc0J3dTNDYnbo","object":"chat.completion.chunk","created":1778512710,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Ncs26cYRaX"} - data: {"id":"chatcmpl-DalhDmt8FCI23kHiZ4FRLAvMxwDbw","object":"chat.completion.chunk","created":1777655523,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Yla616loXn"} + data: {"id":"chatcmpl-DeMgoU7MhCn81JsYhc0J3dTNDYnbo","object":"chat.completion.chunk","created":1778512710,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"1qPgZUDPZ1"} - data: {"id":"chatcmpl-DalhDmt8FCI23kHiZ4FRLAvMxwDbw","object":"chat.completion.chunk","created":1777655523,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"pyhtk5P3zP"} + data: {"id":"chatcmpl-DeMgoU7MhCn81JsYhc0J3dTNDYnbo","object":"chat.completion.chunk","created":1778512710,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"WkkTGCiMgc"} - data: {"id":"chatcmpl-DalhDmt8FCI23kHiZ4FRLAvMxwDbw","object":"chat.completion.chunk","created":1777655523,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"QYL5dJzOwU"} + data: {"id":"chatcmpl-DeMgoU7MhCn81JsYhc0J3dTNDYnbo","object":"chat.completion.chunk","created":1778512710,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ZNa2QPmbes"} - data: {"id":"chatcmpl-DalhDmt8FCI23kHiZ4FRLAvMxwDbw","object":"chat.completion.chunk","created":1777655523,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Npqxcuxizp"} + data: {"id":"chatcmpl-DeMgoU7MhCn81JsYhc0J3dTNDYnbo","object":"chat.completion.chunk","created":1778512710,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"PLqlttvWJV"} - data: {"id":"chatcmpl-DalhDmt8FCI23kHiZ4FRLAvMxwDbw","object":"chat.completion.chunk","created":1777655523,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"uSIwjfnGzN"} + data: {"id":"chatcmpl-DeMgoU7MhCn81JsYhc0J3dTNDYnbo","object":"chat.completion.chunk","created":1778512710,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"swJIxMzhvp"} - data: {"id":"chatcmpl-DalhDmt8FCI23kHiZ4FRLAvMxwDbw","object":"chat.completion.chunk","created":1777655523,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"belb6"} + data: {"id":"chatcmpl-DeMgoU7MhCn81JsYhc0J3dTNDYnbo","object":"chat.completion.chunk","created":1778512710,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"NnS2j"} - data: {"id":"chatcmpl-DalhDmt8FCI23kHiZ4FRLAvMxwDbw","object":"chat.completion.chunk","created":1777655523,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"Jb0GVHBBL6S"} + data: {"id":"chatcmpl-DeMgoU7MhCn81JsYhc0J3dTNDYnbo","object":"chat.completion.chunk","created":1778512710,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"VhpXFjBg8pO"} data: [DONE] @@ -81,13 +81,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068ae5873ac06-YYZ + - 9fa22819deeaabeb-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 01 May 2026 17:12:03 GMT + - Mon, 11 May 2026 15:18:31 GMT Server: - cloudflare Strict-Transport-Security: @@ -103,15 +103,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '190' + - '324' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=zWb527bJnF.960FbwVqYbD0bSRNGmKAJPwSrdC6a0gk-1777655523.5783484-1.0.1.1-IdqG9Dj7wI6pJEOxoMlAWjdAJ26UC0GRfEAZ8yZ_A1fhdLnEm6EwJ4z5yWY4ubNIfbv_mVkMzTkTm_1Np5A_ejlbbXJL79K4ilcsotPAXDXTXDCC.03ZeVETsyoysHLD; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:03 GMT + - __cf_bm=P5Xt9cBruiJoZSqbtRULVYK5acDWZzx3OKouGF18ki4-1778512710.6946957-1.0.1.1-A4rUNhzfUaMY_UFSQb7eZUXr77j3lyT2F.GULST1Z7.KzSTZktlyuHN2_jqtqLnttCZNrb.37gQ9_QuR3rJdwMPUOGq1fqlM26LWnMA_ofZ_p2Llf8fXoGU9PFJHNbdu; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:31 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -127,7 +127,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_5af6c77d897649a99b689146a98ce68e + - req_ed9f31cba6a34d06a07db2b51f76e83c status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_sync.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_sync.yaml index 57a4d3b5..fa94a8cc 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_sync.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_run_sync.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -39,8 +39,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalgtaUmdoqaN3v3SwXjNAhl78wor\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655503,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMgLETn172ruozU6d7gmzo2EQfIG\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512681,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"4\",\n \"refusal\": null,\n \ \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": @@ -49,18 +49,18 @@ interactions: 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_65e01686b7\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_65d291db15\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068326d61abc1-YYZ + - 9fa227615ab4ab66-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:11:44 GMT + - Mon, 11 May 2026 15:18:01 GMT Server: - cloudflare Strict-Transport-Security: @@ -78,15 +78,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '389' + - '217' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=jOgoF0ZqwSdRJUzkvUl.Q2dUXRB4VzynF_tsa0S3zZ0-1777655503.7509596-1.0.1.1-gxuzRTRndEK8ZdyvHyQ0aEdIMU0vgnVZqZYcQp3TyS_uYb.jkIfUDATLmD_tJP3j3oc4Ea36dbGnGnfQNFGRf3Np0Zo50ZUmNaZKDYXfUUEtrtu_oPRsFlE4t3g0awJL; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:41:44 GMT + - __cf_bm=NuSScfCgdcrbs6hDIcvJJSPhztHP3iKGzDIKFxFP6iA-1778512681.1807141-1.0.1.1-ihUCxaBbWxrqLWPd157XASJPo4whGNFI6seZ63HSVYl9po2nm9stuzZw5El9nKSdbBa0CiUPmWMVtnuJDKBVtondBXBR8i4zK0esOEeIDxPwuTk7zMvtfwFq18jN3D9Z; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:01 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -102,7 +102,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_1b9816f1315647f69c2bcf03ff70b19a + - req_589866605f5e4af38c38a5db9fc37780 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_stream_buffer_pattern_early_return.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_stream_buffer_pattern_early_return.yaml index a79d25c8..9d2f1cf5 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_stream_buffer_pattern_early_return.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_stream_buffer_pattern_early_return.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,59 +38,56 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DalhIKylJM3lk5C2iCGEJsYVf7X9z","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_0628d073e2","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"19BNAxHvW"} + string: 'data: {"id":"chatcmpl-DeMguVfgjReJJgdSamtAh65faSuQs","object":"chat.completion.chunk","created":1778512716,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"H8AVTFMRw"} - data: {"id":"chatcmpl-DalhIKylJM3lk5C2iCGEJsYVf7X9z","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_0628d073e2","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"SmoWr5d9ON"} + data: {"id":"chatcmpl-DeMguVfgjReJJgdSamtAh65faSuQs","object":"chat.completion.chunk","created":1778512716,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"AyjtirV6uo"} - data: {"id":"chatcmpl-DalhIKylJM3lk5C2iCGEJsYVf7X9z","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_0628d073e2","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"DRNew550gM"} + data: {"id":"chatcmpl-DeMguVfgjReJJgdSamtAh65faSuQs","object":"chat.completion.chunk","created":1778512716,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gK2FtzbpJH"} - data: {"id":"chatcmpl-DalhIKylJM3lk5C2iCGEJsYVf7X9z","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_0628d073e2","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Qi1dl2CWnz"} + data: {"id":"chatcmpl-DeMguVfgjReJJgdSamtAh65faSuQs","object":"chat.completion.chunk","created":1778512716,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"TfuoRiyJOm"} - data: {"id":"chatcmpl-DalhIKylJM3lk5C2iCGEJsYVf7X9z","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_0628d073e2","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"PMx1i65KsX"} + data: {"id":"chatcmpl-DeMguVfgjReJJgdSamtAh65faSuQs","object":"chat.completion.chunk","created":1778512716,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"il680Yz8YR"} - data: {"id":"chatcmpl-DalhIKylJM3lk5C2iCGEJsYVf7X9z","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_0628d073e2","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"k0wa3C2h6Z"} + data: {"id":"chatcmpl-DeMguVfgjReJJgdSamtAh65faSuQs","object":"chat.completion.chunk","created":1778512716,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Rl10HkIIRk"} - data: {"id":"chatcmpl-DalhIKylJM3lk5C2iCGEJsYVf7X9z","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_0628d073e2","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"RVY5yc0sQa"} + data: {"id":"chatcmpl-DeMguVfgjReJJgdSamtAh65faSuQs","object":"chat.completion.chunk","created":1778512716,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"LsXvpkJzkU"} - data: {"id":"chatcmpl-DalhIKylJM3lk5C2iCGEJsYVf7X9z","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_0628d073e2","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"W3vEsWbuav"} + data: {"id":"chatcmpl-DeMguVfgjReJJgdSamtAh65faSuQs","object":"chat.completion.chunk","created":1778512716,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"1htzb95ekS"} - data: {"id":"chatcmpl-DalhIKylJM3lk5C2iCGEJsYVf7X9z","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_0628d073e2","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"DQgeW82Btt"} + data: {"id":"chatcmpl-DeMguVfgjReJJgdSamtAh65faSuQs","object":"chat.completion.chunk","created":1778512716,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"zHIw0iCXvX"} - data: {"id":"chatcmpl-DalhIKylJM3lk5C2iCGEJsYVf7X9z","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_0628d073e2","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"J8qMKjXpGp"} + data: {"id":"chatcmpl-DeMguVfgjReJJgdSamtAh65faSuQs","object":"chat.completion.chunk","created":1778512716,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"0jmK11lnEY"} - data: {"id":"chatcmpl-DalhIKylJM3lk5C2iCGEJsYVf7X9z","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_0628d073e2","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"NSdpyMd8rJ"} + data: {"id":"chatcmpl-DeMguVfgjReJJgdSamtAh65faSuQs","object":"chat.completion.chunk","created":1778512716,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"BsuzvmW8w5"} - data: {"id":"chatcmpl-DalhIKylJM3lk5C2iCGEJsYVf7X9z","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_0628d073e2","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"S1ElheiT7D"} + data: {"id":"chatcmpl-DeMguVfgjReJJgdSamtAh65faSuQs","object":"chat.completion.chunk","created":1778512716,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"OK2p3W0NsL"} - data: {"id":"chatcmpl-DalhIKylJM3lk5C2iCGEJsYVf7X9z","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_0628d073e2","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"MtdhLfOJkH"} + data: {"id":"chatcmpl-DeMguVfgjReJJgdSamtAh65faSuQs","object":"chat.completion.chunk","created":1778512716,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"xr7auv4oWE"} - data: {"id":"chatcmpl-DalhIKylJM3lk5C2iCGEJsYVf7X9z","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_0628d073e2","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"vx8Plw5MSo"} + data: {"id":"chatcmpl-DeMguVfgjReJJgdSamtAh65faSuQs","object":"chat.completion.chunk","created":1778512716,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"BjRDfhQBqH"} - data: {"id":"chatcmpl-DalhIKylJM3lk5C2iCGEJsYVf7X9z","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_0628d073e2","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"XhApt8O3cD"} + data: {"id":"chatcmpl-DeMguVfgjReJJgdSamtAh65faSuQs","object":"chat.completion.chunk","created":1778512716,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"QeQk3"} - data: {"id":"chatcmpl-DalhIKylJM3lk5C2iCGEJsYVf7X9z","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_0628d073e2","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"BQOKS"} - - - data: {"id":"chatcmpl-DalhIKylJM3lk5C2iCGEJsYVf7X9z","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_0628d073e2","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":14,"total_tokens":28,"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":"vrFhIGfwIz"} + data: {"id":"chatcmpl-DeMguVfgjReJJgdSamtAh65faSuQs","object":"chat.completion.chunk","created":1778512716,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":13,"total_tokens":27,"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":"rGBkUwlAdC"} data: [DONE] @@ -101,13 +98,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068ce6f27c730-YYZ + - 9fa2283dea43abf1-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 01 May 2026 17:12:08 GMT + - Mon, 11 May 2026 15:18:37 GMT Server: - cloudflare Strict-Transport-Security: @@ -123,15 +120,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '125' + - '1358' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=uSGL3YZY6poeaxskNtEZUqlfFth2ZjSrKSApN_UvpUM-1777655528.7105272-1.0.1.1-2Zs6gV7AwO0oqgJgVrRhT1EnL0Ev3FXjmPUaxZuNOypbIJnIfiAD7imhw9b5n54iyTSRgPTcmxmn6wwA3qkvvBk7aUB4fIRopPdIicYQRD8QSnN8j8wCv0UFHnMgRiO_; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:08 GMT + - __cf_bm=PAyMqyLrgEMXlJMYmI3VnxF1jQvlpoldZAKdUwus5mk-1778512716.4719865-1.0.1.1-M6mPKPSXKlV0mm2dsgWLr6zv_bJav4AqTikXWWIhL_3btuqmMAAE4XWsAnKU3xBxwM2aRXYTPQwRpTsOW1UyzvC01ersEr1zvluLVuLho08GnqlJ9U5o0Kl3a.2yg_0Q; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:37 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -147,7 +144,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_df0e39f65c054de1b2cd07e6c95ef4e0 + - req_5d7f394f98124334bda3cfef67678a4d status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_stream_early_break.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_stream_early_break.yaml index 7773246e..b0f50d4a 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_stream_early_break.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_stream_early_break.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,79 +38,147 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "data: {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":\"\",\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"MhMpmPX9D\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\"Sure\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"DPCX4Z9\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\"!\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"BKmMuxhiuC\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\" - Here\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"epnNX4\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\"\u2019s\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"JB82R2aqg\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\" - the\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"u8FbkgW\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\" - count\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"s99AI\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\" - from\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"hO87Nr\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\" - \"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"Gbs0Eu2AwE\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\"1\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"gX5bJiCl8M\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\" - to\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"1BMflIMq\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\" - \"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"PpKso0Y3Wt\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\"10\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"AVB7QtasW\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\":\\n\\n\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"HB7ZMP\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\"1\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"gAvSLOCXq8\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\",\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"GodabD3ApQ\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\" - \"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"dT6zOIDbIB\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\"2\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"3VVkbYEmly\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\",\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"L7XZnVKK79\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\" - \"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"WhER9V0TN6\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\"3\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"SNjGGuTi21\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\",\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"qDADQI4X9q\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\" - \"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"MxEztLpHH7\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\"4\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"hNNb3sTqRI\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\",\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"5jATLy1qBq\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\" - \"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"ghYglgebK8\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\"5\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"TUETTN29zU\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\",\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"VG3ZlNZUHL\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\" - \"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"glEN04Rxdj\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\"6\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"P947Dz2o86\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\",\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"Eceq1taH7i\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\" - \"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"9ad13DgW54\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\"7\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"orvPmaK4fq\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\",\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"4JcLUn7TuL\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\" - \"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"rU6OIAo5Mb\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\"8\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"YTPChFNjLE\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\",\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"mS03luhA9X\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\" - \"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"OZsjf7BK2U\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\"9\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"1ptEj8QB7n\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\",\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"eOBBm7K5Gr\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\" - \"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"bFXvu5nGsB\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\"10\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"JOX196JUI\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\".\"},\"logprobs\":null,\"finish_reason\":null}],\"usage\":null,\"obfuscation\":\"eRDEXCgV0u\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}],\"usage\":null,\"obfuscation\":\"psOpP\"}\n\ndata: - {\"id\":\"chatcmpl-DalhHF8D9usNobxbXe9UQo6l7V20S\",\"object\":\"chat.completion.chunk\",\"created\":1777655527,\"model\":\"gpt-4o-mini-2024-07-18\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_1ca3ce0d51\",\"choices\":[],\"usage\":{\"prompt_tokens\":14,\"completion_tokens\":42,\"total_tokens\":56,\"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\":\"TK6FDy81KV\"}\n\ndata: - [DONE]\n\n" + string: 'data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"NXM3mixDP"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":"Sure"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"FdeyfFr"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"97WQ5pu5ie"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":" + Here"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"kUtA5d"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":" + you"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"IXUBUHF"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":" + go"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"pTm6jSLz"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":":\n\n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Qaz3Gy"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"MRFVehoz0I"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"oIpVVNZ87u"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"v1JX0ax1bv"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Pvg7jrQaU8"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"hiLnSDJWh6"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"6OA6vmaLdo"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"6Jzq6XVr2Q"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"a5081KLnZc"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"IhC9ITKrhB"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"sHZNrSj2UL"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"FPER3UNxEq"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"XKr9HpTHft"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ZRTaGiZ6WS"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"vF6dJ7Ej6l"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ldyDOj1lwB"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":"6"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"aMgNpZ9Ebo"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Y8hthzgeSO"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"i49yqK0dXd"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":"7"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"IeiqUL9j18"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"e5ULf76Zuw"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"RxEjw3Vtz1"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":"8"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"eXKHAOOyvQ"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"CwvWVGPev7"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"32fZElBE9c"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":"9"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"HbCHJLph00"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"RtCM7t8ECG"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gtcCR0zO04"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":"10"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Spk9i6GNE"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"xYg4eJHnyr"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"34Wg7"} + + + data: {"id":"chatcmpl-DeMgs0OkjSgSCHk14rdIPRYeNct5a","object":"chat.completion.chunk","created":1778512714,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b7e739e37e","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":35,"total_tokens":49,"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":"slQtFN1khm"} + + + data: [DONE] + + + ' headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068c30cddac99-YYZ + - 9fa228306ef819cf-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 01 May 2026 17:12:07 GMT + - Mon, 11 May 2026 15:18:34 GMT Server: - cloudflare Strict-Transport-Security: @@ -126,15 +194,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '237' + - '135' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=SaNziZGUlUlgSCprE0ur5Iobd6EreqRZPGfS9GtHL_c-1777655526.8898983-1.0.1.1-aQx9ogmadtBEcIf1HJeRDLAZz.WsXO5PR1g06o.X8B0Jb0NRkfKyQMXY1DupjplBFk4hlhthiIs1zWzsVFPYJqMH1ki7b0haochSJ6IgbDPFRZSigKBT5Slggoo6ALtN; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:07 GMT + - __cf_bm=jDLPHK5iN0FZKK3qnfWRBkuPSGOAW29E.ZB08mMCaDM-1778512714.3060293-1.0.1.1-Dk7gZy_85wb28LmYI5ceCcaY8fSjfOiSDBRs31Jq_2jn6zANY9cYvynUhuEad0RWNvVGHU0V3BLEwuZTgL5bvuSw9NFQPo3wi60eXG_kg7ZXOiYVfF42vlO7o0jZmz1b; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:34 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -150,7 +218,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_7a6de7c46b31417ebb405aa6206c62e5 + - req_b528f58c465849e4ae72a50e08647f48 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_structured_output.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_structured_output.yaml index 85757b6b..1caa095d 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_structured_output.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_structured_output.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -39,32 +39,33 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-Dalh4OujtjPvaImXRIzAONCj0Wfpw\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655514,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMgc7b5skyJmoNwVtGZqQcB7x7mx\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512698,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n - \ \"id\": \"call_pBshM26tneBkctQtNgjkcVC6\",\n \"type\": + \ \"id\": \"call_vdtbMDI3Fo1XMFIsoBUl2JT2\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"final_result\",\n - \ \"arguments\": \"{\\\"answer\\\":25,\\\"explanation\\\":\\\"10 - plus 15 equals 25.\\\"}\"\n }\n }\n ],\n \"refusal\": - null,\n \"annotations\": []\n },\n \"logprobs\": null,\n - \ \"finish_reason\": \"tool_calls\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": - 57,\n \"completion_tokens\": 26,\n \"total_tokens\": 83,\n \"prompt_tokens_details\": - {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": + \ \"arguments\": \"{\\\"answer\\\":25,\\\"explanation\\\":\\\"The + sum of 10 and 15 is 25, calculated by adding the two numbers together.\\\"}\"\n + \ }\n }\n ],\n \"refusal\": null,\n \"annotations\": + []\n },\n \"logprobs\": null,\n \"finish_reason\": \"tool_calls\"\n + \ }\n ],\n \"usage\": {\n \"prompt_tokens\": 57,\n \"completion_tokens\": + 38,\n \"total_tokens\": 95,\n \"prompt_tokens_details\": {\n \"cached_tokens\": + 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_576e90e2be\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_5ade802232\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068732e89086a-YYZ + - 9fa227ce98731693-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:11:55 GMT + - Mon, 11 May 2026 15:18:19 GMT Server: - cloudflare Strict-Transport-Security: @@ -78,19 +79,19 @@ interactions: alt-svc: - h3=":443"; ma=86400 content-length: - - '1122' + - '1175' openai-organization: - braintrust-data openai-processing-ms: - - '837' + - '960' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=V_uALZjmpHWMmPVY8HMmf8P4Ia_vedbR4b8KkOen60g-1777655514.107892-1.0.1.1-9R3JIRiOyuFyaH6B36jeFhpQXalJJmxO3hKctqXiRSWa19fDAtABO9EuEr0mItRXfTuTC8QSiSPb_O9UsSHOEvq_cauw0xZqNbC.Ix05jjBEwakhfSL9Y8oBiyJRX3u7; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:41:55 GMT + - __cf_bm=oMZP2gtfhVFUT.ITIx3UT0tDawJQB8WoY5sapVGsxSM-1778512698.6527803-1.0.1.1-PRnHZwgSvGCrpswVTPv3nQvVVuw0E2FulsBC2qvH2lld6olVD31ulJn13bzoY4wTDH7FCVmLUbw9pb27XPxO8nb9iHN8z84xY6PSyDOadvWtPrK2uTQb4daXxG1dxdsK; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:19 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -106,7 +107,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_63c8b54b149943d98cf5f39457a7dc31 + - req_a6e9a2651cf94c6b97335cbc66bcd2c7 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_binary_content.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_binary_content.yaml index 04707ef1..c47e56d6 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_binary_content.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_binary_content.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -39,29 +39,28 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalhJXDCM1Alt9hTEHVVFhhje482b\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655529,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMgxBfYwmj6MbwhzcF0koiHsrX8C\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512719,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": - \"assistant\",\n \"content\": \"The image appears to be a black silhouette - on a white background.\",\n \"refusal\": null,\n \"annotations\": - []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n - \ }\n ],\n \"usage\": {\n \"prompt_tokens\": 8513,\n \"completion_tokens\": - 13,\n \"total_tokens\": 8526,\n \"prompt_tokens_details\": {\n \"cached_tokens\": - 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": + \"assistant\",\n \"content\": \"The image appears to be black.\",\n + \ \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": + null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": + 8513,\n \"completion_tokens\": 7,\n \"total_tokens\": 8520,\n \"prompt_tokens_details\": + {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_ed279b101f\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_3b264ad91d\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068d33ef1ec6f-YYZ + - 9fa2284b6b06f41f-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:10 GMT + - Mon, 11 May 2026 15:18:39 GMT Server: - cloudflare Strict-Transport-Security: @@ -75,19 +74,19 @@ interactions: alt-svc: - h3=":443"; ma=86400 content-length: - - '876' + - '840' openai-organization: - braintrust-data openai-processing-ms: - - '643' + - '805' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=NdVQ6RMKMPPIAIG0mCaCUuWXPsaZ0w0SMUVrLoQLYFs-1777655529.475207-1.0.1.1-rcaDhooLlpRPGydFsXK8HOwe_be.DKkNrrdwAVINzZT0f6Z.TP4dfslhkzugDt_5ZQNMxuxwgCzSFC_9LBcDUA45_mz_KWzeDulFokerZzODgH6DlQ_eJHZDZjRmCJ.W; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:10 GMT + - __cf_bm=tfHjjGfdlnHsbm2Bx8duBa9zLLKJmq1Zh2zFsDtiWlw-1778512718.6257966-1.0.1.1-W.oYNnDnGcfqcBFn3PIh402IE8JNA7VgCZiHPe3coygiO._TMauyq05rCWVQ60aGkXFjOxrax1Un7e.u2KNE7cRJn9u061HZg3OG7iC9QTIt4BwkGNsXzeVCaYbl667v; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:39 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-input-images: @@ -101,7 +100,7 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999227' + - '149999225' x-ratelimit-reset-input-images: - 1ms x-ratelimit-reset-requests: @@ -109,7 +108,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_b310bdc317dd43a1be2c4dd04dbc296f + - req_d2351c9a61ca4f18b747682b59147508 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_custom_settings.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_custom_settings.yaml index 3b24a64e..6a235eb7 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_custom_settings.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_custom_settings.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,8 +38,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalhDKO1Ci2zSRu90sq86C7efVYre\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655523,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMgokGSFTvosBbcl2hsLeGEbGeLM\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512710,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"Hello! How can I assist you today?\",\n \ \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": @@ -48,18 +48,18 @@ interactions: {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_f266aff3a9\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_3b264ad91d\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068ab399c860b-YYZ + - 9fa22814de24ab4b-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:03 GMT + - Mon, 11 May 2026 15:18:30 GMT Server: - cloudflare Strict-Transport-Security: @@ -77,15 +77,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '308' + - '595' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=i_rtXn4XCBDp6DN2qi0ctCNgb4uOX5rxm75S_tVaYAc-1777655523.0771143-1.0.1.1-m92VLtmqm5wLSzTyB8v85n.XIInqHD2Wsj8dKytF_OeKVj04QGonPKomqJZaiH.gx2jHp1_r6o0ttbN7kfbTdDsp7brmdRLzEvx4.pbMkkKl.TYraZo.9BzuK.gCzqm.; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:03 GMT + - __cf_bm=cw8L4gu3uwvN93IO0rjVs_AGbLJo6oWW0TGOKTWmdpk-1778512709.8937051-1.0.1.1-jAXwZ8No9BmejkCx5LiylPqHquRD5IbePeLAblHjIRFn.lnWaXDbQdGr_WbRpRlCN8LTGG5Xjo8iK4qrqRYL.2B_IeHXCfP60n258.1Hcz0E3dnsxt9a4gE5uUcYzxAj; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:30 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -101,7 +101,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_63fc870da685497fb4fe412a8c1b2f30 + - req_d409af38088642b599594e0a0ad0dca5 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_document_input.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_document_input.yaml index 85403aee..ac175d9e 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_document_input.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_document_input.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -39,30 +39,31 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalhKAzg0rJyZzsPe5FsmTCdK5EN1\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655530,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMgxtbEh3gq8VWQ8YPdtULIcPfew\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512719,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": - \"assistant\",\n \"content\": \"The document is titled \\\"Test Document\\\" - and appears to contain parsed text but no specific content details are provided. - If you want to know something particular about it, please let me know!\",\n - \ \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": - null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": - 231,\n \"completion_tokens\": 37,\n \"total_tokens\": 268,\n \"prompt_tokens_details\": + \"assistant\",\n \"content\": \"The document contains parsed text labeled + as \\\"Test Document.\\\" However, without access to specific images or additional + context related to the content, I can't provide further details. If there's + a specific area or section you're interested in, let me know!\",\n \"refusal\": + null,\n \"annotations\": []\n },\n \"logprobs\": null,\n + \ \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": + 231,\n \"completion_tokens\": 47,\n \"total_tokens\": 278,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_ed279b101f\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_3b264ad91d\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068d8a891cceb-YYZ + - 9fa22851bd0b3896-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:11 GMT + - Mon, 11 May 2026 15:18:41 GMT Server: - cloudflare Strict-Transport-Security: @@ -76,19 +77,19 @@ interactions: alt-svc: - h3=":443"; ma=86400 content-length: - - '1001' + - '1067' openai-organization: - braintrust-data openai-processing-ms: - - '1161' + - '1476' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=okJtEBVwpYFju_xfSLyLDm5mRwZf5s48IJ3egctoTng-1777655530.3501227-1.0.1.1-ZsBwckZsEl0671AX5gRD_yQ0PsdXEqpT82XYcVmpBVs8uGUoYlLPk6tGMabClfoGgf07_L8qQgf4UZ3Cwuc0wcl0.6KrDaStdtdA6HHOFSmbW1Tl4N6VFoKiz95X2F_W; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:11 GMT + - __cf_bm=ymQ60wCSMQUiYzqkJ2KRgSAos4dWvjd466d5bM.4qxM-1778512719.636425-1.0.1.1-Vrel3ufxOBpa1LsCdMlWd_yevv2_VvTMrGuUwcajfrHSZ7u67RMqSwKhPT0FuSrqK.JUXwL5J7CC48pmv3A6JgP9NAxEoElKAQLV4tWAH_goQGebvzGRRHTvnEJbRcUV; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:41 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -98,13 +99,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999227' + - '149999225' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_60323e75deb2435e8e6c1e629bf41dbe + - req_1e095e5e59a546d09530a86d6ffbdf3a status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_error_handling.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_error_handling.yaml index 4cfe7bea..9c2bab1f 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_error_handling.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_error_handling.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -47,7 +47,7 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f50695539a1b1a2-YYZ + - 9fa228fa99bfab63-YYZ Connection: - keep-alive Content-Length: @@ -55,7 +55,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:30 GMT + - Mon, 11 May 2026 15:19:06 GMT Server: - cloudflare Strict-Transport-Security: @@ -69,15 +69,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '23' + - '22' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=B.5.W6yRE9IZgAZgHk83nz99.WuJmUmnScmEeSA1zOI-1777655550.2780886-1.0.1.1-_qHUI1NRl9THMwypvyUMBDOu8z6zGNMll.IL9JE8VRwlnodtTXfiQaDDvxHBAeB6RJMj7B3ywZGPJSFIJFFnaDmeSRYzRhMV2.sZa7maAVpDmzIlyxoCHRR_XqlLftgo; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:30 GMT + - __cf_bm=lsihlkwGJxPAMQoQpYqkUVo4jyeJJweszkSMoiWgBaI-1778512746.6613767-1.0.1.1-5.F7gnQBiZzo1itBs6OlL_JWr8.OpFnQYaTN7R03jcTZ8fg.xBzLkcGDJSpualBXOAgM1j1aBj5rS0b2lIr93MrQBMtOl4zmcM3LM3w9PSELGB76DPtFoPkN9Q9jGd72; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:49:06 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-input-images: @@ -99,7 +99,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_18694b72a4654f8692afff1f2c86efe3 + - req_6b2a509e38ed4e18a6dcbae7a545b4a5 status: code: 400 message: Bad Request diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_long_context.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_long_context.yaml index 27e083e1..7f962018 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_long_context.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_long_context.yaml @@ -27,7 +27,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -37,7 +37,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -50,29 +50,29 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-Dalhd2Nrt0SR4t50y2g8ghIzvdm9M\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655549,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMhOKZg6YpX3K1Iskvj0bcKW6xoF\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512746,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": - \"assistant\",\n \"content\": \"The word 'fox' appears 20 times in - the text.\",\n \"refusal\": null,\n \"annotations\": []\n },\n - \ \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n - \ \"usage\": {\n \"prompt_tokens\": 225,\n \"completion_tokens\": 13,\n - \ \"total_tokens\": 238,\n \"prompt_tokens_details\": {\n \"cached_tokens\": + \"assistant\",\n \"content\": \"The word \\\"fox\\\" appears 20 times + in the text.\",\n \"refusal\": null,\n \"annotations\": []\n + \ },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n + \ ],\n \"usage\": {\n \"prompt_tokens\": 225,\n \"completion_tokens\": + 13,\n \"total_tokens\": 238,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_8a57a0807f\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_e88d325396\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5069502d68b1a2-YYZ + - 9fa228f548e8ab54-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:30 GMT + - Mon, 11 May 2026 15:19:06 GMT Server: - cloudflare Strict-Transport-Security: @@ -86,19 +86,19 @@ interactions: alt-svc: - h3=":443"; ma=86400 content-length: - - '853' + - '855' openai-organization: - braintrust-data openai-processing-ms: - - '589' + - '650' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=CJcCTzgzW2bNQlkjv1XkVlhMrfji6_ccDRQFy2Yl6qw-1777655549.4618385-1.0.1.1-Zy5NtQ7ZTDbgEzXLtPY_yYhmGX13fijWxAu0Ie06M4QK5gvaN0fiCKcazCdvzhAqXLDSNZHBmnIOGwxejKQPnJJW7TtY6O4HrAWKMvTtgka9Zl_LV_kKgx6a8X.o_Gfb; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:30 GMT + - __cf_bm=syUErj7CSnsoSf_sNh3hdHpneO3ZpxFys9iPM0DroYc-1778512745.8039196-1.0.1.1-ffvenRDEiallFTnB2jmvFQRibAx5ZTe3zNtb68kTsSG17Ds5omlc1xSn_p_z23fHD4RTztkpI6QgIoy.kRljvxWIqPfeBT6WuuWbbU82IXEZNwcPBWzIIWsAKQYL1_l8; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:49:06 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -114,7 +114,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_c52307ab9143404e8d718cb9d1ea844e + - req_ddb26b2cd2344e2784583e455a1667e2 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_message_history.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_message_history.yaml index 5d261c35..85021f82 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_message_history.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_message_history.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,8 +38,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalhB81rTE7RphuJZigQxH3OCjjWz\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655521,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMgmuyoKp8wbDh8jNzPw0Jz2SAxq\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512708,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"Nice to meet you, Alice! How can I assist you today?\",\n \"refusal\": null,\n \"annotations\": @@ -49,18 +49,18 @@ interactions: 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_b6580bbee1\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_dac1f01875\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068a10fa4ebb5-YYZ + - 9fa2280b0c33ebc0-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:01 GMT + - Mon, 11 May 2026 15:18:29 GMT Server: - cloudflare Strict-Transport-Security: @@ -78,15 +78,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '430' + - '720' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=_VO9dWB4lXXzfILpgy39t40Prrvz3JW.il8wRHr2GdA-1777655521.4433112-1.0.1.1-5jPPLjiADiFF3re6lJj17MlWhnShUEtoBQmgyTHlNEA2USoUGvkKGxCy2Ugg0roHsncQKtRDuZa3Ok8vZyd.FgFSaOuEQ2eUMmlI.asxY9NSWjWelolZtnj_sA1Ql4r5; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:01 GMT + - __cf_bm=4hJg6xAD6cGM2YYEu90EAeSDfhP8W3SPKnXnumAknaw-1778512708.3233364-1.0.1.1-KOLQWWqyludeDHvQg6lXeQUjBlre4XMCF7fAZ3npIiVSyv3pMfZmxjAZRFzF0Iq3QXuOk8kjTqxyxVNrizL.PqBbiiy9WUoSzHTSlBg8TLU5vEwCrLB2P_uwfBN9zmDp; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:29 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -96,13 +96,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999992' + - '149999995' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_d571af7581df415cabfebd4d07add0c2 + - req_0bc7d4193a924a08b96128603ae8649d status: code: 200 message: OK @@ -122,11 +122,11 @@ interactions: Content-Type: - application/json Cookie: - - __cf_bm=_VO9dWB4lXXzfILpgy39t40Prrvz3JW.il8wRHr2GdA-1777655521.4433112-1.0.1.1-5jPPLjiADiFF3re6lJj17MlWhnShUEtoBQmgyTHlNEA2USoUGvkKGxCy2Ugg0roHsncQKtRDuZa3Ok8vZyd.FgFSaOuEQ2eUMmlI.asxY9NSWjWelolZtnj_sA1Ql4r5 + - __cf_bm=4hJg6xAD6cGM2YYEu90EAeSDfhP8W3SPKnXnumAknaw-1778512708.3233364-1.0.1.1-KOLQWWqyludeDHvQg6lXeQUjBlre4XMCF7fAZ3npIiVSyv3pMfZmxjAZRFzF0Iq3QXuOk8kjTqxyxVNrizL.PqBbiiy9WUoSzHTSlBg8TLU5vEwCrLB2P_uwfBN9zmDp Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -136,7 +136,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -149,29 +149,28 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalhCPHVCx1GwuSkEDhPWyWYgxuqf\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655522,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMgnM294Po0stDu1JWbDXPxTerfh\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512709,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": - \"assistant\",\n \"content\": \"Your name is Alice. How can I help - you today?\",\n \"refusal\": null,\n \"annotations\": []\n },\n - \ \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n - \ \"usage\": {\n \"prompt_tokens\": 38,\n \"completion_tokens\": 12,\n - \ \"total_tokens\": 50,\n \"prompt_tokens_details\": {\n \"cached_tokens\": - 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": + \"assistant\",\n \"content\": \"Your name is Alice!\",\n \"refusal\": + null,\n \"annotations\": []\n },\n \"logprobs\": null,\n + \ \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": + 38,\n \"completion_tokens\": 5,\n \"total_tokens\": 43,\n \"prompt_tokens_details\": + {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_e41290519d\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_9bf85f19f3\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068a6081dabc7-YYZ + - 9fa228111e371707-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:02 GMT + - Mon, 11 May 2026 15:18:29 GMT Server: - cloudflare Strict-Transport-Security: @@ -185,11 +184,11 @@ interactions: alt-svc: - h3=":443"; ma=86400 content-length: - - '852' + - '825' openai-organization: - braintrust-data openai-processing-ms: - - '538' + - '357' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -209,7 +208,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_da0125bda9f6455fb7d2d3ad96f223c6 + - req_11d8ca4496cc45a9827615bb0a8380d1 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_model_settings_in_metadata.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_model_settings_in_metadata.yaml index 8592f29f..443d5088 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_model_settings_in_metadata.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_model_settings_in_metadata.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,8 +38,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-Dalh5k1wanfjOu4Cccdqx9CoCsdp3\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655515,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMgepPNfz8nfvMVL2ZnKQ5Dawg8F\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512700,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"Hello! How can I assist you today?\",\n \ \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": @@ -48,18 +48,18 @@ interactions: {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_57133166c6\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_3b264ad91d\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f50687bda17ab8a-YYZ + - 9fa227d65b5b4cc4-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:11:55 GMT + - Mon, 11 May 2026 15:18:20 GMT Server: - cloudflare Strict-Transport-Security: @@ -77,15 +77,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '329' + - '758' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=dMXSG17xTsbp0_GgcBIxk8r.nFhdLnpZf9Vt5uDK3bU-1777655515.5003493-1.0.1.1-nxeziWKfN41gfvZHl.CFtQz2QcH22WsOzlsGM_6VmDMN_EPI6dXrXIDjscto9Yu_hNN6gsxfJhsvSOYy23yCQWEVyZEyqOheEz93MvCX8vWpGbVjsS34G4e94woTrkAI; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:41:55 GMT + - __cf_bm=XXymIhnnNqMFX4IRnS2_9bH_nO_Q2ndHpgtlhGR.fh0-1778512699.8930485-1.0.1.1-cRbP6.phZt72kw54vnikuxg7I8MRYeOMEvc5qo4WBUL_G65cWh58bLeCpOZygoqFn7oWuHh9RIoidTdj0R3j8naJLqKm18ghjAECR8W_OemKimJtgZT0F4Cl82V86S4m; + HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, + 11 May 2026 15:48:20 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -101,7 +101,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_5646ffe5d83647b4893ad9e411cbe7bd + - req_3a1f701b12b94e9f9e8a2e5656c26b41 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_model_settings_override_in_input.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_model_settings_override_in_input.yaml index 48748624..e73375bf 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_model_settings_override_in_input.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_model_settings_override_in_input.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,42 +38,41 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-Dalh6O2sn7zDaNyVNEse4ISNcnlYq\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655516,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMggh63k9SdCyOEEjnPmL7wYUcvL\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512702,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"Once upon a time, in a small village - nestled between rolling hills and a sparkling river, there lived a young girl - named Elara. Known for her adventurous spirit and wild imagination, Elara - spent her days exploring the lush forests and meandering paths that surrounded - her home. She often dreamed of discovering hidden treasures and ancient secrets.\\n\\nOne - sunny morning, while wandering deeper into the woods than ever before, Elara - stumbled upon a peculiar sight\u2014a small, weathered door embedded in the - trunk of a massive oak tree. Intrigued, she approached the door, noticing - intricate carvings of mythical creatures and swirling patterns adorning its - surface. Her heart raced with excitement. What could lie behind this mysterious - door?\\n\\nGathering her courage, Elara knocked softly. To her surprise, the - door creaked open, revealing a narrow staircase spiraling down into darkness. - With a mix of fear and exhilaration, she stepped inside, her heart pounding - with each careful descent. The air grew cooler and filled with a curious\",\n - \ \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": - null,\n \"finish_reason\": \"length\"\n }\n ],\n \"usage\": {\n - \ \"prompt_tokens\": 11,\n \"completion_tokens\": 200,\n \"total_tokens\": - 211,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": - 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": - 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n - \ \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_b6580bbee1\"\n}\n" + nestled between rolling hills and dense forests, there lived a young girl + named Elara. Known for her adventurous spirit and insatiable curiosity, Elara + often wandered beyond the familiar paths of her village, seeking treasures + among the wildflowers and hidden glades.\\n\\nOne sunny afternoon, while exploring + a part of the forest she had never ventured into before, Elara stumbled upon + an ancient oak tree. Its gnarled branches seemed to whisper secrets, and its + bark was adorned with intricate carvings that told tales of a forgotten time. + Intrigued, Elara approached the tree and noticed a small, shimmering object + nestled in the roots\u2014a beautifully crafted key made of silver, glinting + in the dappled sunlight.\\n\\nWith the key in hand, Elara felt a sudden rush + of excitement and determination. She knew this key was meant for something + special, and so she set off deeper into the forest, her imagination racing + with possibilities. Hours passed as she searched\",\n \"refusal\": + null,\n \"annotations\": []\n },\n \"logprobs\": null,\n + \ \"finish_reason\": \"length\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": + 11,\n \"completion_tokens\": 200,\n \"total_tokens\": 211,\n \"prompt_tokens_details\": + {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": + {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": + 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": + \"default\",\n \"system_fingerprint\": \"fp_1b483c1ec4\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f50687f2b193905-YYZ + - 9fa227dcecb04d63-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:11:59 GMT + - Mon, 11 May 2026 15:18:25 GMT Server: - cloudflare Strict-Transport-Security: @@ -87,19 +86,19 @@ interactions: alt-svc: - h3=":443"; ma=86400 content-length: - - '1848' + - '1811' openai-organization: - braintrust-data openai-processing-ms: - - '3495' + - '4007' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=hS5IIE2pilpjAR6G.cf.jPiAJcMugBE8hmJ.3_Em7x0-1777655516.0238297-1.0.1.1-9VpUjDqxbYVMCOXHEfxe0xRBe7wjmN_tLNdDG2HdCf9e0KK8VETnBRDKF2kTlJegJB3l5LQeLKrY3ss2TT5YqHfvpt0Ia6rf.hVDxspCrW3VKGWAIt4lYAgWyByFdXdV; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:41:59 GMT + - __cf_bm=ZU7jvy7rDkFWRIHii5SS4rsKt1OTLm2239.cI_nmvuM-1778512700.9657166-1.0.1.1-.AK8.Lst_0ziXu_5SpdlN4MCuSlx0qsDvJeJBOqAhLgJyIf9ud3w0U10OSzYkzAZhKQ3mEaXL5oKRY9g2SBQCIEgsSiJoQuTOJKXOPBsHcB7OfHRtBw4WwlsMl1S82kz; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:25 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -109,13 +108,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999995' + - '149999992' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_b630756a627e4c93bf7d4ebff5f03120 + - req_dd91bbebffa64d428eff81351c3ec952 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_prefill.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_prefill.yaml index ec854639..8e6c5198 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_prefill.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_prefill.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -39,29 +39,29 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalhclO5uKiqTpQieHro9Zu2Zc5XD\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655548,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMhLGQAfErgROsXbJ3xjZrSzjzY3\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512743,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": - \"assistant\",\n \"content\": \"Lines of code connect, \\nLogic dances - in the dark, \\nCreation unfolds.\",\n \"refusal\": null,\n \"annotations\": - []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n - \ }\n ],\n \"usage\": {\n \"prompt_tokens\": 35,\n \"completion_tokens\": - 16,\n \"total_tokens\": 51,\n \"prompt_tokens_details\": {\n \"cached_tokens\": + \"assistant\",\n \"content\": \"Lines of logic flow, \\nSilent whispers + on the screen, \\nDreams in code compile. \",\n \"refusal\": null,\n + \ \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": + \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 35,\n \"completion_tokens\": + 20,\n \"total_tokens\": 55,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_f266aff3a9\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_134a436b39\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f506947ac7ea450-YYZ + - 9fa228e47a0daabc-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:28 GMT + - Mon, 11 May 2026 15:19:04 GMT Server: - cloudflare Strict-Transport-Security: @@ -75,19 +75,19 @@ interactions: alt-svc: - h3=":443"; ma=86400 content-length: - - '879' + - '890' openai-organization: - braintrust-data openai-processing-ms: - - '517' + - '858' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=rCbfA2o654nhXapWvyvtcgzqvWr_TzcBTaMrW8WDIck-1777655548.1089408-1.0.1.1-1R1.mUaEYWLQ2AcC_ZDCm75Wn2WJX44k82.gINh1FbPTroAs0W0y.Ed9edpNzjukiYptKHxzoH9DqxBTGuDHyCbkyeTvvT_ZmaR62rKairu8XdhJdRjPHLE7AxAgnhMR; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:28 GMT + - __cf_bm=B9wr2TLlpxmcqcPBV.42cEIZmJd0DFmP1ZcHK6QuETI-1778512743.1205306-1.0.1.1-BDZOo.AqrPJjczxcxYJWpoRd9x4sgj7tgcelJvn1tnP58H62icDZ2sSfHfYEvBfXqWovtuHamXzEXjuFioS4V8qWSLJm0LpQ17jl1D68BLqxqFPVWN86qKMlssSifX8g; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:49:04 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -103,7 +103,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_a14fd44a0cd64daf8d92b158b2a1268e + - req_b447399fef7647a2be8f04296d6ab4d3 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_short_max_tokens.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_short_max_tokens.yaml index fbc58584..692bcd2d 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_short_max_tokens.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_short_max_tokens.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,8 +38,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalhcEvsnlsEypRfeZUWW48gw1lPC\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655548,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMhMEEezOrcIHRlADk7ckRMI1jaK\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512744,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"Artificial Intelligence (AI)\",\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n @@ -48,18 +48,18 @@ interactions: {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_b86b5e7355\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_5ade802232\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f50694c0d2bac2e-YYZ + - 9fa228eb0b23ac12-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:29 GMT + - Mon, 11 May 2026 15:19:05 GMT Server: - cloudflare Strict-Transport-Security: @@ -77,15 +77,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '475' + - '964' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=uXCVsNKl7DNn5ehB0QIIOH7vUvLL2SYLmDGbnZ0oM.A-1777655548.8050604-1.0.1.1-bkBzioHbsoAERd.OB3iQWF5MXl8upKvcgkY5Y8nkPWadB_TYjlNPDbKXXeP6BEQEJri1AdeBhm8bpHaw4S02tiPTwPrj_UWJHOo1Egm_en9J0G8cVuZBuDtXopUvCzPP; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:29 GMT + - __cf_bm=55NVJHE22gZOtsk7IHjVrZ.UKTi6A_D2APjg7mjJ8hc-1778512744.1689076-1.0.1.1-KErgn37sM8oPKCP6iPKjgArnmY6ppNSlCJCSceXzIiJG_9s0VZ4lQoOb9EoaLuOTwwprAuYMdagyl06RPGy1wFVQH.XUiZQhDMgYaltRs.BzX._N4GmP3BSdCrY.0lVu; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:49:05 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -101,7 +101,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_704a21cffd36470ea44a0325b7f2e1cd + - req_9740109fc6524123a1c0b964cfd6ef66 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_stop_sequences.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_stop_sequences.yaml index 1b0ea4af..fe43e028 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_stop_sequences.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_stop_sequences.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,35 +38,34 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalhZUHm58jutsskrf6fp5Gvi0CUf\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655545,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMhJq7P3G6We7NTOo5QB0IKhYYHu\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512741,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": - \"assistant\",\n \"content\": \"In the not-so-distant future, in a - city that sparkled with neon lights and moving walkways, there lived a robot - named PAX-7. PAX-7 was not like the other robots, built for menial tasks or - precise calculations. Instead, PAX-7 was designed to understand emotions, - foster creativity, and inspire connection among people. Its creators envisioned - a world where humans and robots could collaborate and support one another, - but PAX-7's mission felt especially challenging in a world where technology - often kept people isolated.\",\n \"refusal\": null,\n \"annotations\": + \"assistant\",\n \"content\": \"In a world where the sky shimmered + like liquid metal and the air hummed with the soft whispers of technology, + there lived a robot named Tinker. Tinker was designed for one purpose: to + repair and maintain the wondrous gadgets that populated the bustling city + of Neo-Arcadia. With a body made from bright chrome and eyes that glowed a + gentle blue, he was a familiar sight gliding through the streets with a toolkit + slung across his shoulder.\",\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n \ }\n ],\n \"usage\": {\n \"prompt_tokens\": 15,\n \"completion_tokens\": - 109,\n \"total_tokens\": 124,\n \"prompt_tokens_details\": {\n \"cached_tokens\": + 93,\n \"total_tokens\": 108,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_de7acce317\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_22f51daea7\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f506934880aa22e-YYZ + - 9fa228d5a911aa95-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:27 GMT + - Mon, 11 May 2026 15:19:03 GMT Server: - cloudflare Strict-Transport-Security: @@ -80,19 +79,19 @@ interactions: alt-svc: - h3=":443"; ma=86400 content-length: - - '1329' + - '1247' openai-organization: - braintrust-data openai-processing-ms: - - '2709' + - '2175' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=0d8QSUUK9N2ZtgDB_ISdlWuE8F._O8zMbmZ.UUC.tpg-1777655545.051021-1.0.1.1-6C6qA1kySaAOBONdxV19IzeJWJvh0ExBDeakBnm_x6ARLFnmiUy5wI1DZAfXoZsiFmyXCaXyjiX7ucP9mKbEVmflzLv3BxrwKDHzWbJRJTWWCyT3K8_klCE687w5ZEW8; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:27 GMT + - __cf_bm=CCuLZ10Y_tSpwFj_TxOrelAUzswaUIMy2nUPhEq2S6I-1778512740.7467968-1.0.1.1-c99DRQDsgWi4Nv.sXl09uGSqgexVlkT_sRDX9zzehdGyIyFyEJmqFEBI.zZBiILKNINooHd67EWYtDHnk4JxdmTy0scvSxN_Jncw2YjgQFlDhwg3eMjQt.xJZ8hW9xkL; + HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, + 11 May 2026 15:49:03 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -108,7 +107,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_969534ed0a5f46e2bca4c5e08f29580b + - req_edb78b81eb4f48f288c0629e3c7a2085 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_system_prompt_in_metadata.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_system_prompt_in_metadata.yaml index c63a27ae..fb63844a 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_system_prompt_in_metadata.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_system_prompt_in_metadata.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -39,30 +39,32 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalhAwdkwWyEEmZP9wlEzZHhJLD0a\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655520,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMgkkVs0TerrMA2aRPx7BKKovSFv\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512706,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": - \"assistant\",\n \"content\": \"Arrr, matey! I be not havin' the ability - to check the weather in real time. Ye can consult a trusty weather app or - look outside to see what the skies be tellin' ye! What say ye?\",\n \"refusal\": - null,\n \"annotations\": []\n },\n \"logprobs\": null,\n - \ \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": - 28,\n \"completion_tokens\": 47,\n \"total_tokens\": 75,\n \"prompt_tokens_details\": - {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": + \"assistant\",\n \"content\": \"Arrr, me hearty! I be no weather bard, + but ye can find the day\u2019s forecast by consultin\u2019 yer trusty weather + maps or apps. Just as the tides be ever-changin\u2019, so be the weather, + savvy? If ye be lookin\u2019 fer sunny skies or a stormy sea, ye best be checkin' + the charts!\",\n \"refusal\": null,\n \"annotations\": []\n + \ },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n + \ ],\n \"usage\": {\n \"prompt_tokens\": 28,\n \"completion_tokens\": + 72,\n \"total_tokens\": 100,\n \"prompt_tokens_details\": {\n \"cached_tokens\": + 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_845d726e38\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_6b1e1d7ece\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f50689728393b8e-YYZ + - 9fa227faab99ac03-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:01 GMT + - Mon, 11 May 2026 15:18:28 GMT Server: - cloudflare Strict-Transport-Security: @@ -76,19 +78,19 @@ interactions: alt-svc: - h3=":443"; ma=86400 content-length: - - '984' + - '1080' openai-organization: - braintrust-data openai-processing-ms: - - '1392' + - '2130' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=S.oo83Qm4qH5.d.1TITlRhWgnIQfw1kzJKEv6AuUvwo-1777655519.8612294-1.0.1.1-ODDj.OAbv3tehwdgKaSTN4JZyZ.CSJAWP8wK32zww6xsGZATD4982b_eGmQmgNIo7tG4nQU9b7tgVGwMCnZFyBwokwnRsS7jXJ1nHtMBxgbqujaVbTWg1RcWVxKiY63t; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:01 GMT + - __cf_bm=jU69clO5_wcBLNBc0jQ8yuc7AkNSxYdLBz.aX8z..yk-1778512705.702994-1.0.1.1-ICAjV8.z2gGEshllSQPOPg9RhD4_nxrVUIiFO2pMQYeXrOQ4vSIHj1wQld4uEYbkq3AoACfBMuL3uoxIKOU_bXf19upEQlp3soB4Shq6iu0fhyHZxGYtConhDAtixDo6; + HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, + 11 May 2026 15:48:28 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -98,13 +100,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999977' + - '149999980' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_47851b58b690461fabc87a4861414568 + - req_2b296f7abf61491a905dece5d34cbacf status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_tool_execution.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_tool_execution.yaml index 2819b529..79e47f4e 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_tool_execution.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_tool_execution.yaml @@ -18,7 +18,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -28,7 +28,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -41,11 +41,11 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalhLtV4up64MPqkE323sTAsTAtoJ\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655531,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMgze3kwnRI5G7ZgyXHoCaPJfQ0p\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512721,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n - \ \"id\": \"call_scyk5GjOYhKDE7IIKIkCqRHp\",\n \"type\": + \ \"id\": \"call_Sr3HQn26o3U9MLhTV1LpDWJK\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"calculate\",\n \ \"arguments\": \"{\\\"operation\\\":\\\"multiply\\\",\\\"a\\\":127,\\\"b\\\":49}\"\n \ }\n }\n ],\n \"refusal\": null,\n \"annotations\": @@ -55,18 +55,18 @@ interactions: 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_b6580bbee1\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_f6834ac66f\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068e1096d90a8-YYZ + - 9fa2285cbb9bac00-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:12 GMT + - Mon, 11 May 2026 15:18:42 GMT Server: - cloudflare Strict-Transport-Security: @@ -84,15 +84,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '856' + - '730' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=2feqWuBMGzY0d_fwLM35ZTE1rZJdmv_jEt06DAbzjAU-1777655531.6867423-1.0.1.1-A6WXEPumCnBpfHwxOp1BvxP0_tVQVP3QpJN7rFWCFVK8oEzx.y3xBE4mySYGr4HVoXC5b8fjhp67tt2RdMME.Sdqix58n_KO1pCr18YM0amCp7R2iwYo7bK6cbwpfdsQ; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:12 GMT + - __cf_bm=kQIkFxueHzEa3tj5zpHnf7Y.05SfvMZlbuyiU6ghyPY-1778512721.3945942-1.0.1.1-sETZCozyANRPj79HebhfxDCka80GtpfJUmS.iq0rCoOorkW6M_ClU5GRCzmtdr2KgJVLGeJRYZ3oXjlDFIl0tSkmNq02B0mVcueb_mnqYVL1OWJL45fsi6UC3M6AaZRN; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:42 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -102,18 +102,18 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999990' + - '149999992' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_04b4fad9fde745ffbff1c993bce026b5 + - req_964ed14aa93e42669290c1951cfa5ca2 status: code: 200 message: OK - request: - body: '{"messages":[{"role":"user","content":"What is 127 multiplied by 49?"},{"role":"assistant","content":null,"tool_calls":[{"id":"call_scyk5GjOYhKDE7IIKIkCqRHp","type":"function","function":{"name":"calculate","arguments":"{\"operation\":\"multiply\",\"a\":127,\"b\":49}"}}]},{"role":"tool","tool_call_id":"call_scyk5GjOYhKDE7IIKIkCqRHp","content":"6223.0"}],"model":"gpt-4o-mini","max_completion_tokens":200,"stream":false,"tool_choice":"auto","tools":[{"type":"function","function":{"name":"calculate","description":"Perform + body: '{"messages":[{"role":"user","content":"What is 127 multiplied by 49?"},{"role":"assistant","content":null,"tool_calls":[{"id":"call_Sr3HQn26o3U9MLhTV1LpDWJK","type":"function","function":{"name":"calculate","arguments":"{\"operation\":\"multiply\",\"a\":127,\"b\":49}"}}]},{"role":"tool","tool_call_id":"call_Sr3HQn26o3U9MLhTV1LpDWJK","content":"6223.0"}],"model":"gpt-4o-mini","max_completion_tokens":200,"stream":false,"tool_choice":"auto","tools":[{"type":"function","function":{"name":"calculate","description":"Perform a mathematical calculation.","parameters":{"additionalProperties":false,"properties":{"operation":{"description":"The mathematical operation (add, subtract, multiply, divide)","type":"string"},"a":{"description":"First number","type":"number"},"b":{"description":"Second number","type":"number"}},"required":["operation","a","b"],"type":"object"},"strict":true}}]}' @@ -129,11 +129,11 @@ interactions: Content-Type: - application/json Cookie: - - __cf_bm=2feqWuBMGzY0d_fwLM35ZTE1rZJdmv_jEt06DAbzjAU-1777655531.6867423-1.0.1.1-A6WXEPumCnBpfHwxOp1BvxP0_tVQVP3QpJN7rFWCFVK8oEzx.y3xBE4mySYGr4HVoXC5b8fjhp67tt2RdMME.Sdqix58n_KO1pCr18YM0amCp7R2iwYo7bK6cbwpfdsQ + - __cf_bm=kQIkFxueHzEa3tj5zpHnf7Y.05SfvMZlbuyiU6ghyPY-1778512721.3945942-1.0.1.1-sETZCozyANRPj79HebhfxDCka80GtpfJUmS.iq0rCoOorkW6M_ClU5GRCzmtdr2KgJVLGeJRYZ3oXjlDFIl0tSkmNq02B0mVcueb_mnqYVL1OWJL45fsi6UC3M6AaZRN Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -143,7 +143,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -156,28 +156,28 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalhMmtuA3nj0XjtqZPZEiWHMyizl\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655532,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMh1c4IM6a6ouKFx0djHlr00qIJa\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512723,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": - \"assistant\",\n \"content\": \"127 multiplied by 49 is 6,223.\",\n + \"assistant\",\n \"content\": \"127 multiplied by 49 is 6223.\",\n \ \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": - 109,\n \"completion_tokens\": 12,\n \"total_tokens\": 121,\n \"prompt_tokens_details\": + 109,\n \"completion_tokens\": 11,\n \"total_tokens\": 120,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_b6580bbee1\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_f6834ac66f\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068e7998efc7d-YYZ + - 9fa228633e51ab27-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:13 GMT + - Mon, 11 May 2026 15:18:43 GMT Server: - cloudflare Strict-Transport-Security: @@ -191,11 +191,11 @@ interactions: alt-svc: - h3=":443"; ma=86400 content-length: - - '839' + - '838' openai-organization: - braintrust-data openai-processing-ms: - - '414' + - '821' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -215,7 +215,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_e816a009ebde4dbb9d965e9fb2a6602c + - req_adf151445b6c40fa947e1194bdb1037d status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_tools.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_tools.yaml index 163f0ca3..dccf912d 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_tools.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_agent_with_tools.yaml @@ -17,7 +17,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -27,7 +27,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -40,11 +40,11 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-Dalgz4t9Upw45r4OYffiyP0vCQxUp\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655509,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMgVcbfRRhVyz5ySr72Dfifum8BK\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512691,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n - \ \"id\": \"call_vgWzR2eFqcq8J9Ol1nL5k3Zv\",\n \"type\": + \ \"id\": \"call_S5t3z2ml6Hhdn9Axs8D4cCG3\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"get_weather\",\n \ \"arguments\": \"{\\\"city\\\":\\\"Paris\\\"}\"\n }\n \ }\n ],\n \"refusal\": null,\n \"annotations\": @@ -54,18 +54,18 @@ interactions: 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_57a1c65a0e\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_29ce089943\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068559a92c730-YYZ + - 9fa2279f18be57af-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:11:50 GMT + - Mon, 11 May 2026 15:18:13 GMT Server: - cloudflare Strict-Transport-Security: @@ -83,15 +83,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '595' + - '2452' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=2xu6ZNiJZzz7Ml6BG5WRuZluaFB.zdWB.YIRdZa_C3g-1777655509.3727088-1.0.1.1-3tInWB0tUQiKKv5D1sexcLxtEQjNHSEd.iKgRsFHeKgpgq.46m6KUYV83KzhA_C9MPZMDFP7mXI_U_ZHI.lEwajv88pzy4ZTlmP5oNT2FlvSfreABPXQ43YsBwcvXQL.; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:41:50 GMT + - __cf_bm=XiVZQs2mQjhxOlxyIWYjq5mBQben9zcy9KNW5_YfQBg-1778512691.057321-1.0.1.1-0UjMhQ2C63Cnz5m5Fmc3YvRoDggEUsnboctMTHJvf_gFxaQ1eAcvdvWZgEVCtUKLn44ymJJzgKBhUCnGQa6byH0atqC8iHHbwDhArYR5QJbMY.xgn675CnRihdAkWW_t; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:13 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -107,12 +107,12 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_1a17ff554b5e40f5a75d7818c2976971 + - req_1dfe005032eb43f9a292daef6ab973c5 status: code: 200 message: OK - request: - body: '{"messages":[{"role":"user","content":"What''s the weather in Paris?"},{"role":"assistant","content":null,"tool_calls":[{"id":"call_vgWzR2eFqcq8J9Ol1nL5k3Zv","type":"function","function":{"name":"get_weather","arguments":"{\"city\":\"Paris\"}"}}]},{"role":"tool","tool_call_id":"call_vgWzR2eFqcq8J9Ol1nL5k3Zv","content":"It''s + body: '{"messages":[{"role":"user","content":"What''s the weather in Paris?"},{"role":"assistant","content":null,"tool_calls":[{"id":"call_S5t3z2ml6Hhdn9Axs8D4cCG3","type":"function","function":{"name":"get_weather","arguments":"{\"city\":\"Paris\"}"}}]},{"role":"tool","tool_call_id":"call_S5t3z2ml6Hhdn9Axs8D4cCG3","content":"It''s sunny in Paris"}],"model":"gpt-4o-mini","max_completion_tokens":200,"stream":false,"tool_choice":"auto","tools":[{"type":"function","function":{"name":"get_weather","description":"Get weather for a city.","parameters":{"additionalProperties":false,"properties":{"city":{"description":"The city name","type":"string"}},"required":["city"],"type":"object"},"strict":true}}]}' @@ -128,11 +128,11 @@ interactions: Content-Type: - application/json Cookie: - - __cf_bm=2xu6ZNiJZzz7Ml6BG5WRuZluaFB.zdWB.YIRdZa_C3g-1777655509.3727088-1.0.1.1-3tInWB0tUQiKKv5D1sexcLxtEQjNHSEd.iKgRsFHeKgpgq.46m6KUYV83KzhA_C9MPZMDFP7mXI_U_ZHI.lEwajv88pzy4ZTlmP5oNT2FlvSfreABPXQ43YsBwcvXQL. + - __cf_bm=XiVZQs2mQjhxOlxyIWYjq5mBQben9zcy9KNW5_YfQBg-1778512691.057321-1.0.1.1-0UjMhQ2C63Cnz5m5Fmc3YvRoDggEUsnboctMTHJvf_gFxaQ1eAcvdvWZgEVCtUKLn44ymJJzgKBhUCnGQa6byH0atqC8iHHbwDhArYR5QJbMY.xgn675CnRihdAkWW_t Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -142,7 +142,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -155,8 +155,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-Dalh0vfzSFilfrV9Ksb18m99rRyto\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655510,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMgYvRfsrIm0KKVhMzfgx5zjN6rI\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512694,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"The weather in Paris is sunny.\",\n \ \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": @@ -165,18 +165,18 @@ interactions: {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_57a1c65a0e\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_29ce089943\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f50685a4fac74a5-YYZ + - 9fa227b11ba1ab08-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:11:50 GMT + - Mon, 11 May 2026 15:18:14 GMT Server: - cloudflare Strict-Transport-Security: @@ -194,7 +194,7 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '321' + - '475' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -214,7 +214,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_54d9f741ec5841cc875a45e58390ca2b + - req_e3c6b689062742cb92654ae23a2912ca status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_auto_pydantic_ai.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_auto_pydantic_ai.yaml index 48a67b5e..be1b808c 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_auto_pydantic_ai.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_auto_pydantic_ai.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,28 +38,28 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalhXfS9u3jReJLo2mBaYJAEtXrf0\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655543,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMhEHSHjuqZIvyoW8In7h0jrOiHj\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512736,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": - \"assistant\",\n \"content\": \"Hi there! How can I assist you today?\",\n + \"assistant\",\n \"content\": \"Hi! How can I assist you today?\",\n \ \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": - 9,\n \"completion_tokens\": 10,\n \"total_tokens\": 19,\n \"prompt_tokens_details\": + 9,\n \"completion_tokens\": 9,\n \"total_tokens\": 18,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_57133166c6\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_dac1f01875\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5069296f26a247-YYZ + - 9fa228b9caa28631-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:23 GMT + - Mon, 11 May 2026 15:18:57 GMT Server: - cloudflare Strict-Transport-Security: @@ -73,19 +73,19 @@ interactions: alt-svc: - h3=":443"; ma=86400 content-length: - - '843' + - '836' openai-organization: - braintrust-data openai-processing-ms: - - '444' + - '561' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=3z4m7T4u4Wrlrf1RLmkTn3ddQqPvaUlIGa89Em2VTRY-1777655543.2627857-1.0.1.1-z1zp0yzGZQ_Lsf4rCJ1NKI2JAzz4UBhcLfVq33U54AAvlYruxJfDdGXMuzDyAJaDoPuFyGreGdxtrEDftFs3tQuf5OJ0tF78Smh6OoBH5bZbvCzX84Bu9GBE5EcIaV.A; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:23 GMT + - __cf_bm=gnlWjtjtTiT4Nu5sjNWajZ0QeV1Cpnh2lrFfJJJDClU-1778512736.2856221-1.0.1.1-zLdfdFVygC7zpr0AUdoDyODoLSLo6o8dJsO_T1lND2HLxXOy_UCZ7HVxz8vlJFde5SUw3y5TItcYCflFjrmIpPE0Dog7jx8UibTaqD8seEwJoKYmQbjw2JRSrFUE4g45; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:57 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -101,7 +101,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_a84a90a8269b40dd8001704d44f4d93c + - req_0a366bc307d748258bfeabd62fedd878 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request.yaml index 243b1dc3..0397d4f4 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -39,8 +39,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-Dalh0b3Qe0Cw8Yv4K0pDV3G2F2Sc7\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655510,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMgYn7EWOznbr3L6FuuLtHpUJt9P\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512694,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"4\",\n \"refusal\": null,\n \ \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": @@ -49,18 +49,18 @@ interactions: 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_65e01686b7\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_65d291db15\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f50685d7be8aab6-YYZ + - 9fa227b5ca73a20e-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:11:51 GMT + - Mon, 11 May 2026 15:18:15 GMT Server: - cloudflare Strict-Transport-Security: @@ -78,15 +78,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '346' + - '402' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=njZiptMaxEMQLB3KQ_4VC2f5ercGrrwN83UKKp_PTtE-1777655510.6352835-1.0.1.1-s6ip6C8zPgl2dgaMX5EAZNNA4BBCMk4nSj_BH_eSlBMvMtOnHHPg3lWSswwpQH.3itp5FTriMdyjOFjFFSWymSekCj1wBMvTmoy09g4FFczy3_rrKfYsn85x8ZX30XhG; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:41:51 GMT + - __cf_bm=mwvzIudhkK8T0IaNtJkfs6V_6YR8csIePjVDk8RtuGY-1778512694.6939168-1.0.1.1-D6oArGn4uRmeyWORT1lWNYhc4eyuzuMPwdF026TTr.wAHUGLcufMird2_EntEqMhW8i82ii90Fe9QnLYTLWM436G_kxgZbVnsEoQYa48Yz6pCB5JuYGFPFCOHN3csqpX; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:15 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -102,7 +102,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_c004eca3c261422f9593f8ce5c250ce2 + - req_d2d475352fb348deaaee63fee0d1ccaf status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_creates_nested_chat_span_without_class_scan.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_creates_nested_chat_span_without_class_scan.yaml index 3603b96c..651f22e9 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_creates_nested_chat_span_without_class_scan.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_creates_nested_chat_span_without_class_scan.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -39,8 +39,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalgrMNXvv6xGYXBSqmSwdTm6ftae\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655501,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMgJDm3RHgGqOcRwcQRAAE317oIF\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512679,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"4\",\n \"refusal\": null,\n \ \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": @@ -49,18 +49,18 @@ interactions: 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_b86b5e7355\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_65d291db15\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068244f6ae702-YYZ + - 9fa22750685eac58-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:11:42 GMT + - Mon, 11 May 2026 15:17:59 GMT Server: - cloudflare Strict-Transport-Security: @@ -78,15 +78,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '589' + - '779' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=tKHY7EizLOfy_AfCedvKo.xcCmJYyhovUiRxW5XABeQ-1777655501.4840374-1.0.1.1-rSt1Z2xs14Y83SeUwYNuEk9sjdHD9ag_Yklvw96Q3K1T.meb39fl8A4SC_gUNBXwzDxsH80qv4hlLd1QkMDTU__VqSTykI_z5yxVN9UixjU0c6Z.l7.OmMbOFKG8AWvW; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:41:42 GMT + - __cf_bm=oRSVPDFPwH9dYXJ705R_Q4wi7OqEyUq50MTeGyzbuKU-1778512678.4652386-1.0.1.1-jp3otZQhlTERhSTCeXfrepIOu8k9kVMrxdqOPmJYA7r3rDrl9QUzCJvptQ0DBRPdlilklV4DKQUkoSAY9x.n1kLF7mrOJHTuAKemdp_QvVqRC5FDzfB2yKQojwg.Rkhe; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:47:59 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -96,13 +96,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999987' + - '149999985' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_cfd6188021754d2ebb94863bb21bca86 + - req_ca0e107ef44b45be93cfce981189e9d7 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_stream.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_stream.yaml index ad28bc92..ec7c954e 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_stream.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_stream.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,39 +38,39 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-Dalh2ONASqTjdRaH3zAmIHb8Yaz00","object":"chat.completion.chunk","created":1777655512,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"fcrFELyAW"} + string: 'data: {"id":"chatcmpl-DeMgbwfPXv4t3nrU9WRLlQk2XLegO","object":"chat.completion.chunk","created":1778512697,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"5T3t3cLVs"} - data: {"id":"chatcmpl-Dalh2ONASqTjdRaH3zAmIHb8Yaz00","object":"chat.completion.chunk","created":1777655512,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"hF5Pz6cnJf"} + data: {"id":"chatcmpl-DeMgbwfPXv4t3nrU9WRLlQk2XLegO","object":"chat.completion.chunk","created":1778512697,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"R1KJ1samHT"} - data: {"id":"chatcmpl-Dalh2ONASqTjdRaH3zAmIHb8Yaz00","object":"chat.completion.chunk","created":1777655512,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"hbYlwILvPX"} + data: {"id":"chatcmpl-DeMgbwfPXv4t3nrU9WRLlQk2XLegO","object":"chat.completion.chunk","created":1778512697,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"54fCp4KCTA"} - data: {"id":"chatcmpl-Dalh2ONASqTjdRaH3zAmIHb8Yaz00","object":"chat.completion.chunk","created":1777655512,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"RyrNe15kEH"} + data: {"id":"chatcmpl-DeMgbwfPXv4t3nrU9WRLlQk2XLegO","object":"chat.completion.chunk","created":1778512697,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"3jJEiQlgen"} - data: {"id":"chatcmpl-Dalh2ONASqTjdRaH3zAmIHb8Yaz00","object":"chat.completion.chunk","created":1777655512,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"M0J24GkaVA"} + data: {"id":"chatcmpl-DeMgbwfPXv4t3nrU9WRLlQk2XLegO","object":"chat.completion.chunk","created":1778512697,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ghIE0vxsEn"} - data: {"id":"chatcmpl-Dalh2ONASqTjdRaH3zAmIHb8Yaz00","object":"chat.completion.chunk","created":1777655512,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"LjXKz6uBpx"} + data: {"id":"chatcmpl-DeMgbwfPXv4t3nrU9WRLlQk2XLegO","object":"chat.completion.chunk","created":1778512697,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"NoOjbIXXLR"} - data: {"id":"chatcmpl-Dalh2ONASqTjdRaH3zAmIHb8Yaz00","object":"chat.completion.chunk","created":1777655512,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"KwTa9ReQDX"} + data: {"id":"chatcmpl-DeMgbwfPXv4t3nrU9WRLlQk2XLegO","object":"chat.completion.chunk","created":1778512697,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"IgJhCbnsIP"} - data: {"id":"chatcmpl-Dalh2ONASqTjdRaH3zAmIHb8Yaz00","object":"chat.completion.chunk","created":1777655512,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"7cNbSP9ZVh"} + data: {"id":"chatcmpl-DeMgbwfPXv4t3nrU9WRLlQk2XLegO","object":"chat.completion.chunk","created":1778512697,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gMALUQIiXC"} - data: {"id":"chatcmpl-Dalh2ONASqTjdRaH3zAmIHb8Yaz00","object":"chat.completion.chunk","created":1777655512,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"eNlmKPnIX4"} + data: {"id":"chatcmpl-DeMgbwfPXv4t3nrU9WRLlQk2XLegO","object":"chat.completion.chunk","created":1778512697,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"t4NHKdFmeY"} - data: {"id":"chatcmpl-Dalh2ONASqTjdRaH3zAmIHb8Yaz00","object":"chat.completion.chunk","created":1777655512,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"3wLPK"} + data: {"id":"chatcmpl-DeMgbwfPXv4t3nrU9WRLlQk2XLegO","object":"chat.completion.chunk","created":1778512697,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"ptbRz"} - data: {"id":"chatcmpl-Dalh2ONASqTjdRaH3zAmIHb8Yaz00","object":"chat.completion.chunk","created":1777655512,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"C5bG72Lguwy"} + data: {"id":"chatcmpl-DeMgbwfPXv4t3nrU9WRLlQk2XLegO","object":"chat.completion.chunk","created":1778512697,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"YEWSZvrR5Ke"} data: [DONE] @@ -81,13 +81,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f50686788e4860b-YYZ + - 9fa227c7b9c060a9-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 01 May 2026 17:11:52 GMT + - Mon, 11 May 2026 15:18:17 GMT Server: - cloudflare Strict-Transport-Security: @@ -103,15 +103,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '388' + - '143' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=AC10axSLJO5RLj4g_ASHpL_wqropVpT.TmgA6mSxDiY-1777655512.2466195-1.0.1.1-lgE8vorrMdanLbBJTQ1r8PBkzT8SXPtUPGxqQVB2C8rPIMfhCSXhurlVfPC0tv4diQNyvtDnkXXWRisNhgoZl6XYJArRHNYBlf9r0E0auu.cVK1h53arQG7eYmVWTs9A; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:41:52 GMT + - __cf_bm=5j9aUIZD0FhMNZEPM2BBOEGFVC60kAhDfFKjYXtJAGc-1778512697.5559735-1.0.1.1-fAGYSsARTtYr6kKHgEpItxuQwakZ7htjac2JLitnn5s_hrb7ILAFVsjzAqtuzItULGgJ1zdXJcreuPoO.0JmX_ppf7E0pCkqrVf7746n17uGN.4FUKIzQVdY7akg35xg; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:17 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -127,7 +127,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_7294234803a5476bae8b3c0e5baa1e94 + - req_f96266b74c2d4f5884cfe5a9fc75125a status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_stream_complete_output.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_stream_complete_output.yaml index 2f1c9191..dbc105e1 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_stream_complete_output.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_stream_complete_output.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,36 +38,36 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-Dalh3YgCieJg0wMqG3dxcnI6TsDsb","object":"chat.completion.chunk","created":1777655513,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"5w6Emb5fJ"} + string: 'data: {"id":"chatcmpl-DeMgcYbb7QVmKTwPihTmyRn3ZwP3t","object":"chat.completion.chunk","created":1778512698,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_38fd64cff5","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"bqAjLI61x"} - data: {"id":"chatcmpl-Dalh3YgCieJg0wMqG3dxcnI6TsDsb","object":"chat.completion.chunk","created":1777655513,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"eQs7uHZbUA"} + data: {"id":"chatcmpl-DeMgcYbb7QVmKTwPihTmyRn3ZwP3t","object":"chat.completion.chunk","created":1778512698,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_38fd64cff5","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"0bZHmqVrEm"} - data: {"id":"chatcmpl-Dalh3YgCieJg0wMqG3dxcnI6TsDsb","object":"chat.completion.chunk","created":1777655513,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"4MZs1vsfdU"} + data: {"id":"chatcmpl-DeMgcYbb7QVmKTwPihTmyRn3ZwP3t","object":"chat.completion.chunk","created":1778512698,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_38fd64cff5","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"TMLmQF1rvd"} - data: {"id":"chatcmpl-Dalh3YgCieJg0wMqG3dxcnI6TsDsb","object":"chat.completion.chunk","created":1777655513,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gkqK0wdoeV"} + data: {"id":"chatcmpl-DeMgcYbb7QVmKTwPihTmyRn3ZwP3t","object":"chat.completion.chunk","created":1778512698,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_38fd64cff5","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"IIlopi7IFF"} - data: {"id":"chatcmpl-Dalh3YgCieJg0wMqG3dxcnI6TsDsb","object":"chat.completion.chunk","created":1777655513,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"l25VX4OHI1"} + data: {"id":"chatcmpl-DeMgcYbb7QVmKTwPihTmyRn3ZwP3t","object":"chat.completion.chunk","created":1778512698,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_38fd64cff5","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"vON0616yvm"} - data: {"id":"chatcmpl-Dalh3YgCieJg0wMqG3dxcnI6TsDsb","object":"chat.completion.chunk","created":1777655513,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"JrWHaCv7Er"} + data: {"id":"chatcmpl-DeMgcYbb7QVmKTwPihTmyRn3ZwP3t","object":"chat.completion.chunk","created":1778512698,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_38fd64cff5","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"K3r1yOdtEN"} - data: {"id":"chatcmpl-Dalh3YgCieJg0wMqG3dxcnI6TsDsb","object":"chat.completion.chunk","created":1777655513,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"kpBRbovNDE"} + data: {"id":"chatcmpl-DeMgcYbb7QVmKTwPihTmyRn3ZwP3t","object":"chat.completion.chunk","created":1778512698,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_38fd64cff5","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ESLYqt4kEy"} - data: {"id":"chatcmpl-Dalh3YgCieJg0wMqG3dxcnI6TsDsb","object":"chat.completion.chunk","created":1777655513,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"QwvpsJigJ3"} + data: {"id":"chatcmpl-DeMgcYbb7QVmKTwPihTmyRn3ZwP3t","object":"chat.completion.chunk","created":1778512698,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_38fd64cff5","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"s7bVNj8FWN"} - data: {"id":"chatcmpl-Dalh3YgCieJg0wMqG3dxcnI6TsDsb","object":"chat.completion.chunk","created":1777655513,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"BKyKa"} + data: {"id":"chatcmpl-DeMgcYbb7QVmKTwPihTmyRn3ZwP3t","object":"chat.completion.chunk","created":1778512698,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_38fd64cff5","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"gXutd"} - data: {"id":"chatcmpl-Dalh3YgCieJg0wMqG3dxcnI6TsDsb","object":"chat.completion.chunk","created":1777655513,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[],"usage":{"prompt_tokens":18,"completion_tokens":7,"total_tokens":25,"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":"OG484aX6QYq"} + data: {"id":"chatcmpl-DeMgcYbb7QVmKTwPihTmyRn3ZwP3t","object":"chat.completion.chunk","created":1778512698,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_38fd64cff5","choices":[],"usage":{"prompt_tokens":18,"completion_tokens":7,"total_tokens":25,"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":"dzX6eqJqESW"} data: [DONE] @@ -78,13 +78,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f50686cca39dde5-YYZ + - 9fa227cb2a0d24ee-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 01 May 2026 17:11:53 GMT + - Mon, 11 May 2026 15:18:18 GMT Server: - cloudflare Strict-Transport-Security: @@ -100,15 +100,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '533' + - '215' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=3RSRjWz8LkFcDbpSS79wAtHpEV6qlb1nmOn.xJNN4Oo-1777655513.0895603-1.0.1.1-IqDAgCRX0uj6d3cEpJOEi1oQUZjHZdknu4zxBaJNo4cahN78qAJXsX.UzJ79pNTJEowXIjdIqHyN4RDhzcSEQlkrRbVxsovC0iGF_MXRNk0gVo_HWlA9oW3T5WNaqQK0; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:41:53 GMT + - __cf_bm=_NtDYXc8MGIpdq2_4kLZycU6RtBjgLASY3966SZstEM-1778512698.1112862-1.0.1.1-ZWmt2VHYTP9.vDWqNNNGtJ_QcpdtvZHRiphxcwZEm9l3sH78n622ZdzUqpFvXFm5ZXtp0nvX5xiql3mBtarBNcCzXl.mD07kzUS3FQSuXQ3ML4Mrirq7Jtc2m9ccYkoZ; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:18 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -124,7 +124,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_88aef75989af4a908f9dc104271d6400 + - req_db36f275f2284df19e9d3a2fbb88ed55 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_stream_sync.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_stream_sync.yaml index 20722823..86463b52 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_stream_sync.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_stream_sync.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,39 +38,39 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DalhFxT7IsiYec4RAG8pjq6HU4bJe","object":"chat.completion.chunk","created":1777655525,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"0sbGI4Scx"} + string: 'data: {"id":"chatcmpl-DeMgqpkg3RQppYGN1HRwgoMtcPHPN","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"WUL5FuHd2"} - data: {"id":"chatcmpl-DalhFxT7IsiYec4RAG8pjq6HU4bJe","object":"chat.completion.chunk","created":1777655525,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"9s5epeSZJE"} + data: {"id":"chatcmpl-DeMgqpkg3RQppYGN1HRwgoMtcPHPN","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"dIT0FERhD5"} - data: {"id":"chatcmpl-DalhFxT7IsiYec4RAG8pjq6HU4bJe","object":"chat.completion.chunk","created":1777655525,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"WZ6oBi4ed1"} + data: {"id":"chatcmpl-DeMgqpkg3RQppYGN1HRwgoMtcPHPN","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"5EKTaxDKZE"} - data: {"id":"chatcmpl-DalhFxT7IsiYec4RAG8pjq6HU4bJe","object":"chat.completion.chunk","created":1777655525,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"OHYlLIueg7"} + data: {"id":"chatcmpl-DeMgqpkg3RQppYGN1HRwgoMtcPHPN","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"8njaNu7wOk"} - data: {"id":"chatcmpl-DalhFxT7IsiYec4RAG8pjq6HU4bJe","object":"chat.completion.chunk","created":1777655525,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"7xi3FqbsCy"} + data: {"id":"chatcmpl-DeMgqpkg3RQppYGN1HRwgoMtcPHPN","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"iIObo1ILGW"} - data: {"id":"chatcmpl-DalhFxT7IsiYec4RAG8pjq6HU4bJe","object":"chat.completion.chunk","created":1777655525,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"LYwJdacd9v"} + data: {"id":"chatcmpl-DeMgqpkg3RQppYGN1HRwgoMtcPHPN","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"I4KNklDPGQ"} - data: {"id":"chatcmpl-DalhFxT7IsiYec4RAG8pjq6HU4bJe","object":"chat.completion.chunk","created":1777655525,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"bm12QkoF3P"} + data: {"id":"chatcmpl-DeMgqpkg3RQppYGN1HRwgoMtcPHPN","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"yfqX4gdhQZ"} - data: {"id":"chatcmpl-DalhFxT7IsiYec4RAG8pjq6HU4bJe","object":"chat.completion.chunk","created":1777655525,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"3mzSY69Tds"} + data: {"id":"chatcmpl-DeMgqpkg3RQppYGN1HRwgoMtcPHPN","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"lJ2lnX1MJ1"} - data: {"id":"chatcmpl-DalhFxT7IsiYec4RAG8pjq6HU4bJe","object":"chat.completion.chunk","created":1777655525,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"N9xyihR1qD"} + data: {"id":"chatcmpl-DeMgqpkg3RQppYGN1HRwgoMtcPHPN","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"sXoYR1ot3S"} - data: {"id":"chatcmpl-DalhFxT7IsiYec4RAG8pjq6HU4bJe","object":"chat.completion.chunk","created":1777655525,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"aX72P"} + data: {"id":"chatcmpl-DeMgqpkg3RQppYGN1HRwgoMtcPHPN","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"6dpnE"} - data: {"id":"chatcmpl-DalhFxT7IsiYec4RAG8pjq6HU4bJe","object":"chat.completion.chunk","created":1777655525,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_de7acce317","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"CgZE8g2EuMH"} + data: {"id":"chatcmpl-DeMgqpkg3RQppYGN1HRwgoMtcPHPN","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_09d726607f","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":8,"total_tokens":22,"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":"mdC2SDdsLJj"} data: [DONE] @@ -81,13 +81,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068b68c56ab90-YYZ + - 9fa22821db8dcbfd-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 01 May 2026 17:12:05 GMT + - Mon, 11 May 2026 15:18:32 GMT Server: - cloudflare Strict-Transport-Security: @@ -103,15 +103,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '826' + - '214' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=IAkRNgy7GHcSaAzZdeLpuDe.NhS9piAO3Up8M2pDhrg-1777655524.8887768-1.0.1.1-23Xlk9MWdsZuaCTTnr57521G0PHhwzPiPRkj2MfeGKVq.uJJWXfyP5V_ijeDvHyCF98P3pO6CNXotqls14tvTwTJS1Hyw9Kx7NKzLadu.H6xKzpQC3hiIPOdsjWYXdCZ; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:05 GMT + - __cf_bm=LHvMRP8qawWip8WAVzaLRi2Amgy2ZtjuloJIZDazVHw-1778512711.979362-1.0.1.1-oxy0Wfdr.J2SkZ4cYeJ7R_IGQA1hMbJTZn2gNNiiUJ.1pQyhJs0qsZnwpHScTlpNiTU_XlOK6rNNrrQwuL7oQ8RbcCs16ssDvh10h2VqXLxgtq24Z5O2TsN4.tkl6Tef; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:32 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -121,13 +121,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999995' + - '149999992' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_68abffdc3bcc49608c95127cc5d1dfc5 + - req_3dacc20fa1164af79a991cfcec8edbb0 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_sync.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_sync.yaml index 055d593c..ddfa42c7 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_sync.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_sync.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -39,8 +39,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-Dalh12r23O129MZ1VEjky2C1112T1\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655511,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMgZmEP8mDh1u8YOK2B2rdV2FT2P\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512695,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"4\",\n \"refusal\": null,\n \ \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": @@ -49,18 +49,18 @@ interactions: 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_65e01686b7\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_65d291db15\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f506860ed1ae702-YYZ + - 9fa227b9ce89c109-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:11:51 GMT + - Mon, 11 May 2026 15:18:15 GMT Server: - cloudflare Strict-Transport-Security: @@ -78,15 +78,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '355' + - '326' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=lpLSdfWjdrpEiV0bq336u8c.rEtN3bvYiyagxnggnmM-1777655511.1862397-1.0.1.1-2busKUsq_YHhEMBwaizP9pYEQzCvR._4damm.VgoHwxO7pku6sMPnOp00DzBGvR4d1zG7Jf2hfQdrLbS_eF_0tVhW2Ch0DekQ.4O68tP04j3bfzmpadpfZ.ViF9_gmPX; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:41:51 GMT + - __cf_bm=zWViQBrxtZbwsqjxgkmoJD0zJQ2mCjg6OYbs2NojAt8-1778512695.3278816-1.0.1.1-_LAtv6ru4zj4Vvgjnyr5qgZlLlUmt6aShS4fs8jeJmwohkqMXtgR4z.5Mx.l2WzDXe3Tt3Oe1saDaF4aJCtR2vUnRpSZX0iSSs86hnRkzJPntnApeMWMUlni8Jxrzp8l; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:15 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -102,7 +102,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_5459a388bd424e6caf218125a28d35fc + - req_8fe28a3e66744212b0431a7bbb92f8cb status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_with_settings.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_with_settings.yaml index 7136a1c7..91c411f5 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_with_settings.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_direct_model_request_with_settings.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,8 +38,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-Dalh1bo5NnGLua8uITQaX1ZLzxDKv\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655511,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMgaYnBJ7gqP1brQFUUcl7kMhdjr\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512696,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"Hello! How can I assist you today?\",\n \ \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": @@ -48,18 +48,18 @@ interactions: {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_57133166c6\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_3b264ad91d\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068642e55b406-YYZ + - 9fa227bd7810711b-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:11:52 GMT + - Mon, 11 May 2026 15:18:17 GMT Server: - cloudflare Strict-Transport-Security: @@ -77,15 +77,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '367' + - '1046' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=eKHEuuVGSRQ7Nm1Uu0bcnDpKoDgVXv5oRcAGPHk7pMA-1777655511.711059-1.0.1.1-yISLI0AIBDtDaa5JExitR.hcKcEsWbqkC5mjd76ZkKrEGYYkGbfx8uieI84GdRLXZw6OB5zOe.RchxyXhvPcH5.wkbb3l9d.vNcG7TO9u8MqgR8wMVwC4F7NgC67a0Ih; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:41:52 GMT + - __cf_bm=upMj_IGNOmKyMjwEzHPnxbKIvunZjmCUBLO7f6XU5hg-1778512695.9163165-1.0.1.1-l4WlbLUrRNdPwfOjy6GoVoMM.sjC2ixhWkITXQQmv8.GOQ1mRQzXF1FE0aO2YHhH_XRmeR3hCCFcidMielPhM1zhNSUbhqr0rpqxlioFOWUZZ3.n_hrvBnXLT0Y.VcIQ; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:17 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -101,7 +101,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_e4949571c9b44d1a9b0737c7ee1f1e6e + - req_119820e6d074454f81db528b98a86783 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_model_class_span_names.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_model_class_span_names.yaml index aeb695cb..2bcc1990 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_model_class_span_names.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_model_class_span_names.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,8 +38,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalhR2O7I88DiJJ90hxW5USE3lC8q\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655537,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMh6DwP2ddlNpp7Esw62CbhJ4JVu\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512728,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"2 + 2 equals 4.\",\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n @@ -48,18 +48,18 @@ interactions: {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_6488829609\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_fcf1a634a5\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f506906aeff39fc-YYZ + - 9fa22884b95eebbd-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:18 GMT + - Mon, 11 May 2026 15:18:48 GMT Server: - cloudflare Strict-Transport-Security: @@ -77,15 +77,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '300' + - '676' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=eJvfFcVvfb2xNLJSBYeTyyG9ZB1f1KUFZTh4OoS4tY8-1777655537.711076-1.0.1.1-lrG816W6yZKqCxmvNzQj5tod4kJqTds1kz8xTCD0KOkYXNJBh3JDVjhmUnRQoGHm8.9YAL0zMjiM2yxHvKFbCIlB2b.I8fIGqJPWaU7nQUYGCK0XQg64iWu1q0GM1Oyb; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:18 GMT + - __cf_bm=hn9KRRt6JeG6U3QRbzluQmFNEbOLg2q_Pz1ECOKttWc-1778512727.794834-1.0.1.1-Xm2Nr5Qt0kAzUD2uW_fkDeMLYB6Id05MbhaXVI7f4ecW67tGOAkfCkvjy8NYnSGXzXzXQn1rs_v.Dzair9Oxkk5D.ChclU11DFj7o3ABXC102Tz7dHtSKn.3tuSCidoN; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:48 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -101,7 +101,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_d1b46faa7b674061b9ab1e5b79bc57a2 + - req_0bf5a51db56041e9a1f3e296d68307bb status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_model_request_stream_sync_thread_context_propagation.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_model_request_stream_sync_thread_context_propagation.yaml index ec48636e..fc82a6bb 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_model_request_stream_sync_thread_context_propagation.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_model_request_stream_sync_thread_context_propagation.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,46 +38,46 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DalhYaM391Cxq8tgYYROPrTY9ZU1D","object":"chat.completion.chunk","created":1777655544,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_57133166c6","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"n82WqGFhh"} + string: 'data: {"id":"chatcmpl-DeMhHUZYcIjA4GhhhTlSohl7go05o","object":"chat.completion.chunk","created":1778512739,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7052d3f71a","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"VCxQHZ9TJ"} - data: {"id":"chatcmpl-DalhYaM391Cxq8tgYYROPrTY9ZU1D","object":"chat.completion.chunk","created":1777655544,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_57133166c6","choices":[{"index":0,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"YMpA81"} + data: {"id":"chatcmpl-DeMhHUZYcIjA4GhhhTlSohl7go05o","object":"chat.completion.chunk","created":1778512739,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7052d3f71a","choices":[{"index":0,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"J2rTjf"} - data: {"id":"chatcmpl-DalhYaM391Cxq8tgYYROPrTY9ZU1D","object":"chat.completion.chunk","created":1777655544,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_57133166c6","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"kbozHGz5Es"} + data: {"id":"chatcmpl-DeMhHUZYcIjA4GhhhTlSohl7go05o","object":"chat.completion.chunk","created":1778512739,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7052d3f71a","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"bWRHu812lk"} - data: {"id":"chatcmpl-DalhYaM391Cxq8tgYYROPrTY9ZU1D","object":"chat.completion.chunk","created":1777655544,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_57133166c6","choices":[{"index":0,"delta":{"content":" - How"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"zMyf6df"} + data: {"id":"chatcmpl-DeMhHUZYcIjA4GhhhTlSohl7go05o","object":"chat.completion.chunk","created":1778512739,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7052d3f71a","choices":[{"index":0,"delta":{"content":" + How"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"XRPLP87"} - data: {"id":"chatcmpl-DalhYaM391Cxq8tgYYROPrTY9ZU1D","object":"chat.completion.chunk","created":1777655544,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_57133166c6","choices":[{"index":0,"delta":{"content":" - can"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"sIwl6B0"} + data: {"id":"chatcmpl-DeMhHUZYcIjA4GhhhTlSohl7go05o","object":"chat.completion.chunk","created":1778512739,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7052d3f71a","choices":[{"index":0,"delta":{"content":" + can"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"00mY4PW"} - data: {"id":"chatcmpl-DalhYaM391Cxq8tgYYROPrTY9ZU1D","object":"chat.completion.chunk","created":1777655544,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_57133166c6","choices":[{"index":0,"delta":{"content":" - I"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"9gdnNx9iE"} + data: {"id":"chatcmpl-DeMhHUZYcIjA4GhhhTlSohl7go05o","object":"chat.completion.chunk","created":1778512739,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7052d3f71a","choices":[{"index":0,"delta":{"content":" + I"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ghqXqNbcX"} - data: {"id":"chatcmpl-DalhYaM391Cxq8tgYYROPrTY9ZU1D","object":"chat.completion.chunk","created":1777655544,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_57133166c6","choices":[{"index":0,"delta":{"content":" - assist"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"A0r3"} + data: {"id":"chatcmpl-DeMhHUZYcIjA4GhhhTlSohl7go05o","object":"chat.completion.chunk","created":1778512739,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7052d3f71a","choices":[{"index":0,"delta":{"content":" + assist"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"9Cgm"} - data: {"id":"chatcmpl-DalhYaM391Cxq8tgYYROPrTY9ZU1D","object":"chat.completion.chunk","created":1777655544,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_57133166c6","choices":[{"index":0,"delta":{"content":" - you"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"KbNgC4f"} + data: {"id":"chatcmpl-DeMhHUZYcIjA4GhhhTlSohl7go05o","object":"chat.completion.chunk","created":1778512739,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7052d3f71a","choices":[{"index":0,"delta":{"content":" + you"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"80TCBwn"} - data: {"id":"chatcmpl-DalhYaM391Cxq8tgYYROPrTY9ZU1D","object":"chat.completion.chunk","created":1777655544,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_57133166c6","choices":[{"index":0,"delta":{"content":" - today"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"9UfOd"} + data: {"id":"chatcmpl-DeMhHUZYcIjA4GhhhTlSohl7go05o","object":"chat.completion.chunk","created":1778512739,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7052d3f71a","choices":[{"index":0,"delta":{"content":" + today"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"4Yjxt"} - data: {"id":"chatcmpl-DalhYaM391Cxq8tgYYROPrTY9ZU1D","object":"chat.completion.chunk","created":1777655544,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_57133166c6","choices":[{"index":0,"delta":{"content":"?"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"aD8iz8AyQ8"} + data: {"id":"chatcmpl-DeMhHUZYcIjA4GhhhTlSohl7go05o","object":"chat.completion.chunk","created":1778512739,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7052d3f71a","choices":[{"index":0,"delta":{"content":"?"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"IHBFwQrbcM"} - data: {"id":"chatcmpl-DalhYaM391Cxq8tgYYROPrTY9ZU1D","object":"chat.completion.chunk","created":1777655544,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_57133166c6","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"3Urbl"} + data: {"id":"chatcmpl-DeMhHUZYcIjA4GhhhTlSohl7go05o","object":"chat.completion.chunk","created":1778512739,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7052d3f71a","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"jB1SR"} - data: {"id":"chatcmpl-DalhYaM391Cxq8tgYYROPrTY9ZU1D","object":"chat.completion.chunk","created":1777655544,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_57133166c6","choices":[],"usage":{"prompt_tokens":8,"completion_tokens":9,"total_tokens":17,"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":"yZaTaBWdolaM"} + data: {"id":"chatcmpl-DeMhHUZYcIjA4GhhhTlSohl7go05o","object":"chat.completion.chunk","created":1778512739,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_7052d3f71a","choices":[],"usage":{"prompt_tokens":8,"completion_tokens":9,"total_tokens":17,"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":"JG7PLnbPcYTW"} data: [DONE] @@ -88,13 +88,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5069311ca1b8f3-YYZ + - 9fa228c25f93aa9d-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 01 May 2026 17:12:24 GMT + - Mon, 11 May 2026 15:19:00 GMT Server: - cloudflare Strict-Transport-Security: @@ -110,15 +110,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '211' + - '663' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=AhhsFDlGLHyp180xG_bbIpuMsEI9mp__WbNZYH3SWhk-1777655544.4938884-1.0.1.1-3aanKWcky3ufKJDs9eLjxEO11puKqJvduRNiXesF0B8DDWPUm.3BkTmajfdo1f9eI5dKAWzh.9xhmczYkKXTBLhJfbhBUommoNcXEkufStlxx_NyslJ3EIQN5GFbeLWu; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:24 GMT + - __cf_bm=lK92lGioLyQR8R__F9sxi8Nv5BnQH2vdqYu5HYQOzDA-1778512737.6581433-1.0.1.1-QVtbb5jL0zlPI_8a2usdlGbBFZ3ixj8EaUzwBRo_9rHN._JGBtJ7guBmJk3uJOcpt2V12L3RsTpfOadegru3aaTwIOtgm9dHpGqFYKEwNBOJre8wWHyuoxEYlGZFJZEu; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:49:00 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -128,13 +128,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999995' + - '149999997' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_1560d0b2cf99473a9817366e29bb95c7 + - req_f95ee4b0c0dc49fd81fe8d0c8fb230dc status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_multiple_identical_sequential_streams.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_multiple_identical_sequential_streams.yaml index 31da0b8c..37b9ff53 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_multiple_identical_sequential_streams.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_multiple_identical_sequential_streams.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,39 +38,39 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-Dalgu04YASaDsm0pEXPb9QSHNlpFH","object":"chat.completion.chunk","created":1777655504,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"cOEx90dG0"} + string: 'data: {"id":"chatcmpl-DeMgLPiFdIcqVQeX26HEvfwXN9gXO","object":"chat.completion.chunk","created":1778512681,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"1jlnE30Gk"} - data: {"id":"chatcmpl-Dalgu04YASaDsm0pEXPb9QSHNlpFH","object":"chat.completion.chunk","created":1777655504,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"yKzllsa2HC"} + data: {"id":"chatcmpl-DeMgLPiFdIcqVQeX26HEvfwXN9gXO","object":"chat.completion.chunk","created":1778512681,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"hAASIOoAlk"} - data: {"id":"chatcmpl-Dalgu04YASaDsm0pEXPb9QSHNlpFH","object":"chat.completion.chunk","created":1777655504,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"nsxSe1KNKR"} + data: {"id":"chatcmpl-DeMgLPiFdIcqVQeX26HEvfwXN9gXO","object":"chat.completion.chunk","created":1778512681,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"hGju83nXnO"} - data: {"id":"chatcmpl-Dalgu04YASaDsm0pEXPb9QSHNlpFH","object":"chat.completion.chunk","created":1777655504,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ZiadZf6tBs"} + data: {"id":"chatcmpl-DeMgLPiFdIcqVQeX26HEvfwXN9gXO","object":"chat.completion.chunk","created":1778512681,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"563wjkbnyi"} - data: {"id":"chatcmpl-Dalgu04YASaDsm0pEXPb9QSHNlpFH","object":"chat.completion.chunk","created":1777655504,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"MXqDcJWeYG"} + data: {"id":"chatcmpl-DeMgLPiFdIcqVQeX26HEvfwXN9gXO","object":"chat.completion.chunk","created":1778512681,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"LDjwLMN3YL"} - data: {"id":"chatcmpl-Dalgu04YASaDsm0pEXPb9QSHNlpFH","object":"chat.completion.chunk","created":1777655504,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"jmwp834tUF"} + data: {"id":"chatcmpl-DeMgLPiFdIcqVQeX26HEvfwXN9gXO","object":"chat.completion.chunk","created":1778512681,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"5dFxVYMTe0"} - data: {"id":"chatcmpl-Dalgu04YASaDsm0pEXPb9QSHNlpFH","object":"chat.completion.chunk","created":1777655504,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ufunj6ceJl"} + data: {"id":"chatcmpl-DeMgLPiFdIcqVQeX26HEvfwXN9gXO","object":"chat.completion.chunk","created":1778512681,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"WQkk9nNBD3"} - data: {"id":"chatcmpl-Dalgu04YASaDsm0pEXPb9QSHNlpFH","object":"chat.completion.chunk","created":1777655504,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"aZGVGXTcW9"} + data: {"id":"chatcmpl-DeMgLPiFdIcqVQeX26HEvfwXN9gXO","object":"chat.completion.chunk","created":1778512681,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"XApgaSSdPP"} - data: {"id":"chatcmpl-Dalgu04YASaDsm0pEXPb9QSHNlpFH","object":"chat.completion.chunk","created":1777655504,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"zt2c0gaWRt"} + data: {"id":"chatcmpl-DeMgLPiFdIcqVQeX26HEvfwXN9gXO","object":"chat.completion.chunk","created":1778512681,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"3zvnN2zAnn"} - data: {"id":"chatcmpl-Dalgu04YASaDsm0pEXPb9QSHNlpFH","object":"chat.completion.chunk","created":1777655504,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"gPImW"} + data: {"id":"chatcmpl-DeMgLPiFdIcqVQeX26HEvfwXN9gXO","object":"chat.completion.chunk","created":1778512681,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"qGHbB"} - data: {"id":"chatcmpl-Dalgu04YASaDsm0pEXPb9QSHNlpFH","object":"chat.completion.chunk","created":1777655504,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[],"usage":{"prompt_tokens":15,"completion_tokens":8,"total_tokens":23,"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":"4kyZsmYbyTb"} + data: {"id":"chatcmpl-DeMgLPiFdIcqVQeX26HEvfwXN9gXO","object":"chat.completion.chunk","created":1778512681,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[],"usage":{"prompt_tokens":15,"completion_tokens":8,"total_tokens":23,"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":"UmYMggQ6lJL"} data: [DONE] @@ -81,13 +81,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068385c54ab3c-YYZ + - 9fa2276558deebb4-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 01 May 2026 17:11:45 GMT + - Mon, 11 May 2026 15:18:02 GMT Server: - cloudflare Strict-Transport-Security: @@ -103,15 +103,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '294' + - '240' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=CRnnIqy4NLabWoEQk4adVNOXlXUBkp6PbutuysrqA7A-1777655504.692409-1.0.1.1-dAvl2pCBRbZpLagm_nkX470c2tK5LbUZaULETTODzfCF0PBhwNpuGaO7IN9xPFepY5_pN68veHLg0tm40py6R2BNQ8gnjTDnYe6bTgM26M7yWubu.k5vCoiPI4K726pf; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:41:45 GMT + - __cf_bm=zVYT5SyvOknMybEuFoBoeENNvBcpFvYszKgD7Mm6ZNI-1778512681.8189034-1.0.1.1-6dcFBfV4LOPfK3o35NGix1MksiVhgIyREfcliA785k52rpmbOxSKyzT2kIU_4lm9jzJN6ABkfY69fzTMT419uX_6JeUVzafBEUbtFfeBT3QCMY7OwAOsmTmofFKxzbO4; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:02 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -127,7 +127,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_0a8f3fe5dbfd4e63a4e216c1b3e209dd + - req_331f605381c04927a837dcf319a893e9 status: code: 200 message: OK @@ -147,7 +147,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -157,7 +157,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -170,39 +170,39 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DalgvB9FXVmROvX5N5d4toa7iwN4h","object":"chat.completion.chunk","created":1777655505,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"jjjnv5AmG"} + string: 'data: {"id":"chatcmpl-DeMgRZrx6kn7okXbATI3HsuuFsjRr","object":"chat.completion.chunk","created":1778512687,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"fCnvpfY7Q"} - data: {"id":"chatcmpl-DalgvB9FXVmROvX5N5d4toa7iwN4h","object":"chat.completion.chunk","created":1777655505,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"wMjHokcdOm"} + data: {"id":"chatcmpl-DeMgRZrx6kn7okXbATI3HsuuFsjRr","object":"chat.completion.chunk","created":1778512687,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"RkKbDrKzoO"} - data: {"id":"chatcmpl-DalgvB9FXVmROvX5N5d4toa7iwN4h","object":"chat.completion.chunk","created":1777655505,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"9T0RTXjzAR"} + data: {"id":"chatcmpl-DeMgRZrx6kn7okXbATI3HsuuFsjRr","object":"chat.completion.chunk","created":1778512687,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gWnii3c9T6"} - data: {"id":"chatcmpl-DalgvB9FXVmROvX5N5d4toa7iwN4h","object":"chat.completion.chunk","created":1777655505,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"BAymAlTmRg"} + data: {"id":"chatcmpl-DeMgRZrx6kn7okXbATI3HsuuFsjRr","object":"chat.completion.chunk","created":1778512687,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"7nOc2Mq3hb"} - data: {"id":"chatcmpl-DalgvB9FXVmROvX5N5d4toa7iwN4h","object":"chat.completion.chunk","created":1777655505,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"xRtIPihBa8"} + data: {"id":"chatcmpl-DeMgRZrx6kn7okXbATI3HsuuFsjRr","object":"chat.completion.chunk","created":1778512687,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"z0GV2DuFx3"} - data: {"id":"chatcmpl-DalgvB9FXVmROvX5N5d4toa7iwN4h","object":"chat.completion.chunk","created":1777655505,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"LXJRh1EVTI"} + data: {"id":"chatcmpl-DeMgRZrx6kn7okXbATI3HsuuFsjRr","object":"chat.completion.chunk","created":1778512687,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"9g0MA2R4Q8"} - data: {"id":"chatcmpl-DalgvB9FXVmROvX5N5d4toa7iwN4h","object":"chat.completion.chunk","created":1777655505,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"f7YLbUsQUO"} + data: {"id":"chatcmpl-DeMgRZrx6kn7okXbATI3HsuuFsjRr","object":"chat.completion.chunk","created":1778512687,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"HQBKhGTwdU"} - data: {"id":"chatcmpl-DalgvB9FXVmROvX5N5d4toa7iwN4h","object":"chat.completion.chunk","created":1777655505,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"95tAU1QyQi"} + data: {"id":"chatcmpl-DeMgRZrx6kn7okXbATI3HsuuFsjRr","object":"chat.completion.chunk","created":1778512687,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"F3cV19C4L6"} - data: {"id":"chatcmpl-DalgvB9FXVmROvX5N5d4toa7iwN4h","object":"chat.completion.chunk","created":1777655505,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"pV2ta4lzPO"} + data: {"id":"chatcmpl-DeMgRZrx6kn7okXbATI3HsuuFsjRr","object":"chat.completion.chunk","created":1778512687,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"GTgU3vqvVI"} - data: {"id":"chatcmpl-DalgvB9FXVmROvX5N5d4toa7iwN4h","object":"chat.completion.chunk","created":1777655505,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"0HlRS"} + data: {"id":"chatcmpl-DeMgRZrx6kn7okXbATI3HsuuFsjRr","object":"chat.completion.chunk","created":1778512687,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"SI55p"} - data: {"id":"chatcmpl-DalgvB9FXVmROvX5N5d4toa7iwN4h","object":"chat.completion.chunk","created":1777655505,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[],"usage":{"prompt_tokens":15,"completion_tokens":8,"total_tokens":23,"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":"SaCQvuCmi58"} + data: {"id":"chatcmpl-DeMgRZrx6kn7okXbATI3HsuuFsjRr","object":"chat.completion.chunk","created":1778512687,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[],"usage":{"prompt_tokens":15,"completion_tokens":8,"total_tokens":23,"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":"r7sILGQpQi4"} data: [DONE] @@ -213,13 +213,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f50683e49c6ae18-YYZ + - 9fa227692d3caa71-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 01 May 2026 17:11:45 GMT + - Mon, 11 May 2026 15:18:07 GMT Server: - cloudflare Strict-Transport-Security: @@ -235,15 +235,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '198' + - '300' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=ohzoUyRYFbHizQ3ZMi1eOLDPBFP38q7lPvhyMBnvrs0-1777655505.6414397-1.0.1.1-pP6xq45QRPUJbNRkXPlhovy.SZ9VjIy_Z.x23KV5xlZyR8MmL799OOQ1m6nX6oR0vbt9EVU_VKjDoyv5doxjfmPhb6Dpjwa3s7oIX3fQ_buyS4QZU6MxtlzjxJRJd.RM; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:41:45 GMT + - __cf_bm=wsyx01z4NRoybLsqpfhaGKOCy19FzvK8YR3vUnmTylw-1778512682.4291039-1.0.1.1-QeH2JlTm.v5sdCD.yaBAiBVqIIUQmtFCtVUFhlRwhGFnERhcX9WUzHfj7LeAgM30HQ1holbbI2Zb5JICsMFgx5mt673m3EIM_1KwxUIDZ72jNymg1aF2tRkwt4wvptRR; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:07 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -259,7 +259,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_f72a9328e626471f96737dac578ac1b5 + - req_57d035dfd3c748b3b3ea5b3613b83089 status: code: 200 message: OK @@ -279,7 +279,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -289,7 +289,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -302,39 +302,39 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DalgwADrXZhrLYEhHURTLhss5ezQ1","object":"chat.completion.chunk","created":1777655506,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"vdxW5fh8W"} + string: 'data: {"id":"chatcmpl-DeMgSRpMXbN16AOlgeHwvbPusC1v6","object":"chat.completion.chunk","created":1778512688,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Imm88S4tF"} - data: {"id":"chatcmpl-DalgwADrXZhrLYEhHURTLhss5ezQ1","object":"chat.completion.chunk","created":1777655506,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"r9mEz94jKc"} + data: {"id":"chatcmpl-DeMgSRpMXbN16AOlgeHwvbPusC1v6","object":"chat.completion.chunk","created":1778512688,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"91mHHQL0vs"} - data: {"id":"chatcmpl-DalgwADrXZhrLYEhHURTLhss5ezQ1","object":"chat.completion.chunk","created":1777655506,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"d0g68tiKrZ"} + data: {"id":"chatcmpl-DeMgSRpMXbN16AOlgeHwvbPusC1v6","object":"chat.completion.chunk","created":1778512688,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"BnnQ0fUwTP"} - data: {"id":"chatcmpl-DalgwADrXZhrLYEhHURTLhss5ezQ1","object":"chat.completion.chunk","created":1777655506,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"rhdI0O9ZLT"} + data: {"id":"chatcmpl-DeMgSRpMXbN16AOlgeHwvbPusC1v6","object":"chat.completion.chunk","created":1778512688,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"F5uoqEi2sq"} - data: {"id":"chatcmpl-DalgwADrXZhrLYEhHURTLhss5ezQ1","object":"chat.completion.chunk","created":1777655506,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Cgw4w153kZ"} + data: {"id":"chatcmpl-DeMgSRpMXbN16AOlgeHwvbPusC1v6","object":"chat.completion.chunk","created":1778512688,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"olUamPvaJD"} - data: {"id":"chatcmpl-DalgwADrXZhrLYEhHURTLhss5ezQ1","object":"chat.completion.chunk","created":1777655506,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"hluuDfYYlP"} + data: {"id":"chatcmpl-DeMgSRpMXbN16AOlgeHwvbPusC1v6","object":"chat.completion.chunk","created":1778512688,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"wX8C6ir48m"} - data: {"id":"chatcmpl-DalgwADrXZhrLYEhHURTLhss5ezQ1","object":"chat.completion.chunk","created":1777655506,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"qeuOgewdH6"} + data: {"id":"chatcmpl-DeMgSRpMXbN16AOlgeHwvbPusC1v6","object":"chat.completion.chunk","created":1778512688,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"qlnge91dGX"} - data: {"id":"chatcmpl-DalgwADrXZhrLYEhHURTLhss5ezQ1","object":"chat.completion.chunk","created":1777655506,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"NgWfUNsiKr"} + data: {"id":"chatcmpl-DeMgSRpMXbN16AOlgeHwvbPusC1v6","object":"chat.completion.chunk","created":1778512688,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"2P4pc87cFI"} - data: {"id":"chatcmpl-DalgwADrXZhrLYEhHURTLhss5ezQ1","object":"chat.completion.chunk","created":1777655506,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"x4wOM319oU"} + data: {"id":"chatcmpl-DeMgSRpMXbN16AOlgeHwvbPusC1v6","object":"chat.completion.chunk","created":1778512688,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"UxsQ2VFAgb"} - data: {"id":"chatcmpl-DalgwADrXZhrLYEhHURTLhss5ezQ1","object":"chat.completion.chunk","created":1777655506,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"mgFIV"} + data: {"id":"chatcmpl-DeMgSRpMXbN16AOlgeHwvbPusC1v6","object":"chat.completion.chunk","created":1778512688,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"rufLG"} - data: {"id":"chatcmpl-DalgwADrXZhrLYEhHURTLhss5ezQ1","object":"chat.completion.chunk","created":1777655506,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_576e90e2be","choices":[],"usage":{"prompt_tokens":15,"completion_tokens":8,"total_tokens":23,"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":"L2vxYXH9QjL"} + data: {"id":"chatcmpl-DeMgSRpMXbN16AOlgeHwvbPusC1v6","object":"chat.completion.chunk","created":1778512688,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[],"usage":{"prompt_tokens":15,"completion_tokens":8,"total_tokens":23,"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":"AtIMSw1x8Qe"} data: [DONE] @@ -345,13 +345,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068421f61e702-YYZ + - 9fa2278d393ba250-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 01 May 2026 17:11:46 GMT + - Mon, 11 May 2026 15:18:08 GMT Server: - cloudflare Strict-Transport-Security: @@ -367,15 +367,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '243' + - '290' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=lNsyTooy5ZYHi3fPnpKbm7og3ZUrEdjf_sR_vRJ1SjI-1777655506.2528098-1.0.1.1-eIPElPXtLUghgVo4ZviLz0FWKrgSj9eV2BSsjzmVGLKtCRm03uYvnLynVQRhfcuydgaS03uqdN43ofrw1Pv_7zWiHguNI6YYtnxwpYRvaVii76JNROdz8eNnyBF.TIu6; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:41:46 GMT + - __cf_bm=ot920Qq3hRXZt_w4cB6aXO.o5t74birw7TGvnF9OHuo-1778512688.1981997-1.0.1.1-.igh6YYHvZN2285n0C2QBUCZvgLRp_0KVETmxp3.002YGTCWnT5Bh6KxlaSbpg9FJLk7yOviurWJOrPKmrYG16aEIXwUwQp_2t6dq_TINcEHike5S_PgNihcmBss0E7Y; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:08 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -385,13 +385,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999995' + - '149999992' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_afac1adc0fe54bab8020f06507438c38 + - req_af87a6e21a2f4274ad15c56c554382e1 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_multiple_sequential_streams.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_multiple_sequential_streams.yaml index eead3e0f..ba8b4d82 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_multiple_sequential_streams.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_multiple_sequential_streams.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,39 +38,39 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DalgxmLBr5rhzeQozzHew5j7haCJT","object":"chat.completion.chunk","created":1777655507,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Gt1pyKCfx"} + string: 'data: {"id":"chatcmpl-DeMgTcT6Y4UAFoKPM3H4ulUKgNyA4","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"2t2wW66r7"} - data: {"id":"chatcmpl-DalgxmLBr5rhzeQozzHew5j7haCJT","object":"chat.completion.chunk","created":1777655507,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"aC5z8eoyuO"} + data: {"id":"chatcmpl-DeMgTcT6Y4UAFoKPM3H4ulUKgNyA4","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"s8iPHBQKZX"} - data: {"id":"chatcmpl-DalgxmLBr5rhzeQozzHew5j7haCJT","object":"chat.completion.chunk","created":1777655507,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"V9ZkeOLe2M"} + data: {"id":"chatcmpl-DeMgTcT6Y4UAFoKPM3H4ulUKgNyA4","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"AD68MzkWOk"} - data: {"id":"chatcmpl-DalgxmLBr5rhzeQozzHew5j7haCJT","object":"chat.completion.chunk","created":1777655507,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"DEB8gYeqdX"} + data: {"id":"chatcmpl-DeMgTcT6Y4UAFoKPM3H4ulUKgNyA4","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"NgaTkX4hpV"} - data: {"id":"chatcmpl-DalgxmLBr5rhzeQozzHew5j7haCJT","object":"chat.completion.chunk","created":1777655507,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ngdIpbehNh"} + data: {"id":"chatcmpl-DeMgTcT6Y4UAFoKPM3H4ulUKgNyA4","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"g7yXnOMZVq"} - data: {"id":"chatcmpl-DalgxmLBr5rhzeQozzHew5j7haCJT","object":"chat.completion.chunk","created":1777655507,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ppN0RBYm4O"} + data: {"id":"chatcmpl-DeMgTcT6Y4UAFoKPM3H4ulUKgNyA4","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"vdZzryzI2P"} - data: {"id":"chatcmpl-DalgxmLBr5rhzeQozzHew5j7haCJT","object":"chat.completion.chunk","created":1777655507,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Jx7RNRYpFA"} + data: {"id":"chatcmpl-DeMgTcT6Y4UAFoKPM3H4ulUKgNyA4","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"e2blHW5ZU9"} - data: {"id":"chatcmpl-DalgxmLBr5rhzeQozzHew5j7haCJT","object":"chat.completion.chunk","created":1777655507,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ghDE2qJpFA"} + data: {"id":"chatcmpl-DeMgTcT6Y4UAFoKPM3H4ulUKgNyA4","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"tolQS1wkye"} - data: {"id":"chatcmpl-DalgxmLBr5rhzeQozzHew5j7haCJT","object":"chat.completion.chunk","created":1777655507,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"jHs77RUEOY"} + data: {"id":"chatcmpl-DeMgTcT6Y4UAFoKPM3H4ulUKgNyA4","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"UQkUO2HMjq"} - data: {"id":"chatcmpl-DalgxmLBr5rhzeQozzHew5j7haCJT","object":"chat.completion.chunk","created":1777655507,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"Wnmb7"} + data: {"id":"chatcmpl-DeMgTcT6Y4UAFoKPM3H4ulUKgNyA4","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"ZUK2R"} - data: {"id":"chatcmpl-DalgxmLBr5rhzeQozzHew5j7haCJT","object":"chat.completion.chunk","created":1777655507,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[],"usage":{"prompt_tokens":15,"completion_tokens":8,"total_tokens":23,"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":"BHso6ucnwxR"} + data: {"id":"chatcmpl-DeMgTcT6Y4UAFoKPM3H4ulUKgNyA4","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[],"usage":{"prompt_tokens":15,"completion_tokens":8,"total_tokens":23,"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":"dMHfKYpgqya"} data: [DONE] @@ -81,13 +81,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f506848de0aa24d-YYZ + - 9fa22791aac7ab99-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 01 May 2026 17:11:47 GMT + - Mon, 11 May 2026 15:18:09 GMT Server: - cloudflare Strict-Transport-Security: @@ -103,15 +103,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '292' + - '122' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=tCVJSA0X3WtWJ3BE3iMrp0H9FmyjYl0yjzcs1MYTb9k-1777655507.3375926-1.0.1.1-e_IMOJQe8rRjlxYnAtcjCB98OPSwC2_4Q5rHMB5vs8Aiko8B19M_1AP1fkTM3RK4JFguuPvVRHQ8KHeppK8ZPQIov4o2Mv9QxB9PINZMgtV51WzzMAVFKT3Nq724xwpV; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:41:47 GMT + - __cf_bm=kFuwhtAc71Iiry38c42yCOQaiDzpyOPty45aKciTpZ8-1778512688.9067192-1.0.1.1-LAcVgAn2Plupe.IKsNyJxiJZHvquytiB.gcoQ7uW6HhkSbXovZRklFzuC1yOkef5WfUO8dMKbhlxqKNGlIybq4DonmgDvEY.xdLjGV7VTkGLotuVmKraDrNDfLVBeQBK; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:09 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -127,7 +127,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_c62de0b00de94f3fa567e605795b184d + - req_c5e0cc5bc78a45749fd7ffcb614ba90c status: code: 200 message: OK @@ -147,7 +147,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -157,7 +157,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -170,39 +170,39 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-Dalgy1fiSuEtX6bitcXltbq4RE3Zb","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_ed279b101f","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"rPObDLF2w"} + string: 'data: {"id":"chatcmpl-DeMgTLduf81Drnz8S2EJgukm2yPpn","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"3gI1Je8UD"} - data: {"id":"chatcmpl-Dalgy1fiSuEtX6bitcXltbq4RE3Zb","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_ed279b101f","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"iFKJHpXL12"} + data: {"id":"chatcmpl-DeMgTLduf81Drnz8S2EJgukm2yPpn","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"IWLVxw6sOi"} - data: {"id":"chatcmpl-Dalgy1fiSuEtX6bitcXltbq4RE3Zb","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_ed279b101f","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"4L0E5F16O4"} + data: {"id":"chatcmpl-DeMgTLduf81Drnz8S2EJgukm2yPpn","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"pRHI92Bzfn"} - data: {"id":"chatcmpl-Dalgy1fiSuEtX6bitcXltbq4RE3Zb","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_ed279b101f","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"mGjJiMKKk5"} + data: {"id":"chatcmpl-DeMgTLduf81Drnz8S2EJgukm2yPpn","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"YXyRcEP9Tc"} - data: {"id":"chatcmpl-Dalgy1fiSuEtX6bitcXltbq4RE3Zb","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_ed279b101f","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"6OGkYUPt3X"} + data: {"id":"chatcmpl-DeMgTLduf81Drnz8S2EJgukm2yPpn","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"g7vIakPJxO"} - data: {"id":"chatcmpl-Dalgy1fiSuEtX6bitcXltbq4RE3Zb","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_ed279b101f","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"sqQNv6kUYP"} + data: {"id":"chatcmpl-DeMgTLduf81Drnz8S2EJgukm2yPpn","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"XENUe1I3y1"} - data: {"id":"chatcmpl-Dalgy1fiSuEtX6bitcXltbq4RE3Zb","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_ed279b101f","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"dTeyhhXw6Y"} + data: {"id":"chatcmpl-DeMgTLduf81Drnz8S2EJgukm2yPpn","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"bg6W2T5sL6"} - data: {"id":"chatcmpl-Dalgy1fiSuEtX6bitcXltbq4RE3Zb","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_ed279b101f","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"RpmvqGhTQ6"} + data: {"id":"chatcmpl-DeMgTLduf81Drnz8S2EJgukm2yPpn","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Lk6U2qzM1h"} - data: {"id":"chatcmpl-Dalgy1fiSuEtX6bitcXltbq4RE3Zb","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_ed279b101f","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"9IkzqtDINJ"} + data: {"id":"chatcmpl-DeMgTLduf81Drnz8S2EJgukm2yPpn","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gpiCCL3tYG"} - data: {"id":"chatcmpl-Dalgy1fiSuEtX6bitcXltbq4RE3Zb","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_ed279b101f","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"F2IcT"} + data: {"id":"chatcmpl-DeMgTLduf81Drnz8S2EJgukm2yPpn","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"YNTqI"} - data: {"id":"chatcmpl-Dalgy1fiSuEtX6bitcXltbq4RE3Zb","object":"chat.completion.chunk","created":1777655508,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_ed279b101f","choices":[],"usage":{"prompt_tokens":15,"completion_tokens":8,"total_tokens":23,"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":"J4lLjyIwjOB"} + data: {"id":"chatcmpl-DeMgTLduf81Drnz8S2EJgukm2yPpn","object":"chat.completion.chunk","created":1778512689,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5d647ed00c","choices":[],"usage":{"prompt_tokens":15,"completion_tokens":8,"total_tokens":23,"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":"OY6oLxr3D9j"} data: [DONE] @@ -213,13 +213,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f50684cc983ac26-YYZ + - 9fa227951a6d0f01-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 01 May 2026 17:11:48 GMT + - Mon, 11 May 2026 15:18:10 GMT Server: - cloudflare Strict-Transport-Security: @@ -235,15 +235,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '215' + - '286' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=uTKed_AcfP8gO9M9G76nwYOAdRhBnFJ8flxDPN6nAeA-1777655507.9620714-1.0.1.1-UHdZPQaUJmA2is8pDqXBoF3UZ2UCNm7moOn0Nx33SYs3Y0e81XXQawczrfHDR_3tmeNAw0v6AZJecjsaXAm9YRXRfE5nEe7imPbW60DQ21pyzmd4X1uM7LweKt_IRRq1; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:41:48 GMT + - __cf_bm=QKWxDjnjTHHQVUHFgV_u6cGFxZVPkQKdWWZEzMXB_yE-1778512689.4525566-1.0.1.1-bIueJMzsq0_r6xBD4bSjXamF3.89X5oFSr2_0CTpvKYVX6.JzlKMNdfJdCB79F09684u9rcolpg1P_S9GTQgKnHkddZdUJ89DygWQz4IRpPfKgiCAAu4K6siSsc28hNF; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:10 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -259,7 +259,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_c049bd2e0037456c9032789ceae5f433 + - req_e731a190d3bf4ad7a59b5a452a6331fe status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_no_model_agent_run.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_no_model_agent_run.yaml index e24e44d2..bac9c0ee 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_no_model_agent_run.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_no_model_agent_run.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -39,8 +39,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalhS0t6GMlotx09A9pTzKZW8ZR58\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655538,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMh9CrztXhkaf45OLkGi2UBXLjE2\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512731,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"4\",\n \"refusal\": null,\n \ \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": @@ -49,18 +49,18 @@ interactions: 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_65e01686b7\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_65d291db15\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f50690a1dc4ab1b-YYZ + - 9fa2288aa9b2de04-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:18 GMT + - Mon, 11 May 2026 15:18:51 GMT Server: - cloudflare Strict-Transport-Security: @@ -78,15 +78,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '289' + - '588' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=9fnodnyAcj0B8ZjfrNErLhU4G1Ezfc9juetwXgjbc6Q-1777655538.2594612-1.0.1.1-rFpCVM.rj4zNVloRl6Xp3N_r2AX8BQg695TyANDzDzFOX7kA0CmK1tRm4ryaaEH3JthT3.Ttg.KFLJvGYagDr3.CUe4TrpOe8y2gaRoxkpOJvDBxxITQtGaqtXDMmPTs; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:18 GMT + - __cf_bm=4xiqXzsvv91sBMI.voC9ScDNQ7YobEr699e8k4W_ZWw-1778512728.7417827-1.0.1.1-03wU4t3YNC1kyKq5OUwGqaCV_1A5W4urMpRutIgfEHeaSIhx9PCYEMvn6_NgoOso7V4a4mlCgngmgPyWyUHX59bl8gDlkRKw0SoNvIdOQDdAudmkNVCi9BlTLjy10H.m; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:51 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -102,7 +102,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_b474b610caf74fb5a21b3a7a0397cc52 + - req_7e65d63de90948e5bd8f3d5544028056 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_no_model_agent_run_with_logfire.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_no_model_agent_run_with_logfire.yaml index 35243c12..c8079590 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_no_model_agent_run_with_logfire.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_no_model_agent_run_with_logfire.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -39,8 +39,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalhpY21ZeCuZbkvMbpdpJm7wwhF9\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655561,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMhahXtTbkIKarHcWZV9Ji5nt7mf\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512758,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"4\",\n \"refusal\": null,\n \ \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": @@ -49,18 +49,18 @@ interactions: 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_b86b5e7355\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_65d291db15\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f50699bfd33ab3f-YYZ + - 9fa22942bfdf92c6-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:42 GMT + - Mon, 11 May 2026 15:19:18 GMT Server: - cloudflare Strict-Transport-Security: @@ -78,15 +78,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '437' + - '418' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=POwBBRbTabS.7EMMPKq6HDSLdI3iffSEmVbhbD2t2PQ-1777655561.5996988-1.0.1.1-Hp1MFwCTVaWNV37732OLnIikuMJRmAIdWySwfPALk4.AOTGNvx7yL0jwwyh79waWOCPd_yp.yE0FMWmjWwWWT4vE1RdTN8fk04wRZAWxqJOC0HlC69.8YPBppQH5GQUI; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:42 GMT + - __cf_bm=M9sELuy.FGxXVkUtLJNpoZylmokcPmyJGHLUZ3GGakw-1778512758.194336-1.0.1.1-jCYPtlZ5t1l98s8vYOYDMU1n3rlOYVHwQVYwQbh7U6QgnthgDdJVxdnQrAsLA.HW09ILwATrEo90IcFgoffngEK2kOMX5i.x_asI4b6ORL3GmLz.a9TK2a9Eh.srzmof; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:49:18 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -102,7 +102,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_ccced7d1b19049b89b1e260a81588c0c + - req_54e546575cdf408fa90e4da5058d319b status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_pydantic_wrapped_completion.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_pydantic_wrapped_completion.yaml index 73555367..789a8d5c 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_pydantic_wrapped_completion.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_pydantic_wrapped_completion.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,8 +38,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-Dali2m62wRyKKLIy2flpF5KGpB8ks\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655574,\n \"model\": \"gpt-3.5-turbo-0125\",\n + string: "{\n \"id\": \"chatcmpl-DeMhojQ3v4qjq8nVTLncxLSuw2H33\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512772,\n \"model\": \"gpt-3.5-turbo-0125\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"Rome\",\n \"refusal\": null,\n \ \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": @@ -53,13 +53,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5069eb98908bf1-YYZ + - 9fa2299b8ba3ac8d-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:54 GMT + - Mon, 11 May 2026 15:19:32 GMT Server: - cloudflare Strict-Transport-Security: @@ -77,15 +77,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '303' + - '193' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=FBYOHKSfDsM._BvD6UDqw4KxGNCHluCnpgYejPomujY-1777655574.3367708-1.0.1.1-lIpc_MZgzmxfCZ9lr6hOHFHFHMvQR.iJ7slqRdhg6aWZ4gmH_61elm.KmJNdfT9B1.jHMjLQIcaFAoylH1DugIyLeAyb6TlD_3.G4F3yJeB_xzR.43xecP0LKp6Qeal7; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:54 GMT + - __cf_bm=9QtG_r2loMbfWRLQnnItoP_WtMrIS_4K7XMz5P7dcLE-1778512772.406288-1.0.1.1-i.yDqF4EU6nDr1X7ssFSEpl_Qcm6w0EevPJcIa3JslUyvb6r7NpO52T8X819AeYsYclV29Vy7fhGqRLIFmErJVPCIYJuAAS2Ik0yvbQFrwyv2jNusoI2jnZZbcXZ787V; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:49:32 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -101,7 +101,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_e9da53b24e694d8e9d1945a0991c9ab2 + - req_c564c2c198064919b41e37840f0edbc7 status: code: 200 message: OK @@ -119,11 +119,11 @@ interactions: Content-Type: - application/json Cookie: - - __cf_bm=FBYOHKSfDsM._BvD6UDqw4KxGNCHluCnpgYejPomujY-1777655574.3367708-1.0.1.1-lIpc_MZgzmxfCZ9lr6hOHFHFHMvQR.iJ7slqRdhg6aWZ4gmH_61elm.KmJNdfT9B1.jHMjLQIcaFAoylH1DugIyLeAyb6TlD_3.G4F3yJeB_xzR.43xecP0LKp6Qeal7 + - __cf_bm=9QtG_r2loMbfWRLQnnItoP_WtMrIS_4K7XMz5P7dcLE-1778512772.406288-1.0.1.1-i.yDqF4EU6nDr1X7ssFSEpl_Qcm6w0EevPJcIa3JslUyvb6r7NpO52T8X819AeYsYclV29Vy7fhGqRLIFmErJVPCIYJuAAS2Ik0yvbQFrwyv2jNusoI2jnZZbcXZ787V Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -133,7 +133,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -146,14 +146,14 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-Dali3eZ1MuX1BEjCdkAC8PKS7W8zn\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655575,\n \"model\": \"gpt-3.5-turbo-0125\",\n + string: "{\n \"id\": \"chatcmpl-DeMhotvEKto8pg1hrhoqRkn6wiyVy\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512772,\n \"model\": \"gpt-3.5-turbo-0125\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": - \"assistant\",\n \"content\": \"Rome\",\n \"refusal\": null,\n - \ \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": - \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 14,\n \"completion_tokens\": - 2,\n \"total_tokens\": 16,\n \"prompt_tokens_details\": {\n \"cached_tokens\": - 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": + \"assistant\",\n \"content\": \"The capital of Italy is Rome.\",\n + \ \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": + null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": + 14,\n \"completion_tokens\": 7,\n \"total_tokens\": 21,\n \"prompt_tokens_details\": + {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": null\n}\n" @@ -161,13 +161,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5069ef8ff790e5-YYZ + - 9fa2299e2f9c24ee-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:56 GMT + - Mon, 11 May 2026 15:19:33 GMT Server: - cloudflare Strict-Transport-Security: @@ -181,11 +181,11 @@ interactions: alt-svc: - h3=":443"; ma=86400 content-length: - - '795' + - '820' openai-organization: - braintrust-data openai-processing-ms: - - '1040' + - '368' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -205,7 +205,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_ea234c37ac63426cbf620e930879a83f + - req_1e112c12568c4b51928390a3159b4b51 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_pydantic_wrapped_stream.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_pydantic_wrapped_stream.yaml index 05d31e16..e0c275aa 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_pydantic_wrapped_stream.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_pydantic_wrapped_stream.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,19 +38,39 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-Dali119aclY5y02uiNyTnskIPvkgn","object":"chat.completion.chunk","created":1777655573,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"6vQ6zFw4"} + string: 'data: {"id":"chatcmpl-DeMhmnd0eGw4oetLuioFa6HjoKkmP","object":"chat.completion.chunk","created":1778512770,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"K1ocEeAQ"} - data: {"id":"chatcmpl-Dali119aclY5y02uiNyTnskIPvkgn","object":"chat.completion.chunk","created":1777655573,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"R"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"FDMV5V3Lo"} + data: {"id":"chatcmpl-DeMhmnd0eGw4oetLuioFa6HjoKkmP","object":"chat.completion.chunk","created":1778512770,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"The"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"sQZV2Vd"} - data: {"id":"chatcmpl-Dali119aclY5y02uiNyTnskIPvkgn","object":"chat.completion.chunk","created":1777655573,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"ome"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Etj1J6D"} + data: {"id":"chatcmpl-DeMhmnd0eGw4oetLuioFa6HjoKkmP","object":"chat.completion.chunk","created":1778512770,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":" + capital"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"46"} - data: {"id":"chatcmpl-Dali119aclY5y02uiNyTnskIPvkgn","object":"chat.completion.chunk","created":1777655573,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"eLm1"} + data: {"id":"chatcmpl-DeMhmnd0eGw4oetLuioFa6HjoKkmP","object":"chat.completion.chunk","created":1778512770,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":" + of"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"RzBvv20"} - data: {"id":"chatcmpl-Dali119aclY5y02uiNyTnskIPvkgn","object":"chat.completion.chunk","created":1777655573,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[],"usage":{"prompt_tokens":14,"completion_tokens":2,"total_tokens":16,"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":"n25BpaCMXI"} + data: {"id":"chatcmpl-DeMhmnd0eGw4oetLuioFa6HjoKkmP","object":"chat.completion.chunk","created":1778512770,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":" + Italy"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"cEnS"} + + + data: {"id":"chatcmpl-DeMhmnd0eGw4oetLuioFa6HjoKkmP","object":"chat.completion.chunk","created":1778512770,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":" + is"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Rp2Thgn"} + + + data: {"id":"chatcmpl-DeMhmnd0eGw4oetLuioFa6HjoKkmP","object":"chat.completion.chunk","created":1778512770,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":" + Rome"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"v1B6o"} + + + data: {"id":"chatcmpl-DeMhmnd0eGw4oetLuioFa6HjoKkmP","object":"chat.completion.chunk","created":1778512770,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"aHIypuglr"} + + + data: {"id":"chatcmpl-DeMhmnd0eGw4oetLuioFa6HjoKkmP","object":"chat.completion.chunk","created":1778512770,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"5luD"} + + + data: {"id":"chatcmpl-DeMhmnd0eGw4oetLuioFa6HjoKkmP","object":"chat.completion.chunk","created":1778512770,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[],"usage":{"prompt_tokens":14,"completion_tokens":7,"total_tokens":21,"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":"NPybf5X2u0"} data: [DONE] @@ -61,13 +81,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5069e46929ebb5-YYZ + - 9fa2298d8eba592d-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 01 May 2026 17:12:53 GMT + - Mon, 11 May 2026 15:19:30 GMT Server: - cloudflare Strict-Transport-Security: @@ -83,15 +103,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '161' + - '157' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=iaqYyfectQIuTnbPZW4C7nA04TJ0Sxu0iIPing1m_e4-1777655573.1847088-1.0.1.1-VBkwV2N7vNn1HyunmJL3XrWOPfuayxVeoyNFroBGwmnk7QsGkvm2wVHg9TvRqxV.u4HlGGJNP8_n_xttdm4n5jq12DUD6c9eZTcNCr2jRlSSQ_yY1nD50TW1azTa57.r; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:53 GMT + - __cf_bm=fytfSpVvN7_NLpdKmv7_FVcJ3Ur4kiWJyUPhB.w17Mc-1778512770.1609528-1.0.1.1-DZOppkHDxSkMespo00UpnY0rMpifCz2NkqaMXUvtI_zzg5sqtj2pyqtmtatYtVHczEvKFA932WhKYSIVLPZ_dpPoqptZMrJLakvTvp_QiuRUfyIY06txiJXG8EUxehG0; + HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, + 11 May 2026 15:49:30 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -107,7 +127,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_db0843119d8e4718b2918b03688ce0d1 + - req_7cf48f1826b9434ba78db5a8ec7b67cb status: code: 200 message: OK @@ -125,11 +145,11 @@ interactions: Content-Type: - application/json Cookie: - - __cf_bm=iaqYyfectQIuTnbPZW4C7nA04TJ0Sxu0iIPing1m_e4-1777655573.1847088-1.0.1.1-VBkwV2N7vNn1HyunmJL3XrWOPfuayxVeoyNFroBGwmnk7QsGkvm2wVHg9TvRqxV.u4HlGGJNP8_n_xttdm4n5jq12DUD6c9eZTcNCr2jRlSSQ_yY1nD50TW1azTa57.r + - __cf_bm=fytfSpVvN7_NLpdKmv7_FVcJ3Ur4kiWJyUPhB.w17Mc-1778512770.1609528-1.0.1.1-DZOppkHDxSkMespo00UpnY0rMpifCz2NkqaMXUvtI_zzg5sqtj2pyqtmtatYtVHczEvKFA932WhKYSIVLPZ_dpPoqptZMrJLakvTvp_QiuRUfyIY06txiJXG8EUxehG0 Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -139,7 +159,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -152,19 +172,39 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-Dali1AS4Q1f7lmi8Plyll0AawNHEl","object":"chat.completion.chunk","created":1777655573,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"2BX5Oimo"} + string: 'data: {"id":"chatcmpl-DeMhn464Il2OUvqK2hpcXgHfO6IUX","object":"chat.completion.chunk","created":1778512771,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"TR4cNb1b"} + + + data: {"id":"chatcmpl-DeMhn464Il2OUvqK2hpcXgHfO6IUX","object":"chat.completion.chunk","created":1778512771,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"The"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"7UjWZrc"} + + + data: {"id":"chatcmpl-DeMhn464Il2OUvqK2hpcXgHfO6IUX","object":"chat.completion.chunk","created":1778512771,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":" + capital"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Ib"} + + + data: {"id":"chatcmpl-DeMhn464Il2OUvqK2hpcXgHfO6IUX","object":"chat.completion.chunk","created":1778512771,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":" + of"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"YZYsfnp"} + + + data: {"id":"chatcmpl-DeMhn464Il2OUvqK2hpcXgHfO6IUX","object":"chat.completion.chunk","created":1778512771,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":" + Italy"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"zYP1"} + + + data: {"id":"chatcmpl-DeMhn464Il2OUvqK2hpcXgHfO6IUX","object":"chat.completion.chunk","created":1778512771,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":" + is"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Iubm2MC"} - data: {"id":"chatcmpl-Dali1AS4Q1f7lmi8Plyll0AawNHEl","object":"chat.completion.chunk","created":1777655573,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"R"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"CuyUQMfzc"} + data: {"id":"chatcmpl-DeMhn464Il2OUvqK2hpcXgHfO6IUX","object":"chat.completion.chunk","created":1778512771,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":" + Rome"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"iAni5"} - data: {"id":"chatcmpl-Dali1AS4Q1f7lmi8Plyll0AawNHEl","object":"chat.completion.chunk","created":1777655573,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"ome"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"7K91AAx"} + data: {"id":"chatcmpl-DeMhn464Il2OUvqK2hpcXgHfO6IUX","object":"chat.completion.chunk","created":1778512771,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"aqk6oJtmC"} - data: {"id":"chatcmpl-Dali1AS4Q1f7lmi8Plyll0AawNHEl","object":"chat.completion.chunk","created":1777655573,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"vAq5"} + data: {"id":"chatcmpl-DeMhn464Il2OUvqK2hpcXgHfO6IUX","object":"chat.completion.chunk","created":1778512771,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"39MG"} - data: {"id":"chatcmpl-Dali1AS4Q1f7lmi8Plyll0AawNHEl","object":"chat.completion.chunk","created":1777655573,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[],"usage":{"prompt_tokens":14,"completion_tokens":2,"total_tokens":16,"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":"lmpbaCpz7w"} + data: {"id":"chatcmpl-DeMhn464Il2OUvqK2hpcXgHfO6IUX","object":"chat.completion.chunk","created":1778512771,"model":"gpt-3.5-turbo-0125","service_tier":"default","system_fingerprint":null,"choices":[],"usage":{"prompt_tokens":14,"completion_tokens":7,"total_tokens":21,"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":"x3jUD2RWO0"} data: [DONE] @@ -175,13 +215,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5069e76aecab72-YYZ + - 9fa2299169c2fc7d-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 01 May 2026 17:12:53 GMT + - Mon, 11 May 2026 15:19:32 GMT Server: - cloudflare Strict-Transport-Security: @@ -197,7 +237,7 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '174' + - '430' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -217,7 +257,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_bbbda1752a8843e997e596fab917b35f + - req_01f7a85bdf2848c6a47d31ff6ebf3546 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_stream_buffer_pattern_early_return.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_stream_buffer_pattern_early_return.yaml index 8a45a2d1..bbbaa40a 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_stream_buffer_pattern_early_return.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_stream_buffer_pattern_early_return.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,59 +38,59 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DalhIK289m004tyava9Dur75nYHce","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Sn6q9noJc"} + string: 'data: {"id":"chatcmpl-DeMgtB1hwZycDRBy7mX3eRDdxHrva","object":"chat.completion.chunk","created":1778512715,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"RR40hycTn"} - data: {"id":"chatcmpl-DalhIK289m004tyava9Dur75nYHce","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"pHTxgm9HkT"} + data: {"id":"chatcmpl-DeMgtB1hwZycDRBy7mX3eRDdxHrva","object":"chat.completion.chunk","created":1778512715,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"puJWR0iqf2"} - data: {"id":"chatcmpl-DalhIK289m004tyava9Dur75nYHce","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"qS5x0NW9gq"} + data: {"id":"chatcmpl-DeMgtB1hwZycDRBy7mX3eRDdxHrva","object":"chat.completion.chunk","created":1778512715,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"yLlhcFXhbT"} - data: {"id":"chatcmpl-DalhIK289m004tyava9Dur75nYHce","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"NbdZK95YnY"} + data: {"id":"chatcmpl-DeMgtB1hwZycDRBy7mX3eRDdxHrva","object":"chat.completion.chunk","created":1778512715,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"bNXfvyiEji"} - data: {"id":"chatcmpl-DalhIK289m004tyava9Dur75nYHce","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"lynqjWfYhA"} + data: {"id":"chatcmpl-DeMgtB1hwZycDRBy7mX3eRDdxHrva","object":"chat.completion.chunk","created":1778512715,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"RX58bGHuQf"} - data: {"id":"chatcmpl-DalhIK289m004tyava9Dur75nYHce","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ZWA0qhzbsk"} + data: {"id":"chatcmpl-DeMgtB1hwZycDRBy7mX3eRDdxHrva","object":"chat.completion.chunk","created":1778512715,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Oqk1wv7MYj"} - data: {"id":"chatcmpl-DalhIK289m004tyava9Dur75nYHce","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"PMIcIZwDou"} + data: {"id":"chatcmpl-DeMgtB1hwZycDRBy7mX3eRDdxHrva","object":"chat.completion.chunk","created":1778512715,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"vT3zWxxAWn"} - data: {"id":"chatcmpl-DalhIK289m004tyava9Dur75nYHce","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Ys9ecUAFpu"} + data: {"id":"chatcmpl-DeMgtB1hwZycDRBy7mX3eRDdxHrva","object":"chat.completion.chunk","created":1778512715,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"2LkayNseKP"} - data: {"id":"chatcmpl-DalhIK289m004tyava9Dur75nYHce","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"jApQYmNRay"} + data: {"id":"chatcmpl-DeMgtB1hwZycDRBy7mX3eRDdxHrva","object":"chat.completion.chunk","created":1778512715,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gzMlVER7JU"} - data: {"id":"chatcmpl-DalhIK289m004tyava9Dur75nYHce","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"c3SZVbcHPH"} + data: {"id":"chatcmpl-DeMgtB1hwZycDRBy7mX3eRDdxHrva","object":"chat.completion.chunk","created":1778512715,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"AFv0qNFVru"} - data: {"id":"chatcmpl-DalhIK289m004tyava9Dur75nYHce","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"uBT23S0bsQ"} + data: {"id":"chatcmpl-DeMgtB1hwZycDRBy7mX3eRDdxHrva","object":"chat.completion.chunk","created":1778512715,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"uPA9wzkkWF"} - data: {"id":"chatcmpl-DalhIK289m004tyava9Dur75nYHce","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gFs4G0A9wy"} + data: {"id":"chatcmpl-DeMgtB1hwZycDRBy7mX3eRDdxHrva","object":"chat.completion.chunk","created":1778512715,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"2C8acBrGoX"} - data: {"id":"chatcmpl-DalhIK289m004tyava9Dur75nYHce","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Ir0SEt0qPJ"} + data: {"id":"chatcmpl-DeMgtB1hwZycDRBy7mX3eRDdxHrva","object":"chat.completion.chunk","created":1778512715,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"D4hgFJpOvX"} - data: {"id":"chatcmpl-DalhIK289m004tyava9Dur75nYHce","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"S5eSWd0O2A"} + data: {"id":"chatcmpl-DeMgtB1hwZycDRBy7mX3eRDdxHrva","object":"chat.completion.chunk","created":1778512715,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ygOB3bAJ7G"} - data: {"id":"chatcmpl-DalhIK289m004tyava9Dur75nYHce","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"yKwezoqNs2"} + data: {"id":"chatcmpl-DeMgtB1hwZycDRBy7mX3eRDdxHrva","object":"chat.completion.chunk","created":1778512715,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"IN6YUJkjeE"} - data: {"id":"chatcmpl-DalhIK289m004tyava9Dur75nYHce","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"1akbl"} + data: {"id":"chatcmpl-DeMgtB1hwZycDRBy7mX3eRDdxHrva","object":"chat.completion.chunk","created":1778512715,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"x9t2X"} - data: {"id":"chatcmpl-DalhIK289m004tyava9Dur75nYHce","object":"chat.completion.chunk","created":1777655528,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_845d726e38","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":14,"total_tokens":28,"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":"ZWGgWXHkOl"} + data: {"id":"chatcmpl-DeMgtB1hwZycDRBy7mX3eRDdxHrva","object":"chat.completion.chunk","created":1778512715,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":14,"total_tokens":28,"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":"L00Lqb2ddP"} data: [DONE] @@ -101,13 +101,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068c9997c180e-YYZ + - 9fa2283588c3e080-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 01 May 2026 17:12:08 GMT + - Mon, 11 May 2026 15:18:36 GMT Server: - cloudflare Strict-Transport-Security: @@ -123,15 +123,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '296' + - '914' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=MxKkZRBUKaP2vaXdtSXyVVU5c2qR12QOYlCjM678Rzc-1777655527.9353933-1.0.1.1-BlIJAiIT3MPu05rBQ9i57PpzgF6Qf.q5d1igAB1r0a4CC_EU1bF5xbOUtFKRphR2oo3NZ2xvokZC3EeaK2TQaASqZT0UObBq3Ervosxg.S.dCyJa61pXZPAPrp9EElYu; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:08 GMT + - __cf_bm=DXXHuWngN2N8aLeARSQqEw.nCbHH7gYPHIHVvlrkQyc-1778512715.1232133-1.0.1.1-GuO4HwFz1FmSqyZLYZ36sFGY48lNrjqc9M_qV50sCwLuLDjFV0Q_FMVZ2h9rUs8obPeiSlAA826CHgoN_vYqx4IUx8BxOeiWP.4EDps6dbBr2VmdjBUSnRBubQ0thZHg; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:36 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -141,13 +141,13 @@ interactions: x-ratelimit-remaining-requests: - '29999' x-ratelimit-remaining-tokens: - - '149999995' + - '149999992' x-ratelimit-reset-requests: - 2ms x-ratelimit-reset-tokens: - 0s x-request-id: - - req_4ce44f59ef89464e885a2cd2236530d9 + - req_1da44d69a9b649df9eaed9f845c01dbf status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_stream_early_break_async_generator.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_stream_early_break_async_generator.yaml index bab99447..7bb0cd20 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_stream_early_break_async_generator.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_stream_early_break_async_generator.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,84 +38,59 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"d9HSAxLbq"} + string: 'data: {"id":"chatcmpl-DeMgqBSOXRPpjreRQHSxw9S40WUnt","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"YnHcCly2u"} - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":"Sure"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"MMajcq9"} + data: {"id":"chatcmpl-DeMgqBSOXRPpjreRQHSxw9S40WUnt","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"EOGdRWqDes"} - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"RNyh0QRO9B"} + data: {"id":"chatcmpl-DeMgqBSOXRPpjreRQHSxw9S40WUnt","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"4fTpVJKWKE"} - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":" - Here"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Ntc4tm"} + data: {"id":"chatcmpl-DeMgqBSOXRPpjreRQHSxw9S40WUnt","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"sdDT31VtrG"} - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":" - you"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"JAQLHWv"} + data: {"id":"chatcmpl-DeMgqBSOXRPpjreRQHSxw9S40WUnt","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"XdHpBKsa1g"} - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":" - go"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"vERCJRHg"} + data: {"id":"chatcmpl-DeMgqBSOXRPpjreRQHSxw9S40WUnt","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"p0a1Rf4Yjg"} - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"m8ByFPpJCF"} + data: {"id":"chatcmpl-DeMgqBSOXRPpjreRQHSxw9S40WUnt","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"m1FabokwVa"} - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"UR22846gPr"} + data: {"id":"chatcmpl-DeMgqBSOXRPpjreRQHSxw9S40WUnt","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"xRQxgMaFim"} - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ZFB8climxO"} + data: {"id":"chatcmpl-DeMgqBSOXRPpjreRQHSxw9S40WUnt","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"FMw1BkWe6I"} - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"2lo5UGPatF"} + data: {"id":"chatcmpl-DeMgqBSOXRPpjreRQHSxw9S40WUnt","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ZG25r6tHMU"} - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"3lP9EcQz0w"} + data: {"id":"chatcmpl-DeMgqBSOXRPpjreRQHSxw9S40WUnt","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"aHVzP0y5Dv"} - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"tMM3F35cS8"} + data: {"id":"chatcmpl-DeMgqBSOXRPpjreRQHSxw9S40WUnt","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"yoJA18LupG"} - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"sAuPO5DdK9"} + data: {"id":"chatcmpl-DeMgqBSOXRPpjreRQHSxw9S40WUnt","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Kp0mKpXtYt"} - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"y11UiYaa50"} + data: {"id":"chatcmpl-DeMgqBSOXRPpjreRQHSxw9S40WUnt","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"BfDrcnwygp"} - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"MtIzeGM0Le"} + data: {"id":"chatcmpl-DeMgqBSOXRPpjreRQHSxw9S40WUnt","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"qshSfC3r0F"} - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"yWXQJdOAA7"} + data: {"id":"chatcmpl-DeMgqBSOXRPpjreRQHSxw9S40WUnt","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"8OGPk"} - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"oQZExBOKxi"} - - - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"FNVA9SVL3Q"} - - - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"bL1ET1N7xZ"} - - - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"se8eRP6d9J"} - - - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"PVdPO8ytBG"} - - - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"nmDFvJMfRG"} - - - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"fc5LX"} - - - data: {"id":"chatcmpl-DalhGHBYATWOKbXcH0evBinx1BTzT","object":"chat.completion.chunk","created":1777655526,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5b73694159","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":21,"total_tokens":35,"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":"k1UwruTNNT"} + data: {"id":"chatcmpl-DeMgqBSOXRPpjreRQHSxw9S40WUnt","object":"chat.completion.chunk","created":1778512712,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_6e71a9f378","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":14,"total_tokens":28,"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":"o4jv1opryx"} data: [DONE] @@ -126,13 +101,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068beae41fcd9-YYZ + - 9fa22825287ab687-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 01 May 2026 17:12:06 GMT + - Mon, 11 May 2026 15:18:33 GMT Server: - cloudflare Strict-Transport-Security: @@ -148,15 +123,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '236' + - '1323' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=isZkZO4JFpRUd80bUNGeqis_K8nOMzFOIOYeEskoP2g-1777655526.1818337-1.0.1.1-gY9jwUKvu7QEQa144i6_0bKvSOL61meCRSIUgQOK5A41h8nn4AhXAznH_nGRHYN5tjjn6Unbd4DGPl9eKQ93IAkFRrzJdccZQSYXNZxPQoZIXvD9hSSLbCw_klcURC4L; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:06 GMT + - __cf_bm=jDnv8YemusEjD5EquoH1XDAcE2Hl1.rFyNLi9E.z78c-1778512712.5106103-1.0.1.1-37rbSwjW0mzlv3PP_3tSJh7OgoV_iluomf993S1EkD9EI4I6QSCATy_f58GiQRbilL0rc2YTNT8wEHVPZDzdnNhGc2XK6uqPnae1rCcNWzgQBqayVSgWiQsVyvmKAld.; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:33 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -172,7 +147,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_4a42158c075d4b26ae710e85e1afd5cf + - req_f517725a7f4d44e0a4914764d0345cc4 status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_tool_execution_creates_spans.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_tool_execution_creates_spans.yaml index 40194060..72fe5b2a 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_tool_execution_creates_spans.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_tool_execution_creates_spans.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -39,11 +39,11 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalhPy53PA1lwjsIqa1vojROhIYmK\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655535,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMh3Rpq1JJ6aCCjdaG3zQXDEpunT\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512725,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n - \ \"id\": \"call_vP4p8hC3VmWBSh4eFc4Bn6X2\",\n \"type\": + \ \"id\": \"call_BmadJcicpMYP4TDMA8w4ppLv\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"calculate\",\n \ \"arguments\": \"{\\\"operation\\\":\\\"multiply\\\",\\\"a\\\":127,\\\"b\\\":49}\"\n \ }\n }\n ],\n \"refusal\": null,\n \"annotations\": @@ -53,18 +53,18 @@ interactions: 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_11121efef4\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_d88f6e55bb\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068f5ebc21486-YYZ + - 9fa22873bbf3aabd-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:15 GMT + - Mon, 11 May 2026 15:18:45 GMT Server: - cloudflare Strict-Transport-Security: @@ -82,15 +82,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '650' + - '699' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=l5an50qQTGLx6SGanRBloCzfwgeuNFHPVMIsiqkmMGM-1777655535.0302408-1.0.1.1-4d.MWrDPSpKKi64GgFhQwuZTRIOFjt1ag7bzTJjvVYbV16R.TllBZ8lcFEvXI_de3PDqxbc4m8BkUza1NeRbGSKLHHUe.dtJzyQ0MDXfkftJBOfi4fj1VJRt7MSpiK2l; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:15 GMT + - __cf_bm=pH3ECMffU.15EUsc_4eEgZidHcwu_YFqNZHrl5oWz_Y-1778512725.071927-1.0.1.1-rnPMXsfHO5HGk.4tzgTxT.I4Sg4OVLQUBOiXgVbWR.jlNGAF_hLlKEtYNKrgiwuEunU980NHY1vc7oJ617Ivq6cbgQj97dY.q6SS8IBEQZ7z3nChGBqZyGVtXOUaWiHW; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:45 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -106,12 +106,12 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_59ad8faa8d2d4d0ca7efae0338e294ed + - req_8fb7be78df2f4a5e8247778e4b3335f0 status: code: 200 message: OK - request: - body: '{"messages":[{"role":"user","content":"What is 127 multiplied by 49?"},{"role":"assistant","content":null,"tool_calls":[{"id":"call_vP4p8hC3VmWBSh4eFc4Bn6X2","type":"function","function":{"name":"calculate","arguments":"{\"operation\":\"multiply\",\"a\":127,\"b\":49}"}}]},{"role":"tool","tool_call_id":"call_vP4p8hC3VmWBSh4eFc4Bn6X2","content":"6223.0"}],"model":"gpt-4o-mini","max_completion_tokens":500,"stream":false,"tool_choice":"auto","tools":[{"type":"function","function":{"name":"calculate","description":"Perform + body: '{"messages":[{"role":"user","content":"What is 127 multiplied by 49?"},{"role":"assistant","content":null,"tool_calls":[{"id":"call_BmadJcicpMYP4TDMA8w4ppLv","type":"function","function":{"name":"calculate","arguments":"{\"operation\":\"multiply\",\"a\":127,\"b\":49}"}}]},{"role":"tool","tool_call_id":"call_BmadJcicpMYP4TDMA8w4ppLv","content":"6223.0"}],"model":"gpt-4o-mini","max_completion_tokens":500,"stream":false,"tool_choice":"auto","tools":[{"type":"function","function":{"name":"calculate","description":"Perform a mathematical calculation.","parameters":{"additionalProperties":false,"properties":{"operation":{"type":"string"},"a":{"type":"number"},"b":{"type":"number"}},"required":["operation","a","b"],"type":"object"},"strict":true}}]}' headers: Accept: @@ -125,11 +125,11 @@ interactions: Content-Type: - application/json Cookie: - - __cf_bm=l5an50qQTGLx6SGanRBloCzfwgeuNFHPVMIsiqkmMGM-1777655535.0302408-1.0.1.1-4d.MWrDPSpKKi64GgFhQwuZTRIOFjt1ag7bzTJjvVYbV16R.TllBZ8lcFEvXI_de3PDqxbc4m8BkUza1NeRbGSKLHHUe.dtJzyQ0MDXfkftJBOfi4fj1VJRt7MSpiK2l + - __cf_bm=pH3ECMffU.15EUsc_4eEgZidHcwu_YFqNZHrl5oWz_Y-1778512725.071927-1.0.1.1-rnPMXsfHO5HGk.4tzgTxT.I4Sg4OVLQUBOiXgVbWR.jlNGAF_hLlKEtYNKrgiwuEunU980NHY1vc7oJ617Ivq6cbgQj97dY.q6SS8IBEQZ7z3nChGBqZyGVtXOUaWiHW Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -139,7 +139,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -152,28 +152,28 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalhQpn2WukG5QlWbzOsk7VlzVZQS\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655536,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMh4mIQUzVTx7XNvAaPw8YgpD4Qx\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512726,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": - \"assistant\",\n \"content\": \"127 multiplied by 49 equals 6223.\",\n + \"assistant\",\n \"content\": \"127 multiplied by 49 is 6,223.\",\n \ \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": - 90,\n \"completion_tokens\": 11,\n \"total_tokens\": 101,\n \"prompt_tokens_details\": + 90,\n \"completion_tokens\": 12,\n \"total_tokens\": 102,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_11121efef4\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_d88f6e55bb\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068fbbcc1ec72-YYZ + - 9fa22879e90a1693-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:16 GMT + - Mon, 11 May 2026 15:18:46 GMT Server: - cloudflare Strict-Transport-Security: @@ -187,11 +187,11 @@ interactions: alt-svc: - h3=":443"; ma=86400 content-length: - - '841' + - '838' openai-organization: - braintrust-data openai-processing-ms: - - '744' + - '515' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -211,7 +211,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_47854035a6c6479899bc2b3f0f865679 + - req_b54a3273625c4a608287de4070b0c2bf status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_tool_execution_tracing_does_not_depend_on_message_reconstruction.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_tool_execution_tracing_does_not_depend_on_message_reconstruction.yaml index b5291391..a0d0120d 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_tool_execution_tracing_does_not_depend_on_message_reconstruction.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_tool_execution_tracing_does_not_depend_on_message_reconstruction.yaml @@ -15,7 +15,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -25,7 +25,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -38,11 +38,11 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalhNe543Bg9MkbS8fueY8elJtPwH\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655533,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMh1F2QmuVzVcUPl3jW6ntYg0C7S\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512723,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n - \ \"id\": \"call_wuphddKj4Tz78tEPL0bUyrS5\",\n \"type\": + \ \"id\": \"call_sgPi49f5DmIAkTgsyWrHGRj7\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"get_weather\",\n \ \"arguments\": \"{\\\"city\\\":\\\"Paris\\\"}\"\n }\n \ }\n ],\n \"refusal\": null,\n \"annotations\": @@ -52,18 +52,18 @@ interactions: 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_3768deb62e\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_1b483c1ec4\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068ebee4928db-YYZ + - 9fa2286a2a91a641-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:13 GMT + - Mon, 11 May 2026 15:18:44 GMT Server: - cloudflare Strict-Transport-Security: @@ -81,15 +81,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '362' + - '587' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=DTj_MV.llq3fCc78d10KMtb0BQilnuX3G7vDrpjBVcE-1777655533.4307659-1.0.1.1-nD5GL3LvfGbhpYgKHlAEeZwWKI8mv6tk8bM6Z8kVhBU6kBrpQV.6c2.ZucbVLihY3ercJDjf9kRA.I6BpjZ87Q9aAUZSS1xdE.XIMN_KJBoEn71bGbDfQLwRqvY0JuRs; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:42:13 GMT + - __cf_bm=5V.mDk.ksvHsq2TTMXTp5ueWLrzVWyDWD8zxHLf97os-1778512723.5511656-1.0.1.1-E1c69usQTZDa3p9le6xgkhe5IaBxzeFpPjxTJGtLe4AcmOKtf0b_hE_ypva4Oj6cxxeKFqk7cpB1DmP1Us4XH2CzNy.IQYF882w_NdwchavClnO_RVJZ8gPvYWPTIOYr; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:44 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -105,12 +105,12 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_3c4784ed5b8a976291752360509aa533 + - req_1573158450b84fdd8186ff5ba0fad282 status: code: 200 message: OK - request: - body: '{"messages":[{"role":"user","content":"What''s the weather in Paris?"},{"role":"assistant","content":null,"tool_calls":[{"id":"call_wuphddKj4Tz78tEPL0bUyrS5","type":"function","function":{"name":"get_weather","arguments":"{\"city\":\"Paris\"}"}}]},{"role":"tool","tool_call_id":"call_wuphddKj4Tz78tEPL0bUyrS5","content":"It''s + body: '{"messages":[{"role":"user","content":"What''s the weather in Paris?"},{"role":"assistant","content":null,"tool_calls":[{"id":"call_sgPi49f5DmIAkTgsyWrHGRj7","type":"function","function":{"name":"get_weather","arguments":"{\"city\":\"Paris\"}"}}]},{"role":"tool","tool_call_id":"call_sgPi49f5DmIAkTgsyWrHGRj7","content":"It''s sunny in Paris"}],"model":"gpt-4o-mini","max_completion_tokens":200,"stream":false,"tool_choice":"auto","tools":[{"type":"function","function":{"name":"get_weather","description":"","parameters":{"additionalProperties":false,"properties":{"city":{"type":"string"}},"required":["city"],"type":"object"},"strict":true}}]}' headers: Accept: @@ -124,11 +124,11 @@ interactions: Content-Type: - application/json Cookie: - - __cf_bm=DTj_MV.llq3fCc78d10KMtb0BQilnuX3G7vDrpjBVcE-1777655533.4307659-1.0.1.1-nD5GL3LvfGbhpYgKHlAEeZwWKI8mv6tk8bM6Z8kVhBU6kBrpQV.6c2.ZucbVLihY3ercJDjf9kRA.I6BpjZ87Q9aAUZSS1xdE.XIMN_KJBoEn71bGbDfQLwRqvY0JuRs + - __cf_bm=5V.mDk.ksvHsq2TTMXTp5ueWLrzVWyDWD8zxHLf97os-1778512723.5511656-1.0.1.1-E1c69usQTZDa3p9le6xgkhe5IaBxzeFpPjxTJGtLe4AcmOKtf0b_hE_ypva4Oj6cxxeKFqk7cpB1DmP1Us4XH2CzNy.IQYF882w_NdwchavClnO_RVJZ8gPvYWPTIOYr Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -138,7 +138,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -151,8 +151,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-DalhOxLFuhewokWtGoVEYP4t7CyWz\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655534,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMh2Q2fr1m74N3S2PHC30LFuYzXz\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512724,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"The weather in Paris is sunny.\",\n \ \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": @@ -161,18 +161,18 @@ interactions: {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_3768deb62e\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_1b483c1ec4\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5068f04e60076d-YYZ + - 9fa2286f2d493786-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:12:14 GMT + - Mon, 11 May 2026 15:18:44 GMT Server: - cloudflare Strict-Transport-Security: @@ -190,7 +190,7 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '539' + - '433' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: @@ -210,7 +210,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_3e69450c42ca4ecca4542c5be62b42de + - req_08b1069124ff4197be388529d7d5e27f status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_wrapper_agent_run_is_traced.yaml b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_wrapper_agent_run_is_traced.yaml index d2e47aa6..99cb31c5 100644 --- a/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_wrapper_agent_run_is_traced.yaml +++ b/py/src/braintrust/integrations/pydantic_ai/cassettes/latest/test_wrapper_agent_run_is_traced.yaml @@ -16,7 +16,7 @@ interactions: Host: - api.openai.com User-Agent: - - pydantic-ai/1.89.0 + - pydantic-ai/1.93.0 X-Stainless-Arch: - arm64 X-Stainless-Async: @@ -26,7 +26,7 @@ interactions: X-Stainless-OS: - MacOS X-Stainless-Package-Version: - - 2.33.0 + - 2.36.0 X-Stainless-Runtime: - CPython X-Stainless-Runtime-Version: @@ -39,8 +39,8 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: "{\n \"id\": \"chatcmpl-Dalgt0Yl11QoDptLMvqKh0GM1xf4T\",\n \"object\": - \"chat.completion\",\n \"created\": 1777655503,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n + string: "{\n \"id\": \"chatcmpl-DeMgKzsEDyUvB7WDdHgVja0BIRY1M\",\n \"object\": + \"chat.completion\",\n \"created\": 1778512680,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"4\",\n \"refusal\": null,\n \ \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": @@ -49,18 +49,18 @@ interactions: 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": - \"default\",\n \"system_fingerprint\": \"fp_b86b5e7355\"\n}\n" + \"default\",\n \"system_fingerprint\": \"fp_65d291db15\"\n}\n" headers: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f50682f09893b8e-YYZ + - 9fa2275cda3ba217-YYZ Connection: - keep-alive Content-Type: - application/json Date: - - Fri, 01 May 2026 17:11:43 GMT + - Mon, 11 May 2026 15:18:01 GMT Server: - cloudflare Strict-Transport-Security: @@ -78,15 +78,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '364' + - '462' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=kianFz7VzQHUWMKubsfbbQmcGO2TLbHSDvWOuYEc_3Q-1777655503.205412-1.0.1.1-4_35xCriPscT1jlHBZxu9l64tIbJHvSWs6eLHkJMeAhuf6TYLmCqAMmHlrxyhMh_PZTaQeh5OlIqe1VG633FQG4AF8DLfBRjxI1sLwZawWFwNAIcap4m.2eTbAUgb884; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:41:43 GMT + - __cf_bm=4P4OxwTIlm.1FucxdWIxlv6MJcrLOFT6Tf45ygTYbYc-1778512680.45729-1.0.1.1-fAq_f.QwCE2.bQNgpWZMCPd2o6NTU6W.egBKw45g8ZbBPo0bqr9zg1bB3ilJjiPdeZn88scnUer7arb98iTxzfxpx1YEgLOzbByy9rC0VAs3iXNGKuZE.od9Ae2Hteq3; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:48:01 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -102,7 +102,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_b9d3d5fd4ce9484fa10a7e2481193d32 + - req_7871c4ef494346338593bebda1fe334c status: code: 200 message: OK diff --git a/py/src/braintrust/integrations/strands/cassettes/latest/test_strands_openai_agent_traces_native_otel_lifecycle.yaml b/py/src/braintrust/integrations/strands/cassettes/latest/test_strands_openai_agent_traces_native_otel_lifecycle.yaml index 2a33a5ee..b81474f5 100644 --- a/py/src/braintrust/integrations/strands/cassettes/latest/test_strands_openai_agent_traces_native_otel_lifecycle.yaml +++ b/py/src/braintrust/integrations/strands/cassettes/latest/test_strands_openai_agent_traces_native_otel_lifecycle.yaml @@ -39,41 +39,41 @@ interactions: uri: https://api.openai.com/v1/chat/completions response: body: - string: 'data: {"id":"chatcmpl-Dalg5lcxOe3kE7vcrMA7aDkdasOvr","object":"chat.completion.chunk","created":1777655453,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b9ca58c2f4","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"m5cApwMwD"} + string: 'data: {"id":"chatcmpl-DeMfxTd534XGB9POudkDlQBfoAmIj","object":"chat.completion.chunk","created":1778512657,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_9bab15d2ac","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Ryywb33Sg"} - data: {"id":"chatcmpl-Dalg5lcxOe3kE7vcrMA7aDkdasOvr","object":"chat.completion.chunk","created":1777655453,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b9ca58c2f4","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"pTdEDtRXrb"} + data: {"id":"chatcmpl-DeMfxTd534XGB9POudkDlQBfoAmIj","object":"chat.completion.chunk","created":1778512657,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_9bab15d2ac","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"CTZItzx3Di"} - data: {"id":"chatcmpl-Dalg5lcxOe3kE7vcrMA7aDkdasOvr","object":"chat.completion.chunk","created":1777655453,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b9ca58c2f4","choices":[{"index":0,"delta":{"content":" - +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"zVB5Kw07r"} + data: {"id":"chatcmpl-DeMfxTd534XGB9POudkDlQBfoAmIj","object":"chat.completion.chunk","created":1778512657,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_9bab15d2ac","choices":[{"index":0,"delta":{"content":" + +"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"HTfa8A4aQ"} - data: {"id":"chatcmpl-Dalg5lcxOe3kE7vcrMA7aDkdasOvr","object":"chat.completion.chunk","created":1777655453,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b9ca58c2f4","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"TzDWzAoR4P"} + data: {"id":"chatcmpl-DeMfxTd534XGB9POudkDlQBfoAmIj","object":"chat.completion.chunk","created":1778512657,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_9bab15d2ac","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"OTE9Yjvsig"} - data: {"id":"chatcmpl-Dalg5lcxOe3kE7vcrMA7aDkdasOvr","object":"chat.completion.chunk","created":1777655453,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b9ca58c2f4","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"pPhbMNqD5J"} + data: {"id":"chatcmpl-DeMfxTd534XGB9POudkDlQBfoAmIj","object":"chat.completion.chunk","created":1778512657,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_9bab15d2ac","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"NjMg67Soof"} - data: {"id":"chatcmpl-Dalg5lcxOe3kE7vcrMA7aDkdasOvr","object":"chat.completion.chunk","created":1777655453,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b9ca58c2f4","choices":[{"index":0,"delta":{"content":" - equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"OSRT"} + data: {"id":"chatcmpl-DeMfxTd534XGB9POudkDlQBfoAmIj","object":"chat.completion.chunk","created":1778512657,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_9bab15d2ac","choices":[{"index":0,"delta":{"content":" + equals"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"6E72"} - data: {"id":"chatcmpl-Dalg5lcxOe3kE7vcrMA7aDkdasOvr","object":"chat.completion.chunk","created":1777655453,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b9ca58c2f4","choices":[{"index":0,"delta":{"content":" - "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"uginqmQ1fW"} + data: {"id":"chatcmpl-DeMfxTd534XGB9POudkDlQBfoAmIj","object":"chat.completion.chunk","created":1778512657,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_9bab15d2ac","choices":[{"index":0,"delta":{"content":" + "},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"DJB5Xw6cdv"} - data: {"id":"chatcmpl-Dalg5lcxOe3kE7vcrMA7aDkdasOvr","object":"chat.completion.chunk","created":1777655453,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b9ca58c2f4","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ing9INCHcc"} + data: {"id":"chatcmpl-DeMfxTd534XGB9POudkDlQBfoAmIj","object":"chat.completion.chunk","created":1778512657,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_9bab15d2ac","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"edfk5DGDBv"} - data: {"id":"chatcmpl-Dalg5lcxOe3kE7vcrMA7aDkdasOvr","object":"chat.completion.chunk","created":1777655453,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b9ca58c2f4","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"nq21gXpkIt"} + data: {"id":"chatcmpl-DeMfxTd534XGB9POudkDlQBfoAmIj","object":"chat.completion.chunk","created":1778512657,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_9bab15d2ac","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"lSsW8PEDza"} - data: {"id":"chatcmpl-Dalg5lcxOe3kE7vcrMA7aDkdasOvr","object":"chat.completion.chunk","created":1777655453,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b9ca58c2f4","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"5GFWQ"} + data: {"id":"chatcmpl-DeMfxTd534XGB9POudkDlQBfoAmIj","object":"chat.completion.chunk","created":1778512657,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_9bab15d2ac","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"sodKy"} - data: {"id":"chatcmpl-Dalg5lcxOe3kE7vcrMA7aDkdasOvr","object":"chat.completion.chunk","created":1777655453,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_b9ca58c2f4","choices":[],"usage":{"prompt_tokens":37,"completion_tokens":9,"total_tokens":46,"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":"8iGNqGIfmOZ"} + data: {"id":"chatcmpl-DeMfxTd534XGB9POudkDlQBfoAmIj","object":"chat.completion.chunk","created":1778512657,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_9bab15d2ac","choices":[],"usage":{"prompt_tokens":37,"completion_tokens":9,"total_tokens":46,"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":"tP5qzHw2uhB"} data: [DONE] @@ -84,13 +84,13 @@ interactions: CF-Cache-Status: - DYNAMIC CF-Ray: - - 9f5066f49d4b982f-YYZ + - 9fa226ca7927aaf7-YYZ Connection: - keep-alive Content-Type: - text/event-stream; charset=utf-8 Date: - - Fri, 01 May 2026 17:10:53 GMT + - Mon, 11 May 2026 15:17:37 GMT Server: - cloudflare Strict-Transport-Security: @@ -106,15 +106,15 @@ interactions: openai-organization: - braintrust-data openai-processing-ms: - - '376' + - '353' openai-project: - proj_vsCSXafhhByzWOThMrJcZiw9 openai-version: - '2020-10-01' set-cookie: - - __cf_bm=aPOLQCALt.7riKm5lJuahFLQvisp3VpLut2Rfs8gTDQ-1777655452.8944705-1.0.1.1-mdkFejAU3Otk8IzQU1l5AvFfnwJ3hM1CYU9corFLE_BSPDZEPPH8HkfZEyFZn3WreBBetMYS0GLH4q1.pcRCdQvXiyyYtZlJFJcTqTa1mOvMIQNNi7UgbrVcLOwRyWE3; - HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 01 May 2026 - 17:40:53 GMT + - __cf_bm=eubFPomFliBgsl6NeNq34D22x2kcdqNq6mnPrXSqV0w-1778512657.0341878-1.0.1.1-HK0aX.7q8K7BJIlUO9Jwk3Nz0ScCGL04ORThlfBfGL3LiIh1WcWFFH1Uon9mT.octt1E9S5xirDr5sDFwaRRcYoHzi_6FpoNCZpWKylg7cjudyYVKNO9GVKC29jVWVnI; + HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 11 May 2026 + 15:47:37 GMT x-openai-proxy-wasm: - v0.1 x-ratelimit-limit-requests: @@ -130,7 +130,7 @@ interactions: x-ratelimit-reset-tokens: - 0s x-request-id: - - req_eae6355b01d047e6b3eb113c28971e8f + - req_71f5d9828c5b4aa9b00ffb1730a34a0e status: code: 200 message: OK diff --git a/py/uv.lock b/py/uv.lock index 16fd63be..8c38b214 100644 --- a/py/uv.lock +++ b/py/uv.lock @@ -75,8 +75,7 @@ name = "ag-ui-protocol" version = "0.1.18" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, ] sdist = { url = "https://files.pythonhosted.org/packages/4c/d7/5711eada86da9bd7684e58645653a1693ef20b66cc3efbb1deeafef80f8d/ag_ui_protocol-0.1.18.tar.gz", hash = "sha256:b37c672c3fd6bac12b316c39f45ad9db9f137bbb885489c79f268507029a22ff", size = 9937, upload-time = "2026-04-21T20:44:59.151Z" } wheels = [ @@ -119,7 +118,7 @@ wheels = [ [[package]] name = "agno" -version = "2.6.4" +version = "2.6.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "docstring-parser" }, @@ -127,20 +126,18 @@ dependencies = [ { name = "h11" }, { name = "httpx", extra = ["http2"], marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "packaging", version = "25.0", source = { registry = "https://pypi.org/simple" } }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, { name = "pydantic-settings" }, { name = "python-dotenv" }, { name = "python-multipart" }, { name = "pyyaml" }, - { name = "rich", version = "14.3.4", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.14' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "rich", version = "15.0.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.14' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "rich", version = "14.3.4", source = { registry = "https://pypi.org/simple" } }, { name = "typer" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e7/6b/f8ffb628ca219c0bd791c6eb10c1d4f312a06c761b67f1640d44cca1767c/agno-2.6.4.tar.gz", hash = "sha256:9ee7d5517e1c26760c5e489735fb547e2088248a9aec291e3c82bf2bbaef1482", size = 1989196, upload-time = "2026-04-28T13:04:27.632Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ce/3e/e0c32020ba694024f5b438e969ef3a483ca143cb9f9338442626223c7f7c/agno-2.6.5.tar.gz", hash = "sha256:b3b06a46d3ca03e425754bbb7e3228f0720dc4b7c80710fae44c4b39eb34b1c3", size = 2001624, upload-time = "2026-05-06T13:49:10.323Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/42/11/961ebe193afd7ae95985fd5ddb7c7b3d407998a4826b3a91dba6ef0c7231/agno-2.6.4-py3-none-any.whl", hash = "sha256:a28b8a3dfdbcdabefbc5f345e0068c3a1d7556aa2d0019caaa30160e73ff1cb9", size = 2361858, upload-time = "2026-04-28T13:04:25.24Z" }, + { url = "https://files.pythonhosted.org/packages/3e/87/e350351e36d4b178f7bec920501cc620553162cf7ed8491d22308388a453/agno-2.6.5-py3-none-any.whl", hash = "sha256:2b18af599ad5386041c7c734f4a2e2f4b7f67c1038e84178a59a5219927cd9e1", size = 2375671, upload-time = "2026-05-06T13:49:07.734Z" }, ] [[package]] @@ -359,23 +356,23 @@ wheels = [ [[package]] name = "anthropic" -version = "0.97.0" +version = "0.100.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, { name = "distro" }, { name = "docstring-parser" }, { name = "httpx" }, - { name = "jiter", version = "0.13.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.14' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "jiter", version = "0.14.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.14' and extra == 'group-10-braintrust-lint') or extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "jiter", version = "0.13.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "jiter", version = "0.14.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.13.4", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands')" }, { name = "sniffio" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/14/93/f66ea8bfe39f2e6bb9da8e27fa5457ad2520e8f7612dfc547b17fad55c4d/anthropic-0.97.0.tar.gz", hash = "sha256:021e79fd8e21e90ad94dc5ba2bbbd8b1599f424f5b1fab6c06204009cab764be", size = 669502, upload-time = "2026-04-23T20:52:34.445Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9c/2d/24caf0ff727cba2ed863925017c8f93463a2ea6224a0efe5626e672bc3d2/anthropic-0.100.0.tar.gz", hash = "sha256:650dee9e023afb16395939ee4104bbc21f966b380210119fb91122c12099c79a", size = 758255, upload-time = "2026-05-06T15:07:13.578Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/53/b6/8e851369fa661ad0fef2ae6266bf3b7d52b78ccf011720058f4adaca59e2/anthropic-0.97.0-py3-none-any.whl", hash = "sha256:8a1a472dfabcfc0c52ff6a3eecf724ac7e07107a2f6e2367be55ceb42f5d5613", size = 662126, upload-time = "2026-04-23T20:52:32.377Z" }, + { url = "https://files.pythonhosted.org/packages/5d/a0/c775c59ab9445ecabb57ef3d5c24027de060139189a9e312ef9ef889a665/anthropic-0.100.0-py3-none-any.whl", hash = "sha256:1c15769efa15d8fd5c1ebf900e25c57e3ee540f8554a29aa56e4edefffe2951d", size = 753596, upload-time = "2026-05-06T15:07:12.106Z" }, ] [[package]] @@ -454,15 +451,15 @@ wheels = [ [[package]] name = "authlib" -version = "1.7.0" +version = "1.7.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cryptography" }, { name = "joserfc" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d9/82/4d0603f30c1b4629b1f091bb266b0d7986434891d6940a8c87f8098db24e/authlib-1.7.0.tar.gz", hash = "sha256:b3e326c9aa9cc3ea95fe7d89fd880722d3608da4d00e8a27e061e64b48d801d5", size = 175890, upload-time = "2026-04-18T11:00:28.559Z" } +sdist = { url = "https://files.pythonhosted.org/packages/36/98/7d93f30d029643c0275dbc0bd6d5a6f670661ee6c9a94d93af7ab4887600/authlib-1.7.2.tar.gz", hash = "sha256:2cea25fefcd4e7173bdf1372c0afc265c8034b23a8cd5dcb6a9164b826c64231", size = 176511, upload-time = "2026-05-06T08:10:23.116Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ca/48/c954218b2a250e23f178f10167c4173fecb5a75d2c206f0a67ba58006c26/authlib-1.7.0-py2.py3-none-any.whl", hash = "sha256:e36817afb02f6f0b6bf55f150782499ddd6ddf44b402bb055d3263cc65ac9ae0", size = 258779, upload-time = "2026-04-18T11:00:26.64Z" }, + { url = "https://files.pythonhosted.org/packages/fb/95/adcb68e20c34162e9135f370d6e31737719c2b6f94bc953fe7ed1f10fe21/authlib-1.7.2-py2.py3-none-any.whl", hash = "sha256:3e1faedc9d87e7d56a164eca3ccb6ace0d61b94abe83e92242f8dc8bba9b4a9f", size = 259548, upload-time = "2026-05-06T08:10:21.436Z" }, ] [[package]] @@ -501,8 +498,7 @@ dependencies = [ { name = "opentelemetry-api" }, { name = "pillow" }, { name = "protobuf", version = "5.29.6", source = { registry = "https://pypi.org/simple" } }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/b1/11/fea52bf3541c5308bed1ee9b9b3596fa510b2c5db893d32b649d22f02b87/autogen_core-0.7.5.tar.gz", hash = "sha256:70c2871389f1d0a7f6db8ef78717a51b7ce877ff4a08a836b7758d604dece203", size = 101980, upload-time = "2025-09-30T06:16:25.957Z" } @@ -566,8 +562,7 @@ dependencies = [ { name = "griffe" }, { name = "jinja2" }, { name = "platformdirs" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, ] sdist = { url = "https://files.pythonhosted.org/packages/bd/51/08fb68d23f4b0f6256fe85dc86e9576941550f890b079352fba719e07b39/banks-2.4.2.tar.gz", hash = "sha256:cda6013bd377ea7b701933578bfb9370fc21ad70bc13cedfc3f5cb2c034ca3dc", size = 188633, upload-time = "2026-04-27T12:15:22.021Z" } wheels = [ @@ -664,30 +659,30 @@ wheels = [ [[package]] name = "boto3" -version = "1.43.2" +version = "1.43.6" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "botocore" }, { name = "jmespath" }, { name = "s3transfer" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/95/cd/bba36079f5d4bd63db7385e6b9dc1845db32407c3f18f56aaddafb75097f/boto3-1.43.2.tar.gz", hash = "sha256:be951cc22769fbcda73fac523b031ee38db45c3ae2b0d828c76b8f6e8e683073", size = 113108, upload-time = "2026-05-01T19:43:13.632Z" } +sdist = { url = "https://files.pythonhosted.org/packages/0a/37/78c630d1308964aa9abf44951d9c4df776546ff37251ec2434944e205c4e/boto3-1.43.6.tar.gz", hash = "sha256:e6315effaf12b890b99956e6f8e2c3000a3f64e4ee91943cec3895ce9a836afb", size = 113153, upload-time = "2026-05-07T20:49:59.694Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cb/e5/c9cee72ef678dabcc27acaf8228a2d4157ad26b00e1cc5d48886f8a94c2c/boto3-1.43.2-py3-none-any.whl", hash = "sha256:796e859cfb5e93c55276ce746f8020f691eda6b68a0ec4ce4f6fd07a1cca6859", size = 140501, upload-time = "2026-05-01T19:43:10.5Z" }, + { url = "https://files.pythonhosted.org/packages/c8/e2/3c2eef44f55eafab256836d1d9479bd6a74f70c26cbfdc0639a0e23e4327/boto3-1.43.6-py3-none-any.whl", hash = "sha256:179601ec2992726a718053bf41e43c223ceba397d31ceab11f64d9c910d9fc3a", size = 140502, upload-time = "2026-05-07T20:49:57.8Z" }, ] [[package]] name = "botocore" -version = "1.43.2" +version = "1.43.6" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jmespath" }, { name = "python-dateutil" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/2c/b0/65d4c85f16367fb6147d391652d0c386f24b029536f7026e7b98740166cd/botocore-1.43.2.tar.gz", hash = "sha256:7b2ec87b6d0720bff920451ce930e71c2a99cdea48d0eaa66ccf0b21ea747e03", size = 15301186, upload-time = "2026-05-01T19:42:59.748Z" } +sdist = { url = "https://files.pythonhosted.org/packages/79/a7/23d0f5028011455096a1eeac0ddf3cbe147b3e855e127342f8202552194d/botocore-1.43.6.tar.gz", hash = "sha256:b1e395b347356860398da42e61c808cf1e34b6fa7180cf2b9d87d986e1a06ba0", size = 15336070, upload-time = "2026-05-07T20:49:48.14Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bb/52/f57ded73f1527a18e0712281eb49c4ae240038bb4dc7083fd288b4adc811/botocore-1.43.2-py3-none-any.whl", hash = "sha256:b823454d751a1c24bb403b5b07ab65007689654abb21787df923684e0743976c", size = 14982693, upload-time = "2026-05-01T19:42:54.602Z" }, + { url = "https://files.pythonhosted.org/packages/e5/c8/6f47223840e8d8cfa8c9f7c0ec1b77970417f257fc885169ff4f6326ce09/botocore-1.43.6-py3-none-any.whl", hash = "sha256:b6d1fdbc6f65a5fe0b7e947823aa37535d3f39f3ba4d21110fab1f55bbbcc04b", size = 15017094, upload-time = "2026-05-07T20:49:44.964Z" }, ] [[package]] @@ -714,11 +709,12 @@ all = [ { name = "boto3" }, { name = "openai-agents", version = "0.2.9", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-litellm' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands')" }, { name = "openai-agents", version = "0.10.5", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands')" }, - { name = "openai-agents", version = "0.15.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm')" }, + { name = "openai-agents", version = "0.17.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm')" }, { name = "opentelemetry-api" }, { name = "opentelemetry-exporter-otlp-proto-http" }, { name = "opentelemetry-sdk" }, - { name = "orjson", marker = "platform_python_implementation != 'PyPy' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "orjson", version = "3.11.8", source = { registry = "https://pypi.org/simple" }, marker = "(platform_python_implementation != 'PyPy' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "orjson", version = "3.11.9", source = { registry = "https://pypi.org/simple" }, marker = "(platform_python_implementation != 'PyPy' and extra == 'group-10-braintrust-lint') or (platform_python_implementation != 'PyPy' and extra == 'group-10-braintrust-test-agentscope') or (platform_python_implementation != 'PyPy' and extra == 'group-10-braintrust-test-agno') or (platform_python_implementation != 'PyPy' and extra == 'group-10-braintrust-test-crewai') or (platform_python_implementation != 'PyPy' and extra == 'group-10-braintrust-test-langchain') or (platform_python_implementation != 'PyPy' and extra != 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "python-dotenv" }, { name = "starlette", version = "0.52.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "starlette", version = "1.0.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-crewai' or extra == 'group-10-braintrust-test-langchain' or extra == 'group-10-braintrust-test-litellm' or extra == 'group-10-braintrust-test-openai-agents' or extra == 'group-10-braintrust-test-pydantic-ai-logfire' or extra == 'group-10-braintrust-test-strands' or extra != 'group-10-braintrust-lint'" }, @@ -737,7 +733,7 @@ cli = [ openai-agents = [ { name = "openai-agents", version = "0.2.9", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-litellm' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands')" }, { name = "openai-agents", version = "0.10.5", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands')" }, - { name = "openai-agents", version = "0.15.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm')" }, + { name = "openai-agents", version = "0.17.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm')" }, ] otel = [ { name = "opentelemetry-api" }, @@ -745,7 +741,8 @@ otel = [ { name = "opentelemetry-sdk" }, ] performance = [ - { name = "orjson", marker = "platform_python_implementation != 'PyPy' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "orjson", version = "3.11.8", source = { registry = "https://pypi.org/simple" }, marker = "(platform_python_implementation != 'PyPy' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "orjson", version = "3.11.9", source = { registry = "https://pypi.org/simple" }, marker = "(platform_python_implementation != 'PyPy' and extra == 'group-10-braintrust-lint') or (platform_python_implementation != 'PyPy' and extra == 'group-10-braintrust-test-agentscope') or (platform_python_implementation != 'PyPy' and extra == 'group-10-braintrust-test-agno') or (platform_python_implementation != 'PyPy' and extra == 'group-10-braintrust-test-crewai') or (platform_python_implementation != 'PyPy' and extra == 'group-10-braintrust-test-langchain') or (platform_python_implementation != 'PyPy' and extra != 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, ] temporal = [ { name = "temporalio" }, @@ -774,8 +771,7 @@ lint = [ { name = "autogen-ext", extra = ["openai"], marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "braintrust-core" }, { name = "claude-agent-sdk" }, - { name = "cohere", version = "5.21.1", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "cohere", version = "6.1.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "cohere" }, { name = "crewai", marker = "python_full_version < '3.14'" }, { name = "dspy" }, { name = "google-adk" }, @@ -791,7 +787,7 @@ lint = [ { name = "mistralai" }, { name = "onnxruntime", marker = "python_full_version < '3.11'" }, { name = "openai", version = "2.32.0", source = { registry = "https://pypi.org/simple" } }, - { name = "openai-agents", version = "0.15.1", source = { registry = "https://pypi.org/simple" } }, + { name = "openai-agents", version = "0.17.1", source = { registry = "https://pypi.org/simple" } }, { name = "openrouter" }, { name = "opentelemetry-instrumentation-openai" }, { name = "pydantic-ai" }, @@ -841,7 +837,7 @@ test-langchain = [ test-litellm = [ { name = "fastapi" }, { name = "openai", version = "1.99.9", source = { registry = "https://pypi.org/simple" } }, - { name = "orjson" }, + { name = "orjson", version = "3.11.8", source = { registry = "https://pypi.org/simple" } }, { name = "pytest" }, { name = "pytest-asyncio" }, { name = "pytest-vcr" }, @@ -1076,10 +1072,10 @@ name = "build" version = "1.5.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "colorama", marker = "python_full_version < '3.14' and os_name == 'nt'" }, + { name = "colorama", marker = "os_name == 'nt'" }, { name = "importlib-metadata", version = "8.7.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10.2'" }, - { name = "packaging", version = "25.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" }, - { name = "pyproject-hooks", marker = "python_full_version < '3.14'" }, + { name = "packaging", version = "25.0", source = { registry = "https://pypi.org/simple" } }, + { name = "pyproject-hooks" }, { name = "tomli", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/78/e0/df5e171f685f82f37b12e1f208064e24244911079d7b767447d1af7e0d70/build-1.5.0.tar.gz", hash = "sha256:302c22c3ba2a0fd5f3911918651341ebb3896176cbdec15bd421f80b1afc7647", size = 89796, upload-time = "2026-04-30T03:18:25.17Z" } @@ -1362,35 +1358,34 @@ name = "chromadb" version = "1.1.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "bcrypt", marker = "python_full_version < '3.14'" }, - { name = "build", marker = "python_full_version < '3.14'" }, - { name = "grpcio", marker = "python_full_version < '3.14'" }, - { name = "httpx", marker = "python_full_version < '3.14'" }, - { name = "importlib-resources", marker = "python_full_version < '3.14'" }, - { name = "jsonschema", version = "4.26.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" }, - { name = "kubernetes", marker = "python_full_version < '3.14'" }, - { name = "mmh3", marker = "python_full_version < '3.14'" }, + { name = "bcrypt" }, + { name = "build" }, + { name = "grpcio" }, + { name = "httpx" }, + { name = "importlib-resources" }, + { name = "jsonschema", version = "4.26.0", source = { registry = "https://pypi.org/simple" } }, + { name = "kubernetes" }, + { name = "mmh3" }, { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and python_full_version < '3.14' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "onnxruntime", marker = "python_full_version < '3.14'" }, - { name = "opentelemetry-api", marker = "python_full_version < '3.14'" }, - { name = "opentelemetry-exporter-otlp-proto-grpc", marker = "python_full_version < '3.14'" }, - { name = "opentelemetry-sdk", marker = "python_full_version < '3.14'" }, - { name = "orjson", marker = "python_full_version < '3.14'" }, - { name = "overrides", marker = "python_full_version < '3.14'" }, - { name = "posthog", marker = "python_full_version < '3.14'" }, - { name = "pybase64", marker = "python_full_version < '3.14'" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.14' and sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and python_full_version < '3.14' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pypika", marker = "python_full_version < '3.14'" }, - { name = "pyyaml", marker = "python_full_version < '3.14'" }, - { name = "rich", version = "14.3.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" }, - { name = "tenacity", marker = "python_full_version < '3.14'" }, - { name = "tokenizers", marker = "python_full_version < '3.14'" }, - { name = "tqdm", marker = "python_full_version < '3.14'" }, - { name = "typer", marker = "python_full_version < '3.14'" }, - { name = "typing-extensions", marker = "python_full_version < '3.14'" }, - { name = "uvicorn", extra = ["standard"], marker = "(python_full_version < '3.14' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "onnxruntime" }, + { name = "opentelemetry-api" }, + { name = "opentelemetry-exporter-otlp-proto-grpc" }, + { name = "opentelemetry-sdk" }, + { name = "orjson", version = "3.11.9", source = { registry = "https://pypi.org/simple" } }, + { name = "overrides" }, + { name = "posthog" }, + { name = "pybase64" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, + { name = "pypika" }, + { name = "pyyaml" }, + { name = "rich", version = "14.3.4", source = { registry = "https://pypi.org/simple" } }, + { name = "tenacity" }, + { name = "tokenizers" }, + { name = "tqdm" }, + { name = "typer" }, + { name = "typing-extensions" }, + { name = "uvicorn", extra = ["standard"], marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, ] sdist = { url = "https://files.pythonhosted.org/packages/7f/48/11851dddeadad6abe36ee071fedc99b5bdd2c324df3afa8cb952ae02798b/chromadb-1.1.1.tar.gz", hash = "sha256:ebfce0122753e306a76f1e291d4ddaebe5f01b5979b97ae0bc80b1d4024ff223", size = 1338109, upload-time = "2025-10-05T02:49:14.834Z" } wheels = [ @@ -1403,7 +1398,7 @@ wheels = [ [[package]] name = "claude-agent-sdk" -version = "0.1.72" +version = "0.1.80" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -1411,13 +1406,13 @@ dependencies = [ { name = "sniffio" }, { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5d/b7/ce35a79f4891797ef60b5cf437453bf22e3e420f5946007312c9e144f5e0/claude_agent_sdk-0.1.72.tar.gz", hash = "sha256:e737f919301d5fc65a3ebc6f438911b73e237b16fa9fa3061420e79727cfa307", size = 241286, upload-time = "2026-05-01T02:17:34.37Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d1/06/0984d8bc2f0f7b05aca2005461d587f9d04d8009fc4a2d333dec1c2f3164/claude_agent_sdk-0.1.80.tar.gz", hash = "sha256:1938d376cd6db273583266b184fc9caf53779841f131bf3fe308014707536019", size = 250299, upload-time = "2026-05-09T06:44:58.202Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e8/de/098dd15dec8ce3c5ed9c9c2415a290fb5c24ad9cd1214cfc3e20c3be0342/claude_agent_sdk-0.1.72-py3-none-macosx_11_0_arm64.whl", hash = "sha256:3a16ee041db0734e8f82d1fca7bd7c122227c0d8c150a301b365ab3f0a83a27b", size = 63695454, upload-time = "2026-05-01T02:17:38.468Z" }, - { url = "https://files.pythonhosted.org/packages/55/de/bea82fdd65244bab9cf6aa3492c2b6cc5d97213836730febd89c0a342975/claude_agent_sdk-0.1.72-py3-none-macosx_11_0_x86_64.whl", hash = "sha256:4b3c630b5b07cd4f3d57631d833539b77045937093ec4975f47ee29de6b9a9df", size = 65539313, upload-time = "2026-05-01T02:17:43.129Z" }, - { url = "https://files.pythonhosted.org/packages/1c/26/78e45a08c4acb262b8f99f6885fb5b96ccf32f27be008610403b86cc3da8/claude_agent_sdk-0.1.72-py3-none-manylinux_2_17_aarch64.whl", hash = "sha256:6fd7c6cbab95928ceb39fe82f413bd124e83dc5ed9bf63b6dffb9dc2b83f67bc", size = 76872182, upload-time = "2026-05-01T02:17:48.616Z" }, - { url = "https://files.pythonhosted.org/packages/58/6d/9641f9a3119adec03d33cb40be8a194801cde0c15b3c497f07e36b38dab1/claude_agent_sdk-0.1.72-py3-none-manylinux_2_17_x86_64.whl", hash = "sha256:e2cf7beb573b608832cf2c644b330e51b79cfdab85286f064cf92f8f63c66382", size = 77032401, upload-time = "2026-05-01T02:17:54.322Z" }, - { url = "https://files.pythonhosted.org/packages/88/a1/35eeda6bac78c5c236c0f3c36fb8634503514ff78ada4e46b77397922ed7/claude_agent_sdk-0.1.72-py3-none-win_amd64.whl", hash = "sha256:9159ac974b496bb50d05027f49b44b76a595f1b4df3bfdef1136b56c95fc956d", size = 78421027, upload-time = "2026-05-01T02:18:00.614Z" }, + { url = "https://files.pythonhosted.org/packages/84/4d/fc78dae356a43126d0142921a73254f371b359b0508d5af046c43bc680bf/claude_agent_sdk-0.1.80-py3-none-macosx_11_0_arm64.whl", hash = "sha256:0a26cfea92029f1e3bcc468657e9bbb464a7bf04519b528ec0182ede3415a311", size = 60909658, upload-time = "2026-05-09T06:45:01.651Z" }, + { url = "https://files.pythonhosted.org/packages/aa/08/586c98a59d30bea43d83a9db7f8468a24affd2f7d3721a0dd010bf4784c8/claude_agent_sdk-0.1.80-py3-none-macosx_11_0_x86_64.whl", hash = "sha256:09f025305524e909c8ee190e73ad319b0d14f2c5d2d1ec567995c1eb833f4de7", size = 62949213, upload-time = "2026-05-09T06:45:04.848Z" }, + { url = "https://files.pythonhosted.org/packages/2f/a8/e7825005610e711fdebcc5c82c5de2214bb967f1cf5a14edd50ef16e0bc0/claude_agent_sdk-0.1.80-py3-none-manylinux_2_17_aarch64.whl", hash = "sha256:be269e118cce52b638b17232f2a52ce4d0877218672261d987cc20b4e5d9c83a", size = 70625763, upload-time = "2026-05-09T06:45:07.899Z" }, + { url = "https://files.pythonhosted.org/packages/fb/dd/a754eed2ab4f8437aac52d4d321e28c4d8bfd6ca126b5179b441aa7aeadf/claude_agent_sdk-0.1.80-py3-none-manylinux_2_17_x86_64.whl", hash = "sha256:653fb53600777c253885f9536c17da19d12f9d7fedd5e419c522854f1089449a", size = 70806172, upload-time = "2026-05-09T06:45:11.51Z" }, + { url = "https://files.pythonhosted.org/packages/6e/a8/3b27d7aa434b471a3100d158c7e709d09e7be0179a6c34be27def3ffaa1f/claude_agent_sdk-0.1.80-py3-none-win_amd64.whl", hash = "sha256:51ecfc32257201fc2cb6c061ba4d78e27b789a736fd5ed1e6ec0af60fd5d81aa", size = 71422151, upload-time = "2026-05-09T06:45:15.043Z" }, ] [[package]] @@ -1510,55 +1505,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/88/39/799be3f2f0f38cc727ee3b4f1445fe6d5e4133064ec2e4115069418a5bb6/cloudpickle-3.1.2-py3-none-any.whl", hash = "sha256:9acb47f6afd73f60dc1df93bb801b472f05ff42fa6c84167d25cb206be1fbf4a", size = 22228, upload-time = "2025-11-03T09:25:25.534Z" }, ] -[[package]] -name = "cohere" -version = "5.21.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.14' and sys_platform == 'emscripten'", - "python_full_version == '3.13.*' and sys_platform == 'emscripten'", - "python_full_version == '3.12.*' and sys_platform == 'emscripten'", - "python_full_version == '3.11.*' and sys_platform == 'emscripten'", -] -dependencies = [ - { name = "fastavro", marker = "python_full_version >= '3.11' and sys_platform == 'emscripten'" }, - { name = "httpx", marker = "python_full_version >= '3.11' and sys_platform == 'emscripten'" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' and sys_platform == 'emscripten'" }, - { name = "pydantic-core", version = "2.46.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' and sys_platform == 'emscripten'" }, - { name = "requests", marker = "python_full_version >= '3.11' and sys_platform == 'emscripten'" }, - { name = "tokenizers", marker = "python_full_version >= '3.11' and sys_platform == 'emscripten'" }, - { name = "types-requests", marker = "python_full_version >= '3.11' and sys_platform == 'emscripten'" }, - { name = "typing-extensions", marker = "python_full_version >= '3.11' and sys_platform == 'emscripten'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/d2/75/4c346f6e2322e545f8452692304bd4eca15a2a0209ab9af6a0d1a7810b67/cohere-5.21.1.tar.gz", hash = "sha256:e5ade4423b928b01ff2038980e1b62b2a5bb412c8ab83e30882753b810a5509f", size = 191272, upload-time = "2026-03-26T15:09:27.857Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0a/50/5538f02ec6d10fbb84f29c1b18c68ff2a03d7877926a80275efdf8755a9f/cohere-5.21.1-py3-none-any.whl", hash = "sha256:f15592ec60d8cf12f01563db94ec28c388c61269d9617f23c2d6d910e505344e", size = 334262, upload-time = "2026-03-26T15:09:26.284Z" }, -] - [[package]] name = "cohere" version = "6.1.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.14' and sys_platform == 'win32'", - "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", - "python_full_version == '3.13.*' and sys_platform == 'win32'", - "python_full_version == '3.13.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", - "python_full_version == '3.12.*' and sys_platform == 'win32'", - "python_full_version == '3.12.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", - "python_full_version == '3.11.*' and sys_platform == 'win32'", - "python_full_version == '3.11.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", - "python_full_version < '3.11'", -] dependencies = [ - { name = "fastavro", marker = "python_full_version < '3.11' or sys_platform != 'emscripten'" }, - { name = "httpx", marker = "python_full_version < '3.11' or sys_platform != 'emscripten'" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or sys_platform != 'emscripten'" }, - { name = "pydantic-core", version = "2.41.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or sys_platform != 'emscripten'" }, - { name = "requests", marker = "python_full_version < '3.11' or sys_platform != 'emscripten'" }, - { name = "tokenizers", marker = "python_full_version < '3.11' or sys_platform != 'emscripten'" }, - { name = "types-requests", marker = "python_full_version < '3.11' or sys_platform != 'emscripten'" }, - { name = "typing-extensions", marker = "python_full_version < '3.11' or sys_platform != 'emscripten'" }, + { name = "fastavro" }, + { name = "httpx" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, + { name = "pydantic-core", version = "2.41.5", source = { registry = "https://pypi.org/simple" } }, + { name = "requests" }, + { name = "tokenizers" }, + { name = "types-requests" }, + { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/d0/67/7aff8a870889ee931aa19e1deb138691e3cc909ee61e1daea86f3475a818/cohere-6.1.0.tar.gz", hash = "sha256:6a52bb459b71b5e79735412ee1a8e87028c5b3afba050c39815fe03c083249b3", size = 207302, upload-time = "2026-04-10T19:44:43.103Z" } wheels = [ @@ -1579,7 +1538,7 @@ name = "coloredlogs" version = "15.0.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "humanfriendly", marker = "python_full_version < '3.14'" }, + { name = "humanfriendly" }, ] sdist = { url = "https://files.pythonhosted.org/packages/cc/c7/eed8f27100517e8c0e6b923d5f0845d0cb99763da6fdee00478f91db7325/coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0", size = 278520, upload-time = "2021-06-11T10:22:45.202Z" } wheels = [ @@ -1603,31 +1562,30 @@ name = "crewai" version = "1.6.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "appdirs", marker = "python_full_version < '3.14'" }, - { name = "chromadb", marker = "python_full_version < '3.14'" }, - { name = "click", version = "8.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" }, - { name = "instructor", marker = "python_full_version < '3.14'" }, - { name = "json-repair", marker = "python_full_version < '3.14'" }, - { name = "json5", marker = "python_full_version < '3.14'" }, - { name = "jsonref", marker = "python_full_version < '3.14'" }, - { name = "mcp", marker = "python_full_version < '3.14'" }, - { name = "openai", version = "2.32.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" }, - { name = "openpyxl", marker = "python_full_version < '3.14'" }, - { name = "opentelemetry-api", marker = "python_full_version < '3.14'" }, - { name = "opentelemetry-exporter-otlp-proto-http", marker = "python_full_version < '3.14'" }, - { name = "opentelemetry-sdk", marker = "python_full_version < '3.14'" }, - { name = "pdfplumber", marker = "python_full_version < '3.14'" }, - { name = "portalocker", marker = "python_full_version < '3.14'" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.14' and sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and python_full_version < '3.14' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic-settings", marker = "python_full_version < '3.14'" }, - { name = "pyjwt", marker = "python_full_version < '3.14'" }, - { name = "python-dotenv", marker = "python_full_version < '3.14'" }, - { name = "regex", marker = "python_full_version < '3.14'" }, - { name = "tokenizers", marker = "python_full_version < '3.14'" }, - { name = "tomli", marker = "python_full_version < '3.14'" }, - { name = "tomli-w", marker = "python_full_version < '3.14'" }, - { name = "uv", marker = "python_full_version < '3.14'" }, + { name = "appdirs" }, + { name = "chromadb" }, + { name = "click", version = "8.3.3", source = { registry = "https://pypi.org/simple" } }, + { name = "instructor" }, + { name = "json-repair" }, + { name = "json5" }, + { name = "jsonref" }, + { name = "mcp" }, + { name = "openai", version = "2.32.0", source = { registry = "https://pypi.org/simple" } }, + { name = "openpyxl" }, + { name = "opentelemetry-api" }, + { name = "opentelemetry-exporter-otlp-proto-http" }, + { name = "opentelemetry-sdk" }, + { name = "pdfplumber" }, + { name = "portalocker" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, + { name = "pydantic-settings" }, + { name = "pyjwt" }, + { name = "python-dotenv" }, + { name = "regex" }, + { name = "tokenizers" }, + { name = "tomli" }, + { name = "tomli-w" }, + { name = "uv" }, ] sdist = { url = "https://files.pythonhosted.org/packages/1e/c4/37f5e8e0ccb2804a3e2acc0ccf58f82dc9415a08fad71a3868cdf830c669/crewai-1.6.1.tar.gz", hash = "sha256:b7d73a8a333abf71b30ab20c54086004cd0c016dfd86bba9c035ad5eb31e22a7", size = 4177912, upload-time = "2025-11-29T01:58:25.573Z" } wheels = [ @@ -1636,62 +1594,62 @@ wheels = [ [[package]] name = "cryptography" -version = "47.0.0" +version = "48.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi", marker = "platform_python_implementation != 'PyPy' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "typing-extensions", marker = "python_full_version < '3.11' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ef/b2/7ffa7fe8207a8c42147ffe70c3e360b228160c1d85dc3faff16aaa3244c0/cryptography-47.0.0.tar.gz", hash = "sha256:9f8e55fe4e63613a5e1cc5819030f27b97742d720203a087802ce4ce9ceb52bb", size = 830863, upload-time = "2026-04-24T19:54:57.056Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a4/98/40dfe932134bdcae4f6ab5927c87488754bf9eb79297d7e0070b78dd58e9/cryptography-47.0.0-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:160ad728f128972d362e714054f6ba0067cab7fb350c5202a9ae8ae4ce3ef1a0", size = 7912214, upload-time = "2026-04-24T19:53:03.864Z" }, - { url = "https://files.pythonhosted.org/packages/34/c6/2733531243fba725f58611b918056b277692f1033373dcc8bd01af1c05d4/cryptography-47.0.0-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b9a8943e359b7615db1a3ba587994618e094ff3d6fa5a390c73d079ce18b3973", size = 4644617, upload-time = "2026-04-24T19:53:06.909Z" }, - { url = "https://files.pythonhosted.org/packages/00/e3/b27be1a670a9b87f855d211cf0e1174a5d721216b7616bd52d8581d912ed/cryptography-47.0.0-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f5c15764f261394b22aef6b00252f5195f46f2ca300bec57149474e2538b31f8", size = 4668186, upload-time = "2026-04-24T19:53:09.053Z" }, - { url = "https://files.pythonhosted.org/packages/81/b9/8443cfe5d17d482d348cee7048acf502bb89a51b6382f06240fd290d4ca3/cryptography-47.0.0-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:9c59ab0e0fa3a180a5a9c59f3a5abe3ef90d474bc56d7fadfbe80359491b615b", size = 4651244, upload-time = "2026-04-24T19:53:11.217Z" }, - { url = "https://files.pythonhosted.org/packages/5d/5e/13ed0cdd0eb88ba159d6dd5ebfece8cb901dbcf1ae5ac4072e28b55d3153/cryptography-47.0.0-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:34b4358b925a5ea3e14384ca781a2c0ef7ac219b57bb9eacc4457078e2b19f92", size = 5252906, upload-time = "2026-04-24T19:53:13.532Z" }, - { url = "https://files.pythonhosted.org/packages/64/16/ed058e1df0f33d440217cd120d41d5dda9dd215a80b8187f68483185af82/cryptography-47.0.0-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:0024b87d47ae2399165a6bfb20d24888881eeab83ae2566d62467c5ff0030ce7", size = 4701842, upload-time = "2026-04-24T19:53:15.618Z" }, - { url = "https://files.pythonhosted.org/packages/02/e0/3d30986b30fdbd9e969abbdf8ba00ed0618615144341faeb57f395a084fe/cryptography-47.0.0-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:1e47422b5557bb82d3fff997e8d92cff4e28b9789576984f08c248d2b3535d93", size = 4289313, upload-time = "2026-04-24T19:53:17.755Z" }, - { url = "https://files.pythonhosted.org/packages/df/fd/32db38e3ad0cb331f0691cb4c7a8a6f176f679124dee746b3af6633db4d9/cryptography-47.0.0-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:6f29f36582e6151d9686235e586dd35bb67491f024767d10b842e520dc6a07ac", size = 4650964, upload-time = "2026-04-24T19:53:20.062Z" }, - { url = "https://files.pythonhosted.org/packages/86/53/5395d944dfd48cb1f67917f533c609c34347185ef15eb4308024c876f274/cryptography-47.0.0-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:a9b761f012a943b7de0e828843c5688d0de94a0578d44d6c85a1bae32f87791f", size = 5207817, upload-time = "2026-04-24T19:53:22.498Z" }, - { url = "https://files.pythonhosted.org/packages/34/4f/e5711b28e1901f7d480a2b1b688b645aa4c77c73f10731ed17e7f7db3f0d/cryptography-47.0.0-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:4e1de79e047e25d6e9f8cea71c86b4a53aced64134f0f003bbcbf3655fd172c8", size = 4701544, upload-time = "2026-04-24T19:53:24.356Z" }, - { url = "https://files.pythonhosted.org/packages/22/22/c8ddc25de3010fc8da447648f5a092c40e7a8fadf01dd6d255d9c0b9373d/cryptography-47.0.0-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ef6b3634087f18d2155b1e8ce264e5345a753da2c5fa9815e7d41315c90f8318", size = 4783536, upload-time = "2026-04-24T19:53:26.665Z" }, - { url = "https://files.pythonhosted.org/packages/66/b6/d4a68f4ea999c6d89e8498579cba1c5fcba4276284de7773b17e4fa69293/cryptography-47.0.0-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:11dbb9f50a0f1bb9757b3d8c27c1101780efb8f0bdecfb12439c22a74d64c001", size = 4926106, upload-time = "2026-04-24T19:53:28.686Z" }, - { url = "https://files.pythonhosted.org/packages/54/ed/5f524db1fade9c013aa618e1c99c6ed05e8ffc9ceee6cda22fed22dda3f4/cryptography-47.0.0-cp311-abi3-win32.whl", hash = "sha256:7fda2f02c9015db3f42bb8a22324a454516ed10a8c29ca6ece6cdbb5efe2a203", size = 3258581, upload-time = "2026-04-24T19:53:31.058Z" }, - { url = "https://files.pythonhosted.org/packages/b2/dc/1b901990b174786569029f67542b3edf72ac068b6c3c8683c17e6a2f5363/cryptography-47.0.0-cp311-abi3-win_amd64.whl", hash = "sha256:f5c3296dab66202f1b18a91fa266be93d6aa0c2806ea3d67762c69f60adc71aa", size = 3775309, upload-time = "2026-04-24T19:53:33.054Z" }, - { url = "https://files.pythonhosted.org/packages/14/88/7aa18ad9c11bc87689affa5ce4368d884b517502d75739d475fc6f4a03c7/cryptography-47.0.0-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:be12cb6a204f77ed968bcefe68086eb061695b540a3dd05edac507a3111b25f0", size = 7904299, upload-time = "2026-04-24T19:53:35.003Z" }, - { url = "https://files.pythonhosted.org/packages/07/55/c18f75724544872f234678fdedc871391722cb34a2aee19faa9f63100bb2/cryptography-47.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2ebd84adf0728c039a3be2700289378e1c164afc6748df1a5ed456767bef9ba7", size = 4631180, upload-time = "2026-04-24T19:53:37.517Z" }, - { url = "https://files.pythonhosted.org/packages/ee/65/31a5cc0eaca99cec5bafffe155d407115d96136bb161e8b49e0ef73f09a7/cryptography-47.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7f68d6fbc7fbbcfb0939fea72c3b96a9f9a6edfc0e1b1d29778a2066030418b1", size = 4653529, upload-time = "2026-04-24T19:53:39.775Z" }, - { url = "https://files.pythonhosted.org/packages/e5/bc/641c0519a495f3bfd0421b48d7cd325c4336578523ccd76ea322b6c29c7a/cryptography-47.0.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:6651d32eff255423503aa276739da98c30f26c40cbeffcc6048e0d54ef704c0c", size = 4638570, upload-time = "2026-04-24T19:53:42.129Z" }, - { url = "https://files.pythonhosted.org/packages/2b/f2/300327b0a47f6dc94dd8b71b57052aefe178bb51745073d73d80604f11ab/cryptography-47.0.0-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:3fb8fa48075fad7193f2e5496135c6a76ac4b2aa5a38433df0a539296b377829", size = 5238019, upload-time = "2026-04-24T19:53:44.577Z" }, - { url = "https://files.pythonhosted.org/packages/e9/5a/5b5cf994391d4bf9d9c7efd4c66aabe4d95227256627f8fea6cff7dfadbd/cryptography-47.0.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:11438c7518132d95f354fa01a4aa2f806d172a061a7bed18cf18cbdacdb204d7", size = 4686832, upload-time = "2026-04-24T19:53:47.015Z" }, - { url = "https://files.pythonhosted.org/packages/dc/2c/ae950e28fd6475c852fc21a44db3e6b5bcc1261d1e370f2b6e42fa800fef/cryptography-47.0.0-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:8c1a736bbb3288005796c3f7ccb9453360d7fed483b13b9f468aea5171432923", size = 4269301, upload-time = "2026-04-24T19:53:48.97Z" }, - { url = "https://files.pythonhosted.org/packages/67/fb/6a39782e150ffe5cc1b0018cb6ddc48bf7ca62b498d7539ffc8a758e977d/cryptography-47.0.0-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:f1557695e5c2b86e204f6ce9470497848634100787935ab7adc5397c54abd7ab", size = 4638110, upload-time = "2026-04-24T19:53:51.011Z" }, - { url = "https://files.pythonhosted.org/packages/8e/d7/0b3c71090a76e5c203164a47688b697635ece006dcd2499ab3a4dbd3f0bd/cryptography-47.0.0-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:f9a034b642b960767fb343766ae5ba6ad653f2e890ddd82955aef288ffea8736", size = 5194988, upload-time = "2026-04-24T19:53:52.962Z" }, - { url = "https://files.pythonhosted.org/packages/63/33/63a961498a9df51721ab578c5a2622661411fc520e00bd83b0cc64eb20c4/cryptography-47.0.0-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:b1c76fca783aa7698eb21eb14f9c4aa09452248ee54a627d125025a43f83e7a7", size = 4686563, upload-time = "2026-04-24T19:53:55.274Z" }, - { url = "https://files.pythonhosted.org/packages/b7/bf/5ee5b145248f92250de86145d1c1d6edebbd57a7fe7caa4dedb5d4cf06a1/cryptography-47.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:4f7722c97826770bab8ae92959a2e7b20a5e9e9bf4deae68fd86c3ca457bab52", size = 4770094, upload-time = "2026-04-24T19:53:57.753Z" }, - { url = "https://files.pythonhosted.org/packages/92/43/21d220b2da5d517773894dacdcdb5c682c28d3fffce65548cb06e87d5501/cryptography-47.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:09f6d7bf6724f8db8b32f11eccf23efc8e759924bc5603800335cf8859a3ddbd", size = 4913811, upload-time = "2026-04-24T19:54:00.236Z" }, - { url = "https://files.pythonhosted.org/packages/31/98/dc4ad376ac5f1a1a7d4a83f7b0c6f2bcad36b5d2d8f30aeb482d3a7d9582/cryptography-47.0.0-cp314-cp314t-win32.whl", hash = "sha256:6eebcaf0df1d21ce1f90605c9b432dd2c4f4ab665ac29a40d5e3fc68f51b5e63", size = 3237158, upload-time = "2026-04-24T19:54:02.606Z" }, - { url = "https://files.pythonhosted.org/packages/bc/da/97f62d18306b5133468bc3f8cc73a3111e8cdc8cf8d3e69474d6e5fd2d1b/cryptography-47.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:51c9313e90bd1690ec5a75ed047c27c0b8e6c570029712943d6116ef9a90620b", size = 3758706, upload-time = "2026-04-24T19:54:04.433Z" }, - { url = "https://files.pythonhosted.org/packages/e0/34/a4fae8ae7c3bc227460c9ae43f56abf1b911da0ec29e0ebac53bb0a4b6b7/cryptography-47.0.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:14432c8a9bcb37009784f9594a62fae211a2ae9543e96c92b2a8e4c3cd5cd0c4", size = 7904072, upload-time = "2026-04-24T19:54:06.411Z" }, - { url = "https://files.pythonhosted.org/packages/01/64/d7b1e54fdb69f22d24a64bb3e88dc718b31c7fb10ef0b9691a3cf7eeea6e/cryptography-47.0.0-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:07efe86201817e7d3c18781ca9770bc0db04e1e48c994be384e4602bc38f8f27", size = 4635767, upload-time = "2026-04-24T19:54:08.519Z" }, - { url = "https://files.pythonhosted.org/packages/8b/7b/cca826391fb2a94efdcdfe4631eb69306ee1cff0b22f664a412c90713877/cryptography-47.0.0-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2b45761c6ec22b7c726d6a829558777e32d0f1c8be7c3f3480f9c912d5ee8a10", size = 4654350, upload-time = "2026-04-24T19:54:10.795Z" }, - { url = "https://files.pythonhosted.org/packages/4c/65/4b57bcc823f42a991627c51c2f68c9fd6eb1393c1756aac876cba2accae2/cryptography-47.0.0-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:edd4da498015da5b9f26d38d3bfc2e90257bfa9cbed1f6767c282a0025ae649b", size = 4643394, upload-time = "2026-04-24T19:54:13.275Z" }, - { url = "https://files.pythonhosted.org/packages/f4/c4/2c5fbeea70adbbca2bbae865e1d605d6a4a7f8dbd9d33eaf69645087f06c/cryptography-47.0.0-cp38-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:9af828c0d5a65c70ec729cd7495a4bf1a67ecb66417b8f02ff125ab8a6326a74", size = 5225777, upload-time = "2026-04-24T19:54:15.18Z" }, - { url = "https://files.pythonhosted.org/packages/7e/b8/ac57107ef32749d2b244e36069bb688792a363aaaa3acc9e3cf84c130315/cryptography-47.0.0-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:256d07c78a04d6b276f5df935a9923275f53bd1522f214447fdf365494e2d515", size = 4688771, upload-time = "2026-04-24T19:54:17.835Z" }, - { url = "https://files.pythonhosted.org/packages/56/fc/9f1de22ff8be99d991f240a46863c52d475404c408886c5a38d2b5c3bb26/cryptography-47.0.0-cp38-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:5d0e362ff51041b0c0d219cc7d6924d7b8996f57ce5712bdcef71eb3c65a59cc", size = 4270753, upload-time = "2026-04-24T19:54:19.963Z" }, - { url = "https://files.pythonhosted.org/packages/00/68/d70c852797aa68e8e48d12e5a87170c43f67bb4a59403627259dd57d15de/cryptography-47.0.0-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:1581aef4219f7ca2849d0250edaa3866212fb74bf5667284f46aa92f9e65c1ca", size = 4642911, upload-time = "2026-04-24T19:54:21.818Z" }, - { url = "https://files.pythonhosted.org/packages/a5/51/661cbee74f594c5d97ff82d34f10d5551c085ca4668645f4606ebd22bd5d/cryptography-47.0.0-cp38-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:a49a3eb5341b9503fa3000a9a0db033161db90d47285291f53c2a9d2cd1b7f76", size = 5181411, upload-time = "2026-04-24T19:54:24.376Z" }, - { url = "https://files.pythonhosted.org/packages/94/87/f2b6c374a82cf076cfa1416992ac8e8ec94d79facc37aec87c1a5cb72352/cryptography-47.0.0-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:2207a498b03275d0051589e326b79d4cf59985c99031b05bb292ac52631c37fe", size = 4688262, upload-time = "2026-04-24T19:54:26.946Z" }, - { url = "https://files.pythonhosted.org/packages/14/e2/8b7462f4acf21ec509616f0245018bb197194ab0b65c2ea21a0bdd53c0eb/cryptography-47.0.0-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:7a02675e2fabd0c0fc04c868b8781863cbf1967691543c22f5470500ff840b31", size = 4775506, upload-time = "2026-04-24T19:54:28.926Z" }, - { url = "https://files.pythonhosted.org/packages/70/75/158e494e4c08dc05e039da5bb48553826bd26c23930cf8d3cd5f21fa8921/cryptography-47.0.0-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:80887c5cbd1774683cb126f0ab4184567f080071d5acf62205acb354b4b753b7", size = 4912060, upload-time = "2026-04-24T19:54:30.869Z" }, - { url = "https://files.pythonhosted.org/packages/06/bd/0a9d3edbf5eadbac926d7b9b3cd0c4be584eeeae4a003d24d9eda4affbbd/cryptography-47.0.0-cp38-abi3-win32.whl", hash = "sha256:ed67ea4e0cfb5faa5bc7ecb6e2b8838f3807a03758eec239d6c21c8769355310", size = 3248487, upload-time = "2026-04-24T19:54:33.494Z" }, - { url = "https://files.pythonhosted.org/packages/60/80/5681af756d0da3a599b7bdb586fac5a1540f1bcefd2717a20e611ddade45/cryptography-47.0.0-cp38-abi3-win_amd64.whl", hash = "sha256:835d2d7f47cdc53b3224e90810fb1d36ca94ea29cc1801fb4c1bc43876735769", size = 3755737, upload-time = "2026-04-24T19:54:35.408Z" }, - { url = "https://files.pythonhosted.org/packages/1b/a0/928c9ce0d120a40a81aa99e3ba383e87337b9ac9ef9f6db02e4d7822424d/cryptography-47.0.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:7f1207974a904e005f762869996cf620e9bf79ecb4622f148550bb48e0eb35a7", size = 3909893, upload-time = "2026-04-24T19:54:38.334Z" }, - { url = "https://files.pythonhosted.org/packages/81/75/d691e284750df5d9569f2b1ce4a00a71e1d79566da83b2b3e5549c84917f/cryptography-47.0.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:1a405c08857258c11016777e11c02bacbe7ef596faf259305d282272a3a05cbe", size = 4587867, upload-time = "2026-04-24T19:54:40.619Z" }, - { url = "https://files.pythonhosted.org/packages/07/d6/1b90f1a4e453009730b4545286f0b39bb348d805c11181fc31544e4f9a65/cryptography-47.0.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:20fdbe3e38fb67c385d233c89371fa27f9909f6ebca1cecc20c13518dae65475", size = 4627192, upload-time = "2026-04-24T19:54:42.849Z" }, - { url = "https://files.pythonhosted.org/packages/dc/53/cb358a80e9e359529f496870dd08c102aa8a4b5b9f9064f00f0d6ed5b527/cryptography-47.0.0-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:f7db373287273d8af1414cf95dc4118b13ffdc62be521997b0f2b270771fef50", size = 4587486, upload-time = "2026-04-24T19:54:44.908Z" }, - { url = "https://files.pythonhosted.org/packages/8b/57/aaa3d53876467a226f9a7a82fd14dd48058ad2de1948493442dfa16e2ffd/cryptography-47.0.0-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:9fe6b7c64926c765f9dff301f9c1b867febcda5768868ca084e18589113732ab", size = 4626327, upload-time = "2026-04-24T19:54:47.813Z" }, - { url = "https://files.pythonhosted.org/packages/ab/9c/51f28c3550276bcf35660703ba0ab829a90b88be8cd98a71ef23c2413913/cryptography-47.0.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:cffbba3392df0fa8629bb7f43454ee2925059ee158e23c54620b9063912b86c8", size = 3698916, upload-time = "2026-04-24T19:54:49.782Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/9f/a9/db8f313fdcd85d767d4973515e1db101f9c71f95fced83233de224673757/cryptography-48.0.0.tar.gz", hash = "sha256:5c3932f4436d1cccb036cb0eaef46e6e2db91035166f1ad6505c3c9d5a635920", size = 832984, upload-time = "2026-05-04T22:59:38.133Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/3d/01f6dd9190170a5a241e0e98c2d04be3664a9e6f5b9b872cde63aff1c3dd/cryptography-48.0.0-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:0c558d2cdffd8f4bbb30fc7134c74d2ca9a476f830bb053074498fbc86f41ed6", size = 8001587, upload-time = "2026-05-04T22:57:36.803Z" }, + { url = "https://files.pythonhosted.org/packages/b2/6e/e90527eef33f309beb811cf7c982c3aeffcce8e3edb178baa4ca3ae4a6fa/cryptography-48.0.0-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f5333311663ea94f75dd408665686aaf426563556bb5283554a3539177e03b8c", size = 4690433, upload-time = "2026-05-04T22:57:40.373Z" }, + { url = "https://files.pythonhosted.org/packages/90/04/673510ed51ddff56575f306cf1617d80411ee76831ccd3097599140efdfe/cryptography-48.0.0-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7995ef305d7165c3f11ae07f2517e5a4f1d5c18da1376a0a9ed496336b69e5f3", size = 4710620, upload-time = "2026-05-04T22:57:42.935Z" }, + { url = "https://files.pythonhosted.org/packages/14/d5/e9c4ef932c8d800490c34d8bd589d64a31d5890e27ec9e9ad532be893294/cryptography-48.0.0-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:40ba1f85eaa6959837b1d51c9767e230e14612eea4ef110ee8854ada22da1bf5", size = 4696283, upload-time = "2026-05-04T22:57:45.294Z" }, + { url = "https://files.pythonhosted.org/packages/0c/29/174b9dfb60b12d59ecfc6cfa04bc88c21b42a54f01b8aae09bb6e51e4c7f/cryptography-48.0.0-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:369a6348999f94bbd53435c894377b20ab95f25a9065c283570e70150d8abc3c", size = 5296573, upload-time = "2026-05-04T22:57:47.933Z" }, + { url = "https://files.pythonhosted.org/packages/95/38/0d29a6fd7d0d1373f0c0c88a04ba20e359b257753ac497564cd660fc1d55/cryptography-48.0.0-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:a0e692c683f4df67815a2d258b324e66f4738bd7a96a218c826dce4f4bd05d8f", size = 4743677, upload-time = "2026-05-04T22:57:50.067Z" }, + { url = "https://files.pythonhosted.org/packages/30/be/eef653013d5c63b6a490529e0316f9ac14a37602965d4903efed1399f32b/cryptography-48.0.0-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:18349bbc56f4743c8b12dc32e2bccb2cf83ee8b69a3bba74ef8ae857e26b3d25", size = 4330808, upload-time = "2026-05-04T22:57:52.301Z" }, + { url = "https://files.pythonhosted.org/packages/84/9e/500463e87abb7a0a0f9f256ec21123ecde0a7b5541a15e840ea54551fd81/cryptography-48.0.0-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:7e8eac43dfca5c4cccc6dad9a80504436fca53bb9bc3100a2386d730fbe6b602", size = 4695941, upload-time = "2026-05-04T22:57:54.603Z" }, + { url = "https://files.pythonhosted.org/packages/e3/dc/7303087450c2ec9e7fbb750e17c2abfbc658f23cbd0e54009509b7cc4091/cryptography-48.0.0-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:9ccdac7d40688ecb5a3b4a604b8a88c8002e3442d6c60aead1db2a89a041560c", size = 5252579, upload-time = "2026-05-04T22:57:57.207Z" }, + { url = "https://files.pythonhosted.org/packages/d0/c0/7101d3b7215edcdc90c45da544961fd8ed2d6448f77577460fa75a8443f7/cryptography-48.0.0-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:bd72e68b06bb1e96913f97dd4901119bc17f39d4586a5adf2d3e47bc2b9d58b5", size = 4743326, upload-time = "2026-05-04T22:57:59.535Z" }, + { url = "https://files.pythonhosted.org/packages/ac/d8/5b833bad13016f562ab9d063d68199a4bd121d18458e439515601d3357ec/cryptography-48.0.0-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:59baa2cb386c4f0b9905bd6eb4c2a79a69a128408fd31d32ca4d7102d4156321", size = 4826672, upload-time = "2026-05-04T22:58:01.996Z" }, + { url = "https://files.pythonhosted.org/packages/98/e1/7074eb8bf3c135558c73fc2bcf0f5633f912e6fb87e868a55c454080ef09/cryptography-48.0.0-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:9249e3cd978541d665967ac2cb2787fd6a62bddf1e75b3e347a594d7dacf4f74", size = 4972574, upload-time = "2026-05-04T22:58:03.968Z" }, + { url = "https://files.pythonhosted.org/packages/04/70/e5a1b41d325f797f39427aa44ef8baf0be500065ab6d8e10369d850d4a4f/cryptography-48.0.0-cp311-abi3-win32.whl", hash = "sha256:9c459db21422be75e2809370b829a87eb37f74cd785fc4aa9ea1e5f43b47cda4", size = 3294868, upload-time = "2026-05-04T22:58:06.467Z" }, + { url = "https://files.pythonhosted.org/packages/f4/ac/8ac51b4a5fc5932eb7ee5c517ba7dc8cd834f0048962b6b352f00f41ebf9/cryptography-48.0.0-cp311-abi3-win_amd64.whl", hash = "sha256:5b012212e08b8dd5edc78ef54da83dd9892fd9105323b3993eff6bea65dc21d7", size = 3817107, upload-time = "2026-05-04T22:58:08.845Z" }, + { url = "https://files.pythonhosted.org/packages/6b/84/70e3feea9feea87fd7cbe77efb2712ae1e3e6edf10749dc6e95f4e60e455/cryptography-48.0.0-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:3cb07a3ed6431663cd321ea8a000a1314c74211f823e4177fefa2255e057d1ec", size = 7986556, upload-time = "2026-05-04T22:58:11.172Z" }, + { url = "https://files.pythonhosted.org/packages/89/6e/18e07a618bb5442ba10cf4df16e99c071365528aa570dfcb8c02e25a303b/cryptography-48.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8c7378637d7d88016fa6791c159f698b3d3eed28ebf844ac36b9dc04a14dae18", size = 4684776, upload-time = "2026-05-04T22:58:13.712Z" }, + { url = "https://files.pythonhosted.org/packages/be/6a/4ea3b4c6c6759794d5ee2103c304a5076dc4b19ae1f9fe47dba439e159e9/cryptography-48.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cc90c0b39b2e3c65ef52c804b72e3c58f8a04ab2a1871272798e5f9572c17d20", size = 4698121, upload-time = "2026-05-04T22:58:16.448Z" }, + { url = "https://files.pythonhosted.org/packages/2f/59/6ff6ad6cae03bb887da2a5860b2c9805f8dac969ef01ce563336c49bd1d1/cryptography-48.0.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:76341972e1eff8b4bea859f09c0d3e64b96ce931b084f9b9b7db8ef364c30eff", size = 4690042, upload-time = "2026-05-04T22:58:18.544Z" }, + { url = "https://files.pythonhosted.org/packages/ca/b4/fc334ed8cfd705aca282fe4d8f5ae64a8e0f74932e9feecb344610cf6e4d/cryptography-48.0.0-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:55b7718303bf06a5753dcdccf2f3945cf18ad7bffde41b61226e4db31ab89a9c", size = 5282526, upload-time = "2026-05-04T22:58:20.75Z" }, + { url = "https://files.pythonhosted.org/packages/11/08/9f8c5386cc4cd90d8255c7cdd0f5baf459a08502a09de30dc51f553d38dc/cryptography-48.0.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:a64697c641c7b1b2178e573cbc31c7c6684cd56883a478d75143dbb7118036db", size = 4733116, upload-time = "2026-05-04T22:58:23.627Z" }, + { url = "https://files.pythonhosted.org/packages/b8/77/99307d7574045699f8805aa500fa0fb83422d115b5400a064ddd306d7750/cryptography-48.0.0-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:561215ea3879cb1cbbf272867e2efda62476f240fb58c64de6b393ae19246741", size = 4316030, upload-time = "2026-05-04T22:58:25.581Z" }, + { url = "https://files.pythonhosted.org/packages/fd/36/a608b98337af3cb2aff4818e406649d30572b7031918b04c87d979495348/cryptography-48.0.0-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:ad64688338ed4bc1a6618076ba75fd7194a5f1797ac60b47afe926285adb3166", size = 4689640, upload-time = "2026-05-04T22:58:27.747Z" }, + { url = "https://files.pythonhosted.org/packages/dd/a6/825010a291b4438aecc1f568bc428189fc1175515223632477c07dc0a6df/cryptography-48.0.0-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:906cbf0670286c6e0044156bc7d4af9cbb0ef6db9f73e52c3ec56ba6bdde5336", size = 5237657, upload-time = "2026-05-04T22:58:29.848Z" }, + { url = "https://files.pythonhosted.org/packages/b9/09/4e76a09b4caa29aad535ddc806f5d4c5d01885bd978bd984fbc6ca032cae/cryptography-48.0.0-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:ea8990436d914540a40ab24b6a77c0969695ed52f4a4874c5137ccf7045a7057", size = 4732362, upload-time = "2026-05-04T22:58:32.009Z" }, + { url = "https://files.pythonhosted.org/packages/18/78/444fa04a77d0cb95f417dda20d450e13c56ba8e5220fc892a1658f44f882/cryptography-48.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c18684a7f0cc9a3cb60328f496b8e3372def7c5d2df39ac267878b05565aaaae", size = 4819580, upload-time = "2026-05-04T22:58:34.254Z" }, + { url = "https://files.pythonhosted.org/packages/38/85/ea67067c70a1fd4be2c63d35eeed82658023021affccc7b17705f8527dd2/cryptography-48.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:9be5aafa5736574f8f15f262adc81b2a9869e2cfe9014d52a44633905b40d52c", size = 4963283, upload-time = "2026-05-04T22:58:36.376Z" }, + { url = "https://files.pythonhosted.org/packages/75/54/cc6d0f3deac3e81c7f847e8a189a12b6cdd65059b43dad25d4316abd849a/cryptography-48.0.0-cp314-cp314t-win32.whl", hash = "sha256:c17dfe85494deaeddc5ce251aebd1d60bbe6afc8b62071bb0b469431a000124f", size = 3270954, upload-time = "2026-05-04T22:58:38.791Z" }, + { url = "https://files.pythonhosted.org/packages/49/67/cc947e288c0758a4e5473d1dcb743037ab7785541265a969240b8885441a/cryptography-48.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:27241b1dc9962e056062a8eef1991d02c3a24569c95975bd2322a8a52c6e5e12", size = 3797313, upload-time = "2026-05-04T22:58:40.746Z" }, + { url = "https://files.pythonhosted.org/packages/f2/63/61d4a4e1c6b6bab6ce1e213cd36a24c415d90e76d78c5eb8577c5541d2e8/cryptography-48.0.0-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:58d00498e8933e4a194f3076aee1b4a97dfec1a6da444535755822fe5d8b0b86", size = 7983482, upload-time = "2026-05-04T22:58:43.769Z" }, + { url = "https://files.pythonhosted.org/packages/d5/ac/f5b5995b87770c693e2596559ffafe195b4033a57f14a82268a2842953f3/cryptography-48.0.0-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:614d0949f4790582d2cc25553abd09dd723025f0c0e7c67376a1d77196743d6e", size = 4683266, upload-time = "2026-05-04T22:58:46.064Z" }, + { url = "https://files.pythonhosted.org/packages/ec/c6/8b14f67e18338fbc4adb76f66c001f5c3610b3e2d1837f268f47a347dbbb/cryptography-48.0.0-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7ce4bfae76319a532a2dc68f82cc32f5676ee792a983187dac07183690e5c66f", size = 4696228, upload-time = "2026-05-04T22:58:48.22Z" }, + { url = "https://files.pythonhosted.org/packages/ea/73/f808fbae9514bd91b47875b003f13e284c8c6bdfd904b7944e803937eec1/cryptography-48.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:2eb992bbd4661238c5a397594c83f5b4dc2bc5b848c365c8f991b6780efcc5c7", size = 4689097, upload-time = "2026-05-04T22:58:50.9Z" }, + { url = "https://files.pythonhosted.org/packages/93/01/d86632d7d28db8ae83221995752eeb6639ffb374c2d22955648cf8d52797/cryptography-48.0.0-cp39-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:22a5cb272895dce158b2cacdfdc3debd299019659f42947dbdac6f32d68fe832", size = 5283582, upload-time = "2026-05-04T22:58:53.017Z" }, + { url = "https://files.pythonhosted.org/packages/02/e1/50edc7a50334807cc4791fc4a0ce7468b4a1416d9138eab358bfc9a3d70b/cryptography-48.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:2b4d59804e8408e2fea7d1fbaf218e5ec984325221db76e6a241a9abd6cdd95c", size = 4730479, upload-time = "2026-05-04T22:58:55.611Z" }, + { url = "https://files.pythonhosted.org/packages/6f/af/99a582b1b1641ff5911ac559beb45097cf79efd4ead4657f578ef1af2d47/cryptography-48.0.0-cp39-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:984a20b0f62a26f48a3396c72e4bc34c66e356d356bf370053066b3b6d54634a", size = 4326481, upload-time = "2026-05-04T22:58:57.607Z" }, + { url = "https://files.pythonhosted.org/packages/90/ee/89aa26a06ef0a7d7611788ffd571a7c50e368cc6a4d5eef8b4884e866edb/cryptography-48.0.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:5a5ed8fde7a1d09376ca0b40e68cd59c69fe23b1f9768bd5824f54681626032a", size = 4688713, upload-time = "2026-05-04T22:59:00.077Z" }, + { url = "https://files.pythonhosted.org/packages/70/ba/bcb1b0bb7a33d4c7c0c4d4c7874b4a62ae4f56113a5f4baefa362dfb1f0f/cryptography-48.0.0-cp39-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:8cd666227ef7af430aa5914a9910e0ddd703e75f039cef0825cd0da71b6b711a", size = 5238165, upload-time = "2026-05-04T22:59:02.317Z" }, + { url = "https://files.pythonhosted.org/packages/c9/70/ca4003b1ce5ca3dc3186ada51908c8a9b9ff7d5cab83cc0d43ee14ec144f/cryptography-48.0.0-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:9071196d81abc88b3516ac8cdfad32e2b66dd4a5393a8e68a961e9161ddc6239", size = 4729947, upload-time = "2026-05-04T22:59:05.255Z" }, + { url = "https://files.pythonhosted.org/packages/44/a0/4ec7cf774207905aef1a8d11c3750d5a1db805eb380ee4e16df317870128/cryptography-48.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:1e2d54c8be6152856a36f0882ab231e70f8ec7f14e93cf87db8a2ed056bf160c", size = 4822059, upload-time = "2026-05-04T22:59:07.802Z" }, + { url = "https://files.pythonhosted.org/packages/1e/75/a2e55f99c16fcac7b5d6c1eb19ad8e00799854d6be5ca845f9259eae1681/cryptography-48.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a5da777e32ffed6f85a7b2b3f7c5cbc88c146bfcd0a1d7baf5fcc6c52ee35dd4", size = 4960575, upload-time = "2026-05-04T22:59:09.851Z" }, + { url = "https://files.pythonhosted.org/packages/b8/23/6e6f32143ab5d8b36ca848a502c4bcd477ae75b9e1677e3530d669062578/cryptography-48.0.0-cp39-abi3-win32.whl", hash = "sha256:77a2ccbbe917f6710e05ba9adaa25fb5075620bf3ea6fb751997875aff4ae4bd", size = 3279117, upload-time = "2026-05-04T22:59:12.019Z" }, + { url = "https://files.pythonhosted.org/packages/9d/9a/0fea98a70cf1749d41d738836f6349d97945f7c89433a259a6c2642eefeb/cryptography-48.0.0-cp39-abi3-win_amd64.whl", hash = "sha256:16cd65b9330583e4619939b3a3843eec1e6e789744bb01e7c7e2e62e33c239c8", size = 3792100, upload-time = "2026-05-04T22:59:14.884Z" }, + { url = "https://files.pythonhosted.org/packages/be/d2/024b5e06be9d44cb021fb0e1a03d34d63989cf56a0fe62f3dfbab695b9b4/cryptography-48.0.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:84cf79f0dc8b36ac5da873481716e87aef31fcfa0444f9e1d8b4b2cece142855", size = 3950391, upload-time = "2026-05-04T22:59:17.415Z" }, + { url = "https://files.pythonhosted.org/packages/bc/17/3861e17c56fa0fd37491a14a8673fdb77c57fc5693cafe745ea8b06dba75/cryptography-48.0.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:fdfef35d751d510fcef5252703621574364fec16418c4a1e5e1055248401054b", size = 4637126, upload-time = "2026-05-04T22:59:20.197Z" }, + { url = "https://files.pythonhosted.org/packages/f0/0a/7e226dbff530f21480727eb764973a7bff2b912f8e15cd4f129e71b56d1d/cryptography-48.0.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:0890f502ddf7d9c6426129c3f49f5c0a39278ed7cd6322c8755ffca6ee675a13", size = 4667270, upload-time = "2026-05-04T22:59:22.647Z" }, + { url = "https://files.pythonhosted.org/packages/3b/f2/5a72274ca9f1b2a8b44a662ee0bf1b435909deb473d6f97bcd035bcdbc71/cryptography-48.0.0-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:ecde28a596bead48b0cfd2a1b4416c3d43074c2d785e3a398d7ec1fc4d0f7fbb", size = 4636797, upload-time = "2026-05-04T22:59:24.912Z" }, + { url = "https://files.pythonhosted.org/packages/b4/e1/48cedb2fe63626e91ded1edad159e2a4fb8b6906c4425eb7749673077ce7/cryptography-48.0.0-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:4defde8685ae324a9eb9d818717e93b4638ef67070ac9bc15b8ca85f63048355", size = 4666800, upload-time = "2026-05-04T22:59:27.474Z" }, + { url = "https://files.pythonhosted.org/packages/a2/ca/7e8365deec19afb2b2c7be7c1c0aa8f99633b54e90c570999acda93260fc/cryptography-48.0.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:db63bf618e5dea46c07de12e900fe1cdd2541e6dc9dbae772a70b7d4d4765f6a", size = 3739536, upload-time = "2026-05-04T22:59:29.61Z" }, ] [[package]] @@ -1701,8 +1659,7 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "attrs" }, { name = "docstring-parser" }, - { name = "rich", version = "14.3.4", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.14' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "rich", version = "15.0.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.14' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "rich", version = "14.3.4", source = { registry = "https://pypi.org/simple" } }, { name = "rich-rst" }, { name = "tomli", marker = "python_full_version < '3.11'" }, { name = "typing-extensions", marker = "python_full_version < '3.11'" }, @@ -1943,8 +1900,7 @@ dependencies = [ { name = "optuna" }, { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "pandas", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, { name = "regex" }, { name = "requests" }, { name = "tenacity" }, @@ -2032,8 +1988,8 @@ version = "0.135.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "annotated-doc" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.13.4", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-litellm' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands')" }, { name = "starlette", version = "0.52.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "starlette", version = "1.0.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-litellm' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands')" }, { name = "typing-extensions" }, @@ -2089,6 +2045,7 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/94/6f/2adb571fda448d4afd2466e1cef2963fefdc6b37847da05249983e415f17/fastavro-1.12.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:bc44ba6289fb1f5ee318335958dde6ad6d742dcb4bb8930de843e9024c64b68c", size = 3281842, upload-time = "2026-04-24T14:37:20.833Z" }, { url = "https://files.pythonhosted.org/packages/17/07/4bad2e96c4c6bae40253be2573cc09c1e5b9ccf821e1ff74e0d33b64bf90/fastavro-1.12.2-cp314-cp314-win_amd64.whl", hash = "sha256:a475418f71c5aed69899813ecccf392429c08c3a63df3030129db71760b0db8f", size = 450903, upload-time = "2026-04-24T14:37:23.059Z" }, { url = "https://files.pythonhosted.org/packages/5b/b7/180f67ba9a46ba23a1ff6432f48d3087d4f2048579ecc262b00426cb1c63/fastavro-1.12.2-cp314-cp314-win_arm64.whl", hash = "sha256:daec9f9655a1d4636613c47d6d3343f6e039150d66cdce62543e20ca36612a8a", size = 391076, upload-time = "2026-04-24T14:37:24.756Z" }, + { url = "https://files.pythonhosted.org/packages/dd/8f/18f60329b627d2118a4a2b19e8741fbd807d60bf0470554e1bbfb7f1bca3/fastavro-1.12.2-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:57594b72cf663bbd0f3ad8a319a999fc3d7c71065a6799b2c1d1a6a137894c5b", size = 1055430, upload-time = "2026-05-09T21:53:14.364Z" }, { url = "https://files.pythonhosted.org/packages/d2/ac/a1fa1fc29df0efc89d4946a743b09bdc9500591b5b92083eaf8e93664916/fastavro-1.12.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:74412132bbfb153cbf704517f2c89f7d3e170feb681b13bceace690f66f8d5fa", size = 3503075, upload-time = "2026-04-24T14:37:26.826Z" }, { url = "https://files.pythonhosted.org/packages/82/bf/4f669e10b6bc38a731ee3400aed1a1e2d0a3e3cf411e72f6b320d3af0eaf/fastavro-1.12.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e367a84c9133018e0a3bc822abe78d7f1f9a6092991a0ec409468cf4ef260282", size = 3410900, upload-time = "2026-04-24T14:37:29.233Z" }, { url = "https://files.pythonhosted.org/packages/10/39/ecb19fdae4158a7730b5963fbf1b6d38d74678392d73083be518642af0c1/fastavro-1.12.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:044fafca0853e9ae14009de7763ac9e8e8f8b96f8a4e90bd58b695443266a370", size = 3335637, upload-time = "2026-04-24T14:37:31.472Z" }, @@ -2113,13 +2070,11 @@ dependencies = [ { name = "packaging", version = "25.0", source = { registry = "https://pypi.org/simple" } }, { name = "platformdirs" }, { name = "py-key-value-aio", extra = ["filetree", "keyring", "memory"], marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, extra = ["email"], marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, extra = ["email"], marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, extra = ["email"], marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "pyperclip" }, { name = "python-dotenv" }, { name = "pyyaml" }, - { name = "rich", version = "14.3.4", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.14' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "rich", version = "15.0.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.14' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "rich", version = "14.3.4", source = { registry = "https://pypi.org/simple" } }, { name = "uncalled-for" }, { name = "uvicorn" }, { name = "watchfiles" }, @@ -2387,16 +2342,15 @@ wheels = [ [[package]] name = "genai-prices" -version = "0.0.57" +version = "0.0.59" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "httpx" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, ] -sdist = { url = "https://files.pythonhosted.org/packages/be/30/11f3d683cf3b1d9612475ad8bfffe3423ce9f50fc617733109033e73a038/genai_prices-0.0.57.tar.gz", hash = "sha256:6e101e9c53975557ceffa237b0995787d81fe75aac12410f2898504188bcad89", size = 66555, upload-time = "2026-04-21T13:42:52.554Z" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/c8/b61a028b8d8ee286ffab3f9b9f1c9229087184e7d543cea4e349e11375b0/genai_prices-0.0.59.tar.gz", hash = "sha256:3e1c7dcd9b38163589c8cf4a9bcfd286c52ea57a3becdc062a2cbaa8295b08c4", size = 67406, upload-time = "2026-05-07T12:08:40.475Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a9/fe/d0095040c120d97cb63d055224ecd4e913dc5655315c203c8e83bf13aa86/genai_prices-0.0.57-py3-none-any.whl", hash = "sha256:14e50fb69cdc5a06ddb2a6df5a7fe06741b9e44304ce3f1728f56abdf1856cca", size = 69654, upload-time = "2026-04-21T13:42:51.236Z" }, + { url = "https://files.pythonhosted.org/packages/11/f9/4693c127f9fab0a8d39c47c198e378ecafcb043463e6dd73df205eacbc13/genai_prices-0.0.59-py3-none-any.whl", hash = "sha256:88fd8818e6807374e5a5c03f293b574ade5f18a3060622080cdd94a03cf43115", size = 70509, upload-time = "2026-05-07T12:08:39.075Z" }, ] [[package]] @@ -2413,19 +2367,19 @@ wheels = [ [[package]] name = "gitpython" -version = "3.1.49" +version = "3.1.50" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "gitdb" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e1/63/210aaa302d6a0a78daa67c5c15bbac2cad361722841278b0209b6da20855/gitpython-3.1.49.tar.gz", hash = "sha256:42f9399c9eb33fc581014bedd76049dfbaf6375aa2a5754575966387280315e1", size = 219367, upload-time = "2026-04-29T00:31:20.478Z" } +sdist = { url = "https://files.pythonhosted.org/packages/33/f6/354ae6491228b5eb40e10d89c4d13c651fe1cf7556e35ebdded50cff57ce/gitpython-3.1.50.tar.gz", hash = "sha256:80da2d12504d52e1f998772dc5baf6e553f8d2fcfe1fcc226c9d9a2ee3372dcc", size = 219798, upload-time = "2026-05-06T04:01:26.571Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fd/6f/b842bfa6f21d6f87c57f9abf7194225e55279d96d869775e19e9f7236fc5/gitpython-3.1.49-py3-none-any.whl", hash = "sha256:024b0422d7f84d15cd794844e029ffebd4c5d42a7eb9b936b458697ef550a02c", size = 212190, upload-time = "2026-04-29T00:31:18.412Z" }, + { url = "https://files.pythonhosted.org/packages/20/7a/1c6e3562dfd8950adbb11ffbc65d21e7c89d01a6e4f137fa981056de25c5/gitpython-3.1.50-py3-none-any.whl", hash = "sha256:d352abe2908d07355014abdd21ddf798c2a961469239afec4962e9da884858f9", size = 212507, upload-time = "2026-05-06T04:01:23.799Z" }, ] [[package]] name = "google-adk" -version = "1.32.0" +version = "1.33.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiosqlite" }, @@ -2459,8 +2413,7 @@ dependencies = [ { name = "opentelemetry-resourcedetector-gcp" }, { name = "opentelemetry-sdk" }, { name = "pyarrow" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, { name = "python-dateutil" }, { name = "python-dotenv" }, { name = "pyyaml" }, @@ -2475,9 +2428,9 @@ dependencies = [ { name = "watchdog" }, { name = "websockets", version = "15.0.1", source = { registry = "https://pypi.org/simple" } }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0a/cb/6c5ad3f7135071ed6465494acb88084b071c750e2215a55c842649f353e4/google_adk-1.32.0.tar.gz", hash = "sha256:539df330a695d8ae5dc1bc3f1155ef03c6c620620cd0b690b8d47865e722e51c", size = 2424585, upload-time = "2026-05-01T00:20:47.888Z" } +sdist = { url = "https://files.pythonhosted.org/packages/55/f1/cc4a4e06084aa625c257caead4c765686e92e64f204a316b5623a91524a9/google_adk-1.33.0.tar.gz", hash = "sha256:2fe6f8c3d02307e3763999649378620457f294ebbce62fddf4162cddca43db32", size = 2426900, upload-time = "2026-05-08T21:12:32.338Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/03/68/c02dee93b09c0af4cc68a6a4fdb330a8e4935ffa9c8ad9640590ca29cca4/google_adk-1.32.0-py3-none-any.whl", hash = "sha256:cee8e8bd1d869f7e01ba3e5aac44b255f70ee3f9bb78cb50b3253ce605703b0d", size = 2869333, upload-time = "2026-05-01T00:20:49.851Z" }, + { url = "https://files.pythonhosted.org/packages/b7/2d/83520bc153499ff007aa17f85348f5cbf36ad58b23a1d5a40f04ae5cf12f/google_adk-1.33.0-py3-none-any.whl", hash = "sha256:9ff6b2c219bfd119fef18dcfff34082148768949a9c75a0a9786218c384e2345", size = 2871285, upload-time = "2026-05-08T21:12:30.477Z" }, ] [[package]] @@ -2504,7 +2457,7 @@ grpc = [ [[package]] name = "google-api-python-client" -version = "2.195.0" +version = "2.196.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "google-api-core" }, @@ -2513,22 +2466,22 @@ dependencies = [ { name = "httplib2" }, { name = "uritemplate" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/69/07/08d759b9cb10f48af14b25262dd0d6685ca8cda6c1f9e8a8109f57457205/google_api_python_client-2.195.0.tar.gz", hash = "sha256:c72cf2661c3addf01c880ce60541e83e1df354644b874f7f9d8d5ed2070446ae", size = 14584819, upload-time = "2026-04-30T21:51:50.638Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6d/f3/34ef8aca7909675fe327f96c1ed927f0520e7acf68af19157e96acc05e76/google_api_python_client-2.196.0.tar.gz", hash = "sha256:9f335d38f6caaa2747bcf64335ed1a9a19047d53e86538eda6a1b17d37f1743d", size = 14628129, upload-time = "2026-05-06T23:47:35.655Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/21/b9/2c71095e31fff57668fec7c07ac897df065f15521d070e63229e13689590/google_api_python_client-2.195.0-py3-none-any.whl", hash = "sha256:753e62057f23049a89534bea0162b60fe391b85fb86d80bcdf884d05ec91c5bf", size = 15162418, upload-time = "2026-04-30T21:51:47.444Z" }, + { url = "https://files.pythonhosted.org/packages/99/c7/1817b4edf966d5afcac1c0781ca36d621bc0cb58104c4e7c2a475ab185f7/google_api_python_client-2.196.0-py3-none-any.whl", hash = "sha256:2591e9b47dcb17e4e62a09370aaee3bcf323af8f28ccecdabcd0a42a23ca4db5", size = 15206663, upload-time = "2026-05-06T23:47:32.886Z" }, ] [[package]] name = "google-auth" -version = "2.50.0" +version = "2.52.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cryptography" }, { name = "pyasn1-modules" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5f/18/238d7021d151bdab868f23433817b027dd759135202f4dfce0670d1230ca/google_auth-2.50.0.tar.gz", hash = "sha256:f35eafb191195328e8ce10a7883970877e7aeb49c2bfaa54aa0e394316d353d0", size = 336523, upload-time = "2026-04-30T21:19:29.659Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d4/f8/80d2493cbedece1c623dc3e3cb1883300871af0dcdae254409522985ac23/google_auth-2.52.0.tar.gz", hash = "sha256:01f30e1a9e3638698d89464f5e603ce29d18e1c0e63ec31ac570aba4e164aaf5", size = 335027, upload-time = "2026-05-07T19:45:24.033Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/37/cf/4880c2137c14280b2f59975cdf12cc442bc0ae1f9ea473a26eaa0c146786/google_auth-2.50.0-py3-none-any.whl", hash = "sha256:04382175e28b94f49694977f0a792688b59a668def1499e9d8de996dc9ce5b15", size = 246495, upload-time = "2026-04-30T21:19:27.664Z" }, + { url = "https://files.pythonhosted.org/packages/ee/fc/2cdc74252746f547f81ff3f02d4d4234a3f411b5de5b61af97e633a060b9/google_auth-2.52.0-py3-none-any.whl", hash = "sha256:aee92803ba0ff93a70a3b8a35c7b4797837751cd6380b63ff38372b98f3ed627", size = 245614, upload-time = "2026-05-07T19:45:21.914Z" }, ] [package.optional-dependencies] @@ -2541,15 +2494,15 @@ requests = [ [[package]] name = "google-auth-httplib2" -version = "0.3.1" +version = "0.4.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "google-auth" }, { name = "httplib2" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ed/99/107612bef8d24b298bb5a7c8466f908ecda791d43f9466f5c3978f5b24c1/google_auth_httplib2-0.3.1.tar.gz", hash = "sha256:0af542e815784cb64159b4469aa5d71dd41069ba93effa006e1916b1dcd88e55", size = 11152, upload-time = "2026-03-30T22:50:26.766Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1c/b3/f192c8bc7e41e0ebdbd95afcae4783417a34b6a6af62d22daf22c3fd38fc/google_auth_httplib2-0.4.0.tar.gz", hash = "sha256:d5b030a204b7a4b4d553ba9ca701b62481ee2b74419325580be70f7d85ffed35", size = 11161, upload-time = "2026-05-07T08:03:46.878Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/97/e9/93afb14d23a949acaa3f4e7cc51a0024671174e116e35f42850764b99634/google_auth_httplib2-0.3.1-py3-none-any.whl", hash = "sha256:682356a90ef4ba3d06548c37e9112eea6fc00395a11b0303a644c1a86abc275c", size = 9534, upload-time = "2026-03-30T22:49:03.384Z" }, + { url = "https://files.pythonhosted.org/packages/97/be/954c35a62b9e31de66b0a43c225c9b6bb9e0f98d6b1dc110a2308e3644f5/google_auth_httplib2-0.4.0-py3-none-any.whl", hash = "sha256:8e55cfafa3358cba85f6cad4a886138e88e158d71e7e5c9ee5936a5c1507fb91", size = 9529, upload-time = "2026-05-07T08:02:12.375Z" }, ] [[package]] @@ -2567,8 +2520,7 @@ dependencies = [ { name = "packaging", version = "25.0", source = { registry = "https://pypi.org/simple" } }, { name = "proto-plus" }, { name = "protobuf", version = "5.29.6", source = { registry = "https://pypi.org/simple" } }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/c9/f3/b2a9417014c93858a2e3266134f931eefd972c2d410b25d7b8782fc6f143/google_cloud_aiplatform-1.148.1.tar.gz", hash = "sha256:75d605fba34e68714bd08e1e482755d0a6e3ae972805f809d088e686c30879e7", size = 10278758, upload-time = "2026-04-17T23:45:26.738Z" } @@ -2588,8 +2540,7 @@ agent-engines = [ { name = "opentelemetry-exporter-otlp-proto-http" }, { name = "opentelemetry-sdk" }, { name = "packaging", version = "25.0", source = { registry = "https://pypi.org/simple" } }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, { name = "typing-extensions" }, ] @@ -2642,7 +2593,7 @@ wheels = [ [[package]] name = "google-cloud-bigquery-storage" -version = "2.37.0" +version = "2.38.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "google-api-core", extra = ["grpc"], marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, @@ -2651,14 +2602,14 @@ dependencies = [ { name = "proto-plus" }, { name = "protobuf", version = "5.29.6", source = { registry = "https://pypi.org/simple" } }, ] -sdist = { url = "https://files.pythonhosted.org/packages/13/31/5c6fa9e7b8e266a765ec80d13a2b2852cb0a6d3733572e7dbdc0cb39003c/google_cloud_bigquery_storage-2.37.0.tar.gz", hash = "sha256:f88ee7f1e49db1e639da3d9a8b79835ca4bc47afbb514fb2adfc0ccb41a7fd97", size = 310578, upload-time = "2026-03-30T22:51:13.418Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9c/b9/7f4195887e19d4ee2cc0c13f739d8c10f0802537a61503727d282a458f4e/google_cloud_bigquery_storage-2.38.0.tar.gz", hash = "sha256:bc703ab31c8c7dc9d0a281ff5109ba7461b3a6dc517f6acca1a823124085ab0d", size = 310588, upload-time = "2026-05-07T08:03:54.054Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/74/0e/2950d4d0160300f51c7397a080b1685d3e25b40badb2c96f03d58d0ee868/google_cloud_bigquery_storage-2.37.0-py3-none-any.whl", hash = "sha256:1e319c27ef60fc31030f6e0b52e5e891e1cdd50551effe8c6f673a4c3c56fcb6", size = 306678, upload-time = "2026-03-30T22:47:42.333Z" }, + { url = "https://files.pythonhosted.org/packages/e5/d1/382d6b1ec5fe91d79499390712875918bb7709a20726eccfadb8f835d422/google_cloud_bigquery_storage-2.38.0-py3-none-any.whl", hash = "sha256:313e605c51e6c36046cbeccff4a98aa0f728add8f757962bab2266838136d538", size = 306663, upload-time = "2026-05-07T08:02:22.593Z" }, ] [[package]] name = "google-cloud-bigtable" -version = "2.36.0" +version = "2.38.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "google-api-core", extra = ["grpc"], marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, @@ -2666,30 +2617,31 @@ dependencies = [ { name = "google-cloud-core" }, { name = "google-crc32c" }, { name = "grpc-google-iam-v1" }, + { name = "grpcio" }, { name = "proto-plus" }, { name = "protobuf", version = "5.29.6", source = { registry = "https://pypi.org/simple" } }, ] -sdist = { url = "https://files.pythonhosted.org/packages/52/f5/ad2a48306a7e8d5e47b5203703ce9c343389e60f025b5ea3f0c62ba92129/google_cloud_bigtable-2.36.0.tar.gz", hash = "sha256:d5987733c2f60c739f93f259d2037858411cc994ac37cdfbccb6bb159f3ca43e", size = 796035, upload-time = "2026-04-02T21:23:33.248Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f7/2c/a62b2108459518914d75b8455dd69bac838d6bf276fe902320f5f16cf9cb/google_cloud_bigtable-2.38.0.tar.gz", hash = "sha256:0ad24f0106c2eb0f38e278b1641052e65882a4da0141d1f9ad78ea691724aaa3", size = 800955, upload-time = "2026-05-07T19:32:53.737Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d1/19/1cc695fa8489ef446a70ee9e983c12f4b47e0649005758035530eaec4b1c/google_cloud_bigtable-2.36.0-py3-none-any.whl", hash = "sha256:21b2f41231b7368a550b44d5b493b811b3507fcb23eb26d00005cd3f205f2207", size = 552799, upload-time = "2026-04-02T21:23:20.475Z" }, + { url = "https://files.pythonhosted.org/packages/46/9d/9c0a81aa9cf6c058b02d3be194d70bcd7e4bd82f631c8110560c3908dbc4/google_cloud_bigtable-2.38.0-py3-none-any.whl", hash = "sha256:9f6a4bdbefb34d0420f41c574d9805d8a63d080d10be5a176205e3b322c122a1", size = 556168, upload-time = "2026-05-07T19:32:51.48Z" }, ] [[package]] name = "google-cloud-core" -version = "2.5.1" +version = "2.6.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "google-api-core" }, { name = "google-auth" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/dc/24/6ca08b0a03c7b0c620427503ab00353a4ae806b848b93bcea18b6b76fde6/google_cloud_core-2.5.1.tar.gz", hash = "sha256:3dc94bdec9d05a31d9f355045ed0f369fbc0d8c665076c734f065d729800f811", size = 36078, upload-time = "2026-03-30T22:50:08.057Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a8/dd/1eef226e470369b26824a505c34482c0b493bc35fe8e0c6b003b5feca21a/google_cloud_core-2.6.0.tar.gz", hash = "sha256:e76149739f90fac1fc6757c09f47eaccb3145b54adbd7759b0f7c4b235f46c83", size = 36001, upload-time = "2026-05-07T08:04:04.124Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/73/d9/5bb050cb32826466aa9b25f79e2ca2879fe66cb76782d4ed798dd7506151/google_cloud_core-2.5.1-py3-none-any.whl", hash = "sha256:ea62cdf502c20e3e14be8a32c05ed02113d7bef454e40ff3fab6fe1ec9f1f4e7", size = 29452, upload-time = "2026-03-30T22:48:31.567Z" }, + { url = "https://files.pythonhosted.org/packages/84/4a/98da8930ab109c73d9a5d13782a9ebb81ea8c111f6d534a567b71d23e52b/google_cloud_core-2.6.0-py3-none-any.whl", hash = "sha256:6d63ac8e5eca6d9e4319d0a1e2265fadcd7f1049904378caecfa01cf52dd869e", size = 29390, upload-time = "2026-05-07T08:02:34.672Z" }, ] [[package]] name = "google-cloud-dataplex" -version = "2.18.0" +version = "2.19.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "google-api-core", extra = ["grpc"], marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, @@ -2699,9 +2651,9 @@ dependencies = [ { name = "proto-plus" }, { name = "protobuf", version = "5.29.6", source = { registry = "https://pypi.org/simple" } }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ee/2b/c390bbe1f68015ea57eb9352e90ebbbf459c3139d9e5a8e6faa0b1abdc6e/google_cloud_dataplex-2.18.0.tar.gz", hash = "sha256:ae3f7f1b5c64675e8a4b66725d404eec864e12d29051323a2232bdb05797016d", size = 881810, upload-time = "2026-03-30T22:49:53.747Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d9/fb/0ff732c12b394b13c13a094f15f25b0a8752c00aad03c29e1d24d2e60ec5/google_cloud_dataplex-2.19.0.tar.gz", hash = "sha256:81a637f2474bd5391ed102311ac6b90d6c066fae1c29837baa8dd36328db0b05", size = 882730, upload-time = "2026-05-07T08:04:07.278Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b2/9a/8b096a6d772b7abf1c97dfbce17d47ba1d8a944ce8d7a239fd300a3ad8ae/google_cloud_dataplex-2.18.0-py3-none-any.whl", hash = "sha256:6e4ec95b24f64e95cec5f3753fbe7419f78ddb8b1ba90f8d955bc7613bb90764", size = 675743, upload-time = "2026-03-30T20:02:27.12Z" }, + { url = "https://files.pythonhosted.org/packages/74/67/b880c7c96f961ef945f992e45eaeb727a6a54586eb5e0d28f2677958d413/google_cloud_dataplex-2.19.0-py3-none-any.whl", hash = "sha256:356204387ea954710519946dbca224a16f36fb81bd651ccb92ef2bcdbb12422e", size = 676716, upload-time = "2026-05-07T08:02:39.806Z" }, ] [[package]] @@ -2721,7 +2673,7 @@ wheels = [ [[package]] name = "google-cloud-iam" -version = "2.22.0" +version = "2.23.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "google-api-core", extra = ["grpc"], marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, @@ -2731,9 +2683,9 @@ dependencies = [ { name = "proto-plus" }, { name = "protobuf", version = "5.29.6", source = { registry = "https://pypi.org/simple" } }, ] -sdist = { url = "https://files.pythonhosted.org/packages/62/e5/07d4f1daf85a2a0bd9f78ad865ea678d7b4e1227ed76f671c7167aae147f/google_cloud_iam-2.22.0.tar.gz", hash = "sha256:203ddfece17e014ee4fbc5c3244daa14a88b7ee57c8e3a7622d0f2a1a3b8d7f3", size = 502498, upload-time = "2026-03-30T22:51:28.878Z" } +sdist = { url = "https://files.pythonhosted.org/packages/0d/5f/128a1462354e0f8f0b7baff34b5a1a4e5cd7aee100d8db0eb39843b43d1d/google_cloud_iam-2.23.0.tar.gz", hash = "sha256:49246f6221026d381cff4f8d804daf1bb6416153f2504bf5ef54d4af2450b828", size = 561685, upload-time = "2026-05-07T08:04:16.253Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/aa/a8/d721ea11d0eb93803d14cb2e90d0442bb3b269a82f7cb5faff2b98022039/google_cloud_iam-2.22.0-py3-none-any.whl", hash = "sha256:c443b34b5a6a9e51d32cee397879bb781b900af68937c67a275def23bbc025f3", size = 463425, upload-time = "2026-03-30T20:02:42.967Z" }, + { url = "https://files.pythonhosted.org/packages/3f/ee/470f0c337a235b12c6a880df25809b8b11b33986510d66450cb5ef540a83/google_cloud_iam-2.23.0-py3-none-any.whl", hash = "sha256:a123ac45080a5c1735218a6b3db4c6e6ea12a1cdc86feec1c30ad1ede6c91fc6", size = 515952, upload-time = "2026-05-07T08:02:48.144Z" }, ] [[package]] @@ -2775,7 +2727,7 @@ wheels = [ [[package]] name = "google-cloud-pubsub" -version = "2.37.0" +version = "2.38.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "google-api-core", extra = ["grpc"], marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, @@ -2788,9 +2740,9 @@ dependencies = [ { name = "proto-plus" }, { name = "protobuf", version = "5.29.6", source = { registry = "https://pypi.org/simple" } }, ] -sdist = { url = "https://files.pythonhosted.org/packages/50/89/558c48382d6875335ea6cd7f6409acfbf256b9f7fbc2ad1c19976aabdb1f/google_cloud_pubsub-2.37.0.tar.gz", hash = "sha256:7c5ba9beb5236e2b83c091dd6171423dc7d6d0e989391bd09f60dbd242b29f10", size = 403391, upload-time = "2026-04-10T00:41:17.799Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a9/a5/0c7b27493ad6e744d175999e93bc51141ae70b23184d0bdbcb13fc9a4b29/google_cloud_pubsub-2.38.0.tar.gz", hash = "sha256:9212309f8d6cfaefb577bca52492b13464b56e584505408685d63e69346c56cf", size = 402783, upload-time = "2026-05-07T08:04:29.024Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/64/f1/bb7162ec50971b1d252e6837d05f64f185d5cfe4e08de8f706e363c305d9/google_cloud_pubsub-2.37.0-py3-none-any.whl", hash = "sha256:dd912422cf66e4ffb423b0d5391ca81bdfa408eb0f21f57adecdb6fb3b1e0bb1", size = 325136, upload-time = "2026-04-10T00:41:01.391Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ea/d000ce0663c8989651f80b02e2ea8bb700d29140ade580f275b4ec4c9687/google_cloud_pubsub-2.38.0-py3-none-any.whl", hash = "sha256:fed2c40cfb77d58f6dced563a8146a8c34319c7dfbbb4d045b6c9c101e043db9", size = 324839, upload-time = "2026-05-07T08:03:04.923Z" }, ] [[package]] @@ -2812,7 +2764,7 @@ wheels = [ [[package]] name = "google-cloud-secret-manager" -version = "2.27.0" +version = "2.28.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "google-api-core", extra = ["grpc"], marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, @@ -2822,14 +2774,14 @@ dependencies = [ { name = "proto-plus" }, { name = "protobuf", version = "5.29.6", source = { registry = "https://pypi.org/simple" } }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6d/df/fbea0536e1baa6ea2239fdd19e9e22c9d64c8e26a0f3921596ecc0e5397d/google_cloud_secret_manager-2.27.0.tar.gz", hash = "sha256:6af864c252bd3c11db7bb02b80cb0b14a8c9a33fc7ec4d6f245f33d8ce1f7cd1", size = 279769, upload-time = "2026-03-26T22:17:15.271Z" } +sdist = { url = "https://files.pythonhosted.org/packages/58/a3/c0d4535d841b65421a043e32b3a4acc66431da8e0f99534204112322ec04/google_cloud_secret_manager-2.28.0.tar.gz", hash = "sha256:5763f42a449c27597fb42d40fa93e2c56b02dbceba0c41da202fb97e810cb278", size = 279947, upload-time = "2026-05-07T08:04:34.515Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1f/4b/6dd1e2efd9a2e73aa847fd455a1ce375d8d3cba1a2c4f7fd69f9bf0b9dce/google_cloud_secret_manager-2.27.0-py3-none-any.whl", hash = "sha256:e5540bece65a3ad720146f3b438973faf9315109b3ffa012a58711843047a3dc", size = 225577, upload-time = "2026-03-26T22:15:19.622Z" }, + { url = "https://files.pythonhosted.org/packages/ba/ee/b69997ea7dfa1e23b6d6e872022727e16d1286ccce6c8ae526b0fe5f0ca5/google_cloud_secret_manager-2.28.0-py3-none-any.whl", hash = "sha256:15bcb9d7d3442d842ebac94e2d6e428a11d79cf1aeb91a005a0576f257643317", size = 225578, upload-time = "2026-05-07T08:03:11.54Z" }, ] [[package]] name = "google-cloud-spanner" -version = "3.65.0" +version = "3.66.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "google-api-core", extra = ["grpc"], marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, @@ -2846,14 +2798,14 @@ dependencies = [ { name = "protobuf", version = "5.29.6", source = { registry = "https://pypi.org/simple" } }, { name = "sqlparse" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0d/90/b3e3c9c7b1a5ebc76d780fcda58e3a27208d5a10c6c5b78fab64dc5ea5f9/google_cloud_spanner-3.65.0.tar.gz", hash = "sha256:434139bd1439528398cd2a96e390a57182420747c214a33f317bbac64afd9c5c", size = 889154, upload-time = "2026-04-13T22:14:34.416Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/5d/b628fb39ff6b62ed301ede5107487d48da39826597eee5b735aea2595bcb/google_cloud_spanner-3.66.0.tar.gz", hash = "sha256:a5de352c9cce75ba1b1b2e767816b14c6d147815c7450dbf42aae34773fad3f5", size = 889920, upload-time = "2026-05-07T08:04:35.788Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/be/c6/0f0806253de7e1ef5943a9e30df7798c0f5dd6e840707a899975e17d4c60/google_cloud_spanner-3.65.0-py3-none-any.whl", hash = "sha256:67ca892698d9530d10c682be7c38265089088b57272af3e57f1ea7afb9e88eff", size = 614036, upload-time = "2026-04-13T22:14:32.533Z" }, + { url = "https://files.pythonhosted.org/packages/61/4e/5111be2281faad007d7f85b1bce6e1ae68a10946e302000470835f81cf72/google_cloud_spanner-3.66.0-py3-none-any.whl", hash = "sha256:a5ec48576022fc064d7217ec5011ce1f159eb8eac669de0acd8a4497c205d872", size = 613881, upload-time = "2026-05-07T08:03:13.118Z" }, ] [[package]] name = "google-cloud-speech" -version = "2.38.0" +version = "2.39.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "google-api-core", extra = ["grpc"], marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, @@ -2862,9 +2814,9 @@ dependencies = [ { name = "proto-plus" }, { name = "protobuf", version = "5.29.6", source = { registry = "https://pypi.org/simple" } }, ] -sdist = { url = "https://files.pythonhosted.org/packages/21/1f/d0122ad8af8c0608fb3168bd5030e62ce0a1fcc09c730487bc8be541874a/google_cloud_speech-2.38.0.tar.gz", hash = "sha256:1854b51cbb7957273b6ba61f4a6cf49dec8d09ec450991587897e50267eaca51", size = 406015, upload-time = "2026-03-26T22:18:54.434Z" } +sdist = { url = "https://files.pythonhosted.org/packages/2b/5f/db75d3d05380ca3cdafcb1ab1575668de17634b6f7a3ba85582ae20c5f7e/google_cloud_speech-2.39.0.tar.gz", hash = "sha256:be712b5bd3294211a1a67f73fb4f5e772694eb5605aaafbc5ba838d4359a3161", size = 406000, upload-time = "2026-05-07T08:04:37.415Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/01/96/008365cddc78720d65475091be929466fb16c62b47283546f8eab5ff4445/google_cloud_speech-2.38.0-py3-none-any.whl", hash = "sha256:dbccb340a750a409b0e70c48c16c8d7d5d48a87c70cce2add50f3d571f5375a0", size = 346013, upload-time = "2026-03-26T22:13:50.88Z" }, + { url = "https://files.pythonhosted.org/packages/35/bf/933f43de2575c946961f9e4b03685da1f9e7058e4bf17c94a26b18d95da9/google_cloud_speech-2.39.0-py3-none-any.whl", hash = "sha256:ad2297b50a6aa10da76b65a9500e7990b7fd0cb295b415aae1f86b9e1ffae7d8", size = 345989, upload-time = "2026-05-07T08:03:15.235Z" }, ] [[package]] @@ -2937,49 +2889,48 @@ wheels = [ [[package]] name = "google-genai" -version = "1.74.0" +version = "1.75.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, { name = "distro" }, { name = "google-auth", extra = ["requests"], marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "httpx" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, { name = "requests" }, { name = "sniffio" }, { name = "tenacity" }, { name = "typing-extensions" }, { name = "websockets", version = "15.0.1", source = { registry = "https://pypi.org/simple" } }, ] -sdist = { url = "https://files.pythonhosted.org/packages/33/c8/4a8f1de0a3268d526a345b8c74456b3e1e6ffd200982626326cf7ca83e5b/google_genai-1.74.0.tar.gz", hash = "sha256:c4c473cebdeb6e5adbb0639326de66a3a85a2209e0d32de7d66bf05c698abae8", size = 536772, upload-time = "2026-04-29T22:16:35.881Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9d/59/3ed61240ef20b3ae6ed54e82c6f8b6d1f194947bc6679679dd6cdb037594/google_genai-1.75.0.tar.gz", hash = "sha256:56bac3991b311c93f980c0a2abcd287b672146905df1fbd71c92ed633d5a07cf", size = 539039, upload-time = "2026-05-04T22:48:54.857Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ca/2b/539c328b66f7bfef2df869371a1789361228e5a7694ba02a642608367b46/google_genai-1.74.0-py3-none-any.whl", hash = "sha256:87d0b311c67d4b2a0ca741e9fc6891330c29defae81d46d8db41079aa1a3d80a", size = 790433, upload-time = "2026-04-29T22:16:33.979Z" }, + { url = "https://files.pythonhosted.org/packages/2d/b6/552d40e96da22921eb1fead7c14b00b5b5473a20e45959488660fab35ee2/google_genai-1.75.0-py3-none-any.whl", hash = "sha256:8dc4c096e7d6288c3087f6893f582fe52468932464781edb8193bd92b9fefb2c", size = 793726, upload-time = "2026-05-04T22:48:53.033Z" }, ] [[package]] name = "google-resumable-media" -version = "2.8.2" +version = "2.9.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "google-crc32c" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/3f/d1/b1ea14b93b6b78f57fc580125de44e9f593ab88dd2460f1a8a8d18f74754/google_resumable_media-2.8.2.tar.gz", hash = "sha256:f3354a182ebd193ae3f42e3ef95e6c9b10f128320de23ac7637236713b1acd70", size = 2164510, upload-time = "2026-03-30T23:34:25.369Z" } +sdist = { url = "https://files.pythonhosted.org/packages/00/4b/0b235beccc310d0a48adbc7246b719d173cca6c88c572dfa4b090e39143c/google_resumable_media-2.9.0.tar.gz", hash = "sha256:f7cfb224846a9dd444d125115dfbe8ef02a2b893e78f087762fe716a255a734b", size = 2164534, upload-time = "2026-05-07T08:04:44.236Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5e/f8/50bfaf4658431ff9de45c5c3935af7ab01157a4903c603cd0eee6e78e087/google_resumable_media-2.8.2-py3-none-any.whl", hash = "sha256:82b6d8ccd11765268cdd2a2123f417ec806b8eef3000a9a38dfe3033da5fb220", size = 81511, upload-time = "2026-03-30T23:34:09.671Z" }, + { url = "https://files.pythonhosted.org/packages/07/73/3518e63deb1667c5409a4579e28daf5e84479a87a72c547e0487f7883dcd/google_resumable_media-2.9.0-py3-none-any.whl", hash = "sha256:c8901e88e389af8bed64d9696c74d8bad961865eb2236e13e0bfca9bb0a65ca3", size = 81507, upload-time = "2026-05-07T08:03:23.809Z" }, ] [[package]] name = "googleapis-common-protos" -version = "1.74.0" +version = "1.75.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "protobuf", version = "5.29.6", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "protobuf", version = "6.33.6", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-crewai' or extra == 'group-10-braintrust-test-langchain' or extra == 'group-10-braintrust-test-litellm' or extra == 'group-10-braintrust-test-openai-agents' or extra == 'group-10-braintrust-test-pydantic-ai-logfire' or extra == 'group-10-braintrust-test-strands' or extra != 'group-10-braintrust-lint'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/20/18/a746c8344152d368a5aac738d4c857012f2c5d1fd2eac7e17b647a7861bd/googleapis_common_protos-1.74.0.tar.gz", hash = "sha256:57971e4eeeba6aad1163c1f0fc88543f965bb49129b8bb55b2b7b26ecab084f1", size = 151254, upload-time = "2026-04-02T21:23:26.679Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b5/c8/f439cffde755cffa462bfbb156278fa6f9d09119719af9814b858fd4f81f/googleapis_common_protos-1.75.0.tar.gz", hash = "sha256:53a062ff3c32552fbd62c11fe23768b78e4ddf0494d5e5fd97d3f4689c75fbbd", size = 151035, upload-time = "2026-05-07T08:04:49.423Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b6/b0/be5d3329badb9230b765de6eea66b73abd5944bdeb5afb3562ddcd80ae84/googleapis_common_protos-1.74.0-py3-none-any.whl", hash = "sha256:702216f78610bb510e3f12ac3cafd281b7ac45cc5d86e90ad87e4d301a3426b5", size = 300743, upload-time = "2026-04-02T21:22:49.108Z" }, + { url = "https://files.pythonhosted.org/packages/e7/c8/e2645aa8ed02fd4c7a2f59d68783b65b1f3cbdfe39a6308e156509d1fee8/googleapis_common_protos-1.75.0-py3-none-any.whl", hash = "sha256:961ed60399c457ceb0ee8f285a84c870aabc9c6a832b9d37bb281b5bebde43ed", size = 300631, upload-time = "2026-05-07T08:03:30.345Z" }, ] [package.optional-dependencies] @@ -3091,8 +3042,7 @@ dependencies = [ { name = "anyio" }, { name = "distro" }, { name = "httpx" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, { name = "sniffio" }, { name = "typing-extensions" }, ] @@ -3226,34 +3176,34 @@ wheels = [ [[package]] name = "hf-xet" -version = "1.4.3" +version = "1.5.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/92/ec9ad04d0b5728dca387a45af7bc98fbb0d73b2118759f5f6038b61a57e8/hf_xet-1.4.3.tar.gz", hash = "sha256:8ddedb73c8c08928c793df2f3401ec26f95be7f7e516a7bee2fbb546f6676113", size = 670477, upload-time = "2026-03-31T22:40:07.874Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/72/43/724d307b34e353da0abd476e02f72f735cdd2bc86082dee1b32ea0bfee1d/hf_xet-1.4.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:7551659ba4f1e1074e9623996f28c3873682530aee0a846b7f2f066239228144", size = 3800935, upload-time = "2026-03-31T22:39:49.618Z" }, - { url = "https://files.pythonhosted.org/packages/2b/d2/8bee5996b699262edb87dbb54118d287c0e1b2fc78af7cdc41857ba5e3c4/hf_xet-1.4.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:bee693ada985e7045997f05f081d0e12c4c08bd7626dc397f8a7c487e6c04f7f", size = 3558942, upload-time = "2026-03-31T22:39:47.938Z" }, - { url = "https://files.pythonhosted.org/packages/c3/a1/e993d09cbe251196fb60812b09a58901c468127b7259d2bf0f68bf6088eb/hf_xet-1.4.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:21644b404bb0100fe3857892f752c4d09642586fd988e61501c95bbf44b393a3", size = 4207657, upload-time = "2026-03-31T22:39:39.69Z" }, - { url = "https://files.pythonhosted.org/packages/64/44/9eb6d21e5c34c63e5e399803a6932fa983cabdf47c0ecbcfe7ea97684b8c/hf_xet-1.4.3-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:987f09cfe418237812896a6736b81b1af02a3a6dcb4b4944425c4c4fca7a7cf8", size = 3986765, upload-time = "2026-03-31T22:39:37.936Z" }, - { url = "https://files.pythonhosted.org/packages/ea/7b/8ad6f16fdb82f5f7284a34b5ec48645bd575bdcd2f6f0d1644775909c486/hf_xet-1.4.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:60cf7fc43a99da0a853345cf86d23738c03983ee5249613a6305d3e57a5dca74", size = 4188162, upload-time = "2026-03-31T22:39:58.382Z" }, - { url = "https://files.pythonhosted.org/packages/1b/c4/39d6e136cbeea9ca5a23aad4b33024319222adbdc059ebcda5fc7d9d5ff4/hf_xet-1.4.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2815a49a7a59f3e2edf0cf113ae88e8cb2ca2a221bf353fb60c609584f4884d4", size = 4424525, upload-time = "2026-03-31T22:40:00.225Z" }, - { url = "https://files.pythonhosted.org/packages/46/f2/adc32dae6bdbc367853118b9878139ac869419a4ae7ba07185dc31251b76/hf_xet-1.4.3-cp313-cp313t-win_amd64.whl", hash = "sha256:42ee323265f1e6a81b0e11094564fb7f7e0ec75b5105ffd91ae63f403a11931b", size = 3671610, upload-time = "2026-03-31T22:40:10.42Z" }, - { url = "https://files.pythonhosted.org/packages/e2/19/25d897dcc3f81953e0c2cde9ec186c7a0fee413eb0c9a7a9130d87d94d3a/hf_xet-1.4.3-cp313-cp313t-win_arm64.whl", hash = "sha256:27c976ba60079fb8217f485b9c5c7fcd21c90b0367753805f87cb9f3cdc4418a", size = 3528529, upload-time = "2026-03-31T22:40:09.106Z" }, - { url = "https://files.pythonhosted.org/packages/ec/36/3e8f85ca9fe09b8de2b2e10c63b3b3353d7dda88a0b3d426dffbe7b8313b/hf_xet-1.4.3-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:5251d5ece3a81815bae9abab41cf7ddb7bcb8f56411bce0827f4a3071c92fdc6", size = 3801019, upload-time = "2026-03-31T22:39:56.651Z" }, - { url = "https://files.pythonhosted.org/packages/b5/9c/defb6cb1de28bccb7bd8d95f6e60f72a3d3fa4cb3d0329c26fb9a488bfe7/hf_xet-1.4.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1feb0f3abeacee143367c326a128a2e2b60868ec12a36c225afb1d6c5a05e6d2", size = 3558746, upload-time = "2026-03-31T22:39:54.766Z" }, - { url = "https://files.pythonhosted.org/packages/c1/bd/8d001191893178ff8e826e46ad5299446e62b93cd164e17b0ffea08832ec/hf_xet-1.4.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8b301fc150290ca90b4fccd079829b84bb4786747584ae08b94b4577d82fb791", size = 4207692, upload-time = "2026-03-31T22:39:46.246Z" }, - { url = "https://files.pythonhosted.org/packages/ce/48/6790b402803250e9936435613d3a78b9aaeee7973439f0918848dde58309/hf_xet-1.4.3-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:d972fbe95ddc0d3c0fc49b31a8a69f47db35c1e3699bf316421705741aab6653", size = 3986281, upload-time = "2026-03-31T22:39:44.648Z" }, - { url = "https://files.pythonhosted.org/packages/51/56/ea62552fe53db652a9099eda600b032d75554d0e86c12a73824bfedef88b/hf_xet-1.4.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c5b48db1ee344a805a1b9bd2cda9b6b65fe77ed3787bd6e87ad5521141d317cd", size = 4187414, upload-time = "2026-03-31T22:40:04.951Z" }, - { url = "https://files.pythonhosted.org/packages/7d/f5/bc1456d4638061bea997e6d2db60a1a613d7b200e0755965ec312dc1ef79/hf_xet-1.4.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:22bdc1f5fb8b15bf2831440b91d1c9bbceeb7e10c81a12e8d75889996a5c9da8", size = 4424368, upload-time = "2026-03-31T22:40:06.347Z" }, - { url = "https://files.pythonhosted.org/packages/e4/76/ab597bae87e1f06d18d3ecb8ed7f0d3c9a37037fc32ce76233d369273c64/hf_xet-1.4.3-cp314-cp314t-win_amd64.whl", hash = "sha256:0392c79b7cf48418cd61478c1a925246cf10639f4cd9d94368d8ca1e8df9ea07", size = 3672280, upload-time = "2026-03-31T22:40:16.401Z" }, - { url = "https://files.pythonhosted.org/packages/62/05/2e462d34e23a09a74d73785dbed71cc5dbad82a72eee2ad60a72a554155d/hf_xet-1.4.3-cp314-cp314t-win_arm64.whl", hash = "sha256:681c92a07796325778a79d76c67011764ecc9042a8c3579332b61b63ae512075", size = 3528945, upload-time = "2026-03-31T22:40:14.995Z" }, - { url = "https://files.pythonhosted.org/packages/ac/9f/9c23e4a447b8f83120798f9279d0297a4d1360bdbf59ef49ebec78fe2545/hf_xet-1.4.3-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:d0da85329eaf196e03e90b84c2d0aca53bd4573d097a75f99609e80775f98025", size = 3805048, upload-time = "2026-03-31T22:39:53.105Z" }, - { url = "https://files.pythonhosted.org/packages/0b/f8/7aacb8e5f4a7899d39c787b5984e912e6c18b11be136ef13947d7a66d265/hf_xet-1.4.3-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:e23717ce4186b265f69afa66e6f0069fe7efbf331546f5c313d00e123dc84583", size = 3562178, upload-time = "2026-03-31T22:39:51.295Z" }, - { url = "https://files.pythonhosted.org/packages/df/9a/a24b26dc8a65f0ecc0fe5be981a19e61e7ca963b85e062c083f3a9100529/hf_xet-1.4.3-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fc360b70c815bf340ed56c7b8c63aacf11762a4b099b2fe2c9bd6d6068668c08", size = 4212320, upload-time = "2026-03-31T22:39:42.922Z" }, - { url = "https://files.pythonhosted.org/packages/53/60/46d493db155d2ee2801b71fb1b0fd67696359047fdd8caee2c914cc50c79/hf_xet-1.4.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:39f2d2e9654cd9b4319885733993807aab6de9dfbd34c42f0b78338d6617421f", size = 3991546, upload-time = "2026-03-31T22:39:41.335Z" }, - { url = "https://files.pythonhosted.org/packages/bc/f5/067363e1c96c6b17256910830d1b54099d06287e10f4ec6ec4e7e08371fc/hf_xet-1.4.3-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:49ad8a8cead2b56051aa84d7fce3e1335efe68df3cf6c058f22a65513885baac", size = 4193200, upload-time = "2026-03-31T22:40:01.936Z" }, - { url = "https://files.pythonhosted.org/packages/42/4b/53951592882d9c23080c7644542fda34a3813104e9e11fa1a7d82d419cb8/hf_xet-1.4.3-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:7716d62015477a70ea272d2d68cd7cad140f61c52ee452e133e139abfe2c17ba", size = 4429392, upload-time = "2026-03-31T22:40:03.492Z" }, - { url = "https://files.pythonhosted.org/packages/8a/21/75a6c175b4e79662ad8e62f46a40ce341d8d6b206b06b4320d07d55b188c/hf_xet-1.4.3-cp37-abi3-win_amd64.whl", hash = "sha256:6b591fcad34e272a5b02607485e4f2a1334aebf1bc6d16ce8eb1eb8978ac2021", size = 3677359, upload-time = "2026-03-31T22:40:13.619Z" }, - { url = "https://files.pythonhosted.org/packages/8a/7c/44314ecd0e89f8b2b51c9d9e5e7a60a9c1c82024ac471d415860557d3cd8/hf_xet-1.4.3-cp37-abi3-win_arm64.whl", hash = "sha256:7c2c7e20bcfcc946dc67187c203463f5e932e395845d098cc2a93f5b67ca0b47", size = 3533664, upload-time = "2026-03-31T22:40:12.152Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/74/d8/5c06fc76461418326a7decf8367480c35be11a41fd938633929c60a9ec6b/hf_xet-1.5.0.tar.gz", hash = "sha256:e0fb0a34d9f406eed88233e829a67ec016bec5af19e480eac65a233ea289a948", size = 837196, upload-time = "2026-05-06T06:18:15.583Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/68/9b/6912c99070915a4f28119e3c5b52a9abd1eec0ad5cb293b8c967a0c6f5a2/hf_xet-1.5.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:7d70fe2ce97b9db73b9c9b9c81fe3693640aec83416a966c446afea54acfae3c", size = 4023383, upload-time = "2026-05-06T06:17:53.947Z" }, + { url = "https://files.pythonhosted.org/packages/0f/6d/9563cfde59b5d8128a9c7ec972a087f4c782e4f7bac5a85234edfd5d5e49/hf_xet-1.5.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:73a0dae8c71de3b0633a45c73f4a4a5ed09e94b43441d82981a781d4f12baa42", size = 3792751, upload-time = "2026-05-06T06:17:51.791Z" }, + { url = "https://files.pythonhosted.org/packages/07/a5/ed5a0cf35b49a0571af5a8f53416dad1877a718c021c9937c3a53cb45781/hf_xet-1.5.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a60290ec57e9b71767fba7c3645ddafdd0759974b540441510c629c6db6db24a", size = 4456058, upload-time = "2026-05-06T06:17:40.735Z" }, + { url = "https://files.pythonhosted.org/packages/60/fb/3ae8bf2a7a37a4197d0195d7247fd25b3952e15cb8a599e285dfaa6f52b3/hf_xet-1.5.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:e5de0f6deada0dada870bb376a11bcd1f08abf3a968a6d118f33e72d1b1eb480", size = 4250783, upload-time = "2026-05-06T06:17:38.412Z" }, + { url = "https://files.pythonhosted.org/packages/a2/9b/8bae40d4d91525085137196e84eb0ed49cf65b5e96e5c3ecdadd8bd0fac2/hf_xet-1.5.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c799d49f1a5544a0ef7591c0ee75e0d6b93d6f56dc7a4979f59f7518d2872216", size = 4445594, upload-time = "2026-05-06T06:18:04.219Z" }, + { url = "https://files.pythonhosted.org/packages/13/59/c74efbbd4e8728172b2cc72a2bc014d2947a4b7bdced932fbd3f5da1a4e5/hf_xet-1.5.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2baea1b0b989e5c152fe81425f7745ddc8901280ba3d97c98d8cdece7b706c60", size = 4663995, upload-time = "2026-05-06T06:18:06.1Z" }, + { url = "https://files.pythonhosted.org/packages/73/32/8e1e0410af64cda9b139d1dcebdc993a8ff9c8c7c0e2696ae356d75ccc0d/hf_xet-1.5.0-cp313-cp313t-win_amd64.whl", hash = "sha256:526345b3ed45f374f6317349df489167606736c876241ba984105afe7fd4839d", size = 3966608, upload-time = "2026-05-06T06:18:19.74Z" }, + { url = "https://files.pythonhosted.org/packages/fc/34/a8febc8f4edbea8b3e21b02ebc8b628679b84ba7e45cde624a7736b51500/hf_xet-1.5.0-cp313-cp313t-win_arm64.whl", hash = "sha256:786d28e2eb8315d5035544b9d137b4a842d600c434bb91bf7d0d953cce906ad4", size = 3796946, upload-time = "2026-05-06T06:18:17.568Z" }, + { url = "https://files.pythonhosted.org/packages/2a/20/8fc8996afe5815fa1a6be8e9e5c02f24500f409d599e905800d498a4e14d/hf_xet-1.5.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:872d5601e6deea30d15865ede55d29eac6daf5a534ab417b99b6ef6b076dd96c", size = 4023495, upload-time = "2026-05-06T06:18:01.94Z" }, + { url = "https://files.pythonhosted.org/packages/32/6a/93d84463c00cecb561a7508aa6303e35ee2894294eac14245526924415fe/hf_xet-1.5.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:9929561f5abf4581c8ea79587881dfef6b8abb2a0d8a51915936fc2a614f4e73", size = 3792731, upload-time = "2026-05-06T06:18:00.021Z" }, + { url = "https://files.pythonhosted.org/packages/9d/5a/8ec8e0c863b382d00b3c2e2af6ded6b06371be617144a625903a6d562f4b/hf_xet-1.5.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f7b7bbae318e583a86fb21e5a4a175d6721d628a2874f4bd022d0e660c32a682", size = 4456738, upload-time = "2026-05-06T06:17:49.574Z" }, + { url = "https://files.pythonhosted.org/packages/c5/ca/f7effa1a67717da2bcc6b6c28f71c6ca648c77acaec4e2c32f40cbe16d85/hf_xet-1.5.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:cf7b2dc6f31a4ea754bb50f74cde482dcf5d366d184076d8530b9872787f3761", size = 4251622, upload-time = "2026-05-06T06:17:47.096Z" }, + { url = "https://files.pythonhosted.org/packages/65/f2/19247dba3e231cf77dec59ddfb878f00057635ff773d099c9b59d37812c3/hf_xet-1.5.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8dbcbab554c9ef158ef2c991545c3e970ddd8cc7acdcd0a78c5a41095dab4ded", size = 4445667, upload-time = "2026-05-06T06:18:11.983Z" }, + { url = "https://files.pythonhosted.org/packages/7f/64/6f116801a3bcfb6f59f5c251f48cadc47ea54026441c4a385079286a94fa/hf_xet-1.5.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5906bf7718d3636dc13402914736abe723492cb730f744834f5f5b67d3a12702", size = 4664619, upload-time = "2026-05-06T06:18:13.771Z" }, + { url = "https://files.pythonhosted.org/packages/5c/e8/069542d37946ed08669b127e1496fa99e78196d71de8d41eda5e9f1b7a58/hf_xet-1.5.0-cp314-cp314t-win_amd64.whl", hash = "sha256:5f3dc2248fc01cc0a00cd392ab497f1ca373fcbc7e3f2da1f452480b384e839e", size = 3966802, upload-time = "2026-05-06T06:18:28.162Z" }, + { url = "https://files.pythonhosted.org/packages/f9/91/fc6fdec27b14d04e88c386ac0a0129732b53fa23f7c4a78f4b83a039c567/hf_xet-1.5.0-cp314-cp314t-win_arm64.whl", hash = "sha256:b285cea1b5bab46b758772716ba8d6854a1a0310fed1c249d678a8b38601e5a0", size = 3797168, upload-time = "2026-05-06T06:18:26.287Z" }, + { url = "https://files.pythonhosted.org/packages/3d/fb/69ff198a82cae7eb1a69fb84d93b3a3e4816564d76817fe541ddc96874eb/hf_xet-1.5.0-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:dad0dc84e941b8ba3c860659fe1fdc35c049d47cce293f003287757e971a8f56", size = 4030814, upload-time = "2026-05-06T06:17:57.933Z" }, + { url = "https://files.pythonhosted.org/packages/9b/ff/edcc2b40162bef3ff78e14ab637e5f3b89243d6aee72f5949d3bb6a5af83/hf_xet-1.5.0-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:fd6e5a9b0fdac4ed03ed45ef79254a655b1aaab514a02202617fbf643f5fdf7a", size = 3798444, upload-time = "2026-05-06T06:17:55.79Z" }, + { url = "https://files.pythonhosted.org/packages/49/4d/103f76b04310e5e57656696cc184690d20c466af0bca3ca88f8c8ea5d4f3/hf_xet-1.5.0-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3531b1823a0e6d77d80f9ed15ca0e00f0d115094f8ac033d5cae88f4564cc949", size = 4465986, upload-time = "2026-05-06T06:17:44.886Z" }, + { url = "https://files.pythonhosted.org/packages/c4/a2/546f47f464737b3edbab6f8ddb57f2599b93d2cbb66f06abb475ccb48651/hf_xet-1.5.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:9a0ee58cd18d5ea799f7ed11290bbccbe56bdd8b1d97ca74b9cc49a3945d7a3b", size = 4259865, upload-time = "2026-05-06T06:17:42.639Z" }, + { url = "https://files.pythonhosted.org/packages/95/7f/1be593c1f28613be2e196473481cd81bfc5910795e30a34e8f744f6cac4f/hf_xet-1.5.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:1e60df5a42e9bed8628b6416af2cba4cba57ae9f02de226a06b020d98e1aab18", size = 4459835, upload-time = "2026-05-06T06:18:08.026Z" }, + { url = "https://files.pythonhosted.org/packages/aa/b2/703569fc881f3284487e68cda7b42179978480da3c438042a6bbbb4a671c/hf_xet-1.5.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:4b35549ce62601b84da4ff9b24d970032ace3d4430f52d91bcbb26c901d6c690", size = 4672414, upload-time = "2026-05-06T06:18:09.864Z" }, + { url = "https://files.pythonhosted.org/packages/af/37/1b6def445c567286b50aa3b33828158e135b1be44938dde59f11382a500c/hf_xet-1.5.0-cp37-abi3-win_amd64.whl", hash = "sha256:2806c7c17b4d23f8d88f7c4814f838c3b6150773fe339c20af23e1cfaf2797e4", size = 3977238, upload-time = "2026-05-06T06:18:23.621Z" }, + { url = "https://files.pythonhosted.org/packages/62/94/3b66b148778ee100dcfd69c2ca22b57b41b44d3063ceec934f209e9184ce/hf_xet-1.5.0-cp37-abi3-win_arm64.whl", hash = "sha256:b6c9df403040248c76d808d3e047d64db2d923bae593eb244c41e425cf6cd7be", size = 3806916, upload-time = "2026-05-06T06:18:21.7Z" }, ] [[package]] @@ -3364,7 +3314,7 @@ wheels = [ [[package]] name = "huggingface-hub" -version = "1.13.0" +version = "1.14.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "filelock" }, @@ -3379,9 +3329,9 @@ dependencies = [ { name = "typer" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/89/ff/ec7ed2eb43bd7ce8bb2233d109cc235c3e807ffe5e469dc09db261fac05e/huggingface_hub-1.13.0.tar.gz", hash = "sha256:f6df2dac5abe82ce2fe05873d10d5ff47bc677d616a2f521f4ee26db9415d9d0", size = 781788, upload-time = "2026-04-30T11:57:33.858Z" } +sdist = { url = "https://files.pythonhosted.org/packages/39/40/43109e943fd718b0ccd0cd61eb4f1c347df22bf81f5874c6f22adf44bcff/huggingface_hub-1.14.0.tar.gz", hash = "sha256:d6d2c9cd6be1d02ae9ec6672d5587d10a427f377db688e82528f426a041622c2", size = 782365, upload-time = "2026-05-06T14:14:34.278Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/93/db/4b1cdae9460ae1f3ca020cd767f013430ce23eb1d9c890ae3a0609b38d26/huggingface_hub-1.13.0-py3-none-any.whl", hash = "sha256:e942cb50d6a08dd5306688b1ac05bda157fd2fcc88b63dae405f7bd0d3234005", size = 660643, upload-time = "2026-04-30T11:57:31.802Z" }, + { url = "https://files.pythonhosted.org/packages/89/a5/33b49ba7bea7c41bb37f74ec0f8beea0831e052330196633fe2c77516ea6/huggingface_hub-1.14.0-py3-none-any.whl", hash = "sha256:efe075535c62e130b30e836b138e13785f6f043d1f0539e0a39aa411a99e90b8", size = 661479, upload-time = "2026-05-06T14:14:32.029Z" }, ] [[package]] @@ -3389,7 +3339,7 @@ name = "humanfriendly" version = "10.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pyreadline3", marker = "python_full_version < '3.14' and sys_platform == 'win32'" }, + { name = "pyreadline3", marker = "sys_platform == 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/cc/3f/2c29224acb2e2df4d2046e4c73ee2662023c58ff5b113c4c1adac0886c43/humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc", size = 360702, upload-time = "2021-09-17T21:40:43.31Z" } wheels = [ @@ -3425,11 +3375,11 @@ wheels = [ [[package]] name = "idna" -version = "3.13" +version = "3.14" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ce/cc/762dfb036166873f0059f3b7de4565e1b5bc3d6f28a414c13da27e442f99/idna-3.13.tar.gz", hash = "sha256:585ea8fe5d69b9181ec1afba340451fba6ba764af97026f92a91d4eef164a242", size = 194210, upload-time = "2026-04-22T16:42:42.314Z" } +sdist = { url = "https://files.pythonhosted.org/packages/05/b1/efac073e0c297ecf2fb33c346989a529d4e19164f1759102dee5953ee17e/idna-3.14.tar.gz", hash = "sha256:466d810d7a2cc1022bea9b037c39728d51ae7dad40d480fc9b7d7ecf98ba8ee3", size = 198272, upload-time = "2026-05-10T20:32:15.935Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5d/13/ad7d7ca3808a898b4612b6fe93cde56b53f3034dcde235acb1f0e1df24c6/idna-3.13-py3-none-any.whl", hash = "sha256:892ea0cde124a99ce773decba204c5552b69c3c67ffd5f232eb7696135bc8bb3", size = 68629, upload-time = "2026-04-22T16:42:40.909Z" }, + { url = "https://files.pythonhosted.org/packages/6c/3c/3f62dee257eb3d6b2c1ef2a09d36d9793c7111156a73b5654d2c2305e5ce/idna-3.14-py3-none-any.whl", hash = "sha256:e677eaf072e290f7b725f9acf0b3a2bd55f9fd6f7c70abe5f0e34823d0accf69", size = 72184, upload-time = "2026-05-10T20:32:14.295Z" }, ] [[package]] @@ -3506,7 +3456,7 @@ resolution-markers = [ "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", ] dependencies = [ - { name = "zipp", marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra != 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands')" }, + { name = "zipp" }, ] sdist = { url = "https://files.pythonhosted.org/packages/f3/49/3b30cad09e7771a4982d9975a8cbf64f00d4a1ececb53297f1d9a7be1b10/importlib_metadata-8.7.1.tar.gz", hash = "sha256:49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb", size = 57107, upload-time = "2025-12-21T10:00:19.278Z" } wheels = [ @@ -3536,19 +3486,17 @@ name = "instructor" version = "1.15.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "aiohttp", marker = "python_full_version < '3.14'" }, - { name = "docstring-parser", marker = "python_full_version < '3.14'" }, - { name = "jinja2", marker = "python_full_version < '3.14'" }, - { name = "jiter", version = "0.13.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" }, - { name = "openai", version = "2.32.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.14' and sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and python_full_version < '3.14' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic-core", version = "2.41.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.14' and sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version >= '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic-core", version = "2.46.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and python_full_version < '3.14' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "requests", marker = "python_full_version < '3.14'" }, - { name = "rich", version = "14.3.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" }, - { name = "tenacity", marker = "python_full_version < '3.14'" }, - { name = "typer", marker = "python_full_version < '3.14'" }, + { name = "aiohttp" }, + { name = "docstring-parser" }, + { name = "jinja2" }, + { name = "jiter", version = "0.13.0", source = { registry = "https://pypi.org/simple" } }, + { name = "openai", version = "2.32.0", source = { registry = "https://pypi.org/simple" } }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, + { name = "pydantic-core", version = "2.41.5", source = { registry = "https://pypi.org/simple" } }, + { name = "requests" }, + { name = "rich", version = "14.3.4", source = { registry = "https://pypi.org/simple" } }, + { name = "tenacity" }, + { name = "typer" }, ] sdist = { url = "https://files.pythonhosted.org/packages/dc/a4/832cfb15420360e26d2d85bd9d5fe1e4b839d52587574d389bc31284bf6f/instructor-1.15.1.tar.gz", hash = "sha256:c72406469d9025b742e83cf0c13e914b317db2089d08d889944e74fcd659ef94", size = 69948370, upload-time = "2026-04-03T01:51:30.107Z" } wheels = [ @@ -3635,6 +3583,9 @@ name = "jiter" version = "0.13.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", "python_full_version == '3.13.*' and sys_platform == 'win32'", "python_full_version == '3.13.*' and sys_platform == 'emscripten'", "python_full_version == '3.13.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", @@ -3744,49 +3695,11 @@ name = "jiter" version = "0.14.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and sys_platform == 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version >= '3.14'", + "python_full_version == '3.13.*'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", ] sdist = { url = "https://files.pythonhosted.org/packages/6e/c1/0cddc6eb17d4c53a99840953f95dd3accdc5cfc7a337b0e9b26476276be9/jiter-0.14.0.tar.gz", hash = "sha256:e8a39e66dac7153cf3f964a12aad515afa8d74938ec5cc0018adcdae5367c79e", size = 165725, upload-time = "2026-04-10T14:28:42.01Z" } wheels = [ @@ -3907,14 +3820,14 @@ wheels = [ [[package]] name = "joserfc" -version = "1.6.4" +version = "1.6.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cryptography" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/de/c6/de8fdbdfa75c8ca04fead38a82d573df8a82906e984c349d58665f459558/joserfc-1.6.4.tar.gz", hash = "sha256:34ce5f499bfcc5e9ad4cc75077f9278ab3227b71da9aaf28f9ab705f8a560d3c", size = 231866, upload-time = "2026-04-13T13:15:40.632Z" } +sdist = { url = "https://files.pythonhosted.org/packages/3b/dc/5f768c2e391e9afabe5d18e3221346deb5fb6338565f1ccc9e7c6d7befdd/joserfc-1.6.5.tar.gz", hash = "sha256:1482a7db78fb4602e44ed89e51b599d052e091288c7c532c5b694e20149dec48", size = 231881, upload-time = "2026-05-06T04:58:13.408Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b6/f7/210b27752e972edb36d239315b08d3eb6b14824cc4a590da2337d195260b/joserfc-1.6.4-py3-none-any.whl", hash = "sha256:3e4a22b509b41908989237a045e25c8308d5fd47ab96bdae2dd8057c6451003a", size = 70464, upload-time = "2026-04-13T13:15:39.259Z" }, + { url = "https://files.pythonhosted.org/packages/54/3b/ad1cb22e75c963b1f07c8a2329bf47227ce7e4361df5eb2fb101b2ce33ef/joserfc-1.6.5-py3-none-any.whl", hash = "sha256:e9878a0f8243fe7b95e11fdda81374ca9f7a689e302751579d3dfdeec559675e", size = 70464, upload-time = "2026-05-06T04:58:11.668Z" }, ] [[package]] @@ -3949,11 +3862,11 @@ wheels = [ [[package]] name = "jsonpath-python" -version = "1.1.5" +version = "1.1.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/2d/db/2f4ecc24da35c6142b39c353d5b7c16eef955cc94b35a48d3fa47996d7c3/jsonpath_python-1.1.5.tar.gz", hash = "sha256:ceea2efd9e56add09330a2c9631ea3d55297b9619348c1055e5bfb9cb0b8c538", size = 87352, upload-time = "2026-03-17T06:16:40.597Z" } +sdist = { url = "https://files.pythonhosted.org/packages/98/18/4ca8742534a5993ff383f7602e325ce2d5d7cc93d72ac5e1cdedbea8a458/jsonpath_python-1.1.6.tar.gz", hash = "sha256:dded9932b4ec41fb8726e09c83afa4e6be618f938c2db287cc2a81723c639671", size = 88178, upload-time = "2026-05-07T01:26:34.482Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/28/50/1a313fb700526b134c71eb8a225d8b83be0385dbb0204337b4379c698cef/jsonpath_python-1.1.5-py3-none-any.whl", hash = "sha256:a60315404d70a65e76c9a782c84e50600480221d94a58af47b7b4d437351cb4b", size = 14090, upload-time = "2026-03-17T06:16:39.152Z" }, + { url = "https://files.pythonhosted.org/packages/55/8a/1270a6803bd821cbfcdda387eaa13cb41a7b1f7b9bd145979b3bfb9d6cb7/jsonpath_python-1.1.6-py3-none-any.whl", hash = "sha256:a1c50afd8d3fbbaf47a4873bc890dcb3c15da96f5c020327977d844d8731a2d4", size = 14453, upload-time = "2026-05-07T01:26:33.306Z" }, ] [[package]] @@ -4051,10 +3964,10 @@ resolution-markers = [ "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", ] dependencies = [ - { name = "attrs", marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra != 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands')" }, - { name = "jsonschema-specifications", marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra != 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands')" }, - { name = "referencing", marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra != 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands')" }, - { name = "rpds-py", marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra != 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands')" }, + { name = "attrs" }, + { name = "jsonschema-specifications" }, + { name = "referencing" }, + { name = "rpds-py" }, ] sdist = { url = "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz", hash = "sha256:0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326", size = 366583, upload-time = "2026-01-07T13:41:07.246Z" } wheels = [ @@ -4110,15 +4023,15 @@ name = "kubernetes" version = "35.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "certifi", marker = "python_full_version < '3.14'" }, - { name = "durationpy", marker = "python_full_version < '3.14'" }, - { name = "python-dateutil", marker = "python_full_version < '3.14'" }, - { name = "pyyaml", marker = "python_full_version < '3.14'" }, - { name = "requests", marker = "python_full_version < '3.14'" }, - { name = "requests-oauthlib", marker = "python_full_version < '3.14'" }, - { name = "six", marker = "python_full_version < '3.14'" }, - { name = "urllib3", marker = "python_full_version < '3.14'" }, - { name = "websocket-client", marker = "python_full_version < '3.14'" }, + { name = "certifi" }, + { name = "durationpy" }, + { name = "python-dateutil" }, + { name = "pyyaml" }, + { name = "requests" }, + { name = "requests-oauthlib" }, + { name = "six" }, + { name = "urllib3" }, + { name = "websocket-client" }, ] sdist = { url = "https://files.pythonhosted.org/packages/2c/8f/85bf51ad4150f64e8c665daf0d9dfe9787ae92005efb9a4d1cba592bd79d/kubernetes-35.0.0.tar.gz", hash = "sha256:3d00d344944239821458b9efd484d6df9f011da367ecb155dadf9513f05f09ee", size = 1094642, upload-time = "2026-01-16T01:05:27.76Z" } wheels = [ @@ -4132,8 +4045,8 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anthropic" }, { name = "langchain-core" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.13.4", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands')" }, ] sdist = { url = "https://files.pythonhosted.org/packages/98/c7/259d4d805c6ac90c8695714fc15498a4557bb515eb24f692fd611966e383/langchain_anthropic-1.4.0.tar.gz", hash = "sha256:bbf64e99f9149a34ba67813e9582b2160a0968de9e9f54f7ba8d1658f253c2e5", size = 674360, upload-time = "2026-03-17T18:42:20.751Z" } wheels = [ @@ -4142,25 +4055,25 @@ wheels = [ [[package]] name = "langchain-core" -version = "1.3.2" +version = "1.3.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jsonpatch" }, { name = "langchain-protocol" }, { name = "langsmith", version = "0.7.31", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "langsmith", version = "0.8.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands')" }, + { name = "langsmith", version = "0.8.3", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands')" }, { name = "packaging", version = "25.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "packaging", version = "26.2", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.13.4", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands')" }, { name = "pyyaml" }, { name = "tenacity" }, { name = "typing-extensions" }, { name = "uuid-utils" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a8/03/7219502e8ca728d65eb44d7a3eb60239230742a70dbfc9241b9bfd61c4ab/langchain_core-1.3.2.tar.gz", hash = "sha256:fd7a50b2f28ba561fd9d7f5d2760bc9e06cf00cdf820a3ccafe88a94ffa8d5b7", size = 911813, upload-time = "2026-04-24T15:49:23.699Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d3/ae/8b74458fc3850ec3d150eb9f45e857db129dafa801fb5cf173dfc9f8bbf3/langchain_core-1.3.3.tar.gz", hash = "sha256:fa510a5db8efdc0c6ff41c0939fb5c00a0183c11f6b84233e892e3227ff69182", size = 915041, upload-time = "2026-05-05T19:02:36.612Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7d/d5/8fa4431007cbb7cfed7590f4d6a5dea3ad724f4174d248f6642ef5ce7d05/langchain_core-1.3.2-py3-none-any.whl", hash = "sha256:d44a66127f9f8db735bdfd0ab9661bccb47a97113cfd3f2d89c74864422b7274", size = 542390, upload-time = "2026-04-24T15:49:21.991Z" }, + { url = "https://files.pythonhosted.org/packages/1f/01/4771b7ab2af1d1aba5b710bd8f13d9225c609425214b357590a17b01be77/langchain_core-1.3.3-py3-none-any.whl", hash = "sha256:18aae8506f37da7f74398492279a7d6efcee4f8e23c4c41c7af080eeb7ef7bd1", size = 543857, upload-time = "2026-05-05T19:02:34.52Z" }, ] [[package]] @@ -4198,7 +4111,7 @@ dependencies = [ { name = "langgraph-checkpoint" }, { name = "langgraph-prebuilt" }, { name = "langgraph-sdk" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" } }, + { name = "pydantic", version = "2.13.4", source = { registry = "https://pypi.org/simple" } }, { name = "xxhash" }, ] sdist = { url = "https://files.pythonhosted.org/packages/5c/e5/d3f72ead3c7f15769d5a9c07e373628f1fbaf6cbe7735694d7085859acf6/langgraph-1.1.6.tar.gz", hash = "sha256:1783f764b08a607e9f288dbcf6da61caeb0dd40b337e5c9fb8b412341fbc0b60", size = 549634, upload-time = "2026-04-03T19:01:32.561Z" } @@ -4234,15 +4147,15 @@ wheels = [ [[package]] name = "langgraph-sdk" -version = "0.3.13" +version = "0.3.14" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "httpx" }, - { name = "orjson" }, + { name = "orjson", version = "3.11.9", source = { registry = "https://pypi.org/simple" } }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0e/db/77a45127dddcfea5e4256ba916182903e4c31dc4cfca305b8c386f0a9e53/langgraph_sdk-0.3.13.tar.gz", hash = "sha256:419ca5663eec3cec192ad194ac0647c0c826866b446073eb40f384f950986cd5", size = 196360, upload-time = "2026-04-07T20:34:18.766Z" } +sdist = { url = "https://files.pythonhosted.org/packages/02/f1/134046c20bc4a4a15d410d1d21c9e298a3e9923777b4cc867b8669bc636b/langgraph_sdk-0.3.14.tar.gz", hash = "sha256:acd1674c538e97f3cdaa610f6dd7e34bc9bad30167f0ccc482dcd563325e81f5", size = 198162, upload-time = "2026-05-05T18:40:03.524Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fe/ef/64d64e9f8eea47ce7b939aa6da6863b674c8d418647813c20111645fcc62/langgraph_sdk-0.3.13-py3-none-any.whl", hash = "sha256:aee09e345c90775f6de9d6f4c7b847cfc652e49055c27a2aed0d981af2af3bd0", size = 96668, upload-time = "2026-04-07T20:34:17.866Z" }, + { url = "https://files.pythonhosted.org/packages/34/96/1c9f9fbfe756ddd850a2585e7f1949d8ebb97fdaa7a5eff8f45ed1314670/langgraph_sdk-0.3.14-py3-none-any.whl", hash = "sha256:68935bf6f4924eda92617a9e5dfb4f4281197508c648cb9d62ff083907607f9d", size = 97028, upload-time = "2026-05-05T18:40:02.099Z" }, ] [[package]] @@ -4266,10 +4179,9 @@ resolution-markers = [ ] dependencies = [ { name = "httpx", marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "orjson", marker = "(platform_python_implementation != 'PyPy' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "orjson", version = "3.11.9", source = { registry = "https://pypi.org/simple" }, marker = "(platform_python_implementation != 'PyPy' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "packaging", version = "25.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "requests", marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "requests-toolbelt", marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "uuid-utils", marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, @@ -4283,7 +4195,7 @@ wheels = [ [[package]] name = "langsmith" -version = "0.8.0" +version = "0.8.3" source = { registry = "https://pypi.org/simple" } resolution-markers = [ "python_full_version >= '3.14'", @@ -4294,103 +4206,103 @@ resolution-markers = [ ] dependencies = [ { name = "httpx", marker = "extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands')" }, - { name = "orjson", marker = "(platform_python_implementation != 'PyPy' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "orjson", version = "3.11.9", source = { registry = "https://pypi.org/simple" }, marker = "(platform_python_implementation != 'PyPy' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "packaging", version = "26.2", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.13.4", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands')" }, { name = "requests", marker = "extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands')" }, { name = "requests-toolbelt", marker = "extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands')" }, { name = "uuid-utils", marker = "extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands')" }, { name = "xxhash", marker = "extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands')" }, { name = "zstandard", marker = "extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands')" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a8/64/95f1f013531395f4e8ed73caeee780f65c7c58fe028cb543f8937b45611b/langsmith-0.8.0.tar.gz", hash = "sha256:59fe5b2a56bbbe14a08aa76691f84b49e8675dd21e11b57d80c6db8c08bac2e3", size = 4432996, upload-time = "2026-04-30T22:13:07.341Z" } +sdist = { url = "https://files.pythonhosted.org/packages/de/8a/1e8ea5e8bab2a65fa95bd36229ef38e8723ec46e430e20ca2d953487a7f1/langsmith-0.8.3.tar.gz", hash = "sha256:767ff7a8d136ed42926bf99059ac631dc6883542d6e3104b32e71c7625e1fa05", size = 4460330, upload-time = "2026-05-07T19:56:56.18Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f3/e1/a4be2e696c9473bb53298df398237da5674704d781d4b748ed35aeef592a/langsmith-0.8.0-py3-none-any.whl", hash = "sha256:12cc4bc5622b835a6d841964d6034df3617bdb912dae0c1381fd0a68a9b3a3ef", size = 393268, upload-time = "2026-04-30T22:13:05.56Z" }, + { url = "https://files.pythonhosted.org/packages/98/a9/51e644c1f1dbc3dd7d22dfd6412eab206d538c81e024e4f287373544bdcb/langsmith-0.8.3-py3-none-any.whl", hash = "sha256:b2e40e308222fa0beb2dccee3b4b30bfee9062d7a4f20a3e3e93df3c51a08ab4", size = 399048, upload-time = "2026-05-07T19:56:53.994Z" }, ] [[package]] name = "librt" -version = "0.9.0" +version = "0.11.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/eb/6b/3d5c13fb3e3c4f43206c8f9dfed13778c2ed4f000bacaa0b7ce3c402a265/librt-0.9.0.tar.gz", hash = "sha256:a0951822531e7aee6e0dfb556b30d5ee36bbe234faf60c20a16c01be3530869d", size = 184368, upload-time = "2026-04-09T16:06:26.173Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f3/4a/c64265d71b84030174ff3ac2cd16d8b664072afab8c41fccd8e2ee5a6f8d/librt-0.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2f8e12706dcb8ff6b3ed57514a19e45c49ad00bcd423e87b2b2e4b5f64578443", size = 67529, upload-time = "2026-04-09T16:04:27.373Z" }, - { url = "https://files.pythonhosted.org/packages/23/b1/30ca0b3a8bdac209a00145c66cf42e5e7da2cc056ffc6ebc5c7b430ddd34/librt-0.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4e3dda8345307fd7306db0ed0cb109a63a2c85ba780eb9dc2d09b2049a931f9c", size = 70248, upload-time = "2026-04-09T16:04:28.758Z" }, - { url = "https://files.pythonhosted.org/packages/fa/fc/c6018dc181478d6ac5aa24a5846b8185101eb90894346db239eb3ea53209/librt-0.9.0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:de7dac64e3eb832ffc7b840eb8f52f76420cde1b845be51b2a0f6b870890645e", size = 202184, upload-time = "2026-04-09T16:04:29.893Z" }, - { url = "https://files.pythonhosted.org/packages/bf/58/d69629f002203370ef41ea69ff71c49a2c618aec39b226ff49986ecd8623/librt-0.9.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22a904cbdb678f7cb348c90d543d3c52f581663d687992fee47fd566dcbf5285", size = 212926, upload-time = "2026-04-09T16:04:31.126Z" }, - { url = "https://files.pythonhosted.org/packages/cc/55/01d859f57824e42bd02465c77bec31fa5ef9d8c2bcee702ccf8ef1b9f508/librt-0.9.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:224b9727eb8bc188bc3bcf29d969dba0cd61b01d9bac80c41575520cc4baabb2", size = 225664, upload-time = "2026-04-09T16:04:32.352Z" }, - { url = "https://files.pythonhosted.org/packages/9b/02/32f63ad0ef085a94a70315291efe1151a48b9947af12261882f8445b2a30/librt-0.9.0-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e94cbc6ad9a6aeea46d775cbb11f361022f778a9cc8cc90af653d3a594b057ce", size = 219534, upload-time = "2026-04-09T16:04:33.667Z" }, - { url = "https://files.pythonhosted.org/packages/6a/5a/9d77111a183c885acf3b3b6e4c00f5b5b07b5817028226499a55f1fedc59/librt-0.9.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7bc30ad339f4e1a01d4917d645e522a0bc0030644d8973f6346397c93ba1503f", size = 227322, upload-time = "2026-04-09T16:04:34.945Z" }, - { url = "https://files.pythonhosted.org/packages/d5/e7/05d700c93063753e12ab230b972002a3f8f3b9c95d8a980c2f646c8b6963/librt-0.9.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:56d65b583cf43b8cf4c8fbe1e1da20fa3076cc32a1149a141507af1062718236", size = 223407, upload-time = "2026-04-09T16:04:36.22Z" }, - { url = "https://files.pythonhosted.org/packages/c0/26/26c3124823c67c987456977c683da9a27cc874befc194ddcead5f9988425/librt-0.9.0-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:0a1be03168b2691ba61927e299b352a6315189199ca18a57b733f86cb3cc8d38", size = 221302, upload-time = "2026-04-09T16:04:37.62Z" }, - { url = "https://files.pythonhosted.org/packages/50/2b/c7cc2be5cf4ff7b017d948a789256288cb33a517687ff1995e72a7eea79f/librt-0.9.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:63c12efcd160e1d14da11af0c46c0217473e1e0d2ae1acbccc83f561ea4c2a7b", size = 243893, upload-time = "2026-04-09T16:04:38.909Z" }, - { url = "https://files.pythonhosted.org/packages/62/d3/da553d37417a337d12660450535d5fd51373caffbedf6962173c87867246/librt-0.9.0-cp310-cp310-win32.whl", hash = "sha256:e9002e98dcb1c0a66723592520decd86238ddcef168b37ff6cfb559200b4b774", size = 55375, upload-time = "2026-04-09T16:04:40.148Z" }, - { url = "https://files.pythonhosted.org/packages/9b/5a/46fa357bab8311b6442a83471591f2f9e5b15ecc1d2121a43725e0c529b8/librt-0.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:9fcb461fbf70654a52a7cc670e606f04449e2374c199b1825f754e16dacfedd8", size = 62581, upload-time = "2026-04-09T16:04:41.452Z" }, - { url = "https://files.pythonhosted.org/packages/e2/1e/2ec7afcebcf3efea593d13aee18bbcfdd3a243043d848ebf385055e9f636/librt-0.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:90904fac73c478f4b83f4ed96c99c8208b75e6f9a8a1910548f69a00f1eaa671", size = 67155, upload-time = "2026-04-09T16:04:42.933Z" }, - { url = "https://files.pythonhosted.org/packages/18/77/72b85afd4435268338ad4ec6231b3da8c77363f212a0227c1ff3b45e4d35/librt-0.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:789fff71757facc0738e8d89e3b84e4f0251c1c975e85e81b152cdaca927cc2d", size = 69916, upload-time = "2026-04-09T16:04:44.042Z" }, - { url = "https://files.pythonhosted.org/packages/27/fb/948ea0204fbe2e78add6d46b48330e58d39897e425560674aee302dca81c/librt-0.9.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1bf465d1e5b0a27713862441f6467b5ab76385f4ecf8f1f3a44f8aa3c695b4b6", size = 199635, upload-time = "2026-04-09T16:04:45.5Z" }, - { url = "https://files.pythonhosted.org/packages/ac/cd/894a29e251b296a27957856804cfd21e93c194aa131de8bb8032021be07e/librt-0.9.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f819e0c6413e259a17a7c0d49f97f405abadd3c2a316a3b46c6440b7dbbedbb1", size = 211051, upload-time = "2026-04-09T16:04:47.016Z" }, - { url = "https://files.pythonhosted.org/packages/18/8f/dcaed0bc084a35f3721ff2d081158db569d2c57ea07d35623ddaca5cfc8e/librt-0.9.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e0785c2fb4a81e1aece366aa3e2e039f4a4d7d21aaaded5227d7f3c703427882", size = 224031, upload-time = "2026-04-09T16:04:48.207Z" }, - { url = "https://files.pythonhosted.org/packages/03/44/88f6c1ed1132cd418601cc041fbd92fed28b3a09f39de81978e0822d13ff/librt-0.9.0-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:80b25c7b570a86c03b5da69e665809deb39265476e8e21d96a9328f9762f9990", size = 218069, upload-time = "2026-04-09T16:04:50.025Z" }, - { url = "https://files.pythonhosted.org/packages/a3/90/7d02e981c2db12188d82b4410ff3e35bfdb844b26aecd02233626f46af2b/librt-0.9.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d4d16b608a1c43d7e33142099a75cd93af482dadce0bf82421e91cad077157f4", size = 224857, upload-time = "2026-04-09T16:04:51.684Z" }, - { url = "https://files.pythonhosted.org/packages/ef/c3/c77e706b7215ca32e928d47535cf13dbc3d25f096f84ddf8fbc06693e229/librt-0.9.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:194fc1a32e1e21fe809d38b5faea66cc65eaa00217c8901fbdb99866938adbdb", size = 219865, upload-time = "2026-04-09T16:04:52.949Z" }, - { url = "https://files.pythonhosted.org/packages/52/d1/32b0c1a0eb8461c70c11656c46a29f760b7c7edf3c36d6f102470c17170f/librt-0.9.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:8c6bc1384d9738781cfd41d09ad7f6e8af13cfea2c75ece6bd6d2566cdea2076", size = 218451, upload-time = "2026-04-09T16:04:54.174Z" }, - { url = "https://files.pythonhosted.org/packages/74/d1/adfd0f9c44761b1d49b1bec66173389834c33ee2bd3c7fd2e2367f1942d4/librt-0.9.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:15cb151e52a044f06e54ac7f7b47adbfc89b5c8e2b63e1175a9d587c43e8942a", size = 241300, upload-time = "2026-04-09T16:04:55.452Z" }, - { url = "https://files.pythonhosted.org/packages/09/b0/9074b64407712f0003c27f5b1d7655d1438979155f049720e8a1abd9b1a1/librt-0.9.0-cp311-cp311-win32.whl", hash = "sha256:f100bfe2acf8a3689af9d0cc660d89f17286c9c795f9f18f7b62dd1a6b247ae6", size = 55668, upload-time = "2026-04-09T16:04:56.689Z" }, - { url = "https://files.pythonhosted.org/packages/24/19/40b77b77ce80b9389fb03971431b09b6b913911c38d412059e0b3e2a9ef2/librt-0.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:0b73e4266307e51c95e09c0750b7ec383c561d2e97d58e473f6f6a209952fbb8", size = 62976, upload-time = "2026-04-09T16:04:57.733Z" }, - { url = "https://files.pythonhosted.org/packages/70/9d/9fa7a64041e29035cb8c575af5f0e3840be1b97b4c4d9061e0713f171849/librt-0.9.0-cp311-cp311-win_arm64.whl", hash = "sha256:bc5518873822d2faa8ebdd2c1a4d7c8ef47b01a058495ab7924cb65bdbf5fc9a", size = 53502, upload-time = "2026-04-09T16:04:58.806Z" }, - { url = "https://files.pythonhosted.org/packages/bf/90/89ddba8e1c20b0922783cd93ed8e64f34dc05ab59c38a9c7e313632e20ff/librt-0.9.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9b3e3bc363f71bda1639a4ee593cb78f7fbfeacc73411ec0d4c92f00730010a4", size = 68332, upload-time = "2026-04-09T16:05:00.09Z" }, - { url = "https://files.pythonhosted.org/packages/a8/40/7aa4da1fb08bdeeb540cb07bfc8207cb32c5c41642f2594dbd0098a0662d/librt-0.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0a09c2f5869649101738653a9b7ab70cf045a1105ac66cbb8f4055e61df78f2d", size = 70581, upload-time = "2026-04-09T16:05:01.213Z" }, - { url = "https://files.pythonhosted.org/packages/48/ac/73a2187e1031041e93b7e3a25aae37aa6f13b838c550f7e0f06f66766212/librt-0.9.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:5ca8e133d799c948db2ab1afc081c333a825b5540475164726dcbf73537e5c2f", size = 203984, upload-time = "2026-04-09T16:05:02.542Z" }, - { url = "https://files.pythonhosted.org/packages/5e/3d/23460d571e9cbddb405b017681df04c142fb1b04cbfce77c54b08e28b108/librt-0.9.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:603138ee838ee1583f1b960b62d5d0007845c5c423feb68e44648b1359014e27", size = 215762, upload-time = "2026-04-09T16:05:04.127Z" }, - { url = "https://files.pythonhosted.org/packages/de/1e/42dc7f8ab63e65b20640d058e63e97fd3e482c1edbda3570d813b4d0b927/librt-0.9.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f4003f70c56a5addd6aa0897f200dd59afd3bf7bcd5b3cce46dd21f925743bc2", size = 230288, upload-time = "2026-04-09T16:05:05.883Z" }, - { url = "https://files.pythonhosted.org/packages/dc/08/ca812b6d8259ad9ece703397f8ad5c03af5b5fedfce64279693d3ce4087c/librt-0.9.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:78042f6facfd98ecb25e9829c7e37cce23363d9d7c83bc5f72702c5059eb082b", size = 224103, upload-time = "2026-04-09T16:05:07.148Z" }, - { url = "https://files.pythonhosted.org/packages/b6/3f/620490fb2fa66ffd44e7f900254bc110ebec8dac6c1b7514d64662570e6f/librt-0.9.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a361c9434a64d70a7dbb771d1de302c0cc9f13c0bffe1cf7e642152814b35265", size = 232122, upload-time = "2026-04-09T16:05:08.386Z" }, - { url = "https://files.pythonhosted.org/packages/e9/83/12864700a1b6a8be458cf5d05db209b0d8e94ae281e7ec261dbe616597b4/librt-0.9.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:dd2c7e082b0b92e1baa4da28163a808672485617bc855cc22a2fd06978fa9084", size = 225045, upload-time = "2026-04-09T16:05:09.707Z" }, - { url = "https://files.pythonhosted.org/packages/fd/1b/845d339c29dc7dbc87a2e992a1ba8d28d25d0e0372f9a0a2ecebde298186/librt-0.9.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:7e6274fd33fc5b2a14d41c9119629d3ff395849d8bcbc80cf637d9e8d2034da8", size = 227372, upload-time = "2026-04-09T16:05:10.942Z" }, - { url = "https://files.pythonhosted.org/packages/8d/fe/277985610269d926a64c606f761d58d3db67b956dbbf40024921e95e7fcb/librt-0.9.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5093043afb226ecfa1400120d1ebd4442b4f99977783e4f4f7248879009b227f", size = 248224, upload-time = "2026-04-09T16:05:12.254Z" }, - { url = "https://files.pythonhosted.org/packages/92/1b/ee486d244b8de6b8b5dbaefabe6bfdd4a72e08f6353edf7d16d27114da8d/librt-0.9.0-cp312-cp312-win32.whl", hash = "sha256:9edcc35d1cae9fd5320171b1a838c7da8a5c968af31e82ecc3dff30b4be0957f", size = 55986, upload-time = "2026-04-09T16:05:13.529Z" }, - { url = "https://files.pythonhosted.org/packages/89/7a/ba1737012308c17dc6d5516143b5dce9a2c7ba3474afd54e11f44a4d1ef3/librt-0.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:3cc2917258e131ae5f958a4d872e07555b51cb7466a43433218061c74ef33745", size = 63260, upload-time = "2026-04-09T16:05:14.68Z" }, - { url = "https://files.pythonhosted.org/packages/36/e4/01752c113da15127f18f7bf11142f5640038f062407a611c059d0036c6aa/librt-0.9.0-cp312-cp312-win_arm64.whl", hash = "sha256:90e6d5420fc8a300518d4d2288154ff45005e920425c22cbbfe8330f3f754bd9", size = 53694, upload-time = "2026-04-09T16:05:16.095Z" }, - { url = "https://files.pythonhosted.org/packages/5f/d7/1b3e26fffde1452d82f5666164858a81c26ebe808e7ae8c9c88628981540/librt-0.9.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f29b68cd9714531672db62cc54f6e8ff981900f824d13fa0e00749189e13778e", size = 68367, upload-time = "2026-04-09T16:05:17.243Z" }, - { url = "https://files.pythonhosted.org/packages/a5/5b/c61b043ad2e091fbe1f2d35d14795e545d0b56b03edaa390fa1dcee3d160/librt-0.9.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7d5c8a5929ac325729f6119802070b561f4db793dffc45e9ac750992a4ed4d22", size = 70595, upload-time = "2026-04-09T16:05:18.471Z" }, - { url = "https://files.pythonhosted.org/packages/a3/22/2448471196d8a73370aa2f23445455dc42712c21404081fcd7a03b9e0749/librt-0.9.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:756775d25ec8345b837ab52effee3ad2f3b2dfd6bbee3e3f029c517bd5d8f05a", size = 204354, upload-time = "2026-04-09T16:05:19.593Z" }, - { url = "https://files.pythonhosted.org/packages/ac/5e/39fc4b153c78cfd2c8a2dcb32700f2d41d2312aa1050513183be4540930d/librt-0.9.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2b8f5d00b49818f4e2b1667db994488b045835e0ac16fe2f924f3871bd2b8ac5", size = 216238, upload-time = "2026-04-09T16:05:20.868Z" }, - { url = "https://files.pythonhosted.org/packages/d7/42/bc2d02d0fa7badfa63aa8d6dcd8793a9f7ef5a94396801684a51ed8d8287/librt-0.9.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c81aef782380f0f13ead670aae01825eb653b44b046aa0e5ebbb79f76ed4aa11", size = 230589, upload-time = "2026-04-09T16:05:22.305Z" }, - { url = "https://files.pythonhosted.org/packages/c8/7b/e2d95cc513866373692aa5edf98080d5602dd07cabfb9e5d2f70df2f25f7/librt-0.9.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:66b58fed90a545328e80d575467244de3741e088c1af928f0b489ebec3ef3858", size = 224610, upload-time = "2026-04-09T16:05:23.647Z" }, - { url = "https://files.pythonhosted.org/packages/31/d5/6cec4607e998eaba57564d06a1295c21b0a0c8de76e4e74d699e627bd98c/librt-0.9.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e78fb7419e07d98c2af4b8567b72b3eaf8cb05caad642e9963465569c8b2d87e", size = 232558, upload-time = "2026-04-09T16:05:25.025Z" }, - { url = "https://files.pythonhosted.org/packages/95/8c/27f1d8d3aaf079d3eb26439bf0b32f1482340c3552e324f7db9dca858671/librt-0.9.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2c3786f0f4490a5cd87f1ed6cefae833ad6b1060d52044ce0434a2e85893afd0", size = 225521, upload-time = "2026-04-09T16:05:26.311Z" }, - { url = "https://files.pythonhosted.org/packages/6b/d8/1e0d43b1c329b416017619469b3c3801a25a6a4ef4a1c68332aeaa6f72ca/librt-0.9.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:8494cfc61e03542f2d381e71804990b3931175a29b9278fdb4a5459948778dc2", size = 227789, upload-time = "2026-04-09T16:05:27.624Z" }, - { url = "https://files.pythonhosted.org/packages/2c/b4/d3d842e88610fcd4c8eec7067b0c23ef2d7d3bff31496eded6a83b0f99be/librt-0.9.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:07cf11f769831186eeac424376e6189f20ace4f7263e2134bdb9757340d84d4d", size = 248616, upload-time = "2026-04-09T16:05:29.181Z" }, - { url = "https://files.pythonhosted.org/packages/ec/28/527df8ad0d1eb6c8bdfa82fc190f1f7c4cca5a1b6d7b36aeabf95b52d74d/librt-0.9.0-cp313-cp313-win32.whl", hash = "sha256:850d6d03177e52700af605fd60db7f37dcb89782049a149674d1a9649c2138fd", size = 56039, upload-time = "2026-04-09T16:05:30.709Z" }, - { url = "https://files.pythonhosted.org/packages/f3/a7/413652ad0d92273ee5e30c000fc494b361171177c83e57c060ecd3c21538/librt-0.9.0-cp313-cp313-win_amd64.whl", hash = "sha256:a5af136bfba820d592f86c67affcef9b3ff4d4360ac3255e341e964489b48519", size = 63264, upload-time = "2026-04-09T16:05:31.881Z" }, - { url = "https://files.pythonhosted.org/packages/a4/0a/92c244309b774e290ddb15e93363846ae7aa753d9586b8aad511c5e6145b/librt-0.9.0-cp313-cp313-win_arm64.whl", hash = "sha256:4c4d0440a3a8e31d962340c3e1cc3fc9ee7febd34c8d8f770d06adb947779ea5", size = 53728, upload-time = "2026-04-09T16:05:33.31Z" }, - { url = "https://files.pythonhosted.org/packages/cd/c1/184e539543f06ea2912f4b92a5ffaede4f9b392689e3f00acbf8134bee92/librt-0.9.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:3f05d145df35dca5056a8bc3838e940efebd893a54b3e19b2dda39ceaa299bcb", size = 67830, upload-time = "2026-04-09T16:05:34.517Z" }, - { url = "https://files.pythonhosted.org/packages/f3/ad/23399bdcb7afca819acacdef31b37ee59de261bd66b503a7995c03c4b0dc/librt-0.9.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1c587494461ebd42229d0f1739f3aa34237dd9980623ecf1be8d3bcba79f4499", size = 70280, upload-time = "2026-04-09T16:05:35.649Z" }, - { url = "https://files.pythonhosted.org/packages/9f/0b/4542dc5a2b8772dbf92cafb9194701230157e73c14b017b6961a23598b03/librt-0.9.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:b0a2040f801406b93657a70b72fa12311063a319fee72ce98e1524da7200171f", size = 201925, upload-time = "2026-04-09T16:05:36.739Z" }, - { url = "https://files.pythonhosted.org/packages/31/d4/8ee7358b08fd0cfce051ef96695380f09b3c2c11b77c9bfbc367c921cce5/librt-0.9.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f38bc489037eca88d6ebefc9c4d41a4e07c8e8b4de5188a9e6d290273ad7ebb1", size = 212381, upload-time = "2026-04-09T16:05:38.043Z" }, - { url = "https://files.pythonhosted.org/packages/f2/94/a2025fe442abedf8b038038dab3dba942009ad42b38ea064a1a9e6094241/librt-0.9.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f3fd278f5e6bf7c75ccd6d12344eb686cc020712683363b66f46ac79d37c799f", size = 227065, upload-time = "2026-04-09T16:05:39.394Z" }, - { url = "https://files.pythonhosted.org/packages/7c/e9/b9fcf6afa909f957cfbbf918802f9dada1bd5d3c1da43d722fd6a310dc3f/librt-0.9.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fcbdf2a9ca24e87bbebb47f1fe34e531ef06f104f98c9ccfc953a3f3344c567a", size = 221333, upload-time = "2026-04-09T16:05:40.999Z" }, - { url = "https://files.pythonhosted.org/packages/ac/7c/ba54cd6aa6a3c8cd12757a6870e0c79a64b1e6327f5248dcff98423f4d43/librt-0.9.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e306d956cfa027fe041585f02a1602c32bfa6bb8ebea4899d373383295a6c62f", size = 229051, upload-time = "2026-04-09T16:05:42.605Z" }, - { url = "https://files.pythonhosted.org/packages/4b/4b/8cfdbad314c8677a0148bf0b70591d6d18587f9884d930276098a235461b/librt-0.9.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:465814ab157986acb9dfa5ccd7df944be5eefc0d08d31ec6e8d88bc71251d845", size = 222492, upload-time = "2026-04-09T16:05:43.842Z" }, - { url = "https://files.pythonhosted.org/packages/1f/d1/2eda69563a1a88706808decdce035e4b32755dbfbb0d05e1a65db9547ed1/librt-0.9.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:703f4ae36d6240bfe24f542bac784c7e4194ec49c3ba5a994d02891649e2d85b", size = 223849, upload-time = "2026-04-09T16:05:45.054Z" }, - { url = "https://files.pythonhosted.org/packages/04/44/b2ed37df6be5b3d42cfe36318e0598e80843d5c6308dd63d0bf4e0ce5028/librt-0.9.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3be322a15ee5e70b93b7a59cfd074614f22cc8c9ff18bd27f474e79137ea8d3b", size = 245001, upload-time = "2026-04-09T16:05:46.34Z" }, - { url = "https://files.pythonhosted.org/packages/47/e7/617e412426df89169dd2a9ed0cc8752d5763336252c65dbf945199915119/librt-0.9.0-cp314-cp314-win32.whl", hash = "sha256:b8da9f8035bb417770b1e1610526d87ad4fc58a2804dc4d79c53f6d2cf5a6eb9", size = 51799, upload-time = "2026-04-09T16:05:47.738Z" }, - { url = "https://files.pythonhosted.org/packages/24/ed/c22ca4db0ca3cbc285e4d9206108746beda561a9792289c3c31281d7e9df/librt-0.9.0-cp314-cp314-win_amd64.whl", hash = "sha256:b8bd70d5d816566a580d193326912f4a76ec2d28a97dc4cd4cc831c0af8e330e", size = 59165, upload-time = "2026-04-09T16:05:49.198Z" }, - { url = "https://files.pythonhosted.org/packages/24/56/875398fafa4cbc8f15b89366fc3287304ddd3314d861f182a4b87595ace0/librt-0.9.0-cp314-cp314-win_arm64.whl", hash = "sha256:fc5758e2b7a56532dc33e3c544d78cbaa9ecf0a0f2a2da2df882c1d6b99a317f", size = 49292, upload-time = "2026-04-09T16:05:50.362Z" }, - { url = "https://files.pythonhosted.org/packages/4c/61/bc448ecbf9b2d69c5cff88fe41496b19ab2a1cbda0065e47d4d0d51c0867/librt-0.9.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:f24b90b0e0c8cc9491fb1693ae91fe17cb7963153a1946395acdbdd5818429a4", size = 70175, upload-time = "2026-04-09T16:05:51.564Z" }, - { url = "https://files.pythonhosted.org/packages/60/f2/c47bb71069a73e2f04e70acbd196c1e5cc411578ac99039a224b98920fd4/librt-0.9.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3fe56e80badb66fdcde06bef81bbaa5bfcf6fbd7aefb86222d9e369c38c6b228", size = 72951, upload-time = "2026-04-09T16:05:52.699Z" }, - { url = "https://files.pythonhosted.org/packages/29/19/0549df59060631732df758e8886d92088da5fdbedb35b80e4643664e8412/librt-0.9.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:527b5b820b47a09e09829051452bb0d1dd2122261254e2a6f674d12f1d793d54", size = 225864, upload-time = "2026-04-09T16:05:53.895Z" }, - { url = "https://files.pythonhosted.org/packages/9d/f8/3b144396d302ac08e50f89e64452c38db84bc7b23f6c60479c5d3abd303c/librt-0.9.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7d429bdd4ac0ab17c8e4a8af0ed2a7440b16eba474909ab357131018fe8c7e71", size = 241155, upload-time = "2026-04-09T16:05:55.191Z" }, - { url = "https://files.pythonhosted.org/packages/7a/ce/ee67ec14581de4043e61d05786d2aed6c9b5338816b7859bcf07455c6a9f/librt-0.9.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7202bdcac47d3a708271c4304a474a8605a4a9a4a709e954bf2d3241140aa938", size = 252235, upload-time = "2026-04-09T16:05:56.549Z" }, - { url = "https://files.pythonhosted.org/packages/8a/fa/0ead15daa2b293a54101550b08d4bafe387b7d4a9fc6d2b985602bae69b6/librt-0.9.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c0d620e74897f8c2613b3c4e2e9c1e422eb46d2ddd07df540784d44117836af3", size = 244963, upload-time = "2026-04-09T16:05:57.858Z" }, - { url = "https://files.pythonhosted.org/packages/29/68/9fbf9a9aa704ba87689e40017e720aced8d9a4d2b46b82451d8142f91ec9/librt-0.9.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d69fc39e627908f4c03297d5a88d9284b73f4d90b424461e32e8c2485e21c283", size = 257364, upload-time = "2026-04-09T16:05:59.686Z" }, - { url = "https://files.pythonhosted.org/packages/1a/8d/9d60869f1b6716c762e45f66ed945b1e5dd649f7377684c3b176ae424648/librt-0.9.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:c2640e23d2b7c98796f123ffd95cf2022c7777aa8a4a3b98b36c570d37e85eee", size = 247661, upload-time = "2026-04-09T16:06:00.938Z" }, - { url = "https://files.pythonhosted.org/packages/70/ff/a5c365093962310bfdb4f6af256f191085078ffb529b3f0cbebb5b33ebe2/librt-0.9.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:451daa98463b7695b0a30aa56bf637831ea559e7b8101ac2ef6382e8eb15e29c", size = 248238, upload-time = "2026-04-09T16:06:02.537Z" }, - { url = "https://files.pythonhosted.org/packages/a0/3c/2d34365177f412c9e19c0a29f969d70f5343f27634b76b765a54d8b27705/librt-0.9.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:928bd06eca2c2bbf4349e5b817f837509b0604342e65a502de1d50a7570afd15", size = 269457, upload-time = "2026-04-09T16:06:03.833Z" }, - { url = "https://files.pythonhosted.org/packages/bc/cd/de45b239ea3bdf626f982a00c14bfcf2e12d261c510ba7db62c5969a27cd/librt-0.9.0-cp314-cp314t-win32.whl", hash = "sha256:a9c63e04d003bc0fb6a03b348018b9a3002f98268200e22cc80f146beac5dc40", size = 52453, upload-time = "2026-04-09T16:06:05.229Z" }, - { url = "https://files.pythonhosted.org/packages/7f/f9/bfb32ae428aa75c0c533915622176f0a17d6da7b72b5a3c6363685914f70/librt-0.9.0-cp314-cp314t-win_amd64.whl", hash = "sha256:f162af66a2ed3f7d1d161a82ca584efd15acd9c1cff190a373458c32f7d42118", size = 60044, upload-time = "2026-04-09T16:06:06.398Z" }, - { url = "https://files.pythonhosted.org/packages/aa/47/7d70414bcdbb3bc1f458a8d10558f00bbfdb24e5a11740fc8197e12c3255/librt-0.9.0-cp314-cp314t-win_arm64.whl", hash = "sha256:a4b25c6c25cac5d0d9d6d6da855195b254e0021e513e0249f0e3b444dc6e0e61", size = 50009, upload-time = "2026-04-09T16:06:07.995Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/40/08/9e7f6b5d2b5bed6ad055cdd5925f192bb403a51280f86b56554d9d0699a2/librt-0.11.0.tar.gz", hash = "sha256:075dc3ef4458a278e0195cbf6ac9d38808d9b906c5a6c7f7f79c3888276a3fb1", size = 200139, upload-time = "2026-05-10T18:17:25.138Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/10/37fd9e9ba96cb0bd742dfb20fc3d082e54bdbec759d7300df927f360ef07/librt-0.11.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6e94ebfcfa2d5e9926d6c3b9aa4617ffc42a845b4321fb84021b872358c82a0f", size = 141706, upload-time = "2026-05-10T18:15:16.129Z" }, + { url = "https://files.pythonhosted.org/packages/cf/72/1b1466f358e4a0b728051f69bc27e67b432c6eaa2e05b88db49d3785ae0d/librt-0.11.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ae627397a2f351560440d872d6f7c8dbb4072e57868e7b2fc5b8b430fe489d45", size = 142605, upload-time = "2026-05-10T18:15:18.148Z" }, + { url = "https://files.pythonhosted.org/packages/ca/85/ed26dd2f6bc9a0baf48306433e579e8d354d70b2bcb78134ed950a5d0e1e/librt-0.11.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dc329359321b67d24efdf4bc69012b0597001649544db662c001db5a0184794c", size = 476555, upload-time = "2026-05-10T18:15:19.569Z" }, + { url = "https://files.pythonhosted.org/packages/66/fe/11891191c0e0a3fd617724e891f6e67a71a7658974a892b9a9a97fdb2977/librt-0.11.0-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:7e82e642ab0f7608ce2fe53d76ca2280a9ee33a1b06556142c7c6fe80a86fc33", size = 468434, upload-time = "2026-05-10T18:15:20.87Z" }, + { url = "https://files.pythonhosted.org/packages/6f/50/5ec949d7f9ce1a07af903aa3e13abb98b717923bdead6e719b2f824ccc07/librt-0.11.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:88145c15c67731d54283d135b03244028c750cc9edc334a96a4f5950ebdb2884", size = 496918, upload-time = "2026-05-10T18:15:22.616Z" }, + { url = "https://files.pythonhosted.org/packages/ea/c4/177336c7524e34875a38bf668e88b193a6723a4eb4045d07f74df6e1506c/librt-0.11.0-cp310-cp310-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9d36a51b3d93320b686588e27123f4995804dbf1bce81df78c02fc3c6eea9280", size = 490334, upload-time = "2026-05-10T18:15:24.2Z" }, + { url = "https://files.pythonhosted.org/packages/13/1f/da3112f7569eda3b49f9a2629bae1fe059812b6085df16c885f6454dff49/librt-0.11.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d00f3ac06a2a8b246327f11e186a53a100a4d5c7ed52346367e5ec751d51586c", size = 511287, upload-time = "2026-05-10T18:15:26.226Z" }, + { url = "https://files.pythonhosted.org/packages/fa/94/03fec301522e172d105581431223be56b27594ff46440ebfbb658a3735d5/librt-0.11.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:461bbceede621f1ffb8839755f8663e886087ee7af16294cab7fb4d782c62eeb", size = 517202, upload-time = "2026-05-10T18:15:27.965Z" }, + { url = "https://files.pythonhosted.org/packages/b7/6e/339f6e5a7b413ce014f1917a756dae630fe59cc99f34153205b1cb540901/librt-0.11.0-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:0cad8a4d6a8ff03c9b76f9414caccd78e7cfbc8a2e12fa334d8e1d9932753783", size = 497517, upload-time = "2026-05-10T18:15:29.614Z" }, + { url = "https://files.pythonhosted.org/packages/cd/43/acdd5ce317cb46e8253ca9bfbdb8b12e68a24d745949336a7f3d5fb79ba0/librt-0.11.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f37aa505b3cf60701562eddb32df74b12a9e380c207fd8b06dd157a943ac7ea0", size = 538878, upload-time = "2026-05-10T18:15:30.928Z" }, + { url = "https://files.pythonhosted.org/packages/29/b5/7a25bb12e3172839f647f196b3e988318b7bb1ca7501732a225c4dce2ec0/librt-0.11.0-cp310-cp310-win32.whl", hash = "sha256:94663a21534637f0e787ec2a2a756022df6e5b7b2335a5cdd7d8e33d68a2af89", size = 100070, upload-time = "2026-05-10T18:15:32.551Z" }, + { url = "https://files.pythonhosted.org/packages/c6/0d/ebbcf4d77999c02c937b05d2b90ff4cd4dcc7e9a365ba132329ac1fe7a0f/librt-0.11.0-cp310-cp310-win_amd64.whl", hash = "sha256:dec7db73758c2b54953fd8b7fe348c45188fe26b39ee18446196edd08453a5d4", size = 117918, upload-time = "2026-05-10T18:15:33.678Z" }, + { url = "https://files.pythonhosted.org/packages/fe/87/2bf31fe17587b29e3f93ec31421e2b1e1c3e349b8bf6c7c313dbad1d5340/librt-0.11.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:93d95bd45b7d58343d8b90d904450a545144eec19a002511163426f8ab1fae29", size = 141092, upload-time = "2026-05-10T18:15:34.795Z" }, + { url = "https://files.pythonhosted.org/packages/cf/08/5c5bf772920b7ebac6e32bc91a643e0ab3870199c0b542356d3baa83970a/librt-0.11.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4ee278c769a713638cdacd4c0436d72156e75df3ebc0166ab2b9dc43acc386c9", size = 142035, upload-time = "2026-05-10T18:15:36.242Z" }, + { url = "https://files.pythonhosted.org/packages/06/20/662a03d254e5b000d838e8b345d83303ddb768c080fd488e40634c0fa66b/librt-0.11.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f230cb1cbc9faaa616f9a678f530ebcf186e414b6bcbd88b960e4ba1b92428d5", size = 475022, upload-time = "2026-05-10T18:15:37.56Z" }, + { url = "https://files.pythonhosted.org/packages/de/f3/aa81523e45184c6ec23dc7f63263362ec55f80a09d424c012359ecbe7e35/librt-0.11.0-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:5d63c855d86938d9de93e265c9bd8c705b51ec494de5738340ee93767a686e4b", size = 467273, upload-time = "2026-05-10T18:15:39.182Z" }, + { url = "https://files.pythonhosted.org/packages/6b/6f/59c74b560ca8853834d5501d589c8a2519f4184f273a085ffd0f37a1cc47/librt-0.11.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:993f028be9e96a08d31df3479ac80d99be374d17f3b78e4796b3fd3c913d4e89", size = 497083, upload-time = "2026-05-10T18:15:40.634Z" }, + { url = "https://files.pythonhosted.org/packages/fe/7b/5aa4d2c9600a719401160bf7055417df0b2a47439b9d88286ce45e56b65f/librt-0.11.0-cp311-cp311-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:258d73a0aa66a055e65b2e4d1b8cdb23b9d132c5bb915d9547d804fcaed116cc", size = 489139, upload-time = "2026-05-10T18:15:41.934Z" }, + { url = "https://files.pythonhosted.org/packages/d6/31/9143803d7da6856a69153785768c4936864430eec0fd9461c3ea527d9922/librt-0.11.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0827efe7854718f04aaddf6496e96960a956e676fe1d0f04eb41511fd8ad06d5", size = 508442, upload-time = "2026-05-10T18:15:43.206Z" }, + { url = "https://files.pythonhosted.org/packages/2f/5a/bce08184488426bda4ccc2c4964ac048c8f68ae89bd7120082eef4233cfd/librt-0.11.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:7753e57d6e12d019c0d8786f1c09c709f4c3fcc57c3887b24e36e6c06ec938b7", size = 514230, upload-time = "2026-05-10T18:15:44.761Z" }, + { url = "https://files.pythonhosted.org/packages/89/8c/bb5e213d254b7505a0e658da199d8ab719086632ce09eef311ab27976523/librt-0.11.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:11bd19822431cc21af9f27374e7ae2e58103c7d98bda823536a6c47f6bb2bb3d", size = 494231, upload-time = "2026-05-10T18:15:46.308Z" }, + { url = "https://files.pythonhosted.org/packages/9d/fb/541cdad5b1ab1300398c74c4c9a497b88e5074c21b1244c8f49731d3a284/librt-0.11.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:22bdf239b219d3993761a148ffa134b19e52e9989c84f845d5d7b71d70a17412", size = 537585, upload-time = "2026-05-10T18:15:47.629Z" }, + { url = "https://files.pythonhosted.org/packages/8f/f2/464bb69295c320cb06bddb4f14a4ec67934ee14b2bffb12b19fb7ab287ba/librt-0.11.0-cp311-cp311-win32.whl", hash = "sha256:46c60b61e308eb535fbd6fa622b1ee1bb2815691c1ad9c98bf7b84952ec3bc8d", size = 100509, upload-time = "2026-05-10T18:15:49.157Z" }, + { url = "https://files.pythonhosted.org/packages/6d/e7/a17ee1788f9e4fbf548c19f4afa07c92089b9e24fef6cb2410863781ef4c/librt-0.11.0-cp311-cp311-win_amd64.whl", hash = "sha256:902e546ff044f579ff1c953ff5fce97b636fe9e3943996b2177710c6ef076f73", size = 118628, upload-time = "2026-05-10T18:15:50.345Z" }, + { url = "https://files.pythonhosted.org/packages/cc/c7/6c766214f9f9903bcfcfbef97d807af8d8f5aa3502d247858ab17582d212/librt-0.11.0-cp311-cp311-win_arm64.whl", hash = "sha256:65ac3bc20f78aa0ee5ae84baa68917f89fef4af63e941084dd019a0d0e749f0c", size = 103122, upload-time = "2026-05-10T18:15:52.068Z" }, + { url = "https://files.pythonhosted.org/packages/8b/d0/07c77e067f0838949b43bd89232c29d72efebb9d2801a9750184eb706b71/librt-0.11.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b87504f1690a23b9a2cca841191a04f83895d4fc2dd04df91d82b1a04ca2ad46", size = 144147, upload-time = "2026-05-10T18:15:53.227Z" }, + { url = "https://files.pythonhosted.org/packages/7a/24/8493538fa4f62f982686398a5b8f68008138a75086abdea19ade64bf4255/librt-0.11.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40071fc5fe0ce8daa6de616702314a01e1250711682b0523d6ab8d4525910cb3", size = 143614, upload-time = "2026-05-10T18:15:54.657Z" }, + { url = "https://files.pythonhosted.org/packages/ff/1e/f8bad050810d9171f34a1648ed910e56814c2ba61639f2bd53c6377ae24b/librt-0.11.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:137e79445c896a0ea7b265f52d23954e05b64222ee1af69e2cb34219067cbb67", size = 485538, upload-time = "2026-05-10T18:15:56.117Z" }, + { url = "https://files.pythonhosted.org/packages/c0/fe/3594ebfbaf03084ba4b120c9ba5c3183fd938a48725e9bbe6ff0a5159ad8/librt-0.11.0-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:cca6644054e78746d8d4ef238681f9c34ff8b584fe6b988ecebb8db3b15e622a", size = 479623, upload-time = "2026-05-10T18:15:57.544Z" }, + { url = "https://files.pythonhosted.org/packages/b0/da/5d1876984b3746c85dbd219dbfcb73c85f54ee263fd32e5b2a632ec14571/librt-0.11.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d5b0eea49f5562861ee8d757a32ef7d559c1d35be2aaaa1ec28941d74c9ffc8a", size = 513082, upload-time = "2026-05-10T18:15:58.805Z" }, + { url = "https://files.pythonhosted.org/packages/19/6e/55bdf5d5ca00c3e18430690bf2c953d8d3ffd3c337418173d33dec985dc9/librt-0.11.0-cp312-cp312-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0d1029d7e1ae1a7e647ed6fb5df8c4ce2dffefb7a9f5fd1376a4554d96dac09f", size = 508105, upload-time = "2026-05-10T18:16:00.2Z" }, + { url = "https://files.pythonhosted.org/packages/07/10/f1f23a7c595ee90ece4d35c851e5d104b1311a887ed1b4ac4c35bbd13da8/librt-0.11.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bc3ce6b33c5828d9e80592011a5c584cb2ce86edbc4088405f70da47dc1d1b3b", size = 522268, upload-time = "2026-05-10T18:16:01.708Z" }, + { url = "https://files.pythonhosted.org/packages/b6/02/5720f5697a7f54b78b3aefbe20df3a48cedcff1276618c4aa481177942ed/librt-0.11.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:936c5995f3514a42111f20099397d8177c79b4d7e70961e396c6f5a0a3566766", size = 527348, upload-time = "2026-05-10T18:16:03.496Z" }, + { url = "https://files.pythonhosted.org/packages/50/db/b4a47c6f91db4ff76348a0b3dd0cc65e090a078b765a810a62ff9434c3d3/librt-0.11.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:9bc0ca6ad9381cbe8e4aa6e5726e4c80c78115a6e9723c599ed1d73e092bc49d", size = 516294, upload-time = "2026-05-10T18:16:05.173Z" }, + { url = "https://files.pythonhosted.org/packages/9e/58/9384b2f4eb1ed1d273d40948a7c5c4b2360213b402ef3be4641c06299f9c/librt-0.11.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:070aa8c26c0a74774317a72df8851facc7f0f012a5b406557ac56992d92e1ec8", size = 553608, upload-time = "2026-05-10T18:16:06.839Z" }, + { url = "https://files.pythonhosted.org/packages/21/7b/5aa8848a7c6a9278c79375146da1812e695754ceec5f005e6043461a7315/librt-0.11.0-cp312-cp312-win32.whl", hash = "sha256:6bf14feb84b05ae945277395451998c89c54d0def4070eb5c08de544930b245a", size = 101879, upload-time = "2026-05-10T18:16:08.103Z" }, + { url = "https://files.pythonhosted.org/packages/37/33/8a745436944947575b584231750a41417de1a38cf6a2e9251d1065651c09/librt-0.11.0-cp312-cp312-win_amd64.whl", hash = "sha256:75672f0bc524ede266287d532d7923dbce94c7514ad07627bac3d0c6d92cc4d9", size = 119831, upload-time = "2026-05-10T18:16:09.174Z" }, + { url = "https://files.pythonhosted.org/packages/59/67/a6739ac96e28b7855808bdb0370e250606104a859750d209e5a0716fe7ab/librt-0.11.0-cp312-cp312-win_arm64.whl", hash = "sha256:2f10cf143e4a9bb0f4f5af568a00df94a2d69ef41c2579584454bb0fe5cc642c", size = 103470, upload-time = "2026-05-10T18:16:10.369Z" }, + { url = "https://files.pythonhosted.org/packages/82/61/e59168d4d0bf2bf90f4f0caf7a001bfc60254c3af4586013b04dc3ef517b/librt-0.11.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:78dc31f7fdfe9c9d0eb0e8f42d139db230e826415bbcabd9f0e9faaaee909894", size = 144119, upload-time = "2026-05-10T18:16:11.771Z" }, + { url = "https://files.pythonhosted.org/packages/61/fd/caa1d60b12f7dd79ccea23054e06eeaebe266a5f52c40a6b651069200ce5/librt-0.11.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:fa475675db22290c3158e1d42326d0f5a65f04f44a0e68c3630a25b53560fb9c", size = 143565, upload-time = "2026-05-10T18:16:13.334Z" }, + { url = "https://files.pythonhosted.org/packages/b8/a9/dc744f5c2b4978d48db970be29f22716d3413d28b14ad99740817315cf2c/librt-0.11.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:621db29691044bdeda22e789e482e1b0f3a985d90e3426c9c6d17606416205ea", size = 485395, upload-time = "2026-05-10T18:16:14.729Z" }, + { url = "https://files.pythonhosted.org/packages/8f/21/7f8e97a1e4dae952a5a95948f6f8507a173bc1e669f54340bba6ca1ca31b/librt-0.11.0-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:a9010e2ed5b3a9e158c5fd966b3ab7e834bb3d3aacc8f66c91dd4b57a3799230", size = 479383, upload-time = "2026-05-10T18:16:16.321Z" }, + { url = "https://files.pythonhosted.org/packages/a6/6d/d8ee9c114bebf2c50e29ec2aa940826fccb62a645c3e4c18760987d0e16d/librt-0.11.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7c39513d8b7477a2e1ed8c43fc21c524e8d5a0f8d4e8b7b074dbdbe7820a08e2", size = 513010, upload-time = "2026-05-10T18:16:17.647Z" }, + { url = "https://files.pythonhosted.org/packages/f0/43/0b5708af2bd30a46400e72ba6bdaa8f066f15fb9a688527e34220e8d6c06/librt-0.11.0-cp313-cp313-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7aef3cf1d5af86e770ab04bfd993dfc4ae8b8c17f66fb77dd4a7d50de7bbb1a3", size = 508433, upload-time = "2026-05-10T18:16:19.309Z" }, + { url = "https://files.pythonhosted.org/packages/4a/50/356187247d09013490481033183b3532b58acf8028bcb34b2b56a375c9b2/librt-0.11.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:557183ddc36babe46b27dd60facbd5adb4492181a5be887587d57cda6e092f21", size = 522595, upload-time = "2026-05-10T18:16:20.642Z" }, + { url = "https://files.pythonhosted.org/packages/40/e7/c6ac4240899c7f3248079d5a9900debe0dadb3fdeaf856684c987105ba47/librt-0.11.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:83d3e1f72bd42f6c5c0b7daec530c3f829bd02db42c70b8ddf0c2d90a2459930", size = 527255, upload-time = "2026-05-10T18:16:22.352Z" }, + { url = "https://files.pythonhosted.org/packages/eb/b5/a81322dbeedeeaf9c1ee6f001734d28a09d8383ac9e6779bc24bbd0743c6/librt-0.11.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:4ce1f21fbe589bc1afd7872dece84fb0e1144f794a288e58a10d2c54a55c43be", size = 516847, upload-time = "2026-05-10T18:16:23.627Z" }, + { url = "https://files.pythonhosted.org/packages/ae/66/6e6323787d592b55204a42595ff1102da5115601b53a7e9ddebc889a6da5/librt-0.11.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:970b09f7044ea2b64c9da42fd3d335666518cfd1c6e8a182c95da73d0214b41e", size = 553920, upload-time = "2026-05-10T18:16:25.025Z" }, + { url = "https://files.pythonhosted.org/packages/9c/21/623f8ca230857102066d9ca8c6c1734995908c4d0d1bee7bb2ef0021cb33/librt-0.11.0-cp313-cp313-win32.whl", hash = "sha256:78fddc31cd4d3caa897ad5d31f856b1faadc9474021ad6cb182b9018793e254e", size = 101898, upload-time = "2026-05-10T18:16:26.649Z" }, + { url = "https://files.pythonhosted.org/packages/b3/1d/b4ebd44dd723f768469007515cb92251e0ae286c94c140f374801140fa74/librt-0.11.0-cp313-cp313-win_amd64.whl", hash = "sha256:8ca8aa88751a775870b764e93bad5135385f563cb8dcee399abf034ea4d3cb47", size = 119812, upload-time = "2026-05-10T18:16:27.859Z" }, + { url = "https://files.pythonhosted.org/packages/3b/e4/b2f4ca7965ca373b491cdb4bc25cdb30c1649ca81a8782056a83850292a9/librt-0.11.0-cp313-cp313-win_arm64.whl", hash = "sha256:96f044bb325fd9cf1a723015638c219e9143f0dfbc0ca54c565df2b7fc748b44", size = 103448, upload-time = "2026-05-10T18:16:29.066Z" }, + { url = "https://files.pythonhosted.org/packages/29/eb/dbce197da4e227779e56b5735f2decc3eb36e55a1cdbf1bd65d6639d76c1/librt-0.11.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:4a017a95e5837dc15a8c5661d60e05daa96b90908b1aa6b7acdf443cd25c8ebd", size = 143345, upload-time = "2026-05-10T18:16:30.674Z" }, + { url = "https://files.pythonhosted.org/packages/76/a3/254bebd0c11c8ba684018efb8006ff22e466abce445215cca6c778e7d9de/librt-0.11.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b1ecbd9819deccc39b7542bf4d2a740d8a620694d39989e58661d3763458f8d4", size = 143131, upload-time = "2026-05-10T18:16:32.037Z" }, + { url = "https://files.pythonhosted.org/packages/f1/3f/f77d6122d21ac7bf6ae8a7dfced1bd2a7ac545d3273ebdcaf8042f6d619f/librt-0.11.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7da327dacd7be8f8ec36547373550744a3cc0e536d54665cd83f8bcd961200e8", size = 477024, upload-time = "2026-05-10T18:16:33.493Z" }, + { url = "https://files.pythonhosted.org/packages/ac/0a/2c996dadebaa7d9bbbd43ef2d4f3e66b6da545f838a41694ef6172cebec8/librt-0.11.0-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:0dc56b1f8d06e60db362cc3fdae206681817f86ce4725d34511473487f12a34b", size = 474221, upload-time = "2026-05-10T18:16:34.864Z" }, + { url = "https://files.pythonhosted.org/packages/0a/7e/f5d92af8486b8272c23b3e686b46ff72d89c8169585eb61eef01a2ac7147/librt-0.11.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:05fb8fb2ab90e21c8d12ea240d744ad514da9baf381ebfa70d91d20d21713175", size = 505174, upload-time = "2026-05-10T18:16:36.705Z" }, + { url = "https://files.pythonhosted.org/packages/af/1a/cb0734fe86398eb33193ab753b7326255c74cac5eb09e76b9b16536e7adb/librt-0.11.0-cp314-cp314-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cae74872be221df4374d10fec61f93ed1513b9546ea84f2c0bf73ab3e9bd0b03", size = 497216, upload-time = "2026-05-10T18:16:38.418Z" }, + { url = "https://files.pythonhosted.org/packages/18/06/094820f91558b66e29943c0ec41c9914f460f48dd51fc503c3101e10842d/librt-0.11.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:32bcc918c0148eb7e3d57385125bac7e5f9e4359d05f07448b09f6f778c2f31c", size = 513921, upload-time = "2026-05-10T18:16:39.848Z" }, + { url = "https://files.pythonhosted.org/packages/0b/c2/00de9018871a282f530cacb457d5ec0428f6ac7e6fedde9aff7468d9fb04/librt-0.11.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:f9743fc99135d5f78d2454435615f6dec0473ca507c26ce9d92b10b562a280d3", size = 520850, upload-time = "2026-05-10T18:16:41.471Z" }, + { url = "https://files.pythonhosted.org/packages/51/9d/64631832348fd1834fb3a61b996434edddaaf25a31d03b0a76273159d2cf/librt-0.11.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:5ba067f4aadae8fda802d91d2124c90c42195ff32d9161d3549e6d05cfe26f96", size = 504237, upload-time = "2026-05-10T18:16:43.15Z" }, + { url = "https://files.pythonhosted.org/packages/a5/ec/ae5525eb16edc827a044e7bb8777a455ff95d4bca9379e7e6bddd7383647/librt-0.11.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:de3bf945454d032f9e390b85c4072e0a0570bf825421c8be0e71209fa65e1abe", size = 546261, upload-time = "2026-05-10T18:16:44.408Z" }, + { url = "https://files.pythonhosted.org/packages/5a/09/adce371f27ca039411da9659f7430fcc2ba6cd0c7b3e4467a0f091be7fa9/librt-0.11.0-cp314-cp314-win32.whl", hash = "sha256:d2277a05f6dcb9fd13db9566aac4fabd68c3ea1ea46ee5567d4eef8efa495a2f", size = 96965, upload-time = "2026-05-10T18:16:46.039Z" }, + { url = "https://files.pythonhosted.org/packages/d6/ee/8ac720d98548f173c7ce2e632a7ca94673f74cacd5c8162a84af5b35958a/librt-0.11.0-cp314-cp314-win_amd64.whl", hash = "sha256:ab73e8db5e3f564d812c1f5c3a175930a5f9bc96ccb5e3b22a34d7858b401cf7", size = 115151, upload-time = "2026-05-10T18:16:47.133Z" }, + { url = "https://files.pythonhosted.org/packages/94/20/c900cf14efeb09b6bef2b2dff20779f73464b97fd58d1c6bccc379588ae3/librt-0.11.0-cp314-cp314-win_arm64.whl", hash = "sha256:aea3caa317752e3a466fa8af45d91ee0ea8c7fdd96e42b0a8dd9b76a7931eba1", size = 98850, upload-time = "2026-05-10T18:16:48.597Z" }, + { url = "https://files.pythonhosted.org/packages/0c/71/944bfe4b64e12abffcd3c15e1cce07f72f3d55655083786285f4dedeb532/librt-0.11.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:d1b36540d7aaf9b9101b3a6f376c8d8e9f7a9aec93ed05918f2c69d493ffef72", size = 151138, upload-time = "2026-05-10T18:16:49.839Z" }, + { url = "https://files.pythonhosted.org/packages/b6/10/99e64a5c86989357fda078c8143c533389585f6473b7439172dd8f3b3b2d/librt-0.11.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:efbb343ab2ce3540f4ecbe6315d677ed70f37cd9a72b1e58066c918ca83acbaa", size = 151976, upload-time = "2026-05-10T18:16:51.062Z" }, + { url = "https://files.pythonhosted.org/packages/21/31/5072ad880946d83e5ea4147d6d018c78eefce85b77819b19bdd0ee229435/librt-0.11.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:aa0dd688aab3f7914d3e6e5e3554978e0383312fb8e771d84be008a35b9ee548", size = 557927, upload-time = "2026-05-10T18:16:52.632Z" }, + { url = "https://files.pythonhosted.org/packages/5e/8d/70b5fb7cfbab60edbe7381614ab985da58e144fbf465c86d44c95f43cdca/librt-0.11.0-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:f5fb36b8c6c63fdcbb1d526d94c0d1331610d43f4118cc1beb4efef4f3faacb2", size = 539698, upload-time = "2026-05-10T18:16:53.934Z" }, + { url = "https://files.pythonhosted.org/packages/fa/a3/ba3495a0b3edbd24a4cae0d1d3c64f39a9fc45d06e812101289b50c1a619/librt-0.11.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4a9a237d13addb93715b6fee74023d5ee3469b53fce527626c0e088aa585805f", size = 577162, upload-time = "2026-05-10T18:16:55.589Z" }, + { url = "https://files.pythonhosted.org/packages/f7/db/36e25fb81f99937ff1b96612a1dc9fd66f039cb9cc3aee12c01fac31aab9/librt-0.11.0-cp314-cp314t-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5ddd17bd87b2c56ddd60e546a7984a2e64c4e8eab92fb4cf3830a48ad5469d51", size = 566494, upload-time = "2026-05-10T18:16:56.975Z" }, + { url = "https://files.pythonhosted.org/packages/33/0d/3f622b47f0b013eeb9cf4cc07ae9bfe378d832a4eec998b2b209fe84244d/librt-0.11.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:bd43992b4473d42f12ff9e68326079f0696d9d4e6000e8f39a0238d482ba6ee2", size = 596858, upload-time = "2026-05-10T18:16:58.374Z" }, + { url = "https://files.pythonhosted.org/packages/a9/02/71b90bc93039c46a2000651f6ad60122b114c8f54c4ad306e0e96f5b75ad/librt-0.11.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:f8e3e8056dd674e279741485e2e512d6e9a751c7455809d0114e6ebf8d781085", size = 590318, upload-time = "2026-05-10T18:16:59.676Z" }, + { url = "https://files.pythonhosted.org/packages/04/04/418cb3f75621e2b761fb1ab0f017f4d70a1a72a6e7c74ee4f7e8d198c2f3/librt-0.11.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:c1f708d8ae9c56cf38a903c44297243d2ec83fd82b396b977e0144a3e76217e3", size = 575115, upload-time = "2026-05-10T18:17:01.007Z" }, + { url = "https://files.pythonhosted.org/packages/cc/2c/5a2183ac58dd911f26b5d7e7d7d8f1d87fcecdddd99d6c12169a258ff62c/librt-0.11.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:0add982e0e7b9fc14cf4b33789d5f13f66581889b88c2f58099f6ce8f92617bd", size = 617918, upload-time = "2026-05-10T18:17:02.682Z" }, + { url = "https://files.pythonhosted.org/packages/15/1f/dc6771a52592a4451be6effa200cbfc9cec61e4393d3033d81a9d307961d/librt-0.11.0-cp314-cp314t-win32.whl", hash = "sha256:2b481d846ac894c4e8403c5fd0e87c5d11d6499e404b474602508a224ff531c8", size = 103562, upload-time = "2026-05-10T18:17:03.99Z" }, + { url = "https://files.pythonhosted.org/packages/62/4a/7d1415567027286a75ba1093ec4aca11f073e0f559c530cf3e0a757ad55c/librt-0.11.0-cp314-cp314t-win_amd64.whl", hash = "sha256:28edb433edde181112a908c78907af28f964eabc15f4dd16c9d66c834302677c", size = 124327, upload-time = "2026-05-10T18:17:05.465Z" }, + { url = "https://files.pythonhosted.org/packages/ce/62/b40b382fa0c66fee1478073eb8db352a4a6beda4a1adccf1df911d8c289c/librt-0.11.0-cp314-cp314t-win_arm64.whl", hash = "sha256:dee008f20b542e3cd162ba338a7f9ec0f6d23d395f66fe8aeeec3c9d067ea253", size = 102572, upload-time = "2026-05-10T18:17:06.809Z" }, ] [[package]] @@ -4421,8 +4333,7 @@ dependencies = [ { name = "jinja2" }, { name = "jsonschema", version = "4.26.0", source = { registry = "https://pypi.org/simple" } }, { name = "openai", version = "2.32.0", source = { registry = "https://pypi.org/simple" } }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, { name = "python-dotenv" }, { name = "tiktoken" }, { name = "tokenizers" }, @@ -4485,8 +4396,7 @@ dependencies = [ { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "pillow" }, { name = "platformdirs" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, { name = "pyyaml" }, { name = "requests" }, { name = "setuptools" }, @@ -4523,8 +4433,7 @@ version = "0.5.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "deprecated" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, ] sdist = { url = "https://files.pythonhosted.org/packages/4e/d0/671b23ccff255c9bce132a84ffd5a6f4541ceefdeab9c1786b08c9722f2e/llama_index_instrumentation-0.5.0.tar.gz", hash = "sha256:eeb724648b25d149de882a5ac9e21c5acb1ce780da214bda2b075341af29ad8e", size = 43831, upload-time = "2026-03-12T20:17:06.742Z" } wheels = [ @@ -4533,15 +4442,15 @@ wheels = [ [[package]] name = "llama-index-llms-openai" -version = "0.7.7" +version = "0.7.8" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "llama-index-core" }, { name = "openai", version = "2.32.0", source = { registry = "https://pypi.org/simple" } }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e3/38/3d55e9f9af237df6c92e75b824ad85039d6dac386237b519b0dab619288c/llama_index_llms_openai-0.7.7.tar.gz", hash = "sha256:ae9d6fa5ff1982e218d404c328b883a276c12374e1b12d81101ac254cbe569d1", size = 27474, upload-time = "2026-04-28T19:09:34.224Z" } +sdist = { url = "https://files.pythonhosted.org/packages/00/d5/2de9c05f1f1d21eb678a6044c59e943063e70099ac39b8b6f835e6e39511/llama_index_llms_openai-0.7.8.tar.gz", hash = "sha256:3352aed617ee5b7aefeb12719609ff84b4b590a1f49aa1e2e9c383d67ea88b0e", size = 27539, upload-time = "2026-05-08T20:02:09.42Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/33/66/fc6818ea699c8cfd0ae780a1c0f04389458bab8a895ac5ff17bfc47e7559/llama_index_llms_openai-0.7.7-py3-none-any.whl", hash = "sha256:d7ee68235d2a86c249d7f22e8608aac9425c14ae894140e70498db9aa3b376b5", size = 28544, upload-time = "2026-04-28T19:09:35.096Z" }, + { url = "https://files.pythonhosted.org/packages/32/49/4250108a76f4f7622109ecb9c57861829f508aba0ffdc502b27134378505/llama_index_llms_openai-0.7.8-py3-none-any.whl", hash = "sha256:967aac1f4ceff99185b2cc425c2757d4fefaf3fac0a35ace247f87a212a29359", size = 28617, upload-time = "2026-05-08T20:02:10.583Z" }, ] [[package]] @@ -4550,8 +4459,7 @@ version = "2.20.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "llama-index-instrumentation" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/c4/ec/05f3db99a2e6e252e3939e7751cad2fb1322dc6d32f4cf5c795cf7ddcad3/llama_index_workflows-2.20.0.tar.gz", hash = "sha256:df2760fea9e100c97a4e919d255461e344413acac4382d17d8217337806e4772", size = 97410, upload-time = "2026-04-24T14:54:41.524Z" } @@ -4570,8 +4478,8 @@ dependencies = [ { name = "opentelemetry-sdk" }, { name = "protobuf", version = "5.29.6", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "protobuf", version = "6.33.6", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-crewai' or extra == 'group-10-braintrust-test-langchain' or extra == 'group-10-braintrust-test-litellm' or extra == 'group-10-braintrust-test-openai-agents' or extra == 'group-10-braintrust-test-pydantic-ai-logfire' or extra == 'group-10-braintrust-test-strands' or extra != 'group-10-braintrust-lint'" }, - { name = "rich", version = "14.3.4", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.14' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "rich", version = "15.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14' or extra != 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands')" }, + { name = "rich", version = "14.3.4", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "rich", version = "15.0.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-crewai' or extra == 'group-10-braintrust-test-langchain' or extra == 'group-10-braintrust-test-litellm' or extra == 'group-10-braintrust-test-openai-agents' or extra == 'group-10-braintrust-test-pydantic-ai-logfire' or extra == 'group-10-braintrust-test-strands' or extra != 'group-10-braintrust-lint'" }, { name = "tomli", marker = "python_full_version < '3.11' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "typing-extensions" }, ] @@ -4616,14 +4524,14 @@ wheels = [ [[package]] name = "markdown-it-py" -version = "4.0.0" +version = "4.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "mdurl" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz", hash = "sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3", size = 73070, upload-time = "2025-08-11T12:57:52.854Z" } +sdist = { url = "https://files.pythonhosted.org/packages/06/ff/7841249c247aa650a76b9ee4bbaeae59370dc8bfd2f6c01f3630c35eb134/markdown_it_py-4.2.0.tar.gz", hash = "sha256:04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49", size = 82454, upload-time = "2026-05-07T12:08:28.36Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147", size = 87321, upload-time = "2025-08-11T12:57:51.923Z" }, + { url = "https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl", hash = "sha256:9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a", size = 91687, upload-time = "2026-05-07T12:08:27.182Z" }, ] [[package]] @@ -4734,7 +4642,7 @@ wheels = [ [[package]] name = "mcp" -version = "1.27.0" +version = "1.27.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -4742,8 +4650,8 @@ dependencies = [ { name = "httpx-sse" }, { name = "jsonschema", version = "4.23.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands')" }, { name = "jsonschema", version = "4.26.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra != 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or extra == 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.13.4", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-langchain' or extra == 'group-10-braintrust-test-litellm' or extra == 'group-10-braintrust-test-openai-agents' or extra == 'group-10-braintrust-test-strands' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai')" }, { name = "pydantic-settings" }, { name = "pyjwt", extra = ["crypto"] }, { name = "python-multipart" }, @@ -4755,9 +4663,9 @@ dependencies = [ { name = "typing-inspection" }, { name = "uvicorn", marker = "sys_platform != 'emscripten' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8b/eb/c0cfc62075dc6e1ec1c64d352ae09ac051d9334311ed226f1f425312848a/mcp-1.27.0.tar.gz", hash = "sha256:d3dc35a7eec0d458c1da4976a48f982097ddaab87e278c5511d5a4a56e852b83", size = 607509, upload-time = "2026-04-02T14:48:08.88Z" } +sdist = { url = "https://files.pythonhosted.org/packages/38/83/d1efe7c2980d8a3afa476f4e3d42d53dd54c0ab94c27bee5d755b45c8b73/mcp-1.27.1.tar.gz", hash = "sha256:0f47e1820f8f8f941466b39749eb1d1839a04caddca2bc60e9d46e8a99914924", size = 608458, upload-time = "2026-05-08T16:50:12.601Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9c/46/f6b4ad632c67ef35209a66127e4bddc95759649dd595f71f13fba11bdf9a/mcp-1.27.0-py3-none-any.whl", hash = "sha256:5ce1fa81614958e267b21fb2aa34e0aea8e2c6ede60d52aba45fd47246b4d741", size = 215967, upload-time = "2026-04-02T14:48:07.24Z" }, + { url = "https://files.pythonhosted.org/packages/fd/73/42d9596facebdb533b7f0b86c1b0364ef350d1f8ba78b1052e8a58b48b65/mcp-1.27.1-py3-none-any.whl", hash = "sha256:1af3c4203b329430fde7a87b4fcb6392a041f5cb851fd68fc674016ab4e7c06f", size = 216260, upload-time = "2026-05-08T16:50:10.547Z" }, ] [[package]] @@ -4780,8 +4688,7 @@ dependencies = [ { name = "opentelemetry-api" }, { name = "opentelemetry-exporter-otlp-proto-http" }, { name = "opentelemetry-sdk" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, { name = "python-dateutil" }, { name = "pyyaml" }, { name = "typing-inspection" }, @@ -5423,13 +5330,13 @@ name = "onnxruntime" version = "1.23.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "coloredlogs", marker = "python_full_version < '3.14'" }, - { name = "flatbuffers", marker = "python_full_version < '3.14'" }, + { name = "coloredlogs" }, + { name = "flatbuffers" }, { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and python_full_version < '3.14' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version >= '3.14' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "packaging", version = "25.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" }, - { name = "protobuf", version = "5.29.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" }, - { name = "sympy", marker = "python_full_version < '3.14'" }, + { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "packaging", version = "25.0", source = { registry = "https://pypi.org/simple" } }, + { name = "protobuf", version = "5.29.6", source = { registry = "https://pypi.org/simple" } }, + { name = "sympy" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/35/d6/311b1afea060015b56c742f3531168c1644650767f27ef40062569960587/onnxruntime-1.23.2-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:a7730122afe186a784660f6ec5807138bf9d792fa1df76556b27307ea9ebcbe3", size = 17195934, upload-time = "2025-10-27T23:06:14.143Z" }, @@ -5472,7 +5379,7 @@ dependencies = [ { name = "distro", marker = "extra == 'group-10-braintrust-test-litellm' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands')" }, { name = "httpx", marker = "extra == 'group-10-braintrust-test-litellm' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands')" }, { name = "jiter", version = "0.14.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-litellm' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-litellm' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.13.4", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-litellm' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands')" }, { name = "sniffio", marker = "extra == 'group-10-braintrust-test-litellm' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands')" }, { name = "tqdm", marker = "extra == 'group-10-braintrust-test-litellm' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands')" }, { name = "typing-extensions", marker = "extra == 'group-10-braintrust-test-litellm' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands')" }, @@ -5524,7 +5431,7 @@ dependencies = [ { name = "distro", marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-openai-agents' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "httpx", marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-openai-agents' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "jiter", version = "0.14.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-openai-agents' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-openai-agents' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.13.4", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-openai-agents' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "sniffio", marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-openai-agents' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "tqdm", marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-openai-agents' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "typing-extensions", marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-openai-agents' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, @@ -5569,16 +5476,16 @@ resolution-markers = [ "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", ] dependencies = [ - { name = "anyio", marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents')" }, - { name = "distro", marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents')" }, - { name = "httpx", marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents')" }, - { name = "jiter", version = "0.13.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.14' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "jiter", version = "0.14.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.14' and extra == 'group-10-braintrust-lint') or extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents')" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents')" }, - { name = "sniffio", marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents')" }, - { name = "tqdm", marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents')" }, - { name = "typing-extensions", marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents')" }, + { name = "anyio" }, + { name = "distro" }, + { name = "httpx" }, + { name = "jiter", version = "0.13.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "jiter", version = "0.14.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-langchain' or extra == 'group-10-braintrust-test-strands' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.13.4", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-langchain' or extra == 'group-10-braintrust-test-strands' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents')" }, + { name = "sniffio" }, + { name = "tqdm" }, + { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ed/59/bdcc6b759b8c42dd73afaf5bf8f902c04b37987a5514dbc1c64dba390fef/openai-2.32.0.tar.gz", hash = "sha256:c54b27a9e4cb8d51f0dd94972ffd1a04437efeb259a9e60d8922b8bd26fe55e0", size = 693286, upload-time = "2026-04-15T22:28:19.434Z" } wheels = [ @@ -5600,7 +5507,7 @@ dependencies = [ { name = "griffe", marker = "extra == 'group-10-braintrust-test-litellm' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands')" }, { name = "mcp", marker = "extra == 'group-10-braintrust-test-litellm' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands')" }, { name = "openai", version = "1.99.9", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-litellm' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-litellm' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.13.4", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-litellm' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands')" }, { name = "requests", marker = "extra == 'group-10-braintrust-test-litellm' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands')" }, { name = "types-requests", marker = "extra == 'group-10-braintrust-test-litellm' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands')" }, { name = "typing-extensions", marker = "extra == 'group-10-braintrust-test-litellm' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands')" }, @@ -5637,7 +5544,7 @@ wheels = [ [[package]] name = "openai-agents" -version = "0.15.1" +version = "0.17.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", @@ -5685,21 +5592,21 @@ resolution-markers = [ "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", ] dependencies = [ - { name = "griffelib", marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm')" }, + { name = "griffelib" }, { name = "mcp", marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm')" }, { name = "openai", version = "2.31.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-openai-agents' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "openai", version = "2.32.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents')" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm')" }, - { name = "requests", marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm')" }, - { name = "types-requests", marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm')" }, - { name = "typing-extensions", marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-langchain' or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.13.4", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-langchain' or extra == 'group-10-braintrust-test-openai-agents' or extra == 'group-10-braintrust-test-strands' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm')" }, + { name = "requests" }, + { name = "types-requests" }, + { name = "typing-extensions" }, { name = "websockets", version = "15.0.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "websockets", version = "16.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-langchain' or extra == 'group-10-braintrust-test-openai-agents' or extra == 'group-10-braintrust-test-strands' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-litellm')" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/1d/52/125891e56b67ec78bef08d91dc0a8d39457088cd0f59bf8e74a37e5e591c/openai_agents-0.15.1.tar.gz", hash = "sha256:78c3f1226e1d6d34dd7566e211c8345e996629d1704335153d1728995a3a7775", size = 5319915, upload-time = "2026-05-02T02:20:53.631Z" } +sdist = { url = "https://files.pythonhosted.org/packages/04/c9/a0a5a5fad76710f0c77fd104f868bdf0360e0e58bc37a89238c6c6410a92/openai_agents-0.17.1.tar.gz", hash = "sha256:6d5e77956a2804ff6f230d57bcc2bc315364a796f7aced0ecfa43440686c096c", size = 5400291, upload-time = "2026-05-11T06:57:01.385Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2c/7b/69a33975b3610300219e1d25185c46280814cdb87e69a779acf0c9b9166a/openai_agents-0.15.1-py3-none-any.whl", hash = "sha256:2d304a5dcb919bc4fa1de5c7c9c93a4353a8a79d87d582d6170929390b7b3cef", size = 818627, upload-time = "2026-05-02T02:20:50.932Z" }, + { url = "https://files.pythonhosted.org/packages/c3/0c/13c87bcf2510a761767094bc103818d1d676f24ad2f48406c9e74c82fd76/openai_agents-0.17.1-py3-none-any.whl", hash = "sha256:41598c98969d972d46a5028b9a79ca62a563a2b85ebb829ccc48b5daa2e34960", size = 837555, upload-time = "2026-05-11T06:56:59.247Z" }, ] [[package]] @@ -5707,8 +5614,7 @@ name = "openapi-pydantic" version = "0.5.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, ] sdist = { url = "https://files.pythonhosted.org/packages/02/2e/58d83848dd1a79cb92ed8e63f6ba901ca282c5f09d04af9423ec26c56fd7/openapi_pydantic-0.5.1.tar.gz", hash = "sha256:ff6835af6bde7a459fb93eb93bb92b8749b754fc6e51b2f1590a19dc3005ee0d", size = 60892, upload-time = "2025-01-08T19:29:27.083Z" } wheels = [ @@ -5720,7 +5626,7 @@ name = "openpyxl" version = "3.1.5" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "et-xmlfile", marker = "python_full_version < '3.14'" }, + { name = "et-xmlfile" }, ] sdist = { url = "https://files.pythonhosted.org/packages/3d/f9/88d94a75de065ea32619465d2f77b29a0469500e99012523b91cc4141cd1/openpyxl-3.1.5.tar.gz", hash = "sha256:cf0e3cf56142039133628b5acffe8ef0c12bc902d2aadd3e0fe5878dc08d1050", size = 186464, upload-time = "2024-06-28T14:03:44.161Z" } wheels = [ @@ -5735,8 +5641,7 @@ dependencies = [ { name = "httpcore" }, { name = "httpx" }, { name = "jsonpath-python" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, ] sdist = { url = "https://files.pythonhosted.org/packages/e4/f5/e19b11ea336129b3a801c4d92cf2a4f38ef8b44a2e9600afb4a5e0984c97/openrouter-0.9.1.tar.gz", hash = "sha256:0fe00c3640c2b956a244b75b46feb02c2526cda9187f5d5edfbedca87cc18fab", size = 181894, upload-time = "2026-04-14T16:50:15.937Z" } wheels = [ @@ -6024,6 +5929,13 @@ wheels = [ name = "orjson" version = "3.11.8" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14'", + "python_full_version == '3.13.*'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", +] sdist = { url = "https://files.pythonhosted.org/packages/9d/1b/2024d06792d0779f9dbc51531b61c24f76c75b9f4ce05e6f3377a1814cea/orjson-3.11.8.tar.gz", hash = "sha256:96163d9cdc5a202703e9ad1b9ae757d5f0ca62f4fa0cc93d1f27b0e180cc404e", size = 5603832, upload-time = "2026-03-31T16:16:27.878Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/2f/90/5d81f61fe3e4270da80c71442864c091cee3003cc8984c75f413fe742a07/orjson-3.11.8-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:e6693ff90018600c72fd18d3d22fa438be26076cd3c823da5f63f7bab28c11cb", size = 229663, upload-time = "2026-03-31T16:14:30.708Z" }, @@ -6101,6 +6013,137 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c0/d1/facb5b5051fabb0ef9d26c6544d87ef19a939a9a001198655d0d891062dd/orjson-3.11.8-cp314-cp314-win_arm64.whl", hash = "sha256:6ccdea2c213cf9f3d9490cbd5d427693c870753df41e6cb375bd79bcbafc8817", size = 127330, upload-time = "2026-03-31T16:16:25.496Z" }, ] +[[package]] +name = "orjson" +version = "3.11.9" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", + "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", + "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", + "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", + "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", + "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version >= '3.14' and sys_platform == 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", + "python_full_version >= '3.14' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", + "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.13.*' and sys_platform == 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.13.*' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.13.*' and sys_platform != 'emscripten' and sys_platform != 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.12.*' and sys_platform == 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.12.*' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.12.*' and sys_platform != 'emscripten' and sys_platform != 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.11.*' and sys_platform == 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.11.*' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.11.*' and sys_platform != 'emscripten' and sys_platform != 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", + "python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", + "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", +] +sdist = { url = "https://files.pythonhosted.org/packages/7e/0c/964746fcafbd16f8ff53219ad9f6b412b34f345c75f384ad434ceaadb538/orjson-3.11.9.tar.gz", hash = "sha256:4fef17e1f8722c11587a6ef18e35902450221da0028e65dbaaa543619e68e48f", size = 5599163, upload-time = "2026-05-06T15:11:08.309Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/5d/b95ca542a001135cc250a49370f282f578c8f4e46cc8617d73775297eea8/orjson-3.11.9-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:135869ef917b8704ea0a94e01620e0c05021c15c52036e4663baffe75e72f8ce", size = 228986, upload-time = "2026-05-06T15:09:14.765Z" }, + { url = "https://files.pythonhosted.org/packages/80/01/be33fbff646e22f93398429ea645f20d2097aea1a6cdc1e6628e70125f83/orjson-3.11.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:115ab5f5f4a0f203cc2a5f0fb09aee503a3f771aa08392949ab5ca230c4fbdbd", size = 132558, upload-time = "2026-05-06T15:09:17.431Z" }, + { url = "https://files.pythonhosted.org/packages/4e/61/73d49333bba660a075daccca10970dc6409ce1cf42ae4046646a19468aad/orjson-3.11.9-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4da3c38a2083ca4aaf9c2a36776cce3e9328e6647b10d118948f3cfb4913ffe4", size = 128213, upload-time = "2026-05-06T15:09:18.719Z" }, + { url = "https://files.pythonhosted.org/packages/1f/7d/30e844b3dac3f74aed66b1f984daf9db3c98c0328c03d965a9e8dc06449e/orjson-3.11.9-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:53b50b0e14084b8f7e29c5ce84c5af0f1160169b30d8a6914231d97d2fe297d4", size = 135430, upload-time = "2026-05-06T15:09:20.257Z" }, + { url = "https://files.pythonhosted.org/packages/16/64/bd815f5c610b3facc204f26ba94e87a9eb49b0d83de3d5fc1eee2402d91b/orjson-3.11.9-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:231742b4a11dad8d5380a435962c57e91b7c37b79be858f4ef1c0df1a259897e", size = 146178, upload-time = "2026-05-06T15:09:21.616Z" }, + { url = "https://files.pythonhosted.org/packages/c7/35/e744fd36c79b339d27beb06068b5a08a8882ef5418804d0ce545a31f718d/orjson-3.11.9-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:34fd2317602587321faab75ab76c623a0117e80841a6413654f04e47f339a8fb", size = 133068, upload-time = "2026-05-06T15:09:23.228Z" }, + { url = "https://files.pythonhosted.org/packages/2a/56/d54152b67b63a0b3e556cfc549d6ce84f74d7f425ddeadc6c8a74d913da7/orjson-3.11.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:71f3db16e69b667b132e0f305a833d5497da302d801508cbb051ed9a9819da47", size = 134217, upload-time = "2026-05-06T15:09:24.847Z" }, + { url = "https://files.pythonhosted.org/packages/0b/ee/66154baf69f71c7164a268a5e888908aec5a0819d13c81d5e2755a257758/orjson-3.11.9-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0b34789fa0da61cf7bef0546b09c738fb195331e017e477096d129e9105ab03d", size = 141917, upload-time = "2026-05-06T15:09:26.647Z" }, + { url = "https://files.pythonhosted.org/packages/09/d3/c5824260ca8b9d7ba82648d042a3f8f4815d18c15bb98a1f30edd1bb2d83/orjson-3.11.9-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:87e4d4ab280b0c87424d47695bec2182caf8cfc17879ea78dab76680194abc13", size = 415356, upload-time = "2026-05-06T15:09:28.252Z" }, + { url = "https://files.pythonhosted.org/packages/64/cb/509c2e816fe4df641d93dc92f6a89adc8df3ada8ebdee2bd44aba3264c3c/orjson-3.11.9-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:ace6c58523302d3b97b6ac5c38a5298a54b473762b6be82726b4265c41029f92", size = 148112, upload-time = "2026-05-06T15:09:29.783Z" }, + { url = "https://files.pythonhosted.org/packages/db/b5/3ceae56d2e4962979eedb023ba6a46a4bb65f333960379be0ca470686220/orjson-3.11.9-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:97d0d932803c1b164fde11cb542a9efcb1e0f63b184537cca65887147906ff48", size = 137112, upload-time = "2026-05-06T15:09:31.432Z" }, + { url = "https://files.pythonhosted.org/packages/d7/7a/81fa3f2c7bef79b04cf2ab7838e5ac74b1f12511ceab979759b0275d6bb4/orjson-3.11.9-cp310-cp310-win32.whl", hash = "sha256:b3afcf569c15577a9fe64627292daa3e6b3a70f4fb77a5df246a87ec21681b94", size = 131706, upload-time = "2026-05-06T15:09:32.707Z" }, + { url = "https://files.pythonhosted.org/packages/ae/d8/b64600f9083c7f151ad39717a5877fccbeb0ef6d7efcb55f971ce00b6bee/orjson-3.11.9-cp310-cp310-win_amd64.whl", hash = "sha256:8697ab6a080a5c46edaad50e2bc5bd8c7ca5c66442d24104fa44ec74910a8244", size = 127282, upload-time = "2026-05-06T15:09:33.955Z" }, + { url = "https://files.pythonhosted.org/packages/1e/51/3fb9e65ae76ee97bd611869a503fa3fc0a6e81dd8b737cf3003f682df7ff/orjson-3.11.9-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:f01c4818b3fc9b0da8e096722a84318071eaa118df35f6ed2344da0e73a5444f", size = 228522, upload-time = "2026-05-06T15:09:35.362Z" }, + { url = "https://files.pythonhosted.org/packages/16/fa/9d54b07cb3f3b0bfd57841478e42d7a0ece4a9f49f9907eecf5a45461687/orjson-3.11.9-cp311-cp311-macosx_15_0_arm64.whl", hash = "sha256:3ebca4179031ee716ed076ffadc29428e900512f6fccee8614c9983157fcf19c", size = 128463, upload-time = "2026-05-06T15:09:37.063Z" }, + { url = "https://files.pythonhosted.org/packages/88/b1/6ceafc2eefd0a553e3be77ce6c49d107e772485d9568629376171c50e634/orjson-3.11.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48ee05097750de0ff69ed5b7bbcf0732182fd57a24043dcc2a1da780a5ead3a5", size = 132306, upload-time = "2026-05-06T15:09:38.299Z" }, + { url = "https://files.pythonhosted.org/packages/ea/76/f11311285324a40aab1e3031385c50b635a7cd0734fdaf60c7e89a696f60/orjson-3.11.9-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a6082706765a95a6680d812e1daf1c0cfe8adec7831b3ff3b625693f3b461b1c", size = 127988, upload-time = "2026-05-06T15:09:39.597Z" }, + { url = "https://files.pythonhosted.org/packages/9e/85/0ef63bcf1337f44031ce9b91b1919563f62a37527b3ea4368bb15a22e5d7/orjson-3.11.9-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:277fefe9d76ee17eb14debf399e3533d4d63b5f677a4d3719eb763536af1f4bd", size = 135188, upload-time = "2026-05-06T15:09:40.957Z" }, + { url = "https://files.pythonhosted.org/packages/05/94/b0d27090ea8a2095db3c2bd1b1c96f96f19bbb494d7fef33130e846e613d/orjson-3.11.9-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:03db380e3780fa0015ed776a90f20e8e20bb11dde13b216ce19e5718e3dfba62", size = 145937, upload-time = "2026-05-06T15:09:42.249Z" }, + { url = "https://files.pythonhosted.org/packages/09/eb/75d50c29c05b8054013e221e598820a365c8e64065312e75e202ed880709/orjson-3.11.9-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33d7d766701847dc6729846362dc27895d2f2d2251264f9d10e7cb9878194877", size = 132758, upload-time = "2026-05-06T15:09:43.945Z" }, + { url = "https://files.pythonhosted.org/packages/49/bd/360686f39348aa88827cb6fbf7dc606fd41c831a35235e1abf1db8e3a9e6/orjson-3.11.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:147302878da387104b66bb4a8b0227d1d487e976ce41a8501916161072ed87b1", size = 133971, upload-time = "2026-05-06T15:09:45.239Z" }, + { url = "https://files.pythonhosted.org/packages/0e/30/3178eb16f3221aeef068b6f1f1ebe05f656ea5c6dffe9f6c917329fe17a3/orjson-3.11.9-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3513550321f8c8c811a7c3297b8a630e82dc08e4c10216d07703c997776236cd", size = 141685, upload-time = "2026-05-06T15:09:46.858Z" }, + { url = "https://files.pythonhosted.org/packages/5f/f1/ff2f19ed0225f9680fafa42febca3570dd59444ebf190980738d376214c2/orjson-3.11.9-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:c5d001196b89fa9cf0a4ab79766cd835b991a166e4b621ba95089edc50c429ff", size = 415167, upload-time = "2026-05-06T15:09:48.312Z" }, + { url = "https://files.pythonhosted.org/packages/9b/61/863bddf0da6e9e586765414debd54b4e58db05f560902b6d00658cb88636/orjson-3.11.9-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:16969c9d369c98eb084889c6e4d2d39b77c7eb38ceccf8da2a9fff62ae908980", size = 147913, upload-time = "2026-05-06T15:09:49.733Z" }, + { url = "https://files.pythonhosted.org/packages/b6/8a/4081492586d75b073d60c5271a8d0f05a0955cabf1e34c8473f6fcd84235/orjson-3.11.9-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:63e0efbc991250c0b3143488fa57d95affcabbfc63c99c48d625dd37779aafe2", size = 136959, upload-time = "2026-05-06T15:09:51.311Z" }, + { url = "https://files.pythonhosted.org/packages/0d/bd/70b6ab193594d7abb875320c0a7c8335e846f28968c432c31042409c3c8d/orjson-3.11.9-cp311-cp311-win32.whl", hash = "sha256:14ed654580c1ed2bc217352ec82f91b047aef82951aa71c7f64e0dcb03c0e180", size = 131533, upload-time = "2026-05-06T15:09:52.637Z" }, + { url = "https://files.pythonhosted.org/packages/3f/17/1a1a228183d62d1b77e2c30d210f47dd4768b310ebe1607c63e3c0e3a71e/orjson-3.11.9-cp311-cp311-win_amd64.whl", hash = "sha256:57ea77fb70a448ce87d18fca050193202a3da5e54598f6501ca5476fb66cfe02", size = 127106, upload-time = "2026-05-06T15:09:54.204Z" }, + { url = "https://files.pythonhosted.org/packages/b8/95/285de5fa296d09681ee9c546cd4a8aeb773b701cf343dc125994f4d52953/orjson-3.11.9-cp311-cp311-win_arm64.whl", hash = "sha256:19b72ed11572a2ee51a67a903afbe5af504f84ed6f529c0fe44b0ab3fb5cc697", size = 126848, upload-time = "2026-05-06T15:09:55.551Z" }, + { url = "https://files.pythonhosted.org/packages/16/6d/11867a3ffa3a3608d84a4de51ef4dd0896d6b5cc9132fbe1daf593e677bc/orjson-3.11.9-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9ef6fe90aadef185c7b128859f40beb24720b4ecea95379fc9000931179c3a49", size = 228515, upload-time = "2026-05-06T15:09:57.265Z" }, + { url = "https://files.pythonhosted.org/packages/24/75/05912954c8b288f34fcf5cd4b9b071cb4f6e77b9961e175e56ebb258089f/orjson-3.11.9-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:e5c9b8f28e726e97d97696c826bc7bea5d71cecd63576dba92924a32c1961291", size = 128409, upload-time = "2026-05-06T15:09:59.063Z" }, + { url = "https://files.pythonhosted.org/packages/ab/86/1c3a47df3bc8191ea9ac51603bbb872a95167a364320c269f2557911f406/orjson-3.11.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26a473dbb4162108b27901492546f83c76fdcea3d0eadff00ae7a07e18dcce09", size = 132106, upload-time = "2026-05-06T15:10:00.798Z" }, + { url = "https://files.pythonhosted.org/packages/d7/cf/b33b5f3e695ae7d63feef9d915c37cc3b8f465493dcd4f8e0b4c697a2366/orjson-3.11.9-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:011382e2a60fda9d46f1cdee31068cfc52ffe952b587d683ec0463002802a0f4", size = 127864, upload-time = "2026-05-06T15:10:02.15Z" }, + { url = "https://files.pythonhosted.org/packages/31/6a/6cf69385a58208024fcb8c014e2141b8ce838aba6492b589f8acfff97fab/orjson-3.11.9-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c2d3dc759490128c5c1711a53eeaa8ee1d437fd0038ffd2b6008abf46db3f882", size = 135213, upload-time = "2026-05-06T15:10:03.515Z" }, + { url = "https://files.pythonhosted.org/packages/e8/f8/0b1bd3e8f2efcdd376af5c8cfd79eaf13f018080c0089c80ebd724e3c7fb/orjson-3.11.9-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d8ea516b3726d190e1b4297e6f4e7a8650347ae053868a18163b4dd3641d1fff", size = 145994, upload-time = "2026-05-06T15:10:05.083Z" }, + { url = "https://files.pythonhosted.org/packages/f3/59/dab79f61044c529d2c81aecdc589b1f833a1c8dec11ba3b1c2498a02ca7e/orjson-3.11.9-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:380cdce7ba24989af81d0a7013d0aaec5d0e2a21734c0e2681b1bc4f141957fe", size = 132744, upload-time = "2026-05-06T15:10:06.853Z" }, + { url = "https://files.pythonhosted.org/packages/0e/a4/82b7a2fe5d8a67a59ed831b24d59a3d46ea7d207b66e1602d376541d94a6/orjson-3.11.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be4fa4f0af7fa18951f7ab3fc2148e223af211bf03f59e1c6034ec3f97f21d61", size = 134014, upload-time = "2026-05-06T15:10:08.213Z" }, + { url = "https://files.pythonhosted.org/packages/50/c7/375e83a76851b73b2e39f3bcf0e5a19e2b89bad13e5bca97d0b293d27f24/orjson-3.11.9-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a8f5f8bc7ce7d59f08d9f99fa510c06496164a24cb5f3d34537dbd9ca30132e2", size = 141509, upload-time = "2026-05-06T15:10:09.595Z" }, + { url = "https://files.pythonhosted.org/packages/7f/7c/49d5d82a3d3097f641f094f552131f1e2723b0b8cb0fa2874ab65ecfffa6/orjson-3.11.9-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:4d7fde5501b944f83b3e665e1b31343ff6e154b15560a16b7130ea1e594a4206", size = 415127, upload-time = "2026-05-06T15:10:11.049Z" }, + { url = "https://files.pythonhosted.org/packages/3a/dc/7446c538590d55f455647e5f3c61fc33f7108714e7afcffa6a2a033f8350/orjson-3.11.9-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:cde1a448023ba7d5bb4c01c5afb48894380b5e4956e0627266526587ef4e535f", size = 148025, upload-time = "2026-05-06T15:10:12.842Z" }, + { url = "https://files.pythonhosted.org/packages/df/e5/4d2d8af06f788329b4f78f8cc3679bb395392fcaa1e4d8d3c33e85308fa4/orjson-3.11.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:71e63adb0e1f1ed5d9e168f50a91ceb93ae6420731d222dc7da5c69409aa47aa", size = 136943, upload-time = "2026-05-06T15:10:14.405Z" }, + { url = "https://files.pythonhosted.org/packages/06/69/850264ccf6d80f6b174620d30a87f65c9b1490aba33fe6b62798e618cad3/orjson-3.11.9-cp312-cp312-win32.whl", hash = "sha256:2d057a602cdd19a0ad680417527c45b6961a095081c0f46fe0e03e304aac6470", size = 131606, upload-time = "2026-05-06T15:10:15.791Z" }, + { url = "https://files.pythonhosted.org/packages/b9/d5/973a43fc9c55e20f2051e9830997649f669be0cb3ca52192087c0143f118/orjson-3.11.9-cp312-cp312-win_amd64.whl", hash = "sha256:59e403b1cc5a676da8eaf31f6254801b7341b3e29efa85f92b48d272637e77be", size = 127101, upload-time = "2026-05-06T15:10:17.129Z" }, + { url = "https://files.pythonhosted.org/packages/fe/ae/495470f0e4a18f73fa10b7f6b84b464ec4cc5291c4e0c7c2a6c400bef006/orjson-3.11.9-cp312-cp312-win_arm64.whl", hash = "sha256:9af678d6488357948f1f84c6cd1c1d397c014e1ae2f98ae082a44eb48f602624", size = 126736, upload-time = "2026-05-06T15:10:18.645Z" }, + { url = "https://files.pythonhosted.org/packages/32/33/93fcc25907235c344ae73122f8a4e01d2d393ef062b4af7d2e2487a32c37/orjson-3.11.9-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:4bab1b2d6141fe7b32ae71dac905666ece4f94936efbfb13d55bb7739a3a6021", size = 228458, upload-time = "2026-05-06T15:10:20.079Z" }, + { url = "https://files.pythonhosted.org/packages/8f/27/b1e6dadb3c080313c03fdd8067b85e6a0460c7d8d6a1c3984ef77b904e4d/orjson-3.11.9-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:844417969855fc7a41be124aafe83dc424592a7f77cd4501900c67307122b92c", size = 128368, upload-time = "2026-05-06T15:10:21.549Z" }, + { url = "https://files.pythonhosted.org/packages/21/0f/c9ede0bf052f6b4051e64a7d4fa91b725cccf8321a6a786e86eb03519f00/orjson-3.11.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffe02797b5e9f3a9d8292ddcd289b474ad13e81ad83cd1891a240811f1d2cb81", size = 132070, upload-time = "2026-05-06T15:10:23.371Z" }, + { url = "https://files.pythonhosted.org/packages/fd/26/d398e28048dc18205bbe812f2c88cb9b40313db2470778e25964796458fe/orjson-3.11.9-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0e4eed3b200023042814d2fc8a5d2e880f13b52e1ed2485e83da4f3962f7dc1a", size = 127892, upload-time = "2026-05-06T15:10:24.714Z" }, + { url = "https://files.pythonhosted.org/packages/66/60/52b0054c4c700d5aa7fc5b7ca96917400d8f061307778578e67a10e25852/orjson-3.11.9-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8aff7da9952a5ad1cef8e68017724d96c7b9a66e99e91d6252e1b133d67a7b10", size = 135217, upload-time = "2026-05-06T15:10:26.084Z" }, + { url = "https://files.pythonhosted.org/packages/d5/97/1e3dc2b2a28b7b2528f403d2fc1d79ec5f39af3bc143ab65d3ec26426385/orjson-3.11.9-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d4e98d6f3b8afed8bc8cd9718ec0cdf46661826beefb53fe8eafb37f2bf0362", size = 145980, upload-time = "2026-05-06T15:10:28.062Z" }, + { url = "https://files.pythonhosted.org/packages/fc/39/31fbfe7850f2de32dee7e7e5c09f26d403ab01e440ac96001c6b01ad3c99/orjson-3.11.9-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3a81d52442a7c99b3662333235b3adf96a1715864658b35bb797212be7bddb97", size = 132738, upload-time = "2026-05-06T15:10:29.727Z" }, + { url = "https://files.pythonhosted.org/packages/a1/08/dca0082dd2a194acb93e5457e73455388e2e2ca464a2672449a9ddbb679d/orjson-3.11.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e39364e726a8fff737309aff059ff67d8a8c8d5b677be7bb49a8b3e84b7e218", size = 134033, upload-time = "2026-05-06T15:10:31.152Z" }, + { url = "https://files.pythonhosted.org/packages/11/d4/5bdb0626801230139987385554c5d4c42255218ac906525bf4347f22cd95/orjson-3.11.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4fd66214623f1b17501df9f0543bef0b833979ab5b6ded1e1d123222866aa8c9", size = 141492, upload-time = "2026-05-06T15:10:32.641Z" }, + { url = "https://files.pythonhosted.org/packages/fa/88/a21fb53b3ede6703aede6dce4710ed4111e5b201cfa6bbff5e544f9d47d7/orjson-3.11.9-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:8ecc30f10465fa1e0ce13fd01d9e22c316e5053a719a8d915d4545a09a5ff677", size = 415087, upload-time = "2026-05-06T15:10:34.438Z" }, + { url = "https://files.pythonhosted.org/packages/3d/57/1b30daf70f0d8180e9a73cefbfbdd99e4bf19eb020466502b01fba7e0e50/orjson-3.11.9-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:97db4c94a7db398a5bd636273324f0b3fd58b350bbbac8bb380ceb825a9b40f4", size = 148031, upload-time = "2026-05-06T15:10:36.358Z" }, + { url = "https://files.pythonhosted.org/packages/04/83/45fbb6d962e260807f99441db9613cee868ceda4baceda59b3720a563f97/orjson-3.11.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9f78cf8fec5bd627f4082b8dfeac7871b43d7f3274904492a43dab39f18a19a0", size = 136915, upload-time = "2026-05-06T15:10:38.013Z" }, + { url = "https://files.pythonhosted.org/packages/5f/cc/2d10025f9056d376e4127ec05a5808b218d46f035fdc08178a5411b34250/orjson-3.11.9-cp313-cp313-win32.whl", hash = "sha256:d4087e5c0209a0a8efe4de3303c234b9c44d1174161dcd851e8eea07c7560b32", size = 131613, upload-time = "2026-05-06T15:10:39.569Z" }, + { url = "https://files.pythonhosted.org/packages/67/bd/2775ff28bfe883b9aa1ff348300542eb2ef1ee18d8ae0e3a49846817a865/orjson-3.11.9-cp313-cp313-win_amd64.whl", hash = "sha256:051b102c93b4f634e89f3866b07b9a9a98915ada541f4ec30f177067b2694979", size = 127086, upload-time = "2026-05-06T15:10:41.262Z" }, + { url = "https://files.pythonhosted.org/packages/91/2b/d26799e580939e32a7da9a39531bc9e58e15ca32ffaa6a8cb3e9bb0d22cd/orjson-3.11.9-cp313-cp313-win_arm64.whl", hash = "sha256:cce9127885941bd28f080cecf1f1d288336b7e0d812c345b08be88b572796254", size = 126696, upload-time = "2026-05-06T15:10:42.651Z" }, + { url = "https://files.pythonhosted.org/packages/8e/eb/5da01e356015aee6ecfa1187ced87aef51364e306f5e695dd52719bf0e78/orjson-3.11.9-cp314-cp314-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:b6ef1979adc4bc243523f1a2ba91418030a8e29b0a99cbe7e0e2d6807d4dce6e", size = 228465, upload-time = "2026-05-06T15:10:44.097Z" }, + { url = "https://files.pythonhosted.org/packages/64/62/3e0e0c14c957133bcd855395c62b55ed4e3b0af23ffea11b032cb1dcbdb1/orjson-3.11.9-cp314-cp314-macosx_15_0_arm64.whl", hash = "sha256:f36b7f32c7c0db4a719f1fc5824db4a9c6f8bd1a354debb91faf26ebf3a4c71e", size = 128364, upload-time = "2026-05-06T15:10:45.839Z" }, + { url = "https://files.pythonhosted.org/packages/5a/5a/07d8aa117211a8ed7630bda80c8c0b14d04e0f8dcf99bcf49656e4a710eb/orjson-3.11.9-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08f4d8ebb44925c794e535b2bebc507cebf32209df81de22ae285fb0d8d66de0", size = 132063, upload-time = "2026-05-06T15:10:47.267Z" }, + { url = "https://files.pythonhosted.org/packages/d6/ec/4acaf21483e18aa945be74a474c74b434f284b549f275a0a39b9f98956e9/orjson-3.11.9-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6cc7923789694fd58f001cbcac7e47abc13af4d560ebbfcf3b41a8b1a0748124", size = 122356, upload-time = "2026-05-06T15:10:48.765Z" }, + { url = "https://files.pythonhosted.org/packages/13/d8/5f0555e7638801323b7a75850f92e7dfa891bc84fe27a1ba4449170d1200/orjson-3.11.9-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea5c46eb2d3af39e806b986f4b09d5c2706a1f5afde3cbf7544ce6616127173c", size = 129592, upload-time = "2026-05-06T15:10:50.13Z" }, + { url = "https://files.pythonhosted.org/packages/b6/30/ed9860412a3603ceb3c5955bfd72d28b9d0e7ba6ed81add14f83d7114236/orjson-3.11.9-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f5d89a2ed90731df3be64bab0aa44f78bff39fdc9d71c291f4a8023aa46425b7", size = 140491, upload-time = "2026-05-06T15:10:51.582Z" }, + { url = "https://files.pythonhosted.org/packages/d0/17/adc514dea7ac7c505527febf884934b815d34f0c7b8693c1a8b39c5c4a57/orjson-3.11.9-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:25e4aed0312d292c09f61af25bba34e0b2c88546041472b09088c39a4d828af1", size = 127309, upload-time = "2026-05-06T15:10:53.329Z" }, + { url = "https://files.pythonhosted.org/packages/76/3e/c0b690253f0b82d86e99949af13533363acfb5432ecb5d53dd5b3bce9c34/orjson-3.11.9-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aaea64f3f467d22e70eeed68bdccb3bc4f83f650446c4a03c59f2cba28a108db", size = 134030, upload-time = "2026-05-06T15:10:54.988Z" }, + { url = "https://files.pythonhosted.org/packages/c1/7a/bc82a0bb25e9faaf92dc4d9ef002732efc09737706af83e346788641d4a7/orjson-3.11.9-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a028425d1b440c5d92a6be1e1a020739dfe67ea87d96c6dbe828c1b30041728b", size = 141482, upload-time = "2026-05-06T15:10:56.663Z" }, + { url = "https://files.pythonhosted.org/packages/01/55/e69188b939f77d5d32a9833745ace31ea5ccae3ab613a1ec185d3cd2c4fb/orjson-3.11.9-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:5b192c6cf397e4455b11523c5cf2b18ed084c1bbd61b6c0926344d2129481972", size = 415178, upload-time = "2026-05-06T15:10:58.446Z" }, + { url = "https://files.pythonhosted.org/packages/2e/1a/b8a5a7ac527e80b9cb11d51e3f6689b709279183264b9ec5c7bc680bb8b5/orjson-3.11.9-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:ea407d4ccf5891d667d045fecae97a7a1e5e87b3b97f97ae1803c2e741130be0", size = 148089, upload-time = "2026-05-06T15:11:00.441Z" }, + { url = "https://files.pythonhosted.org/packages/97/4e/00503f64204bf859b37213a63927028f30fb6268cd8677fb0a5ad48155e1/orjson-3.11.9-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5f63aaf97afd9f6dec5b1a68e1b8da12bfccb4cb9a9a65c3e0b6c847849e7586", size = 136921, upload-time = "2026-05-06T15:11:02.176Z" }, + { url = "https://files.pythonhosted.org/packages/0d/ba/a23b82a0a8d0ed7bed4e5f5035aae751cad4ff6a1e8d2ecd14d8860f5929/orjson-3.11.9-cp314-cp314-win32.whl", hash = "sha256:e30ab17845bb9fa54ccf67fa4f9f5282652d54faa6d17452f47d0f369d038673", size = 131638, upload-time = "2026-05-06T15:11:03.696Z" }, + { url = "https://files.pythonhosted.org/packages/f3/c3/0c6798456bade745c75c452342dabacce5798196483e77e643be1f53877d/orjson-3.11.9-cp314-cp314-win_amd64.whl", hash = "sha256:32ef5f4283a3be81913947d19608eacb7c6608026851123790cd9cc8982af34b", size = 127078, upload-time = "2026-05-06T15:11:05.123Z" }, + { url = "https://files.pythonhosted.org/packages/16/21/5a3f1e8913103b703a436a5664238e5b965ec392b555fe68943ea3691e6b/orjson-3.11.9-cp314-cp314-win_arm64.whl", hash = "sha256:eebdbdeef0094e4f5aefa20dcd4eb2368ab5e7a3b4edea27f1e7b2892e009cf9", size = 126687, upload-time = "2026-05-06T15:11:06.602Z" }, +] + [[package]] name = "ormsgpack" version = "1.12.2" @@ -6367,8 +6410,8 @@ name = "pdfminer-six" version = "20251230" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "charset-normalizer", marker = "python_full_version < '3.14'" }, - { name = "cryptography", marker = "python_full_version < '3.14'" }, + { name = "charset-normalizer" }, + { name = "cryptography" }, ] sdist = { url = "https://files.pythonhosted.org/packages/46/9a/d79d8fa6d47a0338846bb558b39b9963b8eb2dfedec61867c138c1b17eeb/pdfminer_six-20251230.tar.gz", hash = "sha256:e8f68a14c57e00c2d7276d26519ea64be1b48f91db1cdc776faa80528ca06c1e", size = 8511285, upload-time = "2025-12-30T15:49:13.104Z" } wheels = [ @@ -6380,9 +6423,9 @@ name = "pdfplumber" version = "0.11.9" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pdfminer-six", marker = "python_full_version < '3.14'" }, - { name = "pillow", marker = "python_full_version < '3.14'" }, - { name = "pypdfium2", marker = "python_full_version < '3.14'" }, + { name = "pdfminer-six" }, + { name = "pillow" }, + { name = "pypdfium2" }, ] sdist = { url = "https://files.pythonhosted.org/packages/38/37/9ca3519e92a8434eb93be570b131476cc0a4e840bb39c62ddb7813a39d53/pdfplumber-0.11.9.tar.gz", hash = "sha256:481224b678b2bbdbf376e2c39bf914144eef7c3d301b4a28eebf0f7f6109d6dc", size = 102768, upload-time = "2026-01-05T08:10:29.072Z" } wheels = [ @@ -6572,7 +6615,7 @@ name = "portalocker" version = "2.7.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pywin32", marker = "python_full_version < '3.14' and sys_platform == 'win32'" }, + { name = "pywin32", marker = "sys_platform == 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/1f/f8/969e6f280201b40b31bcb62843c619f343dcc351dff83a5891530c9dd60e/portalocker-2.7.0.tar.gz", hash = "sha256:032e81d534a88ec1736d03f780ba073f047a06c478b06e2937486f334e955c51", size = 20183, upload-time = "2023-01-18T23:36:14.436Z" } wheels = [ @@ -6584,11 +6627,11 @@ name = "posthog" version = "5.4.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "backoff", marker = "python_full_version < '3.14'" }, - { name = "distro", marker = "python_full_version < '3.14'" }, - { name = "python-dateutil", marker = "python_full_version < '3.14'" }, - { name = "requests", marker = "python_full_version < '3.14'" }, - { name = "six", marker = "python_full_version < '3.14'" }, + { name = "backoff" }, + { name = "distro" }, + { name = "python-dateutil" }, + { name = "requests" }, + { name = "six" }, ] sdist = { url = "https://files.pythonhosted.org/packages/48/20/60ae67bb9d82f00427946218d49e2e7e80fb41c15dc5019482289ec9ce8d/posthog-5.4.0.tar.gz", hash = "sha256:701669261b8d07cdde0276e5bc096b87f9e200e3b9589c5ebff14df658c5893c", size = 88076, upload-time = "2025-06-20T23:19:23.485Z" } wheels = [ @@ -6625,128 +6668,142 @@ wheels = [ [[package]] name = "propcache" -version = "0.4.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz", hash = "sha256:f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d", size = 46442, upload-time = "2025-10-08T19:49:02.291Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3c/0e/934b541323035566a9af292dba85a195f7b78179114f2c6ebb24551118a9/propcache-0.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c2d1fa3201efaf55d730400d945b5b3ab6e672e100ba0f9a409d950ab25d7db", size = 79534, upload-time = "2025-10-08T19:46:02.083Z" }, - { url = "https://files.pythonhosted.org/packages/a1/6b/db0d03d96726d995dc7171286c6ba9d8d14251f37433890f88368951a44e/propcache-0.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1eb2994229cc8ce7fe9b3db88f5465f5fd8651672840b2e426b88cdb1a30aac8", size = 45526, upload-time = "2025-10-08T19:46:03.884Z" }, - { url = "https://files.pythonhosted.org/packages/e4/c3/82728404aea669e1600f304f2609cde9e665c18df5a11cdd57ed73c1dceb/propcache-0.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:66c1f011f45a3b33d7bcb22daed4b29c0c9e2224758b6be00686731e1b46f925", size = 47263, upload-time = "2025-10-08T19:46:05.405Z" }, - { url = "https://files.pythonhosted.org/packages/df/1b/39313ddad2bf9187a1432654c38249bab4562ef535ef07f5eb6eb04d0b1b/propcache-0.4.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9a52009f2adffe195d0b605c25ec929d26b36ef986ba85244891dee3b294df21", size = 201012, upload-time = "2025-10-08T19:46:07.165Z" }, - { url = "https://files.pythonhosted.org/packages/5b/01/f1d0b57d136f294a142acf97f4ed58c8e5b974c21e543000968357115011/propcache-0.4.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5d4e2366a9c7b837555cf02fb9be2e3167d333aff716332ef1b7c3a142ec40c5", size = 209491, upload-time = "2025-10-08T19:46:08.909Z" }, - { url = "https://files.pythonhosted.org/packages/a1/c8/038d909c61c5bb039070b3fb02ad5cccdb1dde0d714792e251cdb17c9c05/propcache-0.4.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9d2b6caef873b4f09e26ea7e33d65f42b944837563a47a94719cc3544319a0db", size = 215319, upload-time = "2025-10-08T19:46:10.7Z" }, - { url = "https://files.pythonhosted.org/packages/08/57/8c87e93142b2c1fa2408e45695205a7ba05fb5db458c0bf5c06ba0e09ea6/propcache-0.4.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2b16ec437a8c8a965ecf95739448dd938b5c7f56e67ea009f4300d8df05f32b7", size = 196856, upload-time = "2025-10-08T19:46:12.003Z" }, - { url = "https://files.pythonhosted.org/packages/42/df/5615fec76aa561987a534759b3686008a288e73107faa49a8ae5795a9f7a/propcache-0.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:296f4c8ed03ca7476813fe666c9ea97869a8d7aec972618671b33a38a5182ef4", size = 193241, upload-time = "2025-10-08T19:46:13.495Z" }, - { url = "https://files.pythonhosted.org/packages/d5/21/62949eb3a7a54afe8327011c90aca7e03547787a88fb8bd9726806482fea/propcache-0.4.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:1f0978529a418ebd1f49dad413a2b68af33f85d5c5ca5c6ca2a3bed375a7ac60", size = 190552, upload-time = "2025-10-08T19:46:14.938Z" }, - { url = "https://files.pythonhosted.org/packages/30/ee/ab4d727dd70806e5b4de96a798ae7ac6e4d42516f030ee60522474b6b332/propcache-0.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fd138803047fb4c062b1c1dd95462f5209456bfab55c734458f15d11da288f8f", size = 200113, upload-time = "2025-10-08T19:46:16.695Z" }, - { url = "https://files.pythonhosted.org/packages/8a/0b/38b46208e6711b016aa8966a3ac793eee0d05c7159d8342aa27fc0bc365e/propcache-0.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8c9b3cbe4584636d72ff556d9036e0c9317fa27b3ac1f0f558e7e84d1c9c5900", size = 200778, upload-time = "2025-10-08T19:46:18.023Z" }, - { url = "https://files.pythonhosted.org/packages/cf/81/5abec54355ed344476bee711e9f04815d4b00a311ab0535599204eecc257/propcache-0.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f93243fdc5657247533273ac4f86ae106cc6445a0efacb9a1bfe982fcfefd90c", size = 193047, upload-time = "2025-10-08T19:46:19.449Z" }, - { url = "https://files.pythonhosted.org/packages/ec/b6/1f237c04e32063cb034acd5f6ef34ef3a394f75502e72703545631ab1ef6/propcache-0.4.1-cp310-cp310-win32.whl", hash = "sha256:a0ee98db9c5f80785b266eb805016e36058ac72c51a064040f2bc43b61101cdb", size = 38093, upload-time = "2025-10-08T19:46:20.643Z" }, - { url = "https://files.pythonhosted.org/packages/a6/67/354aac4e0603a15f76439caf0427781bcd6797f370377f75a642133bc954/propcache-0.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:1cdb7988c4e5ac7f6d175a28a9aa0c94cb6f2ebe52756a3c0cda98d2809a9e37", size = 41638, upload-time = "2025-10-08T19:46:21.935Z" }, - { url = "https://files.pythonhosted.org/packages/e0/e1/74e55b9fd1a4c209ff1a9a824bf6c8b3d1fc5a1ac3eabe23462637466785/propcache-0.4.1-cp310-cp310-win_arm64.whl", hash = "sha256:d82ad62b19645419fe79dd63b3f9253e15b30e955c0170e5cebc350c1844e581", size = 38229, upload-time = "2025-10-08T19:46:23.368Z" }, - { url = "https://files.pythonhosted.org/packages/8c/d4/4e2c9aaf7ac2242b9358f98dccd8f90f2605402f5afeff6c578682c2c491/propcache-0.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:60a8fda9644b7dfd5dece8c61d8a85e271cb958075bfc4e01083c148b61a7caf", size = 80208, upload-time = "2025-10-08T19:46:24.597Z" }, - { url = "https://files.pythonhosted.org/packages/c2/21/d7b68e911f9c8e18e4ae43bdbc1e1e9bbd971f8866eb81608947b6f585ff/propcache-0.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c30b53e7e6bda1d547cabb47c825f3843a0a1a42b0496087bb58d8fedf9f41b5", size = 45777, upload-time = "2025-10-08T19:46:25.733Z" }, - { url = "https://files.pythonhosted.org/packages/d3/1d/11605e99ac8ea9435651ee71ab4cb4bf03f0949586246476a25aadfec54a/propcache-0.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6918ecbd897443087a3b7cd978d56546a812517dcaaca51b49526720571fa93e", size = 47647, upload-time = "2025-10-08T19:46:27.304Z" }, - { url = "https://files.pythonhosted.org/packages/58/1a/3c62c127a8466c9c843bccb503d40a273e5cc69838805f322e2826509e0d/propcache-0.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3d902a36df4e5989763425a8ab9e98cd8ad5c52c823b34ee7ef307fd50582566", size = 214929, upload-time = "2025-10-08T19:46:28.62Z" }, - { url = "https://files.pythonhosted.org/packages/56/b9/8fa98f850960b367c4b8fe0592e7fc341daa7a9462e925228f10a60cf74f/propcache-0.4.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a9695397f85973bb40427dedddf70d8dc4a44b22f1650dd4af9eedf443d45165", size = 221778, upload-time = "2025-10-08T19:46:30.358Z" }, - { url = "https://files.pythonhosted.org/packages/46/a6/0ab4f660eb59649d14b3d3d65c439421cf2f87fe5dd68591cbe3c1e78a89/propcache-0.4.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2bb07ffd7eaad486576430c89f9b215f9e4be68c4866a96e97db9e97fead85dc", size = 228144, upload-time = "2025-10-08T19:46:32.607Z" }, - { url = "https://files.pythonhosted.org/packages/52/6a/57f43e054fb3d3a56ac9fc532bc684fc6169a26c75c353e65425b3e56eef/propcache-0.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fd6f30fdcf9ae2a70abd34da54f18da086160e4d7d9251f81f3da0ff84fc5a48", size = 210030, upload-time = "2025-10-08T19:46:33.969Z" }, - { url = "https://files.pythonhosted.org/packages/40/e2/27e6feebb5f6b8408fa29f5efbb765cd54c153ac77314d27e457a3e993b7/propcache-0.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fc38cba02d1acba4e2869eef1a57a43dfbd3d49a59bf90dda7444ec2be6a5570", size = 208252, upload-time = "2025-10-08T19:46:35.309Z" }, - { url = "https://files.pythonhosted.org/packages/9e/f8/91c27b22ccda1dbc7967f921c42825564fa5336a01ecd72eb78a9f4f53c2/propcache-0.4.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:67fad6162281e80e882fb3ec355398cf72864a54069d060321f6cd0ade95fe85", size = 202064, upload-time = "2025-10-08T19:46:36.993Z" }, - { url = "https://files.pythonhosted.org/packages/f2/26/7f00bd6bd1adba5aafe5f4a66390f243acab58eab24ff1a08bebb2ef9d40/propcache-0.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f10207adf04d08bec185bae14d9606a1444715bc99180f9331c9c02093e1959e", size = 212429, upload-time = "2025-10-08T19:46:38.398Z" }, - { url = "https://files.pythonhosted.org/packages/84/89/fd108ba7815c1117ddca79c228f3f8a15fc82a73bca8b142eb5de13b2785/propcache-0.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e9b0d8d0845bbc4cfcdcbcdbf5086886bc8157aa963c31c777ceff7846c77757", size = 216727, upload-time = "2025-10-08T19:46:39.732Z" }, - { url = "https://files.pythonhosted.org/packages/79/37/3ec3f7e3173e73f1d600495d8b545b53802cbf35506e5732dd8578db3724/propcache-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:981333cb2f4c1896a12f4ab92a9cc8f09ea664e9b7dbdc4eff74627af3a11c0f", size = 205097, upload-time = "2025-10-08T19:46:41.025Z" }, - { url = "https://files.pythonhosted.org/packages/61/b0/b2631c19793f869d35f47d5a3a56fb19e9160d3c119f15ac7344fc3ccae7/propcache-0.4.1-cp311-cp311-win32.whl", hash = "sha256:f1d2f90aeec838a52f1c1a32fe9a619fefd5e411721a9117fbf82aea638fe8a1", size = 38084, upload-time = "2025-10-08T19:46:42.693Z" }, - { url = "https://files.pythonhosted.org/packages/f4/78/6cce448e2098e9f3bfc91bb877f06aa24b6ccace872e39c53b2f707c4648/propcache-0.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:364426a62660f3f699949ac8c621aad6977be7126c5807ce48c0aeb8e7333ea6", size = 41637, upload-time = "2025-10-08T19:46:43.778Z" }, - { url = "https://files.pythonhosted.org/packages/9c/e9/754f180cccd7f51a39913782c74717c581b9cc8177ad0e949f4d51812383/propcache-0.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:e53f3a38d3510c11953f3e6a33f205c6d1b001129f972805ca9b42fc308bc239", size = 38064, upload-time = "2025-10-08T19:46:44.872Z" }, - { url = "https://files.pythonhosted.org/packages/a2/0f/f17b1b2b221d5ca28b4b876e8bb046ac40466513960646bda8e1853cdfa2/propcache-0.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e153e9cd40cc8945138822807139367f256f89c6810c2634a4f6902b52d3b4e2", size = 80061, upload-time = "2025-10-08T19:46:46.075Z" }, - { url = "https://files.pythonhosted.org/packages/76/47/8ccf75935f51448ba9a16a71b783eb7ef6b9ee60f5d14c7f8a8a79fbeed7/propcache-0.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cd547953428f7abb73c5ad82cbb32109566204260d98e41e5dfdc682eb7f8403", size = 46037, upload-time = "2025-10-08T19:46:47.23Z" }, - { url = "https://files.pythonhosted.org/packages/0a/b6/5c9a0e42df4d00bfb4a3cbbe5cf9f54260300c88a0e9af1f47ca5ce17ac0/propcache-0.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f048da1b4f243fc44f205dfd320933a951b8d89e0afd4c7cacc762a8b9165207", size = 47324, upload-time = "2025-10-08T19:46:48.384Z" }, - { url = "https://files.pythonhosted.org/packages/9e/d3/6c7ee328b39a81ee877c962469f1e795f9db87f925251efeb0545e0020d0/propcache-0.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ec17c65562a827bba85e3872ead335f95405ea1674860d96483a02f5c698fa72", size = 225505, upload-time = "2025-10-08T19:46:50.055Z" }, - { url = "https://files.pythonhosted.org/packages/01/5d/1c53f4563490b1d06a684742cc6076ef944bc6457df6051b7d1a877c057b/propcache-0.4.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:405aac25c6394ef275dee4c709be43745d36674b223ba4eb7144bf4d691b7367", size = 230242, upload-time = "2025-10-08T19:46:51.815Z" }, - { url = "https://files.pythonhosted.org/packages/20/e1/ce4620633b0e2422207c3cb774a0ee61cac13abc6217763a7b9e2e3f4a12/propcache-0.4.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0013cb6f8dde4b2a2f66903b8ba740bdfe378c943c4377a200551ceb27f379e4", size = 238474, upload-time = "2025-10-08T19:46:53.208Z" }, - { url = "https://files.pythonhosted.org/packages/46/4b/3aae6835b8e5f44ea6a68348ad90f78134047b503765087be2f9912140ea/propcache-0.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15932ab57837c3368b024473a525e25d316d8353016e7cc0e5ba9eb343fbb1cf", size = 221575, upload-time = "2025-10-08T19:46:54.511Z" }, - { url = "https://files.pythonhosted.org/packages/6e/a5/8a5e8678bcc9d3a1a15b9a29165640d64762d424a16af543f00629c87338/propcache-0.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:031dce78b9dc099f4c29785d9cf5577a3faf9ebf74ecbd3c856a7b92768c3df3", size = 216736, upload-time = "2025-10-08T19:46:56.212Z" }, - { url = "https://files.pythonhosted.org/packages/f1/63/b7b215eddeac83ca1c6b934f89d09a625aa9ee4ba158338854c87210cc36/propcache-0.4.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ab08df6c9a035bee56e31af99be621526bd237bea9f32def431c656b29e41778", size = 213019, upload-time = "2025-10-08T19:46:57.595Z" }, - { url = "https://files.pythonhosted.org/packages/57/74/f580099a58c8af587cac7ba19ee7cb418506342fbbe2d4a4401661cca886/propcache-0.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4d7af63f9f93fe593afbf104c21b3b15868efb2c21d07d8732c0c4287e66b6a6", size = 220376, upload-time = "2025-10-08T19:46:59.067Z" }, - { url = "https://files.pythonhosted.org/packages/c4/ee/542f1313aff7eaf19c2bb758c5d0560d2683dac001a1c96d0774af799843/propcache-0.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cfc27c945f422e8b5071b6e93169679e4eb5bf73bbcbf1ba3ae3a83d2f78ebd9", size = 226988, upload-time = "2025-10-08T19:47:00.544Z" }, - { url = "https://files.pythonhosted.org/packages/8f/18/9c6b015dd9c6930f6ce2229e1f02fb35298b847f2087ea2b436a5bfa7287/propcache-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:35c3277624a080cc6ec6f847cbbbb5b49affa3598c4535a0a4682a697aaa5c75", size = 215615, upload-time = "2025-10-08T19:47:01.968Z" }, - { url = "https://files.pythonhosted.org/packages/80/9e/e7b85720b98c45a45e1fca6a177024934dc9bc5f4d5dd04207f216fc33ed/propcache-0.4.1-cp312-cp312-win32.whl", hash = "sha256:671538c2262dadb5ba6395e26c1731e1d52534bfe9ae56d0b5573ce539266aa8", size = 38066, upload-time = "2025-10-08T19:47:03.503Z" }, - { url = "https://files.pythonhosted.org/packages/54/09/d19cff2a5aaac632ec8fc03737b223597b1e347416934c1b3a7df079784c/propcache-0.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:cb2d222e72399fcf5890d1d5cc1060857b9b236adff2792ff48ca2dfd46c81db", size = 41655, upload-time = "2025-10-08T19:47:04.973Z" }, - { url = "https://files.pythonhosted.org/packages/68/ab/6b5c191bb5de08036a8c697b265d4ca76148efb10fa162f14af14fb5f076/propcache-0.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:204483131fb222bdaaeeea9f9e6c6ed0cac32731f75dfc1d4a567fc1926477c1", size = 37789, upload-time = "2025-10-08T19:47:06.077Z" }, - { url = "https://files.pythonhosted.org/packages/bf/df/6d9c1b6ac12b003837dde8a10231a7344512186e87b36e855bef32241942/propcache-0.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:43eedf29202c08550aac1d14e0ee619b0430aaef78f85864c1a892294fbc28cf", size = 77750, upload-time = "2025-10-08T19:47:07.648Z" }, - { url = "https://files.pythonhosted.org/packages/8b/e8/677a0025e8a2acf07d3418a2e7ba529c9c33caf09d3c1f25513023c1db56/propcache-0.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d62cdfcfd89ccb8de04e0eda998535c406bf5e060ffd56be6c586cbcc05b3311", size = 44780, upload-time = "2025-10-08T19:47:08.851Z" }, - { url = "https://files.pythonhosted.org/packages/89/a4/92380f7ca60f99ebae761936bc48a72a639e8a47b29050615eef757cb2a7/propcache-0.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cae65ad55793da34db5f54e4029b89d3b9b9490d8abe1b4c7ab5d4b8ec7ebf74", size = 46308, upload-time = "2025-10-08T19:47:09.982Z" }, - { url = "https://files.pythonhosted.org/packages/2d/48/c5ac64dee5262044348d1d78a5f85dd1a57464a60d30daee946699963eb3/propcache-0.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:333ddb9031d2704a301ee3e506dc46b1fe5f294ec198ed6435ad5b6a085facfe", size = 208182, upload-time = "2025-10-08T19:47:11.319Z" }, - { url = "https://files.pythonhosted.org/packages/c6/0c/cd762dd011a9287389a6a3eb43aa30207bde253610cca06824aeabfe9653/propcache-0.4.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:fd0858c20f078a32cf55f7e81473d96dcf3b93fd2ccdb3d40fdf54b8573df3af", size = 211215, upload-time = "2025-10-08T19:47:13.146Z" }, - { url = "https://files.pythonhosted.org/packages/30/3e/49861e90233ba36890ae0ca4c660e95df565b2cd15d4a68556ab5865974e/propcache-0.4.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:678ae89ebc632c5c204c794f8dab2837c5f159aeb59e6ed0539500400577298c", size = 218112, upload-time = "2025-10-08T19:47:14.913Z" }, - { url = "https://files.pythonhosted.org/packages/f1/8b/544bc867e24e1bd48f3118cecd3b05c694e160a168478fa28770f22fd094/propcache-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d472aeb4fbf9865e0c6d622d7f4d54a4e101a89715d8904282bb5f9a2f476c3f", size = 204442, upload-time = "2025-10-08T19:47:16.277Z" }, - { url = "https://files.pythonhosted.org/packages/50/a6/4282772fd016a76d3e5c0df58380a5ea64900afd836cec2c2f662d1b9bb3/propcache-0.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4d3df5fa7e36b3225954fba85589da77a0fe6a53e3976de39caf04a0db4c36f1", size = 199398, upload-time = "2025-10-08T19:47:17.962Z" }, - { url = "https://files.pythonhosted.org/packages/3e/ec/d8a7cd406ee1ddb705db2139f8a10a8a427100347bd698e7014351c7af09/propcache-0.4.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:ee17f18d2498f2673e432faaa71698032b0127ebf23ae5974eeaf806c279df24", size = 196920, upload-time = "2025-10-08T19:47:19.355Z" }, - { url = "https://files.pythonhosted.org/packages/f6/6c/f38ab64af3764f431e359f8baf9e0a21013e24329e8b85d2da32e8ed07ca/propcache-0.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:580e97762b950f993ae618e167e7be9256b8353c2dcd8b99ec100eb50f5286aa", size = 203748, upload-time = "2025-10-08T19:47:21.338Z" }, - { url = "https://files.pythonhosted.org/packages/d6/e3/fa846bd70f6534d647886621388f0a265254d30e3ce47e5c8e6e27dbf153/propcache-0.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:501d20b891688eb8e7aa903021f0b72d5a55db40ffaab27edefd1027caaafa61", size = 205877, upload-time = "2025-10-08T19:47:23.059Z" }, - { url = "https://files.pythonhosted.org/packages/e2/39/8163fc6f3133fea7b5f2827e8eba2029a0277ab2c5beee6c1db7b10fc23d/propcache-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a0bd56e5b100aef69bd8562b74b46254e7c8812918d3baa700c8a8009b0af66", size = 199437, upload-time = "2025-10-08T19:47:24.445Z" }, - { url = "https://files.pythonhosted.org/packages/93/89/caa9089970ca49c7c01662bd0eeedfe85494e863e8043565aeb6472ce8fe/propcache-0.4.1-cp313-cp313-win32.whl", hash = "sha256:bcc9aaa5d80322bc2fb24bb7accb4a30f81e90ab8d6ba187aec0744bc302ad81", size = 37586, upload-time = "2025-10-08T19:47:25.736Z" }, - { url = "https://files.pythonhosted.org/packages/f5/ab/f76ec3c3627c883215b5c8080debb4394ef5a7a29be811f786415fc1e6fd/propcache-0.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:381914df18634f5494334d201e98245c0596067504b9372d8cf93f4bb23e025e", size = 40790, upload-time = "2025-10-08T19:47:26.847Z" }, - { url = "https://files.pythonhosted.org/packages/59/1b/e71ae98235f8e2ba5004d8cb19765a74877abf189bc53fc0c80d799e56c3/propcache-0.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:8873eb4460fd55333ea49b7d189749ecf6e55bf85080f11b1c4530ed3034cba1", size = 37158, upload-time = "2025-10-08T19:47:27.961Z" }, - { url = "https://files.pythonhosted.org/packages/83/ce/a31bbdfc24ee0dcbba458c8175ed26089cf109a55bbe7b7640ed2470cfe9/propcache-0.4.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:92d1935ee1f8d7442da9c0c4fa7ac20d07e94064184811b685f5c4fada64553b", size = 81451, upload-time = "2025-10-08T19:47:29.445Z" }, - { url = "https://files.pythonhosted.org/packages/25/9c/442a45a470a68456e710d96cacd3573ef26a1d0a60067e6a7d5e655621ed/propcache-0.4.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:473c61b39e1460d386479b9b2f337da492042447c9b685f28be4f74d3529e566", size = 46374, upload-time = "2025-10-08T19:47:30.579Z" }, - { url = "https://files.pythonhosted.org/packages/f4/bf/b1d5e21dbc3b2e889ea4327044fb16312a736d97640fb8b6aa3f9c7b3b65/propcache-0.4.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c0ef0aaafc66fbd87842a3fe3902fd889825646bc21149eafe47be6072725835", size = 48396, upload-time = "2025-10-08T19:47:31.79Z" }, - { url = "https://files.pythonhosted.org/packages/f4/04/5b4c54a103d480e978d3c8a76073502b18db0c4bc17ab91b3cb5092ad949/propcache-0.4.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f95393b4d66bfae908c3ca8d169d5f79cd65636ae15b5e7a4f6e67af675adb0e", size = 275950, upload-time = "2025-10-08T19:47:33.481Z" }, - { url = "https://files.pythonhosted.org/packages/b4/c1/86f846827fb969c4b78b0af79bba1d1ea2156492e1b83dea8b8a6ae27395/propcache-0.4.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c07fda85708bc48578467e85099645167a955ba093be0a2dcba962195676e859", size = 273856, upload-time = "2025-10-08T19:47:34.906Z" }, - { url = "https://files.pythonhosted.org/packages/36/1d/fc272a63c8d3bbad6878c336c7a7dea15e8f2d23a544bda43205dfa83ada/propcache-0.4.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:af223b406d6d000830c6f65f1e6431783fc3f713ba3e6cc8c024d5ee96170a4b", size = 280420, upload-time = "2025-10-08T19:47:36.338Z" }, - { url = "https://files.pythonhosted.org/packages/07/0c/01f2219d39f7e53d52e5173bcb09c976609ba30209912a0680adfb8c593a/propcache-0.4.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a78372c932c90ee474559c5ddfffd718238e8673c340dc21fe45c5b8b54559a0", size = 263254, upload-time = "2025-10-08T19:47:37.692Z" }, - { url = "https://files.pythonhosted.org/packages/2d/18/cd28081658ce597898f0c4d174d4d0f3c5b6d4dc27ffafeef835c95eb359/propcache-0.4.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:564d9f0d4d9509e1a870c920a89b2fec951b44bf5ba7d537a9e7c1ccec2c18af", size = 261205, upload-time = "2025-10-08T19:47:39.659Z" }, - { url = "https://files.pythonhosted.org/packages/7a/71/1f9e22eb8b8316701c2a19fa1f388c8a3185082607da8e406a803c9b954e/propcache-0.4.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:17612831fda0138059cc5546f4d12a2aacfb9e47068c06af35c400ba58ba7393", size = 247873, upload-time = "2025-10-08T19:47:41.084Z" }, - { url = "https://files.pythonhosted.org/packages/4a/65/3d4b61f36af2b4eddba9def857959f1016a51066b4f1ce348e0cf7881f58/propcache-0.4.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:41a89040cb10bd345b3c1a873b2bf36413d48da1def52f268a055f7398514874", size = 262739, upload-time = "2025-10-08T19:47:42.51Z" }, - { url = "https://files.pythonhosted.org/packages/2a/42/26746ab087faa77c1c68079b228810436ccd9a5ce9ac85e2b7307195fd06/propcache-0.4.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e35b88984e7fa64aacecea39236cee32dd9bd8c55f57ba8a75cf2399553f9bd7", size = 263514, upload-time = "2025-10-08T19:47:43.927Z" }, - { url = "https://files.pythonhosted.org/packages/94/13/630690fe201f5502d2403dd3cfd451ed8858fe3c738ee88d095ad2ff407b/propcache-0.4.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6f8b465489f927b0df505cbe26ffbeed4d6d8a2bbc61ce90eb074ff129ef0ab1", size = 257781, upload-time = "2025-10-08T19:47:45.448Z" }, - { url = "https://files.pythonhosted.org/packages/92/f7/1d4ec5841505f423469efbfc381d64b7b467438cd5a4bbcbb063f3b73d27/propcache-0.4.1-cp313-cp313t-win32.whl", hash = "sha256:2ad890caa1d928c7c2965b48f3a3815c853180831d0e5503d35cf00c472f4717", size = 41396, upload-time = "2025-10-08T19:47:47.202Z" }, - { url = "https://files.pythonhosted.org/packages/48/f0/615c30622316496d2cbbc29f5985f7777d3ada70f23370608c1d3e081c1f/propcache-0.4.1-cp313-cp313t-win_amd64.whl", hash = "sha256:f7ee0e597f495cf415bcbd3da3caa3bd7e816b74d0d52b8145954c5e6fd3ff37", size = 44897, upload-time = "2025-10-08T19:47:48.336Z" }, - { url = "https://files.pythonhosted.org/packages/fd/ca/6002e46eccbe0e33dcd4069ef32f7f1c9e243736e07adca37ae8c4830ec3/propcache-0.4.1-cp313-cp313t-win_arm64.whl", hash = "sha256:929d7cbe1f01bb7baffb33dc14eb5691c95831450a26354cd210a8155170c93a", size = 39789, upload-time = "2025-10-08T19:47:49.876Z" }, - { url = "https://files.pythonhosted.org/packages/8e/5c/bca52d654a896f831b8256683457ceddd490ec18d9ec50e97dfd8fc726a8/propcache-0.4.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3f7124c9d820ba5548d431afb4632301acf965db49e666aa21c305cbe8c6de12", size = 78152, upload-time = "2025-10-08T19:47:51.051Z" }, - { url = "https://files.pythonhosted.org/packages/65/9b/03b04e7d82a5f54fb16113d839f5ea1ede58a61e90edf515f6577c66fa8f/propcache-0.4.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:c0d4b719b7da33599dfe3b22d3db1ef789210a0597bc650b7cee9c77c2be8c5c", size = 44869, upload-time = "2025-10-08T19:47:52.594Z" }, - { url = "https://files.pythonhosted.org/packages/b2/fa/89a8ef0468d5833a23fff277b143d0573897cf75bd56670a6d28126c7d68/propcache-0.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9f302f4783709a78240ebc311b793f123328716a60911d667e0c036bc5dcbded", size = 46596, upload-time = "2025-10-08T19:47:54.073Z" }, - { url = "https://files.pythonhosted.org/packages/86/bd/47816020d337f4a746edc42fe8d53669965138f39ee117414c7d7a340cfe/propcache-0.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c80ee5802e3fb9ea37938e7eecc307fb984837091d5fd262bb37238b1ae97641", size = 206981, upload-time = "2025-10-08T19:47:55.715Z" }, - { url = "https://files.pythonhosted.org/packages/df/f6/c5fa1357cc9748510ee55f37173eb31bfde6d94e98ccd9e6f033f2fc06e1/propcache-0.4.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ed5a841e8bb29a55fb8159ed526b26adc5bdd7e8bd7bf793ce647cb08656cdf4", size = 211490, upload-time = "2025-10-08T19:47:57.499Z" }, - { url = "https://files.pythonhosted.org/packages/80/1e/e5889652a7c4a3846683401a48f0f2e5083ce0ec1a8a5221d8058fbd1adf/propcache-0.4.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:55c72fd6ea2da4c318e74ffdf93c4fe4e926051133657459131a95c846d16d44", size = 215371, upload-time = "2025-10-08T19:47:59.317Z" }, - { url = "https://files.pythonhosted.org/packages/b2/f2/889ad4b2408f72fe1a4f6a19491177b30ea7bf1a0fd5f17050ca08cfc882/propcache-0.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8326e144341460402713f91df60ade3c999d601e7eb5ff8f6f7862d54de0610d", size = 201424, upload-time = "2025-10-08T19:48:00.67Z" }, - { url = "https://files.pythonhosted.org/packages/27/73/033d63069b57b0812c8bd19f311faebeceb6ba31b8f32b73432d12a0b826/propcache-0.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:060b16ae65bc098da7f6d25bf359f1f31f688384858204fe5d652979e0015e5b", size = 197566, upload-time = "2025-10-08T19:48:02.604Z" }, - { url = "https://files.pythonhosted.org/packages/dc/89/ce24f3dc182630b4e07aa6d15f0ff4b14ed4b9955fae95a0b54c58d66c05/propcache-0.4.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:89eb3fa9524f7bec9de6e83cf3faed9d79bffa560672c118a96a171a6f55831e", size = 193130, upload-time = "2025-10-08T19:48:04.499Z" }, - { url = "https://files.pythonhosted.org/packages/a9/24/ef0d5fd1a811fb5c609278d0209c9f10c35f20581fcc16f818da959fc5b4/propcache-0.4.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:dee69d7015dc235f526fe80a9c90d65eb0039103fe565776250881731f06349f", size = 202625, upload-time = "2025-10-08T19:48:06.213Z" }, - { url = "https://files.pythonhosted.org/packages/f5/02/98ec20ff5546f68d673df2f7a69e8c0d076b5abd05ca882dc7ee3a83653d/propcache-0.4.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:5558992a00dfd54ccbc64a32726a3357ec93825a418a401f5cc67df0ac5d9e49", size = 204209, upload-time = "2025-10-08T19:48:08.432Z" }, - { url = "https://files.pythonhosted.org/packages/a0/87/492694f76759b15f0467a2a93ab68d32859672b646aa8a04ce4864e7932d/propcache-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c9b822a577f560fbd9554812526831712c1436d2c046cedee4c3796d3543b144", size = 197797, upload-time = "2025-10-08T19:48:09.968Z" }, - { url = "https://files.pythonhosted.org/packages/ee/36/66367de3575db1d2d3f3d177432bd14ee577a39d3f5d1b3d5df8afe3b6e2/propcache-0.4.1-cp314-cp314-win32.whl", hash = "sha256:ab4c29b49d560fe48b696cdcb127dd36e0bc2472548f3bf56cc5cb3da2b2984f", size = 38140, upload-time = "2025-10-08T19:48:11.232Z" }, - { url = "https://files.pythonhosted.org/packages/0c/2a/a758b47de253636e1b8aef181c0b4f4f204bf0dd964914fb2af90a95b49b/propcache-0.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:5a103c3eb905fcea0ab98be99c3a9a5ab2de60228aa5aceedc614c0281cf6153", size = 41257, upload-time = "2025-10-08T19:48:12.707Z" }, - { url = "https://files.pythonhosted.org/packages/34/5e/63bd5896c3fec12edcbd6f12508d4890d23c265df28c74b175e1ef9f4f3b/propcache-0.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:74c1fb26515153e482e00177a1ad654721bf9207da8a494a0c05e797ad27b992", size = 38097, upload-time = "2025-10-08T19:48:13.923Z" }, - { url = "https://files.pythonhosted.org/packages/99/85/9ff785d787ccf9bbb3f3106f79884a130951436f58392000231b4c737c80/propcache-0.4.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:824e908bce90fb2743bd6b59db36eb4f45cd350a39637c9f73b1c1ea66f5b75f", size = 81455, upload-time = "2025-10-08T19:48:15.16Z" }, - { url = "https://files.pythonhosted.org/packages/90/85/2431c10c8e7ddb1445c1f7c4b54d886e8ad20e3c6307e7218f05922cad67/propcache-0.4.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:c2b5e7db5328427c57c8e8831abda175421b709672f6cfc3d630c3b7e2146393", size = 46372, upload-time = "2025-10-08T19:48:16.424Z" }, - { url = "https://files.pythonhosted.org/packages/01/20/b0972d902472da9bcb683fa595099911f4d2e86e5683bcc45de60dd05dc3/propcache-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6f6ff873ed40292cd4969ef5310179afd5db59fdf055897e282485043fc80ad0", size = 48411, upload-time = "2025-10-08T19:48:17.577Z" }, - { url = "https://files.pythonhosted.org/packages/e2/e3/7dc89f4f21e8f99bad3d5ddb3a3389afcf9da4ac69e3deb2dcdc96e74169/propcache-0.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:49a2dc67c154db2c1463013594c458881a069fcf98940e61a0569016a583020a", size = 275712, upload-time = "2025-10-08T19:48:18.901Z" }, - { url = "https://files.pythonhosted.org/packages/20/67/89800c8352489b21a8047c773067644e3897f02ecbbd610f4d46b7f08612/propcache-0.4.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:005f08e6a0529984491e37d8dbc3dd86f84bd78a8ceb5fa9a021f4c48d4984be", size = 273557, upload-time = "2025-10-08T19:48:20.762Z" }, - { url = "https://files.pythonhosted.org/packages/e2/a1/b52b055c766a54ce6d9c16d9aca0cad8059acd9637cdf8aa0222f4a026ef/propcache-0.4.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5c3310452e0d31390da9035c348633b43d7e7feb2e37be252be6da45abd1abcc", size = 280015, upload-time = "2025-10-08T19:48:22.592Z" }, - { url = "https://files.pythonhosted.org/packages/48/c8/33cee30bd890672c63743049f3c9e4be087e6780906bfc3ec58528be59c1/propcache-0.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c3c70630930447f9ef1caac7728c8ad1c56bc5015338b20fed0d08ea2480b3a", size = 262880, upload-time = "2025-10-08T19:48:23.947Z" }, - { url = "https://files.pythonhosted.org/packages/0c/b1/8f08a143b204b418285c88b83d00edbd61afbc2c6415ffafc8905da7038b/propcache-0.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8e57061305815dfc910a3634dcf584f08168a8836e6999983569f51a8544cd89", size = 260938, upload-time = "2025-10-08T19:48:25.656Z" }, - { url = "https://files.pythonhosted.org/packages/cf/12/96e4664c82ca2f31e1c8dff86afb867348979eb78d3cb8546a680287a1e9/propcache-0.4.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:521a463429ef54143092c11a77e04056dd00636f72e8c45b70aaa3140d639726", size = 247641, upload-time = "2025-10-08T19:48:27.207Z" }, - { url = "https://files.pythonhosted.org/packages/18/ed/e7a9cfca28133386ba52278136d42209d3125db08d0a6395f0cba0c0285c/propcache-0.4.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:120c964da3fdc75e3731aa392527136d4ad35868cc556fd09bb6d09172d9a367", size = 262510, upload-time = "2025-10-08T19:48:28.65Z" }, - { url = "https://files.pythonhosted.org/packages/f5/76/16d8bf65e8845dd62b4e2b57444ab81f07f40caa5652b8969b87ddcf2ef6/propcache-0.4.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:d8f353eb14ee3441ee844ade4277d560cdd68288838673273b978e3d6d2c8f36", size = 263161, upload-time = "2025-10-08T19:48:30.133Z" }, - { url = "https://files.pythonhosted.org/packages/e7/70/c99e9edb5d91d5ad8a49fa3c1e8285ba64f1476782fed10ab251ff413ba1/propcache-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ab2943be7c652f09638800905ee1bab2c544e537edb57d527997a24c13dc1455", size = 257393, upload-time = "2025-10-08T19:48:31.567Z" }, - { url = "https://files.pythonhosted.org/packages/08/02/87b25304249a35c0915d236575bc3574a323f60b47939a2262b77632a3ee/propcache-0.4.1-cp314-cp314t-win32.whl", hash = "sha256:05674a162469f31358c30bcaa8883cb7829fa3110bf9c0991fe27d7896c42d85", size = 42546, upload-time = "2025-10-08T19:48:32.872Z" }, - { url = "https://files.pythonhosted.org/packages/cb/ef/3c6ecf8b317aa982f309835e8f96987466123c6e596646d4e6a1dfcd080f/propcache-0.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:990f6b3e2a27d683cb7602ed6c86f15ee6b43b1194736f9baaeb93d0016633b1", size = 46259, upload-time = "2025-10-08T19:48:34.226Z" }, - { url = "https://files.pythonhosted.org/packages/c4/2d/346e946d4951f37eca1e4f55be0f0174c52cd70720f84029b02f296f4a38/propcache-0.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ecef2343af4cc68e05131e45024ba34f6095821988a9d0a02aa7c73fcc448aa9", size = 40428, upload-time = "2025-10-08T19:48:35.441Z" }, - { url = "https://files.pythonhosted.org/packages/5b/5a/bc7b4a4ef808fa59a816c17b20c4bef6884daebbdf627ff2a161da67da19/propcache-0.4.1-py3-none-any.whl", hash = "sha256:af2a6052aeb6cf17d3e46ee169099044fd8224cbaf75c76a2ef596e8163e2237", size = 13305, upload-time = "2025-10-08T19:49:00.792Z" }, +version = "0.5.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/44/c87281c333769159c50594f22610f77398a47ccbfbbf23074e744e86f87c/propcache-0.5.2.tar.gz", hash = "sha256:01c4fc7480cd0598bb4b57022df55b9ca296da7fc5a8760bd8451a7e63a7d427", size = 50208, upload-time = "2026-05-08T21:02:12.199Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5b/56/030b7b4719d53085722893e0009dffb9236aa10bca1b12121bdc5626ef16/propcache-0.5.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5a81be28596d6559f6131ef33e10200de6e17643b3c74ce03f9eb103be6ae8b", size = 93417, upload-time = "2026-05-08T20:59:15.597Z" }, + { url = "https://files.pythonhosted.org/packages/1a/55/1140a8e067b8ec093a18a4ae7bb0045d9db65da38a08618ddc5e2f1994aa/propcache-0.5.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29cbaac5ea0212663e6845e04b5e188d5a6ae6dd919810ac835bf1d3b42c3f4c", size = 53847, upload-time = "2026-05-08T20:59:17.096Z" }, + { url = "https://files.pythonhosted.org/packages/20/42/0e7443c90310498561addf346e7d57fe3c6ba1914e1ba938b5464c7bbfd2/propcache-0.5.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6bf3be92233808fcd338eba0fb4d0b59ec5772af4f4ecfcec450d1bfc0f8b5eb", size = 53512, upload-time = "2026-05-08T20:59:18.64Z" }, + { url = "https://files.pythonhosted.org/packages/b7/db/cf51a71bab2009517d1a7f0ee07657e3bd446c4d69f67e6966cf17bcf956/propcache-0.5.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2f8ea531c794b9d6274acd4e8d2c2ebcac590a4361d27482edd3010b79f1325e", size = 58068, upload-time = "2026-05-08T20:59:20.683Z" }, + { url = "https://files.pythonhosted.org/packages/b7/43/39b6bdee9699fa1e1641c519feeb64a67e2a9f93bb465c70776b37a7333f/propcache-0.5.2-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:decfca4c79dd53ebab484b00cc4b6717d8c369f86e74aa4ca395a64ac651495e", size = 61020, upload-time = "2026-05-08T20:59:22.112Z" }, + { url = "https://files.pythonhosted.org/packages/26/0b/843726fbb0a29a8c5684fdb25971823638399f31e52e9d1f06a02dc9aa6b/propcache-0.5.2-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4621064bbf28fa77ff64dd5d94367c04684c67d3a5bf1dff25f0cd0d98a38f3b", size = 62732, upload-time = "2026-05-08T20:59:23.805Z" }, + { url = "https://files.pythonhosted.org/packages/39/6e/899fed76dc1942b8a64193a4f059d7f1a2c7ef65085e8a9366ed8ec0d199/propcache-0.5.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b96db7141a592cbc968daf1feea83a118e6ab378af4abbc72b248c895414c22d", size = 60140, upload-time = "2026-05-08T20:59:25.389Z" }, + { url = "https://files.pythonhosted.org/packages/ab/09/3da4be9b5b879219ad234aa535b3dd4a080ed1ad48d3a73ca07a9e798f22/propcache-0.5.2-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1ca071adabaab6e9219924bbe00af821f1ee7de113a9eca1cdc292de3d120f4d", size = 60400, upload-time = "2026-05-08T20:59:27.238Z" }, + { url = "https://files.pythonhosted.org/packages/60/2f/09b72b874a9aa0044faf52a69807a6ed618e267ceaa9ec4a63195fa5b504/propcache-0.5.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e4294d04a94dcab1b3bccd8b66d962dcad411a1d19414b2a41d1445f1de32ad0", size = 58155, upload-time = "2026-05-08T20:59:28.48Z" }, + { url = "https://files.pythonhosted.org/packages/8a/37/97489848c54c95578045473954f10956d619ce6a09e7ac137b71cdcb698b/propcache-0.5.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:a0e399a2eccb91ed18721f86aa85757727400b6865c89e88934781deb9c8498b", size = 57037, upload-time = "2026-05-08T20:59:30.146Z" }, + { url = "https://files.pythonhosted.org/packages/22/db/6c695285ccfc49012743ee9c98212b8c5dd0aed7b63cfd816d4a0f7a1601/propcache-0.5.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:823581fd5cb08b12a48bfa11fe962a7916766b6170c17b028fbdf762b85eb9bf", size = 61103, upload-time = "2026-05-08T20:59:31.626Z" }, + { url = "https://files.pythonhosted.org/packages/98/a9/1e500401ca593b0bdb6bf75a70bc2d723835fd53360edff6af70692c7546/propcache-0.5.2-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:949c91d1a990cf3b2e8188dfcfb25005e0b834a06c63fa4ef9f360878ce21ecf", size = 60394, upload-time = "2026-05-08T20:59:32.829Z" }, + { url = "https://files.pythonhosted.org/packages/1f/87/f638b6e375eae0f30a1a2325d8b34fd85fdc785bb9960cf805f3bf1ec69a/propcache-0.5.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:cc1177027eda740fdb152706bd215a3f124e3eea15afc39f2cb9fe351b50619e", size = 63084, upload-time = "2026-05-08T20:59:35.964Z" }, + { url = "https://files.pythonhosted.org/packages/f6/18/884573f5d97b6d9eba68de759a82c901b7e39d7904d30f7b8d58d42d2a12/propcache-0.5.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b05d643f944a8c3c4bd86d65ffd87bf3264b617f87791940302bc474d2ff5274", size = 60999, upload-time = "2026-05-08T20:59:38.481Z" }, + { url = "https://files.pythonhosted.org/packages/8f/1a/c3915eb059ceec9e758a56e4cfd955292bc0f201be2176a46b76d94b303a/propcache-0.5.2-cp310-cp310-win32.whl", hash = "sha256:8114f28879e0904748e831c3a7774261bd9e75f49be089f389a76f959dcd13fe", size = 39036, upload-time = "2026-05-08T20:59:40.323Z" }, + { url = "https://files.pythonhosted.org/packages/5b/02/1dfd5607501a602d19c1c449d2d193b7d1c611f9246b4059026a1189a80e/propcache-0.5.2-cp310-cp310-win_amd64.whl", hash = "sha256:5fcb98e7598b1ee0addab320d90f65b530297a867dbfe9de52ea838077e16e3d", size = 42190, upload-time = "2026-05-08T20:59:42.232Z" }, + { url = "https://files.pythonhosted.org/packages/57/93/f71588ad08b3e6f4b555b5ef215808a3c02b042d0151ad82fa6f15be677a/propcache-0.5.2-cp310-cp310-win_arm64.whl", hash = "sha256:04dc2390d9edbbaef7461f33322555976ffddf0b650a038649d026358714e6c5", size = 38545, upload-time = "2026-05-08T20:59:44.087Z" }, + { url = "https://files.pythonhosted.org/packages/e7/f1/8a8cc1c2c7e7934ab77e0163414f736fadbc0f5e8dd9673b952355ac175b/propcache-0.5.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:74b70780220e2dd89175ca24b81b68b67c83db499ae611e7f2313cb329801c78", size = 90744, upload-time = "2026-05-08T20:59:45.799Z" }, + { url = "https://files.pythonhosted.org/packages/c2/f4/651b1225e976bd1a2ba5cfba0c29d096581c2636b437e3a9a7ab6276270a/propcache-0.5.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a4840ab0ae0216d952f4b53dc6d0b992bfc2bedbfe360bdd9b548bc184c08959", size = 52033, upload-time = "2026-05-08T20:59:47.408Z" }, + { url = "https://files.pythonhosted.org/packages/15/a8/8ede85d6aa1f79fc7dc2f8fd2c8d65920b8272c3892903c8a1affde48cfb/propcache-0.5.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c6844ba6364fb12f403928a82cfd295ab103a2b315c77c747b2dbe4a41894ea7", size = 52754, upload-time = "2026-05-08T20:59:49.202Z" }, + { url = "https://files.pythonhosted.org/packages/7d/fe/b3551b41bbc2f5b5bb088fc6920567cd43101253e68fbaa261339eb96fe1/propcache-0.5.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2293949b855ce597f2826452d17c2d545fb5622379c4ea6fdf525e9b8e8a2511", size = 57573, upload-time = "2026-05-08T20:59:50.778Z" }, + { url = "https://files.pythonhosted.org/packages/83/27/ab851ebd1b7172e3e161f5f8d39e315d54a91bea246f01f4d872d3376aef/propcache-0.5.2-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0fd59b5af35f74da48d905dcbad55449ba13be91823cb05a9bd590bbf5b61660", size = 60645, upload-time = "2026-05-08T20:59:52.227Z" }, + { url = "https://files.pythonhosted.org/packages/95/7d/466b3d18022e9897cbda9c735c493c5bd747d7a4c6f5ea1480b4cec434b6/propcache-0.5.2-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29f9309a2e42b0d273be006fdb4be2d6c39a47f6f57d8fb1cf9f81481df81b66", size = 61563, upload-time = "2026-05-08T20:59:53.866Z" }, + { url = "https://files.pythonhosted.org/packages/27/1b/16ab7f2cf2041da2f60d156ba64c2484eadf9168075b4ff43c3ef60045af/propcache-0.5.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5aaa2b923c1944ac8febd6609cb373540a5563e7cbcb0fd770f75dace2eb817b", size = 58888, upload-time = "2026-05-08T20:59:55.457Z" }, + { url = "https://files.pythonhosted.org/packages/0a/67/bb777ffd907633563bf35fd859c4ce97b0512c32f4633cf5d1eb7c33512b/propcache-0.5.2-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:66ea454f095ddf5b6b14f56c064c0941c4788be11e18d2464cf643bf7203ff67", size = 59253, upload-time = "2026-05-08T20:59:57.075Z" }, + { url = "https://files.pythonhosted.org/packages/b9/42/64f8d90b73fd9cdc1499b48057ff6d9cd2a98a25734c9bb62ecf07e87061/propcache-0.5.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:95f1e3f4760d404b13c9976c0229b2b49a3c8e2c62a9ce92efdd2b11ada75e3f", size = 57558, upload-time = "2026-05-08T20:59:58.602Z" }, + { url = "https://files.pythonhosted.org/packages/eb/02/dba5bc03c9041f2092ea55a449caf5dfe68352c6654511b29ba0654ddb69/propcache-0.5.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:85341b12b9d55bad0bded24cac341bb34289469e03a11f3f583ea1cc1db0326c", size = 55007, upload-time = "2026-05-08T20:59:59.837Z" }, + { url = "https://files.pythonhosted.org/packages/14/c0/43f649c7aa2a77a3b100d84e9dea3a483120ecb608bfe36ce49eaff517fe/propcache-0.5.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:26a4dca084132874e639895c3135dfad5eb20bae209f62d1aeb31b03e601c3c0", size = 60355, upload-time = "2026-05-08T21:00:01.144Z" }, + { url = "https://files.pythonhosted.org/packages/83/c0/435dafd27f1cb4a495381dae60e25883ccfe4020bb72818e8184c1678092/propcache-0.5.2-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:3b199b9b2b3d6a7edf3183ba8a9a137a22b97f7df525feb5ae1eccf026d2a9c6", size = 59057, upload-time = "2026-05-08T21:00:02.401Z" }, + { url = "https://files.pythonhosted.org/packages/53/ae/6e292df9135d659944e96cb3389258e4a663e5b2b5f6c217ef0ddc8d2f73/propcache-0.5.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e59bc9e66329185b93dab73f210f1a37f81cb40f321501db8017c9aea15dba27", size = 61938, upload-time = "2026-05-08T21:00:03.638Z" }, + { url = "https://files.pythonhosted.org/packages/0b/42/314ebc50d8159055411fd6b0bda322ff510e4b1f7d2e4927940ad0f6af20/propcache-0.5.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:552ffadf6ad409844bc5919c42a0a83d88314cedddaea0e41e80a8b8fffe881f", size = 59731, upload-time = "2026-05-08T21:00:04.881Z" }, + { url = "https://files.pythonhosted.org/packages/b8/9b/2da6dee38871c3c8772fabc2758325a5c9077d6d18c597737dc04dd884cd/propcache-0.5.2-cp311-cp311-win32.whl", hash = "sha256:cd416c1de191973c52ff1a12a57446bfc7642797b282d7caf2162d7d1b8aa9a0", size = 38966, upload-time = "2026-05-08T21:00:06.511Z" }, + { url = "https://files.pythonhosted.org/packages/42/4e/f17363fb58c0afe05b067361cb6d86ed2d29de6506779a27547c4d183075/propcache-0.5.2-cp311-cp311-win_amd64.whl", hash = "sha256:44e488ef40dbb452700b2b1f8188934121f6648f52c295055662d2191959ff82", size = 42135, upload-time = "2026-05-08T21:00:08.088Z" }, + { url = "https://files.pythonhosted.org/packages/c6/eb/6af6685077d22e8b33358d3c548e3282706a0b3cd85044ffba4e5dd08e3b/propcache-0.5.2-cp311-cp311-win_arm64.whl", hash = "sha256:54adaa85a22078d1e306304a40984dc5be99d599bf3dc0a24dc98f7daeab89ab", size = 38381, upload-time = "2026-05-08T21:00:09.692Z" }, + { url = "https://files.pythonhosted.org/packages/4a/cb/e27bc2b2737a0bb49962b275efa051e8f1c35a936df7d5139b6b658b7dc9/propcache-0.5.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:806719138ecd720339a12410fb9614ac9b2b2d3a5fdf8235d56981c36f4039ba", size = 95887, upload-time = "2026-05-08T21:00:11.277Z" }, + { url = "https://files.pythonhosted.org/packages/e6/13/b8ae04c59392f8d11c6cd9fb4011d1dc7c86b81225c770280300e259ffe1/propcache-0.5.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:db2b80ea58eab4f86b2beec3cc8b39e8ff9276ac20e96b7cce43c8ae84cd6b5a", size = 54654, upload-time = "2026-05-08T21:00:12.604Z" }, + { url = "https://files.pythonhosted.org/packages/2c/7d/49777a3e20b55863d4794384a38acd460c04157b0a00f8602b0d508b8431/propcache-0.5.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e5cbfac9f61484f7e9f3597775500cd3ebe8274e9b050c38f9525c77c97520bf", size = 55190, upload-time = "2026-05-08T21:00:13.935Z" }, + { url = "https://files.pythonhosted.org/packages/44/c7/085d0cd63062e84044e3f05797749c3f8e3938ff3aeb0eb2f69d43fafc91/propcache-0.5.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5dbc581d2814337da56222fab8dc5f161cd798a434e49bac27930aaef798e144", size = 59995, upload-time = "2026-05-08T21:00:15.526Z" }, + { url = "https://files.pythonhosted.org/packages/9c/42/32cf8e3009e92b2645cf1e944f701e8ea4e924dffde1ee26db860bcbf7e4/propcache-0.5.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:857187f381f88c8e2fa2fe56ab94879d011b883d5a2ee5a1b60a8cd2a06846d9", size = 63422, upload-time = "2026-05-08T21:00:16.824Z" }, + { url = "https://files.pythonhosted.org/packages/9e/1b/f112433f99fc979431b87a39ef169e3f8df070d99a72792c56d6937ac48b/propcache-0.5.2-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:178b4a2cdaac1818e2bf1c5a99b94383fa73ea5382e032a48dec07dc5668dc42", size = 64342, upload-time = "2026-05-08T21:00:18.362Z" }, + { url = "https://files.pythonhosted.org/packages/14/15/5574111ae50dd6e879456888c0eadd4c5a869959775854e18e18a6b345f3/propcache-0.5.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f328175a2cde1f0ff2c4ed8ce968b9dcfb55f3a7153f39e2957ed994da13476", size = 61639, upload-time = "2026-05-08T21:00:19.692Z" }, + { url = "https://files.pythonhosted.org/packages/cc/da/4d775080b1490c0ae604acda868bd71aabe3a89ed16f2aa4339eb8a283e7/propcache-0.5.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5671d09a36b06d0fd4a3da0fccbcae360e9b1570924171a15e9e0997f0249fba", size = 61588, upload-time = "2026-05-08T21:00:21.155Z" }, + { url = "https://files.pythonhosted.org/packages/04/ac/f076982cbe2195ee9cf32de5a1e46951d9fb399fc207f390562dd0fd8fb2/propcache-0.5.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:80168e2ebe4d3ec6599d10ad8f520304ae1cad9b6c5a95372aef1b66b7bfb53a", size = 60029, upload-time = "2026-05-08T21:00:22.713Z" }, + { url = "https://files.pythonhosted.org/packages/70/60/189be62e0dd898dce3b331e1b8c7a543cd3a405ac0c81fe8ee8a9d5d77e1/propcache-0.5.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:45f11346f884bc47444f6e6647131055844134c3175b629f84952e2b5cd62b64", size = 56774, upload-time = "2026-05-08T21:00:24.001Z" }, + { url = "https://files.pythonhosted.org/packages/ea/9e/93377b9c7939c1ffae98f878dee955efadfd638078bc86dbc21f9d52f651/propcache-0.5.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8e778ebd44ef4f66ed60a0416b06b489687db264a9c0b3620362f26489492913", size = 63532, upload-time = "2026-05-08T21:00:25.545Z" }, + { url = "https://files.pythonhosted.org/packages/14/f9/590ef6cfb9b8028d516d287812ece32bb0bc5f11fbb9c8bf6b2e6313fec8/propcache-0.5.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:c0cb9ed24c8964e172768d455a38254c2dd8a552905729ce006cad3d3dda59b1", size = 61592, upload-time = "2026-05-08T21:00:27.186Z" }, + { url = "https://files.pythonhosted.org/packages/b4/5e/70958b3034c297a630bba2f17ca7abc2d5f39a803ad7e370ab79d1ecd022/propcache-0.5.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1d1ad32d9d4355e2be65574fd0bfd3677e7066b009cd5b9b2dee8aa6a6393b33", size = 64788, upload-time = "2026-05-08T21:00:28.8Z" }, + { url = "https://files.pythonhosted.org/packages/12/fd/77fe5936d8c3086ca9048f7f415f122ed82e53884a9ec193646b42deef06/propcache-0.5.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c80f4ba3e8f00189165999a742ee526ebeccedf6c3f7beb0c7df821e9772435a", size = 62514, upload-time = "2026-05-08T21:00:30.098Z" }, + { url = "https://files.pythonhosted.org/packages/cf/74/66bd798b5b3be70aa1b391f5cc9d6a0a5532d7fd3b19ec0b213e72e6ad9d/propcache-0.5.2-cp312-cp312-win32.whl", hash = "sha256:8c7972d8f193740d9175f0998ab38717e6cd322d5935c5b0fef8c0d323fd9031", size = 39018, upload-time = "2026-05-08T21:00:31.622Z" }, + { url = "https://files.pythonhosted.org/packages/61/7c/5c0d34aa3024694d6dcb9271cdbdd08c4e47c1c0ad95ec7e7bc74cdea145/propcache-0.5.2-cp312-cp312-win_amd64.whl", hash = "sha256:d9ee8826a7d47863a08ac44e1a5f611a462eefc3a194b492da242128bec75b42", size = 42322, upload-time = "2026-05-08T21:00:32.918Z" }, + { url = "https://files.pythonhosted.org/packages/4d/91/875812f1a3feb20ceba818ef39fbe4d92f1081e04ac815c822496d0d038b/propcache-0.5.2-cp312-cp312-win_arm64.whl", hash = "sha256:2800a4a8ead6b28cccd1ec54b59346f0def7922ee1c7598e8499c733cfbb7c84", size = 38172, upload-time = "2026-05-08T21:00:35.124Z" }, + { url = "https://files.pythonhosted.org/packages/c5/09/f049e45385503fe67db75a6b6186a7b9f0c3930366dc960522c312a825b1/propcache-0.5.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:099aaf4b4d1a02265b92a977edf00b5c4f63b3b17ac6de39b0d637c9cac0188a", size = 94457, upload-time = "2026-05-08T21:00:36.355Z" }, + { url = "https://files.pythonhosted.org/packages/6b/65/83d1d05655baf63113731bd5a1008435e14f8d1e5a06cbe4ec5b23ad7a31/propcache-0.5.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:68ce1c44c7a813a7f71ea04315a8c7b330b63db99d059a797a4651bb6f69f117", size = 53835, upload-time = "2026-05-08T21:00:38.072Z" }, + { url = "https://files.pythonhosted.org/packages/a9/12/a6ba6482bb5ea3260c000c9b20881c95fa11c6b30173715668259f844ed7/propcache-0.5.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:fc299c129490f55f254cd90be0deca4764e36e9a7c08b4aa588479a3bbed3098", size = 54545, upload-time = "2026-05-08T21:00:39.319Z" }, + { url = "https://files.pythonhosted.org/packages/a9/19/7fa086f5764c59ec8a8e157cd93aa8497acc00aba9dcdec56bfffb32602d/propcache-0.5.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a6ae2198be502c10f09b2516e7b5d019816924bc3183a43ce792a7bd6625e6f4", size = 59886, upload-time = "2026-05-08T21:00:40.621Z" }, + { url = "https://files.pythonhosted.org/packages/a1/e4/5d7663dc8235956c8f5281698a3af1d351d8820341ddd890f59d9a9127f2/propcache-0.5.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6041d31504dc1779d700e1edcfb08eea334b357620b06681a4eabb57a74e574e", size = 63261, upload-time = "2026-05-08T21:00:41.775Z" }, + { url = "https://files.pythonhosted.org/packages/4a/4a/15a03adee24d6350da4292caeac44c34c033d2afe5e87eb370f38854560f/propcache-0.5.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f7eabc04151c78a9f4d5bbb5f1faf571e4defeb4b585e0fe95b60ff2dbe4d3d7", size = 64184, upload-time = "2026-05-08T21:00:43.018Z" }, + { url = "https://files.pythonhosted.org/packages/8b/c6/979176efdaa3d239e36d503d5af63a0a773b36662ed8f52e5b6a6d9fd40e/propcache-0.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4db0ba63d693afd40d249bd93f842b5f144f8fcbb83de05660373bcf30517b1d", size = 61534, upload-time = "2026-05-08T21:00:44.507Z" }, + { url = "https://files.pythonhosted.org/packages/c8/22/63e8cd1bae4c2d2be6493b6b7d10566ddafad88137cfbc99964a1119853c/propcache-0.5.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1dbcf7675229b35d31abb6547d8ebc8c27a830ac3f9a794edff6254873ec7c0a", size = 61500, upload-time = "2026-05-08T21:00:45.796Z" }, + { url = "https://files.pythonhosted.org/packages/60/5a/28e5d9acbac1cc9ccb67045e8c1b943aa8d79fdf39c93bd73cacd68008ea/propcache-0.5.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d310c013aad2c72f1c3f2f8dd3279d460a858c551f97aeb8c63e4693cca7b4d2", size = 59994, upload-time = "2026-05-08T21:00:47.093Z" }, + { url = "https://files.pythonhosted.org/packages/f3/40/db650677f554a95b9c01a7c9d93d629e93a15562f5deb4573c9ee136fed2/propcache-0.5.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:06187263ddad280d05b4d8a8b3bb7d164cbebd469236544a42e6d9b28ac6a4fa", size = 56884, upload-time = "2026-05-08T21:00:48.376Z" }, + { url = "https://files.pythonhosted.org/packages/80/45/70b39b89516ff8b96bf732fa6fded8cef20f293cb1508690101c3c07ec51/propcache-0.5.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3115559b8effafd63b142ea5ed53d63a16ea6469cbc63dce4ee194b42db5d853", size = 63464, upload-time = "2026-05-08T21:00:49.954Z" }, + { url = "https://files.pythonhosted.org/packages/f9/e2/fa59d3a89eac5534293124af4f1d0d0ada091ce4a0ab4610ce03fd2bdd8d/propcache-0.5.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c60462af8e6dc30c35407c7237ea908d777b22862bbee27bc4699c0d8bcdc45a", size = 61588, upload-time = "2026-05-08T21:00:51.281Z" }, + { url = "https://files.pythonhosted.org/packages/0b/97/efb547a55c4bc7381cfb202d6a2239ac621045277bc1ea5dfd3a7f0516c0/propcache-0.5.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:40314bca9ac559716fe374094fc81c11dcc34b64fd6c585360f5775690505704", size = 64667, upload-time = "2026-05-08T21:00:52.602Z" }, + { url = "https://files.pythonhosted.org/packages/92/56/f5c7d9b4b7595d5127da38974d791b2153f3d1eae6c674af3583ace92ad3/propcache-0.5.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:cfa21e036ce1e1db2be04ba3b85d2df1bb1702fa01932d984c5464c665228ff4", size = 62463, upload-time = "2026-05-08T21:00:54.303Z" }, + { url = "https://files.pythonhosted.org/packages/bd/3b/484a3a65fc9f9f60c41dcd17b428bace5389544e2c680994534a20755066/propcache-0.5.2-cp313-cp313-win32.whl", hash = "sha256:f156a3529f38063b6dbaf356e15602a7f95f8055b1295a438433a6386f10463d", size = 38621, upload-time = "2026-05-08T21:00:55.808Z" }, + { url = "https://files.pythonhosted.org/packages/1c/fd/3f0f10dba4dabad3bf53102be007abf55481067952bde0fdddff439e7c61/propcache-0.5.2-cp313-cp313-win_amd64.whl", hash = "sha256:dfed59d0a5aeb01e242e66ff0300bc4a265a7c05f612d30016f0b60b1017d757", size = 41649, upload-time = "2026-05-08T21:00:57.061Z" }, + { url = "https://files.pythonhosted.org/packages/90/ec/6ce619cc32bb500a482f811f9cd509368b4e58e638d13f2c68f370d6b475/propcache-0.5.2-cp313-cp313-win_arm64.whl", hash = "sha256:ba338430e87ceb9c8f0cf754de38a9860560261e56c00376debd628698a7364f", size = 37636, upload-time = "2026-05-08T21:00:58.646Z" }, + { url = "https://files.pythonhosted.org/packages/1b/82/c1d268bbbf2ef981c5bf0fbbe746db617c66e3bcefe431a1aa8943fbe23a/propcache-0.5.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a592f5f3da71c8691c788c13cb6734b6d17663d2e1cb8caddf0673d01ef8847d", size = 98872, upload-time = "2026-05-08T21:00:59.889Z" }, + { url = "https://files.pythonhosted.org/packages/f4/d4/52c871e73e864e6b34c0e2d58ac1ec5ccd149497ddc7ad2137ae98323a35/propcache-0.5.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:6a997d0489e9668a384fcfd5061b857aa5361de73191cac204d04b889cfbbafa", size = 56257, upload-time = "2026-05-08T21:01:01.195Z" }, + { url = "https://files.pythonhosted.org/packages/67/f0/9b90ca2a210b3d09bcfcd96ecd0f55545c091535abce2a45de2775cfd357/propcache-0.5.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:10734b5484ea113152ee25a91dccedf81631791805d2c9ccb054958e51842c94", size = 56696, upload-time = "2026-05-08T21:01:02.941Z" }, + { url = "https://files.pythonhosted.org/packages/9d/0e/6e9d4ba07c8e56e21ddec1e75f12148142b21ca83a51871babce095334f4/propcache-0.5.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cafca7e56c12bb02ae16d283742bef25a61122e9dab2b5b3f2ccbe589ce32164", size = 62378, upload-time = "2026-05-08T21:01:04.475Z" }, + { url = "https://files.pythonhosted.org/packages/65/19/c10badaa463dde8a27ce884f8ee2ec37e6035b7c9f5ff0c8f74f06f08dac/propcache-0.5.2-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f064f8d2b59177878b7615df1735cd8fe3462ed6be8c7b217d17a276489c2b7f", size = 65283, upload-time = "2026-05-08T21:01:05.959Z" }, + { url = "https://files.pythonhosted.org/packages/b0/b6/93bea99ca80e19cef6512a8580e5b7857bbe09422d9daa7fd4ef5723306c/propcache-0.5.2-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f78abfa8dfc32376fd1aacf597b2f2fbbe0ea751419aee718af5d4f82537ef8c", size = 66616, upload-time = "2026-05-08T21:01:07.228Z" }, + { url = "https://files.pythonhosted.org/packages/83/e4/5c7462e50625f051f37fb38b8224f7639f667184bbd34424ec83819bb1b7/propcache-0.5.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f7467da8a9822bf1a55336f877340c5bcbd3c482afc43a99771169f74a26dedc", size = 63773, upload-time = "2026-05-08T21:01:08.514Z" }, + { url = "https://files.pythonhosted.org/packages/ca/b6/99238894047b13c823be25027e736626cd414a52a5e30d2c3347c2733529/propcache-0.5.2-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a6ddc6ac9e25de626c1f129c1b467d7ecd33ce2237d3fd0c4e429feef0a7ee1f", size = 63664, upload-time = "2026-05-08T21:01:09.874Z" }, + { url = "https://files.pythonhosted.org/packages/85/1e/a3a1a63116a2b8edb415a8bb9a6f0c34bd03830b1e18e8ce2904e1dc1cf4/propcache-0.5.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2f22cbbac9e26a8e864c0985ff1268d5d939d53d9d9411a9824279097e03a2cb", size = 62643, upload-time = "2026-05-08T21:01:11.132Z" }, + { url = "https://files.pythonhosted.org/packages/e4/03/893cf147de2fc6543c5eaa07ad833170e7e2a2385725bbebe8c0503723bb/propcache-0.5.2-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:fc76378c62a0f04d0cd82fbb1a2cd2d7e28fcb40d5873f28a6c44e388aaa2751", size = 59595, upload-time = "2026-05-08T21:01:12.387Z" }, + { url = "https://files.pythonhosted.org/packages/86/3b/04c1a2e12c57766568ba75ba72b3bf2042818d4c1425fab6fc07155c7cff/propcache-0.5.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:acd2c8edba48e31e58a363b8cf4e5c7db3b04b3f9e371f601df30d9b0d244836", size = 65711, upload-time = "2026-05-08T21:01:13.676Z" }, + { url = "https://files.pythonhosted.org/packages/1c/34/80f8d0099f8d6bacc4de1624c85672681c8cd1149ca2da0e38fd120b817f/propcache-0.5.2-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:452b5065457eb9991ec5eb38ff41d6cd4c991c9ac7c531c4d5849ae473a9a13f", size = 64247, upload-time = "2026-05-08T21:01:14.936Z" }, + { url = "https://files.pythonhosted.org/packages/f3/1a/8b08f3a5f1037e9e370c55883ceeeee0f6dd0416fb2d2d67b8bfc91f2a79/propcache-0.5.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:3430bb2bfe1331885c427745a751e774ee679fd4344f80b97bf879815fe8fa55", size = 67102, upload-time = "2026-05-08T21:01:16.281Z" }, + { url = "https://files.pythonhosted.org/packages/34/68/8bdb7bb7756d76e005490649d10e4a8369e610c74d619f71e1aedf889e9c/propcache-0.5.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cef6cea3922890dd6c9654971001fa797b526c16ab5e1e46c05fd6f877be7568", size = 64964, upload-time = "2026-05-08T21:01:17.57Z" }, + { url = "https://files.pythonhosted.org/packages/0a/aa/50fb0b5d3968b61a510926ff8b8465f1d6e976b3ab74496d7a4b9fc42515/propcache-0.5.2-cp313-cp313t-win32.whl", hash = "sha256:72d61e16dd78228b58c5d47be830ff3da7e5f139abdf0aef9d86cde1c5cf2191", size = 42546, upload-time = "2026-05-08T21:01:18.946Z" }, + { url = "https://files.pythonhosted.org/packages/ae/4c/0ddbae64321bd4a95bcbfc19307238016b5b1fee645c84626c8d539e5b74/propcache-0.5.2-cp313-cp313t-win_amd64.whl", hash = "sha256:0958834041a0166d343b8d2cedcd8bcbaeb4fdbe0cf08320c5379f143c3be6e7", size = 46330, upload-time = "2026-05-08T21:01:20.162Z" }, + { url = "https://files.pythonhosted.org/packages/00/d9/9cddc8efb78d8af264c5ec9f6d10b62f57c515feda8d321595f56010fb23/propcache-0.5.2-cp313-cp313t-win_arm64.whl", hash = "sha256:6de8bd93ddde9b992cf2b2e0d796d501a19026b5b9fd87356d7d0779531a8d96", size = 40521, upload-time = "2026-05-08T21:01:21.399Z" }, + { url = "https://files.pythonhosted.org/packages/e2/ea/23ee535d90ce8bcc465a3028eb3cc0ce3bd1005f4bb27710b30587de798d/propcache-0.5.2-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:46088abff4cba581dea21ae0467a480526cb25aa5f3c269e909f800328bc3999", size = 94662, upload-time = "2026-05-08T21:01:22.683Z" }, + { url = "https://files.pythonhosted.org/packages/b5/06/c5a52f419b5d8972f8d46a7577476090d8e3263ff589ce40b5ca4968d5be/propcache-0.5.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:fc88b26f08d634f7bc819a7852e5214f5802641ab8d9fd5326892292eee1993e", size = 53928, upload-time = "2026-05-08T21:01:23.986Z" }, + { url = "https://files.pythonhosted.org/packages/63/b1/4260d67d6bd85e58a66b72d54ce15d5de789b6f3870cc6bedf8ff9667401/propcache-0.5.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:97797ebb098e670a2f92dd66f32897e30d7615b14e7f59711de23e30a9072539", size = 54650, upload-time = "2026-05-08T21:01:25.305Z" }, + { url = "https://files.pythonhosted.org/packages/70/06/2f46c318e3307cd7a6a7481def374ce838c0fe20084b39dd54b0879d0e99/propcache-0.5.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ba57fffe4ac99c5d30076161b5866336d97600769bad35cc68f7774b15298a4e", size = 59912, upload-time = "2026-05-08T21:01:26.545Z" }, + { url = "https://files.pythonhosted.org/packages/4c/29/fe1aebec2ce57ab985a9c382bded1124431f85078113aa222c5d278430d4/propcache-0.5.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:583c19759d9eec1e5b69e2fbef36a7d9c326041be9746cb822d335c8cedc2979", size = 63300, upload-time = "2026-05-08T21:01:27.937Z" }, + { url = "https://files.pythonhosted.org/packages/b4/18/2334b26768b6c82be8c69e83671b767d5ef426aa09b0cba6c2ea47816774/propcache-0.5.2-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d0326e2e5e1f3163fa306c834e48e8d490e5fae607a097a40c0648109b47ba80", size = 64208, upload-time = "2026-05-08T21:01:29.484Z" }, + { url = "https://files.pythonhosted.org/packages/2b/76/7f1bfd6afff4c5e38e36a3c6d68eb5f4b7311ea80baf693db78d95b603c4/propcache-0.5.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e00820e192c8dbebcafb383ebbf99030895f09905e7a0eb2e0340a0bcc2bc825", size = 61633, upload-time = "2026-05-08T21:01:31.068Z" }, + { url = "https://files.pythonhosted.org/packages/c4/46/b3ff8aba2b4953a3e50de2cf72f1b5748b8eca93b15f3dc2c84339084c09/propcache-0.5.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c66afea89b1e43725731d2004732a046fe6fe955d51f952c3e95a7314a284a39", size = 61724, upload-time = "2026-05-08T21:01:32.374Z" }, + { url = "https://files.pythonhosted.org/packages/c5/01/814cfcafbcff954f94c01cf30e097ddc88a076b5440fbcf4570753437d40/propcache-0.5.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:d4dc37dec6c6cdad0b57881a5658fd14fbf53e333b1a86cf86559f190e1d9ec4", size = 60069, upload-time = "2026-05-08T21:01:33.67Z" }, + { url = "https://files.pythonhosted.org/packages/da/68/5c6f7622d510cc666a300687e06fd060c1a43361c0c9b20d284f06d8096a/propcache-0.5.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:5570dbcc97571c15f68068e529c92715a12f8d54030e272d264b377e22bd17a5", size = 57099, upload-time = "2026-05-08T21:01:34.915Z" }, + { url = "https://files.pythonhosted.org/packages/55/27/9cb0b4c679124085327957d42521c99dba04c88c90c3e55a6f0b633ebccc/propcache-0.5.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:f814362777a9f841adddb200ecdf8f5cb1e5a3c4b7a86378edbd6ccb26edd702", size = 63391, upload-time = "2026-05-08T21:01:36.231Z" }, + { url = "https://files.pythonhosted.org/packages/f0/9d/7258aaa5bdf60fc6f27591eef6fe52768cb0beda7140be477c8b12c9794a/propcache-0.5.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:196913dea116aeb5a2ba95af4ddcb7ea85559ae07d8eee8751688310d09168c3", size = 61626, upload-time = "2026-05-08T21:01:37.545Z" }, + { url = "https://files.pythonhosted.org/packages/8e/0d/41c602003e8a9b16fe1e7eadf62c7bfba9d5474370b24200bf48b315f45f/propcache-0.5.2-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:6e7b8719005dd1175be4ab1cd25e9b98659a5e0347331506ec6760d2773a7fb5", size = 64781, upload-time = "2026-05-08T21:01:38.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/f3/38e66b1856e9bd079deea015bc4a55f7767c0e4db2f7dcf69e7e680ba4ce/propcache-0.5.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:51f96d685ab16e88cab128cd37a52c5da540809c8b879fa047731bfcb4ad35a4", size = 62570, upload-time = "2026-05-08T21:01:40.415Z" }, + { url = "https://files.pythonhosted.org/packages/95/ca/bbfe9b910ce57dde8bb4876b4520fc02a4e89497c10de26be936758a3aaa/propcache-0.5.2-cp314-cp314-win32.whl", hash = "sha256:cc6fc3cc62e8501d3ed62894425040d2728ecddb1ed072737a5c70bd537aa9f0", size = 39436, upload-time = "2026-05-08T21:01:41.654Z" }, + { url = "https://files.pythonhosted.org/packages/61/d2/45c9defbaa1ea297035d9d4cce9e8f80daafbf19319c6007f157c6256ea9/propcache-0.5.2-cp314-cp314-win_amd64.whl", hash = "sha256:81e3a30b0bb60caa22033dd0f8a3618d1d67356212514f62c57db75cb0ef410c", size = 42373, upload-time = "2026-05-08T21:01:43.041Z" }, + { url = "https://files.pythonhosted.org/packages/44/68/9ea5103f41d5217d7d6ec24db90018e23aebec070c3f9a6e54d12b841fd8/propcache-0.5.2-cp314-cp314-win_arm64.whl", hash = "sha256:0d2c9bf8528f135dbb805ce027567e09164f7efa51a2be07458a2c0420f292d0", size = 38554, upload-time = "2026-05-08T21:01:44.336Z" }, + { url = "https://files.pythonhosted.org/packages/8a/81/fadf555f42d3b762eea8a53950b0489fdc0aa9da5f8ed9e10ce0a4e01b48/propcache-0.5.2-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:4bc8ff1feffc6a61c7002ffe84634c41b822e104990ae009f44a0834430070bb", size = 99395, upload-time = "2026-05-08T21:01:45.883Z" }, + { url = "https://files.pythonhosted.org/packages/f5/c9/c61e134a686949cf7971af3a390148b1156f7be81c73bc0cd12c873e2d48/propcache-0.5.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:79aa3ff0a9b566633b642fa9caf7e21ed1c13d6feca718187873f199e1514078", size = 56653, upload-time = "2026-05-08T21:01:47.307Z" }, + { url = "https://files.pythonhosted.org/packages/cb/73/daf935ea7048ddd7ec8eec5345b4a40b619d2d178b3c0a0900796bc3c794/propcache-0.5.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1b31822f4474c4036bae62de9402710051d431a606d6a0f907fec79935a071aa", size = 56914, upload-time = "2026-05-08T21:01:48.573Z" }, + { url = "https://files.pythonhosted.org/packages/79/9f/aba959b435ea18617edd7cf0a7ad0b9c574b8fc7e3d2cd55fb59cb255d33/propcache-0.5.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:13fef48778b5a2a756523fdb781326b028ca75e32858b04f2cdd19f394564917", size = 62567, upload-time = "2026-05-08T21:01:49.903Z" }, + { url = "https://files.pythonhosted.org/packages/6c/a1/859942de9a791ff42f6141736f5b37749b8f53e65edfa49638c67dd67e6a/propcache-0.5.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8b73ab70f1a3351fbc71f663b3e645af6dd0329100c353081cf69c37433fc6fe", size = 65542, upload-time = "2026-05-08T21:01:51.204Z" }, + { url = "https://files.pythonhosted.org/packages/b5/61/315bc0fd6c0fc7f80a528b8afd209e5fc4a875ea79571b91b8f50f442907/propcache-0.5.2-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5538d2c13d93e4698af7e092b57bc7298fd35d1d58e656ae18f23ee0d0378e03", size = 66845, upload-time = "2026-05-08T21:01:52.539Z" }, + { url = "https://files.pythonhosted.org/packages/47/f7/9f8122e3132e8e354ac41975ef8f1099be7d5a16bc7ae562734e993665c0/propcache-0.5.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cd645f03898405cabe694fb8bc35241e3a9c332ec85627584fe3de201452b335", size = 63985, upload-time = "2026-05-08T21:01:53.847Z" }, + { url = "https://files.pythonhosted.org/packages/c8/54/c317819ec157cbf6f35df9df9657a6f82daf34d5faf15948b2f639c2192e/propcache-0.5.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a473b3440261e0c60706e732b2ed2f517857344fc21bf48fdfe211e2d98eb285", size = 63999, upload-time = "2026-05-08T21:01:55.179Z" }, + { url = "https://files.pythonhosted.org/packages/5a/56/387e3f7dfce0a9233df41fb888aa1c30222cb4bbbf09537c02dd9bd85fe2/propcache-0.5.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7afa37062e6650640e932e4cc9297d81f9f42d9944029cc386b8247dea4da837", size = 62779, upload-time = "2026-05-08T21:01:57.489Z" }, + { url = "https://files.pythonhosted.org/packages/a1/9c/596784cb5824ed61ee960d3f8655a3f0993e107c6e98ab6c818b7fb92ccb/propcache-0.5.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:8a90efd5777e996e42d568db9ac740b944d691e565cbfd31b2f7832f9184b2b8", size = 59796, upload-time = "2026-05-08T21:01:58.736Z" }, + { url = "https://files.pythonhosted.org/packages/c2/3d/1a6cfa1726a48542c1e8784a0761421476a5b68e09b7f36bf95eb954aaba/propcache-0.5.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:f19bb891234d72535764d703bfed1153cc34f4214d5bd7150aee1eec9e8f4366", size = 66023, upload-time = "2026-05-08T21:02:00.228Z" }, + { url = "https://files.pythonhosted.org/packages/e4/0e/05fd6990369477076e4e280bcb970de760fddf0161a46e988bc95f7940ec/propcache-0.5.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:32775082acd2d807ee3db715c7770d38767b817870acfa08c29e057f3c4d5b56", size = 64448, upload-time = "2026-05-08T21:02:01.888Z" }, + { url = "https://files.pythonhosted.org/packages/cd/86/5f8da315a4309c62c10c0b2516b17492d5d3bbe1bb862b96604db67e2a37/propcache-0.5.2-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9282fb1a3bccd038da9f768b927b24a0c753e466c086b7c4f3c6982851eefb2d", size = 67329, upload-time = "2026-05-08T21:02:03.484Z" }, + { url = "https://files.pythonhosted.org/packages/da/d3/3368efe79ab21f0cdf86ef49895811c9cc933131d4cde1f28a624e22e712/propcache-0.5.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cc49723e2f60d6b32a0f0b08a3fd6d13203c07f1cd9566cfce0f12a917c967a2", size = 65172, upload-time = "2026-05-08T21:02:04.745Z" }, + { url = "https://files.pythonhosted.org/packages/d5/07/127e8b0bacfb325396196f9d976a22453049b89b9b2b08477cc3145faa44/propcache-0.5.2-cp314-cp314t-win32.whl", hash = "sha256:2d7aa89ebca5acc98cba9d1472d976e394782f587bad6661003602a619fd1821", size = 43813, upload-time = "2026-05-08T21:02:06.025Z" }, + { url = "https://files.pythonhosted.org/packages/88/fb/46dad6c0ae49ed230ab1b16c890c2b6314e2403e6c412976f4a72d64a527/propcache-0.5.2-cp314-cp314t-win_amd64.whl", hash = "sha256:d447bb0b3054be5818458fbb171208b1d9ff11eba14e18ca18b90cbb45767370", size = 47764, upload-time = "2026-05-08T21:02:07.353Z" }, + { url = "https://files.pythonhosted.org/packages/e7/c4/a47d0a63aa309d10d59ede6e9d4cff03a344a79d1f0f4cd0cd74997b53e0/propcache-0.5.2-cp314-cp314t-win_arm64.whl", hash = "sha256:fe67a3d11cd9b4efabfa45c3d00ffba2b26811442a73a581a94b67c2b5faccf6", size = 41140, upload-time = "2026-05-08T21:02:09.065Z" }, + { url = "https://files.pythonhosted.org/packages/3a/ed/1cdcab6ba3d6ab7feca11fc14f0eeea80755bb53ef4e892079f31b10a25f/propcache-0.5.2-py3-none-any.whl", hash = "sha256:be1ddfcbb376e3de5d2e2db1d58d6d67463e6b4f9f040c000de8e300295465fe", size = 14036, upload-time = "2026-05-08T21:02:10.673Z" }, ] [[package]] name = "proto-plus" -version = "1.27.2" +version = "1.28.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "protobuf", version = "5.29.6", source = { registry = "https://pypi.org/simple" } }, ] -sdist = { url = "https://files.pythonhosted.org/packages/81/0d/94dfe80193e79d55258345901acd2917523d56e8381bc4dee7fd38e3868a/proto_plus-1.27.2.tar.gz", hash = "sha256:b2adde53adadf75737c44d3dcb0104fde65250dfc83ad59168b4aa3e574b6a24", size = 57204, upload-time = "2026-03-26T22:18:57.174Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c9/56/e647b0c675392d2da368da7b6f158f7368b18542fd6f7d7400a2f39de000/proto_plus-1.28.0.tar.gz", hash = "sha256:38e5696342835b08fc116f30a25665b29531cda9d5d5643e9b81fc312385abd9", size = 57221, upload-time = "2026-05-07T08:04:50.811Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/84/f3/1fba73eeffafc998a25d59703b63f8be4fe8a5cb12eaff7386a0ba0f7125/proto_plus-1.27.2-py3-none-any.whl", hash = "sha256:6432f75893d3b9e70b9c412f1d2f03f65b11fb164b793d14ae2ca01821d22718", size = 50450, upload-time = "2026-03-26T22:13:42.927Z" }, + { url = "https://files.pythonhosted.org/packages/7c/20/b122d4626976acb81132036d2ad1bb35a1a8775fceb837ec30964622516a/proto_plus-1.28.0-py3-none-any.whl", hash = "sha256:a630604310899e73c59ec302e5765c058d412b2f090b9c79c8822589f14955b8", size = 50410, upload-time = "2026-05-07T08:03:31.962Z" }, ] [[package]] @@ -7124,20 +7181,24 @@ resolution-markers = [ "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", "python_full_version >= '3.14' and sys_platform == 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", + "python_full_version >= '3.14' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", "python_full_version == '3.13.*' and sys_platform == 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.13.*' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", "python_full_version == '3.13.*' and sys_platform != 'emscripten' and sys_platform != 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", "python_full_version == '3.12.*' and sys_platform == 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.12.*' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", "python_full_version == '3.12.*' and sys_platform != 'emscripten' and sys_platform != 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", "python_full_version == '3.11.*' and sys_platform == 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.11.*' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", "python_full_version == '3.11.*' and sys_platform != 'emscripten' and sys_platform != 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", "python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", ] dependencies = [ - { name = "annotated-types", marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or extra == 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic-core", version = "2.41.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or extra == 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "typing-extensions", marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or extra == 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "typing-inspection", marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or extra == 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "annotated-types", marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic-core", version = "2.41.5", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "typing-extensions", marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "typing-inspection", marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, ] sdist = { url = "https://files.pythonhosted.org/packages/69/44/36f1a6e523abc58ae5f928898e4aca2e0ea509b5aa6f6f392a5d882be928/pydantic-2.12.5.tar.gz", hash = "sha256:4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49", size = 821591, upload-time = "2025-11-26T15:11:46.471Z" } wheels = [ @@ -7146,68 +7207,29 @@ wheels = [ [package.optional-dependencies] email = [ - { name = "email-validator", marker = "python_full_version < '3.11' or sys_platform != 'emscripten'" }, + { name = "email-validator" }, ] [[package]] name = "pydantic" -version = "2.13.3" +version = "2.13.4" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version >= '3.14'", + "python_full_version == '3.13.*'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", ] dependencies = [ - { name = "annotated-types", marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic-core", version = "2.46.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands')" }, - { name = "typing-extensions", marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands')" }, - { name = "typing-inspection", marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands')" }, + { name = "annotated-types", marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-langchain' or extra == 'group-10-braintrust-test-litellm' or extra == 'group-10-braintrust-test-openai-agents' or extra == 'group-10-braintrust-test-strands' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai')" }, + { name = "pydantic-core", version = "2.46.4", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-langchain' or extra == 'group-10-braintrust-test-litellm' or extra == 'group-10-braintrust-test-openai-agents' or extra == 'group-10-braintrust-test-strands' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai')" }, + { name = "typing-extensions", marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-langchain' or extra == 'group-10-braintrust-test-litellm' or extra == 'group-10-braintrust-test-openai-agents' or extra == 'group-10-braintrust-test-strands' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai')" }, + { name = "typing-inspection", marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-langchain' or extra == 'group-10-braintrust-test-litellm' or extra == 'group-10-braintrust-test-openai-agents' or extra == 'group-10-braintrust-test-strands' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai')" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d9/e4/40d09941a2cebcb20609b86a559817d5b9291c49dd6f8c87e5feffbe703a/pydantic-2.13.3.tar.gz", hash = "sha256:af09e9d1d09f4e7fe37145c1f577e1d61ceb9a41924bf0094a36506285d0a84d", size = 844068, upload-time = "2026-04-20T14:46:43.632Z" } +sdist = { url = "https://files.pythonhosted.org/packages/18/a5/b60d21ac674192f8ab0ba4e9fd860690f9b4a6e51ca5df118733b487d8d6/pydantic-2.13.4.tar.gz", hash = "sha256:c40756b57adaa8b1efeeced5c196f3f3b7c435f90e84ea7f443901bec8099ef6", size = 844775, upload-time = "2026-05-06T13:43:05.343Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f3/0a/fd7d723f8f8153418fb40cf9c940e82004fce7e987026b08a68a36dd3fe7/pydantic-2.13.3-py3-none-any.whl", hash = "sha256:6db14ac8dfc9a1e57f87ea2c0de670c251240f43cb0c30a5130e9720dc612927", size = 471981, upload-time = "2026-04-20T14:46:41.402Z" }, -] - -[package.optional-dependencies] -email = [ - { name = "email-validator", marker = "python_full_version >= '3.11' and sys_platform == 'emscripten'" }, + { url = "https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl", hash = "sha256:45a282cde31d808236fd7ea9d919b128653c8b38b393d1c4ab335c62924d9aba", size = 472262, upload-time = "2026-05-06T13:43:02.641Z" }, ] [[package]] @@ -7232,8 +7254,7 @@ dependencies = [ { name = "griffelib" }, { name = "httpx" }, { name = "opentelemetry-api" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, { name = "pydantic-graph" }, { name = "typing-inspection" }, ] @@ -7258,11 +7279,10 @@ cli = [ { name = "prompt-toolkit" }, { name = "pyperclip" }, { name = "pyyaml" }, - { name = "rich", version = "14.3.4", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.14' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "rich", version = "15.0.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.14' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "rich", version = "14.3.4", source = { registry = "https://pypi.org/simple" } }, ] cohere = [ - { name = "cohere", version = "6.1.0", source = { registry = "https://pypi.org/simple" }, marker = "sys_platform != 'emscripten'" }, + { name = "cohere", marker = "sys_platform != 'emscripten'" }, ] evals = [ { name = "pydantic-evals" }, @@ -7324,17 +7344,21 @@ resolution-markers = [ "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", "python_full_version >= '3.14' and sys_platform == 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", + "python_full_version >= '3.14' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", "python_full_version == '3.13.*' and sys_platform == 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.13.*' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", "python_full_version == '3.13.*' and sys_platform != 'emscripten' and sys_platform != 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", "python_full_version == '3.12.*' and sys_platform == 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.12.*' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", "python_full_version == '3.12.*' and sys_platform != 'emscripten' and sys_platform != 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", "python_full_version == '3.11.*' and sys_platform == 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", + "python_full_version == '3.11.*' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", "python_full_version == '3.11.*' and sys_platform != 'emscripten' and sys_platform != 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", "python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", ] dependencies = [ - { name = "typing-extensions", marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or extra == 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "typing-extensions", marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, ] sdist = { url = "https://files.pythonhosted.org/packages/71/70/23b021c950c2addd24ec408e9ab05d59b035b39d97cdc1130e1bce647bb6/pydantic_core-2.41.5.tar.gz", hash = "sha256:08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e", size = 460952, upload-time = "2025-11-04T13:43:49.098Z" } wheels = [ @@ -7449,159 +7473,125 @@ wheels = [ [[package]] name = "pydantic-core" -version = "2.46.3" +version = "2.46.4" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version >= '3.14'", + "python_full_version == '3.13.*'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", ] dependencies = [ - { name = "typing-extensions", marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands')" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/2a/ef/f7abb56c49382a246fd2ce9c799691e3c3e7175ec74b14d99e798bcddb1a/pydantic_core-2.46.3.tar.gz", hash = "sha256:41c178f65b8c29807239d47e6050262eb6bf84eb695e41101e62e38df4a5bc2c", size = 471412, upload-time = "2026-04-20T14:40:56.672Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/22/98/b50eb9a411e87483b5c65dba4fa430a06bac4234d3403a40e5a9905ebcd0/pydantic_core-2.46.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:1da3786b8018e60349680720158cc19161cc3b4bdd815beb0a321cd5ce1ad5b1", size = 2108971, upload-time = "2026-04-20T14:43:51.945Z" }, - { url = "https://files.pythonhosted.org/packages/08/4b/f364b9d161718ff2217160a4b5d41ce38de60aed91c3689ebffa1c939d23/pydantic_core-2.46.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cc0988cb29d21bf4a9d5cf2ef970b5c0e38d8d8e107a493278c05dc6c1dda69f", size = 1949588, upload-time = "2026-04-20T14:44:10.386Z" }, - { url = "https://files.pythonhosted.org/packages/8f/8b/30bd03ee83b2f5e29f5ba8e647ab3c456bf56f2ec72fdbcc0215484a0854/pydantic_core-2.46.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27f9067c3bfadd04c55484b89c0d267981b2f3512850f6f66e1e74204a4e4ce3", size = 1975986, upload-time = "2026-04-20T14:43:57.106Z" }, - { url = "https://files.pythonhosted.org/packages/3c/54/13ccf954d84ec275d5d023d5786e4aa48840bc9f161f2838dc98e1153518/pydantic_core-2.46.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a642ac886ecf6402d9882d10c405dcf4b902abeb2972cd5fb4a48c83cd59279a", size = 2055830, upload-time = "2026-04-20T14:44:15.499Z" }, - { url = "https://files.pythonhosted.org/packages/be/0e/65f38125e660fdbd72aa858e7dfae893645cfa0e7b13d333e174a367cd23/pydantic_core-2.46.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:79f561438481f28681584b89e2effb22855e2179880314bcddbf5968e935e807", size = 2222340, upload-time = "2026-04-20T14:41:51.353Z" }, - { url = "https://files.pythonhosted.org/packages/d1/88/f3ab7739efe0e7e80777dbb84c59eb98518e3f57ea433206194c2e425272/pydantic_core-2.46.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57a973eae4665352a47cf1a99b4ee864620f2fe663a217d7a8da68a1f3a5bfda", size = 2280727, upload-time = "2026-04-20T14:41:30.461Z" }, - { url = "https://files.pythonhosted.org/packages/2a/6d/c228219080817bec4982f9531cadb18da6aaa770fdeb114f49c237ac2c9f/pydantic_core-2.46.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83d002b97072a53ea150d63e0a3adfae5670cef5aa8a6e490240e482d3b22e57", size = 2092158, upload-time = "2026-04-20T14:44:07.305Z" }, - { url = "https://files.pythonhosted.org/packages/0f/b1/525a16711e7c6d61635fac3b0bd54600b5c5d9f60c6fc5aaab26b64a2297/pydantic_core-2.46.3-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:b40ddd51e7c44b28cfaef746c9d3c506d658885e0a46f9eeef2ee815cbf8e045", size = 2116626, upload-time = "2026-04-20T14:42:34.118Z" }, - { url = "https://files.pythonhosted.org/packages/ef/7c/17d30673351439a6951bf54f564cf2443ab00ae264ec9df00e2efd710eb5/pydantic_core-2.46.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ac5ec7fb9b87f04ee839af2d53bcadea57ded7d229719f56c0ed895bff987943", size = 2160691, upload-time = "2026-04-20T14:41:14.023Z" }, - { url = "https://files.pythonhosted.org/packages/86/66/af8adbcbc0886ead7f1a116606a534d75a307e71e6e08226000d51b880d2/pydantic_core-2.46.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a3b11c812f61b3129c4905781a2601dfdfdea5fe1e6c1cfb696b55d14e9c054f", size = 2182543, upload-time = "2026-04-20T14:40:48.886Z" }, - { url = "https://files.pythonhosted.org/packages/b0/37/6de71e0f54c54a4190010f57deb749e1ddf75c568ada3b1320b70067f121/pydantic_core-2.46.3-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:1108da631e602e5b3c38d6d04fe5bb3bfa54349e6918e3ca6cf570b2e2b2f9d4", size = 2324513, upload-time = "2026-04-20T14:42:36.121Z" }, - { url = "https://files.pythonhosted.org/packages/51/b1/9fc74ce94f603d5ef59ff258ca9c2c8fb902fb548d340a96f77f4d1c3b7f/pydantic_core-2.46.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:de885175515bcfa98ae618c1df7a072f13d179f81376c8007112af20567fd08a", size = 2361853, upload-time = "2026-04-20T14:43:24.886Z" }, - { url = "https://files.pythonhosted.org/packages/40/d0/4c652fc592db35f100279ee751d5a145aca1b9a7984b9684ba7c1b5b0535/pydantic_core-2.46.3-cp310-cp310-win32.whl", hash = "sha256:d11058e3201527d41bc6b545c79187c9e4bf85e15a236a6007f0e991518882b7", size = 1980465, upload-time = "2026-04-20T14:44:46.239Z" }, - { url = "https://files.pythonhosted.org/packages/27/b8/a920453c38afbe1f355e1ea0b0d94a0a3e0b0879d32d793108755fa171d5/pydantic_core-2.46.3-cp310-cp310-win_amd64.whl", hash = "sha256:3612edf65c8ea67ac13616c4d23af12faef1ae435a8a93e5934c2a0cbbdd1fd6", size = 2073884, upload-time = "2026-04-20T14:43:01.201Z" }, - { url = "https://files.pythonhosted.org/packages/22/a2/1ba90a83e85a3f94c796b184f3efde9c72f2830dcda493eea8d59ba78e6d/pydantic_core-2.46.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:ab124d49d0459b2373ecf54118a45c28a1e6d4192a533fbc915e70f556feb8e5", size = 2106740, upload-time = "2026-04-20T14:41:20.932Z" }, - { url = "https://files.pythonhosted.org/packages/b6/f6/99ae893c89a0b9d3daec9f95487aa676709aa83f67643b3f0abaf4ab628a/pydantic_core-2.46.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:cca67d52a5c7a16aed2b3999e719c4bcf644074eac304a5d3d62dd70ae7d4b2c", size = 1948293, upload-time = "2026-04-20T14:43:42.115Z" }, - { url = "https://files.pythonhosted.org/packages/3e/b8/2e8e636dc9e3f16c2e16bf0849e24be82c5ee82c603c65fc0326666328fc/pydantic_core-2.46.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c024e08c0ba23e6fd68c771a521e9d6a792f2ebb0fa734296b36394dc30390e", size = 1973222, upload-time = "2026-04-20T14:41:57.841Z" }, - { url = "https://files.pythonhosted.org/packages/34/36/0e730beec4d83c5306f417afbd82ff237d9a21e83c5edf675f31ed84c1fe/pydantic_core-2.46.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6645ce7eec4928e29a1e3b3d5c946621d105d3e79f0c9cddf07c2a9770949287", size = 2053852, upload-time = "2026-04-20T14:40:43.077Z" }, - { url = "https://files.pythonhosted.org/packages/4b/f0/3071131f47e39136a17814576e0fada9168569f7f8c0e6ac4d1ede6a4958/pydantic_core-2.46.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a712c7118e6c5ea96562f7b488435172abb94a3c53c22c9efc1412264a45cbbe", size = 2221134, upload-time = "2026-04-20T14:43:03.349Z" }, - { url = "https://files.pythonhosted.org/packages/2f/a9/a2dc023eec5aa4b02a467874bad32e2446957d2adcab14e107eab502e978/pydantic_core-2.46.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:69a868ef3ff206343579021c40faf3b1edc64b1cc508ff243a28b0a514ccb050", size = 2279785, upload-time = "2026-04-20T14:41:19.285Z" }, - { url = "https://files.pythonhosted.org/packages/0a/44/93f489d16fb63fbd41c670441536541f6e8cfa1e5a69f40bc9c5d30d8c90/pydantic_core-2.46.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc7e8c32db809aa0f6ea1d6869ebc8518a65d5150fdfad8bcae6a49ae32a22e2", size = 2089404, upload-time = "2026-04-20T14:43:10.108Z" }, - { url = "https://files.pythonhosted.org/packages/2a/78/8692e3aa72b2d004f7a5d937f1dfdc8552ba26caf0bec75f342c40f00dec/pydantic_core-2.46.3-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:3481bd1341dc85779ee506bc8e1196a277ace359d89d28588a9468c3ecbe63fa", size = 2114898, upload-time = "2026-04-20T14:44:51.475Z" }, - { url = "https://files.pythonhosted.org/packages/6a/62/e83133f2e7832532060175cebf1f13748f4c7e7e7165cdd1f611f174494b/pydantic_core-2.46.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8690eba565c6d68ffd3a8655525cbdd5246510b44a637ee2c6c03a7ebfe64d3c", size = 2157856, upload-time = "2026-04-20T14:43:46.64Z" }, - { url = "https://files.pythonhosted.org/packages/6d/ec/6a500e3ad7718ee50583fae79c8651f5d37e3abce1fa9ae177ae65842c53/pydantic_core-2.46.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4de88889d7e88d50d40ee5b39d5dac0bcaef9ba91f7e536ac064e6b2834ecccf", size = 2180168, upload-time = "2026-04-20T14:42:00.302Z" }, - { url = "https://files.pythonhosted.org/packages/d8/53/8267811054b1aa7fc1dc7ded93812372ef79a839f5e23558136a6afbfde1/pydantic_core-2.46.3-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:e480080975c1ef7f780b8f99ed72337e7cc5efea2e518a20a692e8e7b278eb8b", size = 2322885, upload-time = "2026-04-20T14:41:05.253Z" }, - { url = "https://files.pythonhosted.org/packages/c8/c1/1c0acdb3aa0856ddc4ecc55214578f896f2de16f400cf51627eb3c26c1c4/pydantic_core-2.46.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:de3a5c376f8cd94da9a1b8fd3dd1c16c7a7b216ed31dc8ce9fd7a22bf13b836e", size = 2360328, upload-time = "2026-04-20T14:41:43.991Z" }, - { url = "https://files.pythonhosted.org/packages/f0/d0/ef39cd0f4a926814f360e71c1adeab48ad214d9727e4deb48eedfb5bce1a/pydantic_core-2.46.3-cp311-cp311-win32.whl", hash = "sha256:fc331a5314ffddd5385b9ee9d0d2fee0b13c27e0e02dad71b1ae5d6561f51eeb", size = 1979464, upload-time = "2026-04-20T14:43:12.215Z" }, - { url = "https://files.pythonhosted.org/packages/18/9c/f41951b0d858e343f1cf09398b2a7b3014013799744f2c4a8ad6a3eec4f2/pydantic_core-2.46.3-cp311-cp311-win_amd64.whl", hash = "sha256:b5b9c6cf08a8a5e502698f5e153056d12c34b8fb30317e0c5fd06f45162a6346", size = 2070837, upload-time = "2026-04-20T14:41:47.707Z" }, - { url = "https://files.pythonhosted.org/packages/9f/1e/264a17cd582f6ed50950d4d03dd5fefd84e570e238afe1cb3e25cf238769/pydantic_core-2.46.3-cp311-cp311-win_arm64.whl", hash = "sha256:5dfd51cf457482f04ec49491811a2b8fd5b843b64b11eecd2d7a1ee596ea78a6", size = 2053647, upload-time = "2026-04-20T14:42:27.535Z" }, - { url = "https://files.pythonhosted.org/packages/4b/cb/5b47425556ecc1f3fe18ed2a0083188aa46e1dd812b06e406475b3a5d536/pydantic_core-2.46.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:b11b59b3eee90a80a36701ddb4576d9ae31f93f05cb9e277ceaa09e6bf074a67", size = 2101946, upload-time = "2026-04-20T14:40:52.581Z" }, - { url = "https://files.pythonhosted.org/packages/a1/4f/2fb62c2267cae99b815bbf4a7b9283812c88ca3153ef29f7707200f1d4e5/pydantic_core-2.46.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:af8653713055ea18a3abc1537fe2ebc42f5b0bbb768d1eb79fd74eb47c0ac089", size = 1951612, upload-time = "2026-04-20T14:42:42.996Z" }, - { url = "https://files.pythonhosted.org/packages/50/6e/b7348fd30d6556d132cddd5bd79f37f96f2601fe0608afac4f5fb01ec0b3/pydantic_core-2.46.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:75a519dab6d63c514f3a81053e5266c549679e4aa88f6ec57f2b7b854aceb1b0", size = 1977027, upload-time = "2026-04-20T14:42:02.001Z" }, - { url = "https://files.pythonhosted.org/packages/82/11/31d60ee2b45540d3fb0b29302a393dbc01cd771c473f5b5147bcd353e593/pydantic_core-2.46.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a6cd87cb1575b1ad05ba98894c5b5c96411ef678fa2f6ed2576607095b8d9789", size = 2063008, upload-time = "2026-04-20T14:44:17.952Z" }, - { url = "https://files.pythonhosted.org/packages/8a/db/3a9d1957181b59258f44a2300ab0f0be9d1e12d662a4f57bb31250455c52/pydantic_core-2.46.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f80a55484b8d843c8ada81ebf70a682f3f00a3d40e378c06cf17ecb44d280d7d", size = 2233082, upload-time = "2026-04-20T14:40:57.934Z" }, - { url = "https://files.pythonhosted.org/packages/9c/e1/3277c38792aeb5cfb18c2f0c5785a221d9ff4e149abbe1184d53d5f72273/pydantic_core-2.46.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3861f1731b90c50a3266316b9044f5c9b405eecb8e299b0a7120596334e4fe9c", size = 2304615, upload-time = "2026-04-20T14:42:12.584Z" }, - { url = "https://files.pythonhosted.org/packages/5e/d5/e3d9717c9eba10855325650afd2a9cba8e607321697f18953af9d562da2f/pydantic_core-2.46.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb528e295ed31570ac3dcc9bfdd6e0150bc11ce6168ac87a8082055cf1a67395", size = 2094380, upload-time = "2026-04-20T14:43:05.522Z" }, - { url = "https://files.pythonhosted.org/packages/a1/20/abac35dedcbfd66c6f0b03e4e3564511771d6c9b7ede10a362d03e110d9b/pydantic_core-2.46.3-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:367508faa4973b992b271ba1494acaab36eb7e8739d1e47be5035fb1ea225396", size = 2135429, upload-time = "2026-04-20T14:41:55.549Z" }, - { url = "https://files.pythonhosted.org/packages/6c/a5/41bfd1df69afad71b5cf0535055bccc73022715ad362edbc124bc1e021d7/pydantic_core-2.46.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5ad3c826fe523e4becf4fe39baa44286cff85ef137c729a2c5e269afbfd0905d", size = 2174582, upload-time = "2026-04-20T14:41:45.96Z" }, - { url = "https://files.pythonhosted.org/packages/79/65/38d86ea056b29b2b10734eb23329b7a7672ca604df4f2b6e9c02d4ee22fe/pydantic_core-2.46.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ec638c5d194ef8af27db69f16c954a09797c0dc25015ad6123eb2c73a4d271ca", size = 2187533, upload-time = "2026-04-20T14:40:55.367Z" }, - { url = "https://files.pythonhosted.org/packages/b6/55/a1129141678a2026badc539ad1dee0a71d06f54c2f06a4bd68c030ac781b/pydantic_core-2.46.3-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:28ed528c45446062ee66edb1d33df5d88828ae167de76e773a3c7f64bd14e976", size = 2332985, upload-time = "2026-04-20T14:44:13.05Z" }, - { url = "https://files.pythonhosted.org/packages/d7/60/cb26f4077719f709e54819f4e8e1d43f4091f94e285eb6bd21e1190a7b7c/pydantic_core-2.46.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:aed19d0c783886d5bd86d80ae5030006b45e28464218747dcf83dabfdd092c7b", size = 2373670, upload-time = "2026-04-20T14:41:53.421Z" }, - { url = "https://files.pythonhosted.org/packages/6b/7e/c3f21882bdf1d8d086876f81b5e296206c69c6082551d776895de7801fa0/pydantic_core-2.46.3-cp312-cp312-win32.whl", hash = "sha256:06d5d8820cbbdb4147578c1fe7ffcd5b83f34508cb9f9ab76e807be7db6ff0a4", size = 1966722, upload-time = "2026-04-20T14:44:30.588Z" }, - { url = "https://files.pythonhosted.org/packages/57/be/6b5e757b859013ebfbd7adba02f23b428f37c86dcbf78b5bb0b4ffd36e99/pydantic_core-2.46.3-cp312-cp312-win_amd64.whl", hash = "sha256:c3212fda0ee959c1dd04c60b601ec31097aaa893573a3a1abd0a47bcac2968c1", size = 2072970, upload-time = "2026-04-20T14:42:54.248Z" }, - { url = "https://files.pythonhosted.org/packages/bf/f8/a989b21cc75e9a32d24192ef700eea606521221a89faa40c919ce884f2b1/pydantic_core-2.46.3-cp312-cp312-win_arm64.whl", hash = "sha256:f1f8338dd7a7f31761f1f1a3c47503a9a3b34eea3c8b01fa6ee96408affb5e72", size = 2035963, upload-time = "2026-04-20T14:44:20.4Z" }, - { url = "https://files.pythonhosted.org/packages/9b/3c/9b5e8eb9821936d065439c3b0fb1490ffa64163bfe7e1595985a47896073/pydantic_core-2.46.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:12bc98de041458b80c86c56b24df1d23832f3e166cbaff011f25d187f5c62c37", size = 2102109, upload-time = "2026-04-20T14:41:24.219Z" }, - { url = "https://files.pythonhosted.org/packages/91/97/1c41d1f5a19f241d8069f1e249853bcce378cdb76eec8ab636d7bc426280/pydantic_core-2.46.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:85348b8f89d2c3508b65b16c3c33a4da22b8215138d8b996912bb1532868885f", size = 1951820, upload-time = "2026-04-20T14:42:14.236Z" }, - { url = "https://files.pythonhosted.org/packages/30/b4/d03a7ae14571bc2b6b3c7b122441154720619afe9a336fa3a95434df5e2f/pydantic_core-2.46.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1105677a6df914b1fb71a81b96c8cce7726857e1717d86001f29be06a25ee6f8", size = 1977785, upload-time = "2026-04-20T14:42:31.648Z" }, - { url = "https://files.pythonhosted.org/packages/ae/0c/4086f808834b59e3c8f1aa26df8f4b6d998cdcf354a143d18ef41529d1fe/pydantic_core-2.46.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:87082cd65669a33adeba5470769e9704c7cf026cc30afb9cc77fd865578ebaad", size = 2062761, upload-time = "2026-04-20T14:40:37.093Z" }, - { url = "https://files.pythonhosted.org/packages/fa/71/a649be5a5064c2df0db06e0a512c2281134ed2fcc981f52a657936a7527c/pydantic_core-2.46.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:60e5f66e12c4f5212d08522963380eaaeac5ebd795826cfd19b2dfb0c7a52b9c", size = 2232989, upload-time = "2026-04-20T14:42:59.254Z" }, - { url = "https://files.pythonhosted.org/packages/a2/84/7756e75763e810b3a710f4724441d1ecc5883b94aacb07ca71c5fb5cfb69/pydantic_core-2.46.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b6cdf19bf84128d5e7c37e8a73a0c5c10d51103a650ac585d42dd6ae233f2b7f", size = 2303975, upload-time = "2026-04-20T14:41:32.287Z" }, - { url = "https://files.pythonhosted.org/packages/6c/35/68a762e0c1e31f35fa0dac733cbd9f5b118042853698de9509c8e5bf128b/pydantic_core-2.46.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:031bb17f4885a43773c8c763089499f242aee2ea85cf17154168775dccdecf35", size = 2095325, upload-time = "2026-04-20T14:42:47.685Z" }, - { url = "https://files.pythonhosted.org/packages/77/bf/1bf8c9a8e91836c926eae5e3e51dce009bf495a60ca56060689d3df3f340/pydantic_core-2.46.3-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:bcf2a8b2982a6673693eae7348ef3d8cf3979c1d63b54fca7c397a635cc68687", size = 2133368, upload-time = "2026-04-20T14:41:22.766Z" }, - { url = "https://files.pythonhosted.org/packages/e5/50/87d818d6bab915984995157ceb2380f5aac4e563dddbed6b56f0ed057aba/pydantic_core-2.46.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28e8cf2f52d72ced402a137145923a762cbb5081e48b34312f7a0c8f55928ec3", size = 2173908, upload-time = "2026-04-20T14:42:52.044Z" }, - { url = "https://files.pythonhosted.org/packages/91/88/a311fb306d0bd6185db41fa14ae888fb81d0baf648a761ae760d30819d33/pydantic_core-2.46.3-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:17eaface65d9fc5abb940003020309c1bf7a211f5f608d7870297c367e6f9022", size = 2186422, upload-time = "2026-04-20T14:43:29.55Z" }, - { url = "https://files.pythonhosted.org/packages/8f/79/28fd0d81508525ab2054fef7c77a638c8b5b0afcbbaeee493cf7c3fef7e1/pydantic_core-2.46.3-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:93fd339f23408a07e98950a89644f92c54d8729719a40b30c0a30bb9ebc55d23", size = 2332709, upload-time = "2026-04-20T14:42:16.134Z" }, - { url = "https://files.pythonhosted.org/packages/b3/21/795bf5fe5c0f379308b8ef19c50dedab2e7711dbc8d0c2acf08f1c7daa05/pydantic_core-2.46.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:23cbdb3aaa74dfe0837975dbf69b469753bbde8eacace524519ffdb6b6e89eb7", size = 2372428, upload-time = "2026-04-20T14:41:10.974Z" }, - { url = "https://files.pythonhosted.org/packages/45/b3/ed14c659cbe7605e3ef063077680a64680aec81eb1a04763a05190d49b7f/pydantic_core-2.46.3-cp313-cp313-win32.whl", hash = "sha256:610eda2e3838f401105e6326ca304f5da1e15393ae25dacae5c5c63f2c275b13", size = 1965601, upload-time = "2026-04-20T14:41:42.128Z" }, - { url = "https://files.pythonhosted.org/packages/ef/bb/adb70d9a762ddd002d723fbf1bd492244d37da41e3af7b74ad212609027e/pydantic_core-2.46.3-cp313-cp313-win_amd64.whl", hash = "sha256:68cc7866ed863db34351294187f9b729964c371ba33e31c26f478471c52e1ed0", size = 2071517, upload-time = "2026-04-20T14:43:36.096Z" }, - { url = "https://files.pythonhosted.org/packages/52/eb/66faefabebfe68bd7788339c9c9127231e680b11906368c67ce112fdb47f/pydantic_core-2.46.3-cp313-cp313-win_arm64.whl", hash = "sha256:f64b5537ac62b231572879cd08ec05600308636a5d63bcbdb15063a466977bec", size = 2035802, upload-time = "2026-04-20T14:43:38.507Z" }, - { url = "https://files.pythonhosted.org/packages/7f/db/a7bcb4940183fda36022cd18ba8dd12f2dff40740ec7b58ce7457befa416/pydantic_core-2.46.3-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:afa3aa644f74e290cdede48a7b0bee37d1c35e71b05105f6b340d484af536d9b", size = 2097614, upload-time = "2026-04-20T14:44:38.374Z" }, - { url = "https://files.pythonhosted.org/packages/24/35/e4066358a22e3e99519db370494c7528f5a2aa1367370e80e27e20283543/pydantic_core-2.46.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ced3310e51aa425f7f77da8bbbb5212616655bedbe82c70944320bc1dbe5e018", size = 1951896, upload-time = "2026-04-20T14:40:53.996Z" }, - { url = "https://files.pythonhosted.org/packages/87/92/37cf4049d1636996e4b888c05a501f40a43ff218983a551d57f9d5e14f0d/pydantic_core-2.46.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e29908922ce9da1a30b4da490bd1d3d82c01dcfdf864d2a74aacee674d0bfa34", size = 1979314, upload-time = "2026-04-20T14:41:49.446Z" }, - { url = "https://files.pythonhosted.org/packages/d8/36/9ff4d676dfbdfb2d591cf43f3d90ded01e15b1404fd101180ed2d62a2fd3/pydantic_core-2.46.3-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0c9ff69140423eea8ed2d5477df3ba037f671f5e897d206d921bc9fdc39613e7", size = 2056133, upload-time = "2026-04-20T14:42:23.574Z" }, - { url = "https://files.pythonhosted.org/packages/bc/f0/405b442a4d7ba855b06eec8b2bf9c617d43b8432d099dfdc7bf999293495/pydantic_core-2.46.3-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b675ab0a0d5b1c8fdb81195dc5bcefea3f3c240871cdd7ff9a2de8aa50772eb2", size = 2228726, upload-time = "2026-04-20T14:44:22.816Z" }, - { url = "https://files.pythonhosted.org/packages/e7/f8/65cd92dd5a0bd89ba277a98ecbfaf6fc36bbd3300973c7a4b826d6ab1391/pydantic_core-2.46.3-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0087084960f209a9a4af50ecd1fb063d9ad3658c07bb81a7a53f452dacbfb2ba", size = 2301214, upload-time = "2026-04-20T14:44:48.792Z" }, - { url = "https://files.pythonhosted.org/packages/fd/86/ef96a4c6e79e7a2d0410826a68fbc0eccc0fd44aa733be199d5fcac3bb87/pydantic_core-2.46.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed42e6cc8e1b0e2b9b96e2276bad70ae625d10d6d524aed0c93de974ae029f9f", size = 2099927, upload-time = "2026-04-20T14:41:40.196Z" }, - { url = "https://files.pythonhosted.org/packages/6d/53/269caf30e0096e0a8a8f929d1982a27b3879872cca2d917d17c2f9fdf4fe/pydantic_core-2.46.3-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:f1771ce258afb3e4201e67d154edbbae712a76a6081079fe247c2f53c6322c22", size = 2128789, upload-time = "2026-04-20T14:41:15.868Z" }, - { url = "https://files.pythonhosted.org/packages/00/b0/1a6d9b6a587e118482910c244a1c5acf4d192604174132efd12bf0ac486f/pydantic_core-2.46.3-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a7610b6a5242a6c736d8ad47fd5fff87fcfe8f833b281b1c409c3d6835d9227f", size = 2173815, upload-time = "2026-04-20T14:44:25.152Z" }, - { url = "https://files.pythonhosted.org/packages/87/56/e7e00d4041a7e62b5a40815590114db3b535bf3ca0bf4dca9f16cef25246/pydantic_core-2.46.3-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:ff5e7783bcc5476e1db448bf268f11cb257b1c276d3e89f00b5727be86dd0127", size = 2181608, upload-time = "2026-04-20T14:41:28.933Z" }, - { url = "https://files.pythonhosted.org/packages/e8/22/4bd23c3d41f7c185d60808a1de83c76cf5aeabf792f6c636a55c3b1ec7f9/pydantic_core-2.46.3-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:9d2e32edcc143bc01e95300671915d9ca052d4f745aa0a49c48d4803f8a85f2c", size = 2326968, upload-time = "2026-04-20T14:42:03.962Z" }, - { url = "https://files.pythonhosted.org/packages/24/ac/66cd45129e3915e5ade3b292cb3bc7fd537f58f8f8dbdaba6170f7cabb74/pydantic_core-2.46.3-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:6e42d83d1c6b87fa56b521479cff237e626a292f3b31b6345c15a99121b454c1", size = 2369842, upload-time = "2026-04-20T14:41:35.52Z" }, - { url = "https://files.pythonhosted.org/packages/a2/51/dd4248abb84113615473aa20d5545b7c4cd73c8644003b5259686f93996c/pydantic_core-2.46.3-cp314-cp314-win32.whl", hash = "sha256:07bc6d2a28c3adb4f7c6ae46aa4f2d2929af127f587ed44057af50bf1ce0f505", size = 1959661, upload-time = "2026-04-20T14:41:00.042Z" }, - { url = "https://files.pythonhosted.org/packages/20/eb/59980e5f1ae54a3b86372bd9f0fa373ea2d402e8cdcd3459334430f91e91/pydantic_core-2.46.3-cp314-cp314-win_amd64.whl", hash = "sha256:8940562319bc621da30714617e6a7eaa6b98c84e8c685bcdc02d7ed5e7c7c44e", size = 2071686, upload-time = "2026-04-20T14:43:16.471Z" }, - { url = "https://files.pythonhosted.org/packages/8c/db/1cf77e5247047dfee34bc01fa9bca134854f528c8eb053e144298893d370/pydantic_core-2.46.3-cp314-cp314-win_arm64.whl", hash = "sha256:5dcbbcf4d22210ced8f837c96db941bdb078f419543472aca5d9a0bb7cddc7df", size = 2026907, upload-time = "2026-04-20T14:43:31.732Z" }, - { url = "https://files.pythonhosted.org/packages/57/c0/b3df9f6a543276eadba0a48487b082ca1f201745329d97dbfa287034a230/pydantic_core-2.46.3-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:d0fe3dce1e836e418f912c1ad91c73357d03e556a4d286f441bf34fed2dbeecf", size = 2095047, upload-time = "2026-04-20T14:42:37.982Z" }, - { url = "https://files.pythonhosted.org/packages/66/57/886a938073b97556c168fd99e1a7305bb363cd30a6d2c76086bf0587b32a/pydantic_core-2.46.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:9ce92e58abc722dac1bf835a6798a60b294e48eb0e625ec9fd994b932ac5feee", size = 1934329, upload-time = "2026-04-20T14:43:49.655Z" }, - { url = "https://files.pythonhosted.org/packages/0b/7c/b42eaa5c34b13b07ecb51da21761297a9b8eb43044c864a035999998f328/pydantic_core-2.46.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a03e6467f0f5ab796a486146d1b887b2dc5e5f9b3288898c1b1c3ad974e53e4a", size = 1974847, upload-time = "2026-04-20T14:42:10.737Z" }, - { url = "https://files.pythonhosted.org/packages/e6/9b/92b42db6543e7de4f99ae977101a2967b63122d4b6cf7773812da2d7d5b5/pydantic_core-2.46.3-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2798b6ba041b9d70acfb9071a2ea13c8456dd1e6a5555798e41ba7b0790e329c", size = 2041742, upload-time = "2026-04-20T14:40:44.262Z" }, - { url = "https://files.pythonhosted.org/packages/0f/19/46fbe1efabb5aa2834b43b9454e70f9a83ad9c338c1291e48bdc4fecf167/pydantic_core-2.46.3-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9be3e221bdc6d69abf294dcf7aff6af19c31a5cdcc8f0aa3b14be29df4bd03b1", size = 2236235, upload-time = "2026-04-20T14:41:27.307Z" }, - { url = "https://files.pythonhosted.org/packages/77/da/b3f95bc009ad60ec53120f5d16c6faa8cabdbe8a20d83849a1f2b8728148/pydantic_core-2.46.3-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f13936129ce841f2a5ddf6f126fea3c43cd128807b5a59588c37cf10178c2e64", size = 2282633, upload-time = "2026-04-20T14:44:33.271Z" }, - { url = "https://files.pythonhosted.org/packages/cc/6e/401336117722e28f32fb8220df676769d28ebdf08f2f4469646d404c43a3/pydantic_core-2.46.3-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28b5f2ef03416facccb1c6ef744c69793175fd27e44ef15669201601cf423acb", size = 2109679, upload-time = "2026-04-20T14:44:41.065Z" }, - { url = "https://files.pythonhosted.org/packages/fc/53/b289f9bc8756a32fe718c46f55afaeaf8d489ee18d1a1e7be1db73f42cc4/pydantic_core-2.46.3-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:830d1247d77ad23852314f069e9d7ddafeec5f684baf9d7e7065ed46a049c4e6", size = 2108342, upload-time = "2026-04-20T14:42:50.144Z" }, - { url = "https://files.pythonhosted.org/packages/10/5b/8292fc7c1f9111f1b2b7c1b0dcf1179edcd014fc3ea4517499f50b829d71/pydantic_core-2.46.3-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0793c90c1a3c74966e7975eaef3ed30ebdff3260a0f815a62a22adc17e4c01c", size = 2157208, upload-time = "2026-04-20T14:42:08.133Z" }, - { url = "https://files.pythonhosted.org/packages/2b/9e/f80044e9ec07580f057a89fc131f78dda7a58751ddf52bbe05eaf31db50f/pydantic_core-2.46.3-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:d2d0aead851b66f5245ec0c4fb2612ef457f8bbafefdf65a2bf9d6bac6140f47", size = 2167237, upload-time = "2026-04-20T14:42:25.412Z" }, - { url = "https://files.pythonhosted.org/packages/f8/84/6781a1b037f3b96be9227edbd1101f6d3946746056231bf4ac48cdff1a8d/pydantic_core-2.46.3-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:2f40e4246676beb31c5ce77c38a55ca4e465c6b38d11ea1bd935420568e0b1ab", size = 2312540, upload-time = "2026-04-20T14:40:40.313Z" }, - { url = "https://files.pythonhosted.org/packages/3e/db/19c0839feeb728e7df03255581f198dfdf1c2aeb1e174a8420b63c5252e5/pydantic_core-2.46.3-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:cf489cf8986c543939aeee17a09c04d6ffb43bfef8ca16fcbcc5cfdcbed24dba", size = 2369556, upload-time = "2026-04-20T14:41:09.427Z" }, - { url = "https://files.pythonhosted.org/packages/e0/15/3228774cb7cd45f5f721ddf1b2242747f4eb834d0c491f0c02d606f09fed/pydantic_core-2.46.3-cp314-cp314t-win32.whl", hash = "sha256:ffe0883b56cfc05798bf994164d2b2ff03efe2d22022a2bb080f3b626176dd56", size = 1949756, upload-time = "2026-04-20T14:41:25.717Z" }, - { url = "https://files.pythonhosted.org/packages/b8/2a/c79cf53fd91e5a87e30d481809f52f9a60dd221e39de66455cf04deaad37/pydantic_core-2.46.3-cp314-cp314t-win_amd64.whl", hash = "sha256:706d9d0ce9cf4593d07270d8e9f53b161f90c57d315aeec4fb4fd7a8b10240d8", size = 2051305, upload-time = "2026-04-20T14:43:18.627Z" }, - { url = "https://files.pythonhosted.org/packages/0b/db/d8182a7f1d9343a032265aae186eb063fe26ca4c40f256b21e8da4498e89/pydantic_core-2.46.3-cp314-cp314t-win_arm64.whl", hash = "sha256:77706aeb41df6a76568434701e0917da10692da28cb69d5fb6919ce5fdb07374", size = 2026310, upload-time = "2026-04-20T14:41:01.778Z" }, - { url = "https://files.pythonhosted.org/packages/66/7f/03dbad45cd3aa9083fbc93c210ae8b005af67e4136a14186950a747c6874/pydantic_core-2.46.3-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:9715525891ed524a0a1eb6d053c74d4d4ad5017677fb00af0b7c2644a31bae46", size = 2105683, upload-time = "2026-04-20T14:42:19.779Z" }, - { url = "https://files.pythonhosted.org/packages/26/22/4dc186ac8ea6b257e9855031f51b62a9637beac4d68ac06bee02f046f836/pydantic_core-2.46.3-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:9d2f400712a99a013aff420ef1eb9be077f8189a36c1e3ef87660b4e1088a874", size = 1940052, upload-time = "2026-04-20T14:43:59.274Z" }, - { url = "https://files.pythonhosted.org/packages/0d/ca/d376391a5aff1f2e8188960d7873543608130a870961c2b6b5236627c116/pydantic_core-2.46.3-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd2aab0e2e9dc2daf36bd2686c982535d5e7b1d930a1344a7bb6e82baab42a76", size = 1988172, upload-time = "2026-04-20T14:41:17.469Z" }, - { url = "https://files.pythonhosted.org/packages/0e/6b/523b9f85c23788755d6ab949329de692a2e3a584bc6beb67fef5e035aa9d/pydantic_core-2.46.3-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e9d76736da5f362fabfeea6a69b13b7f2be405c6d6966f06b2f6bfff7e64531", size = 2128596, upload-time = "2026-04-20T14:40:41.707Z" }, - { url = "https://files.pythonhosted.org/packages/34/42/f426db557e8ab2791bc7562052299944a118655496fbff99914e564c0a94/pydantic_core-2.46.3-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:b12dd51f1187c2eb489af8e20f880362db98e954b54ab792fa5d92e8bcc6b803", size = 2091877, upload-time = "2026-04-20T14:43:27.091Z" }, - { url = "https://files.pythonhosted.org/packages/5c/4f/86a832a9d14df58e663bfdf4627dc00d3317c2bd583c4fb23390b0f04b8e/pydantic_core-2.46.3-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:f00a0961b125f1a47af7bcc17f00782e12f4cd056f83416006b30111d941dfa3", size = 1932428, upload-time = "2026-04-20T14:40:45.781Z" }, - { url = "https://files.pythonhosted.org/packages/11/1a/fe857968954d93fb78e0d4b6df5c988c74c4aaa67181c60be7cfe327c0ca/pydantic_core-2.46.3-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57697d7c056aca4bbb680200f96563e841a6386ac1129370a0102592f4dddff5", size = 1997550, upload-time = "2026-04-20T14:44:02.425Z" }, - { url = "https://files.pythonhosted.org/packages/17/eb/9d89ad2d9b0ba8cd65393d434471621b98912abb10fbe1df08e480ba57b5/pydantic_core-2.46.3-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd35aa21299def8db7ef4fe5c4ff862941a9a158ca7b63d61e66fe67d30416b4", size = 2137657, upload-time = "2026-04-20T14:42:45.149Z" }, - { url = "https://files.pythonhosted.org/packages/1f/da/99d40830684f81dec901cac521b5b91c095394cc1084b9433393cde1c2df/pydantic_core-2.46.3-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:13afdd885f3d71280cf286b13b310ee0f7ccfefd1dbbb661514a474b726e2f25", size = 2107973, upload-time = "2026-04-20T14:42:06.175Z" }, - { url = "https://files.pythonhosted.org/packages/99/a5/87024121818d75bbb2a98ddbaf638e40e7a18b5e0f5492c9ca4b1b316107/pydantic_core-2.46.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:f91c0aff3e3ee0928edd1232c57f643a7a003e6edf1860bc3afcdc749cb513f3", size = 1947191, upload-time = "2026-04-20T14:43:14.319Z" }, - { url = "https://files.pythonhosted.org/packages/60/62/0c1acfe10945b83a6a59d19fbaa92f48825381509e5701b855c08f13db76/pydantic_core-2.46.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6529d1d128321a58d30afcc97b49e98836542f68dd41b33c2e972bb9e5290536", size = 2123791, upload-time = "2026-04-20T14:43:22.766Z" }, - { url = "https://files.pythonhosted.org/packages/75/3e/3b2393b4c8f44285561dc30b00cf307a56a2eff7c483a824db3b8221ca51/pydantic_core-2.46.3-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:975c267cff4f7e7272eacbe50f6cc03ca9a3da4c4fbd66fffd89c94c1e311aa1", size = 2153197, upload-time = "2026-04-20T14:44:27.932Z" }, - { url = "https://files.pythonhosted.org/packages/ba/75/5af02fb35505051eee727c061f2881c555ab4f8ddb2d42da715a42c9731b/pydantic_core-2.46.3-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:2b8e4f2bbdf71415c544b4b1138b8060db7b6611bc927e8064c769f64bed651c", size = 2181073, upload-time = "2026-04-20T14:43:20.729Z" }, - { url = "https://files.pythonhosted.org/packages/10/92/7e0e1bd9ca3c68305db037560ca2876f89b2647deb2f8b6319005de37505/pydantic_core-2.46.3-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:e61ea8e9fff9606d09178f577ff8ccdd7206ff73d6552bcec18e1033c4254b85", size = 2315886, upload-time = "2026-04-20T14:44:04.826Z" }, - { url = "https://files.pythonhosted.org/packages/b8/d8/101655f27eaf3e44558ead736b2795d12500598beed4683f279396fa186e/pydantic_core-2.46.3-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:b504bda01bafc69b6d3c7a0c7f039dcf60f47fab70e06fe23f57b5c75bdc82b8", size = 2360528, upload-time = "2026-04-20T14:40:47.431Z" }, - { url = "https://files.pythonhosted.org/packages/07/0f/1c34a74c8d07136f0d729ffe5e1fdab04fbdaa7684f61a92f92511a84a15/pydantic_core-2.46.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:b00b76f7142fc60c762ce579bd29c8fa44aaa56592dd3c54fab3928d0d4ca6ff", size = 2184144, upload-time = "2026-04-20T14:42:57Z" }, + { name = "typing-extensions", marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-langchain' or extra == 'group-10-braintrust-test-litellm' or extra == 'group-10-braintrust-test-openai-agents' or extra == 'group-10-braintrust-test-strands' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9d/56/921726b776ace8d8f5db44c4ef961006580d91dc52b803c489fafd1aa249/pydantic_core-2.46.4.tar.gz", hash = "sha256:62f875393d7f270851f20523dd2e29f082bcc82292d66db2b64ea71f64b6e1c1", size = 471464, upload-time = "2026-05-06T13:37:06.98Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/08/f1ba952f1c8ae5581c70fa9c6da89f247b83e3dd8c09c035d5d7931fc23d/pydantic_core-2.46.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a396dcc17e5a0b164dbe026896245a4fa9ff402edca1dff0be3d53a517f74de4", size = 2113146, upload-time = "2026-05-06T13:37:36.537Z" }, + { url = "https://files.pythonhosted.org/packages/56/c6/65f646c7ff09bd257f660434adb45c4dfcbbcebcc030562fecf6f5bf887d/pydantic_core-2.46.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:da4b951fe36dc7c3a1ccb4e3cd1747c3542b8c9ceede8fc86cae054e764485f5", size = 1949769, upload-time = "2026-05-06T13:37:46.365Z" }, + { url = "https://files.pythonhosted.org/packages/64/ba/bfb1d928fd5b49e1258935ff104ae356e9fd89384a55bf9f847e9193ad40/pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb63e0198ca18aad131c089b9204c23079c3afa95487e561f4c522d519e55aba", size = 1974958, upload-time = "2026-05-06T13:37:28.611Z" }, + { url = "https://files.pythonhosted.org/packages/4e/74/76223bfb117b64af743c9b6670d1364516f5c0604f96b48f3272f6af6cc6/pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f47286a97f0bc9b8859519809077b91b2cefe4ae47fcbf5e466a009c1c5d742b", size = 2042118, upload-time = "2026-05-06T13:36:55.216Z" }, + { url = "https://files.pythonhosted.org/packages/cb/7b/848732968bc8f48f3187542f08358b9d842db564147b256669426ebb1652/pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:905a0ed8ea6f2d61c1738835f99b699348d7857379083e5fc497fa0c967a407c", size = 2222876, upload-time = "2026-05-06T13:38:25.455Z" }, + { url = "https://files.pythonhosted.org/packages/b5/2f/e90b63ee2e14bd8d3db8f705a6d75d64e6ee1b7c2c8833747ce706e1e0ce/pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ea793e075b70290d89d8142074262885d3f7da19634845135751bd6344f73b50", size = 2286703, upload-time = "2026-05-06T13:37:53.304Z" }, + { url = "https://files.pythonhosted.org/packages/ba/1e/acc4d70f88a0a277e4a1fa77ebb985ceabaf900430f875bf9338e11c9420/pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:395aebd9183f9d112f569aeb5b2214d1a10a33bec8456447f7fbdfa51d38d4cd", size = 2092042, upload-time = "2026-05-06T13:38:46.981Z" }, + { url = "https://files.pythonhosted.org/packages/a9/da/0a422b57bf8504102bf3c4ccea9c41bab5a5cee6a54650acf8faf67f5a24/pydantic_core-2.46.4-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:b078afbc25f3a1436c7a1d2cd3e322497ee99615ba97c563566fdf46aff1ee01", size = 2117231, upload-time = "2026-05-06T13:39:23.146Z" }, + { url = "https://files.pythonhosted.org/packages/bd/2a/2ac13c3af305843e23c5078c53d135656b3f05a2fd78cb7bbbb12e97b473/pydantic_core-2.46.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f747929cf940cddb5b3668a390056ddd5ba2e5010615ea2dcf4f9c4f3ab8791d", size = 2168388, upload-time = "2026-05-06T13:40:08.06Z" }, + { url = "https://files.pythonhosted.org/packages/72/04/2beacf7e1607e93eefe4aed1b4709f079b905fb77530179d4f7c71745f22/pydantic_core-2.46.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:daa27d92c36f24388fe3ad306b174781c747627f134452e4f128ea00ce1fe8c4", size = 2184769, upload-time = "2026-05-06T13:38:13.901Z" }, + { url = "https://files.pythonhosted.org/packages/9e/29/d2b9fd9f539133548eaf622c06a4ce176cb46ac59f32d0359c4abc0de047/pydantic_core-2.46.4-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:19e51f073cd3df251856a8a4189fbdf1de4012c3ebacfb1884f94f1eb406079f", size = 2319312, upload-time = "2026-05-06T13:39:08.24Z" }, + { url = "https://files.pythonhosted.org/packages/7c/af/0f7a5b85fec6075bea96e3ef9187de38fccced0de92c1e7feda8d5cc7bb9/pydantic_core-2.46.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c1747f85cee84c26985853c6f3d9bd3e75da5212912443fa111c113b9c246f39", size = 2361817, upload-time = "2026-05-06T13:38:43.2Z" }, + { url = "https://files.pythonhosted.org/packages/25/a4/73363fec545fd3ec025490bdda2743c56d0dd5b6266b1a53bbe9e4265375/pydantic_core-2.46.4-cp310-cp310-win32.whl", hash = "sha256:2f84c03c8607173d16b5a854ec68a2f9079ae03237a54fb506d13af47e1d018d", size = 1987085, upload-time = "2026-05-06T13:39:25.497Z" }, + { url = "https://files.pythonhosted.org/packages/01/aa/62f082da2c91fac1c234bc9ee0066257ce83f0604abd72e4c9d5991f2d84/pydantic_core-2.46.4-cp310-cp310-win_amd64.whl", hash = "sha256:8358a950c8909158e3df31538a7e4edc2d7265a7c54b47f0864d9e5bae9dcebf", size = 2074311, upload-time = "2026-05-06T13:39:59.922Z" }, + { url = "https://files.pythonhosted.org/packages/5c/fa/6d7708d2cfc1a832acb6aeb0cd16e801902df8a0f583bb3b4b527fde022e/pydantic_core-2.46.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:0e96592440881c74a213e5ad528e2b24d3d4f940de2766bed9010ab1d9e51594", size = 2111872, upload-time = "2026-05-06T13:40:27.596Z" }, + { url = "https://files.pythonhosted.org/packages/ae/6f/aa064a3e74b5745afbdf250594f38e7ead05e2d651bcb35994b9417a0d4d/pydantic_core-2.46.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e0d65b8c354be7fb5f720c3caa8bc940bc2d20ce749c8e06135f07f8ed95dd7c", size = 1948255, upload-time = "2026-05-06T13:39:12.574Z" }, + { url = "https://files.pythonhosted.org/packages/43/3a/41114a9f7569b84b4d84e7a018c57c56347dac30c0d4a872946ec4e36c46/pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bfb192b3f4b9e8a89b6277b6ce787564f62cfd272055f6e685726b111dc7826", size = 1972827, upload-time = "2026-05-06T13:38:19.841Z" }, + { url = "https://files.pythonhosted.org/packages/ef/25/1ab42e8048fe551934d9884e8d64daa7e990ad386f310a15981aeb6a5b08/pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9037063db01f09b09e237c282b6792bd4da634b5402c4e7f0c61effed7701a04", size = 2041051, upload-time = "2026-05-06T13:38:10.447Z" }, + { url = "https://files.pythonhosted.org/packages/94/c2/1a934597ddf08da410385b3b7aae91956a5a76c635effef456074fad7e88/pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc010ab034c8c7452522748bf937df58020d256ccae0874463d1f4d01758af8e", size = 2221314, upload-time = "2026-05-06T13:40:13.089Z" }, + { url = "https://files.pythonhosted.org/packages/02/6d/9e8ad178c9c4df27ad3c8f25d1fe2a7ab0d2ba0559fad4aee5d3d1f16771/pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8c5dac79fa1614d1e06ca695109c6105923bd9c7d1d6c918d4e637b7e6b32fd3", size = 2285146, upload-time = "2026-05-06T13:38:59.224Z" }, + { url = "https://files.pythonhosted.org/packages/80/50/540cd3aeefc041beb111125c4bff779831a2111fc6b15a9138cda277d32c/pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9fa868638bf362d3d138ea55829cefb3d5f4b0d7f142234382a15e2485dbec4", size = 2089685, upload-time = "2026-05-06T13:38:17.762Z" }, + { url = "https://files.pythonhosted.org/packages/6b/a4/b440ad35f05f6a38f89fa0f149accb3f0e02be94ca5e15f3c449a61b4bc9/pydantic_core-2.46.4-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:17299feefe090f2caa5b8e37222bb5f663e4935a8bfa6931d4102e5df1a9f398", size = 2115420, upload-time = "2026-05-06T13:37:58.195Z" }, + { url = "https://files.pythonhosted.org/packages/99/61/de4f55db8dfd57bfdfa9a12ec90fe1b57c4f41062f7ca86f08586b3e0ac0/pydantic_core-2.46.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4c63ebc82684aa89d9a3bcbd13d515b3be44250dc68dd3bd81526c1cb31286c3", size = 2165122, upload-time = "2026-05-06T13:37:01.167Z" }, + { url = "https://files.pythonhosted.org/packages/f7/52/7c529d7bdb2d1068bd52f51fe32572c8301f9a4febf1948f10639f1436f5/pydantic_core-2.46.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:aaa2a54443eff1950ba5ddc6b6ccda0d9c84a364276a62f969bdf2a390650848", size = 2182573, upload-time = "2026-05-06T13:38:45.04Z" }, + { url = "https://files.pythonhosted.org/packages/37/b3/7c40325848ba78247f2812dcf9c7274e38cd801820ca6dd9fe63bcfb0eb4/pydantic_core-2.46.4-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:18e5ceec2ab67e6d5f1a9085e5a24c9c4e2ac4545730bfe668680bca05e555f3", size = 2317139, upload-time = "2026-05-06T13:37:15.539Z" }, + { url = "https://files.pythonhosted.org/packages/d9/37/f913f81a657c865b75da6c0dbed79876073c2a43b5bd9edbe8da785e4d49/pydantic_core-2.46.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a0f62d0a58f4e7da165457e995725421e0064f2255d8eccebc49f41bbc23b109", size = 2360433, upload-time = "2026-05-06T13:37:30.099Z" }, + { url = "https://files.pythonhosted.org/packages/c4/67/6acaa1be2567f9256b056d8477158cac7240813956ce86e49deae8e173b4/pydantic_core-2.46.4-cp311-cp311-win32.whl", hash = "sha256:041bde0a48fd37cf71cab1c9d56d3e8625a3793fef1f7dd232b3ff37e978ecda", size = 1985513, upload-time = "2026-05-06T13:38:15.669Z" }, + { url = "https://files.pythonhosted.org/packages/aa/e6/c505f83dfeda9a2e5c995cfd872949e4d05e12f7feb3dca72f633daefa94/pydantic_core-2.46.4-cp311-cp311-win_amd64.whl", hash = "sha256:6f2eeda33a839975441c86a4119e1383c50b47faf0cbb5176985565c6bb02c33", size = 2071114, upload-time = "2026-05-06T13:40:35.416Z" }, + { url = "https://files.pythonhosted.org/packages/0f/da/7a263a96d965d9d0df5e8de8a475f33495451117035b09acb110288c381f/pydantic_core-2.46.4-cp311-cp311-win_arm64.whl", hash = "sha256:14f4c5d6db102bd796a627bbb3a17b4cf4574b9ae861d8b7c9a9661c6dd3362d", size = 2044298, upload-time = "2026-05-06T13:38:29.754Z" }, + { url = "https://files.pythonhosted.org/packages/ce/8c/af022f0af448d7747c5154288d46b5f2bc5f17366eaa0e23e9aa04d59f3b/pydantic_core-2.46.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:3245406455a5d98187ec35530fd772b1d799b26667980872c8d4614991e2c4a2", size = 2106158, upload-time = "2026-05-06T13:38:57.215Z" }, + { url = "https://files.pythonhosted.org/packages/19/95/6195171e385007300f0f5574592e467c568becce2d937a0b6804f218bc49/pydantic_core-2.46.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:962ccbab7b642487b1d8b7df90ef677e03134cf1fd8880bf698649b22a69371f", size = 1951724, upload-time = "2026-05-06T13:37:02.697Z" }, + { url = "https://files.pythonhosted.org/packages/8e/bc/f47d1ff9cbb1620e1b5b697eef06010035735f07820180e74178226b27b3/pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8233f2947cf85404441fd7e0085f53b10c93e0ee78611099b5c7237e36aacbf7", size = 1975742, upload-time = "2026-05-06T13:37:09.448Z" }, + { url = "https://files.pythonhosted.org/packages/5b/11/9b9a5b0306345664a2da6410877af6e8082481b5884b3ddd78d47c6013ce/pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3a233125ac121aa3ffba9a2b59edfc4a985a76092dc8279586ab4b71390875e7", size = 2052418, upload-time = "2026-05-06T13:37:38.234Z" }, + { url = "https://files.pythonhosted.org/packages/f1/b7/a65fec226f5d78fc39f4a13c4cc0c768c22b113438f60c14adc9d2865038/pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b712b53160b79a5850310b912a5ef8e57e56947c8ad690c227f5c9d7e561712", size = 2232274, upload-time = "2026-05-06T13:38:27.753Z" }, + { url = "https://files.pythonhosted.org/packages/68/f0/92039db98b907ef49269a8271f67db9cb78ae2fc68062ef7e4e77adb5f61/pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9401557acd873c3a7f3eb9383edef8ac4968f9510e340f4808d427e75667e7b4", size = 2309940, upload-time = "2026-05-06T13:38:05.353Z" }, + { url = "https://files.pythonhosted.org/packages/5f/97/2aab507d3d00ca626e8e57c1eac6a79e4e5fbcc63eb99733ff55d1717f65/pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:926c9541b14b12b1681dca8a0b75feb510b06c6341b70a8e500c2fdcff837cce", size = 2094516, upload-time = "2026-05-06T13:39:10.577Z" }, + { url = "https://files.pythonhosted.org/packages/22/37/a8aca44d40d737dde2bc05b3c6c07dff0de07ce6f82e9f3167aeaf4d5dea/pydantic_core-2.46.4-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:56cb4851bcaf3d117eddcef4fe66afd750a50274b0da8e22be256d10e5611987", size = 2136854, upload-time = "2026-05-06T13:40:22.59Z" }, + { url = "https://files.pythonhosted.org/packages/24/99/fcef1b79238c06a8cbec70819ac722ba76e02bc8ada9b0fd66eba40da01b/pydantic_core-2.46.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c68fcd102d71ea85c5b2dfac3f4f8476eff42a9e078fd5faefff6d145063536b", size = 2180306, upload-time = "2026-05-06T13:40:10.666Z" }, + { url = "https://files.pythonhosted.org/packages/ae/6c/fc44000918855b42779d007ae63b0532794739027b2f417321cddbc44f6a/pydantic_core-2.46.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b2f69dec1725e79a012d920df1707de5caf7ed5e08f3be4435e25803efc47458", size = 2190044, upload-time = "2026-05-06T13:40:43.231Z" }, + { url = "https://files.pythonhosted.org/packages/6b/65/d9cadc9f1920d7a127ad2edba16c1db7916e59719285cd6c94600b0080ba/pydantic_core-2.46.4-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:8d0820e8192167f80d88d64038e609c31452eeca865b4e1d9950a27a4609b00b", size = 2329133, upload-time = "2026-05-06T13:39:57.365Z" }, + { url = "https://files.pythonhosted.org/packages/d0/cf/c873d91679f3a30bcf5e7ac280ce5573483e72295307685120d0d5ad3416/pydantic_core-2.46.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fbdb89b3e1c94a30cc5edfce477c6e6a5dc4d8f84665b455c27582f211a1c72c", size = 2374464, upload-time = "2026-05-06T13:38:06.976Z" }, + { url = "https://files.pythonhosted.org/packages/47/bd/6f2fc8188f31bf10590f1e98e7b306336161fac930a8c514cd7bd828c7dc/pydantic_core-2.46.4-cp312-cp312-win32.whl", hash = "sha256:9aa768456404a8bf48a4406685ac2bec8e72b62c69313734fa3b73cf33b3a894", size = 1974823, upload-time = "2026-05-06T13:40:47.985Z" }, + { url = "https://files.pythonhosted.org/packages/40/8c/985c1d41ea1107c2534abd9870e4ed5c8e7669b5c308297835c001e7a1c4/pydantic_core-2.46.4-cp312-cp312-win_amd64.whl", hash = "sha256:e9c26f834c65f5752f3f06cb08cb86a913ceb7274d0db6e267808a708b46bc89", size = 2072919, upload-time = "2026-05-06T13:39:21.153Z" }, + { url = "https://files.pythonhosted.org/packages/c4/ba/f463d006e0c47373ca7ec5e1a261c59dc01ef4d62b2657af925fb0deee3a/pydantic_core-2.46.4-cp312-cp312-win_arm64.whl", hash = "sha256:4fc73cb559bdb54b1134a706a2802a4cddd27a0633f5abb7e53056268751ac6a", size = 2027604, upload-time = "2026-05-06T13:39:03.753Z" }, + { url = "https://files.pythonhosted.org/packages/51/a2/5d30b469c5267a17b39dec53208222f76a8d351dfac4af661888c5aee77d/pydantic_core-2.46.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:5d5902252db0d3cedf8d4a1bc68f70eeb430f7e4c7104c8c476753519b423008", size = 2106306, upload-time = "2026-05-06T13:37:48.029Z" }, + { url = "https://files.pythonhosted.org/packages/c1/81/4fa520eaffa8bd7d1525e644cd6d39e7d60b1592bc5b516693c7340b50f1/pydantic_core-2.46.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c94f0688e7b8d0a67abf40e57a7eaaecd17cc9586706a31b76c031f63df052b4", size = 1951906, upload-time = "2026-05-06T13:37:17.012Z" }, + { url = "https://files.pythonhosted.org/packages/03/d5/fd02da45b659668b05923b17ba3a0100a0a3d5541e3bd8fcc4ecb711309e/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f027324c56cd5406ca49c124b0db10e56c69064fec039acc571c29020cc87c76", size = 1976802, upload-time = "2026-05-06T13:37:35.113Z" }, + { url = "https://files.pythonhosted.org/packages/21/f2/95727e1368be3d3ed485eaab7adbd7dda408f33f7a36e8b48e0144002b91/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e739fee756ba1010f8bcccb534252e85a35fe45ae92c295a06059ce58b74ccd3", size = 2052446, upload-time = "2026-05-06T13:37:12.313Z" }, + { url = "https://files.pythonhosted.org/packages/9c/86/5d99feea3f77c7234b8718075b23db11532773c1a0dbd9b9490215dc2eeb/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d56801be94b86a9da183e5f3766e6310752b99ff647e38b09a9500d88e46e76", size = 2232757, upload-time = "2026-05-06T13:39:01.149Z" }, + { url = "https://files.pythonhosted.org/packages/d2/3a/508ac615935ef7588cf6d9e9b91309fdc2da751af865e02a9098de88258c/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2412e734dcb48da14d4e4006b82b46b74f2518b8a26ee7e58c6844a6cd6d03c4", size = 2309275, upload-time = "2026-05-06T13:37:41.406Z" }, + { url = "https://files.pythonhosted.org/packages/07/f8/41db9de19d7987d6b04715a02b3b40aea467000275d9d758ffaa31af7d50/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9551187363ffc0de2a00b2e47c25aeaeb1020b69b668762966df15fc5659dd5a", size = 2094467, upload-time = "2026-05-06T13:39:18.847Z" }, + { url = "https://files.pythonhosted.org/packages/2c/e2/f35033184cb11d0052daf4416e8e10a502ea2ac006fc4f459aee872727d1/pydantic_core-2.46.4-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:0186750b482eefa11d7f435892b09c5c606193ef3375bcf94aa00ae6bfb66262", size = 2134417, upload-time = "2026-05-06T13:40:17.944Z" }, + { url = "https://files.pythonhosted.org/packages/7e/7b/6ceeb1cc90e193862f444ebe373d8fdf613f0a82572dde03fb10734c6c71/pydantic_core-2.46.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5855698a4856556d86e8e6cd8434bc3ac0314ee8e12089ae0e143f64c6256e4e", size = 2179782, upload-time = "2026-05-06T13:40:32.618Z" }, + { url = "https://files.pythonhosted.org/packages/5a/f2/c8d7773ede6af08036423a00ae0ceffce266c3c52a096c435d68c896083f/pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:cbaf13819775b7f769bf4a1f066cb6df7a28d4480081a589828ef190226881cd", size = 2188782, upload-time = "2026-05-06T13:36:51.018Z" }, + { url = "https://files.pythonhosted.org/packages/59/31/0c864784e31f09f05cdd87606f08923b9c9e7f6e51dd27f20f62f975ce9f/pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:633147d34cf4550417f12e2b1a0383973bdf5cdfde212cb09e9a581cf10820be", size = 2328334, upload-time = "2026-05-06T13:40:37.764Z" }, + { url = "https://files.pythonhosted.org/packages/c2/eb/4f6c8a41efa30baa755590f4141abf3a8c370fab610915733e74134a7270/pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:82cf5301172168103724d49a1444d3378cb20cdee30b116a1bd6031236298a5d", size = 2372986, upload-time = "2026-05-06T13:39:34.152Z" }, + { url = "https://files.pythonhosted.org/packages/5b/24/b375a480d53113860c299764bfe9f349a3dc9108b3adc0d7f0d786492ebf/pydantic_core-2.46.4-cp313-cp313-win32.whl", hash = "sha256:9fa8ae11da9e2b3126c6426f147e0fba88d96d65921799bb30c6abd1cb2c97fb", size = 1973693, upload-time = "2026-05-06T13:37:55.072Z" }, + { url = "https://files.pythonhosted.org/packages/7e/e8/cff247591966f2d22ec8c003cd7587e27b7ba7b81ab2fb888e3ab75dc285/pydantic_core-2.46.4-cp313-cp313-win_amd64.whl", hash = "sha256:6b3ace8194b0e5204818c92802dcdca7fc6d88aabbb799d7c795540d9cd6d292", size = 2071819, upload-time = "2026-05-06T13:38:49.139Z" }, + { url = "https://files.pythonhosted.org/packages/c6/1a/f4aee670d5670e9e148e0c82c7db98d780be566c6e6a97ee8035528ca0b3/pydantic_core-2.46.4-cp313-cp313-win_arm64.whl", hash = "sha256:184c081504d17f1c1066e430e117142b2c77d9448a97f7b65c6ac9fd9aee238d", size = 2027411, upload-time = "2026-05-06T13:40:45.796Z" }, + { url = "https://files.pythonhosted.org/packages/8d/74/228a26ddad29c6672b805d9fd78e8d251cd04004fa7eed0e622096cd0250/pydantic_core-2.46.4-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:428e04521a40150c85216fc8b85e8d39fece235a9cf5e383761238c7fa9b96fb", size = 2102079, upload-time = "2026-05-06T13:38:41.019Z" }, + { url = "https://files.pythonhosted.org/packages/ad/1f/8970b150a4b4365623ae00fc88603491f763c627311ae8031e3111356d6e/pydantic_core-2.46.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:23ace664830ee0bfe014a0c7bc248b1f7f25ed7ad103852c317624a1083af462", size = 1952179, upload-time = "2026-05-06T13:36:59.812Z" }, + { url = "https://files.pythonhosted.org/packages/95/30/5211a831ae054928054b2f79731661087a2bc5c01e825c672b3a4a8f1b3e/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce5c1d2a8b27468f433ca974829c44060b8097eedc39933e3c206a90ee49c4a9", size = 1978926, upload-time = "2026-05-06T13:37:39.933Z" }, + { url = "https://files.pythonhosted.org/packages/57/e9/689668733b1eb67adeef047db3c2e8788fcf65a7fd9c9e2b46b7744fe245/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7283d57845ecf5a163403eb0702dfc220cc4fbdd18919cb5ccea4f95ee1cdab4", size = 2046785, upload-time = "2026-05-06T13:38:01.995Z" }, + { url = "https://files.pythonhosted.org/packages/60/d9/6715260422ff50a2109878fd24d948a6c3446bb2664f34ee78cd972b3acd/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8daafc69c93ee8a0204506a3b6b30f586ef54028f52aeeeb5c4cfc5184fd5914", size = 2228733, upload-time = "2026-05-06T13:40:50.371Z" }, + { url = "https://files.pythonhosted.org/packages/18/ae/fdb2f64316afca925640f8e70bb1a564b0ec2721c1389e25b8eb4bf9a299/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd2213145bcc2ba85884d0ac63d222fece9209678f77b9b4d76f054c561adb28", size = 2307534, upload-time = "2026-05-06T13:37:21.531Z" }, + { url = "https://files.pythonhosted.org/packages/89/1d/8eff589b45bb8190a9d12c49cfad0f176a5cbd1534908a6b5125e2886239/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a5f930472650a82629163023e630d160863fce524c616f4e5186e5de9d9a49b", size = 2099732, upload-time = "2026-05-06T13:39:31.942Z" }, + { url = "https://files.pythonhosted.org/packages/06/d5/ee5a3366637fee41dee51a1fc91562dcf12ddbc68fda34e6b253da2324bb/pydantic_core-2.46.4-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:c1b3f518abeca3aa13c712fd202306e145abf59a18b094a6bafb2d2bbf59192c", size = 2129627, upload-time = "2026-05-06T13:37:25.033Z" }, + { url = "https://files.pythonhosted.org/packages/94/33/2414be571d2c6a6c4d08be21f9292b6d3fdb08949a97b6dfe985017821db/pydantic_core-2.46.4-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a7dd0b3ee80d90150e3495a3a13ac34dbcbfd4f012996a6a1d8900e91b5c0fb", size = 2179141, upload-time = "2026-05-06T13:37:14.046Z" }, + { url = "https://files.pythonhosted.org/packages/7b/79/7daa95be995be0eecc4cf75064cb33f9bbbfe3fe0158caf2f0d4a996a5c7/pydantic_core-2.46.4-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:3fb702cd90b0446a3a1c5e470bfa0dd23c0233b676a9099ddcc964fa6ca13898", size = 2184325, upload-time = "2026-05-06T13:36:53.615Z" }, + { url = "https://files.pythonhosted.org/packages/9f/cb/d0a382f5c0de8a222dc61c65348e0ce831b1f68e0a018450d31c2cace3a5/pydantic_core-2.46.4-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:b8458003118a712e66286df6a707db01c52c0f52f7db8e4a38f0da1d3b94fc4e", size = 2323990, upload-time = "2026-05-06T13:40:29.971Z" }, + { url = "https://files.pythonhosted.org/packages/05/db/d9ba624cc4a5aced1598e88c04fdbd8310c8a69b9d38b9a3d39ce3a61ed7/pydantic_core-2.46.4-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:372429a130e469c9cd698925ce5fc50940b7a1336b0d82038e63d5bbc4edc519", size = 2369978, upload-time = "2026-05-06T13:37:23.027Z" }, + { url = "https://files.pythonhosted.org/packages/f2/20/d15df15ba918c423461905802bfd2981c3af0bfa0e40d05e13edbfa48bc3/pydantic_core-2.46.4-cp314-cp314-win32.whl", hash = "sha256:85bb3611ff1802f3ee7fdd7dbff26b56f343fb432d57a4728fdd49b6ef35e2f4", size = 1966354, upload-time = "2026-05-06T13:38:03.499Z" }, + { url = "https://files.pythonhosted.org/packages/fc/b6/6b8de4c0a7d7ab3004c439c80c5c1e0a3e8d78bbae19379b01960383d9e5/pydantic_core-2.46.4-cp314-cp314-win_amd64.whl", hash = "sha256:811ff8e9c313ab425368bcbb36e5c4ebd7108c2bbf4e4089cfbb0b01eff63fac", size = 2072238, upload-time = "2026-05-06T13:39:40.807Z" }, + { url = "https://files.pythonhosted.org/packages/32/36/51eb763beec1f4cf59b1db243a7dcc39cbb41230f050a09b9d69faaf0a48/pydantic_core-2.46.4-cp314-cp314-win_arm64.whl", hash = "sha256:bfec22eab3c8cc2ceec0248aec886624116dc079afa027ecc8ad4a7e62010f8a", size = 2018251, upload-time = "2026-05-06T13:37:26.72Z" }, + { url = "https://files.pythonhosted.org/packages/e8/91/855af51d625b23aa987116a19e231d2aaef9c4a415273ddc189b79a45fee/pydantic_core-2.46.4-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:af8244b2bef6aaad6d92cda81372de7f8c8d36c9f0c3ea36e827c60e7d9467a0", size = 2099593, upload-time = "2026-05-06T13:39:47.682Z" }, + { url = "https://files.pythonhosted.org/packages/fb/1b/8784a54c65edb5f49f0a14d6977cf1b209bba85a4c77445b255c2de58ab3/pydantic_core-2.46.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5a4330cdbc57162e4b3aa303f588ba752257694c9c9be3e7ebb11b4aca659b5d", size = 1935226, upload-time = "2026-05-06T13:40:40.428Z" }, + { url = "https://files.pythonhosted.org/packages/e8/e7/1955d28d1afc56dd4b3ad7cc0cf39df1b9852964cf16e5d13912756d6d6b/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29c61fc04a3d840155ff08e475a04809278972fe6aef51e2720554e96367e34b", size = 1974605, upload-time = "2026-05-06T13:37:32.029Z" }, + { url = "https://files.pythonhosted.org/packages/93/e2/3fedbf0ba7a22850e6e9fd78117f1c0f10f950182344d8a6c535d468fdd8/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c50f2528cf200c5eed56faf3f4e22fcd5f38c157a8b78576e6ba3168ec35f000", size = 2030777, upload-time = "2026-05-06T13:38:55.239Z" }, + { url = "https://files.pythonhosted.org/packages/f8/61/46be275fcaaba0b4f5b9669dd852267ce1ff616592dccf7a7845588df091/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0cbe8b01f948de4286c74cdd6c667aceb38f5c1e26f0693b3983d9d74887c65e", size = 2236641, upload-time = "2026-05-06T13:37:08.096Z" }, + { url = "https://files.pythonhosted.org/packages/60/db/12e93e46a8bac9988be3c016860f83293daea8c716c029c9ace279036f2f/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:617d7e2ca7dcb8c5cf6bcb8c59b8832c94b36196bbf1cbd1bfb56ed341905edd", size = 2286404, upload-time = "2026-05-06T13:40:20.221Z" }, + { url = "https://files.pythonhosted.org/packages/e2/4a/4d8b19008f38d31c53b8219cfedc2e3d5de5fe99d90076b7e767de29274f/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7027560ee92211647d0d34e3f7cd6f50da56399d26a9c8ad0da286d3869a53f3", size = 2109219, upload-time = "2026-05-06T13:38:12.153Z" }, + { url = "https://files.pythonhosted.org/packages/88/70/3cbc40978fefb7bb09c6708d40d4ad1a5d70fd7213c3d17f971de868ec1f/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:f99626688942fb746e545232e7726926f3be91b5975f8b55327665fafda991c7", size = 2110594, upload-time = "2026-05-06T13:40:02.971Z" }, + { url = "https://files.pythonhosted.org/packages/9d/20/b8d36736216e29491125531685b2f9e61aa5b4b2599893f8268551da3338/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fc3e9034a63de20e15e8ade85358bc6efc614008cab72898b4b4952bea0509ff", size = 2159542, upload-time = "2026-05-06T13:39:27.506Z" }, + { url = "https://files.pythonhosted.org/packages/1d/a2/367df868eb584dacf6bf82a389272406d7178e301c4ac82545ab98bc2dd9/pydantic_core-2.46.4-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:97e7cf2be5c77b7d1a9713a05605d49460d02c6078d38d8bef3cbe323c548424", size = 2168146, upload-time = "2026-05-06T13:38:31.93Z" }, + { url = "https://files.pythonhosted.org/packages/c1/b8/4460f77f7e201893f649a29ab355dddd3beee8a97bcb1a320db414f9a06e/pydantic_core-2.46.4-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:3bf92c5d0e00fefaab325a4d27828fe6b6e2a21848686b5b60d2d9eeb09d76c6", size = 2306309, upload-time = "2026-05-06T13:37:44.717Z" }, + { url = "https://files.pythonhosted.org/packages/64/c4/be2639293acd87dc8ddbcec41a73cee9b2ebf996fe6d892a1a74e88ad3f7/pydantic_core-2.46.4-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:3ecbc122d18468d06ca279dc26a8c2e2d5acb10943bb35e36ae92096dc3b5565", size = 2369736, upload-time = "2026-05-06T13:37:05.645Z" }, + { url = "https://files.pythonhosted.org/packages/30/a6/9f9f380dbb301f67023bf8f707aaa75daadf84f7152d95c410fd7e81d994/pydantic_core-2.46.4-cp314-cp314t-win32.whl", hash = "sha256:e846ae7835bf0703ae43f534ab79a867146dadd59dc9ca5c8b53d5c8f7c9ef02", size = 1955575, upload-time = "2026-05-06T13:38:51.116Z" }, + { url = "https://files.pythonhosted.org/packages/40/1f/f1eb9eb350e795d1af8586289746f5c5677d16043040d63710e22abc43c9/pydantic_core-2.46.4-cp314-cp314t-win_amd64.whl", hash = "sha256:2108ba5c1c1eca18030634489dc544844144ee36357f2f9f780b93e7ddbb44b5", size = 2051624, upload-time = "2026-05-06T13:38:21.672Z" }, + { url = "https://files.pythonhosted.org/packages/f6/d2/42dd53d0a85c27606f316d3aa5d2869c4e8470a5ed6dec30e4a1abe19192/pydantic_core-2.46.4-cp314-cp314t-win_arm64.whl", hash = "sha256:4fcbe087dbc2068af7eda3aa87634eba216dbda64d1ae73c8684b621d33f6596", size = 2017325, upload-time = "2026-05-06T13:40:52.723Z" }, + { url = "https://files.pythonhosted.org/packages/ee/a4/73995fd4ebbb46ba0ee51e6fa049b8f02c40daebb762208feda8a6b7894d/pydantic_core-2.46.4-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:14d4edf427bdcf950a8a02d7cb44a08614388dd6e1bdcbf4f67504fa7887da9c", size = 2111589, upload-time = "2026-05-06T13:37:10.817Z" }, + { url = "https://files.pythonhosted.org/packages/fb/7f/f37d3a5e8bfcc2e403f5c57a730f2d815693fb42119e8ea48b3789335af1/pydantic_core-2.46.4-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:0ce40cd7b21210e99342afafbd4d0f76d784eb5b1d60f3bdc566be4983c6c73b", size = 1944552, upload-time = "2026-05-06T13:36:56.717Z" }, + { url = "https://files.pythonhosted.org/packages/15/3c/d7eb777b3ff43e8433a4efb39a17aa8fd98a4ee8561a24a67ef5db07b2d6/pydantic_core-2.46.4-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:90884113d8b48f760e9587002789ddd741e76ab9f89518cd1e43b1f1a52ec44b", size = 1982984, upload-time = "2026-05-06T13:39:06.207Z" }, + { url = "https://files.pythonhosted.org/packages/63/87/70b9f40170a81afd55ca26c9b2acb25c20d64bcfbf888fafecb3ba077d4c/pydantic_core-2.46.4-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66ce7632c22d837c95301830e111ad0128a32b8207533b60896a96c4915192ea", size = 2138417, upload-time = "2026-05-06T13:39:45.476Z" }, + { url = "https://files.pythonhosted.org/packages/9d/1d/8987ad40f65ae1432753072f214fb5c74fe47ffbd0698bb9cbbb585664f8/pydantic_core-2.46.4-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:1d8ba486450b14f3b1d63bc521d410ec7565e52f887b9fb671791886436a42f7", size = 2095527, upload-time = "2026-05-06T13:39:52.283Z" }, + { url = "https://files.pythonhosted.org/packages/64/d3/84c282a7eee1d3ac4c0377546ef5a1ea436ce26840d9ac3b7ed54a377507/pydantic_core-2.46.4-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:3009f12e4e90b7f88b4f9adb1b0c4a3d58fe7820f3238c190047209d148026df", size = 1936024, upload-time = "2026-05-06T13:40:15.671Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ca/eac61596cdeb4d7e174d3dc0bd8a6238f14f75f97a24e7b7db4c7e7340a0/pydantic_core-2.46.4-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad785e92e6dc634c21555edc8bd6b64957ab844541bcb96a1366c202951ae526", size = 1990696, upload-time = "2026-05-06T13:38:34.717Z" }, + { url = "https://files.pythonhosted.org/packages/fa/c3/7c8b240552251faf6b3a957db200fcfbbcec36763c050428b601e0c9b83b/pydantic_core-2.46.4-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00c603d540afdd6b80eb39f078f33ebd46211f02f33e34a32d9f053bba711de0", size = 2147590, upload-time = "2026-05-06T13:39:29.883Z" }, + { url = "https://files.pythonhosted.org/packages/11/cb/428de0385b6c8d44b716feba566abfacfbd23ee3c4439faa789a1456242f/pydantic_core-2.46.4-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:0c563b08bca408dc7f65f700633d8442fffb2421fc47b8101377e9fd65051ff0", size = 2112782, upload-time = "2026-05-06T13:37:04.016Z" }, + { url = "https://files.pythonhosted.org/packages/0b/b5/6a17bdadd0fc1f170adfd05a20d37c832f52b117b4d9131da1f41bb097ce/pydantic_core-2.46.4-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:db06ffe51636ffe9ca531fe9023dd64bdd794be8754cb5df57c5498ae5b518a7", size = 1952146, upload-time = "2026-05-06T13:39:43.092Z" }, + { url = "https://files.pythonhosted.org/packages/2a/dc/03734d80e362cd43ef65428e9de77c730ce7f2f11c60d2b1e1b39f0fbf99/pydantic_core-2.46.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:133878133d271ade3d41d1bfb2a45ec38dbdbda40bc065921c6b04e4630127e2", size = 2134492, upload-time = "2026-05-06T13:36:58.124Z" }, + { url = "https://files.pythonhosted.org/packages/de/df/5e5ffc085ed07cc22d298134d3d911c63e91f6a0eb91fe646750a3209910/pydantic_core-2.46.4-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9bc519fbf2b7578398853d815009ae5e4d4603d12f4e3f91da8c06852d3da3e9", size = 2156604, upload-time = "2026-05-06T13:37:49.88Z" }, + { url = "https://files.pythonhosted.org/packages/81/44/6e112a4253e56f5705467cbab7ab5e91ee7398ba3d56d358635958893d3e/pydantic_core-2.46.4-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:c7a7bd4e39e8e4c12c39cd480356842b6a8a06e41b23a55a5e3e191718838ddf", size = 2183828, upload-time = "2026-05-06T13:37:43.053Z" }, + { url = "https://files.pythonhosted.org/packages/ac/ad/5565071e937d8e752842ac241463944c9eb14c87e2d269f2658a5bd05e98/pydantic_core-2.46.4-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:d396ec2b979760aaf3218e76c24e65bd0aca24983298653b3a9d7a45f9e47b30", size = 2310000, upload-time = "2026-05-06T13:37:56.694Z" }, + { url = "https://files.pythonhosted.org/packages/4f/c3/66883a5cec183e7fba4d024b4cbbe61851a63750ef606b0afecc46d1f2bf/pydantic_core-2.46.4-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:86e1a4418c6cd97d60c95c71164158eaf7324fae7b0923264016baa993eba6fc", size = 2361286, upload-time = "2026-05-06T13:40:05.667Z" }, + { url = "https://files.pythonhosted.org/packages/4b/2d/69abac8f838090bbecd5df894befb2c2619e7996a98ddb949db9f3b93225/pydantic_core-2.46.4-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:d51026d73fcfd93610abc7b27789c26b313920fcfb20e27462d74a7f8b06e983", size = 2193071, upload-time = "2026-05-06T13:38:08.682Z" }, ] [[package]] @@ -7611,12 +7601,10 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, { name = "logfire-api" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, { name = "pydantic-ai-slim" }, { name = "pyyaml" }, - { name = "rich", version = "14.3.4", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.14' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "rich", version = "15.0.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.14' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "rich", version = "14.3.4", source = { registry = "https://pypi.org/simple" } }, ] sdist = { url = "https://files.pythonhosted.org/packages/64/dd/109412f597d278ac2ac19c9bae27ce2916b2db8382539849b92e32231220/pydantic_evals-1.75.0.tar.gz", hash = "sha256:789ef1a52af6bf5b7a2ad48490f04925f59ebccb5844ae795b94d190a6f5927e", size = 65846, upload-time = "2026-04-01T00:38:24.498Z" } wheels = [ @@ -7630,8 +7618,7 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "httpx" }, { name = "logfire-api" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, { name = "typing-inspection" }, ] sdist = { url = "https://files.pythonhosted.org/packages/e6/4c/7d6e07ad9affc781201a8ca0a59e655952403f0e14416b2563d4483c1a4c/pydantic_graph-1.75.0.tar.gz", hash = "sha256:c46feb2a0d0e87a4487324ea91e5e547114996bd4026542eebddcaee3e4989bd", size = 58713, upload-time = "2026-04-01T00:38:25.531Z" } @@ -7644,8 +7631,7 @@ name = "pydantic-handlebars" version = "0.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, ] sdist = { url = "https://files.pythonhosted.org/packages/90/16/d41768bd3fd77e6250c20be11a3e68fee5fff07c3356455e6708f6a60f2a/pydantic_handlebars-0.1.0.tar.gz", hash = "sha256:1931c54946add1b5e3796c9bf6a005ed7662cef0109bb05c352f0b3d031a1260", size = 159826, upload-time = "2026-03-01T20:00:17.497Z" } wheels = [ @@ -7654,17 +7640,17 @@ wheels = [ [[package]] name = "pydantic-settings" -version = "2.14.0" +version = "2.14.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or extra == 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or extra == 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.13.4", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-langchain' or extra == 'group-10-braintrust-test-litellm' or extra == 'group-10-braintrust-test-openai-agents' or extra == 'group-10-braintrust-test-strands' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai')" }, { name = "python-dotenv" }, { name = "typing-inspection" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/42/98/c8345dccdc31de4228c039a98f6467a941e39558da41c1744fbe29fa5666/pydantic_settings-2.14.0.tar.gz", hash = "sha256:24285fd4b0e0c06507dd9fdfd331ee23794305352aaec8fc4eb92d4047aeb67d", size = 235709, upload-time = "2026-04-20T13:37:40.293Z" } +sdist = { url = "https://files.pythonhosted.org/packages/07/60/1d1e59c9c90d54591469ada7d268251f71c24bdb765f1a8a832cee8c6653/pydantic_settings-2.14.1.tar.gz", hash = "sha256:e874d3bec7e787b0c9958277956ed9b4dd5de6a80e162188fdaff7c5e26fd5fa", size = 235551, upload-time = "2026-05-08T13:40:06.542Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/01/dd/bebff3040138f00ae8a102d426b27349b9a49acc310fcae7f92112d867e3/pydantic_settings-2.14.0-py3-none-any.whl", hash = "sha256:fc8d5d692eb7092e43c8647c1c35a3ecd00e040fcf02ed86f4cb5458ca62182e", size = 60940, upload-time = "2026-04-20T13:37:38.586Z" }, + { url = "https://files.pythonhosted.org/packages/ae/8d/f1af3832f5e6eb13ba94ee809e72b8ecb5eef226d27ee0bef7d963d943c7/pydantic_settings-2.14.1-py3-none-any.whl", hash = "sha256:6e3c7edfd8277687cdc598f56e5cff0e9bfff0910a3749deaa8d4401c3a2b9de", size = 60964, upload-time = "2026-05-08T13:40:04.958Z" }, ] [[package]] @@ -7714,15 +7700,15 @@ wheels = [ [[package]] name = "pyopenssl" -version = "26.1.0" +version = "26.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cryptography" }, { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8c/a8/26d36401e3ab8eed9030ad33f381da7856fcfad5691780fccd1b019718fc/pyopenssl-26.1.0.tar.gz", hash = "sha256:737f0a2275c5bc54f3b02137687e1a765931fb3949b9a92a825e4d33b9eec08b", size = 186181, upload-time = "2026-04-24T20:23:48.115Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1a/51/27a5ad5f939d08f690a326ef9582cda7140555180db71695f6fb747d6a36/pyopenssl-26.2.0.tar.gz", hash = "sha256:8c6fcecd1183a7fc897548dfe388b0cdb7f37e018200d8409cf33959dbe35387", size = 182195, upload-time = "2026-05-04T23:06:09.72Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a8/41/52f3a3e812b816a91e89aa504199d8bf989a1f873192b10762be66cf2009/pyopenssl-26.1.0-py3-none-any.whl", hash = "sha256:115563879b2c8ccb207975705d3e491434d8c9d7c79667c902ecbf5f3bbd2ece", size = 58109, upload-time = "2026-04-24T20:23:46.273Z" }, + { url = "https://files.pythonhosted.org/packages/73/b8/a0e2790ae249d6f38c9f66de7a211621a7ab2650217bcd04e1262f578a56/pyopenssl-26.2.0-py3-none-any.whl", hash = "sha256:4f9d971bc5298b8bc1fab282803da04bf000c755d4ad9d99b52de2569ca19a70", size = 55823, upload-time = "2026-05-04T23:06:08.395Z" }, ] [[package]] @@ -7736,31 +7722,31 @@ wheels = [ [[package]] name = "pypdfium2" -version = "5.7.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/bc/13/ee794b8a810b7226426c8b50d6c28637c059e7da0caf9936164f352ef858/pypdfium2-5.7.1.tar.gz", hash = "sha256:3b3b20a56048dbe3fd4bf397f9bec854c834668bc47ef6a7d9041b23bb04317b", size = 266791, upload-time = "2026-04-20T15:01:02.598Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d6/f7/e87ba0eec9cd4e9eedd4bbb867515da970525ca8c105dd5e254758216ee3/pypdfium2-5.7.1-py3-none-android_23_arm64_v8a.whl", hash = "sha256:8008f45e8adc4fc1ec2a51e018e01cd0692d4859bdbb28e88be221804f329468", size = 3367033, upload-time = "2026-04-20T15:00:22.847Z" }, - { url = "https://files.pythonhosted.org/packages/f6/e1/a4b9be9a09fa9857958357ced51afb25518f6a48e4e68fdc9a091f0f2259/pypdfium2-5.7.1-py3-none-android_23_armeabi_v7a.whl", hash = "sha256:892fcb5a618f5f551fffdb968ac2d64911953c3ba0f9aa628239705af68dbe15", size = 2824449, upload-time = "2026-04-20T15:00:24.913Z" }, - { url = "https://files.pythonhosted.org/packages/7b/5d/c91abb2610316a1622f86ddf706fcd04d34c7e6923c3fa8fa145c8f7a372/pypdfium2-5.7.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:7431847d45dedc3c7ffede15b58ac611e996a0cdcd61318a0190d46b9980ac2b", size = 3443730, upload-time = "2026-04-20T15:00:26.664Z" }, - { url = "https://files.pythonhosted.org/packages/50/8b/b9eefed83d6a0a59384ee64d25c1515e831c234c3ed6b8c6dfc8f99f4875/pypdfium2-5.7.1-py3-none-macosx_11_0_x86_64.whl", hash = "sha256:548bd09c9f97565ae8ddba30bb65823cbf791b84e4cdb63ed582aec2c289dbe2", size = 3626483, upload-time = "2026-04-20T15:00:28.629Z" }, - { url = "https://files.pythonhosted.org/packages/5b/98/6d62723e1f58d66e7e0073c4f12048f9d5dcd478369da0990db08e677dd5/pypdfium2-5.7.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18a15ad0918acc3ea98778394f0331b9ad2a1b7384ab3d8d8c63422ffd01ed13", size = 3610098, upload-time = "2026-04-20T15:00:30.344Z" }, - { url = "https://files.pythonhosted.org/packages/0b/4a/f72b42578f30971c29915e33ee598ed451aa6f0c2808a71526c1b81afd8d/pypdfium2-5.7.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1df04564659d807fb38810d9bd1ac18419d8acbb5f87f2cb20675d7332635b18", size = 3340119, upload-time = "2026-04-20T15:00:32.19Z" }, - { url = "https://files.pythonhosted.org/packages/0d/64/de69c5feed470617f243e61cac841bfd1b5273d575c3d3b49b27f738e334/pypdfium2-5.7.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5a146d036a6b085a406aa256548b827b63016714fd77f8e11b7f704c1175e8cc", size = 3738864, upload-time = "2026-04-20T15:00:33.798Z" }, - { url = "https://files.pythonhosted.org/packages/07/ce/69ff10766565c5ffcb66cebe780ce3bc4fe7cc16b218df8c240075881c66/pypdfium2-5.7.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3397b0d705b6858c87dec1dc9c44d4c7094601a9b231097f441b64d1a7d5ff0b", size = 4169839, upload-time = "2026-04-20T15:00:35.973Z" }, - { url = "https://files.pythonhosted.org/packages/03/4b/fff16a831a6f07aad02da0d02b620c455310b8bf4e2642909175dcb7ccae/pypdfium2-5.7.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc2cdf603ac766b91b7c1b455197ec1c3471089d75f999b046edb65ed6cedd80", size = 3657630, upload-time = "2026-04-20T15:00:38.407Z" }, - { url = "https://files.pythonhosted.org/packages/9b/58/d3148917616164cfad347b0b509342737ed80e060afab07523ffeac2a05f/pypdfium2-5.7.1-py3-none-manylinux_2_27_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1b1a6a5f3320b59138e7570a3f78840540383d058ac180a9a21f924ad3bd7f83", size = 3088898, upload-time = "2026-04-20T15:00:40.109Z" }, - { url = "https://files.pythonhosted.org/packages/e4/1d/387ca4dfe9865a8d61114dae2debba4d86eed07cdc6a31c5527a049583be/pypdfium2-5.7.1-py3-none-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:91b809c40a5fc248107d13fbcf1dd2c64dbc8e572693a9b93e350bf31efda92b", size = 2955404, upload-time = "2026-04-20T15:00:41.921Z" }, - { url = "https://files.pythonhosted.org/packages/ad/87/4afc2bfe35d71942f1bf9e774086f74af66a0a4e56338f39a7cbc5b8721c/pypdfium2-5.7.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:85611ef61cbc0f5e04de8f99fec0f3db3920b09f46c62afa08c9caa21a74b353", size = 4126600, upload-time = "2026-04-20T15:00:44.079Z" }, - { url = "https://files.pythonhosted.org/packages/b1/c4/872eef4cb8f0d8ebbf967ca713254ac71c75878a1d5798bc2b8d23104e52/pypdfium2-5.7.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:b2764ab909f9b444d4e643be90b064c4053e6828c28bfd47639fc84526ba244d", size = 3742636, upload-time = "2026-04-20T15:00:46.009Z" }, - { url = "https://files.pythonhosted.org/packages/10/6d/3805a53623a72e20b68e6814b37582994298b231628656ff227fa1158a1f/pypdfium2-5.7.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:fcea3cc20b7cca7d84ceee68b9c6ef7fe773fb71c145542769dc2ceb27e9698a", size = 4332743, upload-time = "2026-04-20T15:00:47.829Z" }, - { url = "https://files.pythonhosted.org/packages/92/61/3e3f8ae7ad04400bc3c6a75bbf59db500eaf9dff05477d1b25ff4a36363b/pypdfium2-5.7.1-py3-none-musllinux_1_2_ppc64le.whl", hash = "sha256:f04546bc314973397148805d44f8e660e81aa80c2a87e12afb892c11493ded6c", size = 4377471, upload-time = "2026-04-20T15:00:49.443Z" }, - { url = "https://files.pythonhosted.org/packages/8d/e0/1026f297b5be292cae7095aa4814d57faa3faba0b49552afcaa11a1c2e4e/pypdfium2-5.7.1-py3-none-musllinux_1_2_riscv64.whl", hash = "sha256:66275c8a854969bdf905abc7599e5623d62739c44604d69788ff5457082d275b", size = 3919215, upload-time = "2026-04-20T15:00:51.2Z" }, - { url = "https://files.pythonhosted.org/packages/e8/5d/7d6d5b392fa42a997aadf127e3b2c25739199141054b33f759ba5d02e653/pypdfium2-5.7.1-py3-none-musllinux_1_2_s390x.whl", hash = "sha256:bbed8f32040ce3b3236a512265976017c2465ea6643a1730f008b39e0339b8ce", size = 4263089, upload-time = "2026-04-20T15:00:53.105Z" }, - { url = "https://files.pythonhosted.org/packages/2e/b8/d51bd4a1d426fa5b99d4516c77cc1892a8fbfd5a93a823e2679cf9b09ee0/pypdfium2-5.7.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:c55d3df09bd0d72a1d192107dcbf80bcb2791662a3eca3b084001f947d3040d5", size = 4175967, upload-time = "2026-04-20T15:00:54.757Z" }, - { url = "https://files.pythonhosted.org/packages/30/52/06a6358856374ae4400ee1ad0ddaa01d5c31fcd6e8f4577e6a3ed1c40343/pypdfium2-5.7.1-py3-none-win32.whl", hash = "sha256:4f6bbe1211c5883c8fc9ce11008347e5b96ec6571456d959ae289cecdb2867f0", size = 3629154, upload-time = "2026-04-20T15:00:56.916Z" }, - { url = "https://files.pythonhosted.org/packages/6f/13/e0dbc9377d976d8b03ed0dd07fe9892e06d09fcf4f6a0e66df49366227d7/pypdfium2-5.7.1-py3-none-win_amd64.whl", hash = "sha256:fdf117af26bd310f4f176b3cf0e2e23f0f800e48dcf2bcf6c2cca0de3326f5cb", size = 3747295, upload-time = "2026-04-20T15:00:59.15Z" }, - { url = "https://files.pythonhosted.org/packages/bc/67/4759522f5bca0ac4cda9f42c7f3f818aa826568793bd8b4532d2d2ffa515/pypdfium2-5.7.1-py3-none-win_arm64.whl", hash = "sha256:622821698fcc30fc560bd4eead6df9e6b846de9876b82861bed0091c09a4c27b", size = 3540903, upload-time = "2026-04-20T15:01:00.994Z" }, +version = "5.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6d/3d/dc934d3b606c51c3ecc95b6731d84b7dd7ab8e513a50b0e98a4da6c8a719/pypdfium2-5.8.0.tar.gz", hash = "sha256:049397c647e50f83115ee951c49394dab9e9ba52ebdd5a11ab1109390eb3d34e", size = 271934, upload-time = "2026-05-04T17:39:43.794Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6f/8c/6b75b923cb81368fa3ea7c48a0616b839620a3aeff899885bd930449b89e/pypdfium2-5.8.0-py3-none-android_23_arm64_v8a.whl", hash = "sha256:f67b6c74b716d9ac725ad1af49ae786ad813ac20823d45606d59f1fc06caa8af", size = 3374554, upload-time = "2026-05-04T17:39:05.552Z" }, + { url = "https://files.pythonhosted.org/packages/ef/61/a885c7f36efba89ec98e3d1fe95c83b48c2d6dea321e9194ac6460e7a834/pypdfium2-5.8.0-py3-none-android_23_armeabi_v7a.whl", hash = "sha256:53e82bf3e6a2da170b1bda83f93b7eec57cb6efe3cacd05cba78823879a85203", size = 2831667, upload-time = "2026-05-04T17:39:08.028Z" }, + { url = "https://files.pythonhosted.org/packages/86/1f/04b5627f6dba312d3e707e5b019c9f24d8b03b5aa366866a9e02ec00f8d4/pypdfium2-5.8.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:085e633dcc89b65ff4035a4787e98ce7ae636836eb39c83dd0db26113d9774bc", size = 3450815, upload-time = "2026-05-04T17:39:09.551Z" }, + { url = "https://files.pythonhosted.org/packages/a9/77/8e3a2aba2bc4aef5abe1b1306d05b00588dc0bf7f5c850d1adf6164c786b/pypdfium2-5.8.0-py3-none-macosx_11_0_x86_64.whl", hash = "sha256:bc84b7c6efede88fcfb9467f81daf416f26b973a54fc1cf4d3410d622fda6d7a", size = 3634395, upload-time = "2026-05-04T17:39:11.225Z" }, + { url = "https://files.pythonhosted.org/packages/93/11/6f2b1847d9fa457b3b7251afc2bba2706d104a0c6f01431dfae5d679a839/pypdfium2-5.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a63bf09b2e13ba8545c930d243f0650c664a1b51314daa3b5f38df6d1a17b4bc", size = 3617413, upload-time = "2026-05-04T17:39:13.139Z" }, + { url = "https://files.pythonhosted.org/packages/ed/fd/99ce639de5ca06d21743c740dd988cd209dda623bc763ae10b8a162022e1/pypdfium2-5.8.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:937881c1698456749ed203a58db1895baa5eb7178cdb837ef84867790638da28", size = 3347639, upload-time = "2026-05-04T17:39:15.086Z" }, + { url = "https://files.pythonhosted.org/packages/fa/47/82864cc6e26dd8969d5594c168635acb16458d35cf5fed65d6b2e32abb42/pypdfium2-5.8.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6be9dc2b84a8694ad7e626bab133244e8241014d5ed1930d865a9bdf90df1e24", size = 3746404, upload-time = "2026-05-04T17:39:17.094Z" }, + { url = "https://files.pythonhosted.org/packages/82/58/e41e49bba951f61921bac7289e67fe02af5ac57192d0bbfb5f459dc3691d/pypdfium2-5.8.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7f27bd82891ae302dd02d736b14809661f6d1220ee1e96dbed9b23e2811922a3", size = 4177893, upload-time = "2026-05-04T17:39:18.729Z" }, + { url = "https://files.pythonhosted.org/packages/b4/15/fa7031010d5cf6853dadb4864680a0bfb7782c5bb6a1a401e0c25c4fca87/pypdfium2-5.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26c1089cdbbdc7fe1248f6d17fe3f30214be4f287dd0196b31aaee18a1564240", size = 3665152, upload-time = "2026-05-04T17:39:20.207Z" }, + { url = "https://files.pythonhosted.org/packages/de/6a/5a3520a8b0cfa8d7fdc3f03a07ad9d6146c28ffd519330706f64fd8939a8/pypdfium2-5.8.0-py3-none-manylinux_2_27_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1c038a9290864aaa4862dd32e591993d82551ca4d152b4e8ce6d43ba37dc04a8", size = 3095365, upload-time = "2026-05-04T17:39:22.054Z" }, + { url = "https://files.pythonhosted.org/packages/32/d3/845bae4de3cfa36865959046156edb5bf9baea400ccdecdd84fdd911b0f5/pypdfium2-5.8.0-py3-none-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f104bc1a6d8bfc1ff088aa50db13b9729cfdb3722b44975c3c457e9a7b9c7318", size = 2961801, upload-time = "2026-05-04T17:39:23.817Z" }, + { url = "https://files.pythonhosted.org/packages/99/76/cf54eabee4a172241dfcfe63533bd1e11e2162114a983453a5a40bfec114/pypdfium2-5.8.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:04ca7c57a553facf8d46c6ea8ba6fa557e698670cfa4a58e0e01fdae2f6be87d", size = 4133067, upload-time = "2026-05-04T17:39:25.619Z" }, + { url = "https://files.pythonhosted.org/packages/77/66/dcf871d19187ca04ea184a99801a6e7e556d8347aa49540fee33cda6dfc5/pypdfium2-5.8.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:ad42b9c22477b32dbedcbc8232833f385d92fd0cf92822547b02383cf9a476d7", size = 3749100, upload-time = "2026-05-04T17:39:27.203Z" }, + { url = "https://files.pythonhosted.org/packages/32/67/0d456c79660959ca45ad307b4d67161d29f9ed4083ee1e8fe8c6925b7c82/pypdfium2-5.8.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:388e3119cf5ca0979b7d5f6d40b7fcd5ab49e17ed4e6de6af89ba116061acfda", size = 4339212, upload-time = "2026-05-04T17:39:29.277Z" }, + { url = "https://files.pythonhosted.org/packages/76/89/e5b0e0f7936be341c91c0f45cd70d693878894ed62aed93a6ee32e9c43c4/pypdfium2-5.8.0-py3-none-musllinux_1_2_ppc64le.whl", hash = "sha256:aa05bbfa485ce7916217aa78d856c9f9cd86b08b20846c650392a67975ee72e9", size = 4383943, upload-time = "2026-05-04T17:39:31.287Z" }, + { url = "https://files.pythonhosted.org/packages/82/21/4502ed255f082f579cd3537c2971cf1a57778d43703a08bcd1a92253189f/pypdfium2-5.8.0-py3-none-musllinux_1_2_riscv64.whl", hash = "sha256:f0813a16bb39d5ebd173ea5484430bb67a89b4b181db0a636c73b64ad063c3ea", size = 3925680, upload-time = "2026-05-04T17:39:33.241Z" }, + { url = "https://files.pythonhosted.org/packages/7d/4f/2e59723e7a07779439bd885c1b4960079c9710603308888d29ac926ae69a/pypdfium2-5.8.0-py3-none-musllinux_1_2_s390x.whl", hash = "sha256:a3c78f7d20dd821bec6c072efdb21a1370b9efe10fdeeb68c969e67608e25385", size = 4269560, upload-time = "2026-05-04T17:39:34.926Z" }, + { url = "https://files.pythonhosted.org/packages/34/4e/7b6b1bde3788c8b880d4b8131d95d9d339cebafb3ad9102d82e234bb65be/pypdfium2-5.8.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:86d302e207c138c827b885a72784f7b306d840646ebeae07e8efdbc39321c629", size = 4182434, upload-time = "2026-05-04T17:39:36.624Z" }, + { url = "https://files.pythonhosted.org/packages/11/7b/6ed4782e0d7a5278330598ce8c4b2df7255f4585a0b3d04520fa580d6507/pypdfium2-5.8.0-py3-none-win32.whl", hash = "sha256:3f25fd436920a907291462b41bdc0ab9f8235c3944b4c9c15398da595ffd1fed", size = 3636680, upload-time = "2026-05-04T17:39:38.49Z" }, + { url = "https://files.pythonhosted.org/packages/19/55/da7223d4202b2461f4f889b0baf10dddec3db7f88e6fd8c52db4a516eecd/pypdfium2-5.8.0-py3-none-win_amd64.whl", hash = "sha256:55592af0bddd2d62bed18e0053c546c9b72041430c5115e54870f7f6163125b0", size = 3754962, upload-time = "2026-05-04T17:39:40.13Z" }, + { url = "https://files.pythonhosted.org/packages/fc/7a/f3dcefe6ee7389aad3ca1488c177e8fbf978206de21c7a99ccf487ea38ab/pypdfium2-5.8.0-py3-none-win_arm64.whl", hash = "sha256:3f17ed97ae8a5a1705301ca93af256a5b02f9009dee4e99c5e175831d46ebd7c", size = 3548362, upload-time = "2026-05-04T17:39:42.304Z" }, ] [[package]] @@ -7900,15 +7886,15 @@ wheels = [ [[package]] name = "python-discovery" -version = "1.2.2" +version = "1.3.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "filelock" }, { name = "platformdirs" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/de/ef/3bae0e537cfe91e8431efcba4434463d2c5a65f5a89edd47c6cf2f03c55f/python_discovery-1.2.2.tar.gz", hash = "sha256:876e9c57139eb757cb5878cbdd9ae5379e5d96266c99ef731119e04fffe533bb", size = 58872, upload-time = "2026-04-07T17:28:49.249Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ae/e0/cc5a8653e9a24f6cf84768f05064aa8ed5a83dcefd5e2a043db14a1c5f44/python_discovery-1.3.0.tar.gz", hash = "sha256:d098f1e86be5d45fe4d14bf1029294aabbd332f4321179dec85e76cddce834b0", size = 63925, upload-time = "2026-05-05T14:38:39.769Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d8/db/795879cc3ddfe338599bddea6388cc5100b088db0a4caf6e6c1af1c27e04/python_discovery-1.2.2-py3-none-any.whl", hash = "sha256:e1ae95d9af875e78f15e19aed0c6137ab1bb49c200f21f5061786490c9585c7a", size = 31894, upload-time = "2026-04-07T17:28:48.09Z" }, + { url = "https://files.pythonhosted.org/packages/30/d4/24d543ab8b8158b7f5a97113c831205f5c900c92c8762b1e7f44b7ea0405/python_discovery-1.3.0-py3-none-any.whl", hash = "sha256:441d9ced3dfce36e113beb35ca302c71c7ef06f3c0f9c227a0b9bb3bd49b9e9f", size = 33124, upload-time = "2026-05-05T14:38:38.539Z" }, ] [[package]] @@ -7946,11 +7932,11 @@ wheels = [ [[package]] name = "python-multipart" -version = "0.0.27" +version = "0.0.28" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/69/9b/f23807317a113dc36e74e75eb265a02dd1a4d9082abc3c1064acd22997c4/python_multipart-0.0.27.tar.gz", hash = "sha256:9870a6a8c5a20a5bf4f07c017bd1489006ff8836cff097b6933355ee2b49b602", size = 44043, upload-time = "2026-04-27T10:51:26.649Z" } +sdist = { url = "https://files.pythonhosted.org/packages/82/54/a85eb421fbdd5007bc5af39d0f4ed9fa609e0fedbfdc2adcf0b34526870e/python_multipart-0.0.28.tar.gz", hash = "sha256:8550da197eac0f7ab748961fc9509b999fa2662ea25cef857f05249f6893c0f8", size = 45314, upload-time = "2026-05-10T11:05:16.596Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/99/78/4126abcbdbd3c559d43e0db7f7b9173fc6befe45d39a2856cc0b8ec2a5a6/python_multipart-0.0.27-py3-none-any.whl", hash = "sha256:6fccfad17a27334bd0193681b369f476eda3409f17381a2d65aa7df3f7275645", size = 29254, upload-time = "2026-04-27T10:51:24.997Z" }, + { url = "https://files.pythonhosted.org/packages/f3/a2/43bbc5860b5034e2af4ef99a0e04d726ff329c43e192ef3abaa8d7ecfce5/python_multipart-0.0.28-py3-none-any.whl", hash = "sha256:10faac07eb966c3f48dc415f9dee46c04cb10d58d30a35677db8027c825ed9b6", size = 29438, upload-time = "2026-05-10T11:05:15.052Z" }, ] [[package]] @@ -8098,123 +8084,123 @@ wheels = [ [[package]] name = "regex" -version = "2026.4.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cb/0e/3a246dbf05666918bd3664d9d787f84a9108f6f43cc953a077e4a7dfdb7e/regex-2026.4.4.tar.gz", hash = "sha256:e08270659717f6973523ce3afbafa53515c4dc5dcad637dc215b6fd50f689423", size = 416000, upload-time = "2026-04-03T20:56:28.155Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/12/59/fd98f8fd54b3feaa76a855324c676c17668c5a1121ec91b7ec96b01bf865/regex-2026.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:74fa82dcc8143386c7c0392e18032009d1db715c25f4ba22d23dc2e04d02a20f", size = 489403, upload-time = "2026-04-03T20:52:39.742Z" }, - { url = "https://files.pythonhosted.org/packages/6c/64/d0f222f68e3579d50babf0e4fcc9c9639ef0587fecc00b15e1e46bfc32fa/regex-2026.4.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a85b620a388d6c9caa12189233109e236b3da3deffe4ff11b84ae84e218a274f", size = 291208, upload-time = "2026-04-03T20:52:42.943Z" }, - { url = "https://files.pythonhosted.org/packages/16/7f/3fab9709b0b0060ba81a04b8a107b34147cd14b9c5551b772154d6505504/regex-2026.4.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2895506ebe32cc63eeed8f80e6eae453171cfccccab35b70dc3129abec35a5b8", size = 289214, upload-time = "2026-04-03T20:52:44.648Z" }, - { url = "https://files.pythonhosted.org/packages/14/bc/f5dcf04fd462139dcd75495c02eee22032ef741cfa151386a39c3f5fc9b5/regex-2026.4.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6780f008ee81381c737634e75c24e5a6569cc883c4f8e37a37917ee79efcafd9", size = 785505, upload-time = "2026-04-03T20:52:46.35Z" }, - { url = "https://files.pythonhosted.org/packages/37/36/8a906e216d5b4de7ec3788c1d589b45db40c1c9580cd7b326835cfc976d4/regex-2026.4.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:88e9b048345c613f253bea4645b2fe7e579782b82cac99b1daad81e29cc2ed8e", size = 852129, upload-time = "2026-04-03T20:52:48.661Z" }, - { url = "https://files.pythonhosted.org/packages/a5/bb/bad2d79be0917a6ef31f5e0f161d9265cb56fd90a3ae1d2e8d991882a48b/regex-2026.4.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:be061028481186ba62a0f4c5f1cc1e3d5ab8bce70c89236ebe01023883bc903b", size = 899578, upload-time = "2026-04-03T20:52:50.61Z" }, - { url = "https://files.pythonhosted.org/packages/1a/b9/7cd0ceb58cd99c70806241636640ae15b4a3fe62e22e9b99afa67a0d7965/regex-2026.4.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d2228c02b368d69b724c36e96d3d1da721561fb9cc7faa373d7bf65e07d75cb5", size = 793634, upload-time = "2026-04-03T20:52:53Z" }, - { url = "https://files.pythonhosted.org/packages/2c/fb/c58e3ea40ed183806ccbac05c29a3e8c2f88c1d3a66ed27860d5cad7c62d/regex-2026.4.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0540e5b733618a2f84e9cb3e812c8afa82e151ca8e19cf6c4e95c5a65198236f", size = 786210, upload-time = "2026-04-03T20:52:54.713Z" }, - { url = "https://files.pythonhosted.org/packages/54/a9/53790fc7a6c948a7be2bc7214fd9cabdd0d1ba561b0f401c91f4ff0357f0/regex-2026.4.4-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cf9b1b2e692d4877880388934ac746c99552ce6bf40792a767fd42c8c99f136d", size = 769930, upload-time = "2026-04-03T20:52:56.825Z" }, - { url = "https://files.pythonhosted.org/packages/e3/3c/29ca44729191c79f5476538cd0fa04fa2553b3c45508519ecea4c7afa8f6/regex-2026.4.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:011bb48bffc1b46553ac704c975b3348717f4e4aa7a67522b51906f99da1820c", size = 774892, upload-time = "2026-04-03T20:52:58.934Z" }, - { url = "https://files.pythonhosted.org/packages/3e/db/6ae74ef8a4cfead341c367e4eed45f71fb1aaba35827a775eed4f1ba4f74/regex-2026.4.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8512fcdb43f1bf18582698a478b5ab73f9c1667a5b7548761329ef410cd0a760", size = 848816, upload-time = "2026-04-03T20:53:00.684Z" }, - { url = "https://files.pythonhosted.org/packages/53/9a/f7f2c1c6b610d7c6de1c3dc5951effd92c324b1fde761af2044b4721020f/regex-2026.4.4-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:867bddc63109a0276f5a31999e4c8e0eb7bbbad7d6166e28d969a2c1afeb97f9", size = 758363, upload-time = "2026-04-03T20:53:02.155Z" }, - { url = "https://files.pythonhosted.org/packages/dd/55/e5386d393bbf8b43c8b084703a46d635e7b2bdc6e0f5909a2619ea1125f1/regex-2026.4.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1b9a00b83f3a40e09859c78920571dcb83293c8004079653dd22ec14bbfa98c7", size = 837122, upload-time = "2026-04-03T20:53:03.727Z" }, - { url = "https://files.pythonhosted.org/packages/01/da/cc78710ea2e60b10bacfcc9beb18c67514200ab03597b3b2b319995785c2/regex-2026.4.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e355be718caf838aa089870259cf1776dc2a4aa980514af9d02c59544d9a8b22", size = 782140, upload-time = "2026-04-03T20:53:05.608Z" }, - { url = "https://files.pythonhosted.org/packages/a2/5f/c7bcba41529105d6c2ca7080ecab7184cd00bee2e1ad1fdea80e618704ea/regex-2026.4.4-cp310-cp310-win32.whl", hash = "sha256:33bfda9684646d323414df7abe5692c61d297dbb0530b28ec66442e768813c59", size = 266225, upload-time = "2026-04-03T20:53:07.342Z" }, - { url = "https://files.pythonhosted.org/packages/eb/26/a745729c2c49354ec4f4bce168f29da932ca01b4758227686cc16c7dde1b/regex-2026.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:0709f22a56798457ae317bcce42aacee33c680068a8f14097430d9f9ba364bee", size = 278393, upload-time = "2026-04-03T20:53:08.65Z" }, - { url = "https://files.pythonhosted.org/packages/87/8b/4327eeb9dbb4b098ebecaf02e9f82b79b6077beeb54c43d9a0660cf7c44c/regex-2026.4.4-cp310-cp310-win_arm64.whl", hash = "sha256:ee9627de8587c1a22201cb16d0296ab92b4df5cdcb5349f4e9744d61db7c7c98", size = 270470, upload-time = "2026-04-03T20:53:10.018Z" }, - { url = "https://files.pythonhosted.org/packages/e0/7a/617356cbecdb452812a5d42f720d6d5096b360d4a4c1073af700ea140ad2/regex-2026.4.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b4c36a85b00fadb85db9d9e90144af0a980e1a3d2ef9cd0f8a5bef88054657c6", size = 489415, upload-time = "2026-04-03T20:53:11.645Z" }, - { url = "https://files.pythonhosted.org/packages/20/e6/bf057227144d02e3ba758b66649e87531d744dda5f3254f48660f18ae9d8/regex-2026.4.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:dcb5453ecf9cd58b562967badd1edbf092b0588a3af9e32ee3d05c985077ce87", size = 291205, upload-time = "2026-04-03T20:53:13.289Z" }, - { url = "https://files.pythonhosted.org/packages/eb/3b/637181b787dd1a820ba1c712cee2b4144cd84a32dc776ca067b12b2d70c8/regex-2026.4.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6aa809ed4dc3706cc38594d67e641601bd2f36d5555b2780ff074edfcb136cf8", size = 289225, upload-time = "2026-04-03T20:53:16.002Z" }, - { url = "https://files.pythonhosted.org/packages/05/21/bac05d806ed02cd4b39d9c8e5b5f9a2998c94c3a351b7792e80671fa5315/regex-2026.4.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:33424f5188a7db12958246a54f59a435b6cb62c5cf9c8d71f7cc49475a5fdada", size = 792434, upload-time = "2026-04-03T20:53:17.414Z" }, - { url = "https://files.pythonhosted.org/packages/d9/17/c65d1d8ae90b772d5758eb4014e1e011bb2db353fc4455432e6cc9100df7/regex-2026.4.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7d346fccdde28abba117cc9edc696b9518c3307fbfcb689e549d9b5979018c6d", size = 861730, upload-time = "2026-04-03T20:53:18.903Z" }, - { url = "https://files.pythonhosted.org/packages/ad/64/933321aa082a2c6ee2785f22776143ba89840189c20d3b6b1d12b6aae16b/regex-2026.4.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:415a994b536440f5011aa77e50a4274d15da3245e876e5c7f19da349caaedd87", size = 906495, upload-time = "2026-04-03T20:53:20.561Z" }, - { url = "https://files.pythonhosted.org/packages/01/ea/4c8d306e9c36ac22417336b1e02e7b358152c34dc379673f2d331143725f/regex-2026.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:21e5eb86179b4c67b5759d452ea7c48eb135cd93308e7a260aa489ed2eb423a4", size = 799810, upload-time = "2026-04-03T20:53:22.961Z" }, - { url = "https://files.pythonhosted.org/packages/29/ce/7605048f00e1379eba89d610c7d644d8f695dc9b26d3b6ecfa3132b872ff/regex-2026.4.4-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:312ec9dd1ae7d96abd8c5a36a552b2139931914407d26fba723f9e53c8186f86", size = 774242, upload-time = "2026-04-03T20:53:25.015Z" }, - { url = "https://files.pythonhosted.org/packages/e9/77/283e0d5023fde22cd9e86190d6d9beb21590a452b195ffe00274de470691/regex-2026.4.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a0d2b28aa1354c7cd7f71b7658c4326f7facac106edd7f40eda984424229fd59", size = 781257, upload-time = "2026-04-03T20:53:26.918Z" }, - { url = "https://files.pythonhosted.org/packages/8b/fb/7f3b772be101373c8626ed34c5d727dcbb8abd42a7b1219bc25fd9a3cc04/regex-2026.4.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:349d7310eddff40429a099c08d995c6d4a4bfaf3ff40bd3b5e5cb5a5a3c7d453", size = 854490, upload-time = "2026-04-03T20:53:29.065Z" }, - { url = "https://files.pythonhosted.org/packages/85/30/56547b80f34f4dd2986e1cdd63b1712932f63b6c4ce2f79c50a6cd79d1c2/regex-2026.4.4-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:e7ab63e9fe45a9ec3417509e18116b367e89c9ceb6219222a3396fa30b147f80", size = 763544, upload-time = "2026-04-03T20:53:30.917Z" }, - { url = "https://files.pythonhosted.org/packages/ac/2f/ce060fdfea8eff34a8997603532e44cdb7d1f35e3bc253612a8707a90538/regex-2026.4.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:fe896e07a5a2462308297e515c0054e9ec2dd18dfdc9427b19900b37dfe6f40b", size = 844442, upload-time = "2026-04-03T20:53:32.463Z" }, - { url = "https://files.pythonhosted.org/packages/e5/44/810cb113096a1dacbe82789fbfab2823f79d19b7f1271acecb7009ba9b88/regex-2026.4.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:eb59c65069498dbae3c0ef07bbe224e1eaa079825a437fb47a479f0af11f774f", size = 789162, upload-time = "2026-04-03T20:53:34.039Z" }, - { url = "https://files.pythonhosted.org/packages/20/96/9647dd7f2ecf6d9ce1fb04dfdb66910d094e10d8fe53e9c15096d8aa0bd2/regex-2026.4.4-cp311-cp311-win32.whl", hash = "sha256:2a5d273181b560ef8397c8825f2b9d57013de744da9e8257b8467e5da8599351", size = 266227, upload-time = "2026-04-03T20:53:35.601Z" }, - { url = "https://files.pythonhosted.org/packages/33/80/74e13262460530c3097ff343a17de9a34d040a5dc4de9cf3a8241faab51c/regex-2026.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:9542ccc1e689e752594309444081582f7be2fdb2df75acafea8a075108566735", size = 278399, upload-time = "2026-04-03T20:53:37.021Z" }, - { url = "https://files.pythonhosted.org/packages/1c/3c/39f19f47f19dcefa3403f09d13562ca1c0fd07ab54db2bc03148f3f6b46a/regex-2026.4.4-cp311-cp311-win_arm64.whl", hash = "sha256:b5f9fb784824a042be3455b53d0b112655686fdb7a91f88f095f3fee1e2a2a54", size = 270473, upload-time = "2026-04-03T20:53:38.633Z" }, - { url = "https://files.pythonhosted.org/packages/e5/28/b972a4d3df61e1d7bcf1b59fdb3cddef22f88b6be43f161bb41ebc0e4081/regex-2026.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:c07ab8794fa929e58d97a0e1796b8b76f70943fa39df225ac9964615cf1f9d52", size = 490434, upload-time = "2026-04-03T20:53:40.219Z" }, - { url = "https://files.pythonhosted.org/packages/84/20/30041446cf6dc3e0eab344fc62770e84c23b6b68a3b657821f9f80cb69b4/regex-2026.4.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2c785939dc023a1ce4ec09599c032cc9933d258a998d16ca6f2b596c010940eb", size = 292061, upload-time = "2026-04-03T20:53:41.862Z" }, - { url = "https://files.pythonhosted.org/packages/62/c8/3baa06d75c98c46d4cc4262b71fd2edb9062b5665e868bca57859dadf93a/regex-2026.4.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1b1ce5c81c9114f1ce2f9288a51a8fd3aeea33a0cc440c415bf02da323aa0a76", size = 289628, upload-time = "2026-04-03T20:53:43.701Z" }, - { url = "https://files.pythonhosted.org/packages/31/87/3accf55634caad8c0acab23f5135ef7d4a21c39f28c55c816ae012931408/regex-2026.4.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:760ef21c17d8e6a4fe8cf406a97cf2806a4df93416ccc82fc98d25b1c20425be", size = 796651, upload-time = "2026-04-03T20:53:45.379Z" }, - { url = "https://files.pythonhosted.org/packages/f6/0c/aaa2c83f34efedbf06f61cb1942c25f6cf1ee3b200f832c4d05f28306c2e/regex-2026.4.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7088fcdcb604a4417c208e2169715800d28838fefd7455fbe40416231d1d47c1", size = 865916, upload-time = "2026-04-03T20:53:47.064Z" }, - { url = "https://files.pythonhosted.org/packages/d9/f6/8c6924c865124643e8f37823eca845dc27ac509b2ee58123685e71cd0279/regex-2026.4.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:07edca1ba687998968f7db5bc355288d0c6505caa7374f013d27356d93976d13", size = 912287, upload-time = "2026-04-03T20:53:49.422Z" }, - { url = "https://files.pythonhosted.org/packages/11/0e/a9f6f81013e0deaf559b25711623864970fe6a098314e374ccb1540a4152/regex-2026.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:993f657a7c1c6ec51b5e0ba97c9817d06b84ea5fa8d82e43b9405de0defdc2b9", size = 801126, upload-time = "2026-04-03T20:53:51.096Z" }, - { url = "https://files.pythonhosted.org/packages/71/61/3a0cc8af2dc0c8deb48e644dd2521f173f7e6513c6e195aad9aa8dd77ac5/regex-2026.4.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:2b69102a743e7569ebee67e634a69c4cb7e59d6fa2e1aa7d3bdbf3f61435f62d", size = 776788, upload-time = "2026-04-03T20:53:52.889Z" }, - { url = "https://files.pythonhosted.org/packages/64/0b/8bb9cbf21ef7dee58e49b0fdb066a7aded146c823202e16494a36777594f/regex-2026.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dac006c8b6dda72d86ea3d1333d45147de79a3a3f26f10c1cf9287ca4ca0ac3", size = 785184, upload-time = "2026-04-03T20:53:55.627Z" }, - { url = "https://files.pythonhosted.org/packages/99/c2/d3e80e8137b25ee06c92627de4e4d98b94830e02b3e6f81f3d2e3f504cf5/regex-2026.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:50a766ee2010d504554bfb5f578ed2e066898aa26411d57e6296230627cdefa0", size = 859913, upload-time = "2026-04-03T20:53:57.249Z" }, - { url = "https://files.pythonhosted.org/packages/bc/e6/9d5d876157d969c804622456ef250017ac7a8f83e0e14f903b9e6df5ce95/regex-2026.4.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:9e2f5217648f68e3028c823df58663587c1507a5ba8419f4fdfc8a461be76043", size = 765732, upload-time = "2026-04-03T20:53:59.428Z" }, - { url = "https://files.pythonhosted.org/packages/82/80/b568935b4421388561c8ed42aff77247285d3ae3bb2a6ca22af63bae805e/regex-2026.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:39d8de85a08e32632974151ba59c6e9140646dcc36c80423962b1c5c0a92e244", size = 852152, upload-time = "2026-04-03T20:54:01.505Z" }, - { url = "https://files.pythonhosted.org/packages/39/29/f0f81217e21cd998245da047405366385d5c6072048038a3d33b37a79dc0/regex-2026.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:55d9304e0e7178dfb1e106c33edf834097ddf4a890e2f676f6c5118f84390f73", size = 789076, upload-time = "2026-04-03T20:54:03.323Z" }, - { url = "https://files.pythonhosted.org/packages/49/1d/1d957a61976ab9d4e767dd4f9d04b66cc0c41c5e36cf40e2d43688b5ae6f/regex-2026.4.4-cp312-cp312-win32.whl", hash = "sha256:04bb679bc0bde8a7bfb71e991493d47314e7b98380b083df2447cda4b6edb60f", size = 266700, upload-time = "2026-04-03T20:54:05.639Z" }, - { url = "https://files.pythonhosted.org/packages/c5/5c/bf575d396aeb58ea13b06ef2adf624f65b70fafef6950a80fc3da9cae3bc/regex-2026.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:db0ac18435a40a2543dbb3d21e161a6c78e33e8159bd2e009343d224bb03bb1b", size = 277768, upload-time = "2026-04-03T20:54:07.312Z" }, - { url = "https://files.pythonhosted.org/packages/c9/27/049df16ec6a6828ccd72add3c7f54b4df029669bea8e9817df6fff58be90/regex-2026.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:4ce255cc05c1947a12989c6db801c96461947adb7a59990f1360b5983fab4983", size = 270568, upload-time = "2026-04-03T20:54:09.484Z" }, - { url = "https://files.pythonhosted.org/packages/9d/83/c4373bc5f31f2cf4b66f9b7c31005bd87fe66f0dce17701f7db4ee79ee29/regex-2026.4.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:62f5519042c101762509b1d717b45a69c0139d60414b3c604b81328c01bd1943", size = 490273, upload-time = "2026-04-03T20:54:11.202Z" }, - { url = "https://files.pythonhosted.org/packages/46/f8/fe62afbcc3cf4ad4ac9adeaafd98aa747869ae12d3e8e2ac293d0593c435/regex-2026.4.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3790ba9fb5dd76715a7afe34dbe603ba03f8820764b1dc929dd08106214ed031", size = 291954, upload-time = "2026-04-03T20:54:13.412Z" }, - { url = "https://files.pythonhosted.org/packages/5a/92/4712b9fe6a33d232eeb1c189484b80c6c4b8422b90e766e1195d6e758207/regex-2026.4.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8fae3c6e795d7678963f2170152b0d892cf6aee9ee8afc8c45e6be38d5107fe7", size = 289487, upload-time = "2026-04-03T20:54:15.824Z" }, - { url = "https://files.pythonhosted.org/packages/88/2c/f83b93f85e01168f1070f045a42d4c937b69fdb8dd7ae82d307253f7e36e/regex-2026.4.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:298c3ec2d53225b3bf91142eb9691025bab610e0c0c51592dde149db679b3d17", size = 796646, upload-time = "2026-04-03T20:54:18.229Z" }, - { url = "https://files.pythonhosted.org/packages/df/55/61a2e17bf0c4dc57e11caf8dd11771280d8aaa361785f9e3bc40d653f4a7/regex-2026.4.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e9638791082eaf5b3ac112c587518ee78e083a11c4b28012d8fe2a0f536dfb17", size = 865904, upload-time = "2026-04-03T20:54:20.019Z" }, - { url = "https://files.pythonhosted.org/packages/45/32/1ac8ed1b5a346b5993a3d256abe0a0f03b0b73c8cc88d928537368ac65b6/regex-2026.4.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ae3e764bd4c5ff55035dc82a8d49acceb42a5298edf6eb2fc4d328ee5dd7afae", size = 912304, upload-time = "2026-04-03T20:54:22.403Z" }, - { url = "https://files.pythonhosted.org/packages/26/47/2ee5c613ab546f0eddebf9905d23e07beb933416b1246c2d8791d01979b4/regex-2026.4.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ffa81f81b80047ba89a3c69ae6a0f78d06f4a42ce5126b0eb2a0a10ad44e0b2e", size = 801126, upload-time = "2026-04-03T20:54:24.308Z" }, - { url = "https://files.pythonhosted.org/packages/75/cd/41dacd129ca9fd20bd7d02f83e0fad83e034ac8a084ec369c90f55ef37e2/regex-2026.4.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f56ebf9d70305307a707911b88469213630aba821e77de7d603f9d2f0730687d", size = 776772, upload-time = "2026-04-03T20:54:26.319Z" }, - { url = "https://files.pythonhosted.org/packages/89/6d/5af0b588174cb5f46041fa7dd64d3fd5cd2fe51f18766703d1edc387f324/regex-2026.4.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:773d1dfd652bbffb09336abf890bfd64785c7463716bf766d0eb3bc19c8b7f27", size = 785228, upload-time = "2026-04-03T20:54:28.387Z" }, - { url = "https://files.pythonhosted.org/packages/b7/3b/f5a72b7045bd59575fc33bf1345f156fcfd5a8484aea6ad84b12c5a82114/regex-2026.4.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d51d20befd5275d092cdffba57ded05f3c436317ee56466c8928ac32d960edaf", size = 860032, upload-time = "2026-04-03T20:54:30.641Z" }, - { url = "https://files.pythonhosted.org/packages/39/a4/72a317003d6fcd7a573584a85f59f525dfe8f67e355ca74eb6b53d66a5e2/regex-2026.4.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:0a51cdb3c1e9161154f976cb2bef9894bc063ac82f31b733087ffb8e880137d0", size = 765714, upload-time = "2026-04-03T20:54:32.789Z" }, - { url = "https://files.pythonhosted.org/packages/25/1e/5672e16f34dbbcb2560cc7e6a2fbb26dfa8b270711e730101da4423d3973/regex-2026.4.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:ae5266a82596114e41fb5302140e9630204c1b5f325c770bec654b95dd54b0aa", size = 852078, upload-time = "2026-04-03T20:54:34.546Z" }, - { url = "https://files.pythonhosted.org/packages/f7/0d/c813f0af7c6cc7ed7b9558bac2e5120b60ad0fa48f813e4d4bd55446f214/regex-2026.4.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c882cd92ec68585e9c1cf36c447ec846c0d94edd706fe59e0c198e65822fd23b", size = 789181, upload-time = "2026-04-03T20:54:36.642Z" }, - { url = "https://files.pythonhosted.org/packages/ea/6d/a344608d1adbd2a95090ddd906cec09a11be0e6517e878d02a5123e0917f/regex-2026.4.4-cp313-cp313-win32.whl", hash = "sha256:05568c4fbf3cb4fa9e28e3af198c40d3237cf6041608a9022285fe567ec3ad62", size = 266690, upload-time = "2026-04-03T20:54:38.343Z" }, - { url = "https://files.pythonhosted.org/packages/31/07/54049f89b46235ca6f45cd6c88668a7050e77d4a15555e47dd40fde75263/regex-2026.4.4-cp313-cp313-win_amd64.whl", hash = "sha256:3384df51ed52db0bea967e21458ab0a414f67cdddfd94401688274e55147bb81", size = 277733, upload-time = "2026-04-03T20:54:40.11Z" }, - { url = "https://files.pythonhosted.org/packages/0e/21/61366a8e20f4d43fb597708cac7f0e2baadb491ecc9549b4980b2be27d16/regex-2026.4.4-cp313-cp313-win_arm64.whl", hash = "sha256:acd38177bd2c8e69a411d6521760806042e244d0ef94e2dd03ecdaa8a3c99427", size = 270565, upload-time = "2026-04-03T20:54:41.883Z" }, - { url = "https://files.pythonhosted.org/packages/f1/1e/3a2b9672433bef02f5d39aa1143ca2c08f311c1d041c464a42be9ae648dc/regex-2026.4.4-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:f94a11a9d05afcfcfa640e096319720a19cc0c9f7768e1a61fceee6a3afc6c7c", size = 494126, upload-time = "2026-04-03T20:54:43.602Z" }, - { url = "https://files.pythonhosted.org/packages/4e/4b/c132a4f4fe18ad3340d89fcb56235132b69559136036b845be3c073142ed/regex-2026.4.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:36bcb9d6d1307ab629edc553775baada2aefa5c50ccc0215fbfd2afcfff43141", size = 293882, upload-time = "2026-04-03T20:54:45.41Z" }, - { url = "https://files.pythonhosted.org/packages/f4/5f/eaa38092ce7a023656280f2341dbbd4ad5f05d780a70abba7bb4f4bea54c/regex-2026.4.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:261c015b3e2ed0919157046d768774ecde57f03d8fa4ba78d29793447f70e717", size = 292334, upload-time = "2026-04-03T20:54:47.051Z" }, - { url = "https://files.pythonhosted.org/packages/5f/f6/dd38146af1392dac33db7074ab331cec23cced3759167735c42c5460a243/regex-2026.4.4-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c228cf65b4a54583763645dcd73819b3b381ca8b4bb1b349dee1c135f4112c07", size = 811691, upload-time = "2026-04-03T20:54:49.074Z" }, - { url = "https://files.pythonhosted.org/packages/7a/f0/dc54c2e69f5eeec50601054998ec3690d5344277e782bd717e49867c1d29/regex-2026.4.4-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dd2630faeb6876fb0c287f664d93ddce4d50cd46c6e88e60378c05c9047e08ca", size = 871227, upload-time = "2026-04-03T20:54:51.035Z" }, - { url = "https://files.pythonhosted.org/packages/a1/af/cb16bd5dc61621e27df919a4449bbb7e5a1034c34d307e0a706e9cc0f3e3/regex-2026.4.4-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6a50ab11b7779b849472337191f3a043e27e17f71555f98d0092fa6d73364520", size = 917435, upload-time = "2026-04-03T20:54:52.994Z" }, - { url = "https://files.pythonhosted.org/packages/5c/71/8b260897f22996b666edd9402861668f45a2ca259f665ac029e6104a2d7d/regex-2026.4.4-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0734f63afe785138549fbe822a8cfeaccd1bae814c5057cc0ed5b9f2de4fc883", size = 816358, upload-time = "2026-04-03T20:54:54.884Z" }, - { url = "https://files.pythonhosted.org/packages/1c/60/775f7f72a510ef238254906c2f3d737fc80b16ca85f07d20e318d2eea894/regex-2026.4.4-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c4ee50606cb1967db7e523224e05f32089101945f859928e65657a2cbb3d278b", size = 785549, upload-time = "2026-04-03T20:54:57.01Z" }, - { url = "https://files.pythonhosted.org/packages/58/42/34d289b3627c03cf381e44da534a0021664188fa49ba41513da0b4ec6776/regex-2026.4.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6c1818f37be3ca02dcb76d63f2c7aaba4b0dc171b579796c6fbe00148dfec6b1", size = 801364, upload-time = "2026-04-03T20:54:58.981Z" }, - { url = "https://files.pythonhosted.org/packages/fc/20/f6ecf319b382a8f1ab529e898b222c3f30600fcede7834733c26279e7465/regex-2026.4.4-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:f5bfc2741d150d0be3e4a0401a5c22b06e60acb9aa4daa46d9e79a6dcd0f135b", size = 866221, upload-time = "2026-04-03T20:55:00.88Z" }, - { url = "https://files.pythonhosted.org/packages/92/6a/9f16d3609d549bd96d7a0b2aee1625d7512ba6a03efc01652149ef88e74d/regex-2026.4.4-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:504ffa8a03609a087cad81277a629b6ce884b51a24bd388a7980ad61748618ff", size = 772530, upload-time = "2026-04-03T20:55:03.213Z" }, - { url = "https://files.pythonhosted.org/packages/fa/f6/aa9768bc96a4c361ac96419fbaf2dcdc33970bb813df3ba9b09d5d7b6d96/regex-2026.4.4-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:70aadc6ff12e4b444586e57fc30771f86253f9f0045b29016b9605b4be5f7dfb", size = 856989, upload-time = "2026-04-03T20:55:05.087Z" }, - { url = "https://files.pythonhosted.org/packages/4d/b4/c671db3556be2473ae3e4bb7a297c518d281452871501221251ea4ecba57/regex-2026.4.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f4f83781191007b6ef43b03debc35435f10cad9b96e16d147efe84a1d48bdde4", size = 803241, upload-time = "2026-04-03T20:55:07.162Z" }, - { url = "https://files.pythonhosted.org/packages/2a/5c/83e3b1d89fa4f6e5a1bc97b4abd4a9a97b3c1ac7854164f694f5f0ba98a0/regex-2026.4.4-cp313-cp313t-win32.whl", hash = "sha256:e014a797de43d1847df957c0a2a8e861d1c17547ee08467d1db2c370b7568baa", size = 269921, upload-time = "2026-04-03T20:55:09.62Z" }, - { url = "https://files.pythonhosted.org/packages/28/07/077c387121f42cdb4d92b1301133c0d93b5709d096d1669ab847dda9fe2e/regex-2026.4.4-cp313-cp313t-win_amd64.whl", hash = "sha256:b15b88b0d52b179712632832c1d6e58e5774f93717849a41096880442da41ab0", size = 281240, upload-time = "2026-04-03T20:55:11.521Z" }, - { url = "https://files.pythonhosted.org/packages/9d/22/ead4a4abc7c59a4d882662aa292ca02c8b617f30b6e163bc1728879e9353/regex-2026.4.4-cp313-cp313t-win_arm64.whl", hash = "sha256:586b89cdadf7d67bf86ae3342a4dcd2b8d70a832d90c18a0ae955105caf34dbe", size = 272440, upload-time = "2026-04-03T20:55:13.365Z" }, - { url = "https://files.pythonhosted.org/packages/f0/f5/ed97c2dc47b5fbd4b73c0d7d75f9ebc8eca139f2bbef476bba35f28c0a77/regex-2026.4.4-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:2da82d643fa698e5e5210e54af90181603d5853cf469f5eedf9bfc8f59b4b8c7", size = 490343, upload-time = "2026-04-03T20:55:15.241Z" }, - { url = "https://files.pythonhosted.org/packages/80/e9/de4828a7385ec166d673a5790ad06ac48cdaa98bc0960108dd4b9cc1aef7/regex-2026.4.4-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:54a1189ad9d9357760557c91103d5e421f0a2dabe68a5cdf9103d0dcf4e00752", size = 291909, upload-time = "2026-04-03T20:55:17.558Z" }, - { url = "https://files.pythonhosted.org/packages/b4/d6/5cfbfc97f3201a4d24b596a77957e092030dcc4205894bc035cedcfce62f/regex-2026.4.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:76d67d5afb1fe402d10a6403bae668d000441e2ab115191a804287d53b772951", size = 289692, upload-time = "2026-04-03T20:55:20.561Z" }, - { url = "https://files.pythonhosted.org/packages/8e/ac/f2212d9fd56fe897e36d0110ba30ba2d247bd6410c5bd98499c7e5a1e1f2/regex-2026.4.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e7cd3e4ee8d80447a83bbc9ab0c8459781fa77087f856c3e740d7763be0df27f", size = 796979, upload-time = "2026-04-03T20:55:22.56Z" }, - { url = "https://files.pythonhosted.org/packages/c9/e3/a016c12675fbac988a60c7e1c16e67823ff0bc016beb27bd7a001dbdabc6/regex-2026.4.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2e19e18c568d2866d8b6a6dfad823db86193503f90823a8f66689315ba28fbe8", size = 866744, upload-time = "2026-04-03T20:55:24.646Z" }, - { url = "https://files.pythonhosted.org/packages/af/a4/0b90ca4cf17adc3cb43de80ec71018c37c88ad64987e8d0d481a95ca60b5/regex-2026.4.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7698a6f38730fd1385d390d1ed07bb13dce39aa616aca6a6d89bea178464b9a4", size = 911613, upload-time = "2026-04-03T20:55:27.033Z" }, - { url = "https://files.pythonhosted.org/packages/8e/3b/2b3dac0b82d41ab43aa87c6ecde63d71189d03fe8854b8ca455a315edac3/regex-2026.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:173a66f3651cdb761018078e2d9487f4cf971232c990035ec0eb1cdc6bf929a9", size = 800551, upload-time = "2026-04-03T20:55:29.532Z" }, - { url = "https://files.pythonhosted.org/packages/25/fe/5365eb7aa0e753c4b5957815c321519ecab033c279c60e1b1ae2367fa810/regex-2026.4.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fa7922bbb2cc84fa062d37723f199d4c0cd200245ce269c05db82d904db66b83", size = 776911, upload-time = "2026-04-03T20:55:31.526Z" }, - { url = "https://files.pythonhosted.org/packages/aa/b3/7fb0072156bba065e3b778a7bc7b0a6328212be5dd6a86fd207e0c4f2dab/regex-2026.4.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:59f67cd0a0acaf0e564c20bbd7f767286f23e91e2572c5703bf3e56ea7557edb", size = 785751, upload-time = "2026-04-03T20:55:33.797Z" }, - { url = "https://files.pythonhosted.org/packages/02/1a/9f83677eb699273e56e858f7bd95acdbee376d42f59e8bfca2fd80d79df3/regex-2026.4.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:475e50f3f73f73614f7cba5524d6de49dee269df00272a1b85e3d19f6d498465", size = 860484, upload-time = "2026-04-03T20:55:35.745Z" }, - { url = "https://files.pythonhosted.org/packages/3b/7a/93937507b61cfcff8b4c5857f1b452852b09f741daa9acae15c971d8554e/regex-2026.4.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:a1c0c7d67b64d85ac2e1879923bad2f08a08f3004055f2f406ef73c850114bd4", size = 765939, upload-time = "2026-04-03T20:55:37.972Z" }, - { url = "https://files.pythonhosted.org/packages/86/ea/81a7f968a351c6552b1670ead861e2a385be730ee28402233020c67f9e0f/regex-2026.4.4-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:1371c2ccbb744d66ee63631cc9ca12aa233d5749972626b68fe1a649dd98e566", size = 851417, upload-time = "2026-04-03T20:55:39.92Z" }, - { url = "https://files.pythonhosted.org/packages/4c/7e/323c18ce4b5b8f44517a36342961a0306e931e499febbd876bb149d900f0/regex-2026.4.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:59968142787042db793348a3f5b918cf24ced1f23247328530e063f89c128a95", size = 789056, upload-time = "2026-04-03T20:55:42.303Z" }, - { url = "https://files.pythonhosted.org/packages/c0/af/e7510f9b11b1913b0cd44eddb784b2d650b2af6515bfce4cffcc5bfd1d38/regex-2026.4.4-cp314-cp314-win32.whl", hash = "sha256:59efe72d37fd5a91e373e5146f187f921f365f4abc1249a5ab446a60f30dd5f8", size = 272130, upload-time = "2026-04-03T20:55:44.995Z" }, - { url = "https://files.pythonhosted.org/packages/9a/51/57dae534c915e2d3a21490e88836fa2ae79dde3b66255ecc0c0a155d2c10/regex-2026.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:e0aab3ff447845049d676827d2ff714aab4f73f340e155b7de7458cf53baa5a4", size = 280992, upload-time = "2026-04-03T20:55:47.316Z" }, - { url = "https://files.pythonhosted.org/packages/0a/5e/abaf9f4c3792e34edb1434f06717fae2b07888d85cb5cec29f9204931bf8/regex-2026.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:a7a5bb6aa0cf62208bb4fa079b0c756734f8ad0e333b425732e8609bd51ee22f", size = 273563, upload-time = "2026-04-03T20:55:49.273Z" }, - { url = "https://files.pythonhosted.org/packages/ff/06/35da85f9f217b9538b99cbb170738993bcc3b23784322decb77619f11502/regex-2026.4.4-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:97850d0638391bdc7d35dc1c1039974dcb921eaafa8cc935ae4d7f272b1d60b3", size = 494191, upload-time = "2026-04-03T20:55:51.258Z" }, - { url = "https://files.pythonhosted.org/packages/54/5b/1bc35f479eef8285c4baf88d8c002023efdeebb7b44a8735b36195486ae7/regex-2026.4.4-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:ee7337f88f2a580679f7bbfe69dc86c043954f9f9c541012f49abc554a962f2e", size = 293877, upload-time = "2026-04-03T20:55:53.214Z" }, - { url = "https://files.pythonhosted.org/packages/39/5b/f53b9ad17480b3ddd14c90da04bfb55ac6894b129e5dea87bcaf7d00e336/regex-2026.4.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7429f4e6192c11d659900c0648ba8776243bf396ab95558b8c51a345afeddde6", size = 292410, upload-time = "2026-04-03T20:55:55.736Z" }, - { url = "https://files.pythonhosted.org/packages/bb/56/52377f59f60a7c51aa4161eecf0b6032c20b461805aca051250da435ffc9/regex-2026.4.4-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dc4f10fbd5dd13dcf4265b4cc07d69ca70280742870c97ae10093e3d66000359", size = 811831, upload-time = "2026-04-03T20:55:57.802Z" }, - { url = "https://files.pythonhosted.org/packages/dd/63/8026310bf066f702a9c361f83a8c9658f3fe4edb349f9c1e5d5273b7c40c/regex-2026.4.4-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a152560af4f9742b96f3827090f866eeec5becd4765c8e0d3473d9d280e76a5a", size = 871199, upload-time = "2026-04-03T20:56:00.333Z" }, - { url = "https://files.pythonhosted.org/packages/20/9f/a514bbb00a466dbb506d43f187a04047f7be1505f10a9a15615ead5080ee/regex-2026.4.4-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:54170b3e95339f415d54651f97df3bff7434a663912f9358237941bbf9143f55", size = 917649, upload-time = "2026-04-03T20:56:02.445Z" }, - { url = "https://files.pythonhosted.org/packages/cb/6b/8399f68dd41a2030218839b9b18360d79b86d22b9fab5ef477c7f23ca67c/regex-2026.4.4-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:07f190d65f5a72dcb9cf7106bfc3d21e7a49dd2879eda2207b683f32165e4d99", size = 816388, upload-time = "2026-04-03T20:56:04.595Z" }, - { url = "https://files.pythonhosted.org/packages/1e/9c/103963f47c24339a483b05edd568594c2be486188f688c0170fd504b2948/regex-2026.4.4-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9a2741ce5a29d3c84b0b94261ba630ab459a1b847a0d6beca7d62d188175c790", size = 785746, upload-time = "2026-04-03T20:56:07.13Z" }, - { url = "https://files.pythonhosted.org/packages/fa/ee/7f6054c0dec0cee3463c304405e4ff42e27cff05bf36fcb34be549ab17bd/regex-2026.4.4-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:b26c30df3a28fd9793113dac7385a4deb7294a06c0f760dd2b008bd49a9139bc", size = 801483, upload-time = "2026-04-03T20:56:09.365Z" }, - { url = "https://files.pythonhosted.org/packages/30/c2/51d3d941cf6070dc00c3338ecf138615fc3cce0421c3df6abe97a08af61a/regex-2026.4.4-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:421439d1bee44b19f4583ccf42670ca464ffb90e9fdc38d37f39d1ddd1e44f1f", size = 866331, upload-time = "2026-04-03T20:56:12.039Z" }, - { url = "https://files.pythonhosted.org/packages/16/e8/76d50dcc122ac33927d939f350eebcfe3dbcbda96913e03433fc36de5e63/regex-2026.4.4-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:b40379b53ecbc747fd9bdf4a0ea14eb8188ca1bd0f54f78893a39024b28f4863", size = 772673, upload-time = "2026-04-03T20:56:14.558Z" }, - { url = "https://files.pythonhosted.org/packages/a5/6e/5f6bf75e20ea6873d05ba4ec78378c375cbe08cdec571c83fbb01606e563/regex-2026.4.4-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:08c55c13d2eef54f73eeadc33146fb0baaa49e7335eb1aff6ae1324bf0ddbe4a", size = 857146, upload-time = "2026-04-03T20:56:16.663Z" }, - { url = "https://files.pythonhosted.org/packages/0b/33/3c76d9962949e487ebba353a18e89399f292287204ac8f2f4cfc3a51c233/regex-2026.4.4-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:9776b85f510062f5a75ef112afe5f494ef1635607bf1cc220c1391e9ac2f5e81", size = 803463, upload-time = "2026-04-03T20:56:18.923Z" }, - { url = "https://files.pythonhosted.org/packages/19/eb/ef32dcd2cb69b69bc0c3e55205bce94a7def48d495358946bc42186dcccc/regex-2026.4.4-cp314-cp314t-win32.whl", hash = "sha256:385edaebde5db5be103577afc8699fea73a0e36a734ba24870be7ffa61119d74", size = 275709, upload-time = "2026-04-03T20:56:20.996Z" }, - { url = "https://files.pythonhosted.org/packages/a0/86/c291bf740945acbf35ed7dbebf8e2eea2f3f78041f6bd7cdab80cb274dc0/regex-2026.4.4-cp314-cp314t-win_amd64.whl", hash = "sha256:5d354b18839328927832e2fa5f7c95b7a3ccc39e7a681529e1685898e6436d45", size = 285622, upload-time = "2026-04-03T20:56:23.641Z" }, - { url = "https://files.pythonhosted.org/packages/d5/e7/ec846d560ae6a597115153c02ca6138a7877a1748b2072d9521c10a93e58/regex-2026.4.4-cp314-cp314t-win_arm64.whl", hash = "sha256:af0384cb01a33600c49505c27c6c57ab0b27bf84a74e28524c92ca897ebdac9d", size = 275773, upload-time = "2026-04-03T20:56:26.07Z" }, +version = "2026.5.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/dc/0e/49aee608ad09480e7fd276898c99ec6192985fa331abe4eb3a986094490b/regex-2026.5.9.tar.gz", hash = "sha256:a8234aa23ec39894bfe4a3f1b85616a7032481964a13ac6fc9f10de4f6fca270", size = 416074, upload-time = "2026-05-09T23:15:19.37Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/ed/0ad2c8edf634918eb4484365d3819fa7bd7f58daf807fe7fb21812c316e5/regex-2026.5.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a9e1328e17c84c1a5d22ec9f785ecef4a967fab9a42b6a8dc3bcbebd0a0c9e44", size = 489438, upload-time = "2026-05-09T23:11:29.374Z" }, + { url = "https://files.pythonhosted.org/packages/89/a9/4ed972ad263963b860b7c3e86e0e1bcc791def47b43b8c8efe57e710f139/regex-2026.5.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bfe1ce50cbfb569d74e1e4337da6468961f31dbea55fd85aa5de59c0947a805a", size = 291270, upload-time = "2026-05-09T23:11:33.254Z" }, + { url = "https://files.pythonhosted.org/packages/16/81/075930d9fa28c4ea1f53398dd015ee7c882f623539759113cda1257f4b82/regex-2026.5.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:15ee42209947f4ca045412eae98416317238163618ace2a8e54f99586a466733", size = 289198, upload-time = "2026-05-09T23:11:35.769Z" }, + { url = "https://files.pythonhosted.org/packages/d4/c8/5cdfbf0b5dc6599e1b6131eff43262e5275d4ec3469ce10216061659aadb/regex-2026.5.9-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4bb445ff3f725f59df8f6014edb547ee928ec7023a774f6a39a3f953038cbb2", size = 784765, upload-time = "2026-05-09T23:11:37.689Z" }, + { url = "https://files.pythonhosted.org/packages/cd/ca/ae5fd6edc59b7f84b904b31d6ec39a860cbcecd10f64bd5a062ca83a4864/regex-2026.5.9-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:446ddd671e43ab535810c4b21cff7104945c701d4a14d1e6d1cd6f4e445a8bea", size = 852115, upload-time = "2026-05-09T23:11:39.973Z" }, + { url = "https://files.pythonhosted.org/packages/f6/ce/a91cf555afb51f3b74a182e24ba073b91ea7bb64592fc4b315c111bb19fd/regex-2026.5.9-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7b92817338591505f282cf3864c145244b1edcf5381d237038df955001091538", size = 899503, upload-time = "2026-05-09T23:11:42.48Z" }, + { url = "https://files.pythonhosted.org/packages/55/7f/725a0a2b245a4cf0c4bab29d0e97c74285d94136a65d1b55a6459a583502/regex-2026.5.9-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6b8a143aca6c39b446ea8092cde25cc8fe9304d4f5fecfbc1a9dbb0282703c2", size = 794093, upload-time = "2026-05-09T23:11:44.681Z" }, + { url = "https://files.pythonhosted.org/packages/e3/2a/996efbd59ce6b5d4a09e3af6180ceb62af171f4a9a6fb557d2f0ae0d462b/regex-2026.5.9-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0f03aa6898aaaac4592479821df16e68e8d0e29e903e65d8f2dfb2f19028a989", size = 786234, upload-time = "2026-05-09T23:11:46.882Z" }, + { url = "https://files.pythonhosted.org/packages/4b/0a/8731e8b8806174c9cdd5903f80a14990331c1f42fc4209b540952e9e010d/regex-2026.5.9-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ed457d8e98ae812ed7732bef7bf78de78e834eae0372a74e23ca90ef21d910f9", size = 769895, upload-time = "2026-05-09T23:11:49.324Z" }, + { url = "https://files.pythonhosted.org/packages/9a/0b/932473194bd563f342a412ae2ffbbd6da608306a2bc4e99249a41c2b0b92/regex-2026.5.9-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:71b61c5bfe1c806332defc42ad6c780b3c55f661986d7f40283a3a88274b4c00", size = 774991, upload-time = "2026-05-09T23:11:51.261Z" }, + { url = "https://files.pythonhosted.org/packages/98/80/9523d196010031df25f7177ee0a467efbee436324038e5d99def17a57515/regex-2026.5.9-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:3b1e39888c5e0c7d92cea4fc777396c4a90363b05de75d02eb459a4752200808", size = 848790, upload-time = "2026-05-09T23:11:53.232Z" }, + { url = "https://files.pythonhosted.org/packages/3c/07/56987b35e89edf47e4a38cf2845aeee476bfa688a6bdbd3e820cda461dc1/regex-2026.5.9-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:6ba42b2e7e7f46cf68cc6a5ca36fa07959f9bbd9c6bdcc47b6ee76549a590248", size = 757679, upload-time = "2026-05-09T23:11:55.82Z" }, + { url = "https://files.pythonhosted.org/packages/04/2a/ff713fff0c566507c06a4ce2dc0ae8e7eeebc88811a95fc81cf1e7d534dd/regex-2026.5.9-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:c010eb8caca74bdb40c07498d7ece26b4428fd3f04aa8a72c9ac6f79e8faaac6", size = 837116, upload-time = "2026-05-09T23:11:57.934Z" }, + { url = "https://files.pythonhosted.org/packages/77/90/df6d982b03e3614785c6937ba51b57f6733d97d2ee1c9bc7531dbfab3a54/regex-2026.5.9-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:a6a563446a41adc451393dc6b8e6ad87979efaee3c8738690a8d1b08ebead1b4", size = 782081, upload-time = "2026-05-09T23:11:59.607Z" }, + { url = "https://files.pythonhosted.org/packages/c7/8a/4e88a5f7c3e98489aac4dd23142723d907b2a595b4a6abcbacabefeded09/regex-2026.5.9-cp310-cp310-win32.whl", hash = "sha256:954cc214c04663ee6d266fc61739cad83054683048de65c5bd1d640ad28098ac", size = 266247, upload-time = "2026-05-09T23:12:01.116Z" }, + { url = "https://files.pythonhosted.org/packages/6a/40/4b224cb0582b2dca1786726e6cdabe26abbf757d7f6718332f186da155d2/regex-2026.5.9-cp310-cp310-win_amd64.whl", hash = "sha256:b310768746dd314ea6e2ff4cc89ef215426813396ff4e94ee8e6f7096c8b6e03", size = 278416, upload-time = "2026-05-09T23:12:03.2Z" }, + { url = "https://files.pythonhosted.org/packages/12/4d/014fbe803204cab0947ee428f09f658a29632053dde1d3c6176bb4f0fd4c/regex-2026.5.9-cp310-cp310-win_arm64.whl", hash = "sha256:19c16ceb4a267a8789e25733e583983eeab9f0f8664e66b0bd1c5d21f14c2d4b", size = 270413, upload-time = "2026-05-09T23:12:04.649Z" }, + { url = "https://files.pythonhosted.org/packages/c2/dc/c1f2df4027e82fc54b5a473e4b250f5139faca49a0fbe29a48668d228f34/regex-2026.5.9-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ccf5249114cc3e772ecdd88a98a86eca0fd74c61ce32a94743758c083fc05d48", size = 489445, upload-time = "2026-05-09T23:12:06.111Z" }, + { url = "https://files.pythonhosted.org/packages/03/d2/59f01110660081cce9c0bc30ebd0b5ee250dacf658e3248ed92f01e0e8ee/regex-2026.5.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46f1326ca6e65b0879d23ca302c0f2415aad42ff0309b9c818e7949fe19a41d8", size = 291271, upload-time = "2026-05-09T23:12:07.731Z" }, + { url = "https://files.pythonhosted.org/packages/58/b6/14b2c84ff90ddb370c81d27503f4a0fcf071496416f4855f6cc8c5d81c35/regex-2026.5.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ef31cbfe458e21c6122ba8150ff060e0c7789ed0d26eb423f25472584920b555", size = 289212, upload-time = "2026-05-09T23:12:09.266Z" }, + { url = "https://files.pythonhosted.org/packages/03/d0/4db86529117320de0c84afd90e70bb47434625875e34fcef9d8c127c5b16/regex-2026.5.9-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:992604d02e6d9c6d786c24a706a71ecffe1020fc1ef264044474cd81fa2c3919", size = 792310, upload-time = "2026-05-09T23:12:11.416Z" }, + { url = "https://files.pythonhosted.org/packages/07/78/fe4800cd322f862ecffd2d553409b20d80650e5ed71b9d178f853d020b82/regex-2026.5.9-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c9411dd64ca95477225734a93dfc8583b51916b8d5942f99d6cac21e09965451", size = 861721, upload-time = "2026-05-09T23:12:13.681Z" }, + { url = "https://files.pythonhosted.org/packages/b5/d0/b3618a895dd8feb897c61bb2954edd265e1767d82a01d53065d5871127a3/regex-2026.5.9-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3dd4a3ff360dfb836fecdb93a4598f9d6e2ac81e3e397125145c6221bf58cf4c", size = 906460, upload-time = "2026-05-09T23:12:15.443Z" }, + { url = "https://files.pythonhosted.org/packages/33/6f/1481597e859ef19508b345eec4afd1416ed6e6b459c75a64026ef193aecf/regex-2026.5.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2a661a7d270a61f7cf460caee8b9fa2d5ef9e5c681234bcb9e0fe14f488e7dfc", size = 799843, upload-time = "2026-05-09T23:12:16.892Z" }, + { url = "https://files.pythonhosted.org/packages/73/59/955734c803f59108deccba3597ae440c76b62a652733c0006e6243758420/regex-2026.5.9-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f079e50a0d3cc3cd5091fa9ff45869a2e6b2cd35895731edafb0327901a8d86d", size = 773610, upload-time = "2026-05-09T23:12:19.127Z" }, + { url = "https://files.pythonhosted.org/packages/68/8f/70c04a236d651c81881dac42ef8538bddda6121434509d0a22d9e601503b/regex-2026.5.9-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4ebe8f0b5ec5a5024dc4a4c59f444c4e9afc5f2abdbb8962065b75d27fb971f9", size = 781645, upload-time = "2026-05-09T23:12:20.806Z" }, + { url = "https://files.pythonhosted.org/packages/1d/96/05c7434d88185e5d27fe54aeb74df86bd77cd79f52f0b4eae54faa8fea70/regex-2026.5.9-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:97cf3bc1b7d7d2306772ec07366c80d9df00ff79e79cea32898883a646d2fae2", size = 854473, upload-time = "2026-05-09T23:12:22.465Z" }, + { url = "https://files.pythonhosted.org/packages/4e/c1/6e3d8202d981f3117004bf341ee74893ba4ba8a9fbaf4b94615846550a08/regex-2026.5.9-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:0f9eede6a5cbdc02d4978090186390936e1776a7d1359b21e41014c609880bcf", size = 763311, upload-time = "2026-05-09T23:12:24.351Z" }, + { url = "https://files.pythonhosted.org/packages/93/c7/e7737f1526b3fb32bd4c337fd6c71c3ebb5c8296fc34d11197e0955d2e35/regex-2026.5.9-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:01f0f5f55f4b64dacec85dc116d3c05fd23ad3ff037bbc73a2085775953c2611", size = 844593, upload-time = "2026-05-09T23:12:26.341Z" }, + { url = "https://files.pythonhosted.org/packages/a5/27/0daffb1a535bb39f422c3d200f4ab023c71110ad66a32b366bee708baba0/regex-2026.5.9-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1268eddd8486dc561d08eee1156e40aa3a8fe10f4bdec8fa653b455fcbffd12c", size = 789167, upload-time = "2026-05-09T23:12:27.975Z" }, + { url = "https://files.pythonhosted.org/packages/ce/fc/294fe4fac4f2ed67207b17471815870c1c45b3a489e08e0ac96daea16ef6/regex-2026.5.9-cp311-cp311-win32.whl", hash = "sha256:8676474c07469d6f33dd1085ca2cd45f65785f32518f2b20e36d9953ca07f994", size = 266249, upload-time = "2026-05-09T23:12:30.141Z" }, + { url = "https://files.pythonhosted.org/packages/d0/b0/8dce459f6245bcf8f6e9f23ac9569f1a0f15c131cc0745e82b43226204cf/regex-2026.5.9-cp311-cp311-win_amd64.whl", hash = "sha256:246de9d60aa3f8538b519834dd95cbf276ea263d6a7bd5a3666dc3fa0230505b", size = 278423, upload-time = "2026-05-09T23:12:31.676Z" }, + { url = "https://files.pythonhosted.org/packages/db/8d/f9aeff6ad63a3ef720386f2907e6d34a35a510a6e498ebad28b0fb3f6ab6/regex-2026.5.9-cp311-cp311-win_arm64.whl", hash = "sha256:d726ca3f0d76969bf1e8e477d160d3d666bbf999f6860bd314889e5345782046", size = 270420, upload-time = "2026-05-09T23:12:33.194Z" }, + { url = "https://files.pythonhosted.org/packages/50/9b/6550044bc44e17c84d312c031c2ec42fbdb6a4ec4e29093be3a172d08772/regex-2026.5.9-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:57eeeb05db7979413dec5438f2db21d7ecbba787cde7a711df1a6f6df672aa06", size = 490451, upload-time = "2026-05-09T23:12:34.72Z" }, + { url = "https://files.pythonhosted.org/packages/1e/95/fc7ba4303b5a0f92446a12ee6778ef2c6c799233f5060042a31bf390cfe9/regex-2026.5.9-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:398c521292f4c7fb807001dcd54694d3a1fcafc179a36ad9cc56f98df85930b6", size = 292112, upload-time = "2026-05-09T23:12:36.285Z" }, + { url = "https://files.pythonhosted.org/packages/54/4b/ee27938d1b2c443e89a9a10e00d2d19aa5ee300cd3d61140644e93bb083e/regex-2026.5.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f7a7c26137296beba7784de6eba69c6a93a63ccebc385e4962fe67e267a91225", size = 289599, upload-time = "2026-05-09T23:12:38.089Z" }, + { url = "https://files.pythonhosted.org/packages/d8/dd/ba103dc19614e25f3880800ca67ce093d6e21b325d72b8383c7bf906e9fa/regex-2026.5.9-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6441cc660d76107934a09c22167200839a0e89604a6297f78a974e66e931d2c0", size = 796732, upload-time = "2026-05-09T23:12:40.062Z" }, + { url = "https://files.pythonhosted.org/packages/cf/e7/f035b4fd858b050b0080bf302968dc0f59ba34e391872d54936758e6844e/regex-2026.5.9-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:91328f1c23d47595ca3ef0a7557fa129c5a23404b775c770697d2f35b33e0107", size = 865440, upload-time = "2026-05-09T23:12:42.059Z" }, + { url = "https://files.pythonhosted.org/packages/0a/51/8cd301ecc899aea28124357f729f4272f44de7806fc7ca02490bfbe253e8/regex-2026.5.9-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:93a7860539414dddaefba2b40f8771765ae17949d4c7182b876ce429e11a8309", size = 912329, upload-time = "2026-05-09T23:12:44.373Z" }, + { url = "https://files.pythonhosted.org/packages/cc/1e/3fbe2fa1e8cebd62f3bb7d3321cff1640aca2e240b51d9bd624aad949260/regex-2026.5.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dd2810d22146b6d838acc5ec15602cb6b47920aa4e33015df3868eedfd20bab8", size = 801239, upload-time = "2026-05-09T23:12:46.268Z" }, + { url = "https://files.pythonhosted.org/packages/17/2f/6f6008682bf2cf98040a0d3153a8e557b6ab728d7713d045cee4ce544ab8/regex-2026.5.9-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:daff2bdbaf1d23e52fdff7c0b7bc2048b68f978df6a4d107ac981f94caef2e66", size = 777054, upload-time = "2026-05-09T23:12:48.051Z" }, + { url = "https://files.pythonhosted.org/packages/19/2b/eee0d20a6842ba04df4b8847a920b57ef56853f14ef85405473e586b605a/regex-2026.5.9-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4eeb011098fcb77af513dcef521a3dbecbf8849b1e38940759d293b7a93f5026", size = 785098, upload-time = "2026-05-09T23:12:49.851Z" }, + { url = "https://files.pythonhosted.org/packages/4a/98/6fc1e6410feefb92159edaed5041992bfe390e8d26c721865434acbca558/regex-2026.5.9-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:ea9c8ecfa1b73c73b626534d6626e5340d429630943672b8480724f44e84b962", size = 860095, upload-time = "2026-05-09T23:12:51.666Z" }, + { url = "https://files.pythonhosted.org/packages/18/a3/bd855e0f2cb1a978ecf6fa6bb69632dd9c3f6ea3b81cde62fde14c9daec7/regex-2026.5.9-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:cd2846168eb9ee3c513902bc8225409cb1caab31d04728b145171fa1625d9621", size = 765762, upload-time = "2026-05-09T23:12:53.413Z" }, + { url = "https://files.pythonhosted.org/packages/dc/66/0ae8c092e60b14c79d24f8e0b7f0aea5bfbffdcab00b5483d13404d3c3a5/regex-2026.5.9-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:39617fb0cde9c0e6306dc70e3bfc096f3da793219879f7ae7aa341a69fbdcf6d", size = 852100, upload-time = "2026-05-09T23:12:55.256Z" }, + { url = "https://files.pythonhosted.org/packages/21/de/8dfde60fc1b21c946a893ba273403b72617edb261370cb1087099a83f088/regex-2026.5.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fd03c4f0e33280d15cae17159b899245d6b7c53d21def19b263b39655061f5ce", size = 789479, upload-time = "2026-05-09T23:12:57.573Z" }, + { url = "https://files.pythonhosted.org/packages/c3/1c/bdcc98f9a4af4fdd166c74941174619ccff4726d3ce32faa8e9a2ecd38dd/regex-2026.5.9-cp312-cp312-win32.whl", hash = "sha256:164eba9b755ea6f244b0d881196fbc1fac09714e9782c9e2732b813142033c8e", size = 266699, upload-time = "2026-05-09T23:12:59.14Z" }, + { url = "https://files.pythonhosted.org/packages/78/87/240d36864f9e48ace85f72e79ced97ceb7f27ce87739a947dcb834b4e6bc/regex-2026.5.9-cp312-cp312-win_amd64.whl", hash = "sha256:86f40a5d6444db30a125c9c9177e6b25dad981cbc37451fd838f145e6edac92e", size = 277783, upload-time = "2026-05-09T23:13:00.789Z" }, + { url = "https://files.pythonhosted.org/packages/4f/b5/7b30f312b0669dff5beebe5b0989dc2d1a312b1a44fab852199c387a5b96/regex-2026.5.9-cp312-cp312-win_arm64.whl", hash = "sha256:96f5f58b54a063d7ea9dca08e1cf57bfe10499c4d579ee672da284f57f5f0070", size = 270513, upload-time = "2026-05-09T23:13:02.426Z" }, + { url = "https://files.pythonhosted.org/packages/aa/da/797e91ecec6f84135da778ddce78c20e0af5d2a15c26f87a81bc3eadb6db/regex-2026.5.9-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d626b84406444b165fc0ba981604edea39f0588ff1f92baa23fe50799ea9afdb", size = 490303, upload-time = "2026-05-09T23:13:04.382Z" }, + { url = "https://files.pythonhosted.org/packages/44/da/bf30abaaa737b58f4a4b8c4a03659e02fd92092c822e0197ed9e0daab917/regex-2026.5.9-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d7bdc0ab8f3dd7e1b4f9ab88634e13374669db86bb3c72e8292f07ae313f539f", size = 292019, upload-time = "2026-05-09T23:13:06.022Z" }, + { url = "https://files.pythonhosted.org/packages/2d/e7/d0eaf5713828417b9e5648cf81fa9bacd4961f6ab98c380c2034f8716e35/regex-2026.5.9-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a8820737949116ffff55fe18f9fc644530063ba6ebfcb8314239416e78f1347c", size = 289468, upload-time = "2026-05-09T23:13:08.214Z" }, + { url = "https://files.pythonhosted.org/packages/d3/9b/b3fdd62b003baa1a9b593cd8c8699c9651c2e80cc21a5c715707983c42d7/regex-2026.5.9-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:aa0fbdbac82cb3e4450d0ccde7d7a35607f4cb2dd9fba4b8b69bfaf8c9fa6aed", size = 796749, upload-time = "2026-05-09T23:13:10.573Z" }, + { url = "https://files.pythonhosted.org/packages/d4/30/66ab84588765f5b4b271a9ca09ef7ce2b87caa95176ec3d2ad65d7bc4902/regex-2026.5.9-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:57e8915c7986aa33d25e4d3629cef711cd2863f2961b10409f0c04cb8b7d9020", size = 865445, upload-time = "2026-05-09T23:13:12.523Z" }, + { url = "https://files.pythonhosted.org/packages/1a/89/f05169e8588aac365f35ffc7f3bc3184f095ef4cfded7cfaa3c7fd5dbd89/regex-2026.5.9-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:508f56a89ba9cb26e4168cbc37dbd60a28d82430a9e18ad1d25fe0883c314ca2", size = 912322, upload-time = "2026-05-09T23:13:14.281Z" }, + { url = "https://files.pythonhosted.org/packages/30/e1/c93444052cf41581f3c884ab3fb5823daf0992f11cd4388d4275ca610558/regex-2026.5.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b6d189041f15691cfa2b6c4290448ec221244d225b3f5fe9e7771b34ffcdf6e2", size = 801269, upload-time = "2026-05-09T23:13:16.569Z" }, + { url = "https://files.pythonhosted.org/packages/50/fe/0cf96b882f540e62e8b9956599798203d599c44cf4c77917ca27400ff69b/regex-2026.5.9-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e82db382b44d0111b22601c509c89f64434816c9e0eef9d1989cda8cc6ff1c04", size = 777085, upload-time = "2026-05-09T23:13:18.675Z" }, + { url = "https://files.pythonhosted.org/packages/23/5c/d78d4924e7fc875557b9e9b768423925fdfaac5549d06da7810019a9bd26/regex-2026.5.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2acfb48634f64996b57f90f39afa692ff362162722581921fe92239a59960f3c", size = 785153, upload-time = "2026-05-09T23:13:20.525Z" }, + { url = "https://files.pythonhosted.org/packages/bf/e0/5214774090e7b4524dcea3e3c4aa74141d43043f8beb49c1599db1c8b53a/regex-2026.5.9-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d29eebfc9525db68cad3c97eedd7f754fa265aa5cd0cf4f863b2421e1b48fc9f", size = 860164, upload-time = "2026-05-09T23:13:22.263Z" }, + { url = "https://files.pythonhosted.org/packages/6e/e1/4a57a83350319b1271f0d7a249b8672513ed928b237a741631270de6caea/regex-2026.5.9-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:debb893095e944091c16e641a6e33c1b0f4cb61ab945ec5afbf53ce7068834d8", size = 765731, upload-time = "2026-05-09T23:13:24.277Z" }, + { url = "https://files.pythonhosted.org/packages/12/f4/499e74a20c156fc75836ee04a72a38d1a063978f600937f9760467beb1b0/regex-2026.5.9-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:d659eee77986549c9ea45b861c7567e44d6287c3dc9a4565478853f7b9fe2ff6", size = 852062, upload-time = "2026-05-09T23:13:26.125Z" }, + { url = "https://files.pythonhosted.org/packages/5b/92/7eebc0d0a01e78629695f342ba17e0deaff8fb45e79cc0d7b98287da6e3e/regex-2026.5.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2efa205e6d98b24d1f3ab395c11aa15cdf10935bca283d0285e0499c284fba21", size = 789577, upload-time = "2026-05-09T23:13:27.814Z" }, + { url = "https://files.pythonhosted.org/packages/05/a4/018e71f7d2ad48c1ebe6d3ae0026f9b7cb4802fd15c7cc02fdf724355102/regex-2026.5.9-cp313-cp313-win32.whl", hash = "sha256:f3844f134e834076677dd369976e9f5068679fcb8e50102fdf6b7ac96a3ec127", size = 266691, upload-time = "2026-05-09T23:13:29.549Z" }, + { url = "https://files.pythonhosted.org/packages/e6/1d/861a93719fb9ee7dbfc3761b3797b7a3e112a5d42c6129459d2d741be9b5/regex-2026.5.9-cp313-cp313-win_amd64.whl", hash = "sha256:3527bb4942d2c14552155406cdedd906567456821848aed1cb4933a391bf5eca", size = 277747, upload-time = "2026-05-09T23:13:31.859Z" }, + { url = "https://files.pythonhosted.org/packages/d9/c6/0a2436ae4da1ba76e51cb98943c6838a9a721faa40ebe2dce07694ae34e3/regex-2026.5.9-cp313-cp313-win_arm64.whl", hash = "sha256:56a33f191f17d8c417f99945ebdc1e691d3af9605d86ec68c7e54a57e3e17af6", size = 270500, upload-time = "2026-05-09T23:13:33.525Z" }, + { url = "https://files.pythonhosted.org/packages/e8/e9/d21346f7b60ed58789371358ed66b09d00f832e1bd7c06e55d9da5679882/regex-2026.5.9-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:01f28d868834624c934b8d2e0aa1c8341337e37831f4a012f18a5afcba4cbaf3", size = 494172, upload-time = "2026-05-09T23:13:35.935Z" }, + { url = "https://files.pythonhosted.org/packages/c4/43/fd1177a2032037c681baecdb3422ee4e1424aec4e4f470ef47793d325274/regex-2026.5.9-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:48036f6374aaa79eb3b754ec29c61d1c6b1606749d705a13f8854fa2539671f6", size = 293952, upload-time = "2026-05-09T23:13:38.307Z" }, + { url = "https://files.pythonhosted.org/packages/f2/7d/9fbf919768368d3f8a4f6c692cf2aa61e482b2b81ec6a298ace4cbf02480/regex-2026.5.9-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b96350aa424e79d4fd6b567b344dcbe2b2d6bfc48dfe7717587e1fa6d43da6ff", size = 292314, upload-time = "2026-05-09T23:13:40.353Z" }, + { url = "https://files.pythonhosted.org/packages/e2/6c/e41bfeecb589716843e7c4df09ba46ff2a42961457afece19059d85caeef/regex-2026.5.9-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8f3af7a4903c5c04a11a196a5aa75cdd7dd3f8508132f9fb3259d9f5908e3b88", size = 811681, upload-time = "2026-05-09T23:13:42.543Z" }, + { url = "https://files.pythonhosted.org/packages/87/83/a5c1c525fba0aa656e88ad0face0b1829788ef4c2fb6b26df58aa1151b84/regex-2026.5.9-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7e87577720152d2caae19fe2baaf1f8d5ca12091e9e229f03915c37d1e4b9178", size = 871135, upload-time = "2026-05-09T23:13:44.326Z" }, + { url = "https://files.pythonhosted.org/packages/18/d4/80882e799e440dd878b0979cbebf8fa4d54624a332c83037c7a701649e3f/regex-2026.5.9-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c8b9b9d294cfea3cd19c718ade7cc93492b2c4991abd9a68d0b3477ae6d8e100", size = 917265, upload-time = "2026-05-09T23:13:47.295Z" }, + { url = "https://files.pythonhosted.org/packages/ae/ff/8db60211e2286e396aad7dc7725356c502bff0901ea05bd6cdc2e1a042b9/regex-2026.5.9-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:728d8bfd28a8845c8b6bc5dc7ce010453d206396786c0765c2740cb65f37791e", size = 816311, upload-time = "2026-05-09T23:13:49.885Z" }, + { url = "https://files.pythonhosted.org/packages/4c/47/742ef579c61730f8d268e5cf1f9ce0e37e2ea041ad0f5644724f2378e463/regex-2026.5.9-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7e30b874d341fac767d7df5a0870540541c2c054b80cfaac116e8d367a8a7ff2", size = 785498, upload-time = "2026-05-09T23:13:52.25Z" }, + { url = "https://files.pythonhosted.org/packages/7f/ab/cb0999802dcb0fb95b1ab005e8d4163d8afdd67efc2cb6b6630ac13f8cb1/regex-2026.5.9-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:fd190e88a895a8901325fad284a3f74ea52b1da8525b76cc811fa9b1edf0ce2b", size = 801348, upload-time = "2026-05-09T23:13:54.127Z" }, + { url = "https://files.pythonhosted.org/packages/7d/62/8ca59a24c55bc34d166eefaf3717bd77772f329fdbf984d86581e0a3571c/regex-2026.5.9-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:8e76e8161ad00694cfce6767d5dea860c6391ac5b83e5c3a39661e696f11fc7e", size = 866493, upload-time = "2026-05-09T23:13:56.067Z" }, + { url = "https://files.pythonhosted.org/packages/8d/3d/30f2ae62cef3278bb5bb821f467277a55fb73f01032cf85997e15e8289a8/regex-2026.5.9-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:ddda5340e6c01a293027dd46232fa79eaff1b48058ce7a98f572b6445b088041", size = 772811, upload-time = "2026-05-09T23:13:57.867Z" }, + { url = "https://files.pythonhosted.org/packages/d8/ae/7d2089bcd78ad0c0161bc684339df50032acb438a7bd3305e7ddb1193cec/regex-2026.5.9-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:205109e96b3cf5adf8f4cd62bedde9487feb282b9497a3535451e5a24cd706a0", size = 856584, upload-time = "2026-05-09T23:13:59.679Z" }, + { url = "https://files.pythonhosted.org/packages/a9/29/92ff47f75990131ea4f24ba17819e5a9d141e10819807e09addd73409af6/regex-2026.5.9-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dfbe4579b9f08036aa7d101d1835437a20783574ac66327e6b29b4018a138081", size = 803453, upload-time = "2026-05-09T23:14:01.978Z" }, + { url = "https://files.pythonhosted.org/packages/04/99/eff29f1037dcab36702c9ee5d6858cf1ce2336ea8ea2987f64245b99ea5e/regex-2026.5.9-cp313-cp313t-win32.whl", hash = "sha256:ed2c9e8068b614c574d8d30e543d617cf5379b0535d46f97ef00e904745a08b5", size = 269951, upload-time = "2026-05-09T23:14:03.661Z" }, + { url = "https://files.pythonhosted.org/packages/0e/9d/8870b8981d27b22cda77bb26a5ac7ebfa9c7d9e0dea195a834a82380e748/regex-2026.5.9-cp313-cp313t-win_amd64.whl", hash = "sha256:b46b0f094dc1d3b90356c85a0bd2c9bafc4a6a190b9d6f8ddd5a033b6e088ed4", size = 281240, upload-time = "2026-05-09T23:14:05.56Z" }, + { url = "https://files.pythonhosted.org/packages/72/b1/3379415e8f135c13ac551353397cc4fe97b4978f3cac73c5fcbcded548b8/regex-2026.5.9-cp313-cp313t-win_arm64.whl", hash = "sha256:872acc074bd29ffc9913ecdfedf6ea77502312ca44a4aa0d3779089c6069d8de", size = 272383, upload-time = "2026-05-09T23:14:07.843Z" }, + { url = "https://files.pythonhosted.org/packages/13/3e/9c3cd292d8808b3645a2ce517e200179b6d0e903f176300bd8b542e14de5/regex-2026.5.9-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:1bd7587a2948b4085195d5a3374eaf4a425dc3e55784c038175355ecf3bbbf8a", size = 490376, upload-time = "2026-05-09T23:14:09.64Z" }, + { url = "https://files.pythonhosted.org/packages/60/70/d43ee8a2ca0a8b68d167f21658b85520ac0574617c7f320367c5047f7556/regex-2026.5.9-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:dea2e88e1cce4522496cce630e11e67b98b7076620bc4336c3f674bc21a375f4", size = 291964, upload-time = "2026-05-09T23:14:11.424Z" }, + { url = "https://files.pythonhosted.org/packages/21/91/9d50b433828d8e74196904e168a43abf1e6e88b2a15d47ed742456720c37/regex-2026.5.9-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:2099f7e7ff7b6aa3192312650a56e91cc091e49d50b04e4f6f8b6e28b3b27f1c", size = 289682, upload-time = "2026-05-09T23:14:13.123Z" }, + { url = "https://files.pythonhosted.org/packages/3e/d2/b835e3cafbb9d977736912436259ff551d60919f7d7b3d37d46659c63564/regex-2026.5.9-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecd353045824e4477562a2ac718c25799cdaaa41f7aa925a806a8a3e6848a5b9", size = 796996, upload-time = "2026-05-09T23:14:14.923Z" }, + { url = "https://files.pythonhosted.org/packages/2c/a6/9f992d00019166b9de01c546dd4549bc679f2a68df11b877740b0760b7c2/regex-2026.5.9-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:65c8c8c37377794bd5b2f3ebe51919042bf17aec802e23c833d89782ed0c78af", size = 866089, upload-time = "2026-05-09T23:14:17.757Z" }, + { url = "https://files.pythonhosted.org/packages/e0/08/4d32af657e049b19cb62b02e46e38fe1518797bfb2203ee93a510b21b0dc/regex-2026.5.9-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5b73ab8afcf66c622db143d1c6fda4e58e4d537ee4f125229ad47b1ab80f34c0", size = 911530, upload-time = "2026-05-09T23:14:20.353Z" }, + { url = "https://files.pythonhosted.org/packages/d9/27/2af43dd1dc201d1fecefda64a45f4ad0995855b92724f795a777b402ee69/regex-2026.5.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0de5cf193997384ed2ca6f1cd4f78055b255d93d82d5a8cd6ba0d11c10b167e4", size = 800643, upload-time = "2026-05-09T23:14:22.265Z" }, + { url = "https://files.pythonhosted.org/packages/a4/dd/23a249047013b5321d4a60c4d2437462086f601b061776a525e5fba2a59f/regex-2026.5.9-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d641a8c9a61618047796d572a39a79b26167b0411d2c3031937b2fe2d081e2cf", size = 777223, upload-time = "2026-05-09T23:14:24.179Z" }, + { url = "https://files.pythonhosted.org/packages/94/6a/e85ed9538cd19586d0465076a4578a12e093ce776d15f3f8ce92733a8dd6/regex-2026.5.9-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:24b2355ef5cc9aa5b8f07d17704face1c166fdcc2290fa7bd6e6c925655a8346", size = 785760, upload-time = "2026-05-09T23:14:26.065Z" }, + { url = "https://files.pythonhosted.org/packages/2a/c4/f25473209438638e947c55f9156fd8f236f74169229028cc99116380868e/regex-2026.5.9-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:a24852d3c29ad9e47593593d8a247c44ccc3d0548ef12c822d6ed0810affe676", size = 860891, upload-time = "2026-05-09T23:14:28.17Z" }, + { url = "https://files.pythonhosted.org/packages/f9/f7/f4f86e3c74419c37370e91f150ae0c2ef7d34b2e0e4cdd5da046a02e4022/regex-2026.5.9-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:916714069da19329ef7de197dcbc77bb3104145c7c2c864dbfbe318f46b88b14", size = 765891, upload-time = "2026-05-09T23:14:30.06Z" }, + { url = "https://files.pythonhosted.org/packages/26/70/704d8e13765939146b1cd0ef4e2feb71d7929727d2290f026eed10095955/regex-2026.5.9-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:fa411799ca8da32a8d38d020a88faa5b6f91657d284761352940ecf9f7c3bbdd", size = 851380, upload-time = "2026-05-09T23:14:32.123Z" }, + { url = "https://files.pythonhosted.org/packages/26/29/1a13582a8460038edc38e49f64ceb0dd7c60f5caba77571f4bf6601965d9/regex-2026.5.9-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:1e6da47d679b7010ef27556b6e0f99771b744936db1792a10ceac6547ae1503e", size = 789350, upload-time = "2026-05-09T23:14:34.799Z" }, + { url = "https://files.pythonhosted.org/packages/73/56/3dcafe34fc72e271d62ad9a291801e88a1457bb251c132f15fcc2e5aad1a/regex-2026.5.9-cp314-cp314-win32.whl", hash = "sha256:98bd73080e8756255137e1bd3f3f00295bbc5aa383c0e0f973920e9134d7c4ad", size = 272130, upload-time = "2026-05-09T23:14:36.729Z" }, + { url = "https://files.pythonhosted.org/packages/d0/9c/02eebf0be95efe416c664db7fb8b6b05b7a0b06a7544f2884f2558b0526f/regex-2026.5.9-cp314-cp314-win_amd64.whl", hash = "sha256:ff8d372ac2acdc048d1c19916f27ee61bc5722728458ba6ca5052f2c72d51763", size = 280999, upload-time = "2026-05-09T23:14:39.126Z" }, + { url = "https://files.pythonhosted.org/packages/70/5a/1dd1abee76cb7a846a0bcf42fdc87e5720c3c33c24f3e37814310a513d9f/regex-2026.5.9-cp314-cp314-win_arm64.whl", hash = "sha256:e1d93bf647916292e8edcec150c07ddf3dc50179ccaf770c04a7f9e452155372", size = 273500, upload-time = "2026-05-09T23:14:41.059Z" }, + { url = "https://files.pythonhosted.org/packages/86/c1/c5f619b0057a7965cb78ec559c1d7a45ce8c99a35bea95483d64959a93d9/regex-2026.5.9-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:83d0ee4a57d1c87cb549e195ec300b8f0ec3a82eba66d835e4e2ed8634fe4499", size = 494269, upload-time = "2026-05-09T23:14:42.869Z" }, + { url = "https://files.pythonhosted.org/packages/05/2c/5d01f1aee33de4bbe60c8452945bfc8477ca7c5ae4450f6bfe711036cb36/regex-2026.5.9-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:d3d7eb5c9a7f6df82ed3cfac9beb93882a5cbcb5b8b157b56cb2b3b276574ac1", size = 293954, upload-time = "2026-05-09T23:14:44.822Z" }, + { url = "https://files.pythonhosted.org/packages/7a/fe/e8988b2ae2108c6ef71bd4aa8d87fbe257976dd0810e826cd75f701c68b6/regex-2026.5.9-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:075160bf16658e16d35233300b8453aac25de4cbea808d22348b6979668e924d", size = 292405, upload-time = "2026-05-09T23:14:47.211Z" }, + { url = "https://files.pythonhosted.org/packages/79/34/d2b0937faa7859263f7f0a3c6b103a1296306be6952dc173d0154e9a2f49/regex-2026.5.9-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:45375819235558a4ff1c4971dc32881f022613abdb180128f5cb4768c1765a1c", size = 811855, upload-time = "2026-05-09T23:14:49.21Z" }, + { url = "https://files.pythonhosted.org/packages/80/fe/daf53a47457a8486db66c66c01ceb9c2303eecee3f87197f1e77eb1a736d/regex-2026.5.9-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ead4b163ac30a29574510cd4b3e2e985ac5290c05fc7095557d6a5f403fc31b5", size = 871189, upload-time = "2026-05-09T23:14:51.555Z" }, + { url = "https://files.pythonhosted.org/packages/1c/75/058fc4470cbfbf57d800aff1a0022b929a3f9fa553ee10a0cdf2070eb31f/regex-2026.5.9-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8c6e4218fbdfbcd4f6c19efca40930d24a621bf4b48cb76bc6640543bd28ef20", size = 917485, upload-time = "2026-05-09T23:14:53.633Z" }, + { url = "https://files.pythonhosted.org/packages/88/e7/179cfda3a28bc843b5c6cfe7f79f23489c791ed95f151083803660878432/regex-2026.5.9-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6351571c8a42b505eb555c0dc47d740d0fb66977dc142919eea6f4325b7c56a0", size = 816369, upload-time = "2026-05-09T23:14:56.198Z" }, + { url = "https://files.pythonhosted.org/packages/41/90/6f0cc422071688266d344fca8462d787cba0a2c144acb25721f9a61ec265/regex-2026.5.9-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:002205cafd2a9e78c6290c7d1df277bf3277b3b7a30e0b4bb0dac2e2e3f7cb2d", size = 785869, upload-time = "2026-05-09T23:14:58.602Z" }, + { url = "https://files.pythonhosted.org/packages/02/67/a31f1760f09c27b251ef39e9beb541f462cf977381d067faa764c2c0e393/regex-2026.5.9-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8abd33fef90b2a9efac5557d6033ca82d1195ed3a15fea5af15ba7b463c6a63b", size = 801427, upload-time = "2026-05-09T23:15:00.642Z" }, + { url = "https://files.pythonhosted.org/packages/e3/c4/1a80654597b6bc1e1ea0494824c31200e8a956abe290afae9b19a166a148/regex-2026.5.9-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:31037c82eccb44b7ea2e9e221d7c01429430e989a1f4b91ea5a855f6017b509a", size = 866482, upload-time = "2026-05-09T23:15:03.384Z" }, + { url = "https://files.pythonhosted.org/packages/d1/11/960724e06482c08466ff5611e242e86f80062949cdf6b4b9cc317b9dd93d/regex-2026.5.9-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:5604dfd046dc37eca90250fc3be938b076c8059fa772ac0ed6f499b0f0fb0415", size = 773022, upload-time = "2026-05-09T23:15:05.625Z" }, + { url = "https://files.pythonhosted.org/packages/50/a8/a9979c3e7918280e93159ebcab5ef1a65116dd4f3bd6091be0eae4a126e8/regex-2026.5.9-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:0e1b1b4e496afbb24f4a62aba855ee4f88f25578927697b340702e48c9ee6bc2", size = 856642, upload-time = "2026-05-09T23:15:07.966Z" }, + { url = "https://files.pythonhosted.org/packages/fe/d4/a9b732f2f0072c0ab12227483abb24fffcb9f73f8a2b203df0a6d0434735/regex-2026.5.9-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:be3372b9df6ddecff6486d37e19095a7b4973137caf5512407a89f4455361f41", size = 803552, upload-time = "2026-05-09T23:15:10.215Z" }, + { url = "https://files.pythonhosted.org/packages/d5/fe/1b3113817447a1d4155e4ac76d2e072f42c0bcba2f43fa8a0e756ea2cd91/regex-2026.5.9-cp314-cp314t-win32.whl", hash = "sha256:3ddd90103f9e5c471c49c7852ecc1fe27c7e45eb99e977aefe7caa4e779f4f58", size = 275746, upload-time = "2026-05-09T23:15:12.609Z" }, + { url = "https://files.pythonhosted.org/packages/92/73/93d42045302636c91f2e5ef588b65b84b01428f28ec77de256b1dfdfbe5c/regex-2026.5.9-cp314-cp314t-win_amd64.whl", hash = "sha256:ca518ed29c46eecba6010b15f1b9a479314d2de409536e71b6a13aa04e3b8a77", size = 285685, upload-time = "2026-05-09T23:15:15.086Z" }, + { url = "https://files.pythonhosted.org/packages/da/80/35b4c33c804a165a7f55289afda3ea9e3eb6d15800341a2d66455c0f1f30/regex-2026.5.9-cp314-cp314t-win_arm64.whl", hash = "sha256:5e41809d2683fcde7d5a8c87a6567ba1fb1ce0de9f31bff578de00a4b2d76daa", size = 275713, upload-time = "2026-05-09T23:15:16.98Z" }, ] [[package]] @@ -8237,8 +8223,8 @@ name = "requests-oauthlib" version = "2.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "oauthlib", marker = "python_full_version < '3.14'" }, - { name = "requests", marker = "python_full_version < '3.14'" }, + { name = "oauthlib" }, + { name = "requests" }, ] sdist = { url = "https://files.pythonhosted.org/packages/42/f2/05f29bc3913aea15eb670be136045bf5c5bbf4b99ecb839da9b422bb2c85/requests-oauthlib-2.0.0.tar.gz", hash = "sha256:b3dffaebd884d8cd778494369603a9e7b58d29111bf6b41bdc2dcd87203af4e9", size = 55650, upload-time = "2024-03-22T20:32:29.939Z" } wheels = [ @@ -8262,6 +8248,9 @@ name = "rich" version = "14.3.4" source = { registry = "https://pypi.org/simple" } resolution-markers = [ + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", "python_full_version == '3.13.*' and sys_platform == 'win32'", "python_full_version == '3.13.*' and sys_platform == 'emscripten'", "python_full_version == '3.13.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", @@ -8274,8 +8263,8 @@ resolution-markers = [ "python_full_version < '3.11'", ] dependencies = [ - { name = "markdown-it-py", marker = "(python_full_version < '3.14' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pygments", marker = "(python_full_version < '3.14' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "markdown-it-py", marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pygments", marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, ] sdist = { url = "https://files.pythonhosted.org/packages/e9/67/cae617f1351490c25a4b8ac3b8b63a4dda609295d8222bad12242dfdc629/rich-14.3.4.tar.gz", hash = "sha256:817e02727f2b25b40ef56f5aa2217f400c8489f79ca8f46ea2b70dd5e14558a9", size = 230524, upload-time = "2026-04-11T02:57:45.419Z" } wheels = [ @@ -8287,53 +8276,15 @@ name = "rich" version = "15.0.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and sys_platform == 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32' and extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-pydantic-ai-logfire' and extra != 'group-10-braintrust-test-strands'", - "python_full_version >= '3.14' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.13.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.12.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version == '3.11.*' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", - "python_full_version < '3.11' and extra != 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-agno' and extra != 'group-10-braintrust-test-crewai' and extra != 'group-10-braintrust-test-langchain' and extra != 'group-10-braintrust-test-litellm' and extra != 'group-10-braintrust-test-openai-agents' and extra != 'group-10-braintrust-test-strands'", + "python_full_version >= '3.14'", + "python_full_version == '3.13.*'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", ] dependencies = [ - { name = "markdown-it-py", marker = "python_full_version >= '3.14' or extra != 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pygments", marker = "python_full_version >= '3.14' or extra != 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands')" }, + { name = "markdown-it-py", marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-crewai' or extra == 'group-10-braintrust-test-langchain' or extra == 'group-10-braintrust-test-litellm' or extra == 'group-10-braintrust-test-openai-agents' or extra == 'group-10-braintrust-test-pydantic-ai-logfire' or extra == 'group-10-braintrust-test-strands' or extra != 'group-10-braintrust-lint'" }, + { name = "pygments", marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-crewai' or extra == 'group-10-braintrust-test-langchain' or extra == 'group-10-braintrust-test-litellm' or extra == 'group-10-braintrust-test-openai-agents' or extra == 'group-10-braintrust-test-pydantic-ai-logfire' or extra == 'group-10-braintrust-test-strands' or extra != 'group-10-braintrust-lint'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz", hash = "sha256:edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36", size = 230680, upload-time = "2026-04-12T08:24:00.75Z" } wheels = [ @@ -8346,8 +8297,7 @@ version = "1.3.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "docutils" }, - { name = "rich", version = "14.3.4", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.14' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "rich", version = "15.0.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.14' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "rich", version = "14.3.4", source = { registry = "https://pypi.org/simple" } }, ] sdist = { url = "https://files.pythonhosted.org/packages/bc/6d/a506aaa4a9eaa945ed8ab2b7347859f53593864289853c5d6d62b77246e0/rich_rst-1.3.2.tar.gz", hash = "sha256:a1196fdddf1e364b02ec68a05e8ff8f6914fee10fbca2e6b6735f166bb0da8d4", size = 14936, upload-time = "2025-10-14T16:49:45.332Z" } wheels = [ @@ -8650,16 +8600,16 @@ asyncio = [ [[package]] name = "sqlalchemy-spanner" -version = "1.17.3" +version = "1.18.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "alembic" }, { name = "google-cloud-spanner" }, { name = "sqlalchemy" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6b/1c/c7d28d88e8dd9a67be006a40135f05cbdf5a0f5f79bc51bb692f54432cf1/sqlalchemy_spanner-1.17.3.tar.gz", hash = "sha256:ea829d8223c404f19f854c4c2dbf6bf2ee48fb1347caa258f03e88071f3afa22", size = 82842, upload-time = "2026-03-23T22:44:01.25Z" } +sdist = { url = "https://files.pythonhosted.org/packages/2c/85/d439100c0518b5e3a339c9fcdbaa7436523955d6f676cf28c21e757cf61e/sqlalchemy_spanner-1.18.0.tar.gz", hash = "sha256:faabdf74797399e1c4d60500fd55012b1d21a5a697ebafc3d5156d0f2d3b3993", size = 82833, upload-time = "2026-05-07T08:04:52.897Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f3/43/cf21f3e70a8aa9e721fb557bd1459528906f0d9726b2ce642cd757fe592b/sqlalchemy_spanner-1.17.3-py3-none-any.whl", hash = "sha256:b0a13d2cae3bb0ee5aac898c44d22f56ec3edfc7780dd7d165d51f676590daf3", size = 31925, upload-time = "2026-03-23T22:43:33.214Z" }, + { url = "https://files.pythonhosted.org/packages/db/26/aa7d506d10d859a3fc333595ed21acc774f4ff9d6b5abb4e11aed5a02c2e/sqlalchemy_spanner-1.18.0-py3-none-any.whl", hash = "sha256:626ff607d35f1fb0031ceabe887ed42578dfd9e0e134084e803c0ecc02353f3e", size = 31924, upload-time = "2026-05-07T08:03:35.49Z" }, ] [[package]] @@ -8673,16 +8623,16 @@ wheels = [ [[package]] name = "sse-starlette" -version = "3.4.1" +version = "3.4.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, { name = "starlette", version = "0.52.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, { name = "starlette", version = "1.0.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-agentscope' or extra == 'group-10-braintrust-test-agno' or extra == 'group-10-braintrust-test-crewai' or extra == 'group-10-braintrust-test-langchain' or extra == 'group-10-braintrust-test-litellm' or extra == 'group-10-braintrust-test-openai-agents' or extra == 'group-10-braintrust-test-pydantic-ai-logfire' or extra == 'group-10-braintrust-test-strands' or extra != 'group-10-braintrust-lint'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e1/9a/f35932a8c0eb6b2287b66fa65a0321df8c84e4e355a659c1841a37c39fdb/sse_starlette-3.4.1.tar.gz", hash = "sha256:f780bebcf6c8997fe514e3bd8e8c648d8284976b391c8bed0bcb1f611632b555", size = 35127, upload-time = "2026-04-26T13:32:32.292Z" } +sdist = { url = "https://files.pythonhosted.org/packages/38/82/10cdfab4ab663a6b6bd624d33f55b2cfa41af5105be033a6d5d135a92c5f/sse_starlette-3.4.2.tar.gz", hash = "sha256:2f9a7f51ed84395a0427fb9f66cb1ec11f7899d977a72cbc9070b962a2e14489", size = 35236, upload-time = "2026-05-06T19:42:13.727Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ff/07/45c21ed03d708c477367305726b89919b020a3a2a01f72aaf5ad941caf35/sse_starlette-3.4.1-py3-none-any.whl", hash = "sha256:6b43cf21f1d574d582a6e1b0cfbde1c94dc86a32a701a7168c99c4475c6bd1d0", size = 16487, upload-time = "2026-04-26T13:32:30.819Z" }, + { url = "https://files.pythonhosted.org/packages/c1/27/351c71e803c56090d8d3bf9520422debeb8ed938871fd4f7ef519805a6c5/sse_starlette-3.4.2-py3-none-any.whl", hash = "sha256:6ea5d35b7ce979a3de5a0db5f77fe886b1616e4b3e1ad93fba502bd9b5fb662f", size = 16516, upload-time = "2026-05-06T19:42:12.201Z" }, ] [[package]] @@ -8743,7 +8693,7 @@ wheels = [ [[package]] name = "strands-agents" -version = "1.38.0" +version = "1.39.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "boto3" }, @@ -8754,15 +8704,14 @@ dependencies = [ { name = "opentelemetry-api" }, { name = "opentelemetry-instrumentation-threading" }, { name = "opentelemetry-sdk" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, { name = "pyyaml" }, { name = "typing-extensions" }, { name = "watchdog" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/11/89/3e722f4b5bd913531bc32a23bf88aaa77a434774f294bba5bfa88690ec46/strands_agents-1.38.0.tar.gz", hash = "sha256:02a68ec321ad457f9137dfd6a99cf72cf0e86081fee35de85fbe29b9ac0af2b2", size = 858950, upload-time = "2026-04-30T16:57:43.244Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/5b/e267a7dab0b4a6d39133c9c0c516f93f33483e29f39e05c03b755f993ef6/strands_agents-1.39.0.tar.gz", hash = "sha256:efff5914323b8b4b472ca3f13c7115a5746935b00bc86dacc40a5d1ab1242817", size = 873258, upload-time = "2026-05-08T13:27:19.661Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cc/06/de8d8ab14a2e92dcb0fa82db0a4cb102418a1eda139412bbe5b5725e28df/strands_agents-1.38.0-py3-none-any.whl", hash = "sha256:9dc3de17e25d70e367d37f9151f2a4c7b3ac8fc9f6237e9e1f34d00bfbfd001b", size = 422354, upload-time = "2026-04-30T16:57:41.094Z" }, + { url = "https://files.pythonhosted.org/packages/95/41/d054b5a5f54175eb4e775d1e408e169439eba6be63e9e8f2e77ff44e38fc/strands_agents-1.39.0-py3-none-any.whl", hash = "sha256:7369dbfc6be29f59483a6183f5aacf0bdd0e7e5973b4b70f8d0e663880d42f79", size = 430272, upload-time = "2026-05-08T13:27:18.088Z" }, ] [[package]] @@ -8770,7 +8719,7 @@ name = "sympy" version = "1.14.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "mpmath", marker = "python_full_version < '3.14'" }, + { name = "mpmath" }, ] sdist = { url = "https://files.pythonhosted.org/packages/83/d3/803453b36afefb7c2bb238361cd4ae6125a569b4db67cd9e79846ba2d68c/sympy-1.14.0.tar.gz", hash = "sha256:d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517", size = 7793921, upload-time = "2025-04-27T18:05:01.611Z" } wheels = [ @@ -8981,11 +8930,11 @@ wheels = [ [[package]] name = "tomlkit" -version = "0.14.0" +version = "0.15.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c3/af/14b24e41977adb296d6bd1fb59402cf7d60ce364f90c890bd2ec65c43b5a/tomlkit-0.14.0.tar.gz", hash = "sha256:cf00efca415dbd57575befb1f6634c4f42d2d87dbba376128adb42c121b87064", size = 187167, upload-time = "2026-01-13T01:14:53.304Z" } +sdist = { url = "https://files.pythonhosted.org/packages/51/db/03eaf4331631ef6b27d6e3c9b68c54dc6f0d63d87201fed600cc409307fd/tomlkit-0.15.0.tar.gz", hash = "sha256:7d1a9ecba3086638211b13814ea79c90dd54dd11993564376f3aa92271f5c7a3", size = 161875, upload-time = "2026-05-10T07:38:22.245Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b5/11/87d6d29fb5d237229d67973a6c9e06e048f01cf4994dee194ab0ea841814/tomlkit-0.14.0-py3-none-any.whl", hash = "sha256:592064ed85b40fa213469f81ac584f67a4f2992509a7c3ea2d632208623a3680", size = 39310, upload-time = "2026-01-13T01:14:51.965Z" }, + { url = "https://files.pythonhosted.org/packages/6a/43/8bd850ee71a191bf072e31302c73a66be413fecdd98fdcd111ecbcce13ca/tomlkit-0.15.0-py3-none-any.whl", hash = "sha256:4dbc8f0fc024412b57ced8757ac7461305126a648ff8c2c807fcb8e133a78738", size = 41328, upload-time = "2026-05-10T07:38:23.517Z" }, ] [[package]] @@ -9008,8 +8957,8 @@ dependencies = [ { name = "annotated-doc" }, { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands')" }, { name = "click", version = "8.3.3", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "rich", version = "14.3.4", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.14' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "rich", version = "15.0.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.14' and extra == 'group-10-braintrust-lint') or extra == 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "rich", version = "14.3.4", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-lint' or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "rich", version = "15.0.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-10-braintrust-test-crewai' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra != 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands')" }, { name = "shellingham" }, ] sdist = { url = "https://files.pythonhosted.org/packages/fd/07/b822e1b307d40e263e8253d2384cf98c51aa2368cc7ba9a07e523a1d964b/typer-0.23.1.tar.gz", hash = "sha256:2070374e4d31c83e7b61362fd859aa683576432fd5b026b060ad6b4cd3b86134", size = 120047, upload-time = "2026-02-13T10:04:30.984Z" } @@ -9028,14 +8977,14 @@ wheels = [ [[package]] name = "types-requests" -version = "2.33.0.20260503" +version = "2.33.0.20260508" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a1/b8/57e94268c0d82ac3eaa2fc35aa8ca7bbc2542f726b67dcf90b0b00a3b14d/types_requests-2.33.0.20260503.tar.gz", hash = "sha256:9721b2d9dbee7131f2fb39f20f0ebb1999c18cef4b512c9a7932f3722de7c5f4", size = 23931, upload-time = "2026-05-03T05:20:08.882Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/6b/eb226bdd61a982c9a03e02c657fb4ab001733506e6423906ac142331f2e3/types_requests-2.33.0.20260508.tar.gz", hash = "sha256:81b2ae5f0d20967714a6aa5ef9284c05570d7cb06b7de8f2a77b918b63ddd411", size = 23991, upload-time = "2026-05-08T04:50:56.818Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c3/82/959113a6351f3ca046cd0a8cd2cee071d7ea47473560557a01eeae9a6fe2/types_requests-2.33.0.20260503-py3-none-any.whl", hash = "sha256:02aaa7e3577a13471715bb1bddb693cc985ea514f754b503bf033e6a09a3e528", size = 20736, upload-time = "2026-05-03T05:20:07.858Z" }, + { url = "https://files.pythonhosted.org/packages/cb/96/080db0afdf2c5cc5fe512b41354e8d114fe8f65e9510c56ff8dfd40216ce/types_requests-2.33.0.20260508-py3-none-any.whl", hash = "sha256:fa01459cca184229713df03709db46a905325906d27e042cd4fd7ea3d15d3400", size = 20722, upload-time = "2026-05-08T04:50:55.548Z" }, ] [[package]] @@ -9095,96 +9044,94 @@ wheels = [ [[package]] name = "ujson" -version = "5.12.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cb/3e/c35530c5ffc25b71c59ae0cd7b8f99df37313daa162ce1e2f7925f7c2877/ujson-5.12.0.tar.gz", hash = "sha256:14b2e1eb528d77bc0f4c5bd1a7ebc05e02b5b41beefb7e8567c9675b8b13bcf4", size = 7158451, upload-time = "2026-03-11T22:19:30.397Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/db/ee/45c7c1f9268b0fecdd68f9ada490bc09632b74f5f90a9be759e51a746ddc/ujson-5.12.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:38051f36423f084b909aaadb3b41c9c6a2958e86956ba21a8489636911e87504", size = 56145, upload-time = "2026-03-11T22:17:49.409Z" }, - { url = "https://files.pythonhosted.org/packages/6d/dc/ed181dbfb2beee598e91280c6903ba71e10362b051716317e2d3664614bb/ujson-5.12.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:457fabc2700a8e6ddb85bc5a1d30d3345fe0d3ec3ee8161a4e032ec585801dfa", size = 53839, upload-time = "2026-03-11T22:17:50.973Z" }, - { url = "https://files.pythonhosted.org/packages/e4/d8/eb9ef42c660f431deeedc2e1b09c4ba29aa22818a439ddda7da6ae23ddfa/ujson-5.12.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:57930ac9519099b852e190d2c04b1fb5d97ea128db33bce77ed874eccb4c7f09", size = 57844, upload-time = "2026-03-11T22:17:53.029Z" }, - { url = "https://files.pythonhosted.org/packages/68/37/0b586d079d3f2a5be5aa58ab5c423cbb4fae2ee4e65369c87aa74ac7e113/ujson-5.12.0-cp310-cp310-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:9b3b86ec3e818f3dd3e13a9de628e88a9990f4af68ecb0b12dd3de81227f0a26", size = 59923, upload-time = "2026-03-11T22:17:54.332Z" }, - { url = "https://files.pythonhosted.org/packages/28/ed/6a4b69eb397502767f438b5a2b4c066dccc9e3b263115f5ee07510250fc7/ujson-5.12.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:460e76a4daff214ae33ab959494962c93918cb44714ea3e3f748b14aa37f8a87", size = 57427, upload-time = "2026-03-11T22:17:55.317Z" }, - { url = "https://files.pythonhosted.org/packages/bb/4b/ae118440a72e85e68ee8dd26cfc47ea7857954a3341833cde9da7dc40ca3/ujson-5.12.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e584d0cdd37cac355aca52ed788d1a2d939d6837e2870d3b70e585db24025a50", size = 1037301, upload-time = "2026-03-11T22:17:56.427Z" }, - { url = "https://files.pythonhosted.org/packages/c2/76/834caa7905f65d3a695e4f5ff8d5d4a98508e396a9e8ab0739ab4fe2d422/ujson-5.12.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0fe9128e75c6aa6e9ae06c1408d6edd9179a2fef0fe6d9cda3166b887eba521d", size = 1196664, upload-time = "2026-03-11T22:17:58.061Z" }, - { url = "https://files.pythonhosted.org/packages/f2/33/1f3c1543c1d3f18c54bb3f8c1e74314fd6ad3c1aa375f01433e89a86bfa6/ujson-5.12.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3ed5cb149892141b1e77ef312924a327f2cc718b34247dae346ed66329e1b8be", size = 1089668, upload-time = "2026-03-11T22:17:59.617Z" }, - { url = "https://files.pythonhosted.org/packages/db/52/07d9da456a78296f61893b9d2bbfb2512f4233394748aae80b8d08c7d96e/ujson-5.12.0-cp310-cp310-win32.whl", hash = "sha256:973b7d7145b1ac553a7466a64afa8b31ec2693d7c7fff6a755059e0a2885dfd2", size = 39644, upload-time = "2026-03-11T22:18:01.212Z" }, - { url = "https://files.pythonhosted.org/packages/ec/e5/c1de3041672fa1ab97aae0f0b9f4e30a9b15d4104c734d5627779206c878/ujson-5.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:1d072a403d82aef8090c6d4f728e3a727dfdba1ad3b7fa3a052c3ecbd37e73cb", size = 43875, upload-time = "2026-03-11T22:18:02.268Z" }, - { url = "https://files.pythonhosted.org/packages/8b/49/714a9240d9e6bd86c9684a72f100a0005459165fb2b0f6bf1a1156be0b9f/ujson-5.12.0-cp310-cp310-win_arm64.whl", hash = "sha256:55ede2a7a051b3b7e71a394978a098d71b3783e6b904702ff45483fad434ae2d", size = 38563, upload-time = "2026-03-11T22:18:03.546Z" }, - { url = "https://files.pythonhosted.org/packages/10/22/fd22e2f6766bae934d3050517ca47d463016bd8688508d1ecc1baa18a7ad/ujson-5.12.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:58a11cb49482f1a095a2bd9a1d81dd7c8fb5d2357f959ece85db4e46a825fd00", size = 56139, upload-time = "2026-03-11T22:18:04.591Z" }, - { url = "https://files.pythonhosted.org/packages/c6/fd/6839adff4fc0164cbcecafa2857ba08a6eaeedd7e098d6713cb899a91383/ujson-5.12.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9b3cf13facf6f77c283af0e1713e5e8c47a0fe295af81326cb3cb4380212e797", size = 53836, upload-time = "2026-03-11T22:18:05.662Z" }, - { url = "https://files.pythonhosted.org/packages/f9/b0/0c19faac62d68ceeffa83a08dc3d71b8462cf5064d0e7e0b15ba19898dad/ujson-5.12.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fb94245a715b4d6e24689de12772b85329a1f9946cbf6187923a64ecdea39e65", size = 57851, upload-time = "2026-03-11T22:18:06.744Z" }, - { url = "https://files.pythonhosted.org/packages/04/f6/e7fd283788de73b86e99e08256726bb385923249c21dcd306e59d532a1a1/ujson-5.12.0-cp311-cp311-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:0fe6b8b8968e11dd9b2348bd508f0f57cf49ab3512064b36bc4117328218718e", size = 59906, upload-time = "2026-03-11T22:18:07.791Z" }, - { url = "https://files.pythonhosted.org/packages/d7/3a/b100735a2b43ee6e8fe4c883768e362f53576f964d4ea841991060aeaf35/ujson-5.12.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:89e302abd3749f6d6699691747969a5d85f7c73081d5ed7e2624c7bd9721a2ab", size = 57409, upload-time = "2026-03-11T22:18:08.79Z" }, - { url = "https://files.pythonhosted.org/packages/5c/fa/f97cc20c99ca304662191b883ae13ae02912ca7244710016ba0cb8a5be34/ujson-5.12.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0727363b05ab05ee737a28f6200dc4078bce6b0508e10bd8aab507995a15df61", size = 1037339, upload-time = "2026-03-11T22:18:10.424Z" }, - { url = "https://files.pythonhosted.org/packages/10/7a/53ddeda0ffe1420db2f9999897b3cbb920fbcff1849d1f22b196d0f34785/ujson-5.12.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:b62cb9a7501e1f5c9ffe190485501349c33e8862dde4377df774e40b8166871f", size = 1196625, upload-time = "2026-03-11T22:18:11.82Z" }, - { url = "https://files.pythonhosted.org/packages/0d/1a/4c64a6bef522e9baf195dd5be151bc815cd4896c50c6e2489599edcda85f/ujson-5.12.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a6ec5bf6bc361f2f0f9644907a36ce527715b488988a8df534120e5c34eeda94", size = 1089669, upload-time = "2026-03-11T22:18:13.343Z" }, - { url = "https://files.pythonhosted.org/packages/18/11/8ccb109f5777ec0d9fb826695a9e2ac36ae94c1949fc8b1e4d23a5bd067a/ujson-5.12.0-cp311-cp311-win32.whl", hash = "sha256:006428d3813b87477d72d306c40c09f898a41b968e57b15a7d88454ecc42a3fb", size = 39648, upload-time = "2026-03-11T22:18:14.785Z" }, - { url = "https://files.pythonhosted.org/packages/6f/e3/87fc4c27b20d5125cff7ce52d17ea7698b22b74426da0df238e3efcb0cf2/ujson-5.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:40aa43a7a3a8d2f05e79900858053d697a88a605e3887be178b43acbcd781161", size = 43876, upload-time = "2026-03-11T22:18:15.768Z" }, - { url = "https://files.pythonhosted.org/packages/9e/21/324f0548a8c8c48e3e222eaed15fb6d48c796593002b206b4a28a89e445f/ujson-5.12.0-cp311-cp311-win_arm64.whl", hash = "sha256:561f89cc82deeae82e37d4a4764184926fb432f740a9691563a391b13f7339a4", size = 38553, upload-time = "2026-03-11T22:18:17.251Z" }, - { url = "https://files.pythonhosted.org/packages/84/f6/ac763d2108d28f3a40bb3ae7d2fafab52ca31b36c2908a4ad02cd3ceba2a/ujson-5.12.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:09b4beff9cc91d445d5818632907b85fb06943b61cb346919ce202668bf6794a", size = 56326, upload-time = "2026-03-11T22:18:18.467Z" }, - { url = "https://files.pythonhosted.org/packages/25/46/d0b3af64dcdc549f9996521c8be6d860ac843a18a190ffc8affeb7259687/ujson-5.12.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ca0c7ce828bb76ab78b3991904b477c2fd0f711d7815c252d1ef28ff9450b052", size = 53910, upload-time = "2026-03-11T22:18:19.502Z" }, - { url = "https://files.pythonhosted.org/packages/9a/10/853c723bcabc3e9825a079019055fc99e71b85c6bae600607a2b9d31d18d/ujson-5.12.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a2d79c6635ccffcbfc1d5c045874ba36b594589be81d50d43472570bb8de9c57", size = 57754, upload-time = "2026-03-11T22:18:20.874Z" }, - { url = "https://files.pythonhosted.org/packages/f9/c6/6e024830d988f521f144ead641981c1f7a82c17ad1927c22de3242565f5c/ujson-5.12.0-cp312-cp312-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:7e07f6f644d2c44d53b7a320a084eef98063651912c1b9449b5f45fcbdc6ccd2", size = 59936, upload-time = "2026-03-11T22:18:21.924Z" }, - { url = "https://files.pythonhosted.org/packages/34/c9/c5f236af5abe06b720b40b88819d00d10182d2247b1664e487b3ed9229cf/ujson-5.12.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:085b6ce182cdd6657481c7c4003a417e0655c4f6e58b76f26ee18f0ae21db827", size = 57463, upload-time = "2026-03-11T22:18:22.924Z" }, - { url = "https://files.pythonhosted.org/packages/ae/04/41342d9ef68e793a87d84e4531a150c2b682f3bcedfe59a7a5e3f73e9213/ujson-5.12.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:16b4fe9c97dc605f5e1887a9e1224287291e35c56cbc379f8aa44b6b7bcfe2bb", size = 1037239, upload-time = "2026-03-11T22:18:24.04Z" }, - { url = "https://files.pythonhosted.org/packages/d4/81/dc2b7617d5812670d4ff4a42f6dd77926430ee52df0dedb2aec7990b2034/ujson-5.12.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0d2e8db5ade3736a163906154ca686203acc7d1d30736cbf577c730d13653d84", size = 1196713, upload-time = "2026-03-11T22:18:25.391Z" }, - { url = "https://files.pythonhosted.org/packages/b6/9c/80acff0504f92459ed69e80a176286e32ca0147ac6a8252cd0659aad3227/ujson-5.12.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:93bc91fdadcf046da37a214eaa714574e7e9b1913568e93bb09527b2ceb7f759", size = 1089742, upload-time = "2026-03-11T22:18:26.738Z" }, - { url = "https://files.pythonhosted.org/packages/e3/f0/123ffaac17e45ef2b915e3e3303f8f4ea78bb8d42afad828844e08622b1e/ujson-5.12.0-cp312-cp312-win32.whl", hash = "sha256:2a248750abce1c76fbd11b2e1d88b95401e72819295c3b851ec73399d6849b3d", size = 39773, upload-time = "2026-03-11T22:18:28.244Z" }, - { url = "https://files.pythonhosted.org/packages/b5/20/f3bd2b069c242c2b22a69e033bfe224d1d15d3649e6cd7cc7085bb1412ff/ujson-5.12.0-cp312-cp312-win_amd64.whl", hash = "sha256:1b5c6ceb65fecd28a1d20d1eba9dbfa992612b86594e4b6d47bb580d2dd6bcb3", size = 44040, upload-time = "2026-03-11T22:18:29.236Z" }, - { url = "https://files.pythonhosted.org/packages/f0/a7/01b5a0bcded14cd2522b218f2edc3533b0fcbccdea01f3e14a2b699071aa/ujson-5.12.0-cp312-cp312-win_arm64.whl", hash = "sha256:9a5fcbe7b949f2e95c47ea8a80b410fcdf2da61c98553b45a4ee875580418b68", size = 38526, upload-time = "2026-03-11T22:18:30.551Z" }, - { url = "https://files.pythonhosted.org/packages/3f/f1/0ef0eeab1db8493e1833c8b440fe32cf7538f7afa6e7f7c7e9f62cef464d/ujson-5.12.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:15d416440148f3e56b9b244fdaf8a09fcf5a72e4944b8e119f5bf60417a2bfc8", size = 56331, upload-time = "2026-03-11T22:18:31.539Z" }, - { url = "https://files.pythonhosted.org/packages/b0/2f/9159f6f399b3f572d20847a2b80d133e3a03c14712b0da4971a36879fb64/ujson-5.12.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e0dd3676ea0837cd70ea1879765e9e9f6be063be0436de9b3ea4b775caf83654", size = 53910, upload-time = "2026-03-11T22:18:32.829Z" }, - { url = "https://files.pythonhosted.org/packages/e5/a9/f96376818d71495d1a4be19a0ab6acf0cc01dd8826553734c3d4dac685b2/ujson-5.12.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7bbf05c38debc90d1a195b11340cc85cb43ab3e753dc47558a3a84a38cbc72da", size = 57757, upload-time = "2026-03-11T22:18:33.866Z" }, - { url = "https://files.pythonhosted.org/packages/98/8d/dd4a151caac6fdcb77f024fbe7f09d465ebf347a628ed6dd581a0a7f6364/ujson-5.12.0-cp313-cp313-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:3c2f947e55d3c7cfe124dd4521ee481516f3007d13c6ad4bf6aeb722e190eb1b", size = 59940, upload-time = "2026-03-11T22:18:35.276Z" }, - { url = "https://files.pythonhosted.org/packages/c7/17/0d36c2fee0a8d8dc37b011ccd5bbdcfaff8b8ec2bcfc5be998661cdc935b/ujson-5.12.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2ea6206043385343aff0b7da65cf73677f6f5e50de8f1c879e557f4298cac36a", size = 57465, upload-time = "2026-03-11T22:18:36.644Z" }, - { url = "https://files.pythonhosted.org/packages/8c/04/b0ee4a4b643a01ba398441da1e357480595edb37c6c94c508dbe0eb9eb60/ujson-5.12.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bb349dbba57c76eec25e5917e07f35aabaf0a33b9e67fc13d188002500106487", size = 1037236, upload-time = "2026-03-11T22:18:37.743Z" }, - { url = "https://files.pythonhosted.org/packages/2d/08/0e7780d0bbb48fe57ded91f550144bcc99c03b5360bf2886dd0dae0ea8f5/ujson-5.12.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:937794042342006f707837f38d721426b11b0774d327a2a45c0bd389eb750a87", size = 1196717, upload-time = "2026-03-11T22:18:39.101Z" }, - { url = "https://files.pythonhosted.org/packages/ba/4c/e0e34107715bb4dd2d4dcc1ce244d2f074638837adf38aff85a37506efe4/ujson-5.12.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6ad57654570464eb1b040b5c353dee442608e06cff9102b8fcb105565a44c9ed", size = 1089748, upload-time = "2026-03-11T22:18:40.473Z" }, - { url = "https://files.pythonhosted.org/packages/72/43/814f4e2b5374d0d505c254ba4bed43eb25d2d046f19f5fd88555f81a7bd0/ujson-5.12.0-cp313-cp313-win32.whl", hash = "sha256:76bf3e7406cf23a3e1ca6a23fb1fb9ea82f4f6bd226fe226e09146b0194f85dc", size = 39778, upload-time = "2026-03-11T22:18:41.791Z" }, - { url = "https://files.pythonhosted.org/packages/0f/fe/19310d848ebe93315b6cb171277e4ce29f47ef9d46caabd63ff05d5be548/ujson-5.12.0-cp313-cp313-win_amd64.whl", hash = "sha256:15e555c4caca42411270b2ed2b2ebc7b3a42bb04138cef6c956e1f1d49709fe2", size = 44038, upload-time = "2026-03-11T22:18:43.094Z" }, - { url = "https://files.pythonhosted.org/packages/3f/e4/7a39103d7634691601a02bd1ca7268fba4da47ed586365e6ee68168f575a/ujson-5.12.0-cp313-cp313-win_arm64.whl", hash = "sha256:bd03472c36fa3a386a6deb887113b9e3fa40efba8203eb4fe786d3c0ccc724f6", size = 38529, upload-time = "2026-03-11T22:18:44.167Z" }, - { url = "https://files.pythonhosted.org/packages/10/bd/9a8d693254bada62bfea75a507e014afcfdb6b9d047b6f8dd134bfefaf67/ujson-5.12.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:85833bca01aa5cae326ac759276dc175c5fa3f7b3733b7d543cf27f2df12d1ef", size = 56499, upload-time = "2026-03-11T22:18:45.431Z" }, - { url = "https://files.pythonhosted.org/packages/bd/2d/285a83df8176e18dcd675d1a4cff8f7620f003f30903ea43929406e98986/ujson-5.12.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:d22cad98c2a10bbf6aa083a8980db6ed90d4285a841c4de892890c2b28286ef9", size = 53998, upload-time = "2026-03-11T22:18:47.184Z" }, - { url = "https://files.pythonhosted.org/packages/bf/8b/e2f09e16dabfa91f6a84555df34a4329fa7621e92ed054d170b9054b9bb2/ujson-5.12.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:99cc80facad240b0c2fb5a633044420878aac87a8e7c348b9486450cba93f27c", size = 57783, upload-time = "2026-03-11T22:18:48.271Z" }, - { url = "https://files.pythonhosted.org/packages/68/fb/ba1d06f3658a0c36d0ab3869ec3914f202bad0a9bde92654e41516c7bb13/ujson-5.12.0-cp314-cp314-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:d1831c07bd4dce53c4b666fa846c7eba4b7c414f2e641a4585b7f50b72f502dc", size = 60011, upload-time = "2026-03-11T22:18:49.284Z" }, - { url = "https://files.pythonhosted.org/packages/64/2b/3e322bf82d926d9857206cd5820438d78392d1f523dacecb8bd899952f73/ujson-5.12.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e00cec383eab2406c9e006bd4edb55d284e94bb943fda558326048178d26961", size = 57465, upload-time = "2026-03-11T22:18:50.584Z" }, - { url = "https://files.pythonhosted.org/packages/e9/fd/af72d69603f9885e5136509a529a4f6d88bf652b457263ff96aefcd3ab7d/ujson-5.12.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f19b3af31d02a2e79c5f9a6deaab0fb3c116456aeb9277d11720ad433de6dfc6", size = 1037275, upload-time = "2026-03-11T22:18:51.998Z" }, - { url = "https://files.pythonhosted.org/packages/9c/a7/a2411ec81aef7872578e56304c3e41b3a544a9809e95c8e1df46923fc40b/ujson-5.12.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:bacbd3c69862478cbe1c7ed4325caedec580d8acf31b8ee1b9a1e02a56295cad", size = 1196758, upload-time = "2026-03-11T22:18:53.548Z" }, - { url = "https://files.pythonhosted.org/packages/ed/85/aa18ae175dd03a118555aa14304d4f466f9db61b924c97c6f84388ecacb1/ujson-5.12.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:94c5f1621cbcab83c03be46441f090b68b9f307b6c7ec44d4e3f6d5997383df4", size = 1089760, upload-time = "2026-03-11T22:18:55.336Z" }, - { url = "https://files.pythonhosted.org/packages/d3/d4/4b40b67ac7e916ebffc3041ae2320c5c0b8a045300d4c542b6e50930cca5/ujson-5.12.0-cp314-cp314-win32.whl", hash = "sha256:e6369ac293d2cc40d52577e4fa3d75a70c1aae2d01fa3580a34a4e6eff9286b9", size = 41043, upload-time = "2026-03-11T22:18:56.505Z" }, - { url = "https://files.pythonhosted.org/packages/24/38/a1496d2a3428981f2b3a2ffbb4656c2b05be6cc406301d6b10a6445f6481/ujson-5.12.0-cp314-cp314-win_amd64.whl", hash = "sha256:31348a0ffbfc815ce78daac569d893349d85a0b57e1cd2cdbba50b7f333784da", size = 45303, upload-time = "2026-03-11T22:18:57.454Z" }, - { url = "https://files.pythonhosted.org/packages/85/d3/39dbd3159543d9c57ec3a82d36226152cf0d710784894ce5aa24b8220ac1/ujson-5.12.0-cp314-cp314-win_arm64.whl", hash = "sha256:6879aed770557f0961b252648d36f6fdaab41079d37a2296b5649fd1b35608e0", size = 39860, upload-time = "2026-03-11T22:18:58.578Z" }, - { url = "https://files.pythonhosted.org/packages/c3/71/9b4dacb177d3509077e50497222d39eec04c8b41edb1471efc764d645237/ujson-5.12.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:7ddb08b3c2f9213df1f2e3eb2fbea4963d80ec0f8de21f0b59898e34f3b3d96d", size = 56845, upload-time = "2026-03-11T22:18:59.629Z" }, - { url = "https://files.pythonhosted.org/packages/24/c2/8abffa3be1f3d605c4a62445fab232b3e7681512ce941c6b23014f404d36/ujson-5.12.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0a3ae28f0b209be5af50b54ca3e2123a3de3a57d87b75f1e5aa3d7961e041983", size = 54463, upload-time = "2026-03-11T22:19:00.697Z" }, - { url = "https://files.pythonhosted.org/packages/db/2e/60114a35d1d6796eb428f7affcba00a921831ff604a37d9142c3d8bbe5c5/ujson-5.12.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d30ad4359413c8821cc7b3707f7ca38aa8bc852ba3b9c5a759ee2d7740157315", size = 58689, upload-time = "2026-03-11T22:19:01.739Z" }, - { url = "https://files.pythonhosted.org/packages/c8/ad/010925c2116c21ce119f9c2ff18d01f48a19ade3ff4c5795da03ce5829fc/ujson-5.12.0-cp314-cp314t-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:02f93da7a4115e24f886b04fd56df1ee8741c2ce4ea491b7ab3152f744ad8f8e", size = 60618, upload-time = "2026-03-11T22:19:03.101Z" }, - { url = "https://files.pythonhosted.org/packages/9b/74/db7f638bf20282b1dccf454386cbd483faaaed3cdbb9cb27e06f74bb109e/ujson-5.12.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3ff4ede90ed771140caa7e1890de17431763a483c54b3c1f88bd30f0cc1affc0", size = 58151, upload-time = "2026-03-11T22:19:04.175Z" }, - { url = "https://files.pythonhosted.org/packages/9c/7e/3ebaecfa70a2e8ce623db8e21bd5cb05d42a5ef943bcbb3309d71b5de68d/ujson-5.12.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:a7bf9cc97f05048ac8f3e02cd58f0fe62b901453c24345bfde287f4305dcc31c", size = 1038117, upload-time = "2026-03-11T22:19:05.558Z" }, - { url = "https://files.pythonhosted.org/packages/2e/aa/e073eda7f0036c2973b28db7bb99faba17a932e7b52d801f9bb3e726271f/ujson-5.12.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:2324d9a0502317ffc35d38e153c1b2fa9610ae03775c9d0f8d0cca7b8572b04e", size = 1197434, upload-time = "2026-03-11T22:19:06.92Z" }, - { url = "https://files.pythonhosted.org/packages/1c/01/b9a13f058fdd50c746b192c4447ca8d6352e696dcda912ccee10f032ff85/ujson-5.12.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:50524f4f6a1c839714dbaff5386a1afb245d2d5ec8213a01fbc99cea7307811e", size = 1090401, upload-time = "2026-03-11T22:19:08.383Z" }, - { url = "https://files.pythonhosted.org/packages/c4/37/3d1b4e0076b6e43379600b5229a5993db8a759ff2e1830ea635d876f6644/ujson-5.12.0-cp314-cp314t-win32.whl", hash = "sha256:f7a0430d765f9bda043e6aefaba5944d5f21ec43ff4774417d7e296f61917382", size = 41880, upload-time = "2026-03-11T22:19:09.671Z" }, - { url = "https://files.pythonhosted.org/packages/b1/c5/3c2a262a138b9f0014fe1134a6b5fdc2c54245030affbaac2fcbc0632138/ujson-5.12.0-cp314-cp314t-win_amd64.whl", hash = "sha256:ccbfd94e59aad4a2566c71912b55f0547ac1680bfac25eb138e6703eb3dd434e", size = 46365, upload-time = "2026-03-11T22:19:10.662Z" }, - { url = "https://files.pythonhosted.org/packages/83/40/956dc20b7e00dc0ff3259871864f18dab211837fce3478778bedb3132ac1/ujson-5.12.0-cp314-cp314t-win_arm64.whl", hash = "sha256:42d875388fbd091c7ea01edfff260f839ba303038ffb23475ef392012e4d63dd", size = 40398, upload-time = "2026-03-11T22:19:11.666Z" }, - { url = "https://files.pythonhosted.org/packages/95/3c/5ee154d505d1aad2debc4ba38b1a60ae1949b26cdb5fa070e85e320d6b64/ujson-5.12.0-graalpy312-graalpy250_312_native-macosx_10_13_x86_64.whl", hash = "sha256:bf85a00ac3b56a1e7a19c5be7b02b5180a0895ac4d3c234d717a55e86960691c", size = 54494, upload-time = "2026-03-11T22:19:13.035Z" }, - { url = "https://files.pythonhosted.org/packages/ce/b3/9496ec399ec921e434a93b340bd5052999030b7ac364be4cbe5365ac6b20/ujson-5.12.0-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:64df53eef4ac857eb5816a56e2885ccf0d7dff6333c94065c93b39c51063e01d", size = 57999, upload-time = "2026-03-11T22:19:14.385Z" }, - { url = "https://files.pythonhosted.org/packages/0e/da/e9ae98133336e7c0d50b43626c3f2327937cecfa354d844e02ac17379ed1/ujson-5.12.0-graalpy312-graalpy250_312_native-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6c0aed6a4439994c9666fb8a5b6c4eac94d4ef6ddc95f9b806a599ef83547e3b", size = 54518, upload-time = "2026-03-11T22:19:15.4Z" }, - { url = "https://files.pythonhosted.org/packages/58/10/978d89dded6bb1558cd46ba78f4351198bd2346db8a8ee1a94119022ce40/ujson-5.12.0-graalpy312-graalpy250_312_native-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:efae5df7a8cc8bdb1037b0f786b044ce281081441df5418c3a0f0e1f86fe7bb3", size = 55736, upload-time = "2026-03-11T22:19:16.496Z" }, - { url = "https://files.pythonhosted.org/packages/80/25/1df8e6217c92e57a1266bf5be750b1dddc126ee96e53fe959d5693503bc6/ujson-5.12.0-graalpy312-graalpy250_312_native-win_amd64.whl", hash = "sha256:8712b61eb1b74a4478cfd1c54f576056199e9f093659334aeb5c4a6b385338e5", size = 44615, upload-time = "2026-03-11T22:19:17.53Z" }, - { url = "https://files.pythonhosted.org/packages/19/fa/f4a957dddb99bd68c8be91928c0b6fefa7aa8aafc92c93f5d1e8b32f6702/ujson-5.12.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:871c0e5102e47995b0e37e8df7819a894a6c3da0d097545cd1f9f1f7d7079927", size = 52145, upload-time = "2026-03-11T22:19:18.566Z" }, - { url = "https://files.pythonhosted.org/packages/55/6e/50b5cf612de1ca06c7effdc5a5d7e815774dee85a5858f1882c425553b82/ujson-5.12.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:56ba3f7abbd6b0bb282a544dc38406d1a188d8bb9164f49fdb9c2fee62cb29da", size = 49577, upload-time = "2026-03-11T22:19:19.627Z" }, - { url = "https://files.pythonhosted.org/packages/6e/24/b6713fa9897774502cd4c2d6955bb4933349f7d84c3aa805531c382a4209/ujson-5.12.0-pp311-pypy311_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c5a52987a990eb1bae55f9000994f1afdb0326c154fb089992f839ab3c30688", size = 50807, upload-time = "2026-03-11T22:19:20.778Z" }, - { url = "https://files.pythonhosted.org/packages/1f/b6/c0e0f7901180ef80d16f3a4bccb5dc8b01515a717336a62928963a07b80b/ujson-5.12.0-pp311-pypy311_pp73-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:adf28d13a33f9d750fe7a78fb481cac298fa257d8863d8727b2ea4455ea41235", size = 56972, upload-time = "2026-03-11T22:19:21.84Z" }, - { url = "https://files.pythonhosted.org/packages/02/a9/05d91b4295ea7239151eb08cf240e5a2ba969012fda50bc27bcb1ea9cd71/ujson-5.12.0-pp311-pypy311_pp73-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:51acc750ec7a2df786cdc868fb16fa04abd6269a01d58cf59bafc57978773d8e", size = 52045, upload-time = "2026-03-11T22:19:22.879Z" }, - { url = "https://files.pythonhosted.org/packages/e3/7a/92047d32bf6f2d9db64605fc32e8eb0e0dd68b671eaafc12a464f69c4af4/ujson-5.12.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:ab9056d94e5db513d9313b34394f3a3b83e6301a581c28ad67773434f3faccab", size = 44053, upload-time = "2026-03-11T22:19:23.918Z" }, +version = "5.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bc/78/937198ea8708182dd1edbf0237bf255a96feab3f511691ad08b84da98e5d/ujson-5.12.1.tar.gz", hash = "sha256:5b7e96406c301a1366534479a7352ec40ec68bb327c0c119091635acd5925e35", size = 7164538, upload-time = "2026-05-05T22:05:01.354Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6c/f5/a73194f217159dc64e17fdb0b2d2a0f881e622fd78178ef4c11f07df227c/ujson-5.12.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:71bdb5d10c6d7e710cfa78e743d9fb79a37c7c66fa916cd287bffbaa520f5abe", size = 57737, upload-time = "2026-05-05T22:02:58.917Z" }, + { url = "https://files.pythonhosted.org/packages/e2/10/eb60fb536a5a26a3a5aedb2fff826b32b6c8fd3129ef244f481d2c77e629/ujson-5.12.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:558673c6c3a2309775683ca96d5f1e4cd99889f71b1ba5cb6be8aa37ae67f9e0", size = 55488, upload-time = "2026-05-05T22:03:00.415Z" }, + { url = "https://files.pythonhosted.org/packages/e5/19/2fcac61b5841873ecba7be67efc03d6b03c201c2738e841791221784dcc7/ujson-5.12.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4b0c9f6a56aa94bb98b403e1f57a866f0b43abaa89757b24d4a4b3cd8643ced", size = 59474, upload-time = "2026-05-05T22:03:01.951Z" }, + { url = "https://files.pythonhosted.org/packages/36/80/271ba72ad2268a8156411df14e44272b0f322938f7aa1831e40eecba8c35/ujson-5.12.1-cp310-cp310-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:7bba5ab7965619db7d6f5503133b8e2d8bfce9bb6754224ca64d19261cc52f7c", size = 61573, upload-time = "2026-05-05T22:03:03.193Z" }, + { url = "https://files.pythonhosted.org/packages/ba/8d/182298e537ea433e7669ac1223b8de538a549e82978c7b61efae4b852717/ujson-5.12.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:191d2077fd53441599a2efd3dcc205b9cc5f3a4d685a76e9f73f4b6c19aee0c9", size = 59075, upload-time = "2026-05-05T22:03:04.804Z" }, + { url = "https://files.pythonhosted.org/packages/0e/96/3a56766612e22e700be08a0d09d90d244a38dbe55a47e477132c6d9ff4db/ujson-5.12.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d90d27953716ef206c42f166932b3dbb264dc638bbf32acae81b216ae35f566d", size = 1038960, upload-time = "2026-05-05T22:03:06.718Z" }, + { url = "https://files.pythonhosted.org/packages/f7/cd/4baa856d862be92fc7424f52c59b18e092bb91105fb5e32f90f1cac52afc/ujson-5.12.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b6afa86c117b66034004ee83c5149c6dccf7cb88941f9d3a1640c7076577f2d4", size = 1198323, upload-time = "2026-05-05T22:03:08.263Z" }, + { url = "https://files.pythonhosted.org/packages/d1/15/cdb84a2dbb0d9d1ec1ec0c77358c5dc3da3c2fb1a1d992112927476807dd/ujson-5.12.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9523d67d45334f9a1d62e423bd72be62b58d2289a50420ffffa9363763eab73f", size = 1091338, upload-time = "2026-05-05T22:03:09.911Z" }, + { url = "https://files.pythonhosted.org/packages/d5/cb/387830f8f5337689bad699551775b885319ed085201447c1dd6815ab7e51/ujson-5.12.1-cp310-cp310-win32.whl", hash = "sha256:757f2026bef09d231d63a2250a2c7ad21ea1c9cb1ded6480659d202c4e2ef09e", size = 40930, upload-time = "2026-05-05T22:03:11.913Z" }, + { url = "https://files.pythonhosted.org/packages/44/27/425109462ed4f4a4d33d51481e793a3588303e62788de0b10e5890f473f6/ujson-5.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:7e31afad20cd6837a5ac6965d95b44b0ff06e42a82b01a8d3dc606a07f0b7a2a", size = 45165, upload-time = "2026-05-05T22:03:13.216Z" }, + { url = "https://files.pythonhosted.org/packages/5d/8b/910e2e56376622de6e72f27816b76beff1692794ce119dacc2e95aba1240/ujson-5.12.1-cp310-cp310-win_arm64.whl", hash = "sha256:80f58ae2be100da0f525330ee274accd8892d1c125fea75076f60539d9a5f9cd", size = 39938, upload-time = "2026-05-05T22:03:14.771Z" }, + { url = "https://files.pythonhosted.org/packages/15/bd/78c4537392d4e2a5502447f942fcd665f69c282c604d4e23dc649cf98aa1/ujson-5.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:26dcb43869057373048cbd2678293c5b0f962d5774cc76fc9488564a209bcbf2", size = 57728, upload-time = "2026-05-05T22:03:15.972Z" }, + { url = "https://files.pythonhosted.org/packages/40/c8/347a29f9f9dc7e3e30fcabc2dc0fec4c553a6c37dd77afdf7c88d1d40ec0/ujson-5.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bca3f04b2f590a8211acdc3ca06649b65a7ed1e999437dccf095310be9d3ba4e", size = 55488, upload-time = "2026-05-05T22:03:17.278Z" }, + { url = "https://files.pythonhosted.org/packages/93/b2/b309a5812643149c2e920907c0b1948c5ae4158888feee26df58d8fb7915/ujson-5.12.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:29d1d64ed2c3c17666f4f0e15462800f3477255dc53667ad5d099277866c5666", size = 59495, upload-time = "2026-05-05T22:03:18.736Z" }, + { url = "https://files.pythonhosted.org/packages/d7/83/606272e7fa7179c5acdb0113e1f86726746e6d54264d20561b0d2925bdf1/ujson-5.12.1-cp311-cp311-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:2cfbd6b0c677d5d053964b8f98d8bb1af10c591c8c24454bcd40006ac8ba18db", size = 61555, upload-time = "2026-05-05T22:03:19.966Z" }, + { url = "https://files.pythonhosted.org/packages/f1/19/0634cf9a5f03c70388fbc3890b84ee0d38d51df3a524c515e3930cc75c9d/ujson-5.12.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f75caed5b6d1fc271bb720a780c4199914267f7b865f9bf17826c4feccea582c", size = 59079, upload-time = "2026-05-05T22:03:21.291Z" }, + { url = "https://files.pythonhosted.org/packages/0b/03/c2f9ca9cd08c362f1a400d8c6f8284ba8303d75b2d721b2b6aa361875e42/ujson-5.12.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b21b4c680594c8686bcd4cdda0fd3ea2567b9d42bcf1d1e3d92d39bcdb02e8f1", size = 1038990, upload-time = "2026-05-05T22:03:22.809Z" }, + { url = "https://files.pythonhosted.org/packages/ed/bd/5fd45dcc5ea24134cc41ebd548b03233d3e76e3bd2f429576e81fb7be7a7/ujson-5.12.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:50d07e79ec70d32b4fbe18ab706ed0b172be08710d5901b9d067d7951bfaa164", size = 1198285, upload-time = "2026-05-05T22:03:24.549Z" }, + { url = "https://files.pythonhosted.org/packages/52/ed/b1eabac89d349d92991badb61becdef5a2fd077c0f54007f7241a52c0f87/ujson-5.12.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:080bc65ac7c0a6314d45d55b6171d3a48b1aeaf89895654d625b291cfe46309f", size = 1091324, upload-time = "2026-05-05T22:03:26.422Z" }, + { url = "https://files.pythonhosted.org/packages/33/c8/e2488780945045cb7c61479fbc2379aa28ff502fba5ab8f42c0908e127fe/ujson-5.12.1-cp311-cp311-win32.whl", hash = "sha256:251ba8229e19b4b0b3efb5e7e3ddfa67c5c466aa492707bc3f6568bf714604dc", size = 40928, upload-time = "2026-05-05T22:03:27.994Z" }, + { url = "https://files.pythonhosted.org/packages/10/df/4efd312d74077085798ce1bae9b1678a7d84360725820918096eb89cd8e8/ujson-5.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:46315b82505c99101dcab3bd979f15fecfde85c02df7efbb4e428fa357665290", size = 45164, upload-time = "2026-05-05T22:03:29.175Z" }, + { url = "https://files.pythonhosted.org/packages/a5/cc/1b034c46913162cac12027f7b67731e8ede4554b0e6fd60d265301156f11/ujson-5.12.1-cp311-cp311-win_arm64.whl", hash = "sha256:12e99e49c62322ed0394c914aff15403ba7ede0b74f05a0faa4ec12c7d17a139", size = 39931, upload-time = "2026-05-05T22:03:30.408Z" }, + { url = "https://files.pythonhosted.org/packages/d7/40/dbb8e2fe6ee33769602fba203dacaa3963b6599f0d0aefdf2b8811af5f70/ujson-5.12.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:10f44bd08ae52ee23ca6e8b472692e5da1768af2d53ff1bad6f40b532e0bc7ee", size = 57951, upload-time = "2026-05-05T22:03:31.606Z" }, + { url = "https://files.pythonhosted.org/packages/8d/db/627472e6b4ac34148ea52e6d3d15f6f366fc21c72fe7d6c7d3729d4b3ac5/ujson-5.12.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6cc6ea753b7303fa5629fa9ac9257ea4b001c4d72583b2bb36ff1855a07db49f", size = 55562, upload-time = "2026-05-05T22:03:32.853Z" }, + { url = "https://files.pythonhosted.org/packages/be/59/1248c966da197ae7d2673542444a2d9a1ff7c46e3ec2a302c3caf902b922/ujson-5.12.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:289f13095764d03734adfa10107da9b530ceb64dc1b02a5f507588d978d5b7df", size = 59448, upload-time = "2026-05-05T22:03:34.143Z" }, + { url = "https://files.pythonhosted.org/packages/d5/d7/60c1ca71a09c0654c3edca1192a18fc55e6cc06107be86d7d3f2b39fb29b/ujson-5.12.1-cp312-cp312-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:427893168d074e59214b0ee058337c57f5bb80175cdd5b4799a9c931aae22022", size = 61608, upload-time = "2026-05-05T22:03:35.386Z" }, + { url = "https://files.pythonhosted.org/packages/d5/0a/c619525576219bfc50084100117481b1a732a16716a3878355570995de4e/ujson-5.12.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a7a81724d5d90a2da7155d15d8b156ce57eaed7cdd622df813f36a8e612fd4c8", size = 59113, upload-time = "2026-05-05T22:03:37.555Z" }, + { url = "https://files.pythonhosted.org/packages/18/4d/79c1674036085e8dfdb77f8d87c1fd2896e97e6affd117c5e8ecc40f0ae4/ujson-5.12.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3a6efff7dc6515416366819de4a1bc449b77107c5b48508b101fd40f7f8bec08", size = 1038914, upload-time = "2026-05-05T22:03:38.954Z" }, + { url = "https://files.pythonhosted.org/packages/94/b1/9409bba17189ee282b6314cdf0ecdcc72e3d38cd565c870c0227d0494569/ujson-5.12.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:77a71fe53427a0cf49d56eafd801d9f7e203b784b7f99cc717783fd6f6f7b732", size = 1198408, upload-time = "2026-05-05T22:03:40.943Z" }, + { url = "https://files.pythonhosted.org/packages/4b/ad/fafbce7ac59f1a10a83892d0a34add23cc06492308e1330493aab707dc20/ujson-5.12.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ea3bed53d2ea8e5642e814a9e41f3e29420a8067874ba03ace8c0462e160490c", size = 1091451, upload-time = "2026-05-05T22:03:42.739Z" }, + { url = "https://files.pythonhosted.org/packages/5a/1f/76fc9d5b1dcb9eb73ed45fd56e5114391bd30808eb1cea7f8bc5c9a64324/ujson-5.12.1-cp312-cp312-win32.whl", hash = "sha256:758e5c8fbe4e6d483041e03b307b01fb5d2f2dd4452d4d4b927ab902e188939e", size = 41049, upload-time = "2026-05-05T22:03:44.341Z" }, + { url = "https://files.pythonhosted.org/packages/35/2a/7ce3b6fda10d05b79a245db03405734b521ba3da6c377f173b018dce6d4e/ujson-5.12.1-cp312-cp312-win_amd64.whl", hash = "sha256:f6074d3d3267ba1914c624b6e1fa3d8152648ff36b0ab77ddf83b92db488c30d", size = 45330, upload-time = "2026-05-05T22:03:45.828Z" }, + { url = "https://files.pythonhosted.org/packages/d7/66/5a37bba7a2e2ab36ae467521c4511e6593ad74c869f62ec4ba6330f3f71e/ujson-5.12.1-cp312-cp312-win_arm64.whl", hash = "sha256:7642a41520ac1b2bc25ea282b66b8da522cc43424442e6fb5e039be4d4f96530", size = 39828, upload-time = "2026-05-05T22:03:47.123Z" }, + { url = "https://files.pythonhosted.org/packages/b9/f0/985b351771ebf095e2c1aaad18f4d251831226a767a32593310e4f181f19/ujson-5.12.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c4bdc052a5d097f0a2e56d93aed97355f9f7a62ef9baa4f8517e43245434af9c", size = 57959, upload-time = "2026-05-05T22:03:48.348Z" }, + { url = "https://files.pythonhosted.org/packages/61/73/03c7473372e1a538206fc655e474fa15f8bf9c46bb7c73c5fec9a544e429/ujson-5.12.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5dc91fa06ea35920b704fd9d70871897680145998071cfbf5ee3e19f2c9fc242", size = 55564, upload-time = "2026-05-05T22:03:49.869Z" }, + { url = "https://files.pythonhosted.org/packages/04/e6/104ebc35fa8dbaca66bf027c53c0c9c572271c2984576f4fd7d349d1a2e4/ujson-5.12.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b5db0849c0e3da54822a5834f2dc51d7c51072d7f7d665014ee34600dc10889b", size = 59448, upload-time = "2026-05-05T22:03:51.224Z" }, + { url = "https://files.pythonhosted.org/packages/11/d2/55274e80fe1806cdb5cb97483be16cd6163337ab11c3bd7e28ff8a8aad26/ujson-5.12.1-cp313-cp313-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:949cb4863a5d4847edeb47c5364b334e8cadf23a7cbdaa547d86098a4b093106", size = 61611, upload-time = "2026-05-05T22:03:52.731Z" }, + { url = "https://files.pythonhosted.org/packages/6c/15/ec46b1757c8f7770d8c101b8a463bec67c19e89c46c608d01e4b193cc64a/ujson-5.12.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8aa731138d6dfca4ab84501b72384e6c544bfb48cb87a0dd4d304df3246cac25", size = 59120, upload-time = "2026-05-05T22:03:54.064Z" }, + { url = "https://files.pythonhosted.org/packages/b5/27/ec73bc8908c33eb1f5be29d696084e531cbcfbd5c7b89ce54c025f66c682/ujson-5.12.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:727e983ef27892d86ee2d28fd517eeb02b2c1165aafcbe929dce988aeee81bfe", size = 1038913, upload-time = "2026-05-05T22:03:55.792Z" }, + { url = "https://files.pythonhosted.org/packages/6d/30/907e47569bed5f5eb258fef5e587c6759a7a062048796e40024497137e28/ujson-5.12.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d57d731ecf492d3d011e65369f8330654f0875b19f646be5270d478e843d3b81", size = 1198409, upload-time = "2026-05-05T22:03:57.947Z" }, + { url = "https://files.pythonhosted.org/packages/46/aa/f135f4b741baf14d5350be5511076408e7540353d3d850a430cb89d585a6/ujson-5.12.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1a09636220f26c66f80c6c6283023cb53120e843825f890be92696cd1aa43f39", size = 1091456, upload-time = "2026-05-05T22:04:00.355Z" }, + { url = "https://files.pythonhosted.org/packages/6e/81/5e6ef1115c0f700a74a150857c66cb22245f0e43f79667af9bf2b88f9452/ujson-5.12.1-cp313-cp313-win32.whl", hash = "sha256:ee83fbac03a0896faf190177c938f94eb610b798d495a19d50997242c4eca685", size = 41055, upload-time = "2026-05-05T22:04:02.372Z" }, + { url = "https://files.pythonhosted.org/packages/98/76/8b423bc72a02f3fcf90f911a16382f360442c1a8887955c023d517f5d4ba/ujson-5.12.1-cp313-cp313-win_amd64.whl", hash = "sha256:e08d9e096c416ddc34519241f97c201258b42639f2012d9547d8ae32921800dd", size = 45331, upload-time = "2026-05-05T22:04:03.946Z" }, + { url = "https://files.pythonhosted.org/packages/5f/f2/c839a923da49384d4a319ddd5ce666e50e45a5c8417cec742c65667a1864/ujson-5.12.1-cp313-cp313-win_arm64.whl", hash = "sha256:963287e4b1bc463735c4056968a2dfa59bb831b6daba68bddd14f451191fe9e5", size = 39828, upload-time = "2026-05-05T22:04:05.52Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ca/d88d86f90f8f237985f3e347b9a4f9fa24e8d30d19ec7d477ed18aa58393/ujson-5.12.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:6f19e9a407a24230df0cc1ec1c0f5999872ba526b14a780f80ad6479f5eed9bc", size = 58099, upload-time = "2026-05-05T22:04:06.688Z" }, + { url = "https://files.pythonhosted.org/packages/ae/2d/a0a88407cee3550f7ed1e49b41157ee2d410f51905ed51fb134844255280/ujson-5.12.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:8b657e870c77aaacdeea86cfad3e6d2ef9b52517e45988c9c367f7ee764fe4dd", size = 55631, upload-time = "2026-05-05T22:04:07.925Z" }, + { url = "https://files.pythonhosted.org/packages/a9/6d/12a3b8e72132db244ae048075e71a0079b3c5f61ff45b7ca81d5193ab3e7/ujson-5.12.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:984b5a99d1e0a037c2046c3c4b34cec832565d62d5017be0a035bf3cbfab72dc", size = 59469, upload-time = "2026-05-05T22:04:09.208Z" }, + { url = "https://files.pythonhosted.org/packages/a2/72/310f8c21737554f2d2b4f1883e1a71e8a6ab0d8f92f0feb8aaa85e0f4b66/ujson-5.12.1-cp314-cp314-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:f48ef8a16f1d85bd7982beac7adfd3fb704058631db84c1c61c8a1b7072b1508", size = 61611, upload-time = "2026-05-05T22:04:10.836Z" }, + { url = "https://files.pythonhosted.org/packages/50/50/ab4b2f7bab6c7a67298c8f2aca80e2082eaf6f332cf2d099762647b5301e/ujson-5.12.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4f39ba3b65cc637b59731532f7e7c807786bff1d0332ab2d5b96a04d2584d78f", size = 59122, upload-time = "2026-05-05T22:04:12.137Z" }, + { url = "https://files.pythonhosted.org/packages/21/48/5d81cbe76fc2aa9e071aa489a3041cf0712f5e0663d60d501641f92b7bb4/ujson-5.12.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:07f307780f85b49cba93f291718421b6f5f3b627a323b431fad937a18f6587cb", size = 1038938, upload-time = "2026-05-05T22:04:13.548Z" }, + { url = "https://files.pythonhosted.org/packages/fb/a7/abe1acb0e5d8b8d724b35533a44c89684c88100a5fd9f2fee7f7155528d5/ujson-5.12.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:1c335caea51c31494e514b82d50763b9792d3960d2c7d9fdb6b6fb8ed50ebdd0", size = 1198416, upload-time = "2026-05-05T22:04:15.609Z" }, + { url = "https://files.pythonhosted.org/packages/ed/6e/087067d6ee22bd01bfba9fb1f32ce98c24ae2bcbab53bd2fbf8f7a80fe9e/ujson-5.12.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:19ea07e29a45d199f926aadf93a9974128438c01b83141fba32477c0ee604b33", size = 1091425, upload-time = "2026-05-05T22:04:17.909Z" }, + { url = "https://files.pythonhosted.org/packages/4e/d2/28938574b766980f873b68962abb4c68a944d939446768982934ad3bcd93/ujson-5.12.1-cp314-cp314-win32.whl", hash = "sha256:c8e626b6bc9bdd2e8f7393b7d99f3daa2ca4022e6203662e70de7bb3604b21b9", size = 42334, upload-time = "2026-05-05T22:04:19.85Z" }, + { url = "https://files.pythonhosted.org/packages/49/b0/0af30bf65d96b73c28054b344ebbe24bc96780ae8a7f2973f5dad979510a/ujson-5.12.1-cp314-cp314-win_amd64.whl", hash = "sha256:c6d3bdd020333688ee60559437021ed68a98a28fdd609b5af16de5dd58f90cba", size = 46586, upload-time = "2026-05-05T22:04:21.298Z" }, + { url = "https://files.pythonhosted.org/packages/4e/3b/0ee2555823724e60cc847c715c299f5792aa444bdde69c51d4aa42d885c2/ujson-5.12.1-cp314-cp314-win_arm64.whl", hash = "sha256:e3c9c894971f4ada3ded16a804ed4640e1f2b3e5239beaeec7c48296f39f4232", size = 41178, upload-time = "2026-05-05T22:04:22.597Z" }, + { url = "https://files.pythonhosted.org/packages/3f/3d/7547835cd0b7fa22eb1122702f81b2403c38a0027a2cc0d75acc449a4a66/ujson-5.12.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:49dd9c378e1c8e676785ff2b62cb490074229f15ab54abf45b623713cb2c36b5", size = 58565, upload-time = "2026-05-05T22:04:23.75Z" }, + { url = "https://files.pythonhosted.org/packages/ed/6a/1784e0b24aab50623eb47b2f7a8dc22c9d809d798854d2568a9cb7c3560f/ujson-5.12.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6d8827904358d7da59ccf2e1fd8de59e78248036d17fecc0462e62c6721f1102", size = 56157, upload-time = "2026-05-05T22:04:25.028Z" }, + { url = "https://files.pythonhosted.org/packages/91/2d/2c1b24df24eee309047d81460c3a1acf0d047207327edc6f3cab8a614985/ujson-5.12.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dc26caebea90425662ef0b979f945f6ac832651881107d6ec9a3c4d4a4ba929c", size = 60288, upload-time = "2026-05-05T22:04:26.273Z" }, + { url = "https://files.pythonhosted.org/packages/c5/14/c0c603e3dff2ef98f7deee2df7795e6055abbc5825c6ef530024b3b06a15/ujson-5.12.1-cp314-cp314t-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:45022aae09ac3d45bda6fbfc631088d1aff9a0465542d40bd6d295ced378c430", size = 62302, upload-time = "2026-05-05T22:04:27.516Z" }, + { url = "https://files.pythonhosted.org/packages/5c/0d/889bbc044561d9adc9bf413620fbd9878f352c9fd36da829d319bca2f5ad/ujson-5.12.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b22aa0f644516d3d5b29464949e4b23fe784f84b4a1030ab9ac3cb42aaedabb1", size = 59784, upload-time = "2026-05-05T22:04:28.776Z" }, + { url = "https://files.pythonhosted.org/packages/18/35/3b1d8ff8cd6dc048f5c495af6ee6ded43055562610a7e9b78b438dc6421e/ujson-5.12.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7dc5cf44ea42365cd1b66e6ed3fc6ca040c86587b024a6659b98e99d31cff2cd", size = 1039759, upload-time = "2026-05-05T22:04:30.291Z" }, + { url = "https://files.pythonhosted.org/packages/6a/d8/3c66cdf839420a6da2d6140a54a882c15efd135bcced103bd4473d577636/ujson-5.12.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:8df5d984ff4ac1ef292d70f30da03417038a7e1e0bc272d28ca9d34f02f41682", size = 1199121, upload-time = "2026-05-05T22:04:31.961Z" }, + { url = "https://files.pythonhosted.org/packages/54/51/c3d1b94a4ad27dc7532e9f7d00b869463157cede2295ba6d57566afeb8cd/ujson-5.12.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:485f0182a0c0b54c304061cdc826d8343ce595c4055f7a24e72772a8520e5f7b", size = 1092085, upload-time = "2026-05-05T22:04:33.697Z" }, + { url = "https://files.pythonhosted.org/packages/ae/52/4d4a6e78290a5eef3f576f6d281e6355535db903a08483fd1bb393bf8cb9/ujson-5.12.1-cp314-cp314t-win32.whl", hash = "sha256:4e12ca368b397aed7fa1eec534ea1ba8d94977b376f9df3e93ae1acfd004ec40", size = 43243, upload-time = "2026-05-05T22:04:35.486Z" }, + { url = "https://files.pythonhosted.org/packages/3d/c8/849366785de52b513e5fc89d7aea0b531e71bb5641407cbdfdf47a99ede8/ujson-5.12.1-cp314-cp314t-win_amd64.whl", hash = "sha256:cec6b9b539539affc1f01a795c99574592a635ce22331b64f2b42e0af570659e", size = 47662, upload-time = "2026-05-05T22:04:37.07Z" }, + { url = "https://files.pythonhosted.org/packages/8a/46/36a67f5a531a15308124786f3e2b7b96414b9d23dbcdc2a182dd3ffa2e1d/ujson-5.12.1-cp314-cp314t-win_arm64.whl", hash = "sha256:696224d4cfb8883fa5c0285dff31e5ce924704dd9ccd38e9ea8b5bf4a42b12fc", size = 41680, upload-time = "2026-05-05T22:04:39.083Z" }, + { url = "https://files.pythonhosted.org/packages/6d/26/c9d0479236b3f5690d6a8bb45f708aabc2c91ca80d275eba24b1e9e464ab/ujson-5.12.1-graalpy312-graalpy250_312_native-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b2c419bf42ae40963fc27f70c59e24e9a97f5cf168dbce2c572f3c0ce3595912", size = 56153, upload-time = "2026-05-05T22:04:40.326Z" }, + { url = "https://files.pythonhosted.org/packages/ee/c8/785f4e132500aff2f1fd2bd4a4b86fe396a5519f830a098358c90ebb92ee/ujson-5.12.1-graalpy312-graalpy250_312_native-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0be2b4f2f547b9f0f3d902640e410e5a2fc851576cbe033c88445a23e3e7aef1", size = 57352, upload-time = "2026-05-05T22:04:42.005Z" }, + { url = "https://files.pythonhosted.org/packages/8f/13/b688a905653871b10b4ff0403c2ff562c17a0bd50be0d44324f3c85ca48f/ujson-5.12.1-graalpy312-graalpy250_312_native-win_amd64.whl", hash = "sha256:4ea0c490c702c20495e97345acfcf0c2f3153e658ef537ff111929c48b89e10a", size = 45988, upload-time = "2026-05-05T22:04:43.36Z" }, + { url = "https://files.pythonhosted.org/packages/4d/f4/676811a968793722fbc3827111c7301cbe2473285eac9e7a75eb7a7f2495/ujson-5.12.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:3e30fa6bc7156ed709e13f8b52e917db08fbfd611ba61346b62630974ec0ba8e", size = 53669, upload-time = "2026-05-05T22:04:44.575Z" }, + { url = "https://files.pythonhosted.org/packages/97/74/9d7fa873af84e687ec321d6761d61b0765fe6e46cc2599d6340521ef8b34/ujson-5.12.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:f67c5f0d64eba0fbbd6d2d6a79b0c43c5bc06f27564378fd5d716e0d40360068", size = 51151, upload-time = "2026-05-05T22:04:46.899Z" }, + { url = "https://files.pythonhosted.org/packages/29/40/4069d94ce5c546721fdb503fa074fc4d2dbdf8a95911ae26d89c13771136/ujson-5.12.1-pp311-pypy311_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8416bb724db9accfa97bdb77245952494b1800c23e42defd46afb5c661c9af19", size = 52338, upload-time = "2026-05-05T22:04:48.228Z" }, + { url = "https://files.pythonhosted.org/packages/90/20/257531b3c11977da7aa1d2f8d75c1914c739810ca25f59cca2e7939a87d8/ujson-5.12.1-pp311-pypy311_pp73-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:66005b49c753a1b9f2f8853919dc58e1e6bd66846ea341a33afa76c6d7602485", size = 58526, upload-time = "2026-05-05T22:04:49.508Z" }, + { url = "https://files.pythonhosted.org/packages/a2/a3/adb2553d1e965b07b1b10d2f526b7233358b8385d65fd8a40155c5261b14/ujson-5.12.1-pp311-pypy311_pp73-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bdc6b277dcd27663f7fb76b6a5088424c66e0407c23e9884f80cd733f7d71b19", size = 53621, upload-time = "2026-05-05T22:04:51.088Z" }, + { url = "https://files.pythonhosted.org/packages/a6/64/49347c16508543e84b00884fc8625c4a90b070205fe18bd147c7fe0aef65/ujson-5.12.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:7957b64583793042521f7f7c71c01626b3d32a17528eaab980eb8cdc3d4eec68", size = 45372, upload-time = "2026-05-05T22:04:52.62Z" }, ] [[package]] name = "uncalled-for" -version = "0.3.1" +version = "0.3.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e1/68/35c1d87e608940badbcfeb630347aa0509897284684f61fab6423d02b253/uncalled_for-0.3.1.tar.gz", hash = "sha256:5e412ac6708f04b56bef5867b5dcf6690ebce4eb7316058d9c50787492bb4bca", size = 49693, upload-time = "2026-04-07T13:05:06.462Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b5/82/345cc927f7fbdae6065e7768759932fcc827fc20b29b45dfbafa2f1f7da4/uncalled_for-0.3.2.tar.gz", hash = "sha256:89f5dbcd71e2b8f47c030b1fa302e6cce2ec795d1ac565eeb6525c5fe55cb8a2", size = 50032, upload-time = "2026-05-06T13:38:25.204Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/11/e1/7ec67882ad8fc9f86384bef6421fa252c9cbe5744f8df6ce77afc9eca1f5/uncalled_for-0.3.1-py3-none-any.whl", hash = "sha256:074cdc92da8356278f93d0ded6f2a66dd883dbecaf9bc89437646ee2289cc200", size = 11361, upload-time = "2026-04-07T13:05:05.341Z" }, + { url = "https://files.pythonhosted.org/packages/3b/25/2c87754f3a9e692315f7b811244090e68f362979fc8886b3fbd2985a1d8c/uncalled_for-0.3.2-py3-none-any.whl", hash = "sha256:0ff60b142c7d1f8070bde9d42afaa70aedc77dcc10998c227687e9c15713418e", size = 11444, upload-time = "2026-05-06T13:38:24.025Z" }, ] [[package]] @@ -9198,11 +9145,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.6.3" +version = "2.7.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556, upload-time = "2026-01-07T16:24:43.925Z" } +sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" }, + { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, ] [[package]] @@ -9236,28 +9183,28 @@ wheels = [ [[package]] name = "uv" -version = "0.11.8" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c1/cd/4393fecb083897e956f016d4e66d0b8a496a08fe2e03cbda32a1e91da7ee/uv-0.11.8.tar.gz", hash = "sha256:bb2cf302b8503629aab6f0090a05551e6f8cfc2d687ca059cad7ec9e11214335", size = 4098020, upload-time = "2026-04-27T13:15:31.625Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/99/84/dcb676a3e36a3a2b44dc2e4dfea471b8cd709025e27cce3e588b176fd899/uv-0.11.8-py3-none-linux_armv6l.whl", hash = "sha256:a53e704a780a9e78a50f5a880e99a690f84e6fb9e82610903ce26f47c271d74c", size = 23664296, upload-time = "2026-04-27T13:15:15.644Z" }, - { url = "https://files.pythonhosted.org/packages/86/05/557aa070fda7b8460bbbe1e867e8e5b80602c5b30ed77d1d94fc5acae518/uv-0.11.8-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:d414fc3795b6f56fb6b1fa359537930924fdfe857750a144d2aedf3077be3f1d", size = 23087321, upload-time = "2026-04-27T13:15:36.193Z" }, - { url = "https://files.pythonhosted.org/packages/d5/62/82953018801a250e16b091ef4b5e95e939b2f01224363d6fc80f600b7eff/uv-0.11.8-py3-none-macosx_11_0_arm64.whl", hash = "sha256:f0d402e182ab581e934c159cc9edf25ec6e08d32f29aa797980e949afefc87cd", size = 21747142, upload-time = "2026-04-27T13:15:20.4Z" }, - { url = "https://files.pythonhosted.org/packages/af/4c/477f2abe16f9a3d3c73077f15615878a303eef3760115ec946be58ecb9b2/uv-0.11.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:877c9af3b3955a35ef739e5b2ba79c56dae5c4d50420a7ed908c0901e1c8c807", size = 23425861, upload-time = "2026-04-27T13:15:10.374Z" }, - { url = "https://files.pythonhosted.org/packages/2a/63/19f46193e49f0c9bf33346a4d726313871864db16e7cdd1c0a63bc112000/uv-0.11.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl", hash = "sha256:8278144df8d80a83f770c264a5e79ea50791316d2a0dda869e53b3c1174142a8", size = 23215551, upload-time = "2026-04-27T13:15:38.706Z" }, - { url = "https://files.pythonhosted.org/packages/72/3e/5595b265df848a33cd060b10e8f763a46d67521ac9f6c314e8a4ad5329d7/uv-0.11.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b3494ad32465f4e02259cfb104d24efe5bb8f7a782351f0354de9385415fb310", size = 23224170, upload-time = "2026-04-27T13:15:18.083Z" }, - { url = "https://files.pythonhosted.org/packages/a6/b3/6ca95e690b52542caa1dae10ede57732f90c629946ab5f027ff746f87deb/uv-0.11.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a4421e27e81f85bce3bdb75986c38b5f9bfab9cdccaf3d977cf124b3f0f0b989", size = 24730048, upload-time = "2026-04-27T13:15:13.254Z" }, - { url = "https://files.pythonhosted.org/packages/ea/49/71b7322067c85a3736a22a300072b0566991fe3f95b81bed793508ff5315/uv-0.11.8-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91943e77fc962752d4f64ad5739219858395981078051c740b28b52963b366aa", size = 25585906, upload-time = "2026-04-27T13:15:41.455Z" }, - { url = "https://files.pythonhosted.org/packages/37/16/4e84cd5131327fe86d4784ebfc8a983149f4e6b811476ef271fc548b29e6/uv-0.11.8-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:41fbba287efcc9bc9505a60549b3a223220da720eacd03be8c23d9daaafa44f4", size = 24795740, upload-time = "2026-04-27T13:15:49.842Z" }, - { url = "https://files.pythonhosted.org/packages/5b/01/df175979018743cc5ba6e2fb9dcec916868271e8d88cf0b9df8fd805a0df/uv-0.11.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d97bb2920d6cddc07faa475013461294cc09b77ec8139278416c6e54b938d037", size = 24824980, upload-time = "2026-04-27T13:15:53.506Z" }, - { url = "https://files.pythonhosted.org/packages/1c/95/93c7f595f7136fb32807442860c55d0faed2cd3d7da4b7105ed3c2535d5f/uv-0.11.8-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:fb6a755305eb1e081dfe6a8bc007dbae2d26fe75e551656ca7c9cd08fba21d26", size = 23526790, upload-time = "2026-04-27T13:15:04.955Z" }, - { url = "https://files.pythonhosted.org/packages/04/02/77430b89e172c20cc549b07a5b1dfda0c882c161b6d82781d3150a7063ac/uv-0.11.8-py3-none-manylinux_2_31_riscv64.musllinux_1_1_riscv64.whl", hash = "sha256:841ecbb38532698f73b14b49dc5f0c5e756194c7fcf6e5c6b7ed3859200fe91b", size = 24280498, upload-time = "2026-04-27T13:15:43.978Z" }, - { url = "https://files.pythonhosted.org/packages/8a/e3/23e4a2bb91e3880e017e6116886e2d0bde14ba6aa95ddc458160ee630e7c/uv-0.11.8-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:b3ff2b20c1897105ebe7ed7f9b1b331c7171da029bc1e35970ce31dc086141c1", size = 24375233, upload-time = "2026-04-27T13:15:25.753Z" }, - { url = "https://files.pythonhosted.org/packages/d9/67/fb7dc17cea816a667d1be2632525aa1687566bfafd17bdac561a7a6c9484/uv-0.11.8-py3-none-musllinux_1_1_i686.whl", hash = "sha256:ad381228b0170ef9646902c7e908d4a10a7ecc3da8139450506cf70c7e7f3e80", size = 23904818, upload-time = "2026-04-27T13:15:23.21Z" }, - { url = "https://files.pythonhosted.org/packages/4b/91/b920e35f54f8c6b51f2c639e8170bb80a47a739a1442fea33a479bc93a3d/uv-0.11.8-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:0172b5215544844cd3db0fa3c73a2eb74999b3f00cd2527dde578725076d7b65", size = 25015448, upload-time = "2026-04-27T13:15:46.666Z" }, - { url = "https://files.pythonhosted.org/packages/05/e8/3771956dc1c94b8484789bb8070d91872080d0af99332b8bdec7218c2bfd/uv-0.11.8-py3-none-win32.whl", hash = "sha256:e71c1dd23cbb480f3952c3a95b4fd00f96bd618e2a94583fc9388c500af3070d", size = 22823583, upload-time = "2026-04-27T13:15:33.674Z" }, - { url = "https://files.pythonhosted.org/packages/f9/9b/a91a9c60dcae0e1e3da06377d38f32118a523697d461fe41bc9f117ecf59/uv-0.11.8-py3-none-win_amd64.whl", hash = "sha256:306c624c68d95dd7ea3647675323d72c1abc25f91c3e92ae4cd6f0f11b508726", size = 25407438, upload-time = "2026-04-27T13:15:28.957Z" }, - { url = "https://files.pythonhosted.org/packages/61/5d/defa29fe617e6f07d4e514089e9d36fd9f44ede869e597e39ff7d69f6917/uv-0.11.8-py3-none-win_arm64.whl", hash = "sha256:a9853456696d579f206135c9dda7227a6ed8311b8a9a0b9b2008c4ae81950efe", size = 23914243, upload-time = "2026-04-27T13:15:07.717Z" }, +version = "0.11.13" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4d/3c/463dc85baffc8dda4183b31ba2546204740c0cbac5c01d3671c4eb52819c/uv-0.11.13.tar.gz", hash = "sha256:c30889b6a4417f94a0315371ec5bf8af151f062406ad3fb4b2cbf13d645d825c", size = 4124451, upload-time = "2026-05-11T01:37:54.367Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/82/e6/78a0092e303dd8edf5a3ea74442b17b2ed8c1e9f82e97c7359045cefccdc/uv-0.11.13-py3-none-linux_armv6l.whl", hash = "sha256:4e56623a9ff6d7372290963cd21777bcb52aacbff6619d58a2659ee8240f8fed", size = 23545030, upload-time = "2026-05-11T01:38:23.367Z" }, + { url = "https://files.pythonhosted.org/packages/60/7e/e48c24814e5a2cbf2bb9ccf55d9327813fe3074ada9526851914663dc380/uv-0.11.13-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:72ad50ae5ce446f6887be842adffd1770b8e138caccc972f333915e524b323ac", size = 23076867, upload-time = "2026-05-11T01:38:02.308Z" }, + { url = "https://files.pythonhosted.org/packages/66/f6/0dcbc43f83e90626981a10b179769b25c0a218717a4331f928c26b6e13a2/uv-0.11.13-py3-none-macosx_11_0_arm64.whl", hash = "sha256:e5913805ee60b4e331dd7322ae95e18ceb110f6a5baae608d71a532ed1115e75", size = 21710719, upload-time = "2026-05-11T01:37:47.115Z" }, + { url = "https://files.pythonhosted.org/packages/12/c7/348575ae1ea6f312860915a60c1c7c4cf591339164ee321824ba9143a2c4/uv-0.11.13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:eb4fe81624bc92894c59aaf88a57cb1fcaf7da95dc3cf2ef1ed86847f0a7e9f6", size = 23300489, upload-time = "2026-05-11T01:37:57.718Z" }, + { url = "https://files.pythonhosted.org/packages/31/3c/78a8afbb98a50db65f4096025bbeff7aac67af8a4d3329f4f9bd8b5acc42/uv-0.11.13-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl", hash = "sha256:64dd1c36893d0da363d4c8e91c5d554d01a30061c83302eb93c75ca91b0f7eb3", size = 23077624, upload-time = "2026-05-11T01:37:43.197Z" }, + { url = "https://files.pythonhosted.org/packages/aa/30/d68cfdcaa88ad5a2bd1b149818ef51d970518ddd39001dd62ff5e4709d11/uv-0.11.13-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a3551cb18aaa75f50153877a4988e718ba365ba998563c390a99e207aeeadd0d", size = 23107411, upload-time = "2026-05-11T01:38:06.838Z" }, + { url = "https://files.pythonhosted.org/packages/02/2c/2311a29f32e1d404dc2fbc516e5febdf4567fcc3cfdd94e398bf5566b515/uv-0.11.13-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fd454d4f40e232355fa96937bae41e91b16279e2526034050576da5a2d8a7f40", size = 24551248, upload-time = "2026-05-11T01:37:23.403Z" }, + { url = "https://files.pythonhosted.org/packages/15/cc/ecb7174b11f64079ab9ec8ec0443aeaf69b86c6e6ad213b094d61ac71205/uv-0.11.13-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4356e97a0e3e4d3ab53fd15415af12764a979759e37a3124372e3e6755e9a0c", size = 25455493, upload-time = "2026-05-11T01:38:10.814Z" }, + { url = "https://files.pythonhosted.org/packages/eb/0d/44031030724a5128efb06be62a701fe36a1664f91aee346ffaf6f0432d39/uv-0.11.13-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4a714e866853c72cb2b7a18187cf3db4a1475a2032f3bd00e1c98ccf214c31d0", size = 24562712, upload-time = "2026-05-11T01:38:14.979Z" }, + { url = "https://files.pythonhosted.org/packages/e3/ad/dfb82224e73031c71dc70eb4513a6f4f6af66da35c3c955e28d75fe03d1c/uv-0.11.13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e23ddb47f7a317979cf1945cf9ed89d2639f60f7d06164f9ff1ad292c4cc5b3c", size = 24662925, upload-time = "2026-05-11T01:37:31.646Z" }, + { url = "https://files.pythonhosted.org/packages/41/3d/6cd9b920dcc83f0866e842caad5575cc3d5ca6604facbf5582950bbfc68c/uv-0.11.13-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:00efc945dd0392d7ac571cde402936e13ffba855121de79f42b3de9ee2f6a69a", size = 23398601, upload-time = "2026-05-11T01:37:18.832Z" }, + { url = "https://files.pythonhosted.org/packages/de/a9/291ff99b1dce9ec14b5a0358ad7d384485471d6ee4ecd7d98e05ef570da5/uv-0.11.13-py3-none-manylinux_2_31_riscv64.musllinux_1_1_riscv64.whl", hash = "sha256:b0807d1e9bc84c902cba9bb0b23627f6c980c54167c999e502571974fcfe2d6e", size = 24138999, upload-time = "2026-05-11T01:38:19.294Z" }, + { url = "https://files.pythonhosted.org/packages/9c/88/8eabfbe745371696d09d08e47e637d567413071eb02c7e2324a919ba4f87/uv-0.11.13-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:bea50519b30c1bc4e4a331dcc1d55253cd8d886d243d3506ec00f34cdf030eff", size = 24196974, upload-time = "2026-05-11T01:37:35.742Z" }, + { url = "https://files.pythonhosted.org/packages/ea/bf/9ab0db9d7f8d7b52382d70eb26bbd9e84dbe6cfce709ec7bf31895991a0a/uv-0.11.13-py3-none-musllinux_1_1_i686.whl", hash = "sha256:d714e4a09e28198664758576542c7cedb054677ab3cdec60207a75ed74f82235", size = 23822126, upload-time = "2026-05-11T01:38:31.829Z" }, + { url = "https://files.pythonhosted.org/packages/72/d9/dc2d1eb6b4181e5485cd36ecdb1c2f4fbec9b4078bb2b7266ef5481d2433/uv-0.11.13-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:bf067fc357e1f75783c343e731c3bf4f8ca531917eafd6d9f18cd477ddaee158", size = 24868862, upload-time = "2026-05-11T01:38:27.595Z" }, + { url = "https://files.pythonhosted.org/packages/94/94/de37ee6b07459780de695e6c57e158ce1307de075f40718740a981132d9e/uv-0.11.13-py3-none-win32.whl", hash = "sha256:79c3f501bbf849bc566e108545891abfbc15e4e85c22d8875bfe405c1e2efc42", size = 22581531, upload-time = "2026-05-11T01:37:39.382Z" }, + { url = "https://files.pythonhosted.org/packages/d9/89/01f90839cd1204e7a328cc36da27a09bc8b1a9692d3f9b79cee0a0945e1b/uv-0.11.13-py3-none-win_amd64.whl", hash = "sha256:974ec55646a7e680f91cdf4f77fbc6e2a71157240cd0efa387d458709b63ab04", size = 25194788, upload-time = "2026-05-11T01:37:51.372Z" }, + { url = "https://files.pythonhosted.org/packages/63/99/4d75ad86221363a277c3be4e36e928e84f0dff256413e83e58d8af8c0e2c/uv-0.11.13-py3-none-win_arm64.whl", hash = "sha256:35aaca82115b8dc747f22b8c76b1026e707f4c9a59fe39ab3c21be111a65fa44", size = 23589361, upload-time = "2026-05-11T01:37:27.755Z" }, ] [[package]] @@ -9277,13 +9224,13 @@ wheels = [ [package.optional-dependencies] standard = [ - { name = "colorama", marker = "python_full_version < '3.14' and sys_platform == 'win32'" }, - { name = "httptools", marker = "python_full_version < '3.14'" }, - { name = "python-dotenv", marker = "python_full_version < '3.14'" }, - { name = "pyyaml", marker = "python_full_version < '3.14'" }, - { name = "uvloop", marker = "python_full_version < '3.14' and platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32'" }, - { name = "watchfiles", marker = "python_full_version < '3.14'" }, - { name = "websockets", version = "15.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "httptools" }, + { name = "python-dotenv" }, + { name = "pyyaml" }, + { name = "uvloop", marker = "platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32'" }, + { name = "watchfiles" }, + { name = "websockets", version = "15.0.1", source = { registry = "https://pypi.org/simple" } }, ] [[package]] @@ -9345,7 +9292,7 @@ wheels = [ [[package]] name = "virtualenv" -version = "21.3.0" +version = "21.3.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "distlib" }, @@ -9354,9 +9301,9 @@ dependencies = [ { name = "python-discovery" }, { name = "typing-extensions", marker = "python_full_version < '3.11' or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/3f/8b/6331f7a7fe70131c301106ec1e7cf23e2501bf7d4ca3636805801ca191bb/virtualenv-21.3.0.tar.gz", hash = "sha256:733750db978ec95c2d8eb4feadaa57091002bce404cb39ba69899cf7bd28944e", size = 7614069, upload-time = "2026-04-27T17:05:58.927Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/0d/915c02c94d207b85580eb09bffab54438a709e7288524094fe781da526c2/virtualenv-21.3.1.tar.gz", hash = "sha256:c2305bc1fddeec40699b8370d13f8d431b0701f00ce895061ce493aeded4426b", size = 7613791, upload-time = "2026-05-05T01:34:31.402Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4b/eb/03bfb1299d4c4510329e470f13f9a4ce793df7fcb5a2fd3510f911066f61/virtualenv-21.3.0-py3-none-any.whl", hash = "sha256:4d28ee41f6d9ec8f1f00cd472b9ffbcedda1b3d3b9a575b5c94a2d004fd51bd7", size = 7594690, upload-time = "2026-04-27T17:05:55.468Z" }, + { url = "https://files.pythonhosted.org/packages/b1/4f/f71e641e504111a5a74e3a20bc52d01bd86788b22699dd3fee1c63253cf6/virtualenv-21.3.1-py3-none-any.whl", hash = "sha256:d1a71cf58f2f9228fff23a1f6ec15d39785c6b32e03658d104974247145edd35", size = 7594539, upload-time = "2026-05-05T01:34:28.98Z" }, ] [[package]] @@ -9744,7 +9691,7 @@ wheels = [ [[package]] name = "xai-sdk" -version = "1.12.1" +version = "1.12.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiohttp" }, @@ -9753,13 +9700,12 @@ dependencies = [ { name = "opentelemetry-sdk" }, { name = "packaging", version = "25.0", source = { registry = "https://pypi.org/simple" } }, { name = "protobuf", version = "5.29.6", source = { registry = "https://pypi.org/simple" } }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'group-10-braintrust-lint') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, - { name = "pydantic", version = "2.13.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten' and extra == 'group-10-braintrust-lint') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (python_full_version < '3.11' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (python_full_version < '3.11' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-pydantic-ai-logfire') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (sys_platform != 'emscripten' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-agno') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agentscope' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-crewai') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-agno' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-langchain') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-crewai' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-litellm') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-langchain' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-openai-agents') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-litellm' and extra == 'group-10-braintrust-test-strands') or (extra != 'group-10-braintrust-lint' and extra == 'group-10-braintrust-test-openai-agents' and extra == 'group-10-braintrust-test-strands')" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" } }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9d/45/7de87b77b7623706b405cf357a97811dfe6abbb31d98fd8c50086a2c7de0/xai_sdk-1.12.1.tar.gz", hash = "sha256:672ec5b864a136a5ec09f9b8bf904c84f601657257b9967eed93f4ce7c4256c3", size = 414159, upload-time = "2026-04-30T22:35:36.741Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/21/b6683eeb797bac6dd46e55e9fbdb15c598b34fadd862120da4c09d1d01d0/xai_sdk-1.12.2.tar.gz", hash = "sha256:917d1887e6afdb49fff9f0dc6ae1bceede43a747365a406a3486af3e23509be4", size = 414440, upload-time = "2026-05-07T00:07:01.244Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5b/d9/3829d9a78cfd3348e70dfa81acf2ee701787c01a417d9197d9babf64d565/xai_sdk-1.12.1-py3-none-any.whl", hash = "sha256:f5b83082df0969718e68d0bdf92fd57348b65f156682520261660c47caf958ad", size = 256553, upload-time = "2026-04-30T22:35:35.247Z" }, + { url = "https://files.pythonhosted.org/packages/99/b1/76da151f71a2dc9a65ef725ad4bac597a8d02da6618fb0474468a3355a34/xai_sdk-1.12.2-py3-none-any.whl", hash = "sha256:a3b4079f0629637009c5e3d58388f8c88591658dde31f202d5f5e8560fe6e120", size = 256654, upload-time = "2026-05-07T00:06:59.56Z" }, ] [[package]]