computer-use-ootb-internal 0.0.118__tar.gz → 0.0.119__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/PKG-INFO +1 -1
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/pyproject.toml +1 -1
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/guard_service.py +32 -15
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/.gitignore +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/deploy.sh +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/README.md +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/__init__.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/app_teachmode.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/app_teachmode_gradio.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/animation/click_animation.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/animation/icons8-select-cursor-transparent-96.gif +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/animation/test_animation.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/executor/teachmode_executor.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/gui_agent/gui_parser/simple_parser/__init__.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/gui_agent/gui_parser/simple_parser/gui_capture.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/gui_agent/gui_parser/simple_parser/utils.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/gui_agent/gui_parser/uia_tools/__init__.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/gui_agent/gui_parser/uia_tools/screenshot_cli.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/gui_agent/gui_parser/uia_tools/screenshot_service.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/gui_agent/llm_utils/llm_utils.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/gui_agent/llm_utils/oai.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/gui_agent/llm_utils/run_litellm.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/gui_agent/llm_utils/run_llm.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/tools/__init__.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/tools/aws_request.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/tools/base.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/tools/bash.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/tools/collection.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/tools/colorful_text.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/tools/computer.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/tools/computer_marbot.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/tools/edit.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/tools/run.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/computer_use_demo/tools/screen_capture.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/dependency_check.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/preparation/__init__.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/preparation/star_rail_prepare.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/requirements-lite.txt +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/run_teachmode_ootb_args.py +0 -0
- {computer_use_ootb_internal-0.0.118 → computer_use_ootb_internal-0.0.119}/src/computer_use_ootb_internal/service_manager.py +0 -0
@@ -93,16 +93,33 @@ def get_python_executable():
|
|
93
93
|
return python_exe
|
94
94
|
|
95
95
|
def get_pip_executable():
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
96
|
+
"""Tries to locate the pip executable in the same environment."""
|
97
|
+
try:
|
98
|
+
current_python = sys.executable
|
99
|
+
log_info(f"get_pip_executable: sys.executable = {current_python}")
|
100
|
+
python_path = pathlib.Path(current_python)
|
101
|
+
# Common location is ../Scripts/pip.exe relative to python.exe
|
102
|
+
pip_path = python_path.parent / "Scripts" / "pip.exe"
|
103
|
+
log_info(f"get_pip_executable: Checking for pip at {pip_path}")
|
104
|
+
|
105
|
+
if pip_path.exists():
|
106
|
+
log_info(f"get_pip_executable: pip.exe found at {pip_path}")
|
107
|
+
# Quote if necessary
|
108
|
+
pip_exe = str(pip_path)
|
109
|
+
if " " in pip_exe and not pip_exe.startswith('"'):
|
110
|
+
pip_exe = f'"{pip_exe}"'
|
111
|
+
return pip_exe
|
112
|
+
else:
|
113
|
+
log_error(f"get_pip_executable: pip.exe NOT found at {pip_path}. Falling back to 'python -m pip'.")
|
114
|
+
# Fallback is intended here
|
115
|
+
pass # Explicitly pass to reach the fallback return outside the else
|
116
|
+
|
117
|
+
except Exception as e:
|
118
|
+
log_error(f"get_pip_executable: Error determining pip path: {e}", exc_info=True)
|
119
|
+
log_error("get_pip_executable: Falling back to 'python -m pip' due to error.")
|
120
|
+
|
121
|
+
# Fallback return statement if 'exists' is false or an exception occurred
|
122
|
+
return f"{get_python_executable()} -m pip"
|
106
123
|
|
107
124
|
def log_info(msg):
|
108
125
|
thread_name = threading.current_thread().name
|
@@ -250,7 +267,7 @@ class GuardService(win32serviceutil.ServiceFramework):
|
|
250
267
|
def report_command_status(self, command_id, status, details=""):
|
251
268
|
"""Sends command status back to the server."""
|
252
269
|
if not _SERVER_STATUS_REPORT_URL:
|
253
|
-
|
270
|
+
log_error("No server status report URL configured. Skipping report.")
|
254
271
|
return
|
255
272
|
|
256
273
|
payload = {
|
@@ -352,7 +369,7 @@ class GuardService(win32serviceutil.ServiceFramework):
|
|
352
369
|
log_info(f"Process PID={proc.pid} terminated successfully.")
|
353
370
|
stopped_count += 1
|
354
371
|
except psutil.TimeoutExpired:
|
355
|
-
|
372
|
+
log_error(f"Process PID={proc.pid} did not terminate gracefully, killing.")
|
356
373
|
proc.kill()
|
357
374
|
stopped_count += 1
|
358
375
|
except psutil.NoSuchProcess:
|
@@ -385,7 +402,7 @@ class GuardService(win32serviceutil.ServiceFramework):
|
|
385
402
|
normalized_user = user.lower()
|
386
403
|
active_sessions[normalized_user] = session['SessionId']
|
387
404
|
except Exception as query_err:
|
388
|
-
|
405
|
+
log_error(f"Could not query session {session['SessionId']}: {query_err}")
|
389
406
|
|
390
407
|
log_info(f"Found active user sessions: {active_sessions}")
|
391
408
|
|
@@ -397,7 +414,7 @@ class GuardService(win32serviceutil.ServiceFramework):
|
|
397
414
|
if normalized_target in active_sessions:
|
398
415
|
target_session_map[normalized_target] = active_sessions[normalized_target]
|
399
416
|
else:
|
400
|
-
|
417
|
+
log_error(f"Target user '{target_user}' not found in active sessions.")
|
401
418
|
return "failed_user_not_active"
|
402
419
|
|
403
420
|
if not target_session_map:
|
@@ -451,7 +468,7 @@ class GuardService(win32serviceutil.ServiceFramework):
|
|
451
468
|
started_count += 1
|
452
469
|
target_users_started.add(user)
|
453
470
|
else:
|
454
|
-
|
471
|
+
log_error(f"Process PID {dwPid} reported by CreateProcessAsUser does NOT exist shortly after creation. It likely exited immediately.")
|
455
472
|
users_failed_to_start.add(user)
|
456
473
|
# Attempt to get exit code? Difficult without waiting.
|
457
474
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|