44
55import httpx
66
7- from ..types import browser_create_params
8- from .._types import NOT_GIVEN , Body , Query , Headers , NotGiven
7+ from ..types import browser_create_params , browser_delete_params
8+ from .._types import NOT_GIVEN , Body , Query , Headers , NoneType , NotGiven
99from .._utils import maybe_transform , async_maybe_transform
1010from .._compat import cached_property
1111from .._resource import SyncAPIResource , AsyncAPIResource
1616 async_to_streamed_response_wrapper ,
1717)
1818from .._base_client import make_request_options
19+ from ..types .browser_list_response import BrowserListResponse
1920from ..types .browser_create_response import BrowserCreateResponse
21+ from ..types .browser_persistence_param import BrowserPersistenceParam
2022from ..types .browser_retrieve_response import BrowserRetrieveResponse
2123
2224__all__ = ["BrowsersResource" , "AsyncBrowsersResource" ]
@@ -46,7 +48,7 @@ def create(
4648 self ,
4749 * ,
4850 invocation_id : str ,
49- persistence : browser_create_params . Persistence | NotGiven = NOT_GIVEN ,
51+ persistence : BrowserPersistenceParam | NotGiven = NOT_GIVEN ,
5052 # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
5153 # The extra values given here take precedence over values defined on the client or passed to this method.
5254 extra_headers : Headers | None = None ,
@@ -118,6 +120,97 @@ def retrieve(
118120 cast_to = BrowserRetrieveResponse ,
119121 )
120122
123+ def list (
124+ self ,
125+ * ,
126+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
127+ # The extra values given here take precedence over values defined on the client or passed to this method.
128+ extra_headers : Headers | None = None ,
129+ extra_query : Query | None = None ,
130+ extra_body : Body | None = None ,
131+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
132+ ) -> BrowserListResponse :
133+ """List active browser sessions for the authenticated user"""
134+ return self ._get (
135+ "/browsers" ,
136+ options = make_request_options (
137+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
138+ ),
139+ cast_to = BrowserListResponse ,
140+ )
141+
142+ def delete (
143+ self ,
144+ * ,
145+ persistent_id : str ,
146+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
147+ # The extra values given here take precedence over values defined on the client or passed to this method.
148+ extra_headers : Headers | None = None ,
149+ extra_query : Query | None = None ,
150+ extra_body : Body | None = None ,
151+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
152+ ) -> None :
153+ """
154+ Delete a persistent browser session by persistent_id query parameter.
155+
156+ Args:
157+ persistent_id: Persistent browser identifier
158+
159+ extra_headers: Send extra headers
160+
161+ extra_query: Add additional query parameters to the request
162+
163+ extra_body: Add additional JSON properties to the request
164+
165+ timeout: Override the client-level default timeout for this request, in seconds
166+ """
167+ extra_headers = {"Accept" : "*/*" , ** (extra_headers or {})}
168+ return self ._delete (
169+ "/browsers" ,
170+ options = make_request_options (
171+ extra_headers = extra_headers ,
172+ extra_query = extra_query ,
173+ extra_body = extra_body ,
174+ timeout = timeout ,
175+ query = maybe_transform ({"persistent_id" : persistent_id }, browser_delete_params .BrowserDeleteParams ),
176+ ),
177+ cast_to = NoneType ,
178+ )
179+
180+ def delete_by_id (
181+ self ,
182+ id : str ,
183+ * ,
184+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
185+ # The extra values given here take precedence over values defined on the client or passed to this method.
186+ extra_headers : Headers | None = None ,
187+ extra_query : Query | None = None ,
188+ extra_body : Body | None = None ,
189+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
190+ ) -> None :
191+ """
192+ Delete Browser Session by ID
193+
194+ Args:
195+ extra_headers: Send extra headers
196+
197+ extra_query: Add additional query parameters to the request
198+
199+ extra_body: Add additional JSON properties to the request
200+
201+ timeout: Override the client-level default timeout for this request, in seconds
202+ """
203+ if not id :
204+ raise ValueError (f"Expected a non-empty value for `id` but received { id !r} " )
205+ extra_headers = {"Accept" : "*/*" , ** (extra_headers or {})}
206+ return self ._delete (
207+ f"/browsers/{ id } " ,
208+ options = make_request_options (
209+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
210+ ),
211+ cast_to = NoneType ,
212+ )
213+
121214
122215class AsyncBrowsersResource (AsyncAPIResource ):
123216 @cached_property
@@ -143,7 +236,7 @@ async def create(
143236 self ,
144237 * ,
145238 invocation_id : str ,
146- persistence : browser_create_params . Persistence | NotGiven = NOT_GIVEN ,
239+ persistence : BrowserPersistenceParam | NotGiven = NOT_GIVEN ,
147240 # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
148241 # The extra values given here take precedence over values defined on the client or passed to this method.
149242 extra_headers : Headers | None = None ,
@@ -215,6 +308,99 @@ async def retrieve(
215308 cast_to = BrowserRetrieveResponse ,
216309 )
217310
311+ async def list (
312+ self ,
313+ * ,
314+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
315+ # The extra values given here take precedence over values defined on the client or passed to this method.
316+ extra_headers : Headers | None = None ,
317+ extra_query : Query | None = None ,
318+ extra_body : Body | None = None ,
319+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
320+ ) -> BrowserListResponse :
321+ """List active browser sessions for the authenticated user"""
322+ return await self ._get (
323+ "/browsers" ,
324+ options = make_request_options (
325+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
326+ ),
327+ cast_to = BrowserListResponse ,
328+ )
329+
330+ async def delete (
331+ self ,
332+ * ,
333+ persistent_id : str ,
334+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
335+ # The extra values given here take precedence over values defined on the client or passed to this method.
336+ extra_headers : Headers | None = None ,
337+ extra_query : Query | None = None ,
338+ extra_body : Body | None = None ,
339+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
340+ ) -> None :
341+ """
342+ Delete a persistent browser session by persistent_id query parameter.
343+
344+ Args:
345+ persistent_id: Persistent browser identifier
346+
347+ extra_headers: Send extra headers
348+
349+ extra_query: Add additional query parameters to the request
350+
351+ extra_body: Add additional JSON properties to the request
352+
353+ timeout: Override the client-level default timeout for this request, in seconds
354+ """
355+ extra_headers = {"Accept" : "*/*" , ** (extra_headers or {})}
356+ return await self ._delete (
357+ "/browsers" ,
358+ options = make_request_options (
359+ extra_headers = extra_headers ,
360+ extra_query = extra_query ,
361+ extra_body = extra_body ,
362+ timeout = timeout ,
363+ query = await async_maybe_transform (
364+ {"persistent_id" : persistent_id }, browser_delete_params .BrowserDeleteParams
365+ ),
366+ ),
367+ cast_to = NoneType ,
368+ )
369+
370+ async def delete_by_id (
371+ self ,
372+ id : str ,
373+ * ,
374+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
375+ # The extra values given here take precedence over values defined on the client or passed to this method.
376+ extra_headers : Headers | None = None ,
377+ extra_query : Query | None = None ,
378+ extra_body : Body | None = None ,
379+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
380+ ) -> None :
381+ """
382+ Delete Browser Session by ID
383+
384+ Args:
385+ extra_headers: Send extra headers
386+
387+ extra_query: Add additional query parameters to the request
388+
389+ extra_body: Add additional JSON properties to the request
390+
391+ timeout: Override the client-level default timeout for this request, in seconds
392+ """
393+ if not id :
394+ raise ValueError (f"Expected a non-empty value for `id` but received { id !r} " )
395+ extra_headers = {"Accept" : "*/*" , ** (extra_headers or {})}
396+ return await self ._delete (
397+ f"/browsers/{ id } " ,
398+ options = make_request_options (
399+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
400+ ),
401+ cast_to = NoneType ,
402+ )
403+
218404
219405class BrowsersResourceWithRawResponse :
220406 def __init__ (self , browsers : BrowsersResource ) -> None :
@@ -226,6 +412,15 @@ def __init__(self, browsers: BrowsersResource) -> None:
226412 self .retrieve = to_raw_response_wrapper (
227413 browsers .retrieve ,
228414 )
415+ self .list = to_raw_response_wrapper (
416+ browsers .list ,
417+ )
418+ self .delete = to_raw_response_wrapper (
419+ browsers .delete ,
420+ )
421+ self .delete_by_id = to_raw_response_wrapper (
422+ browsers .delete_by_id ,
423+ )
229424
230425
231426class AsyncBrowsersResourceWithRawResponse :
@@ -238,6 +433,15 @@ def __init__(self, browsers: AsyncBrowsersResource) -> None:
238433 self .retrieve = async_to_raw_response_wrapper (
239434 browsers .retrieve ,
240435 )
436+ self .list = async_to_raw_response_wrapper (
437+ browsers .list ,
438+ )
439+ self .delete = async_to_raw_response_wrapper (
440+ browsers .delete ,
441+ )
442+ self .delete_by_id = async_to_raw_response_wrapper (
443+ browsers .delete_by_id ,
444+ )
241445
242446
243447class BrowsersResourceWithStreamingResponse :
@@ -250,6 +454,15 @@ def __init__(self, browsers: BrowsersResource) -> None:
250454 self .retrieve = to_streamed_response_wrapper (
251455 browsers .retrieve ,
252456 )
457+ self .list = to_streamed_response_wrapper (
458+ browsers .list ,
459+ )
460+ self .delete = to_streamed_response_wrapper (
461+ browsers .delete ,
462+ )
463+ self .delete_by_id = to_streamed_response_wrapper (
464+ browsers .delete_by_id ,
465+ )
253466
254467
255468class AsyncBrowsersResourceWithStreamingResponse :
@@ -262,3 +475,12 @@ def __init__(self, browsers: AsyncBrowsersResource) -> None:
262475 self .retrieve = async_to_streamed_response_wrapper (
263476 browsers .retrieve ,
264477 )
478+ self .list = async_to_streamed_response_wrapper (
479+ browsers .list ,
480+ )
481+ self .delete = async_to_streamed_response_wrapper (
482+ browsers .delete ,
483+ )
484+ self .delete_by_id = async_to_streamed_response_wrapper (
485+ browsers .delete_by_id ,
486+ )
0 commit comments