hud-python 0.4.21__py3-none-any.whl → 0.4.23__py3-none-any.whl
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 hud-python might be problematic. Click here for more details.
- hud/agents/base.py +37 -37
- hud/agents/claude.py +11 -6
- hud/agents/grounded_openai.py +282 -0
- hud/agents/misc/response_agent.py +3 -2
- hud/agents/openai.py +2 -2
- hud/agents/openai_chat_generic.py +3 -1
- hud/agents/tests/test_client.py +6 -1
- hud/agents/tests/test_grounded_openai_agent.py +155 -0
- hud/cli/__init__.py +34 -24
- hud/cli/analyze.py +27 -26
- hud/cli/build.py +50 -46
- hud/cli/debug.py +7 -7
- hud/cli/dev.py +107 -99
- hud/cli/eval.py +33 -31
- hud/cli/hf.py +53 -53
- hud/cli/init.py +28 -28
- hud/cli/list_func.py +22 -22
- hud/cli/pull.py +36 -36
- hud/cli/push.py +76 -74
- hud/cli/remove.py +42 -40
- hud/cli/rl/__init__.py +2 -2
- hud/cli/rl/init.py +41 -41
- hud/cli/rl/pod.py +97 -91
- hud/cli/rl/ssh.py +42 -40
- hud/cli/rl/train.py +75 -73
- hud/cli/rl/utils.py +10 -10
- hud/cli/tests/test_analyze.py +1 -1
- hud/cli/tests/test_analyze_metadata.py +2 -2
- hud/cli/tests/test_pull.py +45 -45
- hud/cli/tests/test_push.py +31 -29
- hud/cli/tests/test_registry.py +15 -15
- hud/cli/utils/environment.py +11 -11
- hud/cli/utils/interactive.py +18 -18
- hud/cli/utils/logging.py +12 -12
- hud/cli/utils/metadata.py +12 -12
- hud/cli/utils/registry.py +5 -5
- hud/cli/utils/runner.py +23 -23
- hud/cli/utils/server.py +16 -16
- hud/settings.py +6 -0
- hud/shared/hints.py +7 -7
- hud/tools/executors/tests/test_base_executor.py +1 -1
- hud/tools/executors/xdo.py +1 -1
- hud/tools/grounding/__init__.py +13 -0
- hud/tools/grounding/config.py +54 -0
- hud/tools/grounding/grounded_tool.py +314 -0
- hud/tools/grounding/grounder.py +302 -0
- hud/tools/grounding/tests/__init__.py +1 -0
- hud/tools/grounding/tests/test_grounded_tool.py +196 -0
- hud/tools/tests/test_playwright_tool.py +1 -1
- hud/tools/tests/test_tools_init.py +1 -1
- hud/tools/tests/test_utils.py +2 -2
- hud/types.py +4 -4
- hud/utils/__init__.py +3 -3
- hud/utils/agent_factories.py +86 -0
- hud/utils/{design.py → hud_console.py} +39 -33
- hud/utils/pretty_errors.py +6 -6
- hud/utils/tests/test_version.py +1 -1
- hud/version.py +1 -1
- {hud_python-0.4.21.dist-info → hud_python-0.4.23.dist-info}/METADATA +3 -1
- {hud_python-0.4.21.dist-info → hud_python-0.4.23.dist-info}/RECORD +63 -54
- {hud_python-0.4.21.dist-info → hud_python-0.4.23.dist-info}/WHEEL +0 -0
- {hud_python-0.4.21.dist-info → hud_python-0.4.23.dist-info}/entry_points.txt +0 -0
- {hud_python-0.4.21.dist-info → hud_python-0.4.23.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""HUD Design System - Consistent styling utilities for CLI output.
|
|
1
|
+
"""HUD Console Design System - Consistent styling utilities for CLI output.
|
|
2
2
|
|
|
3
3
|
This module provides a unified design system for HUD CLI commands,
|
|
4
4
|
ensuring consistent colors, formatting, and visual hierarchy across
|
|
@@ -6,10 +6,11 @@ all commands.
|
|
|
6
6
|
|
|
7
7
|
Color Palette:
|
|
8
8
|
- Gold (#c0960c): Primary brand color for headers and important elements
|
|
9
|
-
-
|
|
10
|
-
- Red: Errors and failures
|
|
11
|
-
- Green: Success messages
|
|
12
|
-
-
|
|
9
|
+
- Neutral Grey: Standard text that works on both light and dark backgrounds
|
|
10
|
+
- Muted Red: Errors and failures
|
|
11
|
+
- Muted Green: Success messages
|
|
12
|
+
- Bright Black: Secondary/dimmed information
|
|
13
|
+
- Blue-Purple: Links and interactive elements
|
|
13
14
|
"""
|
|
14
15
|
|
|
15
16
|
from __future__ import annotations
|
|
@@ -23,14 +24,16 @@ from rich.console import Console
|
|
|
23
24
|
from rich.panel import Panel
|
|
24
25
|
from rich.table import Table
|
|
25
26
|
|
|
26
|
-
# HUD Brand Colors
|
|
27
|
-
GOLD = "rgb(192,150,12)" # #c0960c
|
|
28
|
-
RED = "red
|
|
29
|
-
GREEN = "green
|
|
30
|
-
DIM = "
|
|
27
|
+
# HUD Brand Colors - Optimized for both light and dark modes
|
|
28
|
+
GOLD = "rgb(192,150,12)" # #c0960c - Primary brand color
|
|
29
|
+
RED = "rgb(220,50,47)" # Slightly muted red that works on both backgrounds
|
|
30
|
+
GREEN = "rgb(133,153,0)" # Slightly muted green that works on both backgrounds
|
|
31
|
+
DIM = "bright_black" # Grey that's visible on both light and dark backgrounds
|
|
32
|
+
TEXT = "bright_white" # Off-white that's readable on dark, not too bright on light
|
|
33
|
+
SECONDARY = "rgb(108,113,196)" # Muted blue-purple for secondary text
|
|
31
34
|
|
|
32
35
|
|
|
33
|
-
class
|
|
36
|
+
class HUDConsole:
|
|
34
37
|
"""Design system for HUD CLI output."""
|
|
35
38
|
|
|
36
39
|
def __init__(self, logger: logging.Logger | None = None) -> None:
|
|
@@ -72,7 +75,7 @@ class HUDDesign:
|
|
|
72
75
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
73
76
|
"""
|
|
74
77
|
console = self._stderr_console if stderr else self._stdout_console
|
|
75
|
-
console.print(f"[{GREEN}
|
|
78
|
+
console.print(f"[{GREEN}]✅ {message}[/{GREEN}]")
|
|
76
79
|
|
|
77
80
|
def error(self, message: str, stderr: bool = True) -> None:
|
|
78
81
|
"""Print an error message.
|
|
@@ -82,7 +85,7 @@ class HUDDesign:
|
|
|
82
85
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
83
86
|
"""
|
|
84
87
|
console = self._stderr_console if stderr else self._stdout_console
|
|
85
|
-
console.print(f"[{RED}
|
|
88
|
+
console.print(f"[{RED}]❌ {message}[/{RED}]")
|
|
86
89
|
|
|
87
90
|
def warning(self, message: str, stderr: bool = True) -> None:
|
|
88
91
|
"""Print a warning message.
|
|
@@ -92,7 +95,7 @@ class HUDDesign:
|
|
|
92
95
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
93
96
|
"""
|
|
94
97
|
console = self._stderr_console if stderr else self._stdout_console
|
|
95
|
-
console.print(f"[
|
|
98
|
+
console.print(f"[rgb(181,137,0)]⚠️ {message}[/rgb(181,137,0)]")
|
|
96
99
|
|
|
97
100
|
def info(self, message: str, stderr: bool = True) -> None:
|
|
98
101
|
"""Print an info message.
|
|
@@ -102,7 +105,7 @@ class HUDDesign:
|
|
|
102
105
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
103
106
|
"""
|
|
104
107
|
console = self._stderr_console if stderr else self._stdout_console
|
|
105
|
-
console.print(f"[
|
|
108
|
+
console.print(f"[{TEXT}]{message}[/{TEXT}]")
|
|
106
109
|
|
|
107
110
|
def print(self, message: str, stderr: bool = True) -> None:
|
|
108
111
|
"""Print a message.
|
|
@@ -123,7 +126,7 @@ class HUDDesign:
|
|
|
123
126
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
124
127
|
"""
|
|
125
128
|
console = self._stderr_console if stderr else self._stdout_console
|
|
126
|
-
console.print(f"[{DIM}]{label}[/{DIM}] [
|
|
129
|
+
console.print(f"[{DIM}]{label}[/{DIM}] [{TEXT}]{value}[/{TEXT}]")
|
|
127
130
|
|
|
128
131
|
def link(self, url: str, stderr: bool = True) -> None:
|
|
129
132
|
"""Print an underlined link.
|
|
@@ -133,18 +136,18 @@ class HUDDesign:
|
|
|
133
136
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
134
137
|
"""
|
|
135
138
|
console = self._stderr_console if stderr else self._stdout_console
|
|
136
|
-
console.print(f"[
|
|
139
|
+
console.print(f"[{SECONDARY} underline]{url}[/{SECONDARY} underline]")
|
|
137
140
|
|
|
138
141
|
def json_config(self, json_str: str, stderr: bool = True) -> None:
|
|
139
|
-
"""Print JSON configuration with
|
|
142
|
+
"""Print JSON configuration with neutral theme.
|
|
140
143
|
|
|
141
144
|
Args:
|
|
142
145
|
json_str: JSON string to display
|
|
143
146
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
144
147
|
"""
|
|
145
|
-
#
|
|
148
|
+
# Print JSON with neutral grey text
|
|
146
149
|
console = self._stderr_console if stderr else self._stdout_console
|
|
147
|
-
console.print(f"[
|
|
150
|
+
console.print(f"[{TEXT}]{json_str}[/{TEXT}]")
|
|
148
151
|
|
|
149
152
|
def key_value_table(
|
|
150
153
|
self, data: dict[str, str], show_header: bool = False, stderr: bool = True
|
|
@@ -174,7 +177,7 @@ class HUDDesign:
|
|
|
174
177
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
175
178
|
"""
|
|
176
179
|
console = self._stderr_console if stderr else self._stdout_console
|
|
177
|
-
console.print(f"[{DIM}
|
|
180
|
+
console.print(f"[{DIM}]{message}[/{DIM}]")
|
|
178
181
|
|
|
179
182
|
def phase(self, phase_num: int, title: str, stderr: bool = True) -> None:
|
|
180
183
|
"""Print a phase header (for debug command).
|
|
@@ -197,7 +200,7 @@ class HUDDesign:
|
|
|
197
200
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
198
201
|
"""
|
|
199
202
|
console = self._stderr_console if stderr else self._stdout_console
|
|
200
|
-
console.print(f"[bold]$ {' '.join(cmd)}[/bold]")
|
|
203
|
+
console.print(f"[bold {TEXT}]$ {' '.join(cmd)}[/bold {TEXT}]")
|
|
201
204
|
|
|
202
205
|
def hint(self, hint: str, stderr: bool = True) -> None:
|
|
203
206
|
"""Print a hint message.
|
|
@@ -207,7 +210,7 @@ class HUDDesign:
|
|
|
207
210
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
208
211
|
"""
|
|
209
212
|
console = self._stderr_console if stderr else self._stdout_console
|
|
210
|
-
console.print(f"\n[
|
|
213
|
+
console.print(f"\n[rgb(181,137,0)]💡 Hint: {hint}[/rgb(181,137,0)]")
|
|
211
214
|
|
|
212
215
|
def status_item(
|
|
213
216
|
self,
|
|
@@ -227,8 +230,8 @@ class HUDDesign:
|
|
|
227
230
|
stderr: If True, output to stderr (default), otherwise stdout
|
|
228
231
|
"""
|
|
229
232
|
indicators = {
|
|
230
|
-
"success": f"[{GREEN}
|
|
231
|
-
"error": f"[{RED}
|
|
233
|
+
"success": f"[{GREEN}]✓[/{GREEN}]",
|
|
234
|
+
"error": f"[{RED}]✗[/{RED}]",
|
|
232
235
|
"warning": "[yellow]⚠[/yellow]",
|
|
233
236
|
"info": f"[{DIM}]•[/{DIM}]",
|
|
234
237
|
}
|
|
@@ -237,9 +240,9 @@ class HUDDesign:
|
|
|
237
240
|
console = self._stderr_console if stderr else self._stdout_console
|
|
238
241
|
|
|
239
242
|
if primary:
|
|
240
|
-
console.print(f"{indicator} {label}: [bold
|
|
243
|
+
console.print(f"{indicator} {label}: [bold {SECONDARY}]{value}[/bold {SECONDARY}]")
|
|
241
244
|
else:
|
|
242
|
-
console.print(f"{indicator} {label}: {value}")
|
|
245
|
+
console.print(f"{indicator} {label}: [{TEXT}]{value}[/{TEXT}]")
|
|
243
246
|
|
|
244
247
|
def command_example(
|
|
245
248
|
self, command: str, description: str | None = None, stderr: bool = True
|
|
@@ -253,9 +256,12 @@ class HUDDesign:
|
|
|
253
256
|
"""
|
|
254
257
|
console = self._stderr_console if stderr else self._stdout_console
|
|
255
258
|
if description:
|
|
256
|
-
console.print(
|
|
259
|
+
console.print(
|
|
260
|
+
f" [{SECONDARY}]{command}[/{SECONDARY}] "
|
|
261
|
+
f"[bright_black]# {description}[/bright_black]"
|
|
262
|
+
)
|
|
257
263
|
else:
|
|
258
|
-
console.print(f" [
|
|
264
|
+
console.print(f" [{SECONDARY}]{command}[/{SECONDARY}]")
|
|
259
265
|
|
|
260
266
|
# Exception rendering utilities
|
|
261
267
|
def render_support_hint(self, stderr: bool = True) -> None:
|
|
@@ -453,7 +459,7 @@ class HUDDesign:
|
|
|
453
459
|
except (TypeError, ValueError):
|
|
454
460
|
args_str = str(arguments)[:60]
|
|
455
461
|
|
|
456
|
-
return f"[{GOLD}]→[/{GOLD}] [bold]{name}[/bold][{DIM}]({args_str})[/{DIM}]"
|
|
462
|
+
return f"[{GOLD}]→[/{GOLD}] [bold {TEXT}]{name}[/bold {TEXT}][{DIM}]({args_str})[/{DIM}]"
|
|
457
463
|
|
|
458
464
|
def format_tool_result(self, content: str, is_error: bool = False) -> str:
|
|
459
465
|
"""Format a tool result in compact HUD style.
|
|
@@ -473,8 +479,8 @@ class HUDDesign:
|
|
|
473
479
|
if is_error:
|
|
474
480
|
return f" [{RED}]✗[/{RED}] [{DIM}]{content}[/{DIM}]"
|
|
475
481
|
else:
|
|
476
|
-
return f" [{GREEN}]✓[/{GREEN}] {content}"
|
|
482
|
+
return f" [{GREEN}]✓[/{GREEN}] [{TEXT}]{content}[/{TEXT}]"
|
|
477
483
|
|
|
478
484
|
|
|
479
|
-
# Global
|
|
480
|
-
|
|
485
|
+
# Global hud_console instance for convenience
|
|
486
|
+
hud_console = HUDConsole()
|
hud/utils/pretty_errors.py
CHANGED
|
@@ -5,7 +5,7 @@ import logging
|
|
|
5
5
|
import sys
|
|
6
6
|
from typing import Any
|
|
7
7
|
|
|
8
|
-
from hud.utils.
|
|
8
|
+
from hud.utils.hud_console import hud_console
|
|
9
9
|
|
|
10
10
|
logger = logging.getLogger(__name__)
|
|
11
11
|
|
|
@@ -27,8 +27,8 @@ def _render_and_fallback(exc_type: type[BaseException], value: BaseException, tb
|
|
|
27
27
|
# Flush stderr to ensure traceback is printed first
|
|
28
28
|
sys.stderr.flush()
|
|
29
29
|
# Add separator and render our formatted error
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
hud_console.console.print("")
|
|
31
|
+
hud_console.render_exception(value)
|
|
32
32
|
except Exception:
|
|
33
33
|
# If rendering fails for any reason, silently continue
|
|
34
34
|
logger.warning("Failed to render exception: %s, %s, %s", exc_type, value, tb)
|
|
@@ -39,10 +39,10 @@ def _async_exception_handler(loop: asyncio.AbstractEventLoop, context: dict[str,
|
|
|
39
39
|
msg = context.get("message")
|
|
40
40
|
try:
|
|
41
41
|
if exc is not None:
|
|
42
|
-
|
|
42
|
+
hud_console.render_exception(exc)
|
|
43
43
|
elif msg:
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
hud_console.error(msg)
|
|
45
|
+
hud_console.render_support_hint()
|
|
46
46
|
except Exception:
|
|
47
47
|
logger.warning("Failed to render exception: %s, %s, %s", exc, msg, context)
|
|
48
48
|
|
hud/utils/tests/test_version.py
CHANGED
hud/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hud-python
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.23
|
|
4
4
|
Summary: SDK for the HUD platform.
|
|
5
5
|
Project-URL: Homepage, https://github.com/hud-evals/hud-python
|
|
6
6
|
Project-URL: Bug Tracker, https://github.com/hud-evals/hud-python/issues
|
|
@@ -66,6 +66,7 @@ Requires-Dist: langchain-anthropic; extra == 'agent'
|
|
|
66
66
|
Requires-Dist: langchain-openai; extra == 'agent'
|
|
67
67
|
Requires-Dist: numpy>=1.24.0; extra == 'agent'
|
|
68
68
|
Requires-Dist: openai; extra == 'agent'
|
|
69
|
+
Requires-Dist: pillow>=11.1.0; extra == 'agent'
|
|
69
70
|
Provides-Extra: agents
|
|
70
71
|
Requires-Dist: anthropic; extra == 'agents'
|
|
71
72
|
Requires-Dist: datasets>=2.14.0; extra == 'agents'
|
|
@@ -79,6 +80,7 @@ Requires-Dist: langchain-anthropic; extra == 'agents'
|
|
|
79
80
|
Requires-Dist: langchain-openai; extra == 'agents'
|
|
80
81
|
Requires-Dist: numpy>=1.24.0; extra == 'agents'
|
|
81
82
|
Requires-Dist: openai; extra == 'agents'
|
|
83
|
+
Requires-Dist: pillow>=11.1.0; extra == 'agents'
|
|
82
84
|
Provides-Extra: dev
|
|
83
85
|
Requires-Dist: aiodocker>=0.24.0; extra == 'dev'
|
|
84
86
|
Requires-Dist: anthropic; extra == 'dev'
|
|
@@ -1,45 +1,47 @@
|
|
|
1
1
|
hud/__init__.py,sha256=KU7G-_Mj6Mjf7trXA6X0ufN6QUmqhVi19NKbnNIvD74,532
|
|
2
2
|
hud/__main__.py,sha256=YR8Dq8OhINOsVfQ55PmRXXg4fEK84Rt_-rMtJ5rvhWo,145
|
|
3
|
-
hud/settings.py,sha256=
|
|
4
|
-
hud/types.py,sha256=
|
|
5
|
-
hud/version.py,sha256=
|
|
3
|
+
hud/settings.py,sha256=bgq_zstNGlan7UDZOiElY8Aw5ZU4xL7Ds5HP_Xzph1A,2535
|
|
4
|
+
hud/types.py,sha256=jta4Hgj_rBdIMcf7mz0tsdgfA1pssp327bxcT6Mfp00,6107
|
|
5
|
+
hud/version.py,sha256=5rH72_P2FBJH7JH3nuYeXSXzeAEZoA-JgfNAoljtscY,105
|
|
6
6
|
hud/agents/__init__.py,sha256=UoIkljWdbq4bM0LD-mSaw6w826EqdEjOk7r6glNYwYQ,286
|
|
7
|
-
hud/agents/base.py,sha256=
|
|
8
|
-
hud/agents/claude.py,sha256=
|
|
7
|
+
hud/agents/base.py,sha256=qkTj0bnlFDs9OA4A3g1kKyVaDaRtPSVB_HzOIV4DpVw,30980
|
|
8
|
+
hud/agents/claude.py,sha256=Ixc05qg-r0H1OoC_DE5Ov6RtODWp7uJcTJJqpmoIob0,15478
|
|
9
|
+
hud/agents/grounded_openai.py,sha256=U-FHjB2Nh1_o0gmlxY5F17lWJ3oHsNRIB2a7z-IKB64,11231
|
|
9
10
|
hud/agents/langchain.py,sha256=1EgCy8jfjunsWxlPC5XfvfLS6_XZVrIF1ZjtHcrvhYw,9584
|
|
10
|
-
hud/agents/openai.py,sha256=
|
|
11
|
-
hud/agents/openai_chat_generic.py,sha256=
|
|
11
|
+
hud/agents/openai.py,sha256=ovARRWNuHqKkZ2Q_OCYSVCIZckrh8XY2jUB2p2x1m88,14259
|
|
12
|
+
hud/agents/openai_chat_generic.py,sha256=BDtMQnf9ddYN4fKy-CN9IotLyYvHGdZqjju5PODEnU4,10683
|
|
12
13
|
hud/agents/misc/__init__.py,sha256=BYi4Ytp9b_vycpZFXnr5Oyw6ncKLNNGml8Jrb7bWUb4,136
|
|
13
|
-
hud/agents/misc/response_agent.py,sha256=
|
|
14
|
+
hud/agents/misc/response_agent.py,sha256=tdyRI-4A1iECW5NBA-dIJwDHhXgTi6W7FHhe--SHvMQ,3150
|
|
14
15
|
hud/agents/tests/__init__.py,sha256=W-O-_4i34d9TTyEHV-O_q1Ai1gLhzwDaaPo02_TWQIY,34
|
|
15
16
|
hud/agents/tests/test_base.py,sha256=F39ajSqASGUbPyPoWSY9KARFav62qNTK74W11Tr1Tg4,28970
|
|
16
17
|
hud/agents/tests/test_claude.py,sha256=wqEKlzEvx8obz1sSm4NY0j-Zyt1qWNfDOmRqYIuAEd0,13069
|
|
17
|
-
hud/agents/tests/test_client.py,sha256=
|
|
18
|
+
hud/agents/tests/test_client.py,sha256=uikgh6yhjPPX2RBU4XJQMz1mNox9uXjuwsP8t93id18,13337
|
|
19
|
+
hud/agents/tests/test_grounded_openai_agent.py,sha256=VK8lUvHIjWicMX00VKPE-FZyjiJqTEhb80MuRRa9fVc,5437
|
|
18
20
|
hud/agents/tests/test_openai.py,sha256=lhHowQyLp09oDVwBUjUECoPeH01F16i4O9YIHeugK6E,7028
|
|
19
|
-
hud/cli/__init__.py,sha256
|
|
21
|
+
hud/cli/__init__.py,sha256=-32_tNDsFc38AMAvJFcHg38EVS5PN3n6pjW7eN2Nxj4,36259
|
|
20
22
|
hud/cli/__main__.py,sha256=fDH7XITyuDITwSDIVwRso06aouADO0CzTHKqp5TOwJE,143
|
|
21
|
-
hud/cli/analyze.py,sha256=
|
|
22
|
-
hud/cli/build.py,sha256=
|
|
23
|
+
hud/cli/analyze.py,sha256=4u5oYfJMquOjT9PzzRTYVcTZDxDi0ilNP_g532_hpOU,14716
|
|
24
|
+
hud/cli/build.py,sha256=SsZLQKYyMvIikLaSPYmg7-S1iJn-KkWXURhniQ0Ifi8,18015
|
|
23
25
|
hud/cli/clone.py,sha256=AwVDIuhr8mHb1oT2Af2HrD25SiTdwATpE6zd93vzLgA,6099
|
|
24
|
-
hud/cli/debug.py,sha256=
|
|
25
|
-
hud/cli/dev.py,sha256
|
|
26
|
-
hud/cli/eval.py,sha256=
|
|
27
|
-
hud/cli/hf.py,sha256=
|
|
28
|
-
hud/cli/init.py,sha256=
|
|
29
|
-
hud/cli/list_func.py,sha256=
|
|
30
|
-
hud/cli/pull.py,sha256=
|
|
31
|
-
hud/cli/push.py,sha256=
|
|
32
|
-
hud/cli/remove.py,sha256=
|
|
26
|
+
hud/cli/debug.py,sha256=jtFW8J5F_3rhq1Hf1_SkJ7aLS3wjnyIs_LsC8k5cnzc,14200
|
|
27
|
+
hud/cli/dev.py,sha256=-T7s3aiEq0X_lA6xQHOP4evvgP2wO76OYdsL7eeVmJ8,31740
|
|
28
|
+
hud/cli/eval.py,sha256=1Kifhr3tm2Md3r_lC1P9ET93P_eEB3is3MFu_Hg9GH4,15947
|
|
29
|
+
hud/cli/hf.py,sha256=wbHNXEI5K17cA9micfeVG4KRbUiI3MymLKI7TO-tW5E,15446
|
|
30
|
+
hud/cli/init.py,sha256=XswZB2ZnzdE0pxP1kRmO3bHfWGCrKAyrME34ZyPzs98,19715
|
|
31
|
+
hud/cli/list_func.py,sha256=EVi2Vc3Lb3glBNJxFx4MPnZknZ4xmuJz1OFg_dc8a_E,7177
|
|
32
|
+
hud/cli/pull.py,sha256=Vd1l1-IwskyACzhtC8Df1SYINUZEYmFxrLl0s9cNN6c,12151
|
|
33
|
+
hud/cli/push.py,sha256=JXUxu1QGU7BPWb0erSJq42CIq0sLbaDAO42yYDcvA1g,18347
|
|
34
|
+
hud/cli/remove.py,sha256=8vGQyXDqgtjz85_vtusoIG8zurH4RHz6z8UMevQRYM4,6861
|
|
33
35
|
hud/cli/rl/README.md,sha256=3pqRZMrnwD-lJwWGCCNZNhGdZG6zyydLBOer0e8BkLw,5983
|
|
34
|
-
hud/cli/rl/__init__.py,sha256=
|
|
35
|
-
hud/cli/rl/init.py,sha256=
|
|
36
|
-
hud/cli/rl/pod.py,sha256=
|
|
37
|
-
hud/cli/rl/ssh.py,sha256=
|
|
38
|
-
hud/cli/rl/train.py,sha256=
|
|
39
|
-
hud/cli/rl/utils.py,sha256=
|
|
36
|
+
hud/cli/rl/__init__.py,sha256=PISQwpkMX9JQYMBK5j8ziP8vbLit6Sh1b7a94MgogBU,3424
|
|
37
|
+
hud/cli/rl/init.py,sha256=xm2hQisL1VVOnKu7cjOuEadwMnqHQjlr5ekbzoAd6dA,13996
|
|
38
|
+
hud/cli/rl/pod.py,sha256=601aiVhUI7ihempzBW-KFqbuU4RFJT0PZAzE5OVFEX4,19411
|
|
39
|
+
hud/cli/rl/ssh.py,sha256=cUsw_tUuuSJlYaQJSzdDQeixGoVwx3GvKYZIPkQOp1U,11755
|
|
40
|
+
hud/cli/rl/train.py,sha256=YyUSVjRtq1Sqg7zvKMdUupbE9eQ5unZOOldw4JLAv8M,20284
|
|
41
|
+
hud/cli/rl/utils.py,sha256=V28ihGb02bwYEYnvLJOYVMQSIiEGM1KjDJBr8Tkbn5I,4888
|
|
40
42
|
hud/cli/tests/__init__.py,sha256=ZrGVkmH7DHXGqOvjOSNGZeMYaFIRB2K8c6hwr8FPJ-8,68
|
|
41
|
-
hud/cli/tests/test_analyze.py,sha256=
|
|
42
|
-
hud/cli/tests/test_analyze_metadata.py,sha256=
|
|
43
|
+
hud/cli/tests/test_analyze.py,sha256=inbRvi7KJKoMYrcqXU6RSayoh7mAOGVrRknm6BLQFes,11055
|
|
44
|
+
hud/cli/tests/test_analyze_metadata.py,sha256=PqeovqpPIitu3YkQ7LvzD9potNxoU_KvDXH4_-lvYFs,9992
|
|
43
45
|
hud/cli/tests/test_build.py,sha256=9B_-jkCDMsNNn087SWbPEJVsbD_D1u5Mv1gBIySPuhU,14409
|
|
44
46
|
hud/cli/tests/test_cli_init.py,sha256=_H0bAn5_skJ91Zj8P5P_wtZoPWvrN7jMhPZvmnnf0n8,11289
|
|
45
47
|
hud/cli/tests/test_cli_main.py,sha256=0wMho9p9NcGjp0jLiUtCQh_FYdbMaCJtSY3sBbSgPwA,697
|
|
@@ -49,21 +51,21 @@ hud/cli/tests/test_debug.py,sha256=bQ76d_0HJfthHBSECmGNv499ZE57CIOKsanMlNfNHGk,1
|
|
|
49
51
|
hud/cli/tests/test_list_func.py,sha256=pkG4TtJJBMi9Xk8KBNFBlGcam7kwz01IRsjfQBL2PxM,10700
|
|
50
52
|
hud/cli/tests/test_main_module.py,sha256=6RhwCcdRSN2uQV6-adti40ZcLd3u-mPR1ai6wL64c6Y,1105
|
|
51
53
|
hud/cli/tests/test_mcp_server.py,sha256=wLFkDOR22FuBe3kIdYeLG7H81HHiorKB8kXRubftLpU,4316
|
|
52
|
-
hud/cli/tests/test_pull.py,sha256=
|
|
53
|
-
hud/cli/tests/test_push.py,sha256=
|
|
54
|
-
hud/cli/tests/test_registry.py,sha256
|
|
54
|
+
hud/cli/tests/test_pull.py,sha256=ToSJrlfn13pYnrWWt3W_S7qFFjwvoZC2UisrZVrxujo,13155
|
|
55
|
+
hud/cli/tests/test_push.py,sha256=V71KP5gEDo7Z9ccFpjidBjYliFg_KCfnZoZYbBXjguE,12875
|
|
56
|
+
hud/cli/tests/test_registry.py,sha256=-o9MvQTcBElteqrg0XW8Bg59KrHCt88ZyPqeaAlyyTg,9539
|
|
55
57
|
hud/cli/tests/test_utils.py,sha256=_oa2lTvgqJxXe0Mtovxb8x-Sug-f6oJJKvG67r5pFtA,13474
|
|
56
58
|
hud/cli/utils/__init__.py,sha256=L6s0oNzY2LugGp9faodCPnjzM-ZUorUH05-HmYOq5hY,35
|
|
57
59
|
hud/cli/utils/cursor.py,sha256=fy850p0rVp5k_1wwOCI7rK1SggbselJrywFInSQ2gio,3009
|
|
58
60
|
hud/cli/utils/docker.py,sha256=VTUcoPqxh3uXOgvL6NSqYiSDhyCPRp3jTfFbnIDwumg,3774
|
|
59
|
-
hud/cli/utils/environment.py,sha256
|
|
60
|
-
hud/cli/utils/interactive.py,sha256=
|
|
61
|
-
hud/cli/utils/logging.py,sha256=
|
|
62
|
-
hud/cli/utils/metadata.py,sha256=
|
|
63
|
-
hud/cli/utils/registry.py,sha256=
|
|
61
|
+
hud/cli/utils/environment.py,sha256=y_c0ohxWrM054ZKid0KOQPzs2M2vh985AsumPG2wTPc,4282
|
|
62
|
+
hud/cli/utils/interactive.py,sha256=tcwp9HkAyr2_GiM3Raba4h0P_OgCksQKram80BucPo4,16546
|
|
63
|
+
hud/cli/utils/logging.py,sha256=DyOWuzZUg6HeKCqfs6ufb703XS3bW4G2pzaXVAvDqvA,9018
|
|
64
|
+
hud/cli/utils/metadata.py,sha256=G9UvP9zclnu-oVvYg3yc4Sr0TH88jx4XV1Ai8f5CG6g,7870
|
|
65
|
+
hud/cli/utils/registry.py,sha256=p6IaWmhUbf0Yh6aGa3jIPoSFT2uJPTOVBLS0jpKDUqc,4376
|
|
64
66
|
hud/cli/utils/remote_runner.py,sha256=50Fqp7LG9dwiDyNM-LspNiKrSHmEo00C_Iuu5jg9mXU,9407
|
|
65
|
-
hud/cli/utils/runner.py,sha256=
|
|
66
|
-
hud/cli/utils/server.py,sha256=
|
|
67
|
+
hud/cli/utils/runner.py,sha256=7HxVGa6OTflQnO0FSuRs273wnAmbm7cFRU9RTGL3-Wo,4390
|
|
68
|
+
hud/cli/utils/server.py,sha256=EE5DJ0RAmXCEjMcZycpAsAxxCj6sOdIsXqPh38kK2ew,7416
|
|
67
69
|
hud/clients/README.md,sha256=XNE3mch95ozDgVqfwCGcrhlHY9CwT1GKfNANNboowto,3826
|
|
68
70
|
hud/clients/__init__.py,sha256=N5M_gZv4nP7dLRwpAiaqqaxyaLieGW6397FszeG7JGw,364
|
|
69
71
|
hud/clients/base.py,sha256=vt9mRMZwZg2DtVxQmccR_VZZGamXhx3dvlFJPulbOd8,14131
|
|
@@ -105,7 +107,7 @@ hud/server/helper/__init__.py,sha256=ZxO8VP3RZEBBp-q65VixuhzQgqEPSVzW0hEY9J9QqDA
|
|
|
105
107
|
hud/server/tests/__init__.py,sha256=eEYYkxX5Hz9woXVOBJ2H2_CQoEih0vH6nRt3sH2Z8v8,49
|
|
106
108
|
hud/shared/__init__.py,sha256=IPxPCqtPLguryN-nBq78Sakypw2bRiE2iHv3SXG8YRk,139
|
|
107
109
|
hud/shared/exceptions.py,sha256=dhmt5KMciQ2fmV-yqXtTNO868k-WzuZae6w7dOk3M44,12144
|
|
108
|
-
hud/shared/hints.py,sha256=
|
|
110
|
+
hud/shared/hints.py,sha256=XD-Ck9Utz0gZ6lZ3-eB4AROgbc4llSoyNe1ZbmPCTx0,5049
|
|
109
111
|
hud/shared/requests.py,sha256=HWrPp7nBSK4jhv9wqZdFiNrVaaxV0vWS8fcgGtoztBc,9479
|
|
110
112
|
hud/shared/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
111
113
|
hud/shared/tests/test_exceptions.py,sha256=bCKGqw2RwBmlGIMNpddzyfnWAOQwSIYB76r6iaBE2is,15761
|
|
@@ -135,10 +137,16 @@ hud/tools/computer/settings.py,sha256=b1XJsEQjB9qhN1xHfVENATkzinEebe0ZPyLzMgCGkK
|
|
|
135
137
|
hud/tools/executors/__init__.py,sha256=jHxfus9SLhkL6YGtebR5RyKYyVAix3yu5EkUp2Q27Kg,732
|
|
136
138
|
hud/tools/executors/base.py,sha256=VP2SiIEBSXvklnkasGxVuy-OmDMd9rjuxZh_YuUQH7A,14481
|
|
137
139
|
hud/tools/executors/pyautogui.py,sha256=11eUQJAgFmHxwd9INAb2L9tgBmEv2Vgn0cwhwvGKlC8,22361
|
|
138
|
-
hud/tools/executors/xdo.py,sha256=
|
|
140
|
+
hud/tools/executors/xdo.py,sha256=UF53DbMX-bRGiHd-O7cCJmCrVaYuP83xiJggER7HcDk,18137
|
|
139
141
|
hud/tools/executors/tests/__init__.py,sha256=opFpGSH6cEqIZgt9izXd3Yt85pC7xkxiYmOZQTHf4AY,32
|
|
140
|
-
hud/tools/executors/tests/test_base_executor.py,sha256=
|
|
142
|
+
hud/tools/executors/tests/test_base_executor.py,sha256=ovh99to5jbQfrCKfCUnDbY-q3oDk_cMmHOVSv7Sn02E,13549
|
|
141
143
|
hud/tools/executors/tests/test_pyautogui_executor.py,sha256=Shv6pnWtlsMXBMlN5DjlttCu6rZ1H447d1QZumduOnU,6640
|
|
144
|
+
hud/tools/grounding/__init__.py,sha256=oazR_qTJqkeGtjy_0w1QW58PQ872PkVwtYI-v2KIX3k,311
|
|
145
|
+
hud/tools/grounding/config.py,sha256=Vsd5ASDZFL7kW7toKkgrYN5D-ZV6ovKZyX4nxRrHvRs,1869
|
|
146
|
+
hud/tools/grounding/grounded_tool.py,sha256=L3O8FzpDoC8ZrnT0xkjlUwAkg7mAbnhK3ju0nE2zCiQ,12679
|
|
147
|
+
hud/tools/grounding/grounder.py,sha256=eKuKKraamXnwwY3oVRNeXreb6NqvMgt-v34B-coc868,11069
|
|
148
|
+
hud/tools/grounding/tests/__init__.py,sha256=jLw4nmvvvZu2ln2_yEUUKg72IewQ4HaXCUWJuX3ECZY,33
|
|
149
|
+
hud/tools/grounding/tests/test_grounded_tool.py,sha256=kr-wOOJZcfdYfhRSNFnhv8EuIsjbwgHDQbUSH9WnxMw,6446
|
|
142
150
|
hud/tools/tests/__init__.py,sha256=eEYYkxX5Hz9woXVOBJ2H2_CQoEih0vH6nRt3sH2Z8v8,49
|
|
143
151
|
hud/tools/tests/test_base.py,sha256=m6EelJ47F_hMqvRjrr6vEdiW1AtLgz3ZH1V1IUzTxzI,8983
|
|
144
152
|
hud/tools/tests/test_bash.py,sha256=-g9a6sYgKKXRXmqYGYQBgpKEF_OlKE_uDDQXYMx6rT0,5113
|
|
@@ -147,16 +155,17 @@ hud/tools/tests/test_computer.py,sha256=BmrX2PV3wzHC4-xPJnWvenDV_kWt8LF8ia0kELBg
|
|
|
147
155
|
hud/tools/tests/test_computer_actions.py,sha256=YtUNFL7anhpXrcvg8EoUY1CqIV-TAAyaNFLZO9CiJ40,1194
|
|
148
156
|
hud/tools/tests/test_edit.py,sha256=pHw1MSs-P8mDKrwKUDW77vQfoMNwmbrEBt_MkKr2rE0,9734
|
|
149
157
|
hud/tools/tests/test_init.py,sha256=fl4Tf4IUUFOKhdSRHu9GE4mkaTDiXw-2auxj4s84HuE,698
|
|
150
|
-
hud/tools/tests/test_playwright_tool.py,sha256=
|
|
158
|
+
hud/tools/tests/test_playwright_tool.py,sha256=TG0uieerc5wXq_JX66BLfXxphbSYGlDPhSbuoeizMu4,6737
|
|
151
159
|
hud/tools/tests/test_response.py,sha256=pEv3p0k1reSKtjbA8xneu--OuCHydbHHl6YWorV4zOg,2212
|
|
152
160
|
hud/tools/tests/test_tools.py,sha256=paz28V98Am-oR7MBJPDgY-BRV14HQo_0F6X5JIC8aic,4563
|
|
153
|
-
hud/tools/tests/test_tools_init.py,sha256=
|
|
154
|
-
hud/tools/tests/test_utils.py,sha256=
|
|
155
|
-
hud/utils/__init__.py,sha256=
|
|
161
|
+
hud/tools/tests/test_tools_init.py,sha256=aOX9IKji-4ThHEiRYULa7YlIajP0lj3eFPjgzlEg9TI,1727
|
|
162
|
+
hud/tools/tests/test_utils.py,sha256=qaujM1uyTMaKqWIeEgxty5GOFyfSUtrYCEHhmIazoy4,5500
|
|
163
|
+
hud/utils/__init__.py,sha256=nk9Re6ls2RudAWnAHDWYbLG28AwNF4qMFYf5xQIJhQA,181
|
|
164
|
+
hud/utils/agent_factories.py,sha256=cvfXByqG6gOYHtm1VGeJjCpxoLxM4aJez8rH-AerP_A,3186
|
|
156
165
|
hud/utils/async_utils.py,sha256=5cKrJcnaHV2eJNxeyx0r7fPcdPTDBK7kM9-nLaF51X4,2409
|
|
157
|
-
hud/utils/
|
|
166
|
+
hud/utils/hud_console.py,sha256=1JlIphJNtqS2cm4DsuQnvD0dJgyYD1Kf7575vPO0fz4,18202
|
|
158
167
|
hud/utils/mcp.py,sha256=jvCWb5MXlMMObhrbYoiTlI-L9HNkEjLVx8GJ-HbdQ7U,2626
|
|
159
|
-
hud/utils/pretty_errors.py,sha256=
|
|
168
|
+
hud/utils/pretty_errors.py,sha256=WGeL4CTHtlA6KgPuV_JSX5l6H4-xbuTp6Y6tw1bkiFg,2430
|
|
160
169
|
hud/utils/progress.py,sha256=suikwFM8sdSfkV10nAOEaInDhG4XKgOSvFePg4jSj1A,5927
|
|
161
170
|
hud/utils/telemetry.py,sha256=hrVIx2rUjSGyy9IVxTZ_3Jii83PiHjyFRd5ls2whimM,1863
|
|
162
171
|
hud/utils/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -165,10 +174,10 @@ hud/utils/tests/test_init.py,sha256=2QLQSGgyP9wJhOvPCusm_zjJad0qApOZi1BXpxcdHXQ,
|
|
|
165
174
|
hud/utils/tests/test_mcp.py,sha256=0pUa16mL-bqbZDXp5NHBnt1gO5o10BOg7zTMHZ1DNPM,4023
|
|
166
175
|
hud/utils/tests/test_progress.py,sha256=QSF7Kpi03Ff_l3mAeqW9qs1nhK50j9vBiSobZq7T4f4,7394
|
|
167
176
|
hud/utils/tests/test_telemetry.py,sha256=5jl7bEx8C8b-FfFUko5pf4UY-mPOR-9HaeL98dGtVHM,2781
|
|
168
|
-
hud/utils/tests/test_version.py,sha256=
|
|
177
|
+
hud/utils/tests/test_version.py,sha256=IWI4m88C4T_FrgySB42WwPuaGnc3Smpe9QddpcNoOIc,160
|
|
169
178
|
hud/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
170
|
-
hud_python-0.4.
|
|
171
|
-
hud_python-0.4.
|
|
172
|
-
hud_python-0.4.
|
|
173
|
-
hud_python-0.4.
|
|
174
|
-
hud_python-0.4.
|
|
179
|
+
hud_python-0.4.23.dist-info/METADATA,sha256=iQt7VOpj3uXIcsbAHXdv4Vu3KNgm194i5mi7jrbuvJg,20239
|
|
180
|
+
hud_python-0.4.23.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
181
|
+
hud_python-0.4.23.dist-info/entry_points.txt,sha256=jJbodNFg1m0-CDofe5AHvB4zKBq7sSdP97-ohaQ3ae4,63
|
|
182
|
+
hud_python-0.4.23.dist-info/licenses/LICENSE,sha256=yIzBheVUf86FC1bztAcr7RYWWNxyd3B-UJQ3uddg1HA,1078
|
|
183
|
+
hud_python-0.4.23.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|