From db51838f455e9bf11160d8132905a46650ca62d2 Mon Sep 17 00:00:00 2001 From: mijauexe Date: Mon, 26 May 2025 12:27:15 +0200 Subject: [PATCH] Auto confirm breakdown by default, unless arg provided --- core/agents/mixins.py | 3 +++ core/cli/helpers.py | 7 +++++++ core/cli/main.py | 2 ++ core/state/state_manager.py | 1 + tests/cli/test_cli.py | 1 + 5 files changed, 14 insertions(+) diff --git a/core/agents/mixins.py b/core/agents/mixins.py index 8a782b49..2f941c40 100644 --- a/core/agents/mixins.py +++ b/core/agents/mixins.py @@ -56,6 +56,9 @@ class ChatWithBreakdownMixin: } ) + if self.state_manager.auto_confirm_breakdown: + break + chat = await self.ask_question( MIX_BREAKDOWN_CHAT_PROMPT, buttons={"yes": "Yes, looks good!"}, diff --git a/core/cli/helpers.py b/core/cli/helpers.py index 983ec744..2fbc73f2 100644 --- a/core/cli/helpers.py +++ b/core/cli/helpers.py @@ -200,6 +200,13 @@ def parse_arguments() -> Namespace: parser.add_argument("--email", help="User's email address", required=False) parser.add_argument("--extension-version", help="Version of the VSCode extension", required=False) parser.add_argument("--use-git", help="Use Git for version control", action="store_true", required=False) + parser.add_argument( + "--no-auto-confirm-breakdown", + help="Disable auto confirm when LLM requests user input", + action="store_false", + dest="auto_confirm_breakdown", + required=False, + ) parser.add_argument("--access-token", help="Access token", required=False) return parser.parse_args() diff --git a/core/cli/main.py b/core/cli/main.py index 2f86f4d6..756fd872 100644 --- a/core/cli/main.py +++ b/core/cli/main.py @@ -253,6 +253,8 @@ async def async_main( sm = StateManager(db, ui) if args.access_token: sm.update_access_token(args.access_token) + if not args.auto_confirm_breakdown: + sm.auto_confirm_breakdown = False ui_started = await ui.start() if not ui_started: return False diff --git a/core/state/state_manager.py b/core/state/state_manager.py index 2a591b59..adef12bb 100644 --- a/core/state/state_manager.py +++ b/core/state/state_manager.py @@ -53,6 +53,7 @@ class StateManager: self.blockDb = False self.git_available = False self.git_used = False + self.auto_confirm_breakdown = True self.options = {} self.access_token = None self.async_tasks = None diff --git a/tests/cli/test_cli.py b/tests/cli/test_cli.py index a46c4786..57500826 100644 --- a/tests/cli/test_cli.py +++ b/tests/cli/test_cli.py @@ -58,6 +58,7 @@ def test_parse_arguments(mock_ArgumentParser): "--extension-version", "--use-git", "--access-token", + "--no-auto-confirm-breakdown", } parser.parse_args.assert_called_once_with()