diff --git a/slack_sdk/web/async_chat_stream.py b/slack_sdk/web/async_chat_stream.py index 20e3fd98b..f5848b31e 100644 --- a/slack_sdk/web/async_chat_stream.py +++ b/slack_sdk/web/async_chat_stream.py @@ -158,6 +158,7 @@ async def stop( chunks: Optional[Sequence[Union[Dict, Chunk]]] = None, blocks: Optional[Union[str, Sequence[Union[Dict, Block]]]] = None, metadata: Optional[Union[Dict, Metadata]] = None, + session_status: Optional[str] = None, **kwargs, ) -> AsyncSlackResponse: """Stop the stream and finalize the message. @@ -169,6 +170,7 @@ async def stop( what will be appended to the message received so far. metadata: JSON object with event_type and event_payload fields, presented as a URL-encoded string. Metadata you post to Slack is accessible to any app or user who is a member of that workspace. + session_status: The session status to set after stopping the stream. **kwargs: Additional arguments passed to the underlying API calls. Returns: @@ -217,6 +219,7 @@ async def stop( blocks=blocks, chunks=flushings, metadata=metadata, + session_status=session_status, **kwargs, ) self._state = "completed" diff --git a/slack_sdk/web/async_client.py b/slack_sdk/web/async_client.py index 13c8e3f2e..34f4ef934 100644 --- a/slack_sdk/web/async_client.py +++ b/slack_sdk/web/async_client.py @@ -3029,6 +3029,7 @@ async def chat_stopStream( blocks: Optional[Union[str, Sequence[Union[Dict, Block]]]] = None, metadata: Optional[Union[Dict, Metadata]] = None, chunks: Optional[Sequence[Union[Dict, Chunk]]] = None, + session_status: Optional[str] = None, **kwargs, ) -> AsyncSlackResponse: """Stops a streaming conversation. @@ -3042,6 +3043,7 @@ async def chat_stopStream( "blocks": blocks, "metadata": metadata, "chunks": chunks, + "session_status": session_status, } ) _parse_web_class_objects(kwargs) diff --git a/slack_sdk/web/chat_stream.py b/slack_sdk/web/chat_stream.py index 9f97ac7cc..4adbc848a 100644 --- a/slack_sdk/web/chat_stream.py +++ b/slack_sdk/web/chat_stream.py @@ -148,6 +148,7 @@ def stop( chunks: Optional[Sequence[Union[Dict, Chunk]]] = None, blocks: Optional[Union[str, Sequence[Union[Dict, Block]]]] = None, metadata: Optional[Union[Dict, Metadata]] = None, + session_status: Optional[str] = None, **kwargs, ) -> SlackResponse: """Stop the stream and finalize the message. @@ -159,6 +160,7 @@ def stop( what will be appended to the message received so far. metadata: JSON object with event_type and event_payload fields, presented as a URL-encoded string. Metadata you post to Slack is accessible to any app or user who is a member of that workspace. + session_status: The session status to set after stopping the stream. **kwargs: Additional arguments passed to the underlying API calls. Returns: @@ -207,6 +209,7 @@ def stop( blocks=blocks, chunks=flushings, metadata=metadata, + session_status=session_status, **kwargs, ) self._state = "completed" diff --git a/slack_sdk/web/client.py b/slack_sdk/web/client.py index a7a996969..8adf2e589 100644 --- a/slack_sdk/web/client.py +++ b/slack_sdk/web/client.py @@ -3019,6 +3019,7 @@ def chat_stopStream( blocks: Optional[Union[str, Sequence[Union[Dict, Block]]]] = None, metadata: Optional[Union[Dict, Metadata]] = None, chunks: Optional[Sequence[Union[Dict, Chunk]]] = None, + session_status: Optional[str] = None, **kwargs, ) -> SlackResponse: """Stops a streaming conversation. @@ -3032,6 +3033,7 @@ def chat_stopStream( "blocks": blocks, "metadata": metadata, "chunks": chunks, + "session_status": session_status, } ) _parse_web_class_objects(kwargs) diff --git a/slack_sdk/web/legacy_client.py b/slack_sdk/web/legacy_client.py index 9ea477b7e..c538e67af 100644 --- a/slack_sdk/web/legacy_client.py +++ b/slack_sdk/web/legacy_client.py @@ -3029,6 +3029,7 @@ def chat_stopStream( blocks: Optional[Union[str, Sequence[Union[Dict, Block]]]] = None, metadata: Optional[Union[Dict, Metadata]] = None, chunks: Optional[Sequence[Union[Dict, Chunk]]] = None, + session_status: Optional[str] = None, **kwargs, ) -> Union[Future, SlackResponse]: """Stops a streaming conversation. @@ -3042,6 +3043,7 @@ def chat_stopStream( "blocks": blocks, "metadata": metadata, "chunks": chunks, + "session_status": session_status, } ) _parse_web_class_objects(kwargs) diff --git a/tests/slack_sdk/web/test_chat_stream.py b/tests/slack_sdk/web/test_chat_stream.py index 841de9c38..8be6364a3 100644 --- a/tests/slack_sdk/web/test_chat_stream.py +++ b/tests/slack_sdk/web/test_chat_stream.py @@ -139,6 +139,7 @@ def test_streams_a_long_message(self): ) ], markdown_text="*", + session_status="processing", token="xoxb-chat_stream_test_token2", ) @@ -176,6 +177,7 @@ def test_streams_a_long_message(self): json.dumps(stop_request.get("chunks")), '[{"text": "**", "type": "markdown_text"}]', ) + self.assertEqual(stop_request.get("session_status"), "processing") self.assertEqual(stop_request.get("token"), "xoxb-chat_stream_test_token2") self.assertEqual(stop_request.get("ts"), "123.123") diff --git a/tests/slack_sdk_async/web/test_async_chat_stream.py b/tests/slack_sdk_async/web/test_async_chat_stream.py index 5d5ccf344..522fffd06 100644 --- a/tests/slack_sdk_async/web/test_async_chat_stream.py +++ b/tests/slack_sdk_async/web/test_async_chat_stream.py @@ -142,6 +142,7 @@ async def test_streams_a_long_message(self): ) ], markdown_text="*", + session_status="processing", token="xoxb-chat_stream_test_token2", ) @@ -179,6 +180,7 @@ async def test_streams_a_long_message(self): json.dumps(stop_request.get("chunks")), '[{"text": "**", "type": "markdown_text"}]', ) + self.assertEqual(stop_request.get("session_status"), "processing") self.assertEqual(stop_request.get("token"), "xoxb-chat_stream_test_token2") self.assertEqual(stop_request.get("ts"), "123.123")