Skip to content

Commit 8c98d9e

Browse files
stainless-app[bot]stainless-bot
authored andcommitted
feat(api): api update (#39)
1 parent de118e2 commit 8c98d9e

File tree

4 files changed

+66
-8
lines changed

4 files changed

+66
-8
lines changed

Diff for: .stats.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
configured_endpoints: 18
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/browserbase%2Fbrowserbase-873c7106986f864ce293afcccbe32239bc102bb7c1d27acfeafaca3b3e819ee3.yml
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/browserbase%2Fbrowserbase-b341dd9d5bb77c4f217b94b186763e730fd798fbb773a5e90bb4e2a8d4a2c822.yml

Diff for: src/browserbase/resources/sessions/sessions.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from __future__ import annotations
44

5+
from typing import Union, Iterable
56
from typing_extensions import Literal
67

78
import httpx
@@ -104,7 +105,7 @@ def create(
104105
browser_settings: session_create_params.BrowserSettings | NotGiven = NOT_GIVEN,
105106
extension_id: str | NotGiven = NOT_GIVEN,
106107
keep_alive: bool | NotGiven = NOT_GIVEN,
107-
proxies: object | NotGiven = NOT_GIVEN,
108+
proxies: Union[bool, Iterable[session_create_params.ProxiesUnionMember1]] | NotGiven = NOT_GIVEN,
108109
region: Literal["us-west-2", "us-east-1", "eu-central-1", "ap-southeast-1"] | NotGiven = NOT_GIVEN,
109110
api_timeout: int | NotGiven = NOT_GIVEN,
110111
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -358,7 +359,7 @@ async def create(
358359
browser_settings: session_create_params.BrowserSettings | NotGiven = NOT_GIVEN,
359360
extension_id: str | NotGiven = NOT_GIVEN,
360361
keep_alive: bool | NotGiven = NOT_GIVEN,
361-
proxies: object | NotGiven = NOT_GIVEN,
362+
proxies: Union[bool, Iterable[session_create_params.ProxiesUnionMember1]] | NotGiven = NOT_GIVEN,
362363
region: Literal["us-west-2", "us-east-1", "eu-central-1", "ap-southeast-1"] | NotGiven = NOT_GIVEN,
363364
api_timeout: int | NotGiven = NOT_GIVEN,
364365
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.

Diff for: src/browserbase/types/session_create_params.py

+60-3
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
from __future__ import annotations
44

5-
from typing import List
6-
from typing_extensions import Literal, Required, Annotated, TypedDict
5+
from typing import List, Union, Iterable
6+
from typing_extensions import Literal, Required, Annotated, TypeAlias, TypedDict
77

88
from .._utils import PropertyInfo
99

@@ -14,6 +14,10 @@
1414
"BrowserSettingsFingerprint",
1515
"BrowserSettingsFingerprintScreen",
1616
"BrowserSettingsViewport",
17+
"ProxiesUnionMember1",
18+
"ProxiesUnionMember1BrowserbaseProxyConfig",
19+
"ProxiesUnionMember1BrowserbaseProxyConfigGeolocation",
20+
"ProxiesUnionMember1ExternalProxyConfig",
1721
]
1822

1923

@@ -38,7 +42,7 @@ class SessionCreateParams(TypedDict, total=False):
3842
This is available on the Startup plan only.
3943
"""
4044

41-
proxies: object
45+
proxies: Union[bool, Iterable[ProxiesUnionMember1]]
4246
"""Proxy configuration.
4347
4448
Can be true for default proxy, or an array of proxy configurations.
@@ -130,3 +134,56 @@ class BrowserSettings(TypedDict, total=False):
130134
"""Enable or disable captcha solving in the browser. Defaults to `true`."""
131135

132136
viewport: BrowserSettingsViewport
137+
138+
139+
class ProxiesUnionMember1BrowserbaseProxyConfigGeolocation(TypedDict, total=False):
140+
country: Required[str]
141+
"""Country code in ISO 3166-1 alpha-2 format"""
142+
143+
city: str
144+
"""Name of the city. Use spaces for multi-word city names. Optional."""
145+
146+
state: str
147+
"""US state code (2 characters). Must also specify US as the country. Optional."""
148+
149+
150+
class ProxiesUnionMember1BrowserbaseProxyConfig(TypedDict, total=False):
151+
type: Required[Literal["browserbase"]]
152+
"""Type of proxy.
153+
154+
Always use 'browserbase' for the Browserbase managed proxy network.
155+
"""
156+
157+
domain_pattern: Annotated[str, PropertyInfo(alias="domainPattern")]
158+
"""Domain pattern for which this proxy should be used.
159+
160+
If omitted, defaults to all domains. Optional.
161+
"""
162+
163+
geolocation: ProxiesUnionMember1BrowserbaseProxyConfigGeolocation
164+
"""Configuration for geolocation"""
165+
166+
167+
class ProxiesUnionMember1ExternalProxyConfig(TypedDict, total=False):
168+
server: Required[str]
169+
"""Server URL for external proxy. Required."""
170+
171+
type: Required[Literal["external"]]
172+
"""Type of proxy. Always 'external' for this config."""
173+
174+
domain_pattern: Annotated[str, PropertyInfo(alias="domainPattern")]
175+
"""Domain pattern for which this proxy should be used.
176+
177+
If omitted, defaults to all domains. Optional.
178+
"""
179+
180+
password: str
181+
"""Password for external proxy authentication. Optional."""
182+
183+
username: str
184+
"""Username for external proxy authentication. Optional."""
185+
186+
187+
ProxiesUnionMember1: TypeAlias = Union[
188+
ProxiesUnionMember1BrowserbaseProxyConfig, ProxiesUnionMember1ExternalProxyConfig
189+
]

Diff for: tests/api_resources/test_sessions.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ def test_method_create_with_all_params(self, client: Browserbase) -> None:
6363
},
6464
extension_id="extensionId",
6565
keep_alive=True,
66-
proxies={},
66+
proxies=True,
6767
region="us-west-2",
6868
api_timeout=60,
6969
)
@@ -292,7 +292,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncBrowserbas
292292
},
293293
extension_id="extensionId",
294294
keep_alive=True,
295-
proxies={},
295+
proxies=True,
296296
region="us-west-2",
297297
api_timeout=60,
298298
)

0 commit comments

Comments
 (0)