44
55import httpx
66
7- from ..types import browser_create_params , browser_delete_params
8- from .._types import NOT_GIVEN , Body , Query , Headers , NoneType , NotGiven
9- from .._utils import maybe_transform , async_maybe_transform
10- from .._compat import cached_property
11- from .._resource import SyncAPIResource , AsyncAPIResource
12- from .._response import (
13- BinaryAPIResponse ,
14- AsyncBinaryAPIResponse ,
15- StreamedBinaryAPIResponse ,
16- AsyncStreamedBinaryAPIResponse ,
7+ from ...types import browser_create_params , browser_delete_params
8+ from .replays import (
9+ ReplaysResource ,
10+ AsyncReplaysResource ,
11+ ReplaysResourceWithRawResponse ,
12+ AsyncReplaysResourceWithRawResponse ,
13+ ReplaysResourceWithStreamingResponse ,
14+ AsyncReplaysResourceWithStreamingResponse ,
15+ )
16+ from ..._types import NOT_GIVEN , Body , Query , Headers , NoneType , NotGiven
17+ from ..._utils import maybe_transform , async_maybe_transform
18+ from ..._compat import cached_property
19+ from ..._resource import SyncAPIResource , AsyncAPIResource
20+ from ..._response import (
1721 to_raw_response_wrapper ,
1822 to_streamed_response_wrapper ,
1923 async_to_raw_response_wrapper ,
20- to_custom_raw_response_wrapper ,
2124 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 ,
2525)
26- from .._base_client import make_request_options
27- from ..types .browser_list_response import BrowserListResponse
28- from ..types .browser_create_response import BrowserCreateResponse
29- from ..types .browser_persistence_param import BrowserPersistenceParam
30- from ..types .browser_retrieve_response import BrowserRetrieveResponse
26+ from ... _base_client import make_request_options
27+ from ... types .browser_list_response import BrowserListResponse
28+ from ... types .browser_create_response import BrowserCreateResponse
29+ from ... types .browser_persistence_param import BrowserPersistenceParam
30+ from ... types .browser_retrieve_response import BrowserRetrieveResponse
3131
3232__all__ = ["BrowsersResource" , "AsyncBrowsersResource" ]
3333
3434
3535class BrowsersResource (SyncAPIResource ):
36+ @cached_property
37+ def replays (self ) -> ReplaysResource :
38+ return ReplaysResource (self ._client )
39+
3640 @cached_property
3741 def with_raw_response (self ) -> BrowsersResourceWithRawResponse :
3842 """
@@ -58,7 +62,6 @@ def create(
5862 headless : bool | NotGiven = NOT_GIVEN ,
5963 invocation_id : str | NotGiven = NOT_GIVEN ,
6064 persistence : BrowserPersistenceParam | NotGiven = NOT_GIVEN ,
61- replay : bool | NotGiven = NOT_GIVEN ,
6265 stealth : bool | NotGiven = NOT_GIVEN ,
6366 # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
6467 # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -78,8 +81,6 @@ def create(
7881
7982 persistence: Optional persistence configuration for the browser session.
8083
81- replay: If true, enables replay recording of the browser session. Defaults to false.
82-
8384 stealth: If true, launches the browser in stealth mode to reduce detection by anti-bot
8485 mechanisms.
8586
@@ -98,7 +99,6 @@ def create(
9899 "headless" : headless ,
99100 "invocation_id" : invocation_id ,
100101 "persistence" : persistence ,
101- "replay" : replay ,
102102 "stealth" : stealth ,
103103 },
104104 browser_create_params .BrowserCreateParams ,
@@ -233,42 +233,12 @@ def delete_by_id(
233233 cast_to = NoneType ,
234234 )
235235
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-
270236
271237class AsyncBrowsersResource (AsyncAPIResource ):
238+ @cached_property
239+ def replays (self ) -> AsyncReplaysResource :
240+ return AsyncReplaysResource (self ._client )
241+
272242 @cached_property
273243 def with_raw_response (self ) -> AsyncBrowsersResourceWithRawResponse :
274244 """
@@ -294,7 +264,6 @@ async def create(
294264 headless : bool | NotGiven = NOT_GIVEN ,
295265 invocation_id : str | NotGiven = NOT_GIVEN ,
296266 persistence : BrowserPersistenceParam | NotGiven = NOT_GIVEN ,
297- replay : bool | NotGiven = NOT_GIVEN ,
298267 stealth : bool | NotGiven = NOT_GIVEN ,
299268 # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
300269 # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -314,8 +283,6 @@ async def create(
314283
315284 persistence: Optional persistence configuration for the browser session.
316285
317- replay: If true, enables replay recording of the browser session. Defaults to false.
318-
319286 stealth: If true, launches the browser in stealth mode to reduce detection by anti-bot
320287 mechanisms.
321288
@@ -334,7 +301,6 @@ async def create(
334301 "headless" : headless ,
335302 "invocation_id" : invocation_id ,
336303 "persistence" : persistence ,
337- "replay" : replay ,
338304 "stealth" : stealth ,
339305 },
340306 browser_create_params .BrowserCreateParams ,
@@ -471,40 +437,6 @@ async def delete_by_id(
471437 cast_to = NoneType ,
472438 )
473439
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-
508440
509441class BrowsersResourceWithRawResponse :
510442 def __init__ (self , browsers : BrowsersResource ) -> None :
@@ -525,10 +457,10 @@ def __init__(self, browsers: BrowsersResource) -> None:
525457 self .delete_by_id = to_raw_response_wrapper (
526458 browsers .delete_by_id ,
527459 )
528- self . retrieve_replay = to_custom_raw_response_wrapper (
529- browsers . retrieve_replay ,
530- BinaryAPIResponse ,
531- )
460+
461+ @ cached_property
462+ def replays ( self ) -> ReplaysResourceWithRawResponse :
463+ return ReplaysResourceWithRawResponse ( self . _browsers . replays )
532464
533465
534466class AsyncBrowsersResourceWithRawResponse :
@@ -550,10 +482,10 @@ def __init__(self, browsers: AsyncBrowsersResource) -> None:
550482 self .delete_by_id = async_to_raw_response_wrapper (
551483 browsers .delete_by_id ,
552484 )
553- self . retrieve_replay = async_to_custom_raw_response_wrapper (
554- browsers . retrieve_replay ,
555- AsyncBinaryAPIResponse ,
556- )
485+
486+ @ cached_property
487+ def replays ( self ) -> AsyncReplaysResourceWithRawResponse :
488+ return AsyncReplaysResourceWithRawResponse ( self . _browsers . replays )
557489
558490
559491class BrowsersResourceWithStreamingResponse :
@@ -575,10 +507,10 @@ def __init__(self, browsers: BrowsersResource) -> None:
575507 self .delete_by_id = to_streamed_response_wrapper (
576508 browsers .delete_by_id ,
577509 )
578- self . retrieve_replay = to_custom_streamed_response_wrapper (
579- browsers . retrieve_replay ,
580- StreamedBinaryAPIResponse ,
581- )
510+
511+ @ cached_property
512+ def replays ( self ) -> ReplaysResourceWithStreamingResponse :
513+ return ReplaysResourceWithStreamingResponse ( self . _browsers . replays )
582514
583515
584516class AsyncBrowsersResourceWithStreamingResponse :
@@ -600,7 +532,7 @@ def __init__(self, browsers: AsyncBrowsersResource) -> None:
600532 self .delete_by_id = async_to_streamed_response_wrapper (
601533 browsers .delete_by_id ,
602534 )
603- self . retrieve_replay = async_to_custom_streamed_response_wrapper (
604- browsers . retrieve_replay ,
605- AsyncStreamedBinaryAPIResponse ,
606- )
535+
536+ @ cached_property
537+ def replays ( self ) -> AsyncReplaysResourceWithStreamingResponse :
538+ return AsyncReplaysResourceWithStreamingResponse ( self . _browsers . replays )
0 commit comments