Skip to content

Commit 7df0d1b

Browse files
feat(dashboard): add browser replays support for past browsers
1 parent d4e30a7 commit 7df0d1b

7 files changed

Lines changed: 44 additions & 9 deletions

File tree

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 91
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-1e490dbef30dfa53ccba72524fcba4079f244f2530a4f770c00f8fee707eaa72.yml
3-
openapi_spec_hash: 1fd15429610959f19aed6d3cb170ab9e
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-68729f2ff40476377ead9019c18ea140fc4efbc2e68d7c4fc323bd61ae81f768.yml
3+
openapi_spec_hash: 9eec61481f9059b5fedc13abc3e39338
44
config_hash: cc7fdd701d995d4b3456d77041c604cf

api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ Types:
7373
Methods:
7474

7575
- <code title="post /browsers">client.browsers.<a href="./src/resources/browsers/browsers.ts">create</a>({ ...params }) -> BrowserCreateResponse</code>
76-
- <code title="get /browsers/{id}">client.browsers.<a href="./src/resources/browsers/browsers.ts">retrieve</a>(id) -> BrowserRetrieveResponse</code>
76+
- <code title="get /browsers/{id}">client.browsers.<a href="./src/resources/browsers/browsers.ts">retrieve</a>(id, { ...params }) -> BrowserRetrieveResponse</code>
7777
- <code title="patch /browsers/{id}">client.browsers.<a href="./src/resources/browsers/browsers.ts">update</a>(id, { ...params }) -> BrowserUpdateResponse</code>
7878
- <code title="get /browsers">client.browsers.<a href="./src/resources/browsers/browsers.ts">list</a>({ ...params }) -> BrowserListResponsesOffsetPagination</code>
7979
- <code title="delete /browsers">client.browsers.<a href="./src/resources/browsers/browsers.ts">delete</a>({ ...params }) -> void</code>

src/client.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ import {
9494
BrowserListResponsesOffsetPagination,
9595
BrowserLoadExtensionsParams,
9696
BrowserPersistence,
97+
BrowserRetrieveParams,
9798
BrowserRetrieveResponse,
9899
BrowserUpdateParams,
99100
BrowserUpdateResponse,
@@ -939,6 +940,7 @@ export declare namespace Kernel {
939940
type BrowserListResponse as BrowserListResponse,
940941
type BrowserListResponsesOffsetPagination as BrowserListResponsesOffsetPagination,
941942
type BrowserCreateParams as BrowserCreateParams,
943+
type BrowserRetrieveParams as BrowserRetrieveParams,
942944
type BrowserUpdateParams as BrowserUpdateParams,
943945
type BrowserListParams as BrowserListParams,
944946
type BrowserDeleteParams as BrowserDeleteParams,

src/resources/browsers/browsers.ts

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,12 @@ export class Browsers extends APIResource {
105105
* );
106106
* ```
107107
*/
108-
retrieve(id: string, options?: RequestOptions): APIPromise<BrowserRetrieveResponse> {
109-
return this._client.get(path`/browsers/${id}`, options);
108+
retrieve(
109+
id: string,
110+
query: BrowserRetrieveParams | null | undefined = {},
111+
options?: RequestOptions,
112+
): APIPromise<BrowserRetrieveResponse> {
113+
return this._client.get(path`/browsers/${id}`, { query, ...options });
110114
}
111115

112116
/**
@@ -124,8 +128,8 @@ export class Browsers extends APIResource {
124128
}
125129

126130
/**
127-
* List all browser sessions with pagination support. Use include_deleted=true to
128-
* include soft-deleted sessions in the results.
131+
* List all browser sessions with pagination support. Use status parameter to
132+
* filter by session state.
129133
*
130134
* @example
131135
* ```ts
@@ -618,6 +622,13 @@ export interface BrowserCreateParams {
618622
viewport?: Shared.BrowserViewport;
619623
}
620624

625+
export interface BrowserRetrieveParams {
626+
/**
627+
* When true, includes soft-deleted browser sessions in the lookup.
628+
*/
629+
include_deleted?: boolean;
630+
}
631+
621632
export interface BrowserUpdateParams {
622633
/**
623634
* ID of the proxy to use. Omit to leave unchanged, set to empty string to remove
@@ -628,10 +639,16 @@ export interface BrowserUpdateParams {
628639

629640
export interface BrowserListParams extends OffsetPaginationParams {
630641
/**
631-
* When true, includes soft-deleted browser sessions in the results alongside
632-
* active sessions.
642+
* Deprecated: Use status=all instead. When true, includes soft-deleted browser
643+
* sessions in the results alongside active sessions.
633644
*/
634645
include_deleted?: boolean;
646+
647+
/**
648+
* Filter sessions by status. "active" returns only active sessions (default),
649+
* "deleted" returns only soft-deleted sessions, "all" returns both.
650+
*/
651+
status?: 'active' | 'deleted' | 'all';
635652
}
636653

637654
export interface BrowserDeleteParams {
@@ -680,6 +697,7 @@ export declare namespace Browsers {
680697
type BrowserListResponse as BrowserListResponse,
681698
type BrowserListResponsesOffsetPagination as BrowserListResponsesOffsetPagination,
682699
type BrowserCreateParams as BrowserCreateParams,
700+
type BrowserRetrieveParams as BrowserRetrieveParams,
683701
type BrowserUpdateParams as BrowserUpdateParams,
684702
type BrowserListParams as BrowserListParams,
685703
type BrowserDeleteParams as BrowserDeleteParams,

src/resources/browsers/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ export {
99
type BrowserUpdateResponse,
1010
type BrowserListResponse,
1111
type BrowserCreateParams,
12+
type BrowserRetrieveParams,
1213
type BrowserUpdateParams,
1314
type BrowserListParams,
1415
type BrowserDeleteParams,

src/resources/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ export {
2828
type BrowserUpdateResponse,
2929
type BrowserListResponse,
3030
type BrowserCreateParams,
31+
type BrowserRetrieveParams,
3132
type BrowserUpdateParams,
3233
type BrowserListParams,
3334
type BrowserDeleteParams,

tests/api-resources/browsers/browsers.test.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,18 @@ describe('resource browsers', () => {
6262
expect(dataAndResponse.response).toBe(rawResponse);
6363
});
6464

65+
// Prism tests are disabled
66+
test.skip('retrieve: request options and params are passed correctly', async () => {
67+
// ensure the request options are being passed correctly by passing an invalid HTTP method in order to cause an error
68+
await expect(
69+
client.browsers.retrieve(
70+
'htzv5orfit78e1m2biiifpbv',
71+
{ include_deleted: true },
72+
{ path: '/_stainless_unknown_path' },
73+
),
74+
).rejects.toThrow(Kernel.NotFoundError);
75+
});
76+
6577
// Prism tests are disabled
6678
test.skip('update', async () => {
6779
const responsePromise = client.browsers.update('htzv5orfit78e1m2biiifpbv', {});
@@ -95,6 +107,7 @@ describe('resource browsers', () => {
95107
include_deleted: true,
96108
limit: 1,
97109
offset: 0,
110+
status: 'active',
98111
},
99112
{ path: '/_stainless_unknown_path' },
100113
),

0 commit comments

Comments
 (0)