use-computer 0.0.30__tar.gz → 0.0.31__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.
- {use_computer-0.0.30 → use_computer-0.0.31}/PKG-INFO +1 -1
- {use_computer-0.0.30 → use_computer-0.0.31}/pyproject.toml +1 -1
- {use_computer-0.0.30 → use_computer-0.0.31}/scripts/smoke_wheel.py +59 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/debug/README.md +1 -1
- use_computer-0.0.31/use_computer/agents/debug/__init__.py +5 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/debug/agent.py +1 -0
- use_computer-0.0.30/use_computer/agents/debug/__init__.py +0 -5
- {use_computer-0.0.30 → use_computer-0.0.31}/.env.example +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/.gitignore +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/.pre-commit-config.yaml +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/README.md +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/__init__.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/accessibility.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/__init__.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/base/__init__.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/base/actions.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/base/agent.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/base/artifacts.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/base/desktop.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/base/final_state.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/base/prompts.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/base/recordings.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/base/sandbox.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/base/screenshots.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/base/trajectory.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/core.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/debug/actions.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/debug/models.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/ios/__init__.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/ios/agent.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/ios/tools.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/prompts/anthropic.txt +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/prompts/gemini.txt +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/prompts/ios.txt +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/prompts/openai.txt +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/prompts/pyautogui.txt +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/providers/__init__.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/providers/anthropic.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/providers/gemini.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/providers/generic.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/providers/openai.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/agents/types.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/ax_transpile.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/client.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/display.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/errors.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/harbor/__init__.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/harbor/agents.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/harbor/environment/__init__.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/harbor/environment/gateway.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/harbor/environment/platforms/__init__.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/harbor/environment/platforms/ios.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/harbor/environment/platforms/macos.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/harbor/environment/platforms/ubuntu.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/harbor/environment/platforms/windows.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/harbor/environment/setup_files.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/harbor/environment/use_computer.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/harbor/environment/utils/__init__.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/harbor/environment/utils/verifier.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/ios/__init__.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/ios/apps.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/ios/environment.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/ios/input.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/macos/__init__.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/macos/keyboard.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/macos/mouse.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/models.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/parsers.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/py.typed +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/recording.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/resources/__init__.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/resources/accessibility.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/resources/display.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/resources/recording.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/resources/screenshot.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/retry.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/sandbox.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/screenshot.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/simulators.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/__init__.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/templates/pre_command.ps1 +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/templates/pre_command.sh +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/templates/task.toml +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/templates/test_ios.sh +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/templates/test_ios_nograder.sh +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/templates/test_macos.sh +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/templates/test_macos_check.sh +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/templates/test_macos_nograder.sh +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/templates/test_ubuntu.sh +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/templates/test_ubuntu_check.sh +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/templates/test_ubuntu_nograder.sh +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/templates/test_windows.sh +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/templates/test_windows_check.sh +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/templates/test_windows_nograder.sh +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/windows/__init__.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/use_computer/windows/shell.py +0 -0
- {use_computer-0.0.30 → use_computer-0.0.31}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: use-computer
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.31
|
|
4
4
|
Summary: Python SDK for use.computer sandboxes across macOS, iOS simulators, Windows, and Ubuntu
|
|
5
5
|
Project-URL: Homepage, https://use.computer
|
|
6
6
|
Project-URL: Documentation, https://api.use.computer/docs
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "use-computer"
|
|
7
|
-
version = "0.0.
|
|
7
|
+
version = "0.0.31"
|
|
8
8
|
description = "Python SDK for use.computer sandboxes across macOS, iOS simulators, Windows, and Ubuntu"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -25,12 +25,71 @@ for name in ["PIL", "openai", "anthropic", "google.genai", "litellm", "harbor",
|
|
|
25
25
|
"""
|
|
26
26
|
|
|
27
27
|
AGENTS_SMOKE = r"""
|
|
28
|
+
import asyncio
|
|
28
29
|
import importlib
|
|
29
30
|
import importlib.util
|
|
31
|
+
import tempfile
|
|
32
|
+
from pathlib import Path
|
|
30
33
|
|
|
31
34
|
assert importlib.util.find_spec("PIL") is not None
|
|
32
35
|
for path in ["use_computer.agents", "use_computer.agents.debug"]:
|
|
33
36
|
importlib.import_module(path)
|
|
37
|
+
|
|
38
|
+
from use_computer.agents.debug import DebugComputerAgent
|
|
39
|
+
from use_computer.models import ExecResult
|
|
40
|
+
|
|
41
|
+
PNG_BYTES = (
|
|
42
|
+
b"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01"
|
|
43
|
+
b"\x08\x02\x00\x00\x00\x90wS\xde\x00\x00\x00\x0cIDAT\x08\xd7c\xf8\xff"
|
|
44
|
+
b"\xff?\x00\x05\xfe\x02\xfeA\xe2`\\\x00\x00\x00\x00IEND\xaeB`\x82"
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
class Recording:
|
|
48
|
+
async def start(self, name="trial"):
|
|
49
|
+
raise RuntimeError("recording disabled")
|
|
50
|
+
|
|
51
|
+
class Screenshot:
|
|
52
|
+
async def take_full_screen(self):
|
|
53
|
+
return PNG_BYTES
|
|
54
|
+
|
|
55
|
+
class Display:
|
|
56
|
+
async def get_windows(self):
|
|
57
|
+
return [{"role": "window", "title": "Fake"}]
|
|
58
|
+
|
|
59
|
+
class Mouse:
|
|
60
|
+
def __init__(self):
|
|
61
|
+
self.clicks = []
|
|
62
|
+
|
|
63
|
+
async def click(self, x, y, button="left", double=False):
|
|
64
|
+
self.clicks.append((x, y, button, double))
|
|
65
|
+
|
|
66
|
+
class Sandbox:
|
|
67
|
+
def __init__(self):
|
|
68
|
+
self.sandbox_id = "fake"
|
|
69
|
+
self.screenshot = Screenshot()
|
|
70
|
+
self.recording = Recording()
|
|
71
|
+
self.display = Display()
|
|
72
|
+
self.mouse = Mouse()
|
|
73
|
+
self.commands = []
|
|
74
|
+
|
|
75
|
+
async def exec_ssh(self, command, timeout=120):
|
|
76
|
+
self.commands.append(command)
|
|
77
|
+
return ExecResult(return_code=0, stdout="ok", stderr="")
|
|
78
|
+
|
|
79
|
+
with tempfile.TemporaryDirectory() as tmp:
|
|
80
|
+
root = Path(tmp)
|
|
81
|
+
sandbox = Sandbox()
|
|
82
|
+
result = asyncio.run(
|
|
83
|
+
DebugComputerAgent(max_steps=1).run(
|
|
84
|
+
"smoke",
|
|
85
|
+
sandbox=sandbox,
|
|
86
|
+
logs_dir=root / "agent",
|
|
87
|
+
task_dir=root / "task",
|
|
88
|
+
)
|
|
89
|
+
)
|
|
90
|
+
assert sandbox.mouse.clicks == [(960, 540, "left", False)]
|
|
91
|
+
assert sandbox.commands == ["echo hello world"]
|
|
92
|
+
assert result.final_message == "smoke"
|
|
34
93
|
"""
|
|
35
94
|
|
|
36
95
|
HARBOR_SMOKE = r"""
|
|
@@ -6,5 +6,5 @@
|
|
|
6
6
|
- `realistic: true` emits deterministic screenshot/action/exec traffic.
|
|
7
7
|
- Default mode takes a screenshot, performs one simple action, and runs one exec.
|
|
8
8
|
|
|
9
|
-
Direct SDK import path: `use_computer.agents.debug:
|
|
9
|
+
Direct SDK import path: `use_computer.agents.debug:DebugComputerAgent`.
|
|
10
10
|
Harbor wrapper import path: `use_computer.harbor.agents:DebugCUAAgent`.
|
|
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
|
{use_computer-0.0.30 → use_computer-0.0.31}/use_computer/harbor/environment/platforms/__init__.py
RENAMED
|
File without changes
|
{use_computer-0.0.30 → use_computer-0.0.31}/use_computer/harbor/environment/platforms/ios.py
RENAMED
|
File without changes
|
{use_computer-0.0.30 → use_computer-0.0.31}/use_computer/harbor/environment/platforms/macos.py
RENAMED
|
File without changes
|
{use_computer-0.0.30 → use_computer-0.0.31}/use_computer/harbor/environment/platforms/ubuntu.py
RENAMED
|
File without changes
|
{use_computer-0.0.30 → use_computer-0.0.31}/use_computer/harbor/environment/platforms/windows.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{use_computer-0.0.30 → use_computer-0.0.31}/use_computer/harbor/environment/utils/__init__.py
RENAMED
|
File without changes
|
{use_computer-0.0.30 → use_computer-0.0.31}/use_computer/harbor/environment/utils/verifier.py
RENAMED
|
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
|
{use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/templates/test_ios_nograder.sh
RENAMED
|
File without changes
|
|
File without changes
|
{use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/templates/test_macos_check.sh
RENAMED
|
File without changes
|
{use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/templates/test_macos_nograder.sh
RENAMED
|
File without changes
|
|
File without changes
|
{use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/templates/test_ubuntu_check.sh
RENAMED
|
File without changes
|
{use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/templates/test_ubuntu_nograder.sh
RENAMED
|
File without changes
|
|
File without changes
|
{use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/templates/test_windows_check.sh
RENAMED
|
File without changes
|
{use_computer-0.0.30 → use_computer-0.0.31}/use_computer/tasks/templates/test_windows_nograder.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|