diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 57dc0c3..e4e1c3c 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.33.0" + ".": "0.34.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 00007d6..264b8c9 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 100 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-82fd51be8dc9b6ad425425f9eb747dd337df494a030d03d37f101e2236c85548.yml -openapi_spec_hash: ab396816e2b7da9938d42ec5a41cc8e1 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-47ee6a2b624baddb41a681feff758bf1893cd3d65edf3ab51219ebe4d942932b.yml +openapi_spec_hash: 76178c41ede593e76bfacb176057d2f0 config_hash: 27c0ea01aeb797a1767af139851c5b66 diff --git a/CHANGELOG.md b/CHANGELOG.md index 37533b7..6608623 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## 0.34.0 (2026-02-13) + +Full Changelog: [v0.33.0...v0.34.0](https://github.com/kernel/kernel-python-sdk/compare/v0.33.0...v0.34.0) + +### Features + +* Add error_code field to ManagedAuthSession and related components ([9d160d7](https://github.com/kernel/kernel-python-sdk/commit/9d160d798b25fc5416a2cce84b2ad8e2fc46f801)) +* Allow arbitrary viewport dimensions ([6463d9f](https://github.com/kernel/kernel-python-sdk/commit/6463d9fdb94477867d82fd69630688878c79b182)) + + +### Chores + +* format all `api.md` files ([c4ea333](https://github.com/kernel/kernel-python-sdk/commit/c4ea333ede664dbaa38911b1f97310e0b8a9618f)) +* **internal:** fix lint error on Python 3.14 ([96a4f24](https://github.com/kernel/kernel-python-sdk/commit/96a4f241bdf8dffe57c91140bf33f54a2c21a223)) + ## 0.33.0 (2026-02-11) Full Changelog: [v0.32.0...v0.33.0](https://github.com/kernel/kernel-python-sdk/compare/v0.32.0...v0.33.0) diff --git a/pyproject.toml b/pyproject.toml index 1ede922..b7f4fe6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "kernel" -version = "0.33.0" +version = "0.34.0" description = "The official Python library for the kernel API" dynamic = ["readme"] license = "Apache-2.0" @@ -69,7 +69,7 @@ format = { chain = [ # run formatting again to fix any inconsistencies when imports are stripped "format:ruff", ]} -"format:docs" = "python scripts/utils/ruffen-docs.py README.md api.md" +"format:docs" = "bash -c 'python scripts/utils/ruffen-docs.py README.md $(find . -type f -name api.md)'" "format:ruff" = "ruff format" "lint" = { chain = [ diff --git a/src/kernel/_utils/_compat.py b/src/kernel/_utils/_compat.py index dd70323..2c70b29 100644 --- a/src/kernel/_utils/_compat.py +++ b/src/kernel/_utils/_compat.py @@ -26,7 +26,7 @@ def is_union(tp: Optional[Type[Any]]) -> bool: else: import types - return tp is Union or tp is types.UnionType + return tp is Union or tp is types.UnionType # type: ignore[comparison-overlap] def is_typeddict(tp: Type[Any]) -> bool: diff --git a/src/kernel/_version.py b/src/kernel/_version.py index 8f65338..23d2f20 100644 --- a/src/kernel/_version.py +++ b/src/kernel/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "kernel" -__version__ = "0.33.0" # x-release-please-version +__version__ = "0.34.0" # x-release-please-version diff --git a/src/kernel/resources/browser_pools.py b/src/kernel/resources/browser_pools.py index 4f6ad8b..9177d67 100644 --- a/src/kernel/resources/browser_pools.py +++ b/src/kernel/resources/browser_pools.py @@ -108,13 +108,13 @@ def create( are destroyed. Defaults to 600 seconds if not specified viewport: Initial browser window size in pixels with optional refresh rate. If omitted, - image defaults apply (1920x1080@25). Only specific viewport configurations are - supported. The server will reject unsupported combinations. Supported - resolutions are: 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, - 1280x800@60, 1024x768@60, 1200x800@60 If refresh_rate is not provided, it will - be automatically determined from the width and height if they match a supported - configuration exactly. Note: Higher resolutions may affect the responsiveness of - live view browser + image defaults apply (1920x1080@25). Arbitrary viewport dimensions are accepted, + but the following configurations are known-good and fully tested: 2560x1440@10, + 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60. + Viewports outside this list may exhibit unstable live view or recording + behavior. If refresh_rate is not provided, it will be automatically determined + based on the resolution (higher resolutions use lower refresh rates to keep + bandwidth reasonable). extra_headers: Send extra headers @@ -240,13 +240,13 @@ def update( are destroyed. Defaults to 600 seconds if not specified viewport: Initial browser window size in pixels with optional refresh rate. If omitted, - image defaults apply (1920x1080@25). Only specific viewport configurations are - supported. The server will reject unsupported combinations. Supported - resolutions are: 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, - 1280x800@60, 1024x768@60, 1200x800@60 If refresh_rate is not provided, it will - be automatically determined from the width and height if they match a supported - configuration exactly. Note: Higher resolutions may affect the responsiveness of - live view browser + image defaults apply (1920x1080@25). Arbitrary viewport dimensions are accepted, + but the following configurations are known-good and fully tested: 2560x1440@10, + 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60. + Viewports outside this list may exhibit unstable live view or recording + behavior. If refresh_rate is not provided, it will be automatically determined + based on the resolution (higher resolutions use lower refresh rates to keep + bandwidth reasonable). extra_headers: Send extra headers @@ -546,13 +546,13 @@ async def create( are destroyed. Defaults to 600 seconds if not specified viewport: Initial browser window size in pixels with optional refresh rate. If omitted, - image defaults apply (1920x1080@25). Only specific viewport configurations are - supported. The server will reject unsupported combinations. Supported - resolutions are: 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, - 1280x800@60, 1024x768@60, 1200x800@60 If refresh_rate is not provided, it will - be automatically determined from the width and height if they match a supported - configuration exactly. Note: Higher resolutions may affect the responsiveness of - live view browser + image defaults apply (1920x1080@25). Arbitrary viewport dimensions are accepted, + but the following configurations are known-good and fully tested: 2560x1440@10, + 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60. + Viewports outside this list may exhibit unstable live view or recording + behavior. If refresh_rate is not provided, it will be automatically determined + based on the resolution (higher resolutions use lower refresh rates to keep + bandwidth reasonable). extra_headers: Send extra headers @@ -678,13 +678,13 @@ async def update( are destroyed. Defaults to 600 seconds if not specified viewport: Initial browser window size in pixels with optional refresh rate. If omitted, - image defaults apply (1920x1080@25). Only specific viewport configurations are - supported. The server will reject unsupported combinations. Supported - resolutions are: 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, - 1280x800@60, 1024x768@60, 1200x800@60 If refresh_rate is not provided, it will - be automatically determined from the width and height if they match a supported - configuration exactly. Note: Higher resolutions may affect the responsiveness of - live view browser + image defaults apply (1920x1080@25). Arbitrary viewport dimensions are accepted, + but the following configurations are known-good and fully tested: 2560x1440@10, + 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60. + Viewports outside this list may exhibit unstable live view or recording + behavior. If refresh_rate is not provided, it will be automatically determined + based on the resolution (higher resolutions use lower refresh rates to keep + bandwidth reasonable). extra_headers: Send extra headers diff --git a/src/kernel/resources/browsers/browsers.py b/src/kernel/resources/browsers/browsers.py index 4b61d8d..fe0e5ab 100644 --- a/src/kernel/resources/browsers/browsers.py +++ b/src/kernel/resources/browsers/browsers.py @@ -185,13 +185,13 @@ def create( see is +/- 5 seconds around the specified value. viewport: Initial browser window size in pixels with optional refresh rate. If omitted, - image defaults apply (1920x1080@25). Only specific viewport configurations are - supported. The server will reject unsupported combinations. Supported - resolutions are: 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, - 1280x800@60, 1024x768@60, 1200x800@60 If refresh_rate is not provided, it will - be automatically determined from the width and height if they match a supported - configuration exactly. Note: Higher resolutions may affect the responsiveness of - live view browser + image defaults apply (1920x1080@25). Arbitrary viewport dimensions are accepted, + but the following configurations are known-good and fully tested: 2560x1440@10, + 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60. + Viewports outside this list may exhibit unstable live view or recording + behavior. If refresh_rate is not provided, it will be automatically determined + based on the resolution (higher resolutions use lower refresh rates to keep + bandwidth reasonable). extra_headers: Send extra headers @@ -596,13 +596,13 @@ async def create( see is +/- 5 seconds around the specified value. viewport: Initial browser window size in pixels with optional refresh rate. If omitted, - image defaults apply (1920x1080@25). Only specific viewport configurations are - supported. The server will reject unsupported combinations. Supported - resolutions are: 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, - 1280x800@60, 1024x768@60, 1200x800@60 If refresh_rate is not provided, it will - be automatically determined from the width and height if they match a supported - configuration exactly. Note: Higher resolutions may affect the responsiveness of - live view browser + image defaults apply (1920x1080@25). Arbitrary viewport dimensions are accepted, + but the following configurations are known-good and fully tested: 2560x1440@10, + 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60. + Viewports outside this list may exhibit unstable live view or recording + behavior. If refresh_rate is not provided, it will be automatically determined + based on the resolution (higher resolutions use lower refresh rates to keep + bandwidth reasonable). extra_headers: Send extra headers diff --git a/src/kernel/types/auth/connection_follow_response.py b/src/kernel/types/auth/connection_follow_response.py index e54d5c1..06ffaea 100644 --- a/src/kernel/types/auth/connection_follow_response.py +++ b/src/kernel/types/auth/connection_follow_response.py @@ -95,6 +95,9 @@ class ManagedAuthStateEvent(BaseModel): discovered_fields: Optional[List[ManagedAuthStateEventDiscoveredField]] = None """Fields awaiting input (present when flow_step=AWAITING_INPUT).""" + error_code: Optional[str] = None + """Machine-readable error code (present when flow_status=FAILED).""" + error_message: Optional[str] = None """Error message (present when flow_status=FAILED).""" diff --git a/src/kernel/types/auth/managed_auth.py b/src/kernel/types/auth/managed_auth.py index 04a6743..de607c9 100644 --- a/src/kernel/types/auth/managed_auth.py +++ b/src/kernel/types/auth/managed_auth.py @@ -155,6 +155,9 @@ class ManagedAuth(BaseModel): discovered_fields: Optional[List[DiscoveredField]] = None """Fields awaiting input (present when flow_step=awaiting_input)""" + error_code: Optional[str] = None + """Machine-readable error code (present when flow_status=failed)""" + error_message: Optional[str] = None """Error message (present when flow_status=failed)""" diff --git a/src/kernel/types/browser_create_params.py b/src/kernel/types/browser_create_params.py index 1e93fa6..3a6297b 100644 --- a/src/kernel/types/browser_create_params.py +++ b/src/kernel/types/browser_create_params.py @@ -69,11 +69,11 @@ class BrowserCreateParams(TypedDict, total=False): viewport: BrowserViewport """Initial browser window size in pixels with optional refresh rate. - If omitted, image defaults apply (1920x1080@25). Only specific viewport - configurations are supported. The server will reject unsupported combinations. - Supported resolutions are: 2560x1440@10, 1920x1080@25, 1920x1200@25, - 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60 If refresh_rate is not - provided, it will be automatically determined from the width and height if they - match a supported configuration exactly. Note: Higher resolutions may affect the - responsiveness of live view browser + If omitted, image defaults apply (1920x1080@25). Arbitrary viewport dimensions + are accepted, but the following configurations are known-good and fully tested: + 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, + 1200x800@60. Viewports outside this list may exhibit unstable live view or + recording behavior. If refresh_rate is not provided, it will be automatically + determined based on the resolution (higher resolutions use lower refresh rates + to keep bandwidth reasonable). """ diff --git a/src/kernel/types/browser_create_response.py b/src/kernel/types/browser_create_response.py index b6c28ac..898f9fa 100644 --- a/src/kernel/types/browser_create_response.py +++ b/src/kernel/types/browser_create_response.py @@ -54,11 +54,11 @@ class BrowserCreateResponse(BaseModel): viewport: Optional[BrowserViewport] = None """Initial browser window size in pixels with optional refresh rate. - If omitted, image defaults apply (1920x1080@25). Only specific viewport - configurations are supported. The server will reject unsupported combinations. - Supported resolutions are: 2560x1440@10, 1920x1080@25, 1920x1200@25, - 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60 If refresh_rate is not - provided, it will be automatically determined from the width and height if they - match a supported configuration exactly. Note: Higher resolutions may affect the - responsiveness of live view browser + If omitted, image defaults apply (1920x1080@25). Arbitrary viewport dimensions + are accepted, but the following configurations are known-good and fully tested: + 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, + 1200x800@60. Viewports outside this list may exhibit unstable live view or + recording behavior. If refresh_rate is not provided, it will be automatically + determined based on the resolution (higher resolutions use lower refresh rates + to keep bandwidth reasonable). """ diff --git a/src/kernel/types/browser_list_response.py b/src/kernel/types/browser_list_response.py index d99546d..f687b17 100644 --- a/src/kernel/types/browser_list_response.py +++ b/src/kernel/types/browser_list_response.py @@ -54,11 +54,11 @@ class BrowserListResponse(BaseModel): viewport: Optional[BrowserViewport] = None """Initial browser window size in pixels with optional refresh rate. - If omitted, image defaults apply (1920x1080@25). Only specific viewport - configurations are supported. The server will reject unsupported combinations. - Supported resolutions are: 2560x1440@10, 1920x1080@25, 1920x1200@25, - 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60 If refresh_rate is not - provided, it will be automatically determined from the width and height if they - match a supported configuration exactly. Note: Higher resolutions may affect the - responsiveness of live view browser + If omitted, image defaults apply (1920x1080@25). Arbitrary viewport dimensions + are accepted, but the following configurations are known-good and fully tested: + 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, + 1200x800@60. Viewports outside this list may exhibit unstable live view or + recording behavior. If refresh_rate is not provided, it will be automatically + determined based on the resolution (higher resolutions use lower refresh rates + to keep bandwidth reasonable). """ diff --git a/src/kernel/types/browser_pool.py b/src/kernel/types/browser_pool.py index fbbf2cb..fc4e0f1 100644 --- a/src/kernel/types/browser_pool.py +++ b/src/kernel/types/browser_pool.py @@ -70,13 +70,13 @@ class BrowserPoolConfig(BaseModel): viewport: Optional[BrowserViewport] = None """Initial browser window size in pixels with optional refresh rate. - If omitted, image defaults apply (1920x1080@25). Only specific viewport - configurations are supported. The server will reject unsupported combinations. - Supported resolutions are: 2560x1440@10, 1920x1080@25, 1920x1200@25, - 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60 If refresh_rate is not - provided, it will be automatically determined from the width and height if they - match a supported configuration exactly. Note: Higher resolutions may affect the - responsiveness of live view browser + If omitted, image defaults apply (1920x1080@25). Arbitrary viewport dimensions + are accepted, but the following configurations are known-good and fully tested: + 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, + 1200x800@60. Viewports outside this list may exhibit unstable live view or + recording behavior. If refresh_rate is not provided, it will be automatically + determined based on the resolution (higher resolutions use lower refresh rates + to keep bandwidth reasonable). """ diff --git a/src/kernel/types/browser_pool_acquire_response.py b/src/kernel/types/browser_pool_acquire_response.py index 3175b39..581168c 100644 --- a/src/kernel/types/browser_pool_acquire_response.py +++ b/src/kernel/types/browser_pool_acquire_response.py @@ -54,11 +54,11 @@ class BrowserPoolAcquireResponse(BaseModel): viewport: Optional[BrowserViewport] = None """Initial browser window size in pixels with optional refresh rate. - If omitted, image defaults apply (1920x1080@25). Only specific viewport - configurations are supported. The server will reject unsupported combinations. - Supported resolutions are: 2560x1440@10, 1920x1080@25, 1920x1200@25, - 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60 If refresh_rate is not - provided, it will be automatically determined from the width and height if they - match a supported configuration exactly. Note: Higher resolutions may affect the - responsiveness of live view browser + If omitted, image defaults apply (1920x1080@25). Arbitrary viewport dimensions + are accepted, but the following configurations are known-good and fully tested: + 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, + 1200x800@60. Viewports outside this list may exhibit unstable live view or + recording behavior. If refresh_rate is not provided, it will be automatically + determined based on the resolution (higher resolutions use lower refresh rates + to keep bandwidth reasonable). """ diff --git a/src/kernel/types/browser_pool_create_params.py b/src/kernel/types/browser_pool_create_params.py index 81deaa6..78268a5 100644 --- a/src/kernel/types/browser_pool_create_params.py +++ b/src/kernel/types/browser_pool_create_params.py @@ -69,11 +69,11 @@ class BrowserPoolCreateParams(TypedDict, total=False): viewport: BrowserViewport """Initial browser window size in pixels with optional refresh rate. - If omitted, image defaults apply (1920x1080@25). Only specific viewport - configurations are supported. The server will reject unsupported combinations. - Supported resolutions are: 2560x1440@10, 1920x1080@25, 1920x1200@25, - 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60 If refresh_rate is not - provided, it will be automatically determined from the width and height if they - match a supported configuration exactly. Note: Higher resolutions may affect the - responsiveness of live view browser + If omitted, image defaults apply (1920x1080@25). Arbitrary viewport dimensions + are accepted, but the following configurations are known-good and fully tested: + 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, + 1200x800@60. Viewports outside this list may exhibit unstable live view or + recording behavior. If refresh_rate is not provided, it will be automatically + determined based on the resolution (higher resolutions use lower refresh rates + to keep bandwidth reasonable). """ diff --git a/src/kernel/types/browser_pool_update_params.py b/src/kernel/types/browser_pool_update_params.py index 6348708..74b76a6 100644 --- a/src/kernel/types/browser_pool_update_params.py +++ b/src/kernel/types/browser_pool_update_params.py @@ -75,11 +75,11 @@ class BrowserPoolUpdateParams(TypedDict, total=False): viewport: BrowserViewport """Initial browser window size in pixels with optional refresh rate. - If omitted, image defaults apply (1920x1080@25). Only specific viewport - configurations are supported. The server will reject unsupported combinations. - Supported resolutions are: 2560x1440@10, 1920x1080@25, 1920x1200@25, - 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60 If refresh_rate is not - provided, it will be automatically determined from the width and height if they - match a supported configuration exactly. Note: Higher resolutions may affect the - responsiveness of live view browser + If omitted, image defaults apply (1920x1080@25). Arbitrary viewport dimensions + are accepted, but the following configurations are known-good and fully tested: + 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, + 1200x800@60. Viewports outside this list may exhibit unstable live view or + recording behavior. If refresh_rate is not provided, it will be automatically + determined based on the resolution (higher resolutions use lower refresh rates + to keep bandwidth reasonable). """ diff --git a/src/kernel/types/browser_retrieve_response.py b/src/kernel/types/browser_retrieve_response.py index 09210e8..454cbd6 100644 --- a/src/kernel/types/browser_retrieve_response.py +++ b/src/kernel/types/browser_retrieve_response.py @@ -54,11 +54,11 @@ class BrowserRetrieveResponse(BaseModel): viewport: Optional[BrowserViewport] = None """Initial browser window size in pixels with optional refresh rate. - If omitted, image defaults apply (1920x1080@25). Only specific viewport - configurations are supported. The server will reject unsupported combinations. - Supported resolutions are: 2560x1440@10, 1920x1080@25, 1920x1200@25, - 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60 If refresh_rate is not - provided, it will be automatically determined from the width and height if they - match a supported configuration exactly. Note: Higher resolutions may affect the - responsiveness of live view browser + If omitted, image defaults apply (1920x1080@25). Arbitrary viewport dimensions + are accepted, but the following configurations are known-good and fully tested: + 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, + 1200x800@60. Viewports outside this list may exhibit unstable live view or + recording behavior. If refresh_rate is not provided, it will be automatically + determined based on the resolution (higher resolutions use lower refresh rates + to keep bandwidth reasonable). """ diff --git a/src/kernel/types/browser_update_response.py b/src/kernel/types/browser_update_response.py index 01c34be..8f45173 100644 --- a/src/kernel/types/browser_update_response.py +++ b/src/kernel/types/browser_update_response.py @@ -54,11 +54,11 @@ class BrowserUpdateResponse(BaseModel): viewport: Optional[BrowserViewport] = None """Initial browser window size in pixels with optional refresh rate. - If omitted, image defaults apply (1920x1080@25). Only specific viewport - configurations are supported. The server will reject unsupported combinations. - Supported resolutions are: 2560x1440@10, 1920x1080@25, 1920x1200@25, - 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60 If refresh_rate is not - provided, it will be automatically determined from the width and height if they - match a supported configuration exactly. Note: Higher resolutions may affect the - responsiveness of live view browser + If omitted, image defaults apply (1920x1080@25). Arbitrary viewport dimensions + are accepted, but the following configurations are known-good and fully tested: + 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, + 1200x800@60. Viewports outside this list may exhibit unstable live view or + recording behavior. If refresh_rate is not provided, it will be automatically + determined based on the resolution (higher resolutions use lower refresh rates + to keep bandwidth reasonable). """ diff --git a/src/kernel/types/invocation_list_browsers_response.py b/src/kernel/types/invocation_list_browsers_response.py index 4d41a29..619fdce 100644 --- a/src/kernel/types/invocation_list_browsers_response.py +++ b/src/kernel/types/invocation_list_browsers_response.py @@ -54,13 +54,13 @@ class Browser(BaseModel): viewport: Optional[BrowserViewport] = None """Initial browser window size in pixels with optional refresh rate. - If omitted, image defaults apply (1920x1080@25). Only specific viewport - configurations are supported. The server will reject unsupported combinations. - Supported resolutions are: 2560x1440@10, 1920x1080@25, 1920x1200@25, - 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60 If refresh_rate is not - provided, it will be automatically determined from the width and height if they - match a supported configuration exactly. Note: Higher resolutions may affect the - responsiveness of live view browser + If omitted, image defaults apply (1920x1080@25). Arbitrary viewport dimensions + are accepted, but the following configurations are known-good and fully tested: + 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, + 1200x800@60. Viewports outside this list may exhibit unstable live view or + recording behavior. If refresh_rate is not provided, it will be automatically + determined based on the resolution (higher resolutions use lower refresh rates + to keep bandwidth reasonable). """ diff --git a/src/kernel/types/shared/browser_viewport.py b/src/kernel/types/shared/browser_viewport.py index 2329dd7..dacac1f 100644 --- a/src/kernel/types/shared/browser_viewport.py +++ b/src/kernel/types/shared/browser_viewport.py @@ -11,10 +11,11 @@ class BrowserViewport(BaseModel): """Initial browser window size in pixels with optional refresh rate. If omitted, image defaults apply (1920x1080@25). - Only specific viewport configurations are supported. The server will reject unsupported combinations. - Supported resolutions are: 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60 - If refresh_rate is not provided, it will be automatically determined from the width and height if they match a supported configuration exactly. - Note: Higher resolutions may affect the responsiveness of live view browser + Arbitrary viewport dimensions are accepted, but the following configurations are known-good and fully tested: + 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60. + Viewports outside this list may exhibit unstable live view or recording behavior. + If refresh_rate is not provided, it will be automatically determined based on the resolution + (higher resolutions use lower refresh rates to keep bandwidth reasonable). """ height: int diff --git a/src/kernel/types/shared_params/browser_viewport.py b/src/kernel/types/shared_params/browser_viewport.py index 7041ea5..f98ece8 100644 --- a/src/kernel/types/shared_params/browser_viewport.py +++ b/src/kernel/types/shared_params/browser_viewport.py @@ -11,10 +11,11 @@ class BrowserViewport(TypedDict, total=False): """Initial browser window size in pixels with optional refresh rate. If omitted, image defaults apply (1920x1080@25). - Only specific viewport configurations are supported. The server will reject unsupported combinations. - Supported resolutions are: 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60 - If refresh_rate is not provided, it will be automatically determined from the width and height if they match a supported configuration exactly. - Note: Higher resolutions may affect the responsiveness of live view browser + Arbitrary viewport dimensions are accepted, but the following configurations are known-good and fully tested: + 2560x1440@10, 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60. + Viewports outside this list may exhibit unstable live view or recording behavior. + If refresh_rate is not provided, it will be automatically determined based on the resolution + (higher resolutions use lower refresh rates to keep bandwidth reasonable). """ height: Required[int]