diff --git a/.riot/requirements/100a87a.txt b/.riot/requirements/100a87a.txt index 6f98c8890f4..294d8b04a8f 100644 --- a/.riot/requirements/100a87a.txt +++ b/.riot/requirements/100a87a.txt @@ -2,60 +2,56 @@ # This file is autogenerated by pip-compile with Python 3.9 # by the following command: # -# pip-compile --allow-unsafe --no-annotate .riot/requirements/100a87a.in +# pip-compile --no-annotate .riot/requirements/100a87a.in # -ag-ui-protocol==0.1.9 -aiohappyeyeballs==2.6.1 -aiohttp==3.13.0 -aiosignal==1.4.0 +ag-ui-protocol==0.1.10 annotated-types==0.7.0 -anthropic==0.69.0 -anyio==4.11.0 -argcomplete==3.6.2 -async-timeout==5.0.1 +anthropic==0.75.0 +anyio==4.12.0 +argcomplete==3.6.3 attrs==25.4.0 backports-asyncio-runner==1.2.0 -boto3==1.40.48 -botocore==1.40.48 -cachetools==6.2.0 -certifi==2025.10.5 -charset-normalizer==3.4.3 -cohere==5.18.0 +boto3==1.42.4 +botocore==1.42.4 +cachetools==6.2.2 +certifi==2025.11.12 +charset-normalizer==3.4.4 +click==8.1.8 +cohere==5.20.0 colorama==0.4.6 coverage[toml]==7.10.7 distro==1.9.0 docstring-parser==0.17.0 -eval-type-backport==0.2.2 -exceptiongroup==1.3.0 -fastavro==1.12.0 +eval-type-backport==0.3.1 +exceptiongroup==1.3.1 +fastavro==1.12.1 filelock==3.19.1 -frozenlist==1.8.0 -fsspec==2025.9.0 -google-auth==2.41.1 -google-genai==1.42.0 +fsspec==2025.10.0 +google-auth==2.43.0 +google-genai==1.47.0 griffe==1.14.0 -groq==0.32.0 +groq==0.37.1 h11==0.16.0 -hf-xet==1.1.10 +hf-xet==1.2.0 httpcore==1.0.9 httpx==0.28.1 httpx-sse==0.4.0 -huggingface-hub[inference]==0.35.3 +huggingface-hub[inference]==1.2.1 hypothesis==6.45.0 -idna==3.10 +idna==3.11 importlib-metadata==8.7.0 iniconfig==2.1.0 -invoke==2.2.0 -jiter==0.11.0 +invoke==2.2.1 +jiter==0.12.0 jmespath==1.0.1 -logfire-api==4.12.0 +logfire-api==4.16.0 markdown-it-py==3.0.0 mdurl==0.1.2 mistralai==1.9.11 mock==5.2.0 multidict==6.7.0 -openai==2.2.0 -opentelemetry-api==1.37.0 +openai==2.9.0 +opentelemetry-api==1.39.0 opentracing==2.4.0 packaging==25.0 pluggy==1.6.0 @@ -79,15 +75,17 @@ pyyaml==6.0.3 requests==2.32.5 rich==14.2.0 rsa==4.9.1 -s3transfer==0.14.0 +s3transfer==0.16.0 +shellingham==1.5.4 six==1.17.0 sniffio==1.3.1 sortedcontainers==2.4.0 -starlette==0.48.0 +starlette==0.49.3 tenacity==9.1.2 tokenizers==0.22.1 tomli==2.3.0 tqdm==4.67.1 +typer-slim==0.20.0 types-requests==2.31.0.6 types-urllib3==1.26.25.14 typing-extensions==4.15.0 @@ -96,6 +94,6 @@ urllib3==1.26.20 vcrpy==7.0.0 wcwidth==0.2.14 websockets==15.0.1 -wrapt==1.17.3 +wrapt==2.0.1 yarl==1.22.0 zipp==3.23.0 diff --git a/.riot/requirements/1176a2d.txt b/.riot/requirements/1176a2d.txt deleted file mode 100644 index 34212ca7f3a..00000000000 --- a/.riot/requirements/1176a2d.txt +++ /dev/null @@ -1,103 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.14 -# by the following command: -# -# pip-compile --allow-unsafe --no-annotate .riot/requirements/1176a2d.in -# -annotated-types==0.7.0 -anthropic==0.69.0 -anyio==4.11.0 -argcomplete==3.6.2 -attrs==25.4.0 -boto3==1.40.48 -botocore==1.40.48 -cachetools==6.2.0 -certifi==2025.10.5 -charset-normalizer==3.4.3 -click==8.3.0 -cohere==5.18.0 -colorama==0.4.6 -coverage[toml]==7.10.7 -distro==1.9.0 -docstring-parser==0.17.0 -eval-type-backport==0.2.2 -fasta2a==0.3.0 -fastavro==1.12.0 -filelock==3.20.0 -fsspec==2025.9.0 -google-auth==2.41.1 -google-genai==1.42.0 -griffe==1.14.0 -groq==0.32.0 -h11==0.16.0 -hf-xet==1.1.10 -httpcore==1.0.9 -httpx==0.28.1 -httpx-sse==0.4.0 -huggingface-hub==0.35.3 -hypothesis==6.45.0 -idna==3.10 -importlib-metadata==8.7.0 -iniconfig==2.1.0 -invoke==2.2.0 -jiter==0.11.0 -jmespath==1.0.1 -jsonschema==4.25.1 -jsonschema-specifications==2025.9.1 -logfire-api==4.12.0 -markdown-it-py==4.0.0 -mcp==1.16.0 -mdurl==0.1.2 -mistralai==1.9.11 -mock==5.2.0 -multidict==6.7.0 -openai==2.2.0 -opentelemetry-api==1.37.0 -opentracing==2.4.0 -packaging==25.0 -pluggy==1.6.0 -prompt-toolkit==3.0.52 -propcache==0.4.1 -pyasn1==0.6.1 -pyasn1-modules==0.4.2 -pydantic==2.12.0a1 -pydantic-ai==0.3.0 -pydantic-ai-slim[a2a,anthropic,bedrock,cli,cohere,evals,google,groq,mcp,mistral,openai,vertexai]==0.3.0 -pydantic-core==2.37.2 -pydantic-evals==0.3.0 -pydantic-graph==0.3.0 -pydantic-settings==2.11.0 -pygments==2.19.2 -pytest==8.4.2 -pytest-asyncio==1.2.0 -pytest-cov==7.0.0 -pytest-mock==3.15.1 -python-dateutil==2.9.0.post0 -python-dotenv==1.1.1 -python-multipart==0.0.20 -pyyaml==6.0.3 -referencing==0.36.2 -requests==2.32.5 -rich==14.2.0 -rpds-py==0.27.1 -rsa==4.9.1 -s3transfer==0.14.0 -six==1.17.0 -sniffio==1.3.1 -sortedcontainers==2.4.0 -sse-starlette==3.0.2 -starlette==0.48.0 -tenacity==9.1.2 -tokenizers==0.22.1 -tqdm==4.67.1 -types-requests==2.32.4.20250913 -typing-extensions==4.15.0 -typing-inspection==0.4.2 -urllib3==2.5.0 -uvicorn==0.37.0 -vcrpy==7.0.0 -wcwidth==0.2.14 -websockets==15.0.1 -wrapt==1.17.3 -yarl==1.22.0 -zipp==3.23.0 diff --git a/.riot/requirements/1290cab.txt b/.riot/requirements/1290cab.txt index 4dd62e96b0e..85685412706 100644 --- a/.riot/requirements/1290cab.txt +++ b/.riot/requirements/1290cab.txt @@ -2,61 +2,59 @@ # This file is autogenerated by pip-compile with Python 3.11 # by the following command: # -# pip-compile --allow-unsafe --no-annotate .riot/requirements/1290cab.in +# pip-compile --no-annotate .riot/requirements/1290cab.in # -ag-ui-protocol==0.1.9 -aiohappyeyeballs==2.6.1 -aiohttp==3.13.0 -aiosignal==1.4.0 +ag-ui-protocol==0.1.10 annotated-types==0.7.0 -anthropic==0.69.0 -anyio==4.11.0 -argcomplete==3.6.2 +anthropic==0.75.0 +anyio==4.12.0 +argcomplete==3.6.3 attrs==25.4.0 -boto3==1.40.48 -botocore==1.40.48 -cachetools==6.2.0 -certifi==2025.10.5 -charset-normalizer==3.4.3 -click==8.3.0 -cohere==5.18.0 +boto3==1.42.4 +botocore==1.42.4 +cachetools==6.2.2 +certifi==2025.11.12 +cffi==2.0.0 +charset-normalizer==3.4.4 +click==8.3.1 +cohere==5.20.0 colorama==0.4.6 -coverage[toml]==7.10.7 +coverage[toml]==7.12.0 +cryptography==46.0.3 distro==1.9.0 docstring-parser==0.17.0 -eval-type-backport==0.2.2 -fastavro==1.12.0 +eval-type-backport==0.3.1 +fastavro==1.12.1 filelock==3.20.0 -frozenlist==1.8.0 -fsspec==2025.9.0 -google-auth==2.41.1 -google-genai==1.42.0 -griffe==1.14.0 -groq==0.32.0 +fsspec==2025.12.0 +google-auth[requests]==2.43.0 +google-genai==1.53.0 +griffe==1.15.0 +groq==0.37.1 h11==0.16.0 -hf-xet==1.1.10 +hf-xet==1.2.0 httpcore==1.0.9 httpx==0.28.1 httpx-sse==0.4.0 -huggingface-hub[inference]==0.35.3 +huggingface-hub[inference]==1.2.1 hypothesis==6.45.0 -idna==3.10 +idna==3.11 importlib-metadata==8.7.0 -iniconfig==2.1.0 -invoke==2.2.0 -jiter==0.11.0 +iniconfig==2.3.0 +invoke==2.2.1 +jiter==0.12.0 jmespath==1.0.1 jsonschema==4.25.1 jsonschema-specifications==2025.9.1 -logfire-api==4.12.0 +logfire-api==4.16.0 markdown-it-py==4.0.0 -mcp==1.16.0 +mcp==1.23.1 mdurl==0.1.2 mistralai==1.9.11 mock==5.2.0 multidict==6.7.0 -openai==2.2.0 -opentelemetry-api==1.37.0 +openai==2.9.0 +opentelemetry-api==1.39.0 opentracing==2.4.0 packaging==25.0 pluggy==1.6.0 @@ -64,44 +62,48 @@ prompt-toolkit==3.0.52 propcache==0.4.1 pyasn1==0.6.1 pyasn1-modules==0.4.2 +pycparser==2.23 pydantic==2.12.0a1 pydantic-ai==0.4.4 pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,mcp,mistral,openai,vertexai]==0.4.4 pydantic-core==2.37.2 pydantic-evals==0.4.4 pydantic-graph==0.4.4 -pydantic-settings==2.11.0 +pydantic-settings==2.12.0 pygments==2.19.2 -pytest==8.4.2 -pytest-asyncio==1.2.0 +pyjwt[crypto]==2.10.1 +pytest==9.0.1 +pytest-asyncio==1.3.0 pytest-cov==7.0.0 pytest-mock==3.15.1 python-dateutil==2.9.0.post0 -python-dotenv==1.1.1 +python-dotenv==1.2.1 python-multipart==0.0.20 pyyaml==6.0.3 -referencing==0.36.2 +referencing==0.37.0 requests==2.32.5 rich==14.2.0 -rpds-py==0.27.1 +rpds-py==0.30.0 rsa==4.9.1 -s3transfer==0.14.0 +s3transfer==0.16.0 +shellingham==1.5.4 six==1.17.0 sniffio==1.3.1 sortedcontainers==2.4.0 -sse-starlette==3.0.2 -starlette==0.48.0 +sse-starlette==3.0.3 +starlette==0.50.0 tenacity==9.1.2 tokenizers==0.22.1 tqdm==4.67.1 +typer-slim==0.20.0 types-requests==2.32.4.20250913 typing-extensions==4.15.0 typing-inspection==0.4.2 -urllib3==2.5.0 -uvicorn==0.37.0 +urllib3==2.6.0 +uvicorn==0.38.0 vcrpy==7.0.0 wcwidth==0.2.14 websockets==15.0.1 -wrapt==1.17.3 +wrapt==2.0.1 yarl==1.22.0 zipp==3.23.0 diff --git a/.riot/requirements/12c713a.txt b/.riot/requirements/12c713a.txt new file mode 100644 index 00000000000..aa17a607773 --- /dev/null +++ b/.riot/requirements/12c713a.txt @@ -0,0 +1,145 @@ +# +# This file is autogenerated by pip-compile with Python 3.13 +# by the following command: +# +# pip-compile --no-annotate .riot/requirements/12c713a.in +# +ag-ui-protocol==0.1.10 +aiohappyeyeballs==2.6.1 +aiohttp==3.13.2 +aiosignal==1.4.0 +annotated-types==0.7.0 +anthropic==0.75.0 +anyio==4.12.0 +argcomplete==3.6.3 +attrs==25.4.0 +authlib==1.6.5 +beartype==0.22.8 +boto3==1.42.4 +botocore==1.42.4 +cachetools==6.2.2 +certifi==2025.11.12 +cffi==2.0.0 +charset-normalizer==3.4.4 +click==8.3.1 +cohere==5.20.0 +colorama==0.4.6 +coverage[toml]==7.12.0 +cryptography==46.0.3 +cyclopts==4.3.0 +diskcache==5.6.3 +distro==1.9.0 +dnspython==2.8.0 +docstring-parser==0.17.0 +docutils==0.22.3 +email-validator==2.3.0 +eval-type-backport==0.3.1 +exceptiongroup==1.3.1 +executing==2.2.1 +fastavro==1.12.1 +fastmcp==2.13.3 +filelock==3.20.0 +frozenlist==1.8.0 +fsspec==2025.12.0 +genai-prices==0.0.47 +google-auth[requests]==2.43.0 +google-genai==1.53.0 +googleapis-common-protos==1.72.0 +griffe==1.15.0 +groq==0.37.1 +h11==0.16.0 +hf-xet==1.2.0 +httpcore==1.0.9 +httpx==0.28.1 +httpx-sse==0.4.0 +huggingface-hub[inference]==0.36.0 +hypothesis==6.45.0 +idna==3.11 +importlib-metadata==8.7.0 +iniconfig==2.3.0 +invoke==2.2.1 +jiter==0.12.0 +jmespath==1.0.1 +jsonschema==4.25.1 +jsonschema-path==0.3.4 +jsonschema-specifications==2025.9.1 +logfire[httpx]==4.16.0 +logfire-api==4.16.0 +markdown-it-py==4.0.0 +mcp==1.22.0 +mdurl==0.1.2 +mistralai==1.9.11 +mock==5.2.0 +multidict==6.7.0 +nexus-rpc==1.1.0 +openai==2.9.0 +openapi-pydantic==0.5.1 +opentelemetry-api==1.39.0 +opentelemetry-exporter-otlp-proto-common==1.39.0 +opentelemetry-exporter-otlp-proto-http==1.39.0 +opentelemetry-instrumentation==0.60b0 +opentelemetry-instrumentation-httpx==0.60b0 +opentelemetry-proto==1.39.0 +opentelemetry-sdk==1.39.0 +opentelemetry-semantic-conventions==0.60b0 +opentelemetry-util-http==0.60b0 +opentracing==2.4.0 +packaging==25.0 +pathable==0.4.4 +pathvalidate==3.3.1 +platformdirs==4.5.1 +pluggy==1.6.0 +prompt-toolkit==3.0.52 +propcache==0.4.1 +protobuf==6.33.1 +py-key-value-aio[disk,memory]==0.3.0 +py-key-value-shared==0.3.0 +pyasn1==0.6.1 +pyasn1-modules==0.4.2 +pycparser==2.23 +pydantic[email]==2.12.0a1 +pydantic-ai==1.27.0 +pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,fastmcp,google,groq,huggingface,logfire,mcp,mistral,openai,retries,temporal,ui,vertexai]==1.27.0 +pydantic-core==2.37.2 +pydantic-evals==1.27.0 +pydantic-graph==1.27.0 +pydantic-settings==2.12.0 +pygments==2.19.2 +pyjwt[crypto]==2.10.1 +pyperclip==1.11.0 +pytest==9.0.1 +pytest-asyncio==1.3.0 +pytest-cov==7.0.0 +pytest-mock==3.15.1 +python-dateutil==2.9.0.post0 +python-dotenv==1.2.1 +python-multipart==0.0.20 +pyyaml==6.0.3 +referencing==0.36.2 +requests==2.32.5 +rich==14.2.0 +rich-rst==1.3.2 +rpds-py==0.30.0 +rsa==4.9.1 +s3transfer==0.16.0 +six==1.17.0 +sniffio==1.3.1 +sortedcontainers==2.4.0 +sse-starlette==3.0.3 +starlette==0.50.0 +temporalio==1.19.0 +tenacity==9.1.2 +tokenizers==0.22.1 +tqdm==4.67.1 +types-protobuf==6.32.1.20251105 +types-requests==2.32.4.20250913 +typing-extensions==4.15.0 +typing-inspection==0.4.2 +urllib3==2.6.0 +uvicorn==0.38.0 +vcrpy==7.0.0 +wcwidth==0.2.14 +websockets==15.0.1 +wrapt==1.17.3 +yarl==1.22.0 +zipp==3.23.0 diff --git a/.riot/requirements/14202a0.txt b/.riot/requirements/14202a0.txt index 368fd4f0613..984a360923a 100644 --- a/.riot/requirements/14202a0.txt +++ b/.riot/requirements/14202a0.txt @@ -2,57 +2,59 @@ # This file is autogenerated by pip-compile with Python 3.11 # by the following command: # -# pip-compile --allow-unsafe --no-annotate .riot/requirements/14202a0.in +# pip-compile --no-annotate .riot/requirements/14202a0.in # annotated-types==0.7.0 -anthropic==0.69.0 -anyio==4.11.0 -argcomplete==3.6.2 +anthropic==0.75.0 +anyio==4.12.0 +argcomplete==3.6.3 attrs==25.4.0 -boto3==1.40.48 -botocore==1.40.48 -cachetools==6.2.0 -certifi==2025.10.5 -charset-normalizer==3.4.3 -click==8.3.0 -cohere==5.18.0 +boto3==1.42.4 +botocore==1.42.4 +cachetools==6.2.2 +certifi==2025.11.12 +cffi==2.0.0 +charset-normalizer==3.4.4 +click==8.3.1 +cohere==5.20.0 colorama==0.4.6 -coverage[toml]==7.10.7 +coverage[toml]==7.12.0 +cryptography==46.0.3 distro==1.9.0 docstring-parser==0.17.0 -eval-type-backport==0.2.2 +eval-type-backport==0.3.1 fasta2a==0.3.0 -fastavro==1.12.0 +fastavro==1.12.1 filelock==3.20.0 -fsspec==2025.9.0 -google-auth==2.41.1 -google-genai==1.42.0 -griffe==1.14.0 -groq==0.32.0 +fsspec==2025.12.0 +google-auth[requests]==2.43.0 +google-genai==1.53.0 +griffe==1.15.0 +groq==0.37.1 h11==0.16.0 -hf-xet==1.1.10 +hf-xet==1.2.0 httpcore==1.0.9 httpx==0.28.1 httpx-sse==0.4.0 -huggingface-hub==0.35.3 +huggingface-hub==1.2.1 hypothesis==6.45.0 -idna==3.10 +idna==3.11 importlib-metadata==8.7.0 -iniconfig==2.1.0 -invoke==2.2.0 -jiter==0.11.0 +iniconfig==2.3.0 +invoke==2.2.1 +jiter==0.12.0 jmespath==1.0.1 jsonschema==4.25.1 jsonschema-specifications==2025.9.1 -logfire-api==4.12.0 +logfire-api==4.16.0 markdown-it-py==4.0.0 -mcp==1.16.0 +mcp==1.23.1 mdurl==0.1.2 mistralai==1.9.11 mock==5.2.0 multidict==6.7.0 -openai==2.2.0 -opentelemetry-api==1.37.0 +openai==2.9.0 +opentelemetry-api==1.39.0 opentracing==2.4.0 packaging==25.0 pluggy==1.6.0 @@ -60,44 +62,48 @@ prompt-toolkit==3.0.52 propcache==0.4.1 pyasn1==0.6.1 pyasn1-modules==0.4.2 +pycparser==2.23 pydantic==2.12.0a1 pydantic-ai==0.3.0 pydantic-ai-slim[a2a,anthropic,bedrock,cli,cohere,evals,google,groq,mcp,mistral,openai,vertexai]==0.3.0 pydantic-core==2.37.2 pydantic-evals==0.3.0 pydantic-graph==0.3.0 -pydantic-settings==2.11.0 +pydantic-settings==2.12.0 pygments==2.19.2 -pytest==8.4.2 -pytest-asyncio==1.2.0 +pyjwt[crypto]==2.10.1 +pytest==9.0.1 +pytest-asyncio==1.3.0 pytest-cov==7.0.0 pytest-mock==3.15.1 python-dateutil==2.9.0.post0 -python-dotenv==1.1.1 +python-dotenv==1.2.1 python-multipart==0.0.20 pyyaml==6.0.3 -referencing==0.36.2 +referencing==0.37.0 requests==2.32.5 rich==14.2.0 -rpds-py==0.27.1 +rpds-py==0.30.0 rsa==4.9.1 -s3transfer==0.14.0 +s3transfer==0.16.0 +shellingham==1.5.4 six==1.17.0 sniffio==1.3.1 sortedcontainers==2.4.0 -sse-starlette==3.0.2 -starlette==0.48.0 +sse-starlette==3.0.3 +starlette==0.50.0 tenacity==9.1.2 tokenizers==0.22.1 tqdm==4.67.1 +typer-slim==0.20.0 types-requests==2.32.4.20250913 typing-extensions==4.15.0 typing-inspection==0.4.2 -urllib3==2.5.0 -uvicorn==0.37.0 +urllib3==2.6.0 +uvicorn==0.38.0 vcrpy==7.0.0 wcwidth==0.2.14 websockets==15.0.1 -wrapt==1.17.3 +wrapt==2.0.1 yarl==1.22.0 zipp==3.23.0 diff --git a/.riot/requirements/14b1398.txt b/.riot/requirements/14b1398.txt index d72d73acb40..9bfc7b627e8 100644 --- a/.riot/requirements/14b1398.txt +++ b/.riot/requirements/14b1398.txt @@ -2,55 +2,56 @@ # This file is autogenerated by pip-compile with Python 3.9 # by the following command: # -# pip-compile --allow-unsafe --no-annotate .riot/requirements/14b1398.in +# pip-compile --no-annotate .riot/requirements/14b1398.in # annotated-types==0.7.0 -anthropic==0.69.0 -anyio==4.11.0 -argcomplete==3.6.2 +anthropic==0.75.0 +anyio==4.12.0 +argcomplete==3.6.3 attrs==25.4.0 backports-asyncio-runner==1.2.0 -boto3==1.40.48 -botocore==1.40.48 -cachetools==6.2.0 -certifi==2025.10.5 -charset-normalizer==3.4.3 -cohere==5.18.0 +boto3==1.42.4 +botocore==1.42.4 +cachetools==6.2.2 +certifi==2025.11.12 +charset-normalizer==3.4.4 +click==8.1.8 +cohere==5.20.0 colorama==0.4.6 coverage[toml]==7.10.7 distro==1.9.0 docstring-parser==0.17.0 -eval-type-backport==0.2.2 -exceptiongroup==1.3.0 +eval-type-backport==0.3.1 +exceptiongroup==1.3.1 fasta2a==0.3.0 -fastavro==1.12.0 +fastavro==1.12.1 filelock==3.19.1 -fsspec==2025.9.0 -google-auth==2.41.1 -google-genai==1.42.0 +fsspec==2025.10.0 +google-auth==2.43.0 +google-genai==1.47.0 griffe==1.14.0 -groq==0.32.0 +groq==0.37.1 h11==0.16.0 -hf-xet==1.1.10 +hf-xet==1.2.0 httpcore==1.0.9 httpx==0.28.1 httpx-sse==0.4.0 -huggingface-hub==0.35.3 +huggingface-hub==1.2.1 hypothesis==6.45.0 -idna==3.10 +idna==3.11 importlib-metadata==8.7.0 iniconfig==2.1.0 -invoke==2.2.0 -jiter==0.11.0 +invoke==2.2.1 +jiter==0.12.0 jmespath==1.0.1 -logfire-api==4.12.0 +logfire-api==4.16.0 markdown-it-py==3.0.0 mdurl==0.1.2 mistralai==1.9.11 mock==5.2.0 multidict==6.7.0 -openai==2.2.0 -opentelemetry-api==1.37.0 +openai==2.9.0 +opentelemetry-api==1.39.0 opentracing==2.4.0 packaging==25.0 pluggy==1.6.0 @@ -74,15 +75,17 @@ pyyaml==6.0.3 requests==2.32.5 rich==14.2.0 rsa==4.9.1 -s3transfer==0.14.0 +s3transfer==0.16.0 +shellingham==1.5.4 six==1.17.0 sniffio==1.3.1 sortedcontainers==2.4.0 -starlette==0.48.0 +starlette==0.49.3 tenacity==9.1.2 tokenizers==0.22.1 tomli==2.3.0 tqdm==4.67.1 +typer-slim==0.20.0 types-requests==2.31.0.6 types-urllib3==1.26.25.14 typing-extensions==4.15.0 @@ -91,6 +94,6 @@ urllib3==1.26.20 vcrpy==7.0.0 wcwidth==0.2.14 websockets==15.0.1 -wrapt==1.17.3 +wrapt==2.0.1 yarl==1.22.0 zipp==3.23.0 diff --git a/.riot/requirements/15511f1.txt b/.riot/requirements/15511f1.txt index d1f6ca9e1d8..ce48245fc0a 100644 --- a/.riot/requirements/15511f1.txt +++ b/.riot/requirements/15511f1.txt @@ -2,61 +2,59 @@ # This file is autogenerated by pip-compile with Python 3.12 # by the following command: # -# pip-compile --allow-unsafe --no-annotate .riot/requirements/15511f1.in +# pip-compile --no-annotate .riot/requirements/15511f1.in # -ag-ui-protocol==0.1.9 -aiohappyeyeballs==2.6.1 -aiohttp==3.13.0 -aiosignal==1.4.0 +ag-ui-protocol==0.1.10 annotated-types==0.7.0 -anthropic==0.69.0 -anyio==4.11.0 -argcomplete==3.6.2 +anthropic==0.75.0 +anyio==4.12.0 +argcomplete==3.6.3 attrs==25.4.0 -boto3==1.40.48 -botocore==1.40.48 -cachetools==6.2.0 -certifi==2025.10.5 -charset-normalizer==3.4.3 -click==8.3.0 -cohere==5.18.0 +boto3==1.42.4 +botocore==1.42.4 +cachetools==6.2.2 +certifi==2025.11.12 +cffi==2.0.0 +charset-normalizer==3.4.4 +click==8.3.1 +cohere==5.20.0 colorama==0.4.6 -coverage[toml]==7.10.7 +coverage[toml]==7.12.0 +cryptography==46.0.3 distro==1.9.0 docstring-parser==0.17.0 -eval-type-backport==0.2.2 -fastavro==1.12.0 +eval-type-backport==0.3.1 +fastavro==1.12.1 filelock==3.20.0 -frozenlist==1.8.0 -fsspec==2025.9.0 -google-auth==2.41.1 -google-genai==1.42.0 -griffe==1.14.0 -groq==0.32.0 +fsspec==2025.12.0 +google-auth[requests]==2.43.0 +google-genai==1.53.0 +griffe==1.15.0 +groq==0.37.1 h11==0.16.0 -hf-xet==1.1.10 +hf-xet==1.2.0 httpcore==1.0.9 httpx==0.28.1 httpx-sse==0.4.0 -huggingface-hub[inference]==0.35.3 +huggingface-hub[inference]==1.2.1 hypothesis==6.45.0 -idna==3.10 +idna==3.11 importlib-metadata==8.7.0 -iniconfig==2.1.0 -invoke==2.2.0 -jiter==0.11.0 +iniconfig==2.3.0 +invoke==2.2.1 +jiter==0.12.0 jmespath==1.0.1 jsonschema==4.25.1 jsonschema-specifications==2025.9.1 -logfire-api==4.12.0 +logfire-api==4.16.0 markdown-it-py==4.0.0 -mcp==1.16.0 +mcp==1.23.1 mdurl==0.1.2 mistralai==1.9.11 mock==5.2.0 multidict==6.7.0 -openai==2.2.0 -opentelemetry-api==1.37.0 +openai==2.9.0 +opentelemetry-api==1.39.0 opentracing==2.4.0 packaging==25.0 pluggy==1.6.0 @@ -64,44 +62,48 @@ prompt-toolkit==3.0.52 propcache==0.4.1 pyasn1==0.6.1 pyasn1-modules==0.4.2 +pycparser==2.23 pydantic==2.12.0a1 pydantic-ai==0.4.4 pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,mcp,mistral,openai,vertexai]==0.4.4 pydantic-core==2.37.2 pydantic-evals==0.4.4 pydantic-graph==0.4.4 -pydantic-settings==2.11.0 +pydantic-settings==2.12.0 pygments==2.19.2 -pytest==8.4.2 -pytest-asyncio==1.2.0 +pyjwt[crypto]==2.10.1 +pytest==9.0.1 +pytest-asyncio==1.3.0 pytest-cov==7.0.0 pytest-mock==3.15.1 python-dateutil==2.9.0.post0 -python-dotenv==1.1.1 +python-dotenv==1.2.1 python-multipart==0.0.20 pyyaml==6.0.3 -referencing==0.36.2 +referencing==0.37.0 requests==2.32.5 rich==14.2.0 -rpds-py==0.27.1 +rpds-py==0.30.0 rsa==4.9.1 -s3transfer==0.14.0 +s3transfer==0.16.0 +shellingham==1.5.4 six==1.17.0 sniffio==1.3.1 sortedcontainers==2.4.0 -sse-starlette==3.0.2 -starlette==0.48.0 +sse-starlette==3.0.3 +starlette==0.50.0 tenacity==9.1.2 tokenizers==0.22.1 tqdm==4.67.1 +typer-slim==0.20.0 types-requests==2.32.4.20250913 typing-extensions==4.15.0 typing-inspection==0.4.2 -urllib3==2.5.0 -uvicorn==0.37.0 +urllib3==2.6.0 +uvicorn==0.38.0 vcrpy==7.0.0 wcwidth==0.2.14 websockets==15.0.1 -wrapt==1.17.3 +wrapt==2.0.1 yarl==1.22.0 zipp==3.23.0 diff --git a/.riot/requirements/1565727.txt b/.riot/requirements/1565727.txt new file mode 100644 index 00000000000..db84c8cdbec --- /dev/null +++ b/.riot/requirements/1565727.txt @@ -0,0 +1,126 @@ +# +# This file is autogenerated by pip-compile with Python 3.11 +# by the following command: +# +# pip-compile --no-annotate .riot/requirements/1565727.in +# +ag-ui-protocol==0.1.10 +annotated-types==0.7.0 +anthropic==0.75.0 +anyio==4.12.0 +argcomplete==3.6.3 +attrs==25.4.0 +boto3==1.42.4 +botocore==1.42.4 +cachetools==6.2.2 +certifi==2025.11.12 +cffi==2.0.0 +charset-normalizer==3.4.4 +click==8.3.1 +cohere==5.20.0 +colorama==0.4.6 +coverage[toml]==7.12.0 +cryptography==46.0.3 +distro==1.9.0 +docstring-parser==0.17.0 +eval-type-backport==0.3.1 +executing==2.2.1 +fastavro==1.12.1 +filelock==3.20.0 +fsspec==2025.12.0 +genai-prices==0.0.47 +google-auth[requests]==2.43.0 +google-genai==1.53.0 +googleapis-common-protos==1.72.0 +griffe==1.15.0 +groq==0.37.1 +h11==0.16.0 +hf-xet==1.2.0 +httpcore==1.0.9 +httpx==0.28.1 +httpx-sse==0.4.0 +huggingface-hub[inference]==1.2.1 +hypothesis==6.45.0 +idna==3.11 +importlib-metadata==8.7.0 +iniconfig==2.3.0 +invoke==2.2.1 +jiter==0.12.0 +jmespath==1.0.1 +jsonschema==4.25.1 +jsonschema-specifications==2025.9.1 +logfire[httpx]==4.16.0 +logfire-api==4.16.0 +markdown-it-py==4.0.0 +mcp==1.23.1 +mdurl==0.1.2 +mistralai==1.9.11 +mock==5.2.0 +multidict==6.7.0 +nexus-rpc==1.1.0 +openai==2.9.0 +opentelemetry-api==1.39.0 +opentelemetry-exporter-otlp-proto-common==1.39.0 +opentelemetry-exporter-otlp-proto-http==1.39.0 +opentelemetry-instrumentation==0.60b0 +opentelemetry-instrumentation-httpx==0.60b0 +opentelemetry-proto==1.39.0 +opentelemetry-sdk==1.39.0 +opentelemetry-semantic-conventions==0.60b0 +opentelemetry-util-http==0.60b0 +opentracing==2.4.0 +packaging==25.0 +pluggy==1.6.0 +prompt-toolkit==3.0.52 +propcache==0.4.1 +protobuf==5.29.5 +pyasn1==0.6.1 +pyasn1-modules==0.4.2 +pycparser==2.23 +pydantic==2.12.0a1 +pydantic-ai==1.0.0 +pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,logfire,mcp,mistral,openai,retries,temporal,vertexai]==1.0.0 +pydantic-core==2.37.2 +pydantic-evals==1.0.0 +pydantic-graph==1.0.0 +pydantic-settings==2.12.0 +pygments==2.19.2 +pyjwt[crypto]==2.10.1 +pyperclip==1.11.0 +pytest==9.0.1 +pytest-asyncio==1.3.0 +pytest-cov==7.0.0 +pytest-mock==3.15.1 +python-dateutil==2.9.0.post0 +python-dotenv==1.2.1 +python-multipart==0.0.20 +pyyaml==6.0.3 +referencing==0.37.0 +requests==2.32.5 +rich==14.2.0 +rpds-py==0.30.0 +rsa==4.9.1 +s3transfer==0.16.0 +shellingham==1.5.4 +six==1.17.0 +sniffio==1.3.1 +sortedcontainers==2.4.0 +sse-starlette==3.0.3 +starlette==0.50.0 +temporalio==1.17.0 +tenacity==9.1.2 +tokenizers==0.22.1 +tqdm==4.67.1 +typer-slim==0.20.0 +types-protobuf==6.32.1.20251105 +types-requests==2.32.4.20250913 +typing-extensions==4.15.0 +typing-inspection==0.4.2 +urllib3==2.6.0 +uvicorn==0.38.0 +vcrpy==7.0.0 +wcwidth==0.2.14 +websockets==15.0.1 +wrapt==1.17.3 +yarl==1.22.0 +zipp==3.23.0 diff --git a/.riot/requirements/17c62a0.txt b/.riot/requirements/17c62a0.txt deleted file mode 100644 index a2661204792..00000000000 --- a/.riot/requirements/17c62a0.txt +++ /dev/null @@ -1,107 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.14 -# by the following command: -# -# pip-compile --allow-unsafe --no-annotate .riot/requirements/17c62a0.in -# -ag-ui-protocol==0.1.9 -aiohappyeyeballs==2.6.1 -aiohttp==3.13.0 -aiosignal==1.4.0 -annotated-types==0.7.0 -anthropic==0.69.0 -anyio==4.11.0 -argcomplete==3.6.2 -attrs==25.4.0 -boto3==1.40.48 -botocore==1.40.48 -cachetools==6.2.0 -certifi==2025.10.5 -charset-normalizer==3.4.3 -click==8.3.0 -cohere==5.18.0 -colorama==0.4.6 -coverage[toml]==7.10.7 -distro==1.9.0 -docstring-parser==0.17.0 -eval-type-backport==0.2.2 -fastavro==1.12.0 -filelock==3.20.0 -frozenlist==1.8.0 -fsspec==2025.9.0 -google-auth==2.41.1 -google-genai==1.42.0 -griffe==1.14.0 -groq==0.32.0 -h11==0.16.0 -hf-xet==1.1.10 -httpcore==1.0.9 -httpx==0.28.1 -httpx-sse==0.4.0 -huggingface-hub[inference]==0.35.3 -hypothesis==6.45.0 -idna==3.10 -importlib-metadata==8.7.0 -iniconfig==2.1.0 -invoke==2.2.0 -jiter==0.11.0 -jmespath==1.0.1 -jsonschema==4.25.1 -jsonschema-specifications==2025.9.1 -logfire-api==4.12.0 -markdown-it-py==4.0.0 -mcp==1.16.0 -mdurl==0.1.2 -mistralai==1.9.11 -mock==5.2.0 -multidict==6.7.0 -openai==2.2.0 -opentelemetry-api==1.37.0 -opentracing==2.4.0 -packaging==25.0 -pluggy==1.6.0 -prompt-toolkit==3.0.52 -propcache==0.4.1 -pyasn1==0.6.1 -pyasn1-modules==0.4.2 -pydantic==2.12.0a1 -pydantic-ai==0.4.4 -pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,mcp,mistral,openai,vertexai]==0.4.4 -pydantic-core==2.37.2 -pydantic-evals==0.4.4 -pydantic-graph==0.4.4 -pydantic-settings==2.11.0 -pygments==2.19.2 -pytest==8.4.2 -pytest-asyncio==1.2.0 -pytest-cov==7.0.0 -pytest-mock==3.15.1 -python-dateutil==2.9.0.post0 -python-dotenv==1.1.1 -python-multipart==0.0.20 -pyyaml==6.0.3 -referencing==0.36.2 -requests==2.32.5 -rich==14.2.0 -rpds-py==0.27.1 -rsa==4.9.1 -s3transfer==0.14.0 -six==1.17.0 -sniffio==1.3.1 -sortedcontainers==2.4.0 -sse-starlette==3.0.2 -starlette==0.48.0 -tenacity==9.1.2 -tokenizers==0.22.1 -tqdm==4.67.1 -types-requests==2.32.4.20250913 -typing-extensions==4.15.0 -typing-inspection==0.4.2 -urllib3==2.5.0 -uvicorn==0.37.0 -vcrpy==7.0.0 -wcwidth==0.2.14 -websockets==15.0.1 -wrapt==1.17.3 -yarl==1.22.0 -zipp==3.23.0 diff --git a/.riot/requirements/17d5494.txt b/.riot/requirements/17d5494.txt new file mode 100644 index 00000000000..81d4161a67c --- /dev/null +++ b/.riot/requirements/17d5494.txt @@ -0,0 +1,126 @@ +# +# This file is autogenerated by pip-compile with Python 3.12 +# by the following command: +# +# pip-compile --no-annotate .riot/requirements/17d5494.in +# +ag-ui-protocol==0.1.10 +annotated-types==0.7.0 +anthropic==0.75.0 +anyio==4.12.0 +argcomplete==3.6.3 +attrs==25.4.0 +boto3==1.42.4 +botocore==1.42.4 +cachetools==6.2.2 +certifi==2025.11.12 +cffi==2.0.0 +charset-normalizer==3.4.4 +click==8.3.1 +cohere==5.20.0 +colorama==0.4.6 +coverage[toml]==7.12.0 +cryptography==46.0.3 +distro==1.9.0 +docstring-parser==0.17.0 +eval-type-backport==0.3.1 +executing==2.2.1 +fastavro==1.12.1 +filelock==3.20.0 +fsspec==2025.12.0 +genai-prices==0.0.47 +google-auth[requests]==2.43.0 +google-genai==1.53.0 +googleapis-common-protos==1.72.0 +griffe==1.15.0 +groq==0.37.1 +h11==0.16.0 +hf-xet==1.2.0 +httpcore==1.0.9 +httpx==0.28.1 +httpx-sse==0.4.0 +huggingface-hub[inference]==1.2.1 +hypothesis==6.45.0 +idna==3.11 +importlib-metadata==8.7.0 +iniconfig==2.3.0 +invoke==2.2.1 +jiter==0.12.0 +jmespath==1.0.1 +jsonschema==4.25.1 +jsonschema-specifications==2025.9.1 +logfire[httpx]==4.16.0 +logfire-api==4.16.0 +markdown-it-py==4.0.0 +mcp==1.23.1 +mdurl==0.1.2 +mistralai==1.9.11 +mock==5.2.0 +multidict==6.7.0 +nexus-rpc==1.1.0 +openai==2.9.0 +opentelemetry-api==1.39.0 +opentelemetry-exporter-otlp-proto-common==1.39.0 +opentelemetry-exporter-otlp-proto-http==1.39.0 +opentelemetry-instrumentation==0.60b0 +opentelemetry-instrumentation-httpx==0.60b0 +opentelemetry-proto==1.39.0 +opentelemetry-sdk==1.39.0 +opentelemetry-semantic-conventions==0.60b0 +opentelemetry-util-http==0.60b0 +opentracing==2.4.0 +packaging==25.0 +pluggy==1.6.0 +prompt-toolkit==3.0.52 +propcache==0.4.1 +protobuf==5.29.5 +pyasn1==0.6.1 +pyasn1-modules==0.4.2 +pycparser==2.23 +pydantic==2.12.0a1 +pydantic-ai==1.0.0 +pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,logfire,mcp,mistral,openai,retries,temporal,vertexai]==1.0.0 +pydantic-core==2.37.2 +pydantic-evals==1.0.0 +pydantic-graph==1.0.0 +pydantic-settings==2.12.0 +pygments==2.19.2 +pyjwt[crypto]==2.10.1 +pyperclip==1.11.0 +pytest==9.0.1 +pytest-asyncio==1.3.0 +pytest-cov==7.0.0 +pytest-mock==3.15.1 +python-dateutil==2.9.0.post0 +python-dotenv==1.2.1 +python-multipart==0.0.20 +pyyaml==6.0.3 +referencing==0.37.0 +requests==2.32.5 +rich==14.2.0 +rpds-py==0.30.0 +rsa==4.9.1 +s3transfer==0.16.0 +shellingham==1.5.4 +six==1.17.0 +sniffio==1.3.1 +sortedcontainers==2.4.0 +sse-starlette==3.0.3 +starlette==0.50.0 +temporalio==1.17.0 +tenacity==9.1.2 +tokenizers==0.22.1 +tqdm==4.67.1 +typer-slim==0.20.0 +types-protobuf==6.32.1.20251105 +types-requests==2.32.4.20250913 +typing-extensions==4.15.0 +typing-inspection==0.4.2 +urllib3==2.6.0 +uvicorn==0.38.0 +vcrpy==7.0.0 +wcwidth==0.2.14 +websockets==15.0.1 +wrapt==1.17.3 +yarl==1.22.0 +zipp==3.23.0 diff --git a/.riot/requirements/1845af7.txt b/.riot/requirements/1845af7.txt new file mode 100644 index 00000000000..f523c84471b --- /dev/null +++ b/.riot/requirements/1845af7.txt @@ -0,0 +1,129 @@ +# +# This file is autogenerated by pip-compile with Python 3.10 +# by the following command: +# +# pip-compile --no-annotate .riot/requirements/1845af7.in +# +ag-ui-protocol==0.1.10 +annotated-types==0.7.0 +anthropic==0.75.0 +anyio==4.12.0 +argcomplete==3.6.3 +attrs==25.4.0 +backports-asyncio-runner==1.2.0 +boto3==1.42.4 +botocore==1.42.4 +cachetools==6.2.2 +certifi==2025.11.12 +cffi==2.0.0 +charset-normalizer==3.4.4 +click==8.3.1 +cohere==5.20.0 +colorama==0.4.6 +coverage[toml]==7.12.0 +cryptography==46.0.3 +distro==1.9.0 +docstring-parser==0.17.0 +eval-type-backport==0.3.1 +exceptiongroup==1.3.1 +executing==2.2.1 +fastavro==1.12.1 +filelock==3.20.0 +fsspec==2025.12.0 +genai-prices==0.0.47 +google-auth[requests]==2.43.0 +google-genai==1.53.0 +googleapis-common-protos==1.72.0 +griffe==1.15.0 +groq==0.37.1 +h11==0.16.0 +hf-xet==1.2.0 +httpcore==1.0.9 +httpx==0.28.1 +httpx-sse==0.4.0 +huggingface-hub[inference]==1.2.1 +hypothesis==6.45.0 +idna==3.11 +importlib-metadata==8.7.0 +iniconfig==2.3.0 +invoke==2.2.1 +jiter==0.12.0 +jmespath==1.0.1 +jsonschema==4.25.1 +jsonschema-specifications==2025.9.1 +logfire[httpx]==4.16.0 +logfire-api==4.16.0 +markdown-it-py==4.0.0 +mcp==1.23.1 +mdurl==0.1.2 +mistralai==1.9.11 +mock==5.2.0 +multidict==6.7.0 +nexus-rpc==1.1.0 +openai==2.9.0 +opentelemetry-api==1.39.0 +opentelemetry-exporter-otlp-proto-common==1.39.0 +opentelemetry-exporter-otlp-proto-http==1.39.0 +opentelemetry-instrumentation==0.60b0 +opentelemetry-instrumentation-httpx==0.60b0 +opentelemetry-proto==1.39.0 +opentelemetry-sdk==1.39.0 +opentelemetry-semantic-conventions==0.60b0 +opentelemetry-util-http==0.60b0 +opentracing==2.4.0 +packaging==25.0 +pluggy==1.6.0 +prompt-toolkit==3.0.52 +propcache==0.4.1 +protobuf==5.29.5 +pyasn1==0.6.1 +pyasn1-modules==0.4.2 +pycparser==2.23 +pydantic==2.12.0a1 +pydantic-ai==1.0.0 +pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,logfire,mcp,mistral,openai,retries,temporal,vertexai]==1.0.0 +pydantic-core==2.37.2 +pydantic-evals==1.0.0 +pydantic-graph==1.0.0 +pydantic-settings==2.12.0 +pygments==2.19.2 +pyjwt[crypto]==2.10.1 +pyperclip==1.11.0 +pytest==9.0.1 +pytest-asyncio==1.3.0 +pytest-cov==7.0.0 +pytest-mock==3.15.1 +python-dateutil==2.9.0.post0 +python-dotenv==1.2.1 +python-multipart==0.0.20 +pyyaml==6.0.3 +referencing==0.37.0 +requests==2.32.5 +rich==14.2.0 +rpds-py==0.30.0 +rsa==4.9.1 +s3transfer==0.16.0 +shellingham==1.5.4 +six==1.17.0 +sniffio==1.3.1 +sortedcontainers==2.4.0 +sse-starlette==3.0.3 +starlette==0.50.0 +temporalio==1.17.0 +tenacity==9.1.2 +tokenizers==0.22.1 +tomli==2.3.0 +tqdm==4.67.1 +typer-slim==0.20.0 +types-protobuf==6.32.1.20251105 +types-requests==2.32.4.20250913 +typing-extensions==4.15.0 +typing-inspection==0.4.2 +urllib3==2.6.0 +uvicorn==0.38.0 +vcrpy==7.0.0 +wcwidth==0.2.14 +websockets==15.0.1 +wrapt==1.17.3 +yarl==1.22.0 +zipp==3.23.0 diff --git a/.riot/requirements/1a74311.txt b/.riot/requirements/1a74311.txt index df2364128b3..b111b9ea323 100644 --- a/.riot/requirements/1a74311.txt +++ b/.riot/requirements/1a74311.txt @@ -2,57 +2,59 @@ # This file is autogenerated by pip-compile with Python 3.12 # by the following command: # -# pip-compile --allow-unsafe --no-annotate .riot/requirements/1a74311.in +# pip-compile --no-annotate .riot/requirements/1a74311.in # annotated-types==0.7.0 -anthropic==0.69.0 -anyio==4.11.0 -argcomplete==3.6.2 +anthropic==0.75.0 +anyio==4.12.0 +argcomplete==3.6.3 attrs==25.4.0 -boto3==1.40.48 -botocore==1.40.48 -cachetools==6.2.0 -certifi==2025.10.5 -charset-normalizer==3.4.3 -click==8.3.0 -cohere==5.18.0 +boto3==1.42.4 +botocore==1.42.4 +cachetools==6.2.2 +certifi==2025.11.12 +cffi==2.0.0 +charset-normalizer==3.4.4 +click==8.3.1 +cohere==5.20.0 colorama==0.4.6 -coverage[toml]==7.10.7 +coverage[toml]==7.12.0 +cryptography==46.0.3 distro==1.9.0 docstring-parser==0.17.0 -eval-type-backport==0.2.2 +eval-type-backport==0.3.1 fasta2a==0.3.0 -fastavro==1.12.0 +fastavro==1.12.1 filelock==3.20.0 -fsspec==2025.9.0 -google-auth==2.41.1 -google-genai==1.42.0 -griffe==1.14.0 -groq==0.32.0 +fsspec==2025.12.0 +google-auth[requests]==2.43.0 +google-genai==1.53.0 +griffe==1.15.0 +groq==0.37.1 h11==0.16.0 -hf-xet==1.1.10 +hf-xet==1.2.0 httpcore==1.0.9 httpx==0.28.1 httpx-sse==0.4.0 -huggingface-hub==0.35.3 +huggingface-hub==1.2.1 hypothesis==6.45.0 -idna==3.10 +idna==3.11 importlib-metadata==8.7.0 -iniconfig==2.1.0 -invoke==2.2.0 -jiter==0.11.0 +iniconfig==2.3.0 +invoke==2.2.1 +jiter==0.12.0 jmespath==1.0.1 jsonschema==4.25.1 jsonschema-specifications==2025.9.1 -logfire-api==4.12.0 +logfire-api==4.16.0 markdown-it-py==4.0.0 -mcp==1.16.0 +mcp==1.23.1 mdurl==0.1.2 mistralai==1.9.11 mock==5.2.0 multidict==6.7.0 -openai==2.2.0 -opentelemetry-api==1.37.0 +openai==2.9.0 +opentelemetry-api==1.39.0 opentracing==2.4.0 packaging==25.0 pluggy==1.6.0 @@ -60,44 +62,48 @@ prompt-toolkit==3.0.52 propcache==0.4.1 pyasn1==0.6.1 pyasn1-modules==0.4.2 +pycparser==2.23 pydantic==2.12.0a1 pydantic-ai==0.3.0 pydantic-ai-slim[a2a,anthropic,bedrock,cli,cohere,evals,google,groq,mcp,mistral,openai,vertexai]==0.3.0 pydantic-core==2.37.2 pydantic-evals==0.3.0 pydantic-graph==0.3.0 -pydantic-settings==2.11.0 +pydantic-settings==2.12.0 pygments==2.19.2 -pytest==8.4.2 -pytest-asyncio==1.2.0 +pyjwt[crypto]==2.10.1 +pytest==9.0.1 +pytest-asyncio==1.3.0 pytest-cov==7.0.0 pytest-mock==3.15.1 python-dateutil==2.9.0.post0 -python-dotenv==1.1.1 +python-dotenv==1.2.1 python-multipart==0.0.20 pyyaml==6.0.3 -referencing==0.36.2 +referencing==0.37.0 requests==2.32.5 rich==14.2.0 -rpds-py==0.27.1 +rpds-py==0.30.0 rsa==4.9.1 -s3transfer==0.14.0 +s3transfer==0.16.0 +shellingham==1.5.4 six==1.17.0 sniffio==1.3.1 sortedcontainers==2.4.0 -sse-starlette==3.0.2 -starlette==0.48.0 +sse-starlette==3.0.3 +starlette==0.50.0 tenacity==9.1.2 tokenizers==0.22.1 tqdm==4.67.1 +typer-slim==0.20.0 types-requests==2.32.4.20250913 typing-extensions==4.15.0 typing-inspection==0.4.2 -urllib3==2.5.0 -uvicorn==0.37.0 +urllib3==2.6.0 +uvicorn==0.38.0 vcrpy==7.0.0 wcwidth==0.2.14 websockets==15.0.1 -wrapt==1.17.3 +wrapt==2.0.1 yarl==1.22.0 zipp==3.23.0 diff --git a/.riot/requirements/1dc9ee8.txt b/.riot/requirements/1dc9ee8.txt new file mode 100644 index 00000000000..30f5412adce --- /dev/null +++ b/.riot/requirements/1dc9ee8.txt @@ -0,0 +1,148 @@ +# +# This file is autogenerated by pip-compile with Python 3.10 +# by the following command: +# +# pip-compile --no-annotate .riot/requirements/1dc9ee8.in +# +ag-ui-protocol==0.1.10 +aiohappyeyeballs==2.6.1 +aiohttp==3.13.2 +aiosignal==1.4.0 +annotated-types==0.7.0 +anthropic==0.75.0 +anyio==4.12.0 +argcomplete==3.6.3 +async-timeout==5.0.1 +attrs==25.4.0 +authlib==1.6.5 +backports-asyncio-runner==1.2.0 +beartype==0.22.8 +boto3==1.42.4 +botocore==1.42.4 +cachetools==6.2.2 +certifi==2025.11.12 +cffi==2.0.0 +charset-normalizer==3.4.4 +click==8.3.1 +cohere==5.20.0 +colorama==0.4.6 +coverage[toml]==7.12.0 +cryptography==46.0.3 +cyclopts==4.3.0 +diskcache==5.6.3 +distro==1.9.0 +dnspython==2.8.0 +docstring-parser==0.17.0 +docutils==0.22.3 +email-validator==2.3.0 +eval-type-backport==0.3.1 +exceptiongroup==1.3.1 +executing==2.2.1 +fastavro==1.12.1 +fastmcp==2.13.3 +filelock==3.20.0 +frozenlist==1.8.0 +fsspec==2025.12.0 +genai-prices==0.0.47 +google-auth[requests]==2.43.0 +google-genai==1.53.0 +googleapis-common-protos==1.72.0 +griffe==1.15.0 +groq==0.37.1 +h11==0.16.0 +hf-xet==1.2.0 +httpcore==1.0.9 +httpx==0.28.1 +httpx-sse==0.4.0 +huggingface-hub[inference]==0.36.0 +hypothesis==6.45.0 +idna==3.11 +importlib-metadata==8.7.0 +iniconfig==2.3.0 +invoke==2.2.1 +jiter==0.12.0 +jmespath==1.0.1 +jsonschema==4.25.1 +jsonschema-path==0.3.4 +jsonschema-specifications==2025.9.1 +logfire[httpx]==4.16.0 +logfire-api==4.16.0 +markdown-it-py==4.0.0 +mcp==1.22.0 +mdurl==0.1.2 +mistralai==1.9.11 +mock==5.2.0 +multidict==6.7.0 +nexus-rpc==1.1.0 +openai==2.9.0 +openapi-pydantic==0.5.1 +opentelemetry-api==1.39.0 +opentelemetry-exporter-otlp-proto-common==1.39.0 +opentelemetry-exporter-otlp-proto-http==1.39.0 +opentelemetry-instrumentation==0.60b0 +opentelemetry-instrumentation-httpx==0.60b0 +opentelemetry-proto==1.39.0 +opentelemetry-sdk==1.39.0 +opentelemetry-semantic-conventions==0.60b0 +opentelemetry-util-http==0.60b0 +opentracing==2.4.0 +packaging==25.0 +pathable==0.4.4 +pathvalidate==3.3.1 +platformdirs==4.5.1 +pluggy==1.6.0 +prompt-toolkit==3.0.52 +propcache==0.4.1 +protobuf==6.33.1 +py-key-value-aio[disk,memory]==0.3.0 +py-key-value-shared==0.3.0 +pyasn1==0.6.1 +pyasn1-modules==0.4.2 +pycparser==2.23 +pydantic[email]==2.12.0a1 +pydantic-ai==1.27.0 +pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,fastmcp,google,groq,huggingface,logfire,mcp,mistral,openai,retries,temporal,ui,vertexai]==1.27.0 +pydantic-core==2.37.2 +pydantic-evals==1.27.0 +pydantic-graph==1.27.0 +pydantic-settings==2.12.0 +pygments==2.19.2 +pyjwt[crypto]==2.10.1 +pyperclip==1.11.0 +pytest==9.0.1 +pytest-asyncio==1.3.0 +pytest-cov==7.0.0 +pytest-mock==3.15.1 +python-dateutil==2.9.0.post0 +python-dotenv==1.2.1 +python-multipart==0.0.20 +pyyaml==6.0.3 +referencing==0.36.2 +requests==2.32.5 +rich==14.2.0 +rich-rst==1.3.2 +rpds-py==0.30.0 +rsa==4.9.1 +s3transfer==0.16.0 +six==1.17.0 +sniffio==1.3.1 +sortedcontainers==2.4.0 +sse-starlette==3.0.3 +starlette==0.50.0 +temporalio==1.19.0 +tenacity==9.1.2 +tokenizers==0.22.1 +tomli==2.3.0 +tqdm==4.67.1 +types-protobuf==6.32.1.20251105 +types-requests==2.32.4.20250913 +typing-extensions==4.15.0 +typing-inspection==0.4.2 +urllib3==2.6.0 +uvicorn==0.38.0 +vcrpy==7.0.0 +wcwidth==0.2.14 +websockets==15.0.1 +wrapt==1.17.3 +yarl==1.22.0 +zipp==3.23.0 diff --git a/.riot/requirements/3aa62d6.txt b/.riot/requirements/3aa62d6.txt new file mode 100644 index 00000000000..42c4da59cb2 --- /dev/null +++ b/.riot/requirements/3aa62d6.txt @@ -0,0 +1,145 @@ +# +# This file is autogenerated by pip-compile with Python 3.11 +# by the following command: +# +# pip-compile --no-annotate .riot/requirements/3aa62d6.in +# +ag-ui-protocol==0.1.10 +aiohappyeyeballs==2.6.1 +aiohttp==3.13.2 +aiosignal==1.4.0 +annotated-types==0.7.0 +anthropic==0.75.0 +anyio==4.12.0 +argcomplete==3.6.3 +attrs==25.4.0 +authlib==1.6.5 +beartype==0.22.8 +boto3==1.42.4 +botocore==1.42.4 +cachetools==6.2.2 +certifi==2025.11.12 +cffi==2.0.0 +charset-normalizer==3.4.4 +click==8.3.1 +cohere==5.20.0 +colorama==0.4.6 +coverage[toml]==7.12.0 +cryptography==46.0.3 +cyclopts==4.3.0 +diskcache==5.6.3 +distro==1.9.0 +dnspython==2.8.0 +docstring-parser==0.17.0 +docutils==0.22.3 +email-validator==2.3.0 +eval-type-backport==0.3.1 +exceptiongroup==1.3.1 +executing==2.2.1 +fastavro==1.12.1 +fastmcp==2.13.3 +filelock==3.20.0 +frozenlist==1.8.0 +fsspec==2025.12.0 +genai-prices==0.0.47 +google-auth[requests]==2.43.0 +google-genai==1.53.0 +googleapis-common-protos==1.72.0 +griffe==1.15.0 +groq==0.37.1 +h11==0.16.0 +hf-xet==1.2.0 +httpcore==1.0.9 +httpx==0.28.1 +httpx-sse==0.4.0 +huggingface-hub[inference]==0.36.0 +hypothesis==6.45.0 +idna==3.11 +importlib-metadata==8.7.0 +iniconfig==2.3.0 +invoke==2.2.1 +jiter==0.12.0 +jmespath==1.0.1 +jsonschema==4.25.1 +jsonschema-path==0.3.4 +jsonschema-specifications==2025.9.1 +logfire[httpx]==4.16.0 +logfire-api==4.16.0 +markdown-it-py==4.0.0 +mcp==1.22.0 +mdurl==0.1.2 +mistralai==1.9.11 +mock==5.2.0 +multidict==6.7.0 +nexus-rpc==1.1.0 +openai==2.9.0 +openapi-pydantic==0.5.1 +opentelemetry-api==1.39.0 +opentelemetry-exporter-otlp-proto-common==1.39.0 +opentelemetry-exporter-otlp-proto-http==1.39.0 +opentelemetry-instrumentation==0.60b0 +opentelemetry-instrumentation-httpx==0.60b0 +opentelemetry-proto==1.39.0 +opentelemetry-sdk==1.39.0 +opentelemetry-semantic-conventions==0.60b0 +opentelemetry-util-http==0.60b0 +opentracing==2.4.0 +packaging==25.0 +pathable==0.4.4 +pathvalidate==3.3.1 +platformdirs==4.5.1 +pluggy==1.6.0 +prompt-toolkit==3.0.52 +propcache==0.4.1 +protobuf==6.33.1 +py-key-value-aio[disk,memory]==0.3.0 +py-key-value-shared==0.3.0 +pyasn1==0.6.1 +pyasn1-modules==0.4.2 +pycparser==2.23 +pydantic[email]==2.12.0a1 +pydantic-ai==1.27.0 +pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,fastmcp,google,groq,huggingface,logfire,mcp,mistral,openai,retries,temporal,ui,vertexai]==1.27.0 +pydantic-core==2.37.2 +pydantic-evals==1.27.0 +pydantic-graph==1.27.0 +pydantic-settings==2.12.0 +pygments==2.19.2 +pyjwt[crypto]==2.10.1 +pyperclip==1.11.0 +pytest==9.0.1 +pytest-asyncio==1.3.0 +pytest-cov==7.0.0 +pytest-mock==3.15.1 +python-dateutil==2.9.0.post0 +python-dotenv==1.2.1 +python-multipart==0.0.20 +pyyaml==6.0.3 +referencing==0.36.2 +requests==2.32.5 +rich==14.2.0 +rich-rst==1.3.2 +rpds-py==0.30.0 +rsa==4.9.1 +s3transfer==0.16.0 +six==1.17.0 +sniffio==1.3.1 +sortedcontainers==2.4.0 +sse-starlette==3.0.3 +starlette==0.50.0 +temporalio==1.19.0 +tenacity==9.1.2 +tokenizers==0.22.1 +tqdm==4.67.1 +types-protobuf==6.32.1.20251105 +types-requests==2.32.4.20250913 +typing-extensions==4.15.0 +typing-inspection==0.4.2 +urllib3==2.6.0 +uvicorn==0.38.0 +vcrpy==7.0.0 +wcwidth==0.2.14 +websockets==15.0.1 +wrapt==1.17.3 +yarl==1.22.0 +zipp==3.23.0 diff --git a/.riot/requirements/3e17f97.txt b/.riot/requirements/3e17f97.txt index 3faea845208..dd39b956c35 100644 --- a/.riot/requirements/3e17f97.txt +++ b/.riot/requirements/3e17f97.txt @@ -2,57 +2,59 @@ # This file is autogenerated by pip-compile with Python 3.13 # by the following command: # -# pip-compile --allow-unsafe --no-annotate .riot/requirements/3e17f97.in +# pip-compile --no-annotate .riot/requirements/3e17f97.in # annotated-types==0.7.0 -anthropic==0.69.0 -anyio==4.11.0 -argcomplete==3.6.2 +anthropic==0.75.0 +anyio==4.12.0 +argcomplete==3.6.3 attrs==25.4.0 -boto3==1.40.48 -botocore==1.40.48 -cachetools==6.2.0 -certifi==2025.10.5 -charset-normalizer==3.4.3 -click==8.3.0 -cohere==5.18.0 +boto3==1.42.4 +botocore==1.42.4 +cachetools==6.2.2 +certifi==2025.11.12 +cffi==2.0.0 +charset-normalizer==3.4.4 +click==8.3.1 +cohere==5.20.0 colorama==0.4.6 -coverage[toml]==7.10.7 +coverage[toml]==7.12.0 +cryptography==46.0.3 distro==1.9.0 docstring-parser==0.17.0 -eval-type-backport==0.2.2 +eval-type-backport==0.3.1 fasta2a==0.3.0 -fastavro==1.12.0 +fastavro==1.12.1 filelock==3.20.0 -fsspec==2025.9.0 -google-auth==2.41.1 -google-genai==1.42.0 -griffe==1.14.0 -groq==0.32.0 +fsspec==2025.12.0 +google-auth[requests]==2.43.0 +google-genai==1.53.0 +griffe==1.15.0 +groq==0.37.1 h11==0.16.0 -hf-xet==1.1.10 +hf-xet==1.2.0 httpcore==1.0.9 httpx==0.28.1 httpx-sse==0.4.0 -huggingface-hub==0.35.3 +huggingface-hub==1.2.1 hypothesis==6.45.0 -idna==3.10 +idna==3.11 importlib-metadata==8.7.0 -iniconfig==2.1.0 -invoke==2.2.0 -jiter==0.11.0 +iniconfig==2.3.0 +invoke==2.2.1 +jiter==0.12.0 jmespath==1.0.1 jsonschema==4.25.1 jsonschema-specifications==2025.9.1 -logfire-api==4.12.0 +logfire-api==4.16.0 markdown-it-py==4.0.0 -mcp==1.16.0 +mcp==1.23.1 mdurl==0.1.2 mistralai==1.9.11 mock==5.2.0 multidict==6.7.0 -openai==2.2.0 -opentelemetry-api==1.37.0 +openai==2.9.0 +opentelemetry-api==1.39.0 opentracing==2.4.0 packaging==25.0 pluggy==1.6.0 @@ -60,44 +62,48 @@ prompt-toolkit==3.0.52 propcache==0.4.1 pyasn1==0.6.1 pyasn1-modules==0.4.2 +pycparser==2.23 pydantic==2.12.0a1 pydantic-ai==0.3.0 pydantic-ai-slim[a2a,anthropic,bedrock,cli,cohere,evals,google,groq,mcp,mistral,openai,vertexai]==0.3.0 pydantic-core==2.37.2 pydantic-evals==0.3.0 pydantic-graph==0.3.0 -pydantic-settings==2.11.0 +pydantic-settings==2.12.0 pygments==2.19.2 -pytest==8.4.2 -pytest-asyncio==1.2.0 +pyjwt[crypto]==2.10.1 +pytest==9.0.1 +pytest-asyncio==1.3.0 pytest-cov==7.0.0 pytest-mock==3.15.1 python-dateutil==2.9.0.post0 -python-dotenv==1.1.1 +python-dotenv==1.2.1 python-multipart==0.0.20 pyyaml==6.0.3 -referencing==0.36.2 +referencing==0.37.0 requests==2.32.5 rich==14.2.0 -rpds-py==0.27.1 +rpds-py==0.30.0 rsa==4.9.1 -s3transfer==0.14.0 +s3transfer==0.16.0 +shellingham==1.5.4 six==1.17.0 sniffio==1.3.1 sortedcontainers==2.4.0 -sse-starlette==3.0.2 -starlette==0.48.0 +sse-starlette==3.0.3 +starlette==0.50.0 tenacity==9.1.2 tokenizers==0.22.1 tqdm==4.67.1 +typer-slim==0.20.0 types-requests==2.32.4.20250913 typing-extensions==4.15.0 typing-inspection==0.4.2 -urllib3==2.5.0 -uvicorn==0.37.0 +urllib3==2.6.0 +uvicorn==0.38.0 vcrpy==7.0.0 wcwidth==0.2.14 websockets==15.0.1 -wrapt==1.17.3 +wrapt==2.0.1 yarl==1.22.0 zipp==3.23.0 diff --git a/.riot/requirements/4156286.txt b/.riot/requirements/4156286.txt index 9cf730d7061..5eec2593fa4 100644 --- a/.riot/requirements/4156286.txt +++ b/.riot/requirements/4156286.txt @@ -2,64 +2,61 @@ # This file is autogenerated by pip-compile with Python 3.10 # by the following command: # -# pip-compile --allow-unsafe --no-annotate .riot/requirements/4156286.in +# pip-compile --no-annotate .riot/requirements/4156286.in # -ag-ui-protocol==0.1.9 -aiohappyeyeballs==2.6.1 -aiohttp==3.13.0 -aiosignal==1.4.0 +ag-ui-protocol==0.1.10 annotated-types==0.7.0 -anthropic==0.69.0 -anyio==4.11.0 -argcomplete==3.6.2 -async-timeout==5.0.1 +anthropic==0.75.0 +anyio==4.12.0 +argcomplete==3.6.3 attrs==25.4.0 backports-asyncio-runner==1.2.0 -boto3==1.40.48 -botocore==1.40.48 -cachetools==6.2.0 -certifi==2025.10.5 -charset-normalizer==3.4.3 -click==8.3.0 -cohere==5.18.0 +boto3==1.42.4 +botocore==1.42.4 +cachetools==6.2.2 +certifi==2025.11.12 +cffi==2.0.0 +charset-normalizer==3.4.4 +click==8.3.1 +cohere==5.20.0 colorama==0.4.6 -coverage[toml]==7.10.7 +coverage[toml]==7.12.0 +cryptography==46.0.3 distro==1.9.0 docstring-parser==0.17.0 -eval-type-backport==0.2.2 -exceptiongroup==1.3.0 -fastavro==1.12.0 +eval-type-backport==0.3.1 +exceptiongroup==1.3.1 +fastavro==1.12.1 filelock==3.20.0 -frozenlist==1.8.0 -fsspec==2025.9.0 -google-auth==2.41.1 -google-genai==1.42.0 -griffe==1.14.0 -groq==0.32.0 +fsspec==2025.12.0 +google-auth[requests]==2.43.0 +google-genai==1.53.0 +griffe==1.15.0 +groq==0.37.1 h11==0.16.0 -hf-xet==1.1.10 +hf-xet==1.2.0 httpcore==1.0.9 httpx==0.28.1 httpx-sse==0.4.0 -huggingface-hub[inference]==0.35.3 +huggingface-hub[inference]==1.2.1 hypothesis==6.45.0 -idna==3.10 +idna==3.11 importlib-metadata==8.7.0 -iniconfig==2.1.0 -invoke==2.2.0 -jiter==0.11.0 +iniconfig==2.3.0 +invoke==2.2.1 +jiter==0.12.0 jmespath==1.0.1 jsonschema==4.25.1 jsonschema-specifications==2025.9.1 -logfire-api==4.12.0 +logfire-api==4.16.0 markdown-it-py==4.0.0 -mcp==1.16.0 +mcp==1.23.1 mdurl==0.1.2 mistralai==1.9.11 mock==5.2.0 multidict==6.7.0 -openai==2.2.0 -opentelemetry-api==1.37.0 +openai==2.9.0 +opentelemetry-api==1.39.0 opentracing==2.4.0 packaging==25.0 pluggy==1.6.0 @@ -67,45 +64,49 @@ prompt-toolkit==3.0.52 propcache==0.4.1 pyasn1==0.6.1 pyasn1-modules==0.4.2 +pycparser==2.23 pydantic==2.12.0a1 pydantic-ai==0.4.4 pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,mcp,mistral,openai,vertexai]==0.4.4 pydantic-core==2.37.2 pydantic-evals==0.4.4 pydantic-graph==0.4.4 -pydantic-settings==2.11.0 +pydantic-settings==2.12.0 pygments==2.19.2 -pytest==8.4.2 -pytest-asyncio==1.2.0 +pyjwt[crypto]==2.10.1 +pytest==9.0.1 +pytest-asyncio==1.3.0 pytest-cov==7.0.0 pytest-mock==3.15.1 python-dateutil==2.9.0.post0 -python-dotenv==1.1.1 +python-dotenv==1.2.1 python-multipart==0.0.20 pyyaml==6.0.3 -referencing==0.36.2 +referencing==0.37.0 requests==2.32.5 rich==14.2.0 -rpds-py==0.27.1 +rpds-py==0.30.0 rsa==4.9.1 -s3transfer==0.14.0 +s3transfer==0.16.0 +shellingham==1.5.4 six==1.17.0 sniffio==1.3.1 sortedcontainers==2.4.0 -sse-starlette==3.0.2 -starlette==0.48.0 +sse-starlette==3.0.3 +starlette==0.50.0 tenacity==9.1.2 tokenizers==0.22.1 tomli==2.3.0 tqdm==4.67.1 +typer-slim==0.20.0 types-requests==2.32.4.20250913 typing-extensions==4.15.0 typing-inspection==0.4.2 -urllib3==2.5.0 -uvicorn==0.37.0 +urllib3==2.6.0 +uvicorn==0.38.0 vcrpy==7.0.0 wcwidth==0.2.14 websockets==15.0.1 -wrapt==1.17.3 +wrapt==2.0.1 yarl==1.22.0 zipp==3.23.0 diff --git a/.riot/requirements/4c0cb2f.txt b/.riot/requirements/4c0cb2f.txt index cd2d867d4a1..3cd9558a883 100644 --- a/.riot/requirements/4c0cb2f.txt +++ b/.riot/requirements/4c0cb2f.txt @@ -2,59 +2,61 @@ # This file is autogenerated by pip-compile with Python 3.10 # by the following command: # -# pip-compile --allow-unsafe --no-annotate .riot/requirements/4c0cb2f.in +# pip-compile --no-annotate .riot/requirements/4c0cb2f.in # annotated-types==0.7.0 -anthropic==0.69.0 -anyio==4.11.0 -argcomplete==3.6.2 +anthropic==0.75.0 +anyio==4.12.0 +argcomplete==3.6.3 attrs==25.4.0 backports-asyncio-runner==1.2.0 -boto3==1.40.48 -botocore==1.40.48 -cachetools==6.2.0 -certifi==2025.10.5 -charset-normalizer==3.4.3 -click==8.3.0 -cohere==5.18.0 +boto3==1.42.4 +botocore==1.42.4 +cachetools==6.2.2 +certifi==2025.11.12 +cffi==2.0.0 +charset-normalizer==3.4.4 +click==8.3.1 +cohere==5.20.0 colorama==0.4.6 -coverage[toml]==7.10.7 +coverage[toml]==7.12.0 +cryptography==46.0.3 distro==1.9.0 docstring-parser==0.17.0 -eval-type-backport==0.2.2 -exceptiongroup==1.3.0 +eval-type-backport==0.3.1 +exceptiongroup==1.3.1 fasta2a==0.3.0 -fastavro==1.12.0 +fastavro==1.12.1 filelock==3.20.0 -fsspec==2025.9.0 -google-auth==2.41.1 -google-genai==1.42.0 -griffe==1.14.0 -groq==0.32.0 +fsspec==2025.12.0 +google-auth[requests]==2.43.0 +google-genai==1.53.0 +griffe==1.15.0 +groq==0.37.1 h11==0.16.0 -hf-xet==1.1.10 +hf-xet==1.2.0 httpcore==1.0.9 httpx==0.28.1 httpx-sse==0.4.0 -huggingface-hub==0.35.3 +huggingface-hub==1.2.1 hypothesis==6.45.0 -idna==3.10 +idna==3.11 importlib-metadata==8.7.0 -iniconfig==2.1.0 -invoke==2.2.0 -jiter==0.11.0 +iniconfig==2.3.0 +invoke==2.2.1 +jiter==0.12.0 jmespath==1.0.1 jsonschema==4.25.1 jsonschema-specifications==2025.9.1 -logfire-api==4.12.0 +logfire-api==4.16.0 markdown-it-py==4.0.0 -mcp==1.16.0 +mcp==1.23.1 mdurl==0.1.2 mistralai==1.9.11 mock==5.2.0 multidict==6.7.0 -openai==2.2.0 -opentelemetry-api==1.37.0 +openai==2.9.0 +opentelemetry-api==1.39.0 opentracing==2.4.0 packaging==25.0 pluggy==1.6.0 @@ -62,45 +64,49 @@ prompt-toolkit==3.0.52 propcache==0.4.1 pyasn1==0.6.1 pyasn1-modules==0.4.2 +pycparser==2.23 pydantic==2.12.0a1 pydantic-ai==0.3.0 pydantic-ai-slim[a2a,anthropic,bedrock,cli,cohere,evals,google,groq,mcp,mistral,openai,vertexai]==0.3.0 pydantic-core==2.37.2 pydantic-evals==0.3.0 pydantic-graph==0.3.0 -pydantic-settings==2.11.0 +pydantic-settings==2.12.0 pygments==2.19.2 -pytest==8.4.2 -pytest-asyncio==1.2.0 +pyjwt[crypto]==2.10.1 +pytest==9.0.1 +pytest-asyncio==1.3.0 pytest-cov==7.0.0 pytest-mock==3.15.1 python-dateutil==2.9.0.post0 -python-dotenv==1.1.1 +python-dotenv==1.2.1 python-multipart==0.0.20 pyyaml==6.0.3 -referencing==0.36.2 +referencing==0.37.0 requests==2.32.5 rich==14.2.0 -rpds-py==0.27.1 +rpds-py==0.30.0 rsa==4.9.1 -s3transfer==0.14.0 +s3transfer==0.16.0 +shellingham==1.5.4 six==1.17.0 sniffio==1.3.1 sortedcontainers==2.4.0 -sse-starlette==3.0.2 -starlette==0.48.0 +sse-starlette==3.0.3 +starlette==0.50.0 tenacity==9.1.2 tokenizers==0.22.1 tomli==2.3.0 tqdm==4.67.1 +typer-slim==0.20.0 types-requests==2.32.4.20250913 typing-extensions==4.15.0 typing-inspection==0.4.2 -urllib3==2.5.0 -uvicorn==0.37.0 +urllib3==2.6.0 +uvicorn==0.38.0 vcrpy==7.0.0 wcwidth==0.2.14 websockets==15.0.1 -wrapt==1.17.3 +wrapt==2.0.1 yarl==1.22.0 zipp==3.23.0 diff --git a/.riot/requirements/adebd36.txt b/.riot/requirements/adebd36.txt index 7482312ba6f..e5c783f26be 100644 --- a/.riot/requirements/adebd36.txt +++ b/.riot/requirements/adebd36.txt @@ -2,61 +2,59 @@ # This file is autogenerated by pip-compile with Python 3.13 # by the following command: # -# pip-compile --allow-unsafe --no-annotate .riot/requirements/adebd36.in +# pip-compile --no-annotate .riot/requirements/adebd36.in # -ag-ui-protocol==0.1.9 -aiohappyeyeballs==2.6.1 -aiohttp==3.13.0 -aiosignal==1.4.0 +ag-ui-protocol==0.1.10 annotated-types==0.7.0 -anthropic==0.69.0 -anyio==4.11.0 -argcomplete==3.6.2 +anthropic==0.75.0 +anyio==4.12.0 +argcomplete==3.6.3 attrs==25.4.0 -boto3==1.40.48 -botocore==1.40.48 -cachetools==6.2.0 -certifi==2025.10.5 -charset-normalizer==3.4.3 -click==8.3.0 -cohere==5.18.0 +boto3==1.42.4 +botocore==1.42.4 +cachetools==6.2.2 +certifi==2025.11.12 +cffi==2.0.0 +charset-normalizer==3.4.4 +click==8.3.1 +cohere==5.20.0 colorama==0.4.6 -coverage[toml]==7.10.7 +coverage[toml]==7.12.0 +cryptography==46.0.3 distro==1.9.0 docstring-parser==0.17.0 -eval-type-backport==0.2.2 -fastavro==1.12.0 +eval-type-backport==0.3.1 +fastavro==1.12.1 filelock==3.20.0 -frozenlist==1.8.0 -fsspec==2025.9.0 -google-auth==2.41.1 -google-genai==1.42.0 -griffe==1.14.0 -groq==0.32.0 +fsspec==2025.12.0 +google-auth[requests]==2.43.0 +google-genai==1.53.0 +griffe==1.15.0 +groq==0.37.1 h11==0.16.0 -hf-xet==1.1.10 +hf-xet==1.2.0 httpcore==1.0.9 httpx==0.28.1 httpx-sse==0.4.0 -huggingface-hub[inference]==0.35.3 +huggingface-hub[inference]==1.2.1 hypothesis==6.45.0 -idna==3.10 +idna==3.11 importlib-metadata==8.7.0 -iniconfig==2.1.0 -invoke==2.2.0 -jiter==0.11.0 +iniconfig==2.3.0 +invoke==2.2.1 +jiter==0.12.0 jmespath==1.0.1 jsonschema==4.25.1 jsonschema-specifications==2025.9.1 -logfire-api==4.12.0 +logfire-api==4.16.0 markdown-it-py==4.0.0 -mcp==1.16.0 +mcp==1.23.1 mdurl==0.1.2 mistralai==1.9.11 mock==5.2.0 multidict==6.7.0 -openai==2.2.0 -opentelemetry-api==1.37.0 +openai==2.9.0 +opentelemetry-api==1.39.0 opentracing==2.4.0 packaging==25.0 pluggy==1.6.0 @@ -64,44 +62,48 @@ prompt-toolkit==3.0.52 propcache==0.4.1 pyasn1==0.6.1 pyasn1-modules==0.4.2 +pycparser==2.23 pydantic==2.12.0a1 pydantic-ai==0.4.4 pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,mcp,mistral,openai,vertexai]==0.4.4 pydantic-core==2.37.2 pydantic-evals==0.4.4 pydantic-graph==0.4.4 -pydantic-settings==2.11.0 +pydantic-settings==2.12.0 pygments==2.19.2 -pytest==8.4.2 -pytest-asyncio==1.2.0 +pyjwt[crypto]==2.10.1 +pytest==9.0.1 +pytest-asyncio==1.3.0 pytest-cov==7.0.0 pytest-mock==3.15.1 python-dateutil==2.9.0.post0 -python-dotenv==1.1.1 +python-dotenv==1.2.1 python-multipart==0.0.20 pyyaml==6.0.3 -referencing==0.36.2 +referencing==0.37.0 requests==2.32.5 rich==14.2.0 -rpds-py==0.27.1 +rpds-py==0.30.0 rsa==4.9.1 -s3transfer==0.14.0 +s3transfer==0.16.0 +shellingham==1.5.4 six==1.17.0 sniffio==1.3.1 sortedcontainers==2.4.0 -sse-starlette==3.0.2 -starlette==0.48.0 +sse-starlette==3.0.3 +starlette==0.50.0 tenacity==9.1.2 tokenizers==0.22.1 tqdm==4.67.1 +typer-slim==0.20.0 types-requests==2.32.4.20250913 typing-extensions==4.15.0 typing-inspection==0.4.2 -urllib3==2.5.0 -uvicorn==0.37.0 +urllib3==2.6.0 +uvicorn==0.38.0 vcrpy==7.0.0 wcwidth==0.2.14 websockets==15.0.1 -wrapt==1.17.3 +wrapt==2.0.1 yarl==1.22.0 zipp==3.23.0 diff --git a/.riot/requirements/c9fcfdb.txt b/.riot/requirements/c9fcfdb.txt new file mode 100644 index 00000000000..acf9a2a27f6 --- /dev/null +++ b/.riot/requirements/c9fcfdb.txt @@ -0,0 +1,145 @@ +# +# This file is autogenerated by pip-compile with Python 3.12 +# by the following command: +# +# pip-compile --no-annotate .riot/requirements/c9fcfdb.in +# +ag-ui-protocol==0.1.10 +aiohappyeyeballs==2.6.1 +aiohttp==3.13.2 +aiosignal==1.4.0 +annotated-types==0.7.0 +anthropic==0.75.0 +anyio==4.12.0 +argcomplete==3.6.3 +attrs==25.4.0 +authlib==1.6.5 +beartype==0.22.8 +boto3==1.42.4 +botocore==1.42.4 +cachetools==6.2.2 +certifi==2025.11.12 +cffi==2.0.0 +charset-normalizer==3.4.4 +click==8.3.1 +cohere==5.20.0 +colorama==0.4.6 +coverage[toml]==7.12.0 +cryptography==46.0.3 +cyclopts==4.3.0 +diskcache==5.6.3 +distro==1.9.0 +dnspython==2.8.0 +docstring-parser==0.17.0 +docutils==0.22.3 +email-validator==2.3.0 +eval-type-backport==0.3.1 +exceptiongroup==1.3.1 +executing==2.2.1 +fastavro==1.12.1 +fastmcp==2.13.3 +filelock==3.20.0 +frozenlist==1.8.0 +fsspec==2025.12.0 +genai-prices==0.0.47 +google-auth[requests]==2.43.0 +google-genai==1.53.0 +googleapis-common-protos==1.72.0 +griffe==1.15.0 +groq==0.37.1 +h11==0.16.0 +hf-xet==1.2.0 +httpcore==1.0.9 +httpx==0.28.1 +httpx-sse==0.4.0 +huggingface-hub[inference]==0.36.0 +hypothesis==6.45.0 +idna==3.11 +importlib-metadata==8.7.0 +iniconfig==2.3.0 +invoke==2.2.1 +jiter==0.12.0 +jmespath==1.0.1 +jsonschema==4.25.1 +jsonschema-path==0.3.4 +jsonschema-specifications==2025.9.1 +logfire[httpx]==4.16.0 +logfire-api==4.16.0 +markdown-it-py==4.0.0 +mcp==1.22.0 +mdurl==0.1.2 +mistralai==1.9.11 +mock==5.2.0 +multidict==6.7.0 +nexus-rpc==1.1.0 +openai==2.9.0 +openapi-pydantic==0.5.1 +opentelemetry-api==1.39.0 +opentelemetry-exporter-otlp-proto-common==1.39.0 +opentelemetry-exporter-otlp-proto-http==1.39.0 +opentelemetry-instrumentation==0.60b0 +opentelemetry-instrumentation-httpx==0.60b0 +opentelemetry-proto==1.39.0 +opentelemetry-sdk==1.39.0 +opentelemetry-semantic-conventions==0.60b0 +opentelemetry-util-http==0.60b0 +opentracing==2.4.0 +packaging==25.0 +pathable==0.4.4 +pathvalidate==3.3.1 +platformdirs==4.5.1 +pluggy==1.6.0 +prompt-toolkit==3.0.52 +propcache==0.4.1 +protobuf==6.33.1 +py-key-value-aio[disk,memory]==0.3.0 +py-key-value-shared==0.3.0 +pyasn1==0.6.1 +pyasn1-modules==0.4.2 +pycparser==2.23 +pydantic[email]==2.12.0a1 +pydantic-ai==1.27.0 +pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,fastmcp,google,groq,huggingface,logfire,mcp,mistral,openai,retries,temporal,ui,vertexai]==1.27.0 +pydantic-core==2.37.2 +pydantic-evals==1.27.0 +pydantic-graph==1.27.0 +pydantic-settings==2.12.0 +pygments==2.19.2 +pyjwt[crypto]==2.10.1 +pyperclip==1.11.0 +pytest==9.0.1 +pytest-asyncio==1.3.0 +pytest-cov==7.0.0 +pytest-mock==3.15.1 +python-dateutil==2.9.0.post0 +python-dotenv==1.2.1 +python-multipart==0.0.20 +pyyaml==6.0.3 +referencing==0.36.2 +requests==2.32.5 +rich==14.2.0 +rich-rst==1.3.2 +rpds-py==0.30.0 +rsa==4.9.1 +s3transfer==0.16.0 +six==1.17.0 +sniffio==1.3.1 +sortedcontainers==2.4.0 +sse-starlette==3.0.3 +starlette==0.50.0 +temporalio==1.19.0 +tenacity==9.1.2 +tokenizers==0.22.1 +tqdm==4.67.1 +types-protobuf==6.32.1.20251105 +types-requests==2.32.4.20250913 +typing-extensions==4.15.0 +typing-inspection==0.4.2 +urllib3==2.6.0 +uvicorn==0.38.0 +vcrpy==7.0.0 +wcwidth==0.2.14 +websockets==15.0.1 +wrapt==1.17.3 +yarl==1.22.0 +zipp==3.23.0 diff --git a/.riot/requirements/f9ab665.txt b/.riot/requirements/f9ab665.txt new file mode 100644 index 00000000000..a0c557116b3 --- /dev/null +++ b/.riot/requirements/f9ab665.txt @@ -0,0 +1,126 @@ +# +# This file is autogenerated by pip-compile with Python 3.13 +# by the following command: +# +# pip-compile --no-annotate .riot/requirements/f9ab665.in +# +ag-ui-protocol==0.1.10 +annotated-types==0.7.0 +anthropic==0.75.0 +anyio==4.12.0 +argcomplete==3.6.3 +attrs==25.4.0 +boto3==1.42.4 +botocore==1.42.4 +cachetools==6.2.2 +certifi==2025.11.12 +cffi==2.0.0 +charset-normalizer==3.4.4 +click==8.3.1 +cohere==5.20.0 +colorama==0.4.6 +coverage[toml]==7.12.0 +cryptography==46.0.3 +distro==1.9.0 +docstring-parser==0.17.0 +eval-type-backport==0.3.1 +executing==2.2.1 +fastavro==1.12.1 +filelock==3.20.0 +fsspec==2025.12.0 +genai-prices==0.0.47 +google-auth[requests]==2.43.0 +google-genai==1.53.0 +googleapis-common-protos==1.72.0 +griffe==1.15.0 +groq==0.37.1 +h11==0.16.0 +hf-xet==1.2.0 +httpcore==1.0.9 +httpx==0.28.1 +httpx-sse==0.4.0 +huggingface-hub[inference]==1.2.1 +hypothesis==6.45.0 +idna==3.11 +importlib-metadata==8.7.0 +iniconfig==2.3.0 +invoke==2.2.1 +jiter==0.12.0 +jmespath==1.0.1 +jsonschema==4.25.1 +jsonschema-specifications==2025.9.1 +logfire[httpx]==4.16.0 +logfire-api==4.16.0 +markdown-it-py==4.0.0 +mcp==1.23.1 +mdurl==0.1.2 +mistralai==1.9.11 +mock==5.2.0 +multidict==6.7.0 +nexus-rpc==1.1.0 +openai==2.9.0 +opentelemetry-api==1.39.0 +opentelemetry-exporter-otlp-proto-common==1.39.0 +opentelemetry-exporter-otlp-proto-http==1.39.0 +opentelemetry-instrumentation==0.60b0 +opentelemetry-instrumentation-httpx==0.60b0 +opentelemetry-proto==1.39.0 +opentelemetry-sdk==1.39.0 +opentelemetry-semantic-conventions==0.60b0 +opentelemetry-util-http==0.60b0 +opentracing==2.4.0 +packaging==25.0 +pluggy==1.6.0 +prompt-toolkit==3.0.52 +propcache==0.4.1 +protobuf==5.29.5 +pyasn1==0.6.1 +pyasn1-modules==0.4.2 +pycparser==2.23 +pydantic==2.12.0a1 +pydantic-ai==1.0.0 +pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,logfire,mcp,mistral,openai,retries,temporal,vertexai]==1.0.0 +pydantic-core==2.37.2 +pydantic-evals==1.0.0 +pydantic-graph==1.0.0 +pydantic-settings==2.12.0 +pygments==2.19.2 +pyjwt[crypto]==2.10.1 +pyperclip==1.11.0 +pytest==9.0.1 +pytest-asyncio==1.3.0 +pytest-cov==7.0.0 +pytest-mock==3.15.1 +python-dateutil==2.9.0.post0 +python-dotenv==1.2.1 +python-multipart==0.0.20 +pyyaml==6.0.3 +referencing==0.37.0 +requests==2.32.5 +rich==14.2.0 +rpds-py==0.30.0 +rsa==4.9.1 +s3transfer==0.16.0 +shellingham==1.5.4 +six==1.17.0 +sniffio==1.3.1 +sortedcontainers==2.4.0 +sse-starlette==3.0.3 +starlette==0.50.0 +temporalio==1.17.0 +tenacity==9.1.2 +tokenizers==0.22.1 +tqdm==4.67.1 +typer-slim==0.20.0 +types-protobuf==6.32.1.20251105 +types-requests==2.32.4.20250913 +typing-extensions==4.15.0 +typing-inspection==0.4.2 +urllib3==2.6.0 +uvicorn==0.38.0 +vcrpy==7.0.0 +wcwidth==0.2.14 +websockets==15.0.1 +wrapt==1.17.3 +yarl==1.22.0 +zipp==3.23.0 diff --git a/ddtrace/contrib/integration_registry/registry.yaml b/ddtrace/contrib/integration_registry/registry.yaml index 145df088cc6..ea9d6d1733d 100644 --- a/ddtrace/contrib/integration_registry/registry.yaml +++ b/ddtrace/contrib/integration_registry/registry.yaml @@ -655,7 +655,7 @@ integrations: tested_versions_by_dependency: pydantic-ai-slim: min: 0.3.0 - max: 0.4.4 + max: 1.27.0 - integration_name: pylibmc is_external_package: true diff --git a/ddtrace/contrib/internal/pydantic_ai/utils.py b/ddtrace/contrib/internal/pydantic_ai/utils.py index ca63aae6b5a..39b39d44eb4 100644 --- a/ddtrace/contrib/internal/pydantic_ai/utils.py +++ b/ddtrace/contrib/internal/pydantic_ai/utils.py @@ -25,7 +25,7 @@ async def __aexit__(self, exc_type, exc_val, exc_tb): await self.__wrapped__.__aexit__(exc_type, exc_val, exc_tb) if exc_type: self._dd_span.set_exc_info(exc_type, exc_val, exc_tb) - elif self._dd_integration.is_pc_sampled_llmobs(self._dd_span): + else: self._dd_integration.llmobs_set_tags( self._dd_span, args=self._args, kwargs=self._kwargs, response=self._agent_run ) @@ -79,6 +79,16 @@ def stream(self, *args, **kwargs): ) return self._generator + def stream_output(self, *args, **kwargs): + self._generator = TracedPydanticGenerator( + self.__wrapped__.stream_output(*args, **kwargs), + self._dd_span, + self._dd_integration, + self._args, + self._kwargs, + ) + return self._generator + def stream_text(self, *args, **kwargs): delta = get_argument_value(args, kwargs, 0, "delta", True) or False self._generator = TracedPydanticGenerator( diff --git a/releasenotes/notes/support-pydantic-ai-v-1-8608cb1d8729a6e8.yaml b/releasenotes/notes/support-pydantic-ai-v-1-8608cb1d8729a6e8.yaml new file mode 100644 index 00000000000..8c844733875 --- /dev/null +++ b/releasenotes/notes/support-pydantic-ai-v-1-8608cb1d8729a6e8.yaml @@ -0,0 +1,4 @@ +--- +features: + - | + pydantic_ai: Introduces tracing support for PydanticAI's ``Agent.run_stream.stream_output`` method as introduced in ``pydantic-ai>=1.0.0``. diff --git a/riotfile.py b/riotfile.py index b62742a6885..e70f74bce63 100644 --- a/riotfile.py +++ b/riotfile.py @@ -3026,12 +3026,21 @@ def select_pys(min_version: str = MIN_PYTHON_VERSION, max_version: str = MAX_PYT }, venvs=[ Venv( - pys=select_pys(), + # pydantic-ai<1.0.0 is compatible with Python 3.9 + pys=select_pys(min_version="3.9", max_version="3.9"), pkgs={ "pydantic-ai": ["==0.3.0", "==0.4.4"], "pydantic": "==2.12.0a1", }, ), + Venv( + # pydantic-ai>=1.0.0 requires Python 3.10+ + pys=select_pys(min_version="3.10", max_version="3.13"), + pkgs={ + "pydantic-ai": ["==0.3.0", "==0.4.4", "==1.0.0", latest], + "pydantic": "==2.12.0a1", + }, + ), ], ), Venv( diff --git a/supported_versions_output.json b/supported_versions_output.json index ede501d5c8c..5a8d7af2654 100644 --- a/supported_versions_output.json +++ b/supported_versions_output.json @@ -502,7 +502,7 @@ "dependency": "pydantic-ai-slim", "integration": "pydantic_ai", "minimum_tracer_supported": "0.3.0", - "max_tracer_supported": "0.4.4", + "max_tracer_supported": "1.27.0", "pinned": "true", "auto-instrumented": true }, diff --git a/supported_versions_table.csv b/supported_versions_table.csv index 116cb467333..a7d885f289a 100644 --- a/supported_versions_table.csv +++ b/supported_versions_table.csv @@ -69,7 +69,7 @@ openai-agents,openai_agents,0.0.8,0.0.16,True protobuf,protobuf,6.30.1,6.32.0,False psycopg,psycopg,3.0.18,3.2.10,True psycopg2-binary,psycopg,2.9.10,2.9.10,True -pydantic-ai-slim,pydantic_ai *,0.3.0,0.4.4,True +pydantic-ai-slim,pydantic_ai *,0.3.0,1.27.0,True pylibmc,pylibmc,1.6.3,1.6.3,True pymemcache,pymemcache,3.4.4,4.0.0,True pymongo,pymongo,3.8.0,4.15.0,True diff --git a/tests/contrib/pydantic_ai/cassettes/agent_run_stream_output.yaml b/tests/contrib/pydantic_ai/cassettes/agent_run_stream_output.yaml new file mode 100644 index 00000000000..bc2258deef2 --- /dev/null +++ b/tests/contrib/pydantic_ai/cassettes/agent_run_stream_output.yaml @@ -0,0 +1,147 @@ +interactions: +- request: + body: '{"messages":[{"role":"user","content":"Hello, world!"}],"model":"gpt-4o","stream":true,"stream_options":{"include_usage":true}}' + headers: + accept: + - application/json + accept-encoding: + - gzip, deflate + connection: + - keep-alive + content-length: + - '127' + content-type: + - application/json + cookie: + - _cfuvid=7yprwreREaQe1ApoE3CUHN.9GZrN53KIrD0S10.M5g0-1750870032909-0.0.1.1-604800000 + host: + - api.openai.com + user-agent: + - pydantic-ai/1.0.0 + x-stainless-arch: + - arm64 + x-stainless-async: + - async:asyncio + x-stainless-lang: + - python + x-stainless-os: + - MacOS + x-stainless-package-version: + - 2.9.0 + x-stainless-read-timeout: + - '600' + x-stainless-retry-count: + - '0' + x-stainless-runtime: + - CPython + x-stainless-runtime-version: + - 3.10.13 + method: POST + uri: https://api.openai.com/v1/chat/completions + response: + body: + string: 'data: {"id":"chatcmpl-CjUvz8mogDGDZV9ANMfWm5gZCHk7L","object":"chat.completion.chunk","created":1764959707,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_a4d13246c5","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"caJUd9GmH1mzCL"} + + + data: {"id":"chatcmpl-CjUvz8mogDGDZV9ANMfWm5gZCHk7L","object":"chat.completion.chunk","created":1764959707,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_a4d13246c5","choices":[{"index":0,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"0KnLMEmnfft"} + + + data: {"id":"chatcmpl-CjUvz8mogDGDZV9ANMfWm5gZCHk7L","object":"chat.completion.chunk","created":1764959707,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_a4d13246c5","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"CUP1ojTWzCo8L0G"} + + + data: {"id":"chatcmpl-CjUvz8mogDGDZV9ANMfWm5gZCHk7L","object":"chat.completion.chunk","created":1764959707,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_a4d13246c5","choices":[{"index":0,"delta":{"content":" + How"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ns36WceEQ3k6"} + + + data: {"id":"chatcmpl-CjUvz8mogDGDZV9ANMfWm5gZCHk7L","object":"chat.completion.chunk","created":1764959707,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_a4d13246c5","choices":[{"index":0,"delta":{"content":" + can"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"9uPpCrqelDoU"} + + + data: {"id":"chatcmpl-CjUvz8mogDGDZV9ANMfWm5gZCHk7L","object":"chat.completion.chunk","created":1764959707,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_a4d13246c5","choices":[{"index":0,"delta":{"content":" + I"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"wwVkiQ3KrsOSPP"} + + + data: {"id":"chatcmpl-CjUvz8mogDGDZV9ANMfWm5gZCHk7L","object":"chat.completion.chunk","created":1764959707,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_a4d13246c5","choices":[{"index":0,"delta":{"content":" + assist"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"a0jPv3G8i"} + + + data: {"id":"chatcmpl-CjUvz8mogDGDZV9ANMfWm5gZCHk7L","object":"chat.completion.chunk","created":1764959707,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_a4d13246c5","choices":[{"index":0,"delta":{"content":" + you"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"RWZbw1Zeqo72"} + + + data: {"id":"chatcmpl-CjUvz8mogDGDZV9ANMfWm5gZCHk7L","object":"chat.completion.chunk","created":1764959707,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_a4d13246c5","choices":[{"index":0,"delta":{"content":" + today"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"PtssCvXjCA"} + + + data: {"id":"chatcmpl-CjUvz8mogDGDZV9ANMfWm5gZCHk7L","object":"chat.completion.chunk","created":1764959707,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_a4d13246c5","choices":[{"index":0,"delta":{"content":"?"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"numit72zY9gIpcH"} + + + data: {"id":"chatcmpl-CjUvz8mogDGDZV9ANMfWm5gZCHk7L","object":"chat.completion.chunk","created":1764959707,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_a4d13246c5","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"bplcfM3BQW"} + + + data: {"id":"chatcmpl-CjUvz8mogDGDZV9ANMfWm5gZCHk7L","object":"chat.completion.chunk","created":1764959707,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_a4d13246c5","choices":[],"usage":{"prompt_tokens":11,"completion_tokens":9,"total_tokens":20,"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":""} + + + data: [DONE] + + + ' + headers: + CF-RAY: + - 9a95a4374a7d5f74-EWR + Connection: + - keep-alive + Content-Type: + - text/event-stream; charset=utf-8 + Date: + - Fri, 05 Dec 2025 18:35:07 GMT + Server: + - cloudflare + Set-Cookie: + - __cf_bm=oEopIEJuP8aIlNcPi.nuiBLqlYuDMApiKBvU4HEsEng-1764959707-1.0.1.1-htSg64_Y1mDfeN1PlI6XjkUhCkt_6fZAzJ7loqS4g3zmzFkNKOdjW0LXb.AqyOw0gOr.XDjWe2wD_kF3whCOJxJgxz56taRRN4gcqVU7NWE; + path=/; expires=Fri, 05-Dec-25 19:05:07 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=GPDJav.DAF2mu16BGyjajUi2Rw06EqtdgeTjs0Tsfcs-1764959707427-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Transfer-Encoding: + - 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: + - datadog-staging + openai-processing-ms: + - '354' + openai-project: + - proj_gt6TQZPRbZfoY2J9AQlEJMpd + openai-version: + - '2020-10-01' + x-envoy-upstream-service-time: + - '365' + x-openai-proxy-wasm: + - v0.1 + x-ratelimit-limit-requests: + - '10000' + x-ratelimit-limit-tokens: + - '30000000' + x-ratelimit-remaining-requests: + - '9999' + x-ratelimit-remaining-tokens: + - '29999994' + x-ratelimit-reset-requests: + - 6ms + x-ratelimit-reset-tokens: + - 0s + x-request-id: + - req_71413f1f4c354da2905502bb17c1581f + status: + code: 200 + message: OK +version: 1 diff --git a/tests/contrib/pydantic_ai/test_pydantic_ai_llmobs.py b/tests/contrib/pydantic_ai/test_pydantic_ai_llmobs.py index 787e9ba82c3..631ad936f51 100644 --- a/tests/contrib/pydantic_ai/test_pydantic_ai_llmobs.py +++ b/tests/contrib/pydantic_ai/test_pydantic_ai_llmobs.py @@ -67,6 +67,18 @@ async def test_agent_run_stream(self, pydantic_ai, request_vcr, llmobs_events, m assert len(llmobs_events) == 1 assert llmobs_events[0] == expected_run_agent_span_event(span, output) + @pytest.mark.skipif(PYDANTIC_AI_VERSION < (1, 0, 0), reason="pydantic-ai < 1.0.0 does not support stream_output") + async def test_agent_run_stream_output(self, pydantic_ai, request_vcr, llmobs_events, mock_tracer): + output = "" + with request_vcr.use_cassette("agent_run_stream_output.yaml"): + agent = pydantic_ai.Agent(model="gpt-4o", name="test_agent") + async with agent.run_stream("Hello, world!") as result: + async for chunk in result.stream_output(debounce_by=None): + output = chunk + span = mock_tracer.pop_traces()[0][0] + assert len(llmobs_events) == 1 + assert llmobs_events[0] == expected_run_agent_span_event(span, output) + @pytest.mark.parametrize("delta", [False, True]) async def test_agent_run_stream_text(self, pydantic_ai, request_vcr, llmobs_events, mock_tracer, delta): """ @@ -127,7 +139,10 @@ async def test_agent_run_stream_with_tool(self, pydantic_ai, request_vcr, llmobs tools=expected_calculate_square_tool(), ) - async def test_agent_run_stream_structured_with_tool(self, pydantic_ai, request_vcr, llmobs_events, mock_tracer): + @pytest.mark.skipif(PYDANTIC_AI_VERSION > (1, 0, 0), reason="Test specific for pydantic-ai > 1.0.0") + async def test_agent_run_stream_structured_with_tool_pydantic_ai_0( + self, pydantic_ai, request_vcr, llmobs_events, mock_tracer + ): class Output(TypedDict): original_number: int square: int @@ -157,6 +172,46 @@ class Output(TypedDict): tools=expected_calculate_square_tool(), ) + @pytest.mark.skipif(PYDANTIC_AI_VERSION <= (1, 0, 0), reason="Test specific for pydantic-ai <= 1.0.0") + async def test_agent_run_stream_structured_with_tool_pydantic_ai_1( + self, pydantic_ai, request_vcr, llmobs_events, mock_tracer + ): + class Output(TypedDict): + original_number: int + square: int + + instructions = "Use the provided tool to calculate the square of 2." + with request_vcr.use_cassette("agent_run_stream_structured_with_tool.yaml"): + agent = pydantic_ai.Agent( + model="gpt-4o", + name="test_agent", + tools=[calculate_square_tool], + instructions=instructions, + output_type=Output, + ) + async with agent.run_stream("What is the square of 2?") as result: + async for chunk in result.stream_structured(debounce_by=None): + output = chunk + trace = mock_tracer.pop_traces()[0] + agent_span = trace[0] + tool_span = trace[1] + final_result_span = trace[2] + assert len(llmobs_events) == 3 + assert llmobs_events[0] == expected_run_tool_span_event(tool_span) + assert llmobs_events[1] == expected_run_tool_span_event( + final_result_span, + input_value='{"original_number":2,"square":4}', + output='{"original_number": 2, "square": 4}', + metadata={"description": "The final response which ends this conversation"}, + ) + assert llmobs_events[2] == expected_run_agent_span_event( + agent_span, + safe_json(output[0].parts[0].args, ensure_ascii=False), + input_value="What is the square of 2?", + instructions=instructions, + tools=expected_calculate_square_tool(), + ) + async def test_agent_run_stream_error(self, pydantic_ai, request_vcr, llmobs_events, mock_tracer): output = "" with request_vcr.use_cassette("agent_run_stream.yaml"): diff --git a/tests/contrib/pydantic_ai/utils.py b/tests/contrib/pydantic_ai/utils.py index 8628183ec4a..2c6f3f7fe00 100644 --- a/tests/contrib/pydantic_ai/utils.py +++ b/tests/contrib/pydantic_ai/utils.py @@ -1,8 +1,14 @@ from typing import Dict +import pydantic_ai + +from ddtrace.internal.utils.version import parse_version from tests.llmobs._utils import _expected_llmobs_non_llm_span_event +PYDANTIC_AI_VERSION = parse_version(pydantic_ai.__version__) + + def expected_calculate_square_tool(): return [ { @@ -24,13 +30,18 @@ def expected_foo_tool(): def expected_agent_metadata(instructions=None, system_prompt=None, model_settings=None, tools=None) -> Dict: + if instructions is None: + expected_instructions = None if PYDANTIC_AI_VERSION <= (1, 0, 0) else [] + else: + expected_instructions = instructions if PYDANTIC_AI_VERSION <= (1, 0, 0) else [instructions] + metadata = { "agent_manifest": { "framework": "PydanticAI", "name": "test_agent", "model": "gpt-4o", "model_settings": model_settings, - "instructions": instructions, + "instructions": expected_instructions, "system_prompts": (system_prompt,) if system_prompt else (), "tools": tools if tools is not None else [], } @@ -57,13 +68,13 @@ def expected_run_agent_span_event( ) -def expected_run_tool_span_event(span, input_value='{"x":2}', output="4"): +def expected_run_tool_span_event(span, input_value='{"x":2}', output="4", metadata=None): return _expected_llmobs_non_llm_span_event( span, "tool", input_value=input_value, output_value=output, - metadata={"description": "Calculates the square of a number"}, + metadata=metadata or {"description": "Calculates the square of a number"}, tags={"ml_app": "", "service": "tests.contrib.pydantic_ai"}, )