From 21747f66cdfd4c777ea35dff1cfed8dbeb40890f Mon Sep 17 00:00:00 2001 From: Martin Krasser Date: Mon, 20 Jan 2025 06:42:45 +0100 Subject: [PATCH] Ignore empty user inputs on CLI (#25) - prompt user to enter a non-empty message - fixes #12 --- freeact/cli/utils.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/freeact/cli/utils.py b/freeact/cli/utils.py index 293fe61..790f68c 100644 --- a/freeact/cli/utils.py +++ b/freeact/cli/utils.py @@ -51,9 +51,22 @@ async def execution_environment( async def stream_conversation(agent: CodeActAgent, console: Console, show_token_usage: bool = False, **kwargs): + empty_input = False + while True: console.print(Rule("User message", style="dodger_blue1", characters="━")) - user_message = await arun(Prompt.ask, "('q' to quit)", console=console) + + if empty_input: + empty_input = False + prefix = "Please provide a non-empty message " + else: + prefix = "" + + user_message = await arun(Prompt.ask, f"{prefix}('q' to quit)", console=console) + + if not user_message.strip(): + empty_input = True + continue if console.record: console.print(user_message, highlight=False)