hyperbrowser 1.12.0__tar.gz → 1.12.1__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.
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/PKG-INFO +42 -1
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/README.md +41 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/__init__.py +10 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/agents/gemini_computer_use.py +4 -1
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/consts.py +8 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/session.py +69 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/types/__init__.py +4 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/types/agents.py +2 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/types/session.py +18 -1
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/pyproject.toml +1 -1
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/LICENSE +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/__init__.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/build_context.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/_request.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/async_client.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/base.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/agents/__init__.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/agents/browser_use.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/agents/claude_computer_use.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/agents/cua.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/agents/gemini_computer_use.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/agents/grok_computer_use.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/agents/hyper_agent.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/agents/jev_computer_use.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/agents/meta_computer_use.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/computer_action.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/crawl.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/extension.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/extract.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/profile.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/sandbox.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/sandboxes/__init__.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_files.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_processes.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_terminal.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/sandboxes/sandbox_transport.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/scrape.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/secret.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/session.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/team.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/volume.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/web/__init__.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/web/batch_fetch.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/web/crawl.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/webmcp.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sandboxes/__init__.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sandboxes/dockerfile_analysis.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sandboxes/dockerignore.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sandboxes/image_build.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sandboxes/image_resolution.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sandboxes/process_output.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sandboxes/shared.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/agents/__init__.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/agents/browser_use.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/agents/claude_computer_use.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/agents/cua.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/agents/gemini_computer_use.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/agents/grok_computer_use.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/agents/hyper_agent.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/agents/jev_computer_use.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/agents/meta_computer_use.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/computer_action.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/crawl.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/extension.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/extract.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/profile.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/sandbox.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/sandboxes/__init__.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_files.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_processes.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_terminal.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/sandboxes/sandbox_transport.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/scrape.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/secret.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/session.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/team.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/volume.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/web/__init__.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/web/batch_fetch.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/web/crawl.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/webmcp.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/sync.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/config.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/exceptions.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/image_builds.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/_parsers.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/agents/browser_use.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/agents/claude_computer_use.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/agents/cua.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/agents/grok_computer_use.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/agents/hyper_agent.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/agents/jev_computer_use.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/agents/meta_computer_use.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/computer_action.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/crawl.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/extension.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/extract.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/profile.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/sandbox.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/scrape.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/secret.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/team.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/volume.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/web/batch_fetch.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/web/branding.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/web/common.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/web/crawl.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/web/fetch.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/web/search.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/webmcp.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/py.typed +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/sandbox_common.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/secrets_common.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/tools/__init__.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/tools/anthropic.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/tools/openai.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/tools/schema.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/transport/async_transport.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/transport/base.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/transport/sync.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/types/_json.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/types/computer_action.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/types/crawl.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/types/extension.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/types/extract.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/types/profile.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/types/sandbox.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/types/scrape.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/types/secret.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/types/volume.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/types/web.py +0 -0
- {hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/types/webmcp.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hyperbrowser
|
|
3
|
-
Version: 1.12.
|
|
3
|
+
Version: 1.12.1
|
|
4
4
|
Summary: Python SDK for hyperbrowser
|
|
5
5
|
License: MIT
|
|
6
6
|
License-File: LICENSE
|
|
@@ -97,6 +97,47 @@ Pydantic request/response models in `hyperbrowser.models`.
|
|
|
97
97
|
See the [WebMCP guide](https://hyperbrowser.ai/docs/sessions/webmcp) for complete
|
|
98
98
|
examples, cancellation behavior, human submission, and limits.
|
|
99
99
|
|
|
100
|
+
## Web Bot Auth
|
|
101
|
+
|
|
102
|
+
A session can sign its requests with Web Bot Auth so websites can verify that they
|
|
103
|
+
come from Hyperbrowser. Web Bot Auth is enabled for teams on request.
|
|
104
|
+
|
|
105
|
+
```python
|
|
106
|
+
session = client.sessions.create({"web_bot_auth": True})
|
|
107
|
+
print(session.launch_state.web_bot_auth.signature_agent) # https://www.hyperbrowser.ai
|
|
108
|
+
|
|
109
|
+
# Sign only requests to these hosts and their subdomains:
|
|
110
|
+
client.sessions.create({"web_bot_auth": {"only_domains": ["example.com"]}})
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Agent tasks accept `web_bot_auth` in `session_options`; scrape, crawl, and extract
|
|
114
|
+
jobs do not. It cannot be combined with `use_ultra_stealth` or
|
|
115
|
+
`start_from_snapshot`. See the
|
|
116
|
+
[Web Bot Auth guide](https://hyperbrowser.ai/docs/sessions/web-bot-auth).
|
|
117
|
+
|
|
118
|
+
## Proxy routes
|
|
119
|
+
|
|
120
|
+
`proxy_routes` sends some hosts' traffic straight out instead of through the
|
|
121
|
+
session's proxy, or the other way round. The first route that matches a host
|
|
122
|
+
decides; hosts that no route matches use the proxy. Proxy routes require
|
|
123
|
+
`use_proxy` and are enabled for teams on request.
|
|
124
|
+
|
|
125
|
+
```python
|
|
126
|
+
session = client.sessions.create({
|
|
127
|
+
"use_proxy": True,
|
|
128
|
+
"proxy_routes": [
|
|
129
|
+
{"match": "api.example.com", "proxy": "default"}, # stays on the proxy
|
|
130
|
+
{"match": ["*.example.com", "cdn.example.net"], "proxy": "direct"},
|
|
131
|
+
],
|
|
132
|
+
})
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
A pattern is a hostname, `*.example.com` (its subdomains, not `example.com`
|
|
136
|
+
itself), or `*` (every host). Proxy routes only apply to `client.sessions.create`
|
|
137
|
+
and cannot be combined with `allow_internet_access=False`, `allow_out`, or
|
|
138
|
+
`deny_out`. See the
|
|
139
|
+
[proxy routes guide](https://hyperbrowser.ai/docs/sessions/proxy-routes).
|
|
140
|
+
|
|
100
141
|
## Usage
|
|
101
142
|
|
|
102
143
|
Hyperbrowser 1.0 accepts plain dictionaries for request parameters. Method
|
|
@@ -68,6 +68,47 @@ Pydantic request/response models in `hyperbrowser.models`.
|
|
|
68
68
|
See the [WebMCP guide](https://hyperbrowser.ai/docs/sessions/webmcp) for complete
|
|
69
69
|
examples, cancellation behavior, human submission, and limits.
|
|
70
70
|
|
|
71
|
+
## Web Bot Auth
|
|
72
|
+
|
|
73
|
+
A session can sign its requests with Web Bot Auth so websites can verify that they
|
|
74
|
+
come from Hyperbrowser. Web Bot Auth is enabled for teams on request.
|
|
75
|
+
|
|
76
|
+
```python
|
|
77
|
+
session = client.sessions.create({"web_bot_auth": True})
|
|
78
|
+
print(session.launch_state.web_bot_auth.signature_agent) # https://www.hyperbrowser.ai
|
|
79
|
+
|
|
80
|
+
# Sign only requests to these hosts and their subdomains:
|
|
81
|
+
client.sessions.create({"web_bot_auth": {"only_domains": ["example.com"]}})
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Agent tasks accept `web_bot_auth` in `session_options`; scrape, crawl, and extract
|
|
85
|
+
jobs do not. It cannot be combined with `use_ultra_stealth` or
|
|
86
|
+
`start_from_snapshot`. See the
|
|
87
|
+
[Web Bot Auth guide](https://hyperbrowser.ai/docs/sessions/web-bot-auth).
|
|
88
|
+
|
|
89
|
+
## Proxy routes
|
|
90
|
+
|
|
91
|
+
`proxy_routes` sends some hosts' traffic straight out instead of through the
|
|
92
|
+
session's proxy, or the other way round. The first route that matches a host
|
|
93
|
+
decides; hosts that no route matches use the proxy. Proxy routes require
|
|
94
|
+
`use_proxy` and are enabled for teams on request.
|
|
95
|
+
|
|
96
|
+
```python
|
|
97
|
+
session = client.sessions.create({
|
|
98
|
+
"use_proxy": True,
|
|
99
|
+
"proxy_routes": [
|
|
100
|
+
{"match": "api.example.com", "proxy": "default"}, # stays on the proxy
|
|
101
|
+
{"match": ["*.example.com", "cdn.example.net"], "proxy": "direct"},
|
|
102
|
+
],
|
|
103
|
+
})
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
A pattern is a hostname, `*.example.com` (its subdomains, not `example.com`
|
|
107
|
+
itself), or `*` (every host). Proxy routes only apply to `client.sessions.create`
|
|
108
|
+
and cannot be combined with `allow_internet_access=False`, `allow_out`, or
|
|
109
|
+
`deny_out`. See the
|
|
110
|
+
[proxy routes guide](https://hyperbrowser.ai/docs/sessions/proxy-routes).
|
|
111
|
+
|
|
71
112
|
## Usage
|
|
72
113
|
|
|
73
114
|
Hyperbrowser 1.0 accepts plain dictionaries for request parameters. Method
|
|
@@ -195,6 +195,8 @@ from .consts import (
|
|
|
195
195
|
ClaudeComputerUseReasoningEffort,
|
|
196
196
|
CuaLlm,
|
|
197
197
|
CuaReasoningEffort,
|
|
198
|
+
GeminiComputerUseLlm,
|
|
199
|
+
GeminiComputerUseReasoningEffort,
|
|
198
200
|
GrokComputerUseLlm,
|
|
199
201
|
GrokReasoningEffort,
|
|
200
202
|
MetaComputerUseLlm,
|
|
@@ -343,6 +345,9 @@ from .session import (
|
|
|
343
345
|
SessionProfile,
|
|
344
346
|
SessionLaunchState,
|
|
345
347
|
StartSessionFromSnapshotParams,
|
|
348
|
+
WebBotAuthParams,
|
|
349
|
+
ProxyRoute,
|
|
350
|
+
SessionWebBotAuth,
|
|
346
351
|
UploadFileResponse,
|
|
347
352
|
ImageCaptchaParam,
|
|
348
353
|
CaptchaSolverType,
|
|
@@ -492,6 +497,8 @@ __all__ = [
|
|
|
492
497
|
"ClaudeComputerUseReasoningEffort",
|
|
493
498
|
"CuaLlm",
|
|
494
499
|
"CuaReasoningEffort",
|
|
500
|
+
"GeminiComputerUseLlm",
|
|
501
|
+
"GeminiComputerUseReasoningEffort",
|
|
495
502
|
"Country",
|
|
496
503
|
"DownloadsStatus",
|
|
497
504
|
"FetchScreenshotFormat",
|
|
@@ -704,6 +711,9 @@ __all__ = [
|
|
|
704
711
|
"SessionProfile",
|
|
705
712
|
"SessionLaunchState",
|
|
706
713
|
"StartSessionFromSnapshotParams",
|
|
714
|
+
"WebBotAuthParams",
|
|
715
|
+
"ProxyRoute",
|
|
716
|
+
"SessionWebBotAuth",
|
|
707
717
|
"UploadFileResponse",
|
|
708
718
|
"ImageCaptchaParam",
|
|
709
719
|
"CaptchaSolverType",
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/agents/gemini_computer_use.py
RENAMED
|
@@ -5,7 +5,7 @@ from typing import Any, List, Literal, Optional
|
|
|
5
5
|
from pydantic import BaseModel, ConfigDict, Field
|
|
6
6
|
|
|
7
7
|
from ..session import CreateSessionParams
|
|
8
|
-
from ..consts import GeminiComputerUseLlm
|
|
8
|
+
from ..consts import GeminiComputerUseLlm, GeminiComputerUseReasoningEffort
|
|
9
9
|
|
|
10
10
|
GeminiComputerUseTaskStatus = Literal[
|
|
11
11
|
"pending", "running", "completed", "failed", "stopped"
|
|
@@ -35,6 +35,9 @@ class StartGeminiComputerUseTaskParams(BaseModel):
|
|
|
35
35
|
|
|
36
36
|
task: str
|
|
37
37
|
llm: Optional[GeminiComputerUseLlm] = Field(default=None, serialization_alias="llm")
|
|
38
|
+
reasoning_effort: Optional[GeminiComputerUseReasoningEffort] = Field(
|
|
39
|
+
default=None, serialization_alias="reasoningEffort"
|
|
40
|
+
)
|
|
38
41
|
session_id: Optional[str] = Field(default=None, serialization_alias="sessionId")
|
|
39
42
|
max_failures: Optional[int] = Field(default=None, serialization_alias="maxFailures")
|
|
40
43
|
max_steps: Optional[int] = Field(default=None, serialization_alias="maxSteps")
|
|
@@ -115,6 +115,7 @@ CuaReasoningEffort = Literal[
|
|
|
115
115
|
"max",
|
|
116
116
|
]
|
|
117
117
|
GeminiComputerUseLlm = Literal[
|
|
118
|
+
"gemini-4-argon",
|
|
118
119
|
"gemini-3.8-flash",
|
|
119
120
|
"gemini-3.7-flash",
|
|
120
121
|
"gemini-3.6-flash",
|
|
@@ -123,6 +124,13 @@ GeminiComputerUseLlm = Literal[
|
|
|
123
124
|
"gemini-3-flash-preview",
|
|
124
125
|
"gemini-2.5-computer-use-preview-10-2025",
|
|
125
126
|
]
|
|
127
|
+
# Gemini 4 Argon, 3.8 Flash, and 3.7 Flash do not support "minimal".
|
|
128
|
+
GeminiComputerUseReasoningEffort = Literal[
|
|
129
|
+
"minimal",
|
|
130
|
+
"low",
|
|
131
|
+
"medium",
|
|
132
|
+
"high",
|
|
133
|
+
]
|
|
126
134
|
GrokComputerUseLlm = Literal[
|
|
127
135
|
"grok-4.7",
|
|
128
136
|
"grok-4.6",
|
|
@@ -62,6 +62,21 @@ class SessionProfile(BaseModel):
|
|
|
62
62
|
)
|
|
63
63
|
|
|
64
64
|
|
|
65
|
+
class SessionWebBotAuth(BaseModel):
|
|
66
|
+
"""
|
|
67
|
+
How a session signs its requests with Web Bot Auth.
|
|
68
|
+
"""
|
|
69
|
+
|
|
70
|
+
model_config = ConfigDict(
|
|
71
|
+
populate_by_alias=True,
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
signature_agent: str = Field(alias="signatureAgent")
|
|
75
|
+
"""The identity the session signs as, e.g. "https://www.hyperbrowser.ai"."""
|
|
76
|
+
only_domains: Optional[List[str]] = Field(default=None, alias="onlyDomains")
|
|
77
|
+
"""Present when signing is limited to these hostnames and their subdomains."""
|
|
78
|
+
|
|
79
|
+
|
|
65
80
|
class UpdateSessionProfileParams(BaseModel):
|
|
66
81
|
"""
|
|
67
82
|
Parameters for updating session profile persistence settings.
|
|
@@ -130,6 +145,8 @@ class SessionLaunchState(BaseModel):
|
|
|
130
145
|
)
|
|
131
146
|
|
|
132
147
|
enable_web_mcp: Optional[bool] = Field(default=None, alias="enableWebMcp")
|
|
148
|
+
web_bot_auth: Optional[SessionWebBotAuth] = Field(default=None, alias="webBotAuth")
|
|
149
|
+
"""Present only for a session that signs its requests with Web Bot Auth."""
|
|
133
150
|
|
|
134
151
|
use_ultra_stealth: Optional[bool] = Field(default=None, alias="useUltraStealth")
|
|
135
152
|
use_stealth: Optional[bool] = Field(default=None, alias="useStealth")
|
|
@@ -404,6 +421,40 @@ class StartSessionFromSnapshotParams(BaseModel):
|
|
|
404
421
|
snapshot_id: str = Field(serialization_alias="snapshotId")
|
|
405
422
|
|
|
406
423
|
|
|
424
|
+
class WebBotAuthParams(BaseModel):
|
|
425
|
+
"""
|
|
426
|
+
Limits Web Bot Auth signing to some hosts.
|
|
427
|
+
"""
|
|
428
|
+
|
|
429
|
+
# An unknown key (such as "onlyDomains") is an error rather than dropped:
|
|
430
|
+
# dropping it would sign requests to every host.
|
|
431
|
+
model_config = ConfigDict(populate_by_name=True, extra="forbid")
|
|
432
|
+
|
|
433
|
+
only_domains: Optional[List[str]] = Field(
|
|
434
|
+
default=None, serialization_alias="onlyDomains"
|
|
435
|
+
)
|
|
436
|
+
"""Sign only requests to these hostnames (e.g. "example.com") and their
|
|
437
|
+
subdomains. No scheme, port or path; at most 50.
|
|
438
|
+
"""
|
|
439
|
+
|
|
440
|
+
|
|
441
|
+
class ProxyRoute(BaseModel):
|
|
442
|
+
"""
|
|
443
|
+
Sends traffic for matching hosts through the session's proxy or straight out.
|
|
444
|
+
"""
|
|
445
|
+
|
|
446
|
+
model_config = ConfigDict(populate_by_name=True, extra="forbid")
|
|
447
|
+
|
|
448
|
+
match: Union[str, List[str]]
|
|
449
|
+
"""A hostname, "*.example.com" (subdomains, not example.com itself) or "*"
|
|
450
|
+
(every host), or a list of them.
|
|
451
|
+
"""
|
|
452
|
+
proxy: Literal["direct", "default"]
|
|
453
|
+
"""Where the traffic goes: "direct" sends it straight out of the browser's
|
|
454
|
+
machine, and "default" sends it through the session's proxy.
|
|
455
|
+
"""
|
|
456
|
+
|
|
457
|
+
|
|
407
458
|
class CreateSessionParams(BaseModel):
|
|
408
459
|
"""
|
|
409
460
|
Parameters for creating a new browser session.
|
|
@@ -416,6 +467,24 @@ class CreateSessionParams(BaseModel):
|
|
|
416
467
|
enable_web_mcp: Optional[bool] = Field(
|
|
417
468
|
default=None, serialization_alias="enableWebMcp"
|
|
418
469
|
)
|
|
470
|
+
web_bot_auth: Optional[Union[bool, WebBotAuthParams]] = Field(
|
|
471
|
+
default=None, serialization_alias="webBotAuth"
|
|
472
|
+
)
|
|
473
|
+
"""Sign the session's requests with Web Bot Auth so websites can verify they
|
|
474
|
+
come from Hyperbrowser. Pass WebBotAuthParams(only_domains=[...]) to sign only
|
|
475
|
+
for those hosts. Requires Web Bot Auth to be enabled for your team; works for
|
|
476
|
+
sessions and agent tasks, and cannot be combined with use_ultra_stealth or
|
|
477
|
+
start_from_snapshot.
|
|
478
|
+
"""
|
|
479
|
+
proxy_routes: Optional[List[ProxyRoute]] = Field(
|
|
480
|
+
default=None, serialization_alias="proxyRoutes"
|
|
481
|
+
)
|
|
482
|
+
"""Choose, per host, whether the session's traffic goes through its proxy or
|
|
483
|
+
straight out. The first route that matches a host decides; hosts that no
|
|
484
|
+
route matches use the proxy. Requires use_proxy and proxy routes to be
|
|
485
|
+
enabled for your team, only applies when creating a session, and cannot be
|
|
486
|
+
combined with allow_internet_access=False, allow_out or deny_out.
|
|
487
|
+
"""
|
|
419
488
|
|
|
420
489
|
use_ultra_stealth: bool = Field(
|
|
421
490
|
default=False, serialization_alias="useUltraStealth"
|
|
@@ -147,6 +147,8 @@ from .session import (
|
|
|
147
147
|
SessionListParams,
|
|
148
148
|
SessionStatus,
|
|
149
149
|
StartSessionFromSnapshotParams,
|
|
150
|
+
WebBotAuthParams,
|
|
151
|
+
ProxyRoute,
|
|
150
152
|
UpdateSessionProfileParams,
|
|
151
153
|
UpdateSessionProxyLocationParams,
|
|
152
154
|
UpdateSessionProxyParams,
|
|
@@ -323,6 +325,8 @@ __all__ = [
|
|
|
323
325
|
"SessionListParams",
|
|
324
326
|
"SessionStatus",
|
|
325
327
|
"StartSessionFromSnapshotParams",
|
|
328
|
+
"WebBotAuthParams",
|
|
329
|
+
"ProxyRoute",
|
|
326
330
|
"UpdateSessionProfileParams",
|
|
327
331
|
"UpdateSessionProxyLocationParams",
|
|
328
332
|
"UpdateSessionProxyParams",
|
|
@@ -10,6 +10,7 @@ from hyperbrowser.models.consts import (
|
|
|
10
10
|
CuaLlm,
|
|
11
11
|
CuaReasoningEffort,
|
|
12
12
|
GeminiComputerUseLlm,
|
|
13
|
+
GeminiComputerUseReasoningEffort,
|
|
13
14
|
GrokComputerUseLlm,
|
|
14
15
|
GrokReasoningEffort,
|
|
15
16
|
MetaComputerUseLlm,
|
|
@@ -92,6 +93,7 @@ class StartGeminiComputerUseTaskParams(TypedDict, total=False):
|
|
|
92
93
|
|
|
93
94
|
task: Required[str]
|
|
94
95
|
llm: Optional[GeminiComputerUseLlm]
|
|
96
|
+
reasoning_effort: Optional[GeminiComputerUseReasoningEffort]
|
|
95
97
|
session_id: Optional[str]
|
|
96
98
|
max_failures: Optional[int]
|
|
97
99
|
max_steps: Optional[int]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import List, Literal, Optional
|
|
1
|
+
from typing import List, Literal, Optional, Union
|
|
2
2
|
|
|
3
3
|
from typing_extensions import Required, TypedDict
|
|
4
4
|
|
|
@@ -114,10 +114,27 @@ class StartSessionFromSnapshotParams(TypedDict):
|
|
|
114
114
|
snapshot_id: str
|
|
115
115
|
|
|
116
116
|
|
|
117
|
+
class WebBotAuthParams(TypedDict, total=False):
|
|
118
|
+
"""Hosts to limit Web Bot Auth signing to: hostnames such as "example.com",
|
|
119
|
+
each also covering its subdomains."""
|
|
120
|
+
|
|
121
|
+
only_domains: List[str]
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
class ProxyRoute(TypedDict):
|
|
125
|
+
"""Sends traffic for matching hosts through the session's proxy ("default")
|
|
126
|
+
or straight out ("direct"). A pattern is a hostname, "*.example.com" or "*"."""
|
|
127
|
+
|
|
128
|
+
match: Union[str, List[str]]
|
|
129
|
+
proxy: Literal["direct", "default"]
|
|
130
|
+
|
|
131
|
+
|
|
117
132
|
class CreateSessionParams(TypedDict, total=False):
|
|
118
133
|
"""Configuration for creating a browser session."""
|
|
119
134
|
|
|
120
135
|
enable_web_mcp: Optional[bool]
|
|
136
|
+
web_bot_auth: Optional[Union[bool, WebBotAuthParams]]
|
|
137
|
+
proxy_routes: Optional[List[ProxyRoute]]
|
|
121
138
|
use_ultra_stealth: bool
|
|
122
139
|
use_stealth: bool
|
|
123
140
|
use_proxy: bool
|
|
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
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/agents/cua.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/crawl.py
RENAMED
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/extension.py
RENAMED
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/extract.py
RENAMED
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/profile.py
RENAMED
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/sandbox.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/scrape.py
RENAMED
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/secret.py
RENAMED
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/session.py
RENAMED
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/team.py
RENAMED
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/volume.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/web/crawl.py
RENAMED
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/async_manager/webmcp.py
RENAMED
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sandboxes/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sandboxes/dockerignore.py
RENAMED
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sandboxes/image_build.py
RENAMED
|
File without changes
|
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sandboxes/process_output.py
RENAMED
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sandboxes/shared.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/agents/cua.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/crawl.py
RENAMED
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/extension.py
RENAMED
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/extract.py
RENAMED
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/profile.py
RENAMED
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/sandbox.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/scrape.py
RENAMED
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/secret.py
RENAMED
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/session.py
RENAMED
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/team.py
RENAMED
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/volume.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/web/crawl.py
RENAMED
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/client/managers/sync_manager/webmcp.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hyperbrowser-1.12.0 → hyperbrowser-1.12.1}/hyperbrowser/models/agents/claude_computer_use.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
|
|
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
|