Skip to content

Commit 525603d

Browse files
release: 2.16.0 (#194)
Automated Release PR --- ## 2.16.0 (2026-07-14) Full Changelog: [v2.15.0...v2.16.0](v2.15.0...v2.16.0) ### Features * **api:** manual updates ([036d917](036d917)) --- This pull request is managed by Stainless's [GitHub App](https://github.com/apps/stainless-app). The [semver version number](https://semver.org/#semantic-versioning-specification-semver) is based on included [commit messages](https://www.conventionalcommits.org/en/v1.0.0/). Alternatively, you can manually set the version number in the title of this pull request. For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request. 🔗 Stainless [website](https://www.stainlessapi.com) 📚 Read the [docs](https://app.stainlessapi.com/docs) 🙋 [Reach out](mailto:support@stainlessapi.com) for help or questions --------- Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com> Co-authored-by: dom <dominiceliassaadi@gmail.com>
1 parent 06d58fc commit 525603d

15 files changed

Lines changed: 217 additions & 52 deletions

File tree

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "2.15.0"
2+
".": "2.16.0"
33
}

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 36
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/browserbase/browserbase-e82c289d3d3aabd936a476cf81630587ffe46ab9e9bdebced4b31b8c2f9bc08f.yml
3-
openapi_spec_hash: 473121b283812a3dfd866afe9b61dc7d
4-
config_hash: 1b24ea9fa13645b16b74aa794dbc8190
1+
configured_endpoints: 38
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/browserbase/browserbase-98cc68ad9afa71355baf2b31f305a5e2f3a315fd311c96659405eff96b8f2b1e.yml
3+
openapi_spec_hash: 71dfbc1021a33dd7fc9d82844965b1b3
4+
config_hash: 6209a285dd5980f5c418fe6575723aef

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Changelog
22

3+
## 2.16.0 (2026-07-14)
4+
5+
Full Changelog: [v2.15.0...v2.16.0](https://github.com/browserbase/sdk-node/compare/v2.15.0...v2.16.0)
6+
7+
### Features
8+
9+
* **api:** manual updates ([036d917](https://github.com/browserbase/sdk-node/commit/036d917c294fb56c387abcb05ea1dc66db1c83f2))
10+
311
## 2.15.0 (2026-07-02)
412

513
Full Changelog: [v2.14.1...v2.15.0](https://github.com/browserbase/sdk-node/compare/v2.14.1...v2.15.0)

api.md

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,12 +112,25 @@ Methods:
112112

113113
Types:
114114

115-
- <code><a href="./src/resources/sessions/recording.ts">SessionRecording</a></code>
116-
- <code><a href="./src/resources/sessions/recording.ts">RecordingRetrieveResponse</a></code>
115+
- <code><a href="./src/resources/sessions/recording/recording.ts">SessionRecording</a></code>
116+
- <code><a href="./src/resources/sessions/recording/recording.ts">RecordingRetrieveResponse</a></code>
117117

118118
Methods:
119119

120-
- <code title="get /v1/sessions/{id}/recording">client.sessions.recording.<a href="./src/resources/sessions/recording.ts">retrieve</a>(id) -> RecordingRetrieveResponse</code>
120+
- <code title="get /v1/sessions/{id}/recording">client.sessions.recording.<a href="./src/resources/sessions/recording/recording.ts">retrieve</a>(id) -> RecordingRetrieveResponse</code>
121+
122+
### Downloads
123+
124+
Types:
125+
126+
- <code><a href="./src/resources/sessions/recording/downloads.ts">RecordingDownload</a></code>
127+
- <code><a href="./src/resources/sessions/recording/downloads.ts">DownloadCreateResponse</a></code>
128+
- <code><a href="./src/resources/sessions/recording/downloads.ts">DownloadListResponse</a></code>
129+
130+
Methods:
131+
132+
- <code title="post /v1/sessions/{id}/recording/downloads">client.sessions.recording.downloads.<a href="./src/resources/sessions/recording/downloads.ts">create</a>(id) -> DownloadCreateResponse</code>
133+
- <code title="get /v1/sessions/{id}/recording/downloads">client.sessions.recording.downloads.<a href="./src/resources/sessions/recording/downloads.ts">list</a>(id) -> DownloadListResponse</code>
121134

122135
## Uploads
123136

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@browserbasehq/sdk",
3-
"version": "2.15.0",
3+
"version": "2.16.0",
44
"description": "The official Node.js library for the Browserbase API",
55
"author": "Browserbase <support@browserbase.com>",
66
"license": "Apache-2.0",

src/resources/sessions/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
export { Downloads } from './downloads';
44
export { Logs, type SessionLog, type LogListResponse } from './logs';
5-
export { Recording, type SessionRecording, type RecordingRetrieveResponse } from './recording';
5+
export { Recording, type SessionRecording, type RecordingRetrieveResponse } from './recording/index';
66
export { Replays, type ReplayRetrieveResponse } from './replays';
77
export {
88
Sessions,
Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,3 @@
11
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

3-
import { APIResource } from '../../resource';
4-
import * as Core from '../../core';
5-
6-
export class Recording extends APIResource {
7-
/**
8-
* Session Recording
9-
*/
10-
retrieve(id: string, options?: Core.RequestOptions): Core.APIPromise<RecordingRetrieveResponse> {
11-
return this._client.get(`/v1/sessions/${id}/recording`, options);
12-
}
13-
}
14-
15-
export interface SessionRecording {
16-
/**
17-
* See
18-
* [rrweb documentation](https://github.com/rrweb-io/rrweb/blob/master/docs/recipes/dive-into-event.md).
19-
*/
20-
data: { [key: string]: unknown };
21-
22-
sessionId: string;
23-
24-
/**
25-
* milliseconds that have elapsed since the UNIX epoch
26-
*/
27-
timestamp: number;
28-
29-
type: number;
30-
}
31-
32-
export type RecordingRetrieveResponse = Array<SessionRecording>;
33-
34-
export declare namespace Recording {
35-
export {
36-
type SessionRecording as SessionRecording,
37-
type RecordingRetrieveResponse as RecordingRetrieveResponse,
38-
};
39-
}
3+
export * from './recording/index';
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
import { APIResource } from '../../../resource';
4+
import * as Core from '../../../core';
5+
6+
export class Downloads extends APIResource {
7+
/**
8+
* Requests one downloadable MP4 per recorded page of a session. Assembly runs
9+
* asynchronously and every page returns as `PENDING`. Re-posting re-enqueues all
10+
* pages and retries any that failed. Poll the GET endpoint for per-page status
11+
* and, on standard (non-BYOS) projects, download URLs.
12+
*/
13+
create(id: string, options?: Core.RequestOptions): Core.APIPromise<DownloadCreateResponse> {
14+
return this._client.post(`/v1/sessions/${id}/recording/downloads`, options);
15+
}
16+
17+
/**
18+
* Returns the per-page download status for a session, with a short-lived signed
19+
* URL for each completed page on standard (non-BYOS) projects.
20+
*/
21+
list(id: string, options?: Core.RequestOptions): Core.APIPromise<DownloadListResponse> {
22+
return this._client.get(`/v1/sessions/${id}/recording/downloads`, options);
23+
}
24+
}
25+
26+
export interface RecordingDownload {
27+
/**
28+
* Recorded page (tab) within the session, e.g. "0", "1".
29+
*/
30+
pageId: string;
31+
32+
/**
33+
* Per-page MP4 assembly state. `NOT_REQUESTED`: no download has been requested for
34+
* the session yet. `PENDING`: assembly is enqueued or in progress. `COMPLETED`:
35+
* the MP4 is ready. `FAILED`: assembly failed; POST again to retry.
36+
*/
37+
status: 'NOT_REQUESTED' | 'PENDING' | 'COMPLETED' | 'FAILED';
38+
39+
/**
40+
* When the MP4 was created. Present only when COMPLETED on a standard (non-BYOS)
41+
* project.
42+
*/
43+
completedAt?: string;
44+
45+
/**
46+
* Short-lived signed CDN URL, re-minted each GET. Present only when COMPLETED on a
47+
* standard (non-BYOS) project.
48+
*/
49+
downloadUrl?: string;
50+
}
51+
52+
export interface DownloadCreateResponse {
53+
downloads: Array<RecordingDownload>;
54+
}
55+
56+
export interface DownloadListResponse {
57+
downloads: Array<RecordingDownload>;
58+
}
59+
60+
export declare namespace Downloads {
61+
export {
62+
type RecordingDownload as RecordingDownload,
63+
type DownloadCreateResponse as DownloadCreateResponse,
64+
type DownloadListResponse as DownloadListResponse,
65+
};
66+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
export {
4+
Downloads,
5+
type RecordingDownload,
6+
type DownloadCreateResponse,
7+
type DownloadListResponse,
8+
} from './downloads';
9+
export { Recording, type SessionRecording, type RecordingRetrieveResponse } from './recording';

0 commit comments

Comments
 (0)