mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-07-31 02:37:17 +08:00
fix: stop agent after user choice prompt
This commit is contained in:
@@ -66,8 +66,11 @@ class AskUserChoiceInput(BaseModel):
|
||||
|
||||
|
||||
class AskUserChoiceTool(MoviePilotTool):
|
||||
"""发送按钮选择并让当前 Agent 轮次等待用户回调消息。"""
|
||||
|
||||
name: str = "ask_user_choice"
|
||||
sends_message: bool = True
|
||||
return_direct: bool = True
|
||||
description: str = (
|
||||
"Ask the user to choose from button options on channels that support interactive buttons. "
|
||||
"After the user clicks a button, the selected value will come back as the user's next message."
|
||||
|
||||
@@ -54,6 +54,12 @@ class TestAgentInteraction(unittest.TestCase):
|
||||
self.assertIn("ask_user_choice", [tool.name for tool in telegram_tools])
|
||||
self.assertNotIn("ask_user_choice", [tool.name for tool in wechat_tools])
|
||||
|
||||
def test_choice_tool_returns_direct_after_sending_interaction(self):
|
||||
"""发送按钮后应结束当前 Agent 轮次,等待用户选择作为新消息进入。"""
|
||||
tool = AskUserChoiceTool(session_id="session-1", user_id="10001")
|
||||
|
||||
self.assertTrue(tool.return_direct)
|
||||
|
||||
def test_choice_tool_sends_buttons_and_registers_pending_request(self):
|
||||
tool = AskUserChoiceTool(session_id="session-1", user_id="10001")
|
||||
tool.set_message_attr(
|
||||
|
||||
Reference in New Issue
Block a user