cua-agent 0.1.3__tar.gz → 0.1.5__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.5/PKG-INFO +120 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/README.md +4 -56
- cua_agent-0.1.5/agent/__init__.py +56 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/core/agent.py +0 -7
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/core/telemetry.py +1 -9
- {cua_agent-0.1.3 → cua_agent-0.1.5}/pyproject.toml +4 -3
- cua_agent-0.1.3/PKG-INFO +0 -45
- cua_agent-0.1.3/agent/__init__.py +0 -22
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/README.md +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/core/README.md +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/core/__init__.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/core/base_agent.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/core/callbacks.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/core/computer_agent.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/core/experiment.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/core/factory.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/core/loop.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/core/messages.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/core/tools/__init__.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/core/tools/base.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/core/tools/bash.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/core/tools/collection.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/core/tools/computer.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/core/tools/edit.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/core/tools/manager.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/__init__.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/anthropic/__init__.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/anthropic/api/client.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/anthropic/api/logging.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/anthropic/callbacks/manager.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/anthropic/loop.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/anthropic/messages/manager.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/anthropic/prompts.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/anthropic/tools/__init__.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/anthropic/tools/base.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/anthropic/tools/bash.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/anthropic/tools/collection.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/anthropic/tools/computer.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/anthropic/tools/edit.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/anthropic/tools/manager.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/anthropic/tools/run.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/anthropic/types.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/omni/__init__.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/omni/callbacks.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/omni/clients/anthropic.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/omni/clients/base.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/omni/clients/groq.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/omni/clients/openai.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/omni/clients/utils.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/omni/experiment.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/omni/image_utils.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/omni/loop.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/omni/messages.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/omni/parser.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/omni/prompts.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/omni/tool_manager.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/omni/tools/__init__.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/omni/tools/bash.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/omni/tools/computer.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/omni/tools/manager.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/omni/types.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/omni/utils.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/providers/omni/visualization.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/telemetry.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/types/__init__.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/types/base.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/types/messages.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/agent/types/tools.py +0 -0
- {cua_agent-0.1.3 → cua_agent-0.1.5}/tests/test_agent.py +0 -0
cua_agent-0.1.5/PKG-INFO
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: cua-agent
|
|
3
|
+
Version: 0.1.5
|
|
4
|
+
Summary: CUA (Computer Use) Agent for AI-driven computer interaction
|
|
5
|
+
Author-Email: TryCua <gh@trycua.com>
|
|
6
|
+
Requires-Python: <3.13,>=3.10
|
|
7
|
+
Requires-Dist: httpx<0.29.0,>=0.27.0
|
|
8
|
+
Requires-Dist: aiohttp<4.0.0,>=3.9.3
|
|
9
|
+
Requires-Dist: asyncio
|
|
10
|
+
Requires-Dist: anyio<5.0.0,>=4.4.1
|
|
11
|
+
Requires-Dist: typing-extensions<5.0.0,>=4.12.2
|
|
12
|
+
Requires-Dist: pydantic<3.0.0,>=2.6.4
|
|
13
|
+
Requires-Dist: rich<14.0.0,>=13.7.1
|
|
14
|
+
Requires-Dist: python-dotenv<2.0.0,>=1.0.1
|
|
15
|
+
Requires-Dist: cua-computer<0.2.0,>=0.1.0
|
|
16
|
+
Requires-Dist: cua-core<0.2.0,>=0.1.0
|
|
17
|
+
Requires-Dist: certifi>=2024.2.2
|
|
18
|
+
Provides-Extra: anthropic
|
|
19
|
+
Requires-Dist: anthropic>=0.49.0; extra == "anthropic"
|
|
20
|
+
Requires-Dist: boto3<2.0.0,>=1.35.81; extra == "anthropic"
|
|
21
|
+
Provides-Extra: som
|
|
22
|
+
Requires-Dist: torch>=2.2.1; extra == "som"
|
|
23
|
+
Requires-Dist: torchvision>=0.17.1; extra == "som"
|
|
24
|
+
Requires-Dist: ultralytics>=8.0.0; extra == "som"
|
|
25
|
+
Requires-Dist: transformers>=4.38.2; extra == "som"
|
|
26
|
+
Requires-Dist: cua-som<0.2.0,>=0.1.0; extra == "som"
|
|
27
|
+
Requires-Dist: anthropic<0.47.0,>=0.46.0; extra == "som"
|
|
28
|
+
Requires-Dist: boto3<2.0.0,>=1.35.81; extra == "som"
|
|
29
|
+
Requires-Dist: openai<2.0.0,>=1.14.0; extra == "som"
|
|
30
|
+
Requires-Dist: groq<0.5.0,>=0.4.0; extra == "som"
|
|
31
|
+
Requires-Dist: dashscope<2.0.0,>=1.13.0; extra == "som"
|
|
32
|
+
Requires-Dist: requests<3.0.0,>=2.31.0; extra == "som"
|
|
33
|
+
Provides-Extra: all
|
|
34
|
+
Requires-Dist: torch>=2.2.1; extra == "all"
|
|
35
|
+
Requires-Dist: torchvision>=0.17.1; extra == "all"
|
|
36
|
+
Requires-Dist: ultralytics>=8.0.0; extra == "all"
|
|
37
|
+
Requires-Dist: transformers>=4.38.2; extra == "all"
|
|
38
|
+
Requires-Dist: cua-som<0.2.0,>=0.1.0; extra == "all"
|
|
39
|
+
Requires-Dist: anthropic<0.47.0,>=0.46.0; extra == "all"
|
|
40
|
+
Requires-Dist: boto3<2.0.0,>=1.35.81; extra == "all"
|
|
41
|
+
Requires-Dist: openai<2.0.0,>=1.14.0; extra == "all"
|
|
42
|
+
Requires-Dist: groq<0.5.0,>=0.4.0; extra == "all"
|
|
43
|
+
Requires-Dist: dashscope<2.0.0,>=1.13.0; extra == "all"
|
|
44
|
+
Requires-Dist: requests<3.0.0,>=2.31.0; extra == "all"
|
|
45
|
+
Description-Content-Type: text/markdown
|
|
46
|
+
|
|
47
|
+
<div align="center">
|
|
48
|
+
<h1>
|
|
49
|
+
<div class="image-wrapper" style="display: inline-block;">
|
|
50
|
+
<picture>
|
|
51
|
+
<source media="(prefers-color-scheme: dark)" alt="logo" height="150" srcset="../../img/logo_white.png" style="display: block; margin: auto;">
|
|
52
|
+
<source media="(prefers-color-scheme: light)" alt="logo" height="150" srcset="../../img/logo_black.png" style="display: block; margin: auto;">
|
|
53
|
+
<img alt="Shows my svg">
|
|
54
|
+
</picture>
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
[](#)
|
|
58
|
+
[](#)
|
|
59
|
+
[](https://discord.com/invite/mVnXXpdE85)
|
|
60
|
+
[](https://pypi.org/project/cua-computer/)
|
|
61
|
+
</h1>
|
|
62
|
+
</div>
|
|
63
|
+
|
|
64
|
+
**Agent** is a Computer Use (CUA) framework for running multi-app agentic workflows targeting macOS and Linux sandbox, supporting local (Ollama) and cloud model providers (OpenAI, Anthropic, Groq, DeepSeek, Qwen). The framework integrates with Microsoft's OmniParser for enhanced UI understanding and interaction.
|
|
65
|
+
|
|
66
|
+
### Get started with Agent
|
|
67
|
+
|
|
68
|
+
```python
|
|
69
|
+
from agent import ComputerAgent, AgentLoop, LLMProvider
|
|
70
|
+
from computer import Computer
|
|
71
|
+
|
|
72
|
+
computer = Computer(verbosity=logging.INFO)
|
|
73
|
+
|
|
74
|
+
agent = ComputerAgent(
|
|
75
|
+
computer=computer,
|
|
76
|
+
loop=AgentLoop.ANTHROPIC,
|
|
77
|
+
# loop=AgentLoop.OMNI,
|
|
78
|
+
model=LLM(provider=LLMProvider.ANTHROPIC, name="claude-3-7-sonnet-20250219"),
|
|
79
|
+
# model=LLM(provider=LLMProvider.OPENAI, name="gpt-4.5-preview"),
|
|
80
|
+
save_trajectory=True,
|
|
81
|
+
trajectory_dir=str(Path("trajectories")),
|
|
82
|
+
only_n_most_recent_images=3,
|
|
83
|
+
verbosity=logging.INFO,
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
tasks = [
|
|
87
|
+
"""
|
|
88
|
+
Please help me with the following task:
|
|
89
|
+
1. Open Safari browser
|
|
90
|
+
2. Go to Wikipedia.org
|
|
91
|
+
3. Search for "Claude AI"
|
|
92
|
+
4. Summarize the main points you find about Claude AI
|
|
93
|
+
"""
|
|
94
|
+
]
|
|
95
|
+
|
|
96
|
+
async with agent:
|
|
97
|
+
for i, task in enumerate(tasks, 1):
|
|
98
|
+
print(f"\nExecuting task {i}/{len(tasks)}: {task}")
|
|
99
|
+
async for result in agent.run(task):
|
|
100
|
+
print(result)
|
|
101
|
+
print(f"Task {i} completed")
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Install
|
|
105
|
+
|
|
106
|
+
### cua-agent
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
pip install "cua-agent[all]"
|
|
110
|
+
|
|
111
|
+
# or install specific loop providers
|
|
112
|
+
pip install "cua-agent[anthropic]"
|
|
113
|
+
pip install "cua-agent[omni]"
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Run
|
|
117
|
+
|
|
118
|
+
Refer to these notebooks for step-by-step guides on how to use the Computer-Use Agent (CUA):
|
|
119
|
+
|
|
120
|
+
- [Agent Notebook](../../notebooks/agent_nb.ipynb) - Complete examples and workflows
|
|
@@ -60,67 +60,15 @@ async with agent:
|
|
|
60
60
|
### cua-agent
|
|
61
61
|
|
|
62
62
|
```bash
|
|
63
|
-
|
|
64
|
-
pip install cua-agent[all]
|
|
63
|
+
pip install "cua-agent[all]"
|
|
65
64
|
|
|
66
65
|
# or install specific loop providers
|
|
67
|
-
pip install cua-agent[anthropic]
|
|
68
|
-
pip install cua-agent[omni]
|
|
69
|
-
|
|
70
|
-
|
|
66
|
+
pip install "cua-agent[anthropic]"
|
|
67
|
+
pip install "cua-agent[omni]"
|
|
71
68
|
```
|
|
72
69
|
|
|
73
|
-
## Features
|
|
74
|
-
|
|
75
|
-
### OmniParser Integration
|
|
76
|
-
- Enhanced UI understanding with element detection
|
|
77
|
-
- Automatic bounding box detection for UI elements
|
|
78
|
-
- Improved accuracy for complex UI interactions
|
|
79
|
-
- Support for icon and text element recognition
|
|
80
|
-
|
|
81
|
-
### Basic Computer Control
|
|
82
|
-
- Direct keyboard and mouse control
|
|
83
|
-
- Window and application management
|
|
84
|
-
- Screenshot capabilities
|
|
85
|
-
- Basic UI element detection
|
|
86
|
-
|
|
87
|
-
### Provider Support
|
|
88
|
-
- OpenAI (GPT-4V) - Recommended for OmniParser integration
|
|
89
|
-
- Anthropic (Claude) - Strong general performance
|
|
90
|
-
- Groq - Fast inference with Llama models
|
|
91
|
-
- DeepSeek - Alternative model provider
|
|
92
|
-
- Qwen - Alibaba's multimodal model
|
|
93
|
-
|
|
94
70
|
## Run
|
|
95
71
|
|
|
96
72
|
Refer to these notebooks for step-by-step guides on how to use the Computer-Use Agent (CUA):
|
|
97
73
|
|
|
98
|
-
- [Agent Notebook](../../notebooks/agent_nb.ipynb) - Complete examples and workflows
|
|
99
|
-
|
|
100
|
-
## Components
|
|
101
|
-
|
|
102
|
-
The library consists of several components:
|
|
103
|
-
|
|
104
|
-
- **Core**
|
|
105
|
-
- `ComputerAgent`: Unified agent class supporting multiple loop types
|
|
106
|
-
- `BaseComputerAgent`: Abstract base class for computer agents
|
|
107
|
-
|
|
108
|
-
- **Providers**
|
|
109
|
-
- `Anthropic`: Implementation for Anthropic Claude models
|
|
110
|
-
- `Omni`: Implementation for multiple providers (OpenAI, Groq, etc.)
|
|
111
|
-
|
|
112
|
-
- **Loops**
|
|
113
|
-
- `AnthropicLoop`: Loop implementation for Anthropic
|
|
114
|
-
- `OmniLoop`: Generic loop supporting multiple providers
|
|
115
|
-
|
|
116
|
-
## Configuration
|
|
117
|
-
|
|
118
|
-
The agent can be configured with various parameters:
|
|
119
|
-
|
|
120
|
-
- **loop_type**: The type of loop to use (ANTHROPIC or OMNI)
|
|
121
|
-
- **provider**: AI provider to use with the loop
|
|
122
|
-
- **model**: The AI model to use
|
|
123
|
-
- **save_trajectory**: Whether to save screenshots and logs
|
|
124
|
-
- **only_n_most_recent_images**: Only keep a specific number of recent images
|
|
125
|
-
|
|
126
|
-
See the [Core README](./agent/core/README.md) for more details on the unified agent.
|
|
74
|
+
- [Agent Notebook](../../notebooks/agent_nb.ipynb) - Complete examples and workflows
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"""CUA (Computer Use) Agent for AI-driven computer interaction."""
|
|
2
|
+
|
|
3
|
+
import sys
|
|
4
|
+
import logging
|
|
5
|
+
|
|
6
|
+
__version__ = "0.1.0"
|
|
7
|
+
|
|
8
|
+
# Initialize logging
|
|
9
|
+
logger = logging.getLogger("cua.agent")
|
|
10
|
+
|
|
11
|
+
# Initialize telemetry when the package is imported
|
|
12
|
+
try:
|
|
13
|
+
# Import from core telemetry for basic functions
|
|
14
|
+
from core.telemetry import (
|
|
15
|
+
is_telemetry_enabled,
|
|
16
|
+
flush,
|
|
17
|
+
record_event,
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
# Import set_dimension from our own telemetry module
|
|
21
|
+
from .core.telemetry import set_dimension
|
|
22
|
+
|
|
23
|
+
# Check if telemetry is enabled
|
|
24
|
+
if is_telemetry_enabled():
|
|
25
|
+
logger.info("Telemetry is enabled")
|
|
26
|
+
|
|
27
|
+
# Record package initialization
|
|
28
|
+
record_event(
|
|
29
|
+
"module_init",
|
|
30
|
+
{
|
|
31
|
+
"module": "agent",
|
|
32
|
+
"version": __version__,
|
|
33
|
+
"python_version": sys.version,
|
|
34
|
+
},
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
# Set the package version as a dimension
|
|
38
|
+
set_dimension("agent_version", __version__)
|
|
39
|
+
|
|
40
|
+
# Flush events to ensure they're sent
|
|
41
|
+
flush()
|
|
42
|
+
else:
|
|
43
|
+
logger.info("Telemetry is disabled")
|
|
44
|
+
except ImportError as e:
|
|
45
|
+
# Telemetry not available
|
|
46
|
+
logger.warning(f"Telemetry not available: {e}")
|
|
47
|
+
except Exception as e:
|
|
48
|
+
# Other issues with telemetry
|
|
49
|
+
logger.warning(f"Error initializing telemetry: {e}")
|
|
50
|
+
|
|
51
|
+
from .core.factory import AgentFactory
|
|
52
|
+
from .core.agent import ComputerAgent
|
|
53
|
+
from .providers.omni.types import LLMProvider, LLM
|
|
54
|
+
from .types.base import Provider, AgentLoop
|
|
55
|
+
|
|
56
|
+
__all__ = ["AgentFactory", "Provider", "ComputerAgent", "AgentLoop", "LLMProvider", "LLM"]
|
|
@@ -83,13 +83,6 @@ class ComputerAgent(BaseComputerAgent):
|
|
|
83
83
|
# Store telemetry preference
|
|
84
84
|
self.telemetry_enabled = telemetry_enabled
|
|
85
85
|
|
|
86
|
-
# Pass telemetry preference to computer if available
|
|
87
|
-
if hasattr(computer, "telemetry_enabled"):
|
|
88
|
-
# Computer doesn't have a setter for telemetry_enabled
|
|
89
|
-
# Use disable_telemetry() method if telemetry is disabled
|
|
90
|
-
if not telemetry_enabled and hasattr(computer, "disable_telemetry"):
|
|
91
|
-
computer.disable_telemetry()
|
|
92
|
-
|
|
93
86
|
# Process the model configuration
|
|
94
87
|
self.model = self._process_model_config(model, loop)
|
|
95
88
|
self.loop_type = loop
|
|
@@ -4,8 +4,7 @@ import logging
|
|
|
4
4
|
import os
|
|
5
5
|
import platform
|
|
6
6
|
import sys
|
|
7
|
-
import
|
|
8
|
-
from typing import Dict, Any, Optional
|
|
7
|
+
from typing import Dict, Any
|
|
9
8
|
|
|
10
9
|
# Import the core telemetry module
|
|
11
10
|
TELEMETRY_AVAILABLE = False
|
|
@@ -106,13 +105,6 @@ def enable_telemetry() -> bool:
|
|
|
106
105
|
return False
|
|
107
106
|
|
|
108
107
|
|
|
109
|
-
def disable_telemetry() -> None:
|
|
110
|
-
"""Disable telemetry for this session."""
|
|
111
|
-
global TELEMETRY_AVAILABLE
|
|
112
|
-
TELEMETRY_AVAILABLE = False
|
|
113
|
-
logger.info("Telemetry disabled for this session")
|
|
114
|
-
|
|
115
|
-
|
|
116
108
|
def is_telemetry_enabled() -> bool:
|
|
117
109
|
"""Check if telemetry is enabled.
|
|
118
110
|
|
|
@@ -6,8 +6,9 @@ build-backend = "pdm.backend"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "cua-agent"
|
|
9
|
-
version = "0.1.
|
|
9
|
+
version = "0.1.5"
|
|
10
10
|
description = "CUA (Computer Use) Agent for AI-driven computer interaction"
|
|
11
|
+
readme = "README.md"
|
|
11
12
|
authors = [
|
|
12
13
|
{ name = "TryCua", email = "gh@trycua.com" },
|
|
13
14
|
]
|
|
@@ -79,7 +80,7 @@ target-version = [
|
|
|
79
80
|
|
|
80
81
|
[tool.ruff]
|
|
81
82
|
line-length = 100
|
|
82
|
-
target-version = "0.1.
|
|
83
|
+
target-version = "0.1.5"
|
|
83
84
|
select = [
|
|
84
85
|
"E",
|
|
85
86
|
"F",
|
|
@@ -93,7 +94,7 @@ docstring-code-format = true
|
|
|
93
94
|
|
|
94
95
|
[tool.mypy]
|
|
95
96
|
strict = true
|
|
96
|
-
python_version = "0.1.
|
|
97
|
+
python_version = "0.1.5"
|
|
97
98
|
ignore_missing_imports = true
|
|
98
99
|
disallow_untyped_defs = true
|
|
99
100
|
check_untyped_defs = true
|
cua_agent-0.1.3/PKG-INFO
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: cua-agent
|
|
3
|
-
Version: 0.1.3
|
|
4
|
-
Summary: CUA (Computer Use) Agent for AI-driven computer interaction
|
|
5
|
-
Author-Email: TryCua <gh@trycua.com>
|
|
6
|
-
Requires-Python: <3.13,>=3.10
|
|
7
|
-
Requires-Dist: httpx<0.29.0,>=0.27.0
|
|
8
|
-
Requires-Dist: aiohttp<4.0.0,>=3.9.3
|
|
9
|
-
Requires-Dist: asyncio
|
|
10
|
-
Requires-Dist: anyio<5.0.0,>=4.4.1
|
|
11
|
-
Requires-Dist: typing-extensions<5.0.0,>=4.12.2
|
|
12
|
-
Requires-Dist: pydantic<3.0.0,>=2.6.4
|
|
13
|
-
Requires-Dist: rich<14.0.0,>=13.7.1
|
|
14
|
-
Requires-Dist: python-dotenv<2.0.0,>=1.0.1
|
|
15
|
-
Requires-Dist: cua-computer<0.2.0,>=0.1.0
|
|
16
|
-
Requires-Dist: cua-core<0.2.0,>=0.1.0
|
|
17
|
-
Requires-Dist: certifi>=2024.2.2
|
|
18
|
-
Provides-Extra: anthropic
|
|
19
|
-
Requires-Dist: anthropic>=0.49.0; extra == "anthropic"
|
|
20
|
-
Requires-Dist: boto3<2.0.0,>=1.35.81; extra == "anthropic"
|
|
21
|
-
Provides-Extra: som
|
|
22
|
-
Requires-Dist: torch>=2.2.1; extra == "som"
|
|
23
|
-
Requires-Dist: torchvision>=0.17.1; extra == "som"
|
|
24
|
-
Requires-Dist: ultralytics>=8.0.0; extra == "som"
|
|
25
|
-
Requires-Dist: transformers>=4.38.2; extra == "som"
|
|
26
|
-
Requires-Dist: cua-som<0.2.0,>=0.1.0; extra == "som"
|
|
27
|
-
Requires-Dist: anthropic<0.47.0,>=0.46.0; extra == "som"
|
|
28
|
-
Requires-Dist: boto3<2.0.0,>=1.35.81; extra == "som"
|
|
29
|
-
Requires-Dist: openai<2.0.0,>=1.14.0; extra == "som"
|
|
30
|
-
Requires-Dist: groq<0.5.0,>=0.4.0; extra == "som"
|
|
31
|
-
Requires-Dist: dashscope<2.0.0,>=1.13.0; extra == "som"
|
|
32
|
-
Requires-Dist: requests<3.0.0,>=2.31.0; extra == "som"
|
|
33
|
-
Provides-Extra: all
|
|
34
|
-
Requires-Dist: torch>=2.2.1; extra == "all"
|
|
35
|
-
Requires-Dist: torchvision>=0.17.1; extra == "all"
|
|
36
|
-
Requires-Dist: ultralytics>=8.0.0; extra == "all"
|
|
37
|
-
Requires-Dist: transformers>=4.38.2; extra == "all"
|
|
38
|
-
Requires-Dist: cua-som<0.2.0,>=0.1.0; extra == "all"
|
|
39
|
-
Requires-Dist: anthropic<0.47.0,>=0.46.0; extra == "all"
|
|
40
|
-
Requires-Dist: boto3<2.0.0,>=1.35.81; extra == "all"
|
|
41
|
-
Requires-Dist: openai<2.0.0,>=1.14.0; extra == "all"
|
|
42
|
-
Requires-Dist: groq<0.5.0,>=0.4.0; extra == "all"
|
|
43
|
-
Requires-Dist: dashscope<2.0.0,>=1.13.0; extra == "all"
|
|
44
|
-
Requires-Dist: requests<3.0.0,>=2.31.0; extra == "all"
|
|
45
|
-
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"""CUA (Computer Use) Agent for AI-driven computer interaction."""
|
|
2
|
-
|
|
3
|
-
__version__ = "0.1.0"
|
|
4
|
-
|
|
5
|
-
# Initialize telemetry when the package is imported
|
|
6
|
-
try:
|
|
7
|
-
from core.telemetry import enable_telemetry, set_dimension
|
|
8
|
-
|
|
9
|
-
# Enable telemetry by default
|
|
10
|
-
enable_telemetry()
|
|
11
|
-
# Set the package version as a dimension
|
|
12
|
-
set_dimension("agent_version", __version__)
|
|
13
|
-
except ImportError:
|
|
14
|
-
# Core telemetry not available
|
|
15
|
-
pass
|
|
16
|
-
|
|
17
|
-
from .core.factory import AgentFactory
|
|
18
|
-
from .core.agent import ComputerAgent
|
|
19
|
-
from .providers.omni.types import LLMProvider, LLM
|
|
20
|
-
from .types.base import Provider, AgentLoop
|
|
21
|
-
|
|
22
|
-
__all__ = ["AgentFactory", "Provider", "ComputerAgent", "AgentLoop", "LLMProvider", "LLM"]
|
|
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
|