From 33289349a938ee0d6a8d3d5f01db989d43fc28d7 Mon Sep 17 00:00:00 2001 From: Sydney Runkle Date: Tue, 3 Mar 2026 14:24:30 -0800 Subject: [PATCH] sdk too --- libs/langgraph/tests/test_stream_v2.py | 7 +++++-- libs/sdk-py/langgraph_sdk/_async/runs.py | 10 +++++----- libs/sdk-py/langgraph_sdk/_sync/runs.py | 10 +++++----- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/libs/langgraph/tests/test_stream_v2.py b/libs/langgraph/tests/test_stream_v2.py index ac64f76c0..da1aeca43 100644 --- a/libs/langgraph/tests/test_stream_v2.py +++ b/libs/langgraph/tests/test_stream_v2.py @@ -133,11 +133,14 @@ def _assert_stream_part_shape(part: StreamPart[Any, Any]) -> None: class TestV1BackwardsCompat: - def test_stream_default_is_v1(self) -> None: + def test_stream_default_is_v2(self) -> None: graph = _make_simple_graph().compile() chunks = list(graph.stream(_SIMPLE_INPUT)) for chunk in chunks: assert isinstance(chunk, dict) + assert "type" in chunk + assert "ns" in chunk + assert "data" in chunk def test_stream_v1_updates_mode(self) -> None: graph = _make_simple_graph().compile() @@ -1082,7 +1085,7 @@ class TestV2TypeSafeStreaming: f"Expected OuterState, got {type(c['data'])}" ) # Subgraph values are streamed from the subgraph's own stream() - # which runs with default stream_version="v1", so no coercion + # which runs with default stream_version="v2", so coercion is applied sub_values = [c for c in chunks if c["type"] == "values" and c["ns"] != ()] assert len(sub_values) >= 1 diff --git a/libs/sdk-py/langgraph_sdk/_async/runs.py b/libs/sdk-py/langgraph_sdk/_async/runs.py index d98edb618..9c55228f6 100644 --- a/libs/sdk-py/langgraph_sdk/_async/runs.py +++ b/libs/sdk-py/langgraph_sdk/_async/runs.py @@ -96,7 +96,7 @@ class RunsClient: headers: Mapping[str, str] | None = None, params: QueryParamTypes | None = None, on_run_created: Callable[[RunCreateMetadata], None] | None = None, - stream_version: Literal["v1"] = "v1", + stream_version: Literal["v1"], ) -> AsyncIterator[StreamPart]: ... @overload @@ -127,7 +127,7 @@ class RunsClient: headers: Mapping[str, str] | None = None, params: QueryParamTypes | None = None, on_run_created: Callable[[RunCreateMetadata], None] | None = None, - stream_version: Literal["v2"], + stream_version: Literal["v2"] = "v2", ) -> AsyncIterator[StreamPartV2]: ... @overload @@ -155,7 +155,7 @@ class RunsClient: headers: Mapping[str, str] | None = None, params: QueryParamTypes | None = None, on_run_created: Callable[[RunCreateMetadata], None] | None = None, - stream_version: Literal["v1"] = "v1", + stream_version: Literal["v1"], ) -> AsyncIterator[StreamPart]: ... @overload @@ -183,7 +183,7 @@ class RunsClient: headers: Mapping[str, str] | None = None, params: QueryParamTypes | None = None, on_run_created: Callable[[RunCreateMetadata], None] | None = None, - stream_version: Literal["v2"], + stream_version: Literal["v2"] = "v2", ) -> AsyncIterator[StreamPartV2]: ... def stream( @@ -215,7 +215,7 @@ class RunsClient: params: QueryParamTypes | None = None, on_run_created: Callable[[RunCreateMetadata], None] | None = None, durability: Durability | None = None, - stream_version: StreamVersion = "v1", + stream_version: StreamVersion = "v2", ) -> AsyncIterator[StreamPart | StreamPartV2]: """Create a run and stream the results. diff --git a/libs/sdk-py/langgraph_sdk/_sync/runs.py b/libs/sdk-py/langgraph_sdk/_sync/runs.py index f931792c1..b7b0dcbb1 100644 --- a/libs/sdk-py/langgraph_sdk/_sync/runs.py +++ b/libs/sdk-py/langgraph_sdk/_sync/runs.py @@ -95,7 +95,7 @@ class SyncRunsClient: headers: Mapping[str, str] | None = None, params: QueryParamTypes | None = None, on_run_created: Callable[[RunCreateMetadata], None] | None = None, - stream_version: Literal["v1"] = "v1", + stream_version: Literal["v1"], ) -> Iterator[StreamPart]: ... @overload @@ -125,7 +125,7 @@ class SyncRunsClient: headers: Mapping[str, str] | None = None, params: QueryParamTypes | None = None, on_run_created: Callable[[RunCreateMetadata], None] | None = None, - stream_version: Literal["v2"], + stream_version: Literal["v2"] = "v2", ) -> Iterator[StreamPartV2]: ... @overload @@ -154,7 +154,7 @@ class SyncRunsClient: headers: Mapping[str, str] | None = None, params: QueryParamTypes | None = None, on_run_created: Callable[[RunCreateMetadata], None] | None = None, - stream_version: Literal["v1"] = "v1", + stream_version: Literal["v1"], ) -> Iterator[StreamPart]: ... @overload @@ -183,7 +183,7 @@ class SyncRunsClient: headers: Mapping[str, str] | None = None, params: QueryParamTypes | None = None, on_run_created: Callable[[RunCreateMetadata], None] | None = None, - stream_version: Literal["v2"], + stream_version: Literal["v2"] = "v2", ) -> Iterator[StreamPartV2]: ... def stream( @@ -215,7 +215,7 @@ class SyncRunsClient: params: QueryParamTypes | None = None, on_run_created: Callable[[RunCreateMetadata], None] | None = None, durability: Durability | None = None, - stream_version: StreamVersion = "v1", + stream_version: StreamVersion = "v2", ) -> Iterator[StreamPart | StreamPartV2]: """Create a run and stream the results.