From 838b20dab8f0b4e13ee0b6fb440c860a8e716433 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Jun 2026 21:37:12 +0000 Subject: [PATCH 1/4] Build(deps-dev): Bump pyright from 1.1.408 to 1.1.410 in /python Bumps [pyright](https://github.com/RobertCraigie/pyright-python) from 1.1.408 to 1.1.410. - [Release notes](https://github.com/RobertCraigie/pyright-python/releases) - [Commits](https://github.com/RobertCraigie/pyright-python/compare/v1.1.408...v1.1.410) --- updated-dependencies: - dependency-name: pyright dependency-version: 1.1.410 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- python/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/pyproject.toml b/python/pyproject.toml index 0a4e6f34a93..11026601520 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -38,7 +38,7 @@ dev = [ "pytest-timeout==2.4.0", "pytest-retry==1.7.0", "mypy==1.20.0", - "pyright==1.1.408", + "pyright==1.1.410", "mcp[ws]==1.27.2", "opentelemetry-sdk==1.40.0", "azure-monitor-opentelemetry==1.8.8", From 9c78e3a7e3000682b31ced0eb88e668fbd22ede2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 17 Jun 2026 01:19:28 +0000 Subject: [PATCH 2/4] Fix Python CI pyright pin mismatch --- python/packages/lab/pyproject.toml | 2 +- python/uv.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/python/packages/lab/pyproject.toml b/python/packages/lab/pyproject.toml index da2095936fc..b75203afd59 100644 --- a/python/packages/lab/pyproject.toml +++ b/python/packages/lab/pyproject.toml @@ -61,7 +61,7 @@ dev = [ "ruff==0.15.15", "pytest==9.0.3", "mypy==1.20.0", - "pyright==1.1.408", + "pyright==1.1.410", #tasks "poethepoet==0.46.0", "rich>=13.7.1,<15.0.0", diff --git a/python/uv.lock b/python/uv.lock index 72aa2d01ad6..493a6e32b56 100644 --- a/python/uv.lock +++ b/python/uv.lock @@ -155,7 +155,7 @@ dev = [ { name = "opentelemetry-sdk", specifier = "==1.40.0" }, { name = "poethepoet", specifier = "==0.46.0" }, { name = "prek", specifier = "==0.4.3" }, - { name = "pyright", specifier = "==1.1.408" }, + { name = "pyright", specifier = "==1.1.410" }, { name = "pytest", specifier = "==9.0.3" }, { name = "pytest-asyncio", specifier = "==1.4.0" }, { name = "pytest-cov", specifier = "==7.1.0" }, @@ -702,7 +702,7 @@ dev = [ { name = "mypy", specifier = "==1.20.0" }, { name = "poethepoet", specifier = "==0.46.0" }, { name = "prek", specifier = "==0.4.3" }, - { name = "pyright", specifier = "==1.1.408" }, + { name = "pyright", specifier = "==1.1.410" }, { name = "pytest", specifier = "==9.0.3" }, { name = "rich", specifier = ">=13.7.1,<15.0.0" }, { name = "ruff", specifier = "==0.15.15" }, @@ -5950,15 +5950,15 @@ wheels = [ [[package]] name = "pyright" -version = "1.1.408" +version = "1.1.410" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "nodeenv", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, { name = "typing-extensions", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/74/b2/5db700e52554b8f025faa9c3c624c59f1f6c8841ba81ab97641b54322f16/pyright-1.1.408.tar.gz", hash = "sha256:f28f2321f96852fa50b5829ea492f6adb0e6954568d1caa3f3af3a5f555eb684", size = 4400578, upload-time = "2026-01-08T08:07:38.795Z" } +sdist = { url = "https://files.pythonhosted.org/packages/10/53/e4d8ea1391bd4355231be6f91bf239479aa0014260ed3fb5526eeb12a1f2/pyright-1.1.410.tar.gz", hash = "sha256:07a073b8ba6749826773c1269773efa11b93440d9a6aa60419d9a3172d6dc488", size = 4062013, upload-time = "2026-06-01T17:35:48.894Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0c/82/a2c93e32800940d9573fb28c346772a14778b84ba7524e691b324620ab89/pyright-1.1.408-py3-none-any.whl", hash = "sha256:090b32865f4fdb1e0e6cd82bf5618480d48eecd2eb2e70f960982a3d9a4c17c1", size = 6399144, upload-time = "2026-01-08T08:07:37.082Z" }, + { url = "https://files.pythonhosted.org/packages/d7/33/288b5868fa00846dacf249633719d747893e54aebd196b9968ac1878a5d3/pyright-1.1.410-py3-none-any.whl", hash = "sha256:5e961bed37cacf96b3f7cd7b1da39b350a9239aa2e69138d0e88f728cfaf296c", size = 6082448, upload-time = "2026-06-01T17:35:46.387Z" }, ] [[package]] From 163ffab8d06abc53d712b3cc36c9596034d403e6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 17 Jun 2026 01:56:15 +0000 Subject: [PATCH 3/4] Fix pyright 1.1.410 Package Checks failures --- .../agent_framework_anthropic/_bedrock_client.py | 2 +- .../anthropic/agent_framework_anthropic/_chat_client.py | 4 +++- .../agent_framework_anthropic/_vertex_client.py | 3 ++- python/packages/core/agent_framework/_types.py | 2 +- .../packages/core/agent_framework/_workflows/_events.py | 4 ++-- .../agent_framework_orchestrations/_magentic.py | 6 +++--- .../redis/agent_framework_redis/_context_provider.py | 9 ++++++--- 7 files changed, 18 insertions(+), 12 deletions(-) diff --git a/python/packages/anthropic/agent_framework_anthropic/_bedrock_client.py b/python/packages/anthropic/agent_framework_anthropic/_bedrock_client.py index 6c4c32738c3..bac2890b5ca 100644 --- a/python/packages/anthropic/agent_framework_anthropic/_bedrock_client.py +++ b/python/packages/anthropic/agent_framework_anthropic/_bedrock_client.py @@ -14,7 +14,7 @@ from agent_framework._settings import SecretString, load_settings from agent_framework._telemetry import get_user_agent from agent_framework.observability import ChatTelemetryLayer -from anthropic import AsyncAnthropicBedrock +from anthropic.lib.bedrock import AsyncAnthropicBedrock from ._chat_client import AnthropicOptionsT, RawAnthropicClient diff --git a/python/packages/anthropic/agent_framework_anthropic/_chat_client.py b/python/packages/anthropic/agent_framework_anthropic/_chat_client.py index c90b061b4ff..1e761cc3532 100644 --- a/python/packages/anthropic/agent_framework_anthropic/_chat_client.py +++ b/python/packages/anthropic/agent_framework_anthropic/_chat_client.py @@ -31,7 +31,9 @@ from agent_framework._tools import SHELL_TOOL_KIND_VALUE from agent_framework._types import _get_data_bytes_as_str # type: ignore from agent_framework.observability import ChatTelemetryLayer -from anthropic import AsyncAnthropic, AsyncAnthropicBedrock, AsyncAnthropicFoundry, AsyncAnthropicVertex +from anthropic import AsyncAnthropic, AsyncAnthropicFoundry +from anthropic.lib.bedrock import AsyncAnthropicBedrock +from anthropic.lib.vertex import AsyncAnthropicVertex from anthropic.types.beta import ( BetaContentBlock, BetaMessage, diff --git a/python/packages/anthropic/agent_framework_anthropic/_vertex_client.py b/python/packages/anthropic/agent_framework_anthropic/_vertex_client.py index 7af22be0f00..9f113603ef0 100644 --- a/python/packages/anthropic/agent_framework_anthropic/_vertex_client.py +++ b/python/packages/anthropic/agent_framework_anthropic/_vertex_client.py @@ -14,7 +14,8 @@ from agent_framework._settings import load_settings from agent_framework._telemetry import get_user_agent from agent_framework.observability import ChatTelemetryLayer -from anthropic import NOT_GIVEN, AsyncAnthropicVertex +from anthropic import NOT_GIVEN +from anthropic.lib.vertex import AsyncAnthropicVertex from ._chat_client import AnthropicOptionsT, RawAnthropicClient diff --git a/python/packages/core/agent_framework/_types.py b/python/packages/core/agent_framework/_types.py index f30fc04789d..b778342965d 100644 --- a/python/packages/core/agent_framework/_types.py +++ b/python/packages/core/agent_framework/_types.py @@ -3130,7 +3130,7 @@ async def __anext__(self) -> UpdateT: if isawaitable(hooked): hooked = await hooked if hooked is not None: - update = hooked + update = cast(UpdateT, hooked) return update async def _resolve_stream_with_pull_contexts(self) -> AsyncIterable[UpdateT]: diff --git a/python/packages/core/agent_framework/_workflows/_events.py b/python/packages/core/agent_framework/_workflows/_events.py index aa1a69954f1..203acd6e525 100644 --- a/python/packages/core/agent_framework/_workflows/_events.py +++ b/python/packages/core/agent_framework/_workflows/_events.py @@ -6,7 +6,7 @@ import sys import traceback as _traceback import warnings -from collections.abc import Iterator +from collections.abc import Generator from contextlib import contextmanager from contextvars import ContextVar from dataclasses import dataclass @@ -46,7 +46,7 @@ def _current_event_origin() -> WorkflowEventSource: @contextmanager -def _framework_event_origin() -> Iterator[None]: # pyright: ignore[reportUnusedFunction] +def _framework_event_origin() -> Generator[None]: # pyright: ignore[reportUnusedFunction] """Temporarily mark subsequently created events as originating from the framework (internal).""" token = _event_origin_context.set(WorkflowEventSource.FRAMEWORK) try: diff --git a/python/packages/orchestrations/agent_framework_orchestrations/_magentic.py b/python/packages/orchestrations/agent_framework_orchestrations/_magentic.py index f8cbf88fd73..92923c07ae2 100644 --- a/python/packages/orchestrations/agent_framework_orchestrations/_magentic.py +++ b/python/packages/orchestrations/agent_framework_orchestrations/_magentic.py @@ -28,7 +28,7 @@ from agent_framework._workflows._workflow import Workflow from agent_framework._workflows._workflow_builder import WorkflowBuilder from agent_framework._workflows._workflow_context import WorkflowContext -from typing_extensions import Never, Sentinel +from typing_extensions import Never from ._base_group_chat_orchestrator import ( BaseGroupChatOrchestrator, @@ -1411,7 +1411,7 @@ def __init__( task_ledger_plan_update_prompt: str | None = None, progress_ledger_prompt: str | None = None, final_answer_prompt: str | None = None, - max_stall_count: int | Sentinel = UNSET, + max_stall_count: Any = UNSET, max_reset_count: int | None = None, max_round_count: int | None = None, # Existing params @@ -1621,7 +1621,7 @@ def _set_manager( progress_ledger_prompt: str | None = None, final_answer_prompt: str | None = None, # Limits - max_stall_count: int | Sentinel = UNSET, + max_stall_count: Any = UNSET, max_reset_count: int | None = None, max_round_count: int | None = None, ) -> None: diff --git a/python/packages/redis/agent_framework_redis/_context_provider.py b/python/packages/redis/agent_framework_redis/_context_provider.py index 4c102f01876..786815a2aa7 100644 --- a/python/packages/redis/agent_framework_redis/_context_provider.py +++ b/python/packages/redis/agent_framework_redis/_context_provider.py @@ -10,8 +10,6 @@ import json import sys -from functools import reduce -from operator import and_ from typing import TYPE_CHECKING, Any, ClassVar, Literal import numpy as np @@ -191,7 +189,12 @@ def schema_dict(self) -> dict[str, Any]: def _build_filter_from_dict(self, filters: dict[str, str | None]) -> Any | None: """Builds a combined filter expression from simple equality tags.""" parts: list[FilterExpression] = [Tag(k) == v for k, v in filters.items() if v] - return reduce(and_, parts) if parts else None + if not parts: + return None + combined = parts[0] + for part in parts[1:]: + combined = combined & part + return combined def _build_schema_dict( self, From c653f05f0db40b5cb879d0de21705d4120fe98f8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 17 Jun 2026 01:57:55 +0000 Subject: [PATCH 4/4] Tighten contextmanager and sentinel typing annotations --- python/packages/core/agent_framework/_workflows/_events.py | 2 +- .../agent_framework_orchestrations/_magentic.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/python/packages/core/agent_framework/_workflows/_events.py b/python/packages/core/agent_framework/_workflows/_events.py index 203acd6e525..c7b8d5a4058 100644 --- a/python/packages/core/agent_framework/_workflows/_events.py +++ b/python/packages/core/agent_framework/_workflows/_events.py @@ -46,7 +46,7 @@ def _current_event_origin() -> WorkflowEventSource: @contextmanager -def _framework_event_origin() -> Generator[None]: # pyright: ignore[reportUnusedFunction] +def _framework_event_origin() -> Generator[None, None, None]: # pyright: ignore[reportUnusedFunction] """Temporarily mark subsequently created events as originating from the framework (internal).""" token = _event_origin_context.set(WorkflowEventSource.FRAMEWORK) try: diff --git a/python/packages/orchestrations/agent_framework_orchestrations/_magentic.py b/python/packages/orchestrations/agent_framework_orchestrations/_magentic.py index 92923c07ae2..836a5284077 100644 --- a/python/packages/orchestrations/agent_framework_orchestrations/_magentic.py +++ b/python/packages/orchestrations/agent_framework_orchestrations/_magentic.py @@ -28,7 +28,7 @@ from agent_framework._workflows._workflow import Workflow from agent_framework._workflows._workflow_builder import WorkflowBuilder from agent_framework._workflows._workflow_context import WorkflowContext -from typing_extensions import Never +from typing_extensions import Never, Sentinel from ._base_group_chat_orchestrator import ( BaseGroupChatOrchestrator, @@ -1411,7 +1411,7 @@ def __init__( task_ledger_plan_update_prompt: str | None = None, progress_ledger_prompt: str | None = None, final_answer_prompt: str | None = None, - max_stall_count: Any = UNSET, + max_stall_count: int | Sentinel = cast(Any, UNSET), max_reset_count: int | None = None, max_round_count: int | None = None, # Existing params @@ -1621,7 +1621,7 @@ def _set_manager( progress_ledger_prompt: str | None = None, final_answer_prompt: str | None = None, # Limits - max_stall_count: Any = UNSET, + max_stall_count: int | Sentinel = cast(Any, UNSET), max_reset_count: int | None = None, max_round_count: int | None = None, ) -> None: