use-computer 0.0.32__tar.gz → 0.0.34__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.32 → use_computer-0.0.34}/PKG-INFO +1 -1
- {use_computer-0.0.32 → use_computer-0.0.34}/pyproject.toml +1 -1
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/base/agent.py +6 -2
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/harbor/environment/platforms/windows.py +38 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/resources/recording.py +8 -2
- {use_computer-0.0.32 → use_computer-0.0.34}/.env.example +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/.gitignore +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/.pre-commit-config.yaml +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/README.md +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/scripts/smoke_wheel.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/__init__.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/accessibility.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/__init__.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/base/__init__.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/base/actions.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/base/artifacts.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/base/desktop.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/base/final_state.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/base/prompts.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/base/recordings.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/base/sandbox.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/base/screenshots.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/base/trajectory.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/core.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/debug/README.md +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/debug/__init__.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/debug/actions.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/debug/agent.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/debug/models.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/ios/__init__.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/ios/agent.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/ios/tools.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/prompts/anthropic.txt +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/prompts/gemini.txt +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/prompts/ios.txt +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/prompts/openai.txt +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/prompts/pyautogui.txt +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/providers/__init__.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/providers/anthropic.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/providers/gemini.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/providers/generic.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/providers/openai.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/agents/types.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/ax_transpile.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/client.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/display.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/errors.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/harbor/__init__.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/harbor/agents.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/harbor/environment/__init__.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/harbor/environment/gateway.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/harbor/environment/platforms/__init__.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/harbor/environment/platforms/ios.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/harbor/environment/platforms/macos.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/harbor/environment/platforms/ubuntu.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/harbor/environment/setup_files.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/harbor/environment/use_computer.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/harbor/environment/utils/__init__.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/harbor/environment/utils/verifier.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/ios/__init__.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/ios/apps.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/ios/environment.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/ios/input.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/macos/__init__.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/macos/keyboard.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/macos/mouse.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/models.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/parsers.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/py.typed +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/recording.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/resources/__init__.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/resources/accessibility.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/resources/display.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/resources/screenshot.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/retry.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/sandbox.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/screenshot.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/simulators.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/__init__.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/templates/pre_command.ps1 +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/templates/pre_command.sh +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/templates/task.toml +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/templates/test_ios.sh +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/templates/test_ios_nograder.sh +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/templates/test_macos.sh +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/templates/test_macos_check.sh +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/templates/test_macos_nograder.sh +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/templates/test_ubuntu.sh +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/templates/test_ubuntu_check.sh +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/templates/test_ubuntu_nograder.sh +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/templates/test_windows.sh +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/templates/test_windows_check.sh +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/templates/test_windows_nograder.sh +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/windows/__init__.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/use_computer/windows/shell.py +0 -0
- {use_computer-0.0.32 → use_computer-0.0.34}/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.34
|
|
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.34"
|
|
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"
|
|
@@ -211,9 +211,13 @@ class BaseCUAAgent(RecordingMixin, FinalStateMixin, ArtifactCaptureMixin):
|
|
|
211
211
|
fire_in_process=None,
|
|
212
212
|
) -> AgentRunResult:
|
|
213
213
|
"""Run against an AsyncSandbox without Harbor."""
|
|
214
|
+
resolved_logs_dir = Path(logs_dir).resolve() if logs_dir else self.logs_dir
|
|
215
|
+
resolved_task_dir = (
|
|
216
|
+
Path(task_dir).resolve() if task_dir else self.task_dir or resolved_logs_dir / "task"
|
|
217
|
+
)
|
|
214
218
|
options = AgentRunOptions(
|
|
215
|
-
logs_dir=
|
|
216
|
-
task_dir=
|
|
219
|
+
logs_dir=resolved_logs_dir,
|
|
220
|
+
task_dir=resolved_task_dir,
|
|
217
221
|
platform=str(platform),
|
|
218
222
|
max_steps=max_steps,
|
|
219
223
|
fire_in_process=fire_in_process,
|
{use_computer-0.0.32 → use_computer-0.0.34}/use_computer/harbor/environment/platforms/windows.py
RENAMED
|
@@ -50,6 +50,31 @@ $profileFile = Join-Path $profileDir 'registrymodifications.xcu'
|
|
|
50
50
|
'@ | Set-Content -Path $profileFile -Encoding UTF8
|
|
51
51
|
"""
|
|
52
52
|
|
|
53
|
+
_BENCHMARK_USER_ALIAS_COMMAND = r"""
|
|
54
|
+
$profile = [Environment]::GetFolderPath('UserProfile')
|
|
55
|
+
foreach ($name in @('Docker', 'User')) {
|
|
56
|
+
$alias = Join-Path 'C:\Users' $name
|
|
57
|
+
if ($alias -ieq $profile) {
|
|
58
|
+
continue
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (Test-Path -LiteralPath $alias) {
|
|
62
|
+
$item = Get-Item -LiteralPath $alias -Force
|
|
63
|
+
$targets = @($item.Target)
|
|
64
|
+
if ($item.LinkType -eq 'Junction' -and $targets -contains $profile) {
|
|
65
|
+
continue
|
|
66
|
+
}
|
|
67
|
+
$backup = "$alias.harbor-backup"
|
|
68
|
+
if (Test-Path -LiteralPath $backup) {
|
|
69
|
+
Remove-Item -LiteralPath $backup -Recurse -Force
|
|
70
|
+
}
|
|
71
|
+
Move-Item -LiteralPath $alias -Destination $backup -Force
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
New-Item -ItemType Junction -Path $alias -Target $profile -Force | Out-Null
|
|
75
|
+
}
|
|
76
|
+
"""
|
|
77
|
+
|
|
53
78
|
|
|
54
79
|
async def exec_on_vm(
|
|
55
80
|
env: Any,
|
|
@@ -135,6 +160,7 @@ async def exec_local(
|
|
|
135
160
|
async def run_windows_setup(env: Any) -> None:
|
|
136
161
|
setup_dir = env._task_dir / "tests" / "setup"
|
|
137
162
|
|
|
163
|
+
await _ensure_benchmark_user_aliases(env)
|
|
138
164
|
await _configure_libreoffice_defaults(env)
|
|
139
165
|
|
|
140
166
|
for setup_file in read_setup_files(setup_dir):
|
|
@@ -193,6 +219,18 @@ async def _configure_libreoffice_defaults(env: Any) -> None:
|
|
|
193
219
|
)
|
|
194
220
|
|
|
195
221
|
|
|
222
|
+
async def _ensure_benchmark_user_aliases(env: Any) -> None:
|
|
223
|
+
await _with_agent_retry(
|
|
224
|
+
env,
|
|
225
|
+
"benchmark user aliases",
|
|
226
|
+
lambda: env.windows_sandbox.shell.run(
|
|
227
|
+
_BENCHMARK_USER_ALIAS_COMMAND,
|
|
228
|
+
shell="powershell",
|
|
229
|
+
timeout=30,
|
|
230
|
+
),
|
|
231
|
+
)
|
|
232
|
+
|
|
233
|
+
|
|
196
234
|
async def _with_agent_retry(env: Any, label: str, op):
|
|
197
235
|
attempts = 4
|
|
198
236
|
for attempt in range(1, attempts + 1):
|
|
@@ -19,7 +19,10 @@ class Recording:
|
|
|
19
19
|
return RecordingInfo.from_dict(resp.json())
|
|
20
20
|
|
|
21
21
|
def stop(self, recording_id: str) -> RecordingInfo:
|
|
22
|
-
resp = self._http.post(
|
|
22
|
+
resp = self._http.post(
|
|
23
|
+
f"{self._prefix}/recording/stop",
|
|
24
|
+
json={"id": recording_id, "recording_id": recording_id},
|
|
25
|
+
)
|
|
23
26
|
resp.raise_for_status()
|
|
24
27
|
return RecordingInfo.from_dict(resp.json())
|
|
25
28
|
|
|
@@ -62,7 +65,10 @@ class AsyncRecording:
|
|
|
62
65
|
return RecordingInfo.from_dict(resp.json())
|
|
63
66
|
|
|
64
67
|
async def stop(self, recording_id: str) -> RecordingInfo:
|
|
65
|
-
resp = await self._http.post(
|
|
68
|
+
resp = await self._http.post(
|
|
69
|
+
f"{self._prefix}/recording/stop",
|
|
70
|
+
json={"id": recording_id, "recording_id": recording_id},
|
|
71
|
+
)
|
|
66
72
|
resp.raise_for_status()
|
|
67
73
|
return RecordingInfo.from_dict(resp.json())
|
|
68
74
|
|
|
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
|
{use_computer-0.0.32 → use_computer-0.0.34}/use_computer/harbor/environment/platforms/__init__.py
RENAMED
|
File without changes
|
{use_computer-0.0.32 → use_computer-0.0.34}/use_computer/harbor/environment/platforms/ios.py
RENAMED
|
File without changes
|
{use_computer-0.0.32 → use_computer-0.0.34}/use_computer/harbor/environment/platforms/macos.py
RENAMED
|
File without changes
|
{use_computer-0.0.32 → use_computer-0.0.34}/use_computer/harbor/environment/platforms/ubuntu.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{use_computer-0.0.32 → use_computer-0.0.34}/use_computer/harbor/environment/utils/__init__.py
RENAMED
|
File without changes
|
{use_computer-0.0.32 → use_computer-0.0.34}/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
|
{use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/templates/test_ios_nograder.sh
RENAMED
|
File without changes
|
|
File without changes
|
{use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/templates/test_macos_check.sh
RENAMED
|
File without changes
|
{use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/templates/test_macos_nograder.sh
RENAMED
|
File without changes
|
|
File without changes
|
{use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/templates/test_ubuntu_check.sh
RENAMED
|
File without changes
|
{use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/templates/test_ubuntu_nograder.sh
RENAMED
|
File without changes
|
|
File without changes
|
{use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/templates/test_windows_check.sh
RENAMED
|
File without changes
|
{use_computer-0.0.32 → use_computer-0.0.34}/use_computer/tasks/templates/test_windows_nograder.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|