Skip to content

Commit 7d0a2bd

Browse files
feat(api): manual updates
1 parent 2c50b08 commit 7d0a2bd

File tree

8 files changed

+247
-4
lines changed

8 files changed

+247
-4
lines changed

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 17
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-3ec96d0022acb32aa2676c2e7ae20152b899a776ccd499380c334c955b9ba071.yml
3-
openapi_spec_hash: b64c095d82185c1cd0355abea88b606f
4-
config_hash: 00ec9df250b9dc077f8d3b93a442d252
1+
configured_endpoints: 18
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-d173129101e26f450c200e84430d993479c034700cf826917425d513b88912e6.yml
3+
openapi_spec_hash: 150b86da7588979d7619b1a894e4720c
4+
config_hash: eaeed470b1070b34df69c49d68e67355

api.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,3 +92,4 @@ Methods:
9292
- <code title="get /browsers">client.browsers.<a href="./src/kernel/resources/browsers.py">list</a>() -> <a href="./src/kernel/types/browser_list_response.py">BrowserListResponse</a></code>
9393
- <code title="delete /browsers">client.browsers.<a href="./src/kernel/resources/browsers.py">delete</a>(\*\*<a href="src/kernel/types/browser_delete_params.py">params</a>) -> None</code>
9494
- <code title="delete /browsers/{id}">client.browsers.<a href="./src/kernel/resources/browsers.py">delete_by_id</a>(id) -> None</code>
95+
- <code title="get /browsers/{id}/replay">client.browsers.<a href="./src/kernel/resources/browsers.py">retrieve_replay</a>(id) -> BinaryAPIResponse</code>

