Skip to content

Commit d409ca7

Browse files
Normalize browser-use version cast errors to HyperbrowserError
Co-authored-by: Shri Sukhani <shrisukhani@users.noreply.github.com>
1 parent 1053d73 commit d409ca7

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

hyperbrowser/models/agents/browser_use.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from pydantic import BaseModel, ConfigDict, Field
44

5+
from ...exceptions import HyperbrowserError
56
from ..consts import BrowserUseLlm, BrowserUseVersion
67
from ..session import CreateSessionParams
78

@@ -296,4 +297,4 @@ def cast_steps_for_version(
296297
elif version == "latest":
297298
return steps
298299
else:
299-
raise ValueError(f"Invalid version: {version}")
300+
raise HyperbrowserError(f"Invalid browser-use version: {version}")

tests/test_browser_use_models.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
from hyperbrowser.exceptions import HyperbrowserError
2+
from hyperbrowser.models.agents.browser_use import cast_steps_for_version
3+
4+
5+
def test_cast_steps_for_version_latest_returns_original_steps():
6+
steps = [{"state": "kept-as-is"}]
7+
8+
result = cast_steps_for_version(steps, "latest")
9+
10+
assert result is steps
11+
12+
13+
def test_cast_steps_for_version_raises_hyperbrowser_error_for_invalid_version():
14+
steps = [{"state": "ignored"}]
15+
16+
try:
17+
cast_steps_for_version(steps, "v999") # type: ignore[arg-type]
18+
except HyperbrowserError as exc:
19+
assert "Invalid browser-use version" in str(exc)
20+
else:
21+
raise AssertionError("Expected HyperbrowserError for invalid version")

0 commit comments

Comments
 (0)