diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0536551d..1d404ba7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -55,12 +55,12 @@ $ cd sdk-node # With yarn $ yarn link $ cd ../my-package -$ yarn link browserbase +$ yarn link @browserbasehq/sdk # With pnpm $ pnpm link --global $ cd ../my-package -$ pnpm link -—global browserbase +$ pnpm link -—global @browserbasehq/sdk ``` ## Running tests diff --git a/README.md b/README.md index b42332b8..e0016155 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Browserbase Node API Library -[![NPM version](https://img.shields.io/npm/v/browserbase.svg)](https://npmjs.org/package/browserbase) ![npm bundle size](https://img.shields.io/bundlephobia/minzip/browserbase) +[![NPM version](https://img.shields.io/npm/v/@browserbasehq/sdk.svg)](https://npmjs.org/package/@browserbasehq/sdk) ![npm bundle size](https://img.shields.io/bundlephobia/minzip/@browserbasehq/sdk) This library provides convenient access to the Browserbase REST API from server-side TypeScript or JavaScript. @@ -15,7 +15,7 @@ npm install git+ssh://git@github.com:browserbase/sdk-node.git ``` > [!NOTE] -> Once this package is [published to npm](https://app.stainlessapi.com/docs/guides/publish), this will become: `npm install browserbase` +> Once this package is [published to npm](https://app.stainlessapi.com/docs/guides/publish), this will become: `npm install @browserbasehq/sdk` ## Usage @@ -23,14 +23,14 @@ The full API of this library can be found in [api.md](api.md). ```js -import Browserbase from 'browserbase'; +import Browserbase from '@browserbasehq/sdk'; const client = new Browserbase({ apiKey: process.env['BROWSERBASE_API_KEY'], // This is the default and can be omitted }); async function main() { - const session = await client.sessions.create({ projectId: 'your_project_id', proxies: true }); + const session = await client.sessions.create({ projectId: 'your_project_id' }); console.log(session.id); } @@ -44,14 +44,14 @@ This library includes TypeScript definitions for all request params and response ```ts -import Browserbase from 'browserbase'; +import Browserbase from '@browserbasehq/sdk'; const client = new Browserbase({ apiKey: process.env['BROWSERBASE_API_KEY'], // This is the default and can be omitted }); async function main() { - const params: Browserbase.SessionCreateParams = { projectId: 'your_project_id', proxies: true }; + const params: Browserbase.SessionCreateParams = { projectId: 'your_project_id' }; const session: Browserbase.SessionCreateResponse = await client.sessions.create(params); } @@ -69,17 +69,15 @@ a subclass of `APIError` will be thrown: ```ts async function main() { - const session = await client.sessions - .create({ projectId: 'your_project_id', proxies: true }) - .catch(async (err) => { - if (err instanceof Browserbase.APIError) { - console.log(err.status); // 400 - console.log(err.name); // BadRequestError - console.log(err.headers); // {server: 'nginx', ...} - } else { - throw err; - } - }); + const session = await client.sessions.create({ projectId: 'your_project_id' }).catch(async (err) => { + if (err instanceof Browserbase.APIError) { + console.log(err.status); // 400 + console.log(err.name); // BadRequestError + console.log(err.headers); // {server: 'nginx', ...} + } else { + throw err; + } + }); } main(); @@ -114,7 +112,7 @@ const client = new Browserbase({ }); // Or, configure per-request: -await client.sessions.create({ projectId: 'your_project_id', proxies: true }, { +await client.sessions.create({ projectId: 'your_project_id' }, { maxRetries: 5, }); ``` @@ -131,7 +129,7 @@ const client = new Browserbase({ }); // Override per-request: -await client.sessions.create({ projectId: 'your_project_id', proxies: true }, { +await client.sessions.create({ projectId: 'your_project_id' }, { timeout: 5 * 1000, }); ``` @@ -152,12 +150,12 @@ You can also use the `.withResponse()` method to get the raw `Response` along wi ```ts const client = new Browserbase(); -const response = await client.sessions.create({ projectId: 'your_project_id', proxies: true }).asResponse(); +const response = await client.sessions.create({ projectId: 'your_project_id' }).asResponse(); console.log(response.headers.get('X-My-Header')); console.log(response.statusText); // access the underlying Response object const { data: session, response: raw } = await client.sessions - .create({ projectId: 'your_project_id', proxies: true }) + .create({ projectId: 'your_project_id' }) .withResponse(); console.log(raw.headers.get('X-My-Header')); console.log(session.id); @@ -218,11 +216,11 @@ add the following import before your first import `from "Browserbase"`: ```ts // Tell TypeScript and the package to use the global web fetch instead of node-fetch. // Note, despite the name, this does not add any polyfills, but expects them to be provided if needed. -import 'browserbase/shims/web'; -import Browserbase from 'browserbase'; +import '@browserbasehq/sdk/shims/web'; +import Browserbase from '@browserbasehq/sdk'; ``` -To do the inverse, add `import "browserbase/shims/node"` (which does import polyfills). +To do the inverse, add `import "@browserbasehq/sdk/shims/node"` (which does import polyfills). This can also be useful if you are getting the wrong TypeScript types for `Response` ([more details](https://github.com/browserbase/sdk-node/tree/main/src/_shims#readme)). ### Logging and middleware @@ -232,7 +230,7 @@ which can be used to inspect or alter the `Request` or `Response` before/after e ```ts import { fetch } from 'undici'; // as one example -import Browserbase from 'browserbase'; +import Browserbase from '@browserbasehq/sdk'; const client = new Browserbase({ fetch: async (url: RequestInfo, init?: RequestInit): Promise => { @@ -265,7 +263,7 @@ const client = new Browserbase({ // Override per-request: await client.sessions.create( - { projectId: 'your_project_id', proxies: true }, + { projectId: 'your_project_id' }, { httpAgent: new http.Agent({ keepAlive: false }), }, diff --git a/jest.config.ts b/jest.config.ts index 5b0fc2cf..ba903401 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -7,9 +7,9 @@ const config: JestConfigWithTsJest = { '^.+\\.(t|j)sx?$': ['@swc/jest', { sourceMaps: 'inline' }], }, moduleNameMapper: { - '^browserbase$': '/src/index.ts', - '^browserbase/_shims/auto/(.*)$': '/src/_shims/auto/$1-node', - '^browserbase/(.*)$': '/src/$1', + '^@browserbasehq/sdk$': '/src/index.ts', + '^@browserbasehq/sdk/_shims/auto/(.*)$': '/src/_shims/auto/$1-node', + '^@browserbasehq/sdk/(.*)$': '/src/$1', }, modulePathIgnorePatterns: [ '/ecosystem-tests/', diff --git a/package.json b/package.json index a3c4a654..73223960 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "browserbase", + "name": "@browserbasehq/sdk", "version": "0.1.0-alpha.2", "description": "The official TypeScript library for the Browserbase API", "author": "Browserbase ", @@ -60,8 +60,8 @@ "./shims/web.mjs" ], "imports": { - "browserbase": ".", - "browserbase/*": "./src/*" + "@browserbasehq/sdk": ".", + "@browserbasehq/sdk/*": "./src/*" }, "exports": { "./_shims/auto/*": { diff --git a/scripts/build b/scripts/build index 8e2e6cf9..4aa2b509 100755 --- a/scripts/build +++ b/scripts/build @@ -8,7 +8,7 @@ node scripts/utils/check-version.cjs # Build into dist and will publish the package from there, # so that src/resources/foo.ts becomes /resources/foo.js -# This way importing from `"browserbase/resources/foo"` works +# This way importing from `"@browserbasehq/sdk/resources/foo"` works # even with `"moduleResolution": "node"` rm -rf dist; mkdir dist @@ -47,8 +47,8 @@ node scripts/utils/postprocess-files.cjs # make sure that nothing crashes when we require the output CJS or # import the output ESM -(cd dist && node -e 'require("browserbase")') -(cd dist && node -e 'import("browserbase")' --input-type=module) +(cd dist && node -e 'require("@browserbasehq/sdk")') +(cd dist && node -e 'import("@browserbasehq/sdk")' --input-type=module) if command -v deno &> /dev/null && [ -e ./scripts/build-deno ] then diff --git a/scripts/utils/postprocess-files.cjs b/scripts/utils/postprocess-files.cjs index 9125f4ee..6dee0435 100644 --- a/scripts/utils/postprocess-files.cjs +++ b/scripts/utils/postprocess-files.cjs @@ -2,7 +2,7 @@ const fs = require('fs'); const path = require('path'); const { parse } = require('@typescript-eslint/parser'); -const pkgImportPath = process.env['PKG_IMPORT_PATH'] ?? 'browserbase/'; +const pkgImportPath = process.env['PKG_IMPORT_PATH'] ?? '@browserbasehq/sdk/'; const distDir = process.env['DIST_PATH'] ? @@ -142,7 +142,7 @@ async function postprocess() { if (file.endsWith('.d.ts')) { // work around bad tsc behavior - // if we have `import { type Readable } from 'browserbase/_shims/index'`, + // if we have `import { type Readable } from '@browserbasehq/sdk/_shims/index'`, // tsc sometimes replaces `Readable` with `import("stream").Readable` inline // in the output .d.ts transformed = transformed.replace(/import\("stream"\).Readable/g, 'Readable'); diff --git a/src/_shims/README.md b/src/_shims/README.md index 5a177ab0..3c78493d 100644 --- a/src/_shims/README.md +++ b/src/_shims/README.md @@ -1,9 +1,9 @@ # 👋 Wondering what everything in here does? -`browserbase` supports a wide variety of runtime environments like Node.js, Deno, Bun, browsers, and various +`@browserbasehq/sdk` supports a wide variety of runtime environments like Node.js, Deno, Bun, browsers, and various edge runtimes, as well as both CommonJS (CJS) and EcmaScript Modules (ESM). -To do this, `browserbase` provides shims for either using `node-fetch` when in Node (because `fetch` is still experimental there) or the global `fetch` API built into the environment when not in Node. +To do this, `@browserbasehq/sdk` provides shims for either using `node-fetch` when in Node (because `fetch` is still experimental there) or the global `fetch` API built into the environment when not in Node. It uses [conditional exports](https://nodejs.org/api/packages.html#conditional-exports) to automatically select the correct shims for each environment. However, conditional exports are a fairly new @@ -15,32 +15,32 @@ getting the wrong raw `Response` type from `.asResponse()`, for example. The user can work around these issues by manually importing one of: -- `import 'browserbase/shims/node'` -- `import 'browserbase/shims/web'` +- `import '@browserbasehq/sdk/shims/node'` +- `import '@browserbasehq/sdk/shims/web'` All of the code here in `_shims` handles selecting the automatic default shims or manual overrides. ### How it works - Runtime -Runtime shims get installed by calling `setShims` exported by `browserbase/_shims/registry`. +Runtime shims get installed by calling `setShims` exported by `@browserbasehq/sdk/_shims/registry`. -Manually importing `browserbase/shims/node` or `browserbase/shims/web`, calls `setShims` with the respective runtime shims. +Manually importing `@browserbasehq/sdk/shims/node` or `@browserbasehq/sdk/shims/web`, calls `setShims` with the respective runtime shims. -All client code imports shims from `browserbase/_shims/index`, which: +All client code imports shims from `@browserbasehq/sdk/_shims/index`, which: - checks if shims have been set manually -- if not, calls `setShims` with the shims from `browserbase/_shims/auto/runtime` -- re-exports the installed shims from `browserbase/_shims/registry`. +- if not, calls `setShims` with the shims from `@browserbasehq/sdk/_shims/auto/runtime` +- re-exports the installed shims from `@browserbasehq/sdk/_shims/registry`. -`browserbase/_shims/auto/runtime` exports web runtime shims. -If the `node` export condition is set, the export map replaces it with `browserbase/_shims/auto/runtime-node`. +`@browserbasehq/sdk/_shims/auto/runtime` exports web runtime shims. +If the `node` export condition is set, the export map replaces it with `@browserbasehq/sdk/_shims/auto/runtime-node`. ### How it works - Type time -All client code imports shim types from `browserbase/_shims/index`, which selects the manual types from `browserbase/_shims/manual-types` if they have been declared, otherwise it exports the auto types from `browserbase/_shims/auto/types`. +All client code imports shim types from `@browserbasehq/sdk/_shims/index`, which selects the manual types from `@browserbasehq/sdk/_shims/manual-types` if they have been declared, otherwise it exports the auto types from `@browserbasehq/sdk/_shims/auto/types`. -`browserbase/_shims/manual-types` exports an empty namespace. -Manually importing `browserbase/shims/node` or `browserbase/shims/web` merges declarations into this empty namespace, so they get picked up by `browserbase/_shims/index`. +`@browserbasehq/sdk/_shims/manual-types` exports an empty namespace. +Manually importing `@browserbasehq/sdk/shims/node` or `@browserbasehq/sdk/shims/web` merges declarations into this empty namespace, so they get picked up by `@browserbasehq/sdk/_shims/index`. -`browserbase/_shims/auto/types` exports web type definitions. -If the `node` export condition is set, the export map replaces it with `browserbase/_shims/auto/types-node`, though TS only picks this up if `"moduleResolution": "nodenext"` or `"moduleResolution": "bundler"`. +`@browserbasehq/sdk/_shims/auto/types` exports web type definitions. +If the `node` export condition is set, the export map replaces it with `@browserbasehq/sdk/_shims/auto/types-node`, though TS only picks this up if `"moduleResolution": "nodenext"` or `"moduleResolution": "bundler"`. diff --git a/src/_shims/index.d.ts b/src/_shims/index.d.ts index 2dab496c..c29daacd 100644 --- a/src/_shims/index.d.ts +++ b/src/_shims/index.d.ts @@ -2,7 +2,7 @@ * Disclaimer: modules in _shims aren't intended to be imported by SDK users. */ import { manual } from './manual-types'; -import * as auto from 'browserbase/_shims/auto/types'; +import * as auto from '@browserbasehq/sdk/_shims/auto/types'; import { type RequestOptions } from '../core'; type SelectType = unknown extends Manual ? Auto : Manual; diff --git a/src/_shims/index.js b/src/_shims/index.js index 7ed33cb2..6fb425d7 100644 --- a/src/_shims/index.js +++ b/src/_shims/index.js @@ -2,7 +2,7 @@ * Disclaimer: modules in _shims aren't intended to be imported by SDK users. */ const shims = require('./registry'); -const auto = require('browserbase/_shims/auto/runtime'); +const auto = require('@browserbasehq/sdk/_shims/auto/runtime'); if (!shims.kind) shims.setShims(auto.getRuntime(), { auto: true }); for (const property of Object.keys(shims)) { Object.defineProperty(exports, property, { diff --git a/src/_shims/index.mjs b/src/_shims/index.mjs index 9b539910..dd204385 100644 --- a/src/_shims/index.mjs +++ b/src/_shims/index.mjs @@ -2,6 +2,6 @@ * Disclaimer: modules in _shims aren't intended to be imported by SDK users. */ import * as shims from './registry.mjs'; -import * as auto from 'browserbase/_shims/auto/runtime'; +import * as auto from '@browserbasehq/sdk/_shims/auto/runtime'; if (!shims.kind) shims.setShims(auto.getRuntime(), { auto: true }); export * from './registry.mjs'; diff --git a/src/_shims/manual-types.d.ts b/src/_shims/manual-types.d.ts index bbae12da..f11327d2 100644 --- a/src/_shims/manual-types.d.ts +++ b/src/_shims/manual-types.d.ts @@ -4,8 +4,8 @@ /** * Types will get added to this namespace when you import one of the following: * - * import 'browserbase/shims/node' - * import 'browserbase/shims/web' + * import '@browserbasehq/sdk/shims/node' + * import '@browserbasehq/sdk/shims/web' * * Importing more than one will cause type and runtime errors. */ diff --git a/src/_shims/registry.ts b/src/_shims/registry.ts index 60fddf09..0fd08431 100644 --- a/src/_shims/registry.ts +++ b/src/_shims/registry.ts @@ -42,12 +42,12 @@ export let isFsReadStream: Shims['isFsReadStream'] | undefined = undefined; export function setShims(shims: Shims, options: { auto: boolean } = { auto: false }) { if (auto) { throw new Error( - `you must \`import 'browserbase/shims/${shims.kind}'\` before importing anything else from browserbase`, + `you must \`import '@browserbasehq/sdk/shims/${shims.kind}'\` before importing anything else from @browserbasehq/sdk`, ); } if (kind) { throw new Error( - `can't \`import 'browserbase/shims/${shims.kind}'\` after \`import 'browserbase/shims/${kind}'\``, + `can't \`import '@browserbasehq/sdk/shims/${shims.kind}'\` after \`import '@browserbasehq/sdk/shims/${kind}'\``, ); } auto = options.auto; diff --git a/src/_shims/web-runtime.ts b/src/_shims/web-runtime.ts index ced67c2c..c566ad2f 100644 --- a/src/_shims/web-runtime.ts +++ b/src/_shims/web-runtime.ts @@ -9,9 +9,9 @@ export function getRuntime({ manuallyImported }: { manuallyImported?: boolean } const recommendation = manuallyImported ? `You may need to use polyfills` - : `Add one of these imports before your first \`import … from 'browserbase'\`: -- \`import 'browserbase/shims/node'\` (if you're running on Node) -- \`import 'browserbase/shims/web'\` (otherwise) + : `Add one of these imports before your first \`import … from '@browserbasehq/sdk'\`: +- \`import '@browserbasehq/sdk/shims/node'\` (if you're running on Node) +- \`import '@browserbasehq/sdk/shims/web'\` (otherwise) `; let _fetch, _Request, _Response, _Headers; diff --git a/src/core.ts b/src/core.ts index 7b187b12..e21eafe5 100644 --- a/src/core.ts +++ b/src/core.ts @@ -99,9 +99,9 @@ export class APIPromise extends Promise { * * 👋 Getting the wrong TypeScript type for `Response`? * Try setting `"moduleResolution": "NodeNext"` if you can, - * or add one of these imports before your first `import … from 'browserbase'`: - * - `import 'browserbase/shims/node'` (if you're running on Node) - * - `import 'browserbase/shims/web'` (otherwise) + * or add one of these imports before your first `import … from '@browserbasehq/sdk'`: + * - `import '@browserbasehq/sdk/shims/node'` (if you're running on Node) + * - `import '@browserbasehq/sdk/shims/web'` (otherwise) */ asResponse(): Promise { return this.responsePromise.then((p) => p.response); @@ -115,9 +115,9 @@ export class APIPromise extends Promise { * * 👋 Getting the wrong TypeScript type for `Response`? * Try setting `"moduleResolution": "NodeNext"` if you can, - * or add one of these imports before your first `import … from 'browserbase'`: - * - `import 'browserbase/shims/node'` (if you're running on Node) - * - `import 'browserbase/shims/web'` (otherwise) + * or add one of these imports before your first `import … from '@browserbasehq/sdk'`: + * - `import '@browserbasehq/sdk/shims/node'` (if you're running on Node) + * - `import '@browserbasehq/sdk/shims/web'` (otherwise) */ async withResponse(): Promise<{ data: T; response: Response }> { const [data, response] = await Promise.all([this.parse(), this.asResponse()]); diff --git a/tests/api-resources/contexts.test.ts b/tests/api-resources/contexts.test.ts index 5f078be1..1f12d89f 100644 --- a/tests/api-resources/contexts.test.ts +++ b/tests/api-resources/contexts.test.ts @@ -1,6 +1,6 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import Browserbase from 'browserbase'; +import Browserbase from '@browserbasehq/sdk'; import { Response } from 'node-fetch'; const client = new Browserbase({ diff --git a/tests/api-resources/extensions.test.ts b/tests/api-resources/extensions.test.ts index 972610ba..f839e395 100644 --- a/tests/api-resources/extensions.test.ts +++ b/tests/api-resources/extensions.test.ts @@ -1,6 +1,6 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import Browserbase, { toFile } from 'browserbase'; +import Browserbase, { toFile } from '@browserbasehq/sdk'; import { Response } from 'node-fetch'; const client = new Browserbase({ diff --git a/tests/api-resources/projects.test.ts b/tests/api-resources/projects.test.ts index 91bab5ff..bd106995 100644 --- a/tests/api-resources/projects.test.ts +++ b/tests/api-resources/projects.test.ts @@ -1,6 +1,6 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import Browserbase from 'browserbase'; +import Browserbase from '@browserbasehq/sdk'; import { Response } from 'node-fetch'; const client = new Browserbase({ diff --git a/tests/api-resources/sessions/downloads.test.ts b/tests/api-resources/sessions/downloads.test.ts index 47b3accf..ca52b545 100644 --- a/tests/api-resources/sessions/downloads.test.ts +++ b/tests/api-resources/sessions/downloads.test.ts @@ -1,6 +1,6 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import Browserbase from 'browserbase'; +import Browserbase from '@browserbasehq/sdk'; const client = new Browserbase({ apiKey: 'My API Key', diff --git a/tests/api-resources/sessions/logs.test.ts b/tests/api-resources/sessions/logs.test.ts index 4a980d04..bd5d7383 100644 --- a/tests/api-resources/sessions/logs.test.ts +++ b/tests/api-resources/sessions/logs.test.ts @@ -1,6 +1,6 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import Browserbase from 'browserbase'; +import Browserbase from '@browserbasehq/sdk'; import { Response } from 'node-fetch'; const client = new Browserbase({ diff --git a/tests/api-resources/sessions/recording.test.ts b/tests/api-resources/sessions/recording.test.ts index ac8c010e..bdb7eb54 100644 --- a/tests/api-resources/sessions/recording.test.ts +++ b/tests/api-resources/sessions/recording.test.ts @@ -1,6 +1,6 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import Browserbase from 'browserbase'; +import Browserbase from '@browserbasehq/sdk'; import { Response } from 'node-fetch'; const client = new Browserbase({ diff --git a/tests/api-resources/sessions/sessions.test.ts b/tests/api-resources/sessions/sessions.test.ts index 87198ee2..6546c421 100644 --- a/tests/api-resources/sessions/sessions.test.ts +++ b/tests/api-resources/sessions/sessions.test.ts @@ -1,6 +1,6 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import Browserbase from 'browserbase'; +import Browserbase from '@browserbasehq/sdk'; import { Response } from 'node-fetch'; const client = new Browserbase({ diff --git a/tests/api-resources/sessions/uploads.test.ts b/tests/api-resources/sessions/uploads.test.ts index f03eb708..c5872c31 100644 --- a/tests/api-resources/sessions/uploads.test.ts +++ b/tests/api-resources/sessions/uploads.test.ts @@ -1,6 +1,6 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import Browserbase, { toFile } from 'browserbase'; +import Browserbase, { toFile } from '@browserbasehq/sdk'; import { Response } from 'node-fetch'; const client = new Browserbase({ diff --git a/tests/form.test.ts b/tests/form.test.ts index 49b7dfeb..9483f316 100644 --- a/tests/form.test.ts +++ b/tests/form.test.ts @@ -1,6 +1,6 @@ -import { multipartFormRequestOptions, createForm } from 'browserbase/core'; -import { Blob } from 'browserbase/_shims/index'; -import { toFile } from 'browserbase'; +import { multipartFormRequestOptions, createForm } from '@browserbasehq/sdk/core'; +import { Blob } from '@browserbasehq/sdk/_shims/index'; +import { toFile } from '@browserbasehq/sdk'; describe('form data validation', () => { test('valid values do not error', async () => { diff --git a/tests/index.test.ts b/tests/index.test.ts index 2603353e..6a4c87c7 100644 --- a/tests/index.test.ts +++ b/tests/index.test.ts @@ -1,8 +1,8 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import Browserbase from 'browserbase'; -import { APIUserAbortError } from 'browserbase'; -import { Headers } from 'browserbase/core'; +import Browserbase from '@browserbasehq/sdk'; +import { APIUserAbortError } from '@browserbasehq/sdk'; +import { Headers } from '@browserbasehq/sdk/core'; import defaultFetch, { Response, type RequestInit, type RequestInfo } from 'node-fetch'; describe('instantiate client', () => { diff --git a/tests/responses.test.ts b/tests/responses.test.ts index 61ee6753..56375bbc 100644 --- a/tests/responses.test.ts +++ b/tests/responses.test.ts @@ -1,5 +1,5 @@ -import { createResponseHeaders } from 'browserbase/core'; -import { Headers } from 'browserbase/_shims/index'; +import { createResponseHeaders } from '@browserbasehq/sdk/core'; +import { Headers } from '@browserbasehq/sdk/_shims/index'; describe('response parsing', () => { // TODO: test unicode characters diff --git a/tests/stringifyQuery.test.ts b/tests/stringifyQuery.test.ts index 953658b0..e5433927 100644 --- a/tests/stringifyQuery.test.ts +++ b/tests/stringifyQuery.test.ts @@ -1,6 +1,6 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import { Browserbase } from 'browserbase'; +import { Browserbase } from '@browserbasehq/sdk'; const { stringifyQuery } = Browserbase.prototype as any; diff --git a/tests/uploads.test.ts b/tests/uploads.test.ts index e9601861..77c34a13 100644 --- a/tests/uploads.test.ts +++ b/tests/uploads.test.ts @@ -1,6 +1,6 @@ import fs from 'fs'; -import { toFile, type ResponseLike } from 'browserbase/uploads'; -import { File } from 'browserbase/_shims/index'; +import { toFile, type ResponseLike } from '@browserbasehq/sdk/uploads'; +import { File } from '@browserbasehq/sdk/_shims/index'; class MyClass { name: string = 'foo'; diff --git a/tsconfig.build.json b/tsconfig.build.json index 673e071a..9429fd28 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -5,8 +5,8 @@ "compilerOptions": { "rootDir": "./dist/src", "paths": { - "browserbase/*": ["dist/src/*"], - "browserbase": ["dist/src/index.ts"], + "@browserbasehq/sdk/*": ["dist/src/*"], + "@browserbasehq/sdk": ["dist/src/index.ts"], }, "noEmit": false, "declaration": true, diff --git a/tsconfig.deno.json b/tsconfig.deno.json index c85be279..8af27c03 100644 --- a/tsconfig.deno.json +++ b/tsconfig.deno.json @@ -6,9 +6,9 @@ "rootDir": "./deno", "lib": ["es2020", "DOM"], "paths": { - "browserbase/_shims/auto/*": ["deno/_shims/auto/*-deno"], - "browserbase/*": ["deno/*"], - "browserbase": ["deno/index.ts"], + "@browserbasehq/sdk/_shims/auto/*": ["deno/_shims/auto/*-deno"], + "@browserbasehq/sdk/*": ["deno/*"], + "@browserbasehq/sdk": ["deno/index.ts"], }, "noEmit": true, "declaration": true, diff --git a/tsconfig.json b/tsconfig.json index cf13fa1d..cdb5b065 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -9,9 +9,9 @@ "esModuleInterop": true, "baseUrl": "./", "paths": { - "browserbase/_shims/auto/*": ["src/_shims/auto/*-node"], - "browserbase/*": ["src/*"], - "browserbase": ["src/index.ts"], + "@browserbasehq/sdk/_shims/auto/*": ["src/_shims/auto/*-node"], + "@browserbasehq/sdk/*": ["src/*"], + "@browserbasehq/sdk": ["src/index.ts"], }, "noEmit": true,