Skip to content

Commit bca5a05

Browse files
feat: Add request-only fingerprint beta contract
Stainless-Generated-From: 92b9d288db3e5910b862124f98a8edf2df1758b2
1 parent 845e6c6 commit bca5a05

7 files changed

Lines changed: 44 additions & 2 deletions

File tree

‎README.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -203,9 +203,9 @@ from kernel import Kernel
203203
client = Kernel()
204204

205205
browser = client.browsers.create(
206-
location={},
206+
fingerprint={"os": "macos"},
207207
)
208-
print(browser.location)
208+
print(browser.fingerprint)
209209
```
210210

211211
## File uploads

‎api.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ Types:
118118
```python
119119
from kernel.types import (
120120
BrowserAllowlistState,
121+
BrowserFingerprint,
121122
BrowserLocation,
122123
BrowserLocationRequest,
123124
BrowserLocationSource,

‎src/kernel/resources/browsers/browsers.py‎

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@
113113
from ...types.browser_memory_request import BrowserMemoryRequest
114114
from ...types.browser_create_response import BrowserCreateResponse
115115
from ...types.browser_update_response import BrowserUpdateResponse
116+
from ...types.browser_fingerprint_param import BrowserFingerprintParam
116117
from ...types.browser_retrieve_response import BrowserRetrieveResponse
117118
from ...types.browser_proxy_config_param import BrowserProxyConfigParam
118119
from ...types.browser_network_config_param import BrowserNetworkConfigParam
@@ -195,6 +196,7 @@ def create(
195196
*,
196197
chrome_policy: Dict[str, object] | Omit = omit,
197198
extensions: Iterable[BrowserExtension] | Omit = omit,
199+
fingerprint: BrowserFingerprintParam | Omit = omit,
198200
gpu: bool | Omit = omit,
199201
headless: bool | Omit = omit,
200202
invocation_id: str | Omit = omit,
@@ -234,6 +236,11 @@ def create(
234236
235237
extensions: List of browser extensions to load into the session. Provide each by id or name.
236238
239+
fingerprint: Closed beta: contact Kernel to enable fingerprint overrides for your
240+
organization. Overrides browser attributes presented to websites for this
241+
session. Currently supports macos and requires stealth=true, headless=false,
242+
gpu=false, and default memory. Omit to preserve the default browser behavior.
243+
237244
gpu: If true, enables GPU acceleration for the browser session. Requires Start-Up or
238245
Enterprise plan, headless=false, and region=us-east.
239246
@@ -340,6 +347,7 @@ def create(
340347
{
341348
"chrome_policy": chrome_policy,
342349
"extensions": extensions,
350+
"fingerprint": fingerprint,
343351
"gpu": gpu,
344352
"headless": headless,
345353
"invocation_id": invocation_id,
@@ -1049,6 +1057,7 @@ async def create(
10491057
*,
10501058
chrome_policy: Dict[str, object] | Omit = omit,
10511059
extensions: Iterable[BrowserExtension] | Omit = omit,
1060+
fingerprint: BrowserFingerprintParam | Omit = omit,
10521061
gpu: bool | Omit = omit,
10531062
headless: bool | Omit = omit,
10541063
invocation_id: str | Omit = omit,
@@ -1088,6 +1097,11 @@ async def create(
10881097
10891098
extensions: List of browser extensions to load into the session. Provide each by id or name.
10901099
1100+
fingerprint: Closed beta: contact Kernel to enable fingerprint overrides for your
1101+
organization. Overrides browser attributes presented to websites for this
1102+
session. Currently supports macos and requires stealth=true, headless=false,
1103+
gpu=false, and default memory. Omit to preserve the default browser behavior.
1104+
10911105
gpu: If true, enables GPU acceleration for the browser session. Requires Start-Up or
10921106
Enterprise plan, headless=false, and region=us-east.
10931107
@@ -1194,6 +1208,7 @@ async def create(
11941208
{
11951209
"chrome_policy": chrome_policy,
11961210
"extensions": extensions,
1211+
"fingerprint": fingerprint,
11971212
"gpu": gpu,
11981213
"headless": headless,
11991214
"invocation_id": invocation_id,

‎src/kernel/types/__init__.py‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@
120120
from .invocation_follow_params import InvocationFollowParams as InvocationFollowParams
121121
from .invocation_list_response import InvocationListResponse as InvocationListResponse
122122
from .invocation_update_params import InvocationUpdateParams as InvocationUpdateParams
123+
from .browser_fingerprint_param import BrowserFingerprintParam as BrowserFingerprintParam
123124
from .browser_repl_text_content import BrowserReplTextContent as BrowserReplTextContent
124125
from .browser_retrieve_response import BrowserRetrieveResponse as BrowserRetrieveResponse
125126
from .extension_upload_response import ExtensionUploadResponse as ExtensionUploadResponse

‎src/kernel/types/browser_create_params.py‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from .browser_video_memory import BrowserVideoMemory
1010
from .vault_reference_param import VaultReferenceParam
1111
from .browser_memory_request import BrowserMemoryRequest
12+
from .browser_fingerprint_param import BrowserFingerprintParam
1213
from .browser_proxy_config_param import BrowserProxyConfigParam
1314
from .browser_network_config_param import BrowserNetworkConfigParam
1415
from .shared_params.browser_profile import BrowserProfile
@@ -42,6 +43,14 @@ class BrowserCreateParams(TypedDict, total=False):
4243
Provide each by id or name.
4344
"""
4445

46+
fingerprint: BrowserFingerprintParam
47+
"""
48+
Closed beta: contact Kernel to enable fingerprint overrides for your
49+
organization. Overrides browser attributes presented to websites for this
50+
session. Currently supports macos and requires stealth=true, headless=false,
51+
gpu=false, and default memory. Omit to preserve the default browser behavior.
52+
"""
53+
4554
gpu: bool
4655
"""If true, enables GPU acceleration for the browser session.
4756
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
from typing_extensions import Literal, Required, TypedDict
6+
7+
__all__ = ["BrowserFingerprintParam"]
8+
9+
10+
class BrowserFingerprintParam(TypedDict, total=False):
11+
"""Overrides for browser attributes presented to websites."""
12+
13+
os: Required[Literal["macos"]]
14+
"""Operating system the browser reports to websites."""

‎tests/api_resources/test_browsers.py‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ def test_method_create_with_all_params(self, client: Kernel) -> None:
4343
"name": "name",
4444
}
4545
],
46+
fingerprint={"os": "macos"},
4647
gpu=False,
4748
headless=False,
4849
invocation_id="rr33xuugxj9h0bkf1rdt2bet",
@@ -654,6 +655,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncKernel) ->
654655
"name": "name",
655656
}
656657
],
658+
fingerprint={"os": "macos"},
657659
gpu=False,
658660
headless=False,
659661
invocation_id="rr33xuugxj9h0bkf1rdt2bet",

0 commit comments

Comments
 (0)