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
@@ -33,6 +35,64 @@ export class Browsers extends APIResource {
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+ * 'e5bf36fe-9247-4e2b-8b5a-2f594cc1c073',
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 {
@@ -54,19 +114,7 @@ export interface BrowserCreateResponse {
54114 /**
55115 * Optional persistence configuration for the browser session.
56116 */
57- persistence ?: BrowserCreateResponse . Persistence ;
58- }
59-
60- export namespace BrowserCreateResponse {
61- /**
62- * Optional persistence configuration for the browser session.
63- */
64- export interface Persistence {
65- /**
66- * Unique identifier for the persistent browser session.
67- */
68- id : string ;
69- }
117+ persistence ?: BrowserPersistence ;
70118}
71119
72120export interface BrowserRetrieveResponse {
@@ -88,18 +136,32 @@ export interface BrowserRetrieveResponse {
88136 /**
89137 * Optional persistence configuration for the browser session.
90138 */
91- persistence ?: BrowserRetrieveResponse . Persistence ;
139+ persistence ?: BrowserPersistence ;
92140}
93141
94- export namespace BrowserRetrieveResponse {
95- /**
96- * Optional persistence configuration for the browser session.
97- */
98- export interface Persistence {
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+
99156 /**
100- * Unique identifier for the persistent browser session.
157+ * Unique identifier for the browser session
101158 */
102- id : string ;
159+ session_id : string ;
160+
161+ /**
162+ * Optional persistence configuration for the browser session.
163+ */
164+ persistence ?: BrowsersAPI . BrowserPersistence ;
103165 }
104166}
105167
@@ -112,25 +174,23 @@ export interface BrowserCreateParams {
112174 /**
113175 * Optional persistence configuration for the browser session.
114176 */
115- persistence ?: BrowserCreateParams . Persistence ;
177+ persistence ?: BrowserPersistence ;
116178}
117179
118- export namespace BrowserCreateParams {
180+ export interface BrowserDeleteParams {
119181 /**
120- * Optional persistence configuration for the browser session.
182+ * Persistent browser identifier
121183 */
122- export interface Persistence {
123- /**
124- * Unique identifier for the persistent browser session.
125- */
126- id : string ;
127- }
184+ persistent_id : string ;
128185}
129186
130187export declare namespace Browsers {
131188 export {
189+ type BrowserPersistence as BrowserPersistence ,
132190 type BrowserCreateResponse as BrowserCreateResponse ,
133191 type BrowserRetrieveResponse as BrowserRetrieveResponse ,
192+ type BrowserListResponse as BrowserListResponse ,
134193 type BrowserCreateParams as BrowserCreateParams ,
194+ type BrowserDeleteParams as BrowserDeleteParams ,
135195 } ;
136196}
0 commit comments