cua-agent 0.1.23__tar.gz → 0.1.24__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.

Files changed (75) hide show
  1. {cua_agent-0.1.23 → cua_agent-0.1.24}/PKG-INFO +23 -1
  2. {cua_agent-0.1.23 → cua_agent-0.1.24}/README.md +22 -0
  3. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/core/types.py +0 -17
  4. {cua_agent-0.1.23 → cua_agent-0.1.24}/pyproject.toml +3 -3
  5. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/__init__.py +0 -0
  6. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/core/__init__.py +0 -0
  7. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/core/agent.py +0 -0
  8. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/core/base.py +0 -0
  9. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/core/callbacks.py +0 -0
  10. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/core/experiment.py +0 -0
  11. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/core/factory.py +0 -0
  12. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/core/messages.py +0 -0
  13. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/core/provider_config.py +0 -0
  14. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/core/telemetry.py +0 -0
  15. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/core/tools/__init__.py +0 -0
  16. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/core/tools/base.py +0 -0
  17. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/core/tools/bash.py +0 -0
  18. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/core/tools/collection.py +0 -0
  19. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/core/tools/computer.py +0 -0
  20. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/core/tools/edit.py +0 -0
  21. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/core/tools/manager.py +0 -0
  22. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/core/tools.py +0 -0
  23. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/core/visualization.py +0 -0
  24. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/__init__.py +0 -0
  25. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/anthropic/__init__.py +0 -0
  26. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/anthropic/api/client.py +0 -0
  27. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/anthropic/api/logging.py +0 -0
  28. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/anthropic/api_handler.py +0 -0
  29. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/anthropic/callbacks/__init__.py +0 -0
  30. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/anthropic/callbacks/manager.py +0 -0
  31. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/anthropic/loop.py +0 -0
  32. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/anthropic/prompts.py +0 -0
  33. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/anthropic/response_handler.py +0 -0
  34. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/anthropic/tools/__init__.py +0 -0
  35. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/anthropic/tools/base.py +0 -0
  36. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/anthropic/tools/bash.py +0 -0
  37. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/anthropic/tools/collection.py +0 -0
  38. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/anthropic/tools/computer.py +0 -0
  39. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/anthropic/tools/edit.py +0 -0
  40. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/anthropic/tools/manager.py +0 -0
  41. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/anthropic/tools/run.py +0 -0
  42. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/anthropic/types.py +0 -0
  43. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/anthropic/utils.py +0 -0
  44. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/omni/__init__.py +0 -0
  45. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/omni/api_handler.py +0 -0
  46. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/omni/clients/anthropic.py +0 -0
  47. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/omni/clients/base.py +0 -0
  48. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/omni/clients/oaicompat.py +0 -0
  49. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/omni/clients/ollama.py +0 -0
  50. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/omni/clients/openai.py +0 -0
  51. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/omni/clients/utils.py +0 -0
  52. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/omni/image_utils.py +0 -0
  53. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/omni/loop.py +0 -0
  54. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/omni/parser.py +0 -0
  55. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/omni/prompts.py +0 -0
  56. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/omni/tools/__init__.py +0 -0
  57. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/omni/tools/base.py +0 -0
  58. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/omni/tools/bash.py +0 -0
  59. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/omni/tools/computer.py +0 -0
  60. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/omni/tools/manager.py +0 -0
  61. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/omni/utils.py +0 -0
  62. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/openai/__init__.py +0 -0
  63. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/openai/api_handler.py +0 -0
  64. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/openai/loop.py +0 -0
  65. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/openai/response_handler.py +0 -0
  66. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/openai/tools/__init__.py +0 -0
  67. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/openai/tools/base.py +0 -0
  68. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/openai/tools/computer.py +0 -0
  69. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/openai/tools/manager.py +0 -0
  70. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/openai/types.py +0 -0
  71. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/providers/openai/utils.py +0 -0
  72. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/telemetry.py +0 -0
  73. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/ui/__init__.py +0 -0
  74. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/ui/gradio/__init__.py +0 -0
  75. {cua_agent-0.1.23 → cua_agent-0.1.24}/agent/ui/gradio/app.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cua-agent
3
- Version: 0.1.23
3
+ Version: 0.1.24
4
4
  Summary: CUA (Computer Use) Agent for AI-driven computer interaction
5
5
  Author-Email: TryCua <gh@trycua.com>
6
6
  Requires-Python: <3.13,>=3.10
@@ -151,12 +151,34 @@ pip install "cua-agent[ui]"
151
151
 
152
152
  # Create a simple launcher script
