From 8ffcac867ba15984dfc509e77a5f94e6f87060fb Mon Sep 17 00:00:00 2001 From: user Date: Mon, 23 Dec 2024 14:23:10 -0500 Subject: [PATCH] Interruption UX. --- ra_aid/__main__.py | 6 ++++-- ra_aid/agent_utils.py | 6 ++++++ ra_aid/tools/human.py | 10 +--------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/ra_aid/__main__.py b/ra_aid/__main__.py index 4af97e0..b7a1dbc 100644 --- a/ra_aid/__main__.py +++ b/ra_aid/__main__.py @@ -228,8 +228,10 @@ def main(): ) except KeyboardInterrupt: - print_interrupt(f"Operation cancelled: {CANCELLED_BY_USER_REASON}") - sys.exit(1) + print() + print(" 👋 Bye!") + print() + sys.exit(0) if __name__ == "__main__": main() diff --git a/ra_aid/agent_utils.py b/ra_aid/agent_utils.py index ff1b9d3..957691a 100644 --- a/ra_aid/agent_utils.py +++ b/ra_aid/agent_utils.py @@ -1,5 +1,6 @@ """Utility functions for working with agents.""" +import sys import time import uuid from typing import Optional, Any, List @@ -278,11 +279,16 @@ def run_task_implementation_agent( _CONTEXT_STACK = [] _INTERRUPT_CONTEXT = None +_FEEDBACK_MODE = False def _request_interrupt(signum, frame): global _INTERRUPT_CONTEXT if _CONTEXT_STACK: _INTERRUPT_CONTEXT = _CONTEXT_STACK[-1] + + if _FEEDBACK_MODE: + print(" 👋 Bye!") + sys.exit(0) class InterruptibleSection: def __enter__(self): diff --git a/ra_aid/tools/human.py b/ra_aid/tools/human.py index 1946ffe..770da44 100644 --- a/ra_aid/tools/human.py +++ b/ra_aid/tools/human.py @@ -1,4 +1,3 @@ -import sys from langchain_core.tools import tool from prompt_toolkit import PromptSession from prompt_toolkit.key_binding import KeyBindings @@ -17,13 +16,6 @@ def create_keybindings(): """Trigger submission when Ctrl+D is pressed.""" event.current_buffer.validate_and_handle() - @bindings.add('c-c') - def exit(event): - """Trigger exit when Ctrl+C is pressed.""" - print() - print(" 👋 Bye!") - sys.exit(0) - return bindings @tool @@ -45,7 +37,7 @@ def ask_human(question: str) -> str: session = PromptSession( multiline=True, key_bindings=create_keybindings(), - prompt_continuation='. ', + prompt_continuation='.', ) print()