Skip to content

Commit ccf4127

Browse files
feat: Expose configurable browser memory
Stainless-Generated-From: 32f5b5d0edf73007529398a1c89d0f9ef15e060a
1 parent 0d5a4c2 commit ccf4127

14 files changed

Lines changed: 59 additions & 0 deletions

api.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@ Types:
8080

8181
```python
8282
from kernel.types import (
83+
BrowserMemory,
84+
BrowserMemoryRequest,
8385
BrowserNetworkConfig,
8486
BrowserPoolRef,
8587
BrowserProxy,

src/kernel/resources/browsers/browsers.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
AsyncFsResourceWithStreamingResponse,
2626
)
2727
from ...types import (
28+
BrowserMemoryRequest,
2829
browser_curl_params,
2930
browser_list_params,
3031
browser_create_params,
@@ -94,6 +95,7 @@
9495
async_stream_via_browser_route,
9596
async_request_via_browser_route,
9697
)
98+
from ...types.browser_memory_request import BrowserMemoryRequest
9799
from ...types.browser_create_response import BrowserCreateResponse
98100
from ...types.browser_update_response import BrowserUpdateResponse
99101
from ...types.browser_retrieve_response import BrowserRetrieveResponse
@@ -172,6 +174,7 @@ def create(
172174
headless: bool | Omit = omit,
173175
invocation_id: str | Omit = omit,
174176
kiosk_mode: bool | Omit = omit,
177+
memory: BrowserMemoryRequest | Omit = omit,
175178
name: str | Omit = omit,
176179
network: BrowserNetworkConfigParam | Omit = omit,
177180
profile: BrowserProfile | Omit = omit,
@@ -213,6 +216,8 @@ def create(
213216
kiosk_mode: If true, launches the browser in kiosk mode to hide address bar and tabs in live
214217
view.
215218
219+
memory: Memory for a headful, non-GPU browser session. Defaults to 8GiB.
220+
216221
name: Optional human-readable name for the browser session, used to find it later in
217222
the dashboard. Must be unique among active sessions within the project. Can be
218223
changed later via PATCH /browsers/{id_or_name}.
@@ -295,6 +300,7 @@ def create(
295300
"headless": headless,
296301
"invocation_id": invocation_id,
297302
"kiosk_mode": kiosk_mode,
303+
"memory": memory,
298304
"name": name,
299305
"network": network,
300306
"profile": profile,
@@ -786,6 +792,7 @@ async def create(
786792
headless: bool | Omit = omit,
787793
invocation_id: str | Omit = omit,
788794
kiosk_mode: bool | Omit = omit,
795+
memory: BrowserMemoryRequest | Omit = omit,
789796
name: str | Omit = omit,
790797
network: BrowserNetworkConfigParam | Omit = omit,
791798
profile: BrowserProfile | Omit = omit,
@@ -827,6 +834,8 @@ async def create(
827834
kiosk_mode: If true, launches the browser in kiosk mode to hide address bar and tabs in live
828835
view.
829836
837+
memory: Memory for a headful, non-GPU browser session. Defaults to 8GiB.
838+
830839
name: Optional human-readable name for the browser session, used to find it later in
831840
the dashboard. Must be unique among active sessions within the project. Can be
832841
changed later via PATCH /browsers/{id_or_name}.
@@ -909,6 +918,7 @@ async def create(
909918
"headless": headless,
910919
"invocation_id": invocation_id,
911920
"kiosk_mode": kiosk_mode,
921+
"memory": memory,
912922
"name": name,
913923
"network": network,
914924
"profile": profile,

src/kernel/types/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
from .browser_pool import BrowserPool as BrowserPool
2525
from .browser_proxy import BrowserProxy as BrowserProxy
2626
from .browser_usage import BrowserUsage as BrowserUsage
27+
from .browser_memory import BrowserMemory as BrowserMemory
2728
from .app_list_params import AppListParams as AppListParams
2829
from .audit_log_entry import AuditLogEntry as AuditLogEntry
2930
from .created_api_key import CreatedAPIKey as CreatedAPIKey
@@ -58,6 +59,7 @@
5859
from .project_update_params import ProjectUpdateParams as ProjectUpdateParams
5960
from .proxy_create_response import ProxyCreateResponse as ProxyCreateResponse
6061
from .proxy_update_response import ProxyUpdateResponse as ProxyUpdateResponse
62+
from .browser_memory_request import BrowserMemoryRequest as BrowserMemoryRequest
6163
from .browser_network_config import BrowserNetworkConfig as BrowserNetworkConfig
6264
from .credential_list_params import CredentialListParams as CredentialListParams
6365
from .deployment_list_params import DeploymentListParams as DeploymentListParams

src/kernel/types/browser_create_params.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from typing_extensions import Literal, TypedDict
77

88
from .tags_param import TagsParam
9+
from .browser_memory_request import BrowserMemoryRequest
910
from .browser_proxy_config_param import BrowserProxyConfigParam
1011
from .browser_network_config_param import BrowserNetworkConfigParam
1112
from .shared_params.browser_profile import BrowserProfile
@@ -58,6 +59,9 @@ class BrowserCreateParams(TypedDict, total=False):
5859
view.
5960
"""
6061

62+
memory: BrowserMemoryRequest
63+
"""Memory for a headful, non-GPU browser session. Defaults to 8GiB."""
64+
6165
name: str
6266
"""
6367
Optional human-readable name for the browser session, used to find it later in

src/kernel/types/browser_create_response.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from .._models import BaseModel
1010
from .browser_proxy import BrowserProxy
1111
from .browser_usage import BrowserUsage
12+
from .browser_memory import BrowserMemory
1213
from .browser_pool_ref import BrowserPoolRef
1314
from .browser_network_config import BrowserNetworkConfig
1415
from .shared.browser_viewport import BrowserViewport
@@ -27,6 +28,9 @@ class BrowserCreateResponse(BaseModel):
2728
headless: bool
2829
"""Whether the browser session is running in headless mode."""
2930

31+
memory: BrowserMemory
32+
"""Memory allocated to the browser session."""
33+
3034
region: Literal["us-east", "eu-west"]
3135
"""Geographic region of the browser session. Fixed once the session is created."""
3236

src/kernel/types/browser_list_response.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from .._models import BaseModel
1010
from .browser_proxy import BrowserProxy
1111
from .browser_usage import BrowserUsage
12+
from .browser_memory import BrowserMemory
1213
from .browser_pool_ref import BrowserPoolRef
1314
from .browser_network_config import BrowserNetworkConfig
1415
from .shared.browser_viewport import BrowserViewport
@@ -27,6 +28,9 @@ class BrowserListResponse(BaseModel):
2728
headless: bool
2829
"""Whether the browser session is running in headless mode."""
2930

31+
memory: BrowserMemory
32+
"""Memory allocated to the browser session."""
33+
3034
region: Literal["us-east", "eu-west"]
3135
"""Geographic region of the browser session. Fixed once the session is created."""
3236

src/kernel/types/browser_memory.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from typing_extensions import Literal, TypeAlias
4+
5+
__all__ = ["BrowserMemory"]
6+
7+
BrowserMemory: TypeAlias = Literal["1GiB", "2GiB", "6GiB", "8GiB", "16GiB"]
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from typing_extensions import Literal, TypeAlias
4+
5+
__all__ = ["BrowserMemoryRequest"]
6+
7+
BrowserMemoryRequest: TypeAlias = Literal["8GiB", "16GiB"]

src/kernel/types/browser_pool_acquire_response.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from .._models import BaseModel
1010
from .browser_proxy import BrowserProxy
1111
from .browser_usage import BrowserUsage
12+
from .browser_memory import BrowserMemory
1213
from .browser_pool_ref import BrowserPoolRef
1314
from .browser_network_config import BrowserNetworkConfig
1415
from .shared.browser_viewport import BrowserViewport
@@ -27,6 +28,9 @@ class BrowserPoolAcquireResponse(BaseModel):
2728
headless: bool
2829
"""Whether the browser session is running in headless mode."""
2930

31+
memory: BrowserMemory
32+
"""Memory allocated to the browser session."""
33+
3034
region: Literal["us-east", "eu-west"]
3135
"""Geographic region of the browser session. Fixed once the session is created."""
3236

src/kernel/types/browser_retrieve_response.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from .._models import BaseModel
1010
from .browser_proxy import BrowserProxy
1111
from .browser_usage import BrowserUsage
12+
from .browser_memory import BrowserMemory
1213
from .browser_pool_ref import BrowserPoolRef
1314
from .browser_network_config import BrowserNetworkConfig
1415
from .shared.browser_viewport import BrowserViewport
@@ -27,6 +28,9 @@ class BrowserRetrieveResponse(BaseModel):
2728
headless: bool
2829
"""Whether the browser session is running in headless mode."""
2930

31+
memory: BrowserMemory
32+
"""Memory allocated to the browser session."""
33+
3034
region: Literal["us-east", "eu-west"]
3135
"""Geographic region of the browser session. Fixed once the session is created."""
3236

0 commit comments

Comments
 (0)