|
1 | 1 | import types |
2 | | -from typing import Any, Callable, Dict, List, Optional, Union |
| 2 | +from typing import Any, Callable, Dict, List, Optional, Tuple, Union |
3 | 3 |
|
4 | 4 | from je_auto_control.utils.exception.exception_tags import ( |
5 | 5 | action_is_null_error_message, add_command_exception_error_message, |
|
38 | 38 | from je_auto_control.utils.mcp_server.server import start_mcp_stdio_server |
39 | 39 | from je_auto_control.utils.package_manager.package_manager_class import package_manager |
40 | 40 | from je_auto_control.utils.project.create_project_structure import create_project_dir |
41 | | -from je_auto_control.utils.shell_process.shell_exec import ShellManager |
| 41 | +from je_auto_control.utils.shell_process.shell_exec import default_shell_manager |
42 | 42 | from je_auto_control.utils.start_exe.start_another_process import start_exe |
43 | 43 | from je_auto_control.utils.test_record.record_test_class import record_action_to_list, test_record_instance |
44 | 44 | from je_auto_control.wrapper.auto_control_image import locate_all_image, locate_and_click, locate_image_center |
@@ -91,6 +91,24 @@ def _vlm_locate_as_list(description: str, |
91 | 91 | return None if coords is None else [coords[0], coords[1]] |
92 | 92 |
|
93 | 93 |
|
| 94 | +def _click_mouse_left(x: Optional[int] = None, |
| 95 | + y: Optional[int] = None) -> Tuple[int, int, int]: |
| 96 | + """Executor adapter: click left mouse button (button is hardcoded).""" |
| 97 | + return click_mouse("mouse_left", x, y) |
| 98 | + |
| 99 | + |
| 100 | +def _click_mouse_right(x: Optional[int] = None, |
| 101 | + y: Optional[int] = None) -> Tuple[int, int, int]: |
| 102 | + """Executor adapter: click right mouse button (button is hardcoded).""" |
| 103 | + return click_mouse("mouse_right", x, y) |
| 104 | + |
| 105 | + |
| 106 | +def _click_mouse_middle(x: Optional[int] = None, |
| 107 | + y: Optional[int] = None) -> Tuple[int, int, int]: |
| 108 | + """Executor adapter: click middle mouse button (button is hardcoded).""" |
| 109 | + return click_mouse("mouse_middle", x, y) |
| 110 | + |
| 111 | + |
94 | 112 | def _history_list_as_dicts(limit: int = 100, |
95 | 113 | source_type: Optional[str] = None) -> List[dict]: |
96 | 114 | """Executor adapter: list run history as plain dicts (JSON-friendly).""" |
@@ -124,9 +142,9 @@ def __init__(self): |
124 | 142 | # 事件字典,對應字串名稱到函式 |
125 | 143 | self.event_dict: dict = { |
126 | 144 | # Mouse 滑鼠相關 |
127 | | - "AC_mouse_left": click_mouse, |
128 | | - "AC_mouse_right": click_mouse, |
129 | | - "AC_mouse_middle": click_mouse, |
| 145 | + "AC_mouse_left": _click_mouse_left, |
| 146 | + "AC_mouse_right": _click_mouse_right, |
| 147 | + "AC_mouse_middle": _click_mouse_middle, |
130 | 148 | "AC_click_mouse": click_mouse, |
131 | 149 | "AC_get_mouse_table": get_mouse_table, |
132 | 150 | "AC_get_mouse_position": get_mouse_position, |
@@ -178,7 +196,7 @@ def __init__(self): |
178 | 196 | "AC_create_project": create_project_dir, |
179 | 197 |
|
180 | 198 | # Shell |
181 | | - "AC_shell_command": ShellManager().exec_shell, |
| 199 | + "AC_shell_command": default_shell_manager.exec_shell, |
182 | 200 |
|
183 | 201 | # Process |
184 | 202 | "AC_execute_process": start_exe, |
|
0 commit comments