diff --git a/claude-agent-sdk/listeners/events/app_home_opened.py b/claude-agent-sdk/listeners/events/app_home_opened.py index 2e725c6..9bc0289 100644 --- a/claude-agent-sdk/listeners/events/app_home_opened.py +++ b/claude-agent-sdk/listeners/events/app_home_opened.py @@ -26,10 +26,9 @@ async def handle_app_home_opened( """ try: if event.get("tab") == "messages": - await client.assistant_threads_setSuggestedPrompts( - channel_id=event["channel"], - title="How can I help you today?", + await context.set_suggested_prompts( prompts=SUGGESTED_PROMPTS, + title="How can I help you today?", ) # TODO(agent-dm-messages-tab): handle app_context_changed once Bolt supports it return diff --git a/claude-agent-sdk/requirements.txt b/claude-agent-sdk/requirements.txt index 0ed37d7..f282dd4 100644 --- a/claude-agent-sdk/requirements.txt +++ b/claude-agent-sdk/requirements.txt @@ -1,5 +1,5 @@ slack-sdk==3.43.0 -slack-bolt==1.29.0 +../vendor/slack_bolt-1.29.0+pr1549.812f7c3-py2.py3-none-any.whl slack-cli-hooks==0.3.0 claude-agent-sdk==0.2.114 aiohttp==3.14.1 diff --git a/claude-agent-sdk/tests/test_app_home_opened.py b/claude-agent-sdk/tests/test_app_home_opened.py index b5724b5..f652735 100644 --- a/claude-agent-sdk/tests/test_app_home_opened.py +++ b/claude-agent-sdk/tests/test_app_home_opened.py @@ -14,9 +14,10 @@ class TestAppHomeOpened: def setup_method(self): self.fake_client = Mock(AsyncWebClient) self.fake_client.views_publish = AsyncMock() - self.fake_client.assistant_threads_setSuggestedPrompts = AsyncMock() + self.fake_set_suggested_prompts = AsyncMock() self.fake_context = Mock(AsyncBoltContext) self.fake_context.user_id = "U123" + self.fake_context.set_suggested_prompts = self.fake_set_suggested_prompts @pytest.mark.asyncio async def test_publishes_home_view_when_tab_is_home(self): @@ -31,7 +32,7 @@ async def test_publishes_home_view_when_tab_is_home(self): kwargs = self.fake_client.views_publish.call_args.kwargs assert kwargs["user_id"] == "U123" assert kwargs["view"]["type"] == "home" - self.fake_client.assistant_threads_setSuggestedPrompts.assert_not_called() + self.fake_set_suggested_prompts.assert_not_called() @pytest.mark.asyncio async def test_sets_suggested_prompts_when_tab_is_messages(self): @@ -42,9 +43,8 @@ async def test_sets_suggested_prompts_when_tab_is_messages(self): logger=test_logger, ) - self.fake_client.assistant_threads_setSuggestedPrompts.assert_called_once() - kwargs = self.fake_client.assistant_threads_setSuggestedPrompts.call_args.kwargs - assert kwargs["channel_id"] == "D123" + self.fake_set_suggested_prompts.assert_called_once() + kwargs = self.fake_set_suggested_prompts.call_args.kwargs assert isinstance(kwargs["prompts"], list) self.fake_client.views_publish.assert_not_called() diff --git a/openai-agents-sdk/listeners/events/app_home_opened.py b/openai-agents-sdk/listeners/events/app_home_opened.py index 92a5cc0..535a81a 100644 --- a/openai-agents-sdk/listeners/events/app_home_opened.py +++ b/openai-agents-sdk/listeners/events/app_home_opened.py @@ -26,10 +26,9 @@ def handle_app_home_opened( """ try: if event.get("tab") == "messages": - client.assistant_threads_setSuggestedPrompts( - channel_id=event["channel"], - title="How can I help you today?", + context.set_suggested_prompts( prompts=SUGGESTED_PROMPTS, + title="How can I help you today?", ) # TODO(agent-dm-messages-tab): handle app_context_changed once Bolt supports it return diff --git a/openai-agents-sdk/requirements.txt b/openai-agents-sdk/requirements.txt index a75ae07..4af25af 100644 --- a/openai-agents-sdk/requirements.txt +++ b/openai-agents-sdk/requirements.txt @@ -1,5 +1,5 @@ slack-sdk==3.43.0 -slack-bolt==1.29.0 +../vendor/slack_bolt-1.29.0+pr1549.812f7c3-py2.py3-none-any.whl slack-cli-hooks==0.3.0 openai-agents==0.18.0 python-dotenv==1.2.2 diff --git a/openai-agents-sdk/tests/test_app_home_opened.py b/openai-agents-sdk/tests/test_app_home_opened.py index 96c4823..08087c8 100644 --- a/openai-agents-sdk/tests/test_app_home_opened.py +++ b/openai-agents-sdk/tests/test_app_home_opened.py @@ -12,8 +12,10 @@ class TestAppHomeOpened: def setup_method(self): self.fake_client = Mock(WebClient) + self.fake_set_suggested_prompts = Mock() self.fake_context = Mock(BoltContext) self.fake_context.user_id = "U123" + self.fake_context.set_suggested_prompts = self.fake_set_suggested_prompts def test_publishes_home_view_when_tab_is_home(self): handle_app_home_opened( @@ -27,7 +29,7 @@ def test_publishes_home_view_when_tab_is_home(self): kwargs = self.fake_client.views_publish.call_args.kwargs assert kwargs["user_id"] == "U123" assert kwargs["view"]["type"] == "home" - self.fake_client.assistant_threads_setSuggestedPrompts.assert_not_called() + self.fake_set_suggested_prompts.assert_not_called() def test_sets_suggested_prompts_when_tab_is_messages(self): handle_app_home_opened( @@ -37,9 +39,8 @@ def test_sets_suggested_prompts_when_tab_is_messages(self): logger=test_logger, ) - self.fake_client.assistant_threads_setSuggestedPrompts.assert_called_once() - kwargs = self.fake_client.assistant_threads_setSuggestedPrompts.call_args.kwargs - assert kwargs["channel_id"] == "D123" + self.fake_set_suggested_prompts.assert_called_once() + kwargs = self.fake_set_suggested_prompts.call_args.kwargs assert isinstance(kwargs["prompts"], list) self.fake_client.views_publish.assert_not_called() diff --git a/pydantic-ai/listeners/events/app_home_opened.py b/pydantic-ai/listeners/events/app_home_opened.py index 92a5cc0..535a81a 100644 --- a/pydantic-ai/listeners/events/app_home_opened.py +++ b/pydantic-ai/listeners/events/app_home_opened.py @@ -26,10 +26,9 @@ def handle_app_home_opened( """ try: if event.get("tab") == "messages": - client.assistant_threads_setSuggestedPrompts( - channel_id=event["channel"], - title="How can I help you today?", + context.set_suggested_prompts( prompts=SUGGESTED_PROMPTS, + title="How can I help you today?", ) # TODO(agent-dm-messages-tab): handle app_context_changed once Bolt supports it return diff --git a/pydantic-ai/requirements.txt b/pydantic-ai/requirements.txt index 09e713e..be706a5 100644 --- a/pydantic-ai/requirements.txt +++ b/pydantic-ai/requirements.txt @@ -1,5 +1,5 @@ slack-sdk==3.43.0 -slack-bolt==1.29.0 +../vendor/slack_bolt-1.29.0+pr1549.812f7c3-py2.py3-none-any.whl slack-cli-hooks==0.3.0 pydantic-ai[openai,anthropic]==1.107.0 python-dotenv==1.2.2 diff --git a/pydantic-ai/tests/test_app_home_opened.py b/pydantic-ai/tests/test_app_home_opened.py index 96c4823..08087c8 100644 --- a/pydantic-ai/tests/test_app_home_opened.py +++ b/pydantic-ai/tests/test_app_home_opened.py @@ -12,8 +12,10 @@ class TestAppHomeOpened: def setup_method(self): self.fake_client = Mock(WebClient) + self.fake_set_suggested_prompts = Mock() self.fake_context = Mock(BoltContext) self.fake_context.user_id = "U123" + self.fake_context.set_suggested_prompts = self.fake_set_suggested_prompts def test_publishes_home_view_when_tab_is_home(self): handle_app_home_opened( @@ -27,7 +29,7 @@ def test_publishes_home_view_when_tab_is_home(self): kwargs = self.fake_client.views_publish.call_args.kwargs assert kwargs["user_id"] == "U123" assert kwargs["view"]["type"] == "home" - self.fake_client.assistant_threads_setSuggestedPrompts.assert_not_called() + self.fake_set_suggested_prompts.assert_not_called() def test_sets_suggested_prompts_when_tab_is_messages(self): handle_app_home_opened( @@ -37,9 +39,8 @@ def test_sets_suggested_prompts_when_tab_is_messages(self): logger=test_logger, ) - self.fake_client.assistant_threads_setSuggestedPrompts.assert_called_once() - kwargs = self.fake_client.assistant_threads_setSuggestedPrompts.call_args.kwargs - assert kwargs["channel_id"] == "D123" + self.fake_set_suggested_prompts.assert_called_once() + kwargs = self.fake_set_suggested_prompts.call_args.kwargs assert isinstance(kwargs["prompts"], list) self.fake_client.views_publish.assert_not_called() diff --git a/vendor/slack_bolt-1.29.0+pr1549.812f7c3-py2.py3-none-any.whl b/vendor/slack_bolt-1.29.0+pr1549.812f7c3-py2.py3-none-any.whl new file mode 100644 index 0000000..f7b979f Binary files /dev/null and b/vendor/slack_bolt-1.29.0+pr1549.812f7c3-py2.py3-none-any.whl differ