src/kernel/resources/browsers.py

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,18 @@
1010
from .._compat import cached_property
1111
from .._resource import SyncAPIResource, AsyncAPIResource
1212
from .._response import (
13+
BinaryAPIResponse,
14+
AsyncBinaryAPIResponse,
15+
StreamedBinaryAPIResponse,
16+
AsyncStreamedBinaryAPIResponse,
1317
to_raw_response_wrapper,
1418
to_streamed_response_wrapper,
1519
async_to_raw_response_wrapper,
20+
to_custom_raw_response_wrapper,
1621
async_to_streamed_response_wrapper,
22+
to_custom_streamed_response_wrapper,
23+
async_to_custom_raw_response_wrapper,
24+
async_to_custom_streamed_response_wrapper,
1725
)
1826
from .._base_client import make_request_options
1927
from ..types.browser_list_response import BrowserListResponse
@@ -50,6 +58,7 @@ def create(
5058
headless: bool | NotGiven = NOT_GIVEN,
5159
invocation_id: str | NotGiven = NOT_GIVEN,
5260
persistence: BrowserPersistenceParam | NotGiven = NOT_GIVEN,
61+
replay: bool | NotGiven = NOT_GIVEN,
5362
stealth: bool | NotGiven = NOT_GIVEN,
5463
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
5564
# The extra values given here take precedence over values defined on the client or passed to this method.
@@ -69,6 +78,8 @@ def create(
6978
7079
persistence: Optional persistence configuration for the browser session.
7180
81+
replay: If true, enables replay recording of the browser session. Defaults to false.
82+
7283
stealth: If true, launches the browser in stealth mode to reduce detection by anti-bot
7384
mechanisms.
7485
@@ -87,6 +98,7 @@ def create(
8798
"headless": headless,
8899
"invocation_id": invocation_id,
89100
"persistence": persistence,
101+
"replay": replay,
90102
"stealth": stealth,
91103
},
92104
browser_create_params.BrowserCreateParams,
@@ -221,6 +233,40 @@ def delete_by_id(
221233
cast_to=NoneType,
222234
)
223235

236+
def retrieve_replay(
237+
self,
238+
id: str,
239+
*,
240+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
241+
# The extra values given here take precedence over values defined on the client or passed to this method.
242+
extra_headers: Headers | None = None,
243+
extra_query: Query | None = None,
244+
extra_body: Body | None = None,
245+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
246+
) -> BinaryAPIResponse:
247+
"""
248+
Get browser session replay.
249+
250+
Args:
251+
extra_headers: Send extra headers
252+
253+
extra_query: Add additional query parameters to the request
254+
255+
extra_body: Add additional JSON properties to the request
256+
257+
timeout: Override the client-level default timeout for this request, in seconds
258+
"""
259+
if not id:
260+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
261+
extra_headers = {"Accept": "video/mp4", **(extra_headers or {})}
262+
return self._get(
263+
f"/browsers/{id}/replay",
264+
options=make_request_options(
265+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
266+
),
267+
cast_to=BinaryAPIResponse,
268+
)
269+
224270

225271
class AsyncBrowsersResource(AsyncAPIResource):
226272
@cached_property
@@ -248,6 +294,7 @@ async def create(
248294
headless: bool | NotGiven = NOT_GIVEN,
249295
invocation_id: str | NotGiven = NOT_GIVEN,
250296
persistence: BrowserPersistenceParam | NotGiven = NOT_GIVEN,
297+
replay: bool | NotGiven = NOT_GIVEN,
251298
stealth: bool | NotGiven = NOT_GIVEN,
252299
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
253300
# The extra values given here take precedence over values defined on the client or passed to this method.
@@ -267,6 +314,8 @@ async def create(
267314
268315
persistence: Optional persistence configuration for the browser session.
269316
317+
replay: If true, enables replay recording of the browser session. Defaults to false.
318+
270319
stealth: If true, launches the browser in stealth mode to reduce detection by anti-bot
271320
mechanisms.
272321
@@ -285,6 +334,7 @@ async def create(
285334
"headless": headless,
286335
"invocation_id": invocation_id,
287336
"persistence": persistence,
337+
"replay": replay,
288338
"stealth": stealth,
289339
},
290340
browser_create_params.BrowserCreateParams,
@@ -421,6 +471,40 @@ async def delete_by_id(
421471
cast_to=NoneType,
422472
)
423473

474+
async def retrieve_replay(
475+
self,
476+
id: str,
477+
*,
478+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
479+
# The extra values given here take precedence over values defined on the client or passed to this method.
480+
extra_headers: Headers | None = None,
481+
extra_query: Query | None = None,
482+
extra_body: Body | None = None,
483+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
484+
) -> AsyncBinaryAPIResponse:
485+
"""
486+
Get browser session replay.
487+
488+
Args:
489+
extra_headers: Send extra headers
490+
491+
extra_query: Add additional query parameters to the request
492+
493+
extra_body: Add additional JSON properties to the request
494+
495+
timeout: Override the client-level default timeout for this request, in seconds
496+
"""
497+
if not id:
498+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
499+
extra_headers = {"Accept": "video/mp4", **(extra_headers or {})}
500+
return await self._get(
501+
f"/browsers/{id}/replay",
502+
options=make_request_options(
503+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
504+
),
505+
cast_to=AsyncBinaryAPIResponse,
506+
)
507+
424508

425509
class BrowsersResourceWithRawResponse:
426510
def __init__(self, browsers: BrowsersResource) -> None:
@@ -441,6 +525,10 @@ def __init__(self, browsers: BrowsersResource) -> None:
441525
self.delete_by_id = to_raw_response_wrapper(
442526
browsers.delete_by_id,
443527
)
528+
self.retrieve_replay = to_custom_raw_response_wrapper(
529+
browsers.retrieve_replay,
530+
BinaryAPIResponse,
531+
)
444532

445533

446534
class AsyncBrowsersResourceWithRawResponse:
@@ -462,6 +550,10 @@ def __init__(self, browsers: AsyncBrowsersResource) -> None:
462550
self.delete_by_id = async_to_raw_response_wrapper(
463551
browsers.delete_by_id,
464552
)
553+
self.retrieve_replay = async_to_custom_raw_response_wrapper(
554+
browsers.retrieve_replay,
555+
AsyncBinaryAPIResponse,
556+
)
465557

466558

467559
class BrowsersResourceWithStreamingResponse:
@@ -483,6 +575,10 @@ def __init__(self, browsers: BrowsersResource) -> None:
483575
self.delete_by_id = to_streamed_response_wrapper(
484576
browsers.delete_by_id,
485577
)
578+
self.retrieve_replay = to_custom_streamed_response_wrapper(
579+
browsers.retrieve_replay,
580+
StreamedBinaryAPIResponse,
581+
)
486582

487583

488584
class AsyncBrowsersResourceWithStreamingResponse:
@@ -504,3 +600,7 @@ def __init__(self, browsers: AsyncBrowsersResource) -> None:
504600
self.delete_by_id = async_to_streamed_response_wrapper(
505601
browsers.delete_by_id,
506602
)
603+
self.retrieve_replay = async_to_custom_streamed_response_wrapper(
604+
browsers.retrieve_replay,
605+
AsyncStreamedBinaryAPIResponse,
606+
)

src/kernel/types/browser_create_params.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ class BrowserCreateParams(TypedDict, total=False):
2222
persistence: BrowserPersistenceParam
2323
"""Optional persistence configuration for the browser session."""
2424

25+
replay: bool
26+
"""If true, enables replay recording of the browser session. Defaults to false."""
27+
2528
stealth: bool
2629
"""
2730
If true, launches the browser in stealth mode to reduce detection by anti-bot

src/kernel/types/browser_create_response.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,6 @@ class BrowserCreateResponse(BaseModel):
2323

2424
persistence: Optional[BrowserPersistence] = None
2525
"""Optional persistence configuration for the browser session."""
26+
27+
replay_view_url: Optional[str] = None
28+
"""Remote URL for viewing the browser session replay if enabled"""

src/kernel/types/browser_list_response.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,8 @@ class BrowserListResponseItem(BaseModel):
2525
persistence: Optional[BrowserPersistence] = None
2626
"""Optional persistence configuration for the browser session."""
2727

28+
replay_view_url: Optional[str] = None
29+
"""Remote URL for viewing the browser session replay if enabled"""
30+
2831

2932
BrowserListResponse: TypeAlias = List[BrowserListResponseItem]

src/kernel/types/browser_retrieve_response.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,6 @@ class BrowserRetrieveResponse(BaseModel):
2323

2424
persistence: Optional[BrowserPersistence] = None
2525
"""Optional persistence configuration for the browser session."""
26+
27+
replay_view_url: Optional[str] = None
28+
"""Remote URL for viewing the browser session replay if enabled"""

0 commit comments

Comments
 (0)