cua-agent 0.1.32__tar.gz → 0.1.33__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.
Potentially problematic release.
This version of cua-agent might be problematic. Click here for more details.
- {cua_agent-0.1.32 → cua_agent-0.1.33}/PKG-INFO +1 -1
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/openai/loop.py +3 -10
- {cua_agent-0.1.32 → cua_agent-0.1.33}/pyproject.toml +3 -3
- {cua_agent-0.1.32 → cua_agent-0.1.33}/README.md +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/__init__.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/core/__init__.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/core/agent.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/core/base.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/core/callbacks.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/core/experiment.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/core/factory.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/core/messages.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/core/provider_config.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/core/telemetry.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/core/tools/__init__.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/core/tools/base.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/core/tools/bash.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/core/tools/collection.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/core/tools/computer.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/core/tools/edit.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/core/tools/manager.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/core/tools.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/core/types.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/core/visualization.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/__init__.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/anthropic/__init__.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/anthropic/api/client.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/anthropic/api/logging.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/anthropic/api_handler.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/anthropic/callbacks/__init__.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/anthropic/callbacks/manager.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/anthropic/loop.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/anthropic/prompts.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/anthropic/response_handler.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/anthropic/tools/__init__.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/anthropic/tools/base.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/anthropic/tools/bash.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/anthropic/tools/collection.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/anthropic/tools/computer.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/anthropic/tools/edit.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/anthropic/tools/manager.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/anthropic/tools/run.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/anthropic/types.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/anthropic/utils.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/omni/__init__.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/omni/api_handler.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/omni/clients/anthropic.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/omni/clients/base.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/omni/clients/oaicompat.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/omni/clients/ollama.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/omni/clients/openai.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/omni/clients/utils.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/omni/image_utils.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/omni/loop.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/omni/parser.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/omni/prompts.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/omni/tools/__init__.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/omni/tools/base.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/omni/tools/bash.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/omni/tools/computer.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/omni/tools/manager.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/omni/utils.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/openai/__init__.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/openai/api_handler.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/openai/response_handler.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/openai/tools/__init__.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/openai/tools/base.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/openai/tools/computer.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/openai/tools/manager.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/openai/types.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/openai/utils.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/uitars/__init__.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/uitars/clients/base.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/uitars/clients/oaicompat.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/uitars/loop.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/uitars/prompts.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/uitars/tools/__init__.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/uitars/tools/computer.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/uitars/tools/manager.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/providers/uitars/utils.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/telemetry.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/ui/__init__.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/ui/gradio/__init__.py +0 -0
- {cua_agent-0.1.32 → cua_agent-0.1.33}/agent/ui/gradio/app.py +0 -0
|
@@ -201,16 +201,7 @@ class OpenAILoop(BaseLoop):
|
|
|
201
201
|
|
|
202
202
|
# Emit screenshot callbacks
|
|
203
203
|
await self.handle_screenshot(screenshot_base64, action_type="initial_state")
|
|
204
|
-
|
|
205
|
-
# Save screenshot if requested
|
|
206
|
-
if self.save_trajectory:
|
|
207
|
-
# Ensure screenshot_base64 is a string
|
|
208
|
-
if not isinstance(screenshot_base64, str):
|
|
209
|
-
logger.warning(
|
|
210
|
-
"Converting non-string screenshot_base64 to string for _save_screenshot"
|
|
211
|
-
)
|
|
212
|
-
self._save_screenshot(screenshot_base64, action_type="state")
|
|
213
|
-
logger.info("Screenshot saved to trajectory")
|
|
204
|
+
self._save_screenshot(screenshot_base64, action_type="state")
|
|
214
205
|
|
|
215
206
|
# First add any existing user messages that were passed to run()
|
|
216
207
|
user_query = None
|
|
@@ -351,6 +342,7 @@ class OpenAILoop(BaseLoop):
|
|
|
351
342
|
# Process screenshot through hooks
|
|
352
343
|
action_type = f"after_{action.get('type', 'action')}"
|
|
353
344
|
await self.handle_screenshot(screenshot_base64, action_type=action_type)
|
|
345
|
+
self._save_screenshot(screenshot_base64, action_type=action_type)
|
|
354
346
|
|
|
355
347
|
# Create computer_call_output
|
|
356
348
|
computer_call_output = {
|
|
@@ -397,6 +389,7 @@ class OpenAILoop(BaseLoop):
|
|
|
397
389
|
|
|
398
390
|
# Process the response
|
|
399
391
|
# await self.response_handler.process_response(response, queue)
|
|
392
|
+
self._log_api_call("agent_response", request=None, response=response)
|
|
400
393
|
await queue.put(response)
|
|
401
394
|
except Exception as e:
|
|
402
395
|
logger.error(f"Error executing computer action: {str(e)}")
|
|
@@ -6,7 +6,7 @@ build-backend = "pdm.backend"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "cua-agent"
|
|
9
|
-
version = "0.1.
|
|
9
|
+
version = "0.1.33"
|
|
10
10
|
description = "CUA (Computer Use) Agent for AI-driven computer interaction"
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
authors = [
|
|
@@ -108,7 +108,7 @@ target-version = [
|
|
|
108
108
|
|
|
109
109
|
[tool.ruff]
|
|
110
110
|
line-length = 100
|
|
111
|
-
target-version = "0.1.
|
|
111
|
+
target-version = "0.1.33"
|
|
112
112
|
select = [
|
|
113
113
|
"E",
|
|
114
114
|
"F",
|
|
@@ -122,7 +122,7 @@ docstring-code-format = true
|
|
|
122
122
|
|
|
123
123
|
[tool.mypy]
|
|
124
124
|
strict = true
|
|
125
|
-
python_version = "0.1.
|
|
125
|
+
python_version = "0.1.33"
|
|
126
126
|
ignore_missing_imports = true
|
|
127
127
|
disallow_untyped_defs = true
|
|
128
128
|
check_untyped_defs = true
|
|
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
|
|
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
|
|
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
|