11// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22
33import { APIResource } from '../core/resource' ;
4+ import * as BrowsersAPI from './browsers' ;
45import { APIPromise } from '../core/api-promise' ;
6+ import { buildHeaders } from '../internal/headers' ;
57import { RequestOptions } from '../internal/request-options' ;
68import { path } from '../internal/utils/path' ;
79
@@ -12,7 +14,7 @@ export class Browsers extends APIResource {
1214 * @example
1315 * ```ts
1416 * const browser = await client.browsers.create({
15- * invocation_id: 'ckqwer3o20000jb9s7abcdef ',
17+ * invocation_id: 'rr33xuugxj9h0bkf1rdt2bet ',
1618 * });
1719 * ```
1820 */
@@ -26,13 +28,71 @@ export class Browsers extends APIResource {
2628 * @example
2729 * ```ts
2830 * const browser = await client.browsers.retrieve(
29- * 'e5bf36fe-9247-4e2b-8b5a-2f594cc1c073 ',
31+ * 'htzv5orfit78e1m2biiifpbv ',
3032 * );
3133 * ```
3234 */
3335 retrieve ( id : string , options ?: RequestOptions ) : APIPromise < BrowserRetrieveResponse > {
3436 return this . _client . get ( path `/browsers/${ id } ` , options ) ;
3537 }
38+
39+ /**
40+ * List active browser sessions for the authenticated user
41+ *
42+ * @example
43+ * ```ts
44+ * const browsers = await client.browsers.list();
45+ * ```
46+ */
47+ list ( options ?: RequestOptions ) : APIPromise < BrowserListResponse > {
48+ return this . _client . get ( '/browsers' , options ) ;
49+ }
50+
51+ /**
52+ * Delete a persistent browser session by persistent_id query parameter.
53+ *
54+ * @example
55+ * ```ts
56+ * await client.browsers.delete({
57+ * persistent_id: 'persistent_id',
58+ * });
59+ * ```
60+ */
61+ delete ( params : BrowserDeleteParams , options ?: RequestOptions ) : APIPromise < void > {
62+ const { persistent_id } = params ;
63+ return this . _client . delete ( '/browsers' , {
64+ query : { persistent_id } ,
65+ ...options ,
66+ headers : buildHeaders ( [ { Accept : '*/*' } , options ?. headers ] ) ,
67+ } ) ;
68+ }
69+
70+ /**
71+ * Delete Browser Session by ID
72+ *
73+ * @example
74+ * ```ts
75+ * await client.browsers.deleteByID(
76+ * 'htzv5orfit78e1m2biiifpbv',
77+ * );
78+ * ```
79+ */
80+ deleteByID ( id : string , options ?: RequestOptions ) : APIPromise < void > {
81+ return this . _client . delete ( path `/browsers/${ id } ` , {
82+ ...options ,
83+ headers : buildHeaders ( [ { Accept : '*/*' } , options ?. headers ] ) ,
84+ } ) ;
85+ }
86+ }
87+
88+ /**
89+ * Optional persistence configuration for the browser session.
90+ */
91+ export interface BrowserPersistence {
92+ /**
93+ * Unique identifier for the persistent browser session.
94+ */
95+ id : string ;
3696}
3797
3898export interface BrowserCreateResponse {
@@ -50,6 +110,11 @@ export interface BrowserCreateResponse {
50110 * Unique identifier for the browser session
51111 */
52112 session_id : string ;
113+
114+ /**
115+ * Optional persistence configuration for the browser session.
116+ */
117+ persistence ?: BrowserPersistence ;
53118}
54119
55120export interface BrowserRetrieveResponse {
@@ -67,19 +132,65 @@ export interface BrowserRetrieveResponse {
67132 * Unique identifier for the browser session
68133 */
69134 session_id : string ;
135+
136+ /**
137+ * Optional persistence configuration for the browser session.
138+ */
139+ persistence ?: BrowserPersistence ;
140+ }
141+
142+ export type BrowserListResponse = Array < BrowserListResponse . BrowserListResponseItem > ;
143+
144+ export namespace BrowserListResponse {
145+ export interface BrowserListResponseItem {
146+ /**
147+ * Remote URL for live viewing the browser session
148+ */
149+ browser_live_view_url : string ;
150+
151+ /**
152+ * Websocket URL for Chrome DevTools Protocol connections to the browser session
153+ */
154+ cdp_ws_url : string ;
155+
156+ /**
157+ * Unique identifier for the browser session
158+ */
159+ session_id : string ;
160+
161+ /**
162+ * Optional persistence configuration for the browser session.
163+ */
164+ persistence ?: BrowsersAPI . BrowserPersistence ;
165+ }
70166}
71167
72168export interface BrowserCreateParams {
73169 /**
74170 * action invocation ID
75171 */
76172 invocation_id : string ;
173+
174+ /**
175+ * Optional persistence configuration for the browser session.
176+ */
177+ persistence ?: BrowserPersistence ;
178+ }
179+
180+ export interface BrowserDeleteParams {
181+ /**
182+ * Persistent browser identifier
183+ */
184+ persistent_id : string ;
77185}
78186
79187export declare namespace Browsers {
80188 export {
189+ type BrowserPersistence as BrowserPersistence ,
81190 type BrowserCreateResponse as BrowserCreateResponse ,
82191 type BrowserRetrieveResponse as BrowserRetrieveResponse ,
192+ type BrowserListResponse as BrowserListResponse ,
83193 type BrowserCreateParams as BrowserCreateParams ,
194+ type BrowserDeleteParams as BrowserDeleteParams ,
84195 } ;
85196}
0 commit comments