153
153
  ```python
154
+ # launch_ui.py
154
155
  from agent.ui.gradio.app import create_gradio_ui
155
156
 
156
157
  app = create_gradio_ui()
157
158
  app.launch(share=False)
158
159
  ```
159
160
 
161
+ # Run the launcher
162
+ python launch_ui.py
163
+ ```
164
+
165
+ ### Setting up API Keys
166
+
167
+ For the Gradio UI to show available models, you need to set API keys as environment variables:
168
+
169
+ ```bash
170
+ # For OpenAI models
171
+ export OPENAI_API_KEY=your_openai_key_here
172
+
173
+ # For Anthropic models
174
+ export ANTHROPIC_API_KEY=your_anthropic_key_here
175
+
176
+ # Launch with both keys set
177
+ OPENAI_API_KEY=your_key ANTHROPIC_API_KEY=your_key python launch_ui.py
178
+ ```
179
+
180
+ Without these environment variables, the UI will show "No models available" for the corresponding providers, but you can still use local models with the OMNI loop provider.
181
+
160
182
  The Gradio UI provides:
161
183
  - Selection of different agent loops (OpenAI, Anthropic, OMNI)
162
184
  - Model selection for each provider
@@ -83,12 +83,34 @@ pip install "cua-agent[ui]"
83
83
 
84
84
  # Create a simple launcher script
85
85
  ```python
86
+ # launch_ui.py
86
87
  from agent.ui.gradio.app import create_gradio_ui
87
88
 
88
89
  app = create_gradio_ui()
89
90
  app.launch(share=False)
90
91
  ```
91
92
 
93
+ # Run the launcher
94
+ python launch_ui.py
95
+ ```
96
+
97
+ ### Setting up API Keys
98
+
99
+ For the Gradio UI to show available models, you need to set API keys as environment variables:
100
+
101
+ ```bash
102
+ # For OpenAI models
103
+ export OPENAI_API_KEY=your_openai_key_here
104
+
105
+ # For Anthropic models
106
+ export ANTHROPIC_API_KEY=your_anthropic_key_here
107
+
108
+ # Launch with both keys set
109
+ OPENAI_API_KEY=your_key ANTHROPIC_API_KEY=your_key python launch_ui.py
110
+ ```
111
+
112
+ Without these environment variables, the UI will show "No models available" for the corresponding providers, but you can still use local models with the OMNI loop provider.
113
+
92
114
  The Gradio UI provides:
93
115
  - Selection of different agent loops (OpenAI, Anthropic, OMNI)
94
116
  - Model selection for each provider
@@ -54,23 +54,6 @@ LLMModel = LLM
54
54
  Model = LLM
55
55
 
56
56
 
57
- # Default models for each provider
58
- PROVIDER_TO_DEFAULT_MODEL: Dict[LLMProvider, str] = {
59
- LLMProvider.ANTHROPIC: "claude-3-7-sonnet-20250219",
60
- LLMProvider.OPENAI: "gpt-4o",
61
- LLMProvider.OLLAMA: "gemma3:4b-it-q4_K_M",
62
- LLMProvider.OAICOMPAT: "Qwen2.5-VL-7B-Instruct",
63
- }
64
-
65
- # Environment variable names for each provider
66
- PROVIDER_TO_ENV_VAR: Dict[LLMProvider, str] = {
67
- LLMProvider.ANTHROPIC: "ANTHROPIC_API_KEY",
68
- LLMProvider.OPENAI: "OPENAI_API_KEY",
69
- LLMProvider.OLLAMA: "none",
70
- LLMProvider.OAICOMPAT: "none",
71
- }
72
-
73
-
74
57
  class AgentResponse(TypedDict, total=False):
75
58
  """Agent response format."""
76
59
 
@@ -6,7 +6,7 @@ build-backend = "pdm.backend"
6
6
 
7
7
  [project]
8
8
  name = "cua-agent"
9
- version = "0.1.23"
9
+ version = "0.1.24"
10
10
  description = "CUA (Computer Use) Agent for AI-driven computer interaction"
11
11
  readme = "README.md"
12
12
  authors = [
@@ -105,7 +105,7 @@ target-version = [
105
105
 
106
106
  [tool.ruff]
107
107
  line-length = 100
108
- target-version = "0.1.23"
108
+ target-version = "0.1.24"
109
109
  select = [
110
110
  "E",
111
111
  "F",
@@ -119,7 +119,7 @@ docstring-code-format = true
119
119
 
120
120
  [tool.mypy]
121
121
  strict = true
122
- python_version = "0.1.23"
122
+ python_version = "0.1.24"
123
123
  ignore_missing_imports = true
124
124
  disallow_untyped_defs = true
125
125
  check_untyped_defs = true
File without changes