From a17d93ebf4857f09e214c2ae311b6c52a5992a92 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 15 Jul 2026 19:34:42 +0000 Subject: [PATCH 1/7] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 1ac83c1..3de065a 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 38 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/browserbase/browserbase-98cc68ad9afa71355baf2b31f305a5e2f3a315fd311c96659405eff96b8f2b1e.yml -openapi_spec_hash: 71dfbc1021a33dd7fc9d82844965b1b3 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/browserbase/browserbase-8d1216ead52a9dfaf6a231bb447d5037df767801655696412b7d99854e4564c5.yml +openapi_spec_hash: 6621afc595273e4b0fcb8a673431917b config_hash: 6209a285dd5980f5c418fe6575723aef From 0aa2d666814eade3105debce6a64f792281396a1 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 16 Jul 2026 20:13:06 +0000 Subject: [PATCH 2/7] codegen metadata --- .stats.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.stats.yml b/.stats.yml index 3de065a..2ca5549 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 38 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/browserbase/browserbase-8d1216ead52a9dfaf6a231bb447d5037df767801655696412b7d99854e4564c5.yml -openapi_spec_hash: 6621afc595273e4b0fcb8a673431917b -config_hash: 6209a285dd5980f5c418fe6575723aef +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/browserbase/browserbase-f5e42b2a6514f5180d2fb2f03f72c322e5069bdfac7c8375960db96a1c3469ce.yml +openapi_spec_hash: 4946aed36ee3fb8102eae92b5e80c8c7 +config_hash: 12a5eb5ac818623045ae77075ee3dd53 From 78f6fab50f0e4998f06a3e9e303a7a85663e8089 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 16 Jul 2026 21:06:38 +0000 Subject: [PATCH 3/7] feat: name session-create timeout param for SDK codegen --- .stats.yml | 4 ++-- src/resources/sessions/sessions.ts | 13 +++++++------ tests/api-resources/sessions/sessions.test.ts | 2 +- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.stats.yml b/.stats.yml index 2ca5549..fe2b5d7 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 38 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/browserbase/browserbase-f5e42b2a6514f5180d2fb2f03f72c322e5069bdfac7c8375960db96a1c3469ce.yml -openapi_spec_hash: 4946aed36ee3fb8102eae92b5e80c8c7 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/browserbase/browserbase-9ab1245807a367839f2cfe57a7e9609459282dc073ee4c7e0497e129166843be.yml +openapi_spec_hash: 1f01c7cc4211cd41908d00eaa249b62d config_hash: 12a5eb5ac818623045ae77075ee3dd53 diff --git a/src/resources/sessions/sessions.ts b/src/resources/sessions/sessions.ts index 3a9e979..8245c89 100644 --- a/src/resources/sessions/sessions.ts +++ b/src/resources/sessions/sessions.ts @@ -24,16 +24,17 @@ export class Sessions extends APIResource { /** * Create a Session */ - create(body?: SessionCreateParams, options?: Core.RequestOptions): Core.APIPromise; + create(params?: SessionCreateParams, options?: Core.RequestOptions): Core.APIPromise; create(options?: Core.RequestOptions): Core.APIPromise; create( - body: SessionCreateParams | Core.RequestOptions = {}, + params: SessionCreateParams | Core.RequestOptions = {}, options?: Core.RequestOptions, ): Core.APIPromise { - if (isRequestOptions(body)) { - return this.create({}, body); + if (isRequestOptions(params)) { + return this.create({}, params); } - return this._client.post('/v1/sessions', { body, ...options }); + const { api_timeout, ...body } = params; + return this._client.post('/v1/sessions', { body: { timeout: api_timeout, ...body }, ...options }); } /** @@ -230,7 +231,7 @@ export interface SessionCreateParams { * Duration in seconds after which the session will automatically end. Defaults to * the Project's `defaultTimeout`. */ - timeout?: number; + api_timeout?: number; /** * Arbitrary user metadata to attach to the session. To learn more about user diff --git a/tests/api-resources/sessions/sessions.test.ts b/tests/api-resources/sessions/sessions.test.ts index 3f0d171..ce8cd41 100644 --- a/tests/api-resources/sessions/sessions.test.ts +++ b/tests/api-resources/sessions/sessions.test.ts @@ -64,7 +64,7 @@ describe('resource sessions', () => { ], proxySettings: { caCertificates: ['182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e'] }, region: 'us-west-2', - timeout: 60, + api_timeout: 60, userMetadata: { foo: 'bar' }, }, { path: '/_stainless_unknown_path' }, From 27b689b3998e15cbe654f0fc90e1e9c3aecc5899 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 18 Jul 2026 02:07:57 +0000 Subject: [PATCH 4/7] feat(stlc): configurable CI runner and private-production-repo support in workflow templates --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 535c4a7..774b0bc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,7 @@ jobs: lint: timeout-minutes: 10 name: lint - runs-on: ${{ github.repository == 'stainless-sdks/browserbase-node' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} + runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata') steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -37,7 +37,7 @@ jobs: build: timeout-minutes: 5 name: build - runs-on: ${{ github.repository == 'stainless-sdks/browserbase-node' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} + runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata') permissions: contents: read @@ -77,7 +77,7 @@ jobs: test: timeout-minutes: 10 name: test - runs-on: ${{ github.repository == 'stainless-sdks/browserbase-node' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} + runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} if: github.event_name == 'push' || github.event.pull_request.head.repo.fork steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 From 5d0b67aa2087c089952cdf63318f2cb30d4e2592 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 4 Aug 2026 05:22:03 +0000 Subject: [PATCH 5/7] feat: [CORE-2365] Add optional name to create and get Context API --- .stats.yml | 4 ++-- src/resources/contexts.ts | 14 ++++++++++++++ tests/api-resources/contexts.test.ts | 2 +- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/.stats.yml b/.stats.yml index fe2b5d7..9abdc69 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 38 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/browserbase/browserbase-9ab1245807a367839f2cfe57a7e9609459282dc073ee4c7e0497e129166843be.yml -openapi_spec_hash: 1f01c7cc4211cd41908d00eaa249b62d +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/browserbase/browserbase-586ac4eb1ad67a46c520dab6766f734d5dc6cc852a7f45ec56cf3f0c8ea6c4e0.yml +openapi_spec_hash: aa9de37972bc4bf33b5376159d9326cb config_hash: 12a5eb5ac818623045ae77075ee3dd53 diff --git a/src/resources/contexts.ts b/src/resources/contexts.ts index ae2d224..21a418e 100644 --- a/src/resources/contexts.ts +++ b/src/resources/contexts.ts @@ -56,6 +56,13 @@ export interface Context { projectId: string; updatedAt: string; + + /** + * Optional user-defined name for the Context. Leading and trailing whitespace is + * trimmed before storage. Names are unique within the project among active + * Contexts, compared case-insensitively. + */ + name?: string; } export interface ContextCreateResponse { @@ -111,6 +118,13 @@ export interface ContextUpdateResponse { } export interface ContextCreateParams { + /** + * Optional user-defined name for the Context. Leading and trailing whitespace is + * trimmed before storage. Names are unique within the project among active + * Contexts, compared case-insensitively. + */ + name?: string; + /** * The Project ID. Can be found in * [Settings](https://www.browserbase.com/settings). Optional - if not provided, diff --git a/tests/api-resources/contexts.test.ts b/tests/api-resources/contexts.test.ts index 2456cbf..aa366bf 100644 --- a/tests/api-resources/contexts.test.ts +++ b/tests/api-resources/contexts.test.ts @@ -30,7 +30,7 @@ describe('resource contexts', () => { test('create: request options and params are passed correctly', async () => { // ensure the request options are being passed correctly by passing an invalid HTTP method in order to cause an error await expect( - client.contexts.create({ projectId: 'projectId' }, { path: '/_stainless_unknown_path' }), + client.contexts.create({ name: 'x', projectId: 'projectId' }, { path: '/_stainless_unknown_path' }), ).rejects.toThrow(Browserbase.NotFoundError); }); From 428168eb7cd5b08ac53fe8ad28f3f4d0c3b592eb Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 4 Aug 2026 17:18:24 +0000 Subject: [PATCH 6/7] feat: [STG-2717] Pass-thru `proxy` config for session creation in `/v1/agents/runs` --- .stats.yml | 4 +- src/resources/agents/runs.ts | 93 ++++++++++++++++++++++++- tests/api-resources/agents/runs.test.ts | 12 +++- 3 files changed, 104 insertions(+), 5 deletions(-) diff --git a/.stats.yml b/.stats.yml index 9abdc69..9a48e83 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 38 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/browserbase/browserbase-586ac4eb1ad67a46c520dab6766f734d5dc6cc852a7f45ec56cf3f0c8ea6c4e0.yml -openapi_spec_hash: aa9de37972bc4bf33b5376159d9326cb +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/browserbase/browserbase-99c716f954a37900a19a0dc8465d6f502b1df7a0a2a2fde1eaaadac2b749f546.yml +openapi_spec_hash: c060ef2eebd323545d2ad60dad505cf1 config_hash: 12a5eb5ac818623045ae77075ee3dd53 diff --git a/src/resources/agents/runs.ts b/src/resources/agents/runs.ts index f01d793..331703d 100644 --- a/src/resources/agents/runs.ts +++ b/src/resources/agents/runs.ts @@ -440,9 +440,16 @@ export namespace RunCreateParams { context?: BrowserSettings.Context; /** - * Set true to route the agent's browser session through the default proxy. + * Proxy configuration. Can be true for default proxy, or an array of proxy + * configurations. */ - proxies?: boolean; + proxies?: + | Array< + | BrowserSettings.BrowserbaseProxyConfig + | BrowserSettings.ExternalProxyConfig + | BrowserSettings.NoneProxyConfig + > + | boolean; /** * Set true to enable Browserbase Verified for the session. @@ -462,6 +469,88 @@ export namespace RunCreateParams { */ persist?: boolean; } + + export interface BrowserbaseProxyConfig { + /** + * Type of proxy. Always use 'browserbase' for the Browserbase managed proxy + * network. + */ + type: 'browserbase'; + + /** + * Domain pattern for which this proxy should be used. If omitted, defaults to all + * domains. Optional. + */ + domainPattern?: string; + + /** + * Geographic location for the proxy. Optional. + */ + geolocation?: BrowserbaseProxyConfig.Geolocation; + } + + export namespace BrowserbaseProxyConfig { + /** + * Geographic location for the proxy. Optional. + */ + export interface Geolocation { + /** + * Country code in ISO 3166-1 alpha-2 format + */ + country: string; + + /** + * Name of the city. Use spaces for multi-word city names. Optional. + */ + city?: string; + + /** + * US state code (2 characters). Must also specify US as the country. Optional. + */ + state?: string; + } + } + + export interface ExternalProxyConfig { + /** + * Server URL for external proxy. Required. + */ + server: string; + + /** + * Type of proxy. Always 'external' for this config. + */ + type: 'external'; + + /** + * Domain pattern for which this proxy should be used. If omitted, defaults to all + * domains. Optional. + */ + domainPattern?: string; + + /** + * Password for external proxy authentication. Optional. + */ + password?: string; + + /** + * Username for external proxy authentication. Optional. + */ + username?: string; + } + + export interface NoneProxyConfig { + /** + * Type of proxy. Always 'none' for this config. + */ + type: 'none'; + + /** + * Domain pattern for which this proxy should be used. If omitted, defaults to all + * domains. Optional. + */ + domainPattern?: string; + } } export interface Variables { diff --git a/tests/api-resources/agents/runs.test.ts b/tests/api-resources/agents/runs.test.ts index e5e9f05..17ad53a 100644 --- a/tests/api-resources/agents/runs.test.ts +++ b/tests/api-resources/agents/runs.test.ts @@ -26,7 +26,17 @@ describe('resource runs', () => { agentId: 'agentId', browserSettings: { context: { id: 'id', persist: true }, - proxies: true, + proxies: [ + { + type: 'browserbase', + domainPattern: 'domainPattern', + geolocation: { + country: 'xx', + city: 'city', + state: 'xx', + }, + }, + ], verified: true, }, resultSchema: { foo: 'bar' }, From d95a5384ec5db345c8784d6f30f6f48ee7fedd8d Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 4 Aug 2026 17:18:49 +0000 Subject: [PATCH 7/7] release: 2.17.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 11 +++++++++++ package-lock.json | 4 ++-- package.json | 2 +- src/version.ts | 2 +- 5 files changed, 16 insertions(+), 5 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 7731f20..9a61761 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "2.16.0" + ".": "2.17.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 90b28d0..e4f16eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## 2.17.0 (2026-08-04) + +Full Changelog: [v2.16.0...v2.17.0](https://github.com/browserbase/sdk-node/compare/v2.16.0...v2.17.0) + +### Features + +* [CORE-2365] Add optional name to create and get Context API ([5d0b67a](https://github.com/browserbase/sdk-node/commit/5d0b67aa2087c089952cdf63318f2cb30d4e2592)) +* [STG-2717] Pass-thru `proxy` config for session creation in `/v1/agents/runs` ([428168e](https://github.com/browserbase/sdk-node/commit/428168eb7cd5b08ac53fe8ad28f3f4d0c3b592eb)) +* name session-create timeout param for SDK codegen ([78f6fab](https://github.com/browserbase/sdk-node/commit/78f6fab50f0e4998f06a3e9e303a7a85663e8089)) +* **stlc:** configurable CI runner and private-production-repo support in workflow templates ([27b689b](https://github.com/browserbase/sdk-node/commit/27b689b3998e15cbe654f0fc90e1e9c3aecc5899)) + ## 2.16.0 (2026-07-14) Full Changelog: [v2.15.0...v2.16.0](https://github.com/browserbase/sdk-node/compare/v2.15.0...v2.16.0) diff --git a/package-lock.json b/package-lock.json index 494fec1..53e0aad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@browserbasehq/sdk", - "version": "2.16.0", + "version": "2.17.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@browserbasehq/sdk", - "version": "2.16.0", + "version": "2.17.0", "dependencies": { "@types/node": "^18.11.18", "@types/node-fetch": "^2.6.4", diff --git a/package.json b/package.json index 7733df7..342b6a1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@browserbasehq/sdk", - "version": "2.16.0", + "version": "2.17.0", "description": "The official Node.js library for the Browserbase API", "author": "Browserbase ", "license": "Apache-2.0", diff --git a/src/version.ts b/src/version.ts index f9cc5c1..acffe37 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const VERSION = '2.16.0'; // x-release-please-version +export const VERSION = '2.17.0'; // x-release-please-version