diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 95e91fd..129e87b 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1,12 +1,14 @@
name: CI
on:
push:
- branches-ignore:
- - 'generated'
- - 'codegen/**'
- - 'integrated/**'
- - 'stl-preview-head/**'
- - 'stl-preview-base/**'
+ branches:
+ - '**'
+ - '!integrated/**'
+ - '!stl-preview-head/**'
+ - '!stl-preview-base/**'
+ - '!generated'
+ - '!codegen/**'
+ - 'codegen/stl/**'
pull_request:
branches-ignore:
- 'stl-preview-head/**'
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 2ff8218..b470c2a 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.43.0"
+ ".": "0.44.0"
}
diff --git a/.stats.yml b/.stats.yml
index ae22a71..be60802 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
-configured_endpoints: 103
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-bda5e58fa0bbd08761f27a1e0edbc602c44141ac9483bf6c96d52b7f4d10d9a7.yml
-openapi_spec_hash: 10833b36358e8cda023e5bb0abeab0ba
-config_hash: cff4d43372b6fa66b64e2d4150f6aa76
+configured_endpoints: 104
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-bb2ac8e0d3a1c08e8afcbcbad7cb733d0f84bd22a8d233c1ec3100a01ee078ae.yml
+openapi_spec_hash: a83f7d1c422c85d6dc6158af7afe1d09
+config_hash: 16e4457a0bb26e98a335a1c2a572290a
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4ae0911..079c2d2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,23 @@
# Changelog
+## 0.44.0 (2026-03-20)
+
+Full Changelog: [v0.43.0...v0.44.0](https://github.com/kernel/kernel-node-sdk/compare/v0.43.0...v0.44.0)
+
+### Features
+
+* Add GPU viewport presets and GPU encoder defaults ([693e4f6](https://github.com/kernel/kernel-node-sdk/commit/693e4f6cdd4d2db7524c2ff22ec99c2013cf6279))
+* Adds description to OAS spec for docs about delta_x, delta_y ([7aa9d1e](https://github.com/kernel/kernel-node-sdk/commit/7aa9d1eed6890de62f92edac3bbccff8565b1d57))
+* Drop headless GPU support and disable pooling ([762670e](https://github.com/kernel/kernel-node-sdk/commit/762670ef4e3c6126a4c541eb67f49b2565504e40))
+* Enhance managed authentication with CUA support and new features ([2d89c68](https://github.com/kernel/kernel-node-sdk/commit/2d89c683d2cb4249dfea19407bc5064dd8bb9131))
+* expose smooth drag mouse movement via public API ([b9911dd](https://github.com/kernel/kernel-node-sdk/commit/b9911dd1c37610192c9ef70e1344f7b93a191f24))
+* Rename hardware acceleration UI/docs wording to GPU acceleration ([1d22910](https://github.com/kernel/kernel-node-sdk/commit/1d22910d61a9baec560384fd0485fc0bb9216371))
+
+
+### Chores
+
+* **internal:** tweak CI branches ([256d3ff](https://github.com/kernel/kernel-node-sdk/commit/256d3ff87c9744a8017a4fa93e21ec05118dbfca))
+
## 0.43.0 (2026-03-10)
Full Changelog: [v0.42.1...v0.43.0](https://github.com/kernel/kernel-node-sdk/compare/v0.42.1...v0.43.0)
diff --git a/api.md b/api.md
index efe009c..383b68b 100644
--- a/api.md
+++ b/api.md
@@ -214,6 +214,7 @@ Types:
- LoginResponse
- ManagedAuth
- ManagedAuthCreateRequest
+- ManagedAuthUpdateRequest
- SubmitFieldsRequest
- SubmitFieldsResponse
- ConnectionFollowResponse
@@ -222,6 +223,7 @@ Methods:
- client.auth.connections.create({ ...params }) -> ManagedAuth
- client.auth.connections.retrieve(id) -> ManagedAuth
+- client.auth.connections.update(id, { ...params }) -> ManagedAuth
- client.auth.connections.list({ ...params }) -> ManagedAuthsOffsetPagination
- client.auth.connections.delete(id) -> void
- client.auth.connections.follow(id) -> ConnectionFollowResponse
diff --git a/package-lock.json b/package-lock.json
index 6efba2a..dd614ae 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "@onkernel/sdk",
- "version": "0.43.0",
+ "version": "0.44.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@onkernel/sdk",
- "version": "0.43.0",
+ "version": "0.44.0",
"license": "Apache-2.0",
"devDependencies": {
"@arethetypeswrong/cli": "^0.17.0",
diff --git a/package.json b/package.json
index af7875f..de4caad 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@onkernel/sdk",
- "version": "0.43.0",
+ "version": "0.44.0",
"description": "The official TypeScript library for the Kernel API",
"author": "Kernel <>",
"types": "dist/index.d.ts",
diff --git a/src/resources/auth/auth.ts b/src/resources/auth/auth.ts
index ee5d2fa..ad3d8de 100644
--- a/src/resources/auth/auth.ts
+++ b/src/resources/auth/auth.ts
@@ -8,10 +8,12 @@ import {
ConnectionListParams,
ConnectionLoginParams,
ConnectionSubmitParams,
+ ConnectionUpdateParams,
Connections,
LoginResponse,
ManagedAuth,
ManagedAuthCreateRequest,
+ ManagedAuthUpdateRequest,
ManagedAuthsOffsetPagination,
SubmitFieldsRequest,
SubmitFieldsResponse,
@@ -29,11 +31,13 @@ export declare namespace Auth {
type LoginResponse as LoginResponse,
type ManagedAuth as ManagedAuth,
type ManagedAuthCreateRequest as ManagedAuthCreateRequest,
+ type ManagedAuthUpdateRequest as ManagedAuthUpdateRequest,
type SubmitFieldsRequest as SubmitFieldsRequest,
type SubmitFieldsResponse as SubmitFieldsResponse,
type ConnectionFollowResponse as ConnectionFollowResponse,
type ManagedAuthsOffsetPagination as ManagedAuthsOffsetPagination,
type ConnectionCreateParams as ConnectionCreateParams,
+ type ConnectionUpdateParams as ConnectionUpdateParams,
type ConnectionListParams as ConnectionListParams,
type ConnectionLoginParams as ConnectionLoginParams,
type ConnectionSubmitParams as ConnectionSubmitParams,
diff --git a/src/resources/auth/connections.ts b/src/resources/auth/connections.ts
index 6f4dc1b..55f35bf 100644
--- a/src/resources/auth/connections.ts
+++ b/src/resources/auth/connections.ts
@@ -44,6 +44,21 @@ export class Connections extends APIResource {
return this._client.get(path`/auth/connections/${id}`, options);
}
+ /**
+ * Update an auth connection's configuration. Only the fields provided will be
+ * updated.
+ *
+ * @example
+ * ```ts
+ * const managedAuth = await client.auth.connections.update(
+ * 'id',
+ * );
+ * ```
+ */
+ update(id: string, body: ConnectionUpdateParams, options?: RequestOptions): APIPromise {
+ return this._client.patch(path`/auth/connections/${id}`, { body, ...options });
+ }
+
/**
* List auth connections with optional filters for profile_name and domain.
*
@@ -340,6 +355,12 @@ export interface ManagedAuth {
*/
proxy_id?: string;
+ /**
+ * Non-MFA choices presented during the auth flow, such as account selection or org
+ * pickers (present when flow_step=awaiting_input).
+ */
+ sign_in_options?: Array | null;
+
/**
* SSO provider being used (e.g., google, github, microsoft)
*/
@@ -467,6 +488,27 @@ export namespace ManagedAuth {
*/
selector: string;
}
+
+ /**
+ * A non-MFA choice presented during the auth flow (e.g. account selection, org
+ * picker)
+ */
+ export interface SignInOption {
+ /**
+ * Unique identifier for this option (used to submit selection back)
+ */
+ id: string;
+
+ /**
+ * Display text for the option
+ */
+ label: string;
+
+ /**
+ * Additional context such as email address or org name
+ */
+ description?: string | null;
+ }
}
/**
@@ -588,8 +630,96 @@ export namespace ManagedAuthCreateRequest {
}
/**
- * Request to submit field values, click an SSO button, or select an MFA method.
- * Provide exactly one of fields, sso_button_selector, or mfa_option_id.
+ * Request to update an auth connection's configuration
+ */
+export interface ManagedAuthUpdateRequest {
+ /**
+ * Additional domains valid for this auth flow (replaces existing list)
+ */
+ allowed_domains?: Array;
+
+ /**
+ * Reference to credentials for the auth connection. Use one of:
+ *
+ * - { name } for Kernel credentials
+ * - { provider, path } for external provider item
+ * - { provider, auto: true } for external provider domain lookup
+ */
+ credential?: ManagedAuthUpdateRequest.Credential;
+
+ /**
+ * Interval in seconds between automatic health checks
+ */
+ health_check_interval?: number;
+
+ /**
+ * Login page URL. Set to empty string to clear.
+ */
+ login_url?: string;
+
+ /**
+ * Proxy selection. Provide either id or name. The proxy must belong to the
+ * caller's org.
+ */
+ proxy?: ManagedAuthUpdateRequest.Proxy;
+
+ /**
+ * Whether to save credentials after every successful login
+ */
+ save_credentials?: boolean;
+}
+
+export namespace ManagedAuthUpdateRequest {
+ /**
+ * Reference to credentials for the auth connection. Use one of:
+ *
+ * - { name } for Kernel credentials
+ * - { provider, path } for external provider item
+ * - { provider, auto: true } for external provider domain lookup
+ */
+ export interface Credential {
+ /**
+ * If true, lookup by domain from the specified provider
+ */
+ auto?: boolean;
+
+ /**
+ * Kernel credential name
+ */
+ name?: string;
+
+ /**
+ * Provider-specific path (e.g., "VaultName/ItemName" for 1Password)
+ */
+ path?: string;
+
+ /**
+ * External provider name (e.g., "my-1p")
+ */
+ provider?: string;
+ }
+
+ /**
+ * Proxy selection. Provide either id or name. The proxy must belong to the
+ * caller's org.
+ */
+ export interface Proxy {
+ /**
+ * Proxy ID
+ */
+ id?: string;
+
+ /**
+ * Proxy name
+ */
+ name?: string;
+ }
+}
+
+/**
+ * Request to submit field values, click an SSO button, select an MFA method, or
+ * select a sign-in option. Provide exactly one of fields, sso_button_selector,
+ * sso_provider, mfa_option_id, or sign_in_option_id.
*/
export interface SubmitFieldsRequest {
/**
@@ -598,14 +728,26 @@ export interface SubmitFieldsRequest {
fields?: { [key: string]: string };
/**
- * Optional MFA option ID if user selected an MFA method
+ * The MFA method type to select (when mfa_options were returned)
*/
mfa_option_id?: string;
/**
- * Optional XPath selector if user chose to click an SSO button instead
+ * The sign-in option ID to select (when sign_in_options were returned)
+ */
+ sign_in_option_id?: string;
+
+ /**
+ * XPath selector for the SSO button to click (ODA). Use sso_provider instead for
+ * CUA.
*/
sso_button_selector?: string;
+
+ /**
+ * SSO provider to click, matching the provider field from pending_sso_buttons
+ * (e.g., "google", "github"). Cannot be used with sso_button_selector.
+ */
+ sso_provider?: string;
}
/**
@@ -703,6 +845,12 @@ export namespace ConnectionFollowResponse {
*/
post_login_url?: string;
+ /**
+ * Non-MFA choices presented during the auth flow, such as account selection or org
+ * pickers (present when flow_step=AWAITING_INPUT).
+ */
+ sign_in_options?: Array;
+
/**
* Visible error message from the website (e.g., 'Incorrect password'). Present
* when the website displays an error during login.
@@ -796,6 +944,27 @@ export namespace ConnectionFollowResponse {
*/
selector: string;
}
+
+ /**
+ * A non-MFA choice presented during the auth flow (e.g. account selection, org
+ * picker)
+ */
+ export interface SignInOption {
+ /**
+ * Unique identifier for this option (used to submit selection back)
+ */
+ id: string;
+
+ /**
+ * Display text for the option
+ */
+ label: string;
+
+ /**
+ * Additional context such as email address or org name
+ */
+ description?: string | null;
+ }
}
}
@@ -914,6 +1083,90 @@ export namespace ConnectionCreateParams {
}
}
+export interface ConnectionUpdateParams {
+ /**
+ * Additional domains valid for this auth flow (replaces existing list)
+ */
+ allowed_domains?: Array;
+
+ /**
+ * Reference to credentials for the auth connection. Use one of:
+ *
+ * - { name } for Kernel credentials
+ * - { provider, path } for external provider item
+ * - { provider, auto: true } for external provider domain lookup
+ */
+ credential?: ConnectionUpdateParams.Credential;
+
+ /**
+ * Interval in seconds between automatic health checks
+ */
+ health_check_interval?: number;
+
+ /**
+ * Login page URL. Set to empty string to clear.
+ */
+ login_url?: string;
+
+ /**
+ * Proxy selection. Provide either id or name. The proxy must belong to the
+ * caller's org.
+ */
+ proxy?: ConnectionUpdateParams.Proxy;
+
+ /**
+ * Whether to save credentials after every successful login
+ */
+ save_credentials?: boolean;
+}
+
+export namespace ConnectionUpdateParams {
+ /**
+ * Reference to credentials for the auth connection. Use one of:
+ *
+ * - { name } for Kernel credentials
+ * - { provider, path } for external provider item
+ * - { provider, auto: true } for external provider domain lookup
+ */
+ export interface Credential {
+ /**
+ * If true, lookup by domain from the specified provider
+ */
+ auto?: boolean;
+
+ /**
+ * Kernel credential name
+ */
+ name?: string;
+
+ /**
+ * Provider-specific path (e.g., "VaultName/ItemName" for 1Password)
+ */
+ path?: string;
+
+ /**
+ * External provider name (e.g., "my-1p")
+ */
+ provider?: string;
+ }
+
+ /**
+ * Proxy selection. Provide either id or name. The proxy must belong to the
+ * caller's org.
+ */
+ export interface Proxy {
+ /**
+ * Proxy ID
+ */
+ id?: string;
+
+ /**
+ * Proxy name
+ */
+ name?: string;
+ }
+}
+
export interface ConnectionListParams extends OffsetPaginationParams {
/**
* Filter by domain
@@ -959,14 +1212,26 @@ export interface ConnectionSubmitParams {
fields?: { [key: string]: string };
/**
- * Optional MFA option ID if user selected an MFA method
+ * The MFA method type to select (when mfa_options were returned)
*/
mfa_option_id?: string;
/**
- * Optional XPath selector if user chose to click an SSO button instead
+ * The sign-in option ID to select (when sign_in_options were returned)
+ */
+ sign_in_option_id?: string;
+
+ /**
+ * XPath selector for the SSO button to click (ODA). Use sso_provider instead for
+ * CUA.
*/
sso_button_selector?: string;
+
+ /**
+ * SSO provider to click, matching the provider field from pending_sso_buttons
+ * (e.g., "google", "github"). Cannot be used with sso_button_selector.
+ */
+ sso_provider?: string;
}
export declare namespace Connections {
@@ -974,11 +1239,13 @@ export declare namespace Connections {
type LoginResponse as LoginResponse,
type ManagedAuth as ManagedAuth,
type ManagedAuthCreateRequest as ManagedAuthCreateRequest,
+ type ManagedAuthUpdateRequest as ManagedAuthUpdateRequest,
type SubmitFieldsRequest as SubmitFieldsRequest,
type SubmitFieldsResponse as SubmitFieldsResponse,
type ConnectionFollowResponse as ConnectionFollowResponse,
type ManagedAuthsOffsetPagination as ManagedAuthsOffsetPagination,
type ConnectionCreateParams as ConnectionCreateParams,
+ type ConnectionUpdateParams as ConnectionUpdateParams,
type ConnectionListParams as ConnectionListParams,
type ConnectionLoginParams as ConnectionLoginParams,
type ConnectionSubmitParams as ConnectionSubmitParams,
diff --git a/src/resources/auth/index.ts b/src/resources/auth/index.ts
index d71236b..a8a6bfe 100644
--- a/src/resources/auth/index.ts
+++ b/src/resources/auth/index.ts
@@ -6,10 +6,12 @@ export {
type LoginResponse,
type ManagedAuth,
type ManagedAuthCreateRequest,
+ type ManagedAuthUpdateRequest,
type SubmitFieldsRequest,
type SubmitFieldsResponse,
type ConnectionFollowResponse,
type ConnectionCreateParams,
+ type ConnectionUpdateParams,
type ConnectionListParams,
type ConnectionLoginParams,
type ConnectionSubmitParams,
diff --git a/src/resources/browser-pools.ts b/src/resources/browser-pools.ts
index 16a8c72..adae577 100644
--- a/src/resources/browser-pools.ts
+++ b/src/resources/browser-pools.ts
@@ -243,9 +243,13 @@ export namespace BrowserPool {
/**
* Initial browser window size in pixels with optional refresh rate. If omitted,
- * image defaults apply (1920x1080@25). Arbitrary viewport dimensions are accepted,
- * but the following configurations are known-good and fully tested: 2560x1440@10,
- * 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60.
+ * image defaults apply (1920x1080@25). For GPU images, the default is
+ * 1920x1080@60. Arbitrary viewport dimensions and refresh rates are accepted.
+ * Known-good presets include: 2560x1440@10, 1920x1080@25, 1920x1200@25,
+ * 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60. For GPU images, recommended
+ * presets use one of these resolutions with refresh rates 60, 30, 25, or 10:
+ * 800x600, 960x720, 1024x576, 1024x768, 1152x648, 1200x800, 1280x720, 1368x768,
+ * 1440x900, 1600x900, 1920x1080, 1920x1200, 390x844, 360x250, 768x1024, 800x1600.
* Viewports outside this list may exhibit unstable live view or recording
* behavior. If refresh_rate is not provided, it will be automatically determined
* based on the resolution (higher resolutions use lower refresh rates to keep
@@ -305,7 +309,8 @@ export interface BrowserPoolAcquireResponse {
deleted_at?: string;
/**
- * Whether the browser session has hardware-accelerated GPU rendering.
+ * Whether GPU acceleration is enabled for the browser session (only supported for
+ * headful sessions).
*/
gpu?: boolean;
@@ -342,9 +347,13 @@ export interface BrowserPoolAcquireResponse {
/**
* Initial browser window size in pixels with optional refresh rate. If omitted,
- * image defaults apply (1920x1080@25). Arbitrary viewport dimensions are accepted,
- * but the following configurations are known-good and fully tested: 2560x1440@10,
- * 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60.
+ * image defaults apply (1920x1080@25). For GPU images, the default is
+ * 1920x1080@60. Arbitrary viewport dimensions and refresh rates are accepted.
+ * Known-good presets include: 2560x1440@10, 1920x1080@25, 1920x1200@25,
+ * 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60. For GPU images, recommended
+ * presets use one of these resolutions with refresh rates 60, 30, 25, or 10:
+ * 800x600, 960x720, 1024x576, 1024x768, 1152x648, 1200x800, 1280x720, 1368x768,
+ * 1440x900, 1600x900, 1920x1080, 1920x1200, 390x844, 360x250, 768x1024, 800x1600.
* Viewports outside this list may exhibit unstable live view or recording
* behavior. If refresh_rate is not provided, it will be automatically determined
* based on the resolution (higher resolutions use lower refresh rates to keep
@@ -414,9 +423,13 @@ export interface BrowserPoolCreateParams {
/**
* Initial browser window size in pixels with optional refresh rate. If omitted,
- * image defaults apply (1920x1080@25). Arbitrary viewport dimensions are accepted,
- * but the following configurations are known-good and fully tested: 2560x1440@10,
- * 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60.
+ * image defaults apply (1920x1080@25). For GPU images, the default is
+ * 1920x1080@60. Arbitrary viewport dimensions and refresh rates are accepted.
+ * Known-good presets include: 2560x1440@10, 1920x1080@25, 1920x1200@25,
+ * 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60. For GPU images, recommended
+ * presets use one of these resolutions with refresh rates 60, 30, 25, or 10:
+ * 800x600, 960x720, 1024x576, 1024x768, 1152x648, 1200x800, 1280x720, 1368x768,
+ * 1440x900, 1600x900, 1920x1080, 1920x1200, 390x844, 360x250, 768x1024, 800x1600.
* Viewports outside this list may exhibit unstable live view or recording
* behavior. If refresh_rate is not provided, it will be automatically determined
* based on the resolution (higher resolutions use lower refresh rates to keep
@@ -492,9 +505,13 @@ export interface BrowserPoolUpdateParams {
/**
* Initial browser window size in pixels with optional refresh rate. If omitted,
- * image defaults apply (1920x1080@25). Arbitrary viewport dimensions are accepted,
- * but the following configurations are known-good and fully tested: 2560x1440@10,
- * 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60.
+ * image defaults apply (1920x1080@25). For GPU images, the default is
+ * 1920x1080@60. Arbitrary viewport dimensions and refresh rates are accepted.
+ * Known-good presets include: 2560x1440@10, 1920x1080@25, 1920x1200@25,
+ * 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60. For GPU images, recommended
+ * presets use one of these resolutions with refresh rates 60, 30, 25, or 10:
+ * 800x600, 960x720, 1024x576, 1024x768, 1152x648, 1200x800, 1280x720, 1368x768,
+ * 1440x900, 1600x900, 1920x1080, 1920x1200, 390x844, 360x250, 768x1024, 800x1600.
* Viewports outside this list may exhibit unstable live view or recording
* behavior. If refresh_rate is not provided, it will be automatically determined
* based on the resolution (higher resolutions use lower refresh rates to keep
diff --git a/src/resources/browsers/browsers.ts b/src/resources/browsers/browsers.ts
index 756dbdd..99b9d28 100644
--- a/src/resources/browsers/browsers.ts
+++ b/src/resources/browsers/browsers.ts
@@ -330,7 +330,8 @@ export interface BrowserCreateResponse {
deleted_at?: string;
/**
- * Whether the browser session has hardware-accelerated GPU rendering.
+ * Whether GPU acceleration is enabled for the browser session (only supported for
+ * headful sessions).
*/
gpu?: boolean;
@@ -367,9 +368,13 @@ export interface BrowserCreateResponse {
/**
* Initial browser window size in pixels with optional refresh rate. If omitted,
- * image defaults apply (1920x1080@25). Arbitrary viewport dimensions are accepted,
- * but the following configurations are known-good and fully tested: 2560x1440@10,
- * 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60.
+ * image defaults apply (1920x1080@25). For GPU images, the default is
+ * 1920x1080@60. Arbitrary viewport dimensions and refresh rates are accepted.
+ * Known-good presets include: 2560x1440@10, 1920x1080@25, 1920x1200@25,
+ * 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60. For GPU images, recommended
+ * presets use one of these resolutions with refresh rates 60, 30, 25, or 10:
+ * 800x600, 960x720, 1024x576, 1024x768, 1152x648, 1200x800, 1280x720, 1368x768,
+ * 1440x900, 1600x900, 1920x1080, 1920x1200, 390x844, 360x250, 768x1024, 800x1600.
* Viewports outside this list may exhibit unstable live view or recording
* behavior. If refresh_rate is not provided, it will be automatically determined
* based on the resolution (higher resolutions use lower refresh rates to keep
@@ -426,7 +431,8 @@ export interface BrowserRetrieveResponse {
deleted_at?: string;
/**
- * Whether the browser session has hardware-accelerated GPU rendering.
+ * Whether GPU acceleration is enabled for the browser session (only supported for
+ * headful sessions).
*/
gpu?: boolean;
@@ -463,9 +469,13 @@ export interface BrowserRetrieveResponse {
/**
* Initial browser window size in pixels with optional refresh rate. If omitted,
- * image defaults apply (1920x1080@25). Arbitrary viewport dimensions are accepted,
- * but the following configurations are known-good and fully tested: 2560x1440@10,
- * 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60.
+ * image defaults apply (1920x1080@25). For GPU images, the default is
+ * 1920x1080@60. Arbitrary viewport dimensions and refresh rates are accepted.
+ * Known-good presets include: 2560x1440@10, 1920x1080@25, 1920x1200@25,
+ * 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60. For GPU images, recommended
+ * presets use one of these resolutions with refresh rates 60, 30, 25, or 10:
+ * 800x600, 960x720, 1024x576, 1024x768, 1152x648, 1200x800, 1280x720, 1368x768,
+ * 1440x900, 1600x900, 1920x1080, 1920x1200, 390x844, 360x250, 768x1024, 800x1600.
* Viewports outside this list may exhibit unstable live view or recording
* behavior. If refresh_rate is not provided, it will be automatically determined
* based on the resolution (higher resolutions use lower refresh rates to keep
@@ -522,7 +532,8 @@ export interface BrowserUpdateResponse {
deleted_at?: string;
/**
- * Whether the browser session has hardware-accelerated GPU rendering.
+ * Whether GPU acceleration is enabled for the browser session (only supported for
+ * headful sessions).
*/
gpu?: boolean;
@@ -559,9 +570,13 @@ export interface BrowserUpdateResponse {
/**
* Initial browser window size in pixels with optional refresh rate. If omitted,
- * image defaults apply (1920x1080@25). Arbitrary viewport dimensions are accepted,
- * but the following configurations are known-good and fully tested: 2560x1440@10,
- * 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60.
+ * image defaults apply (1920x1080@25). For GPU images, the default is
+ * 1920x1080@60. Arbitrary viewport dimensions and refresh rates are accepted.
+ * Known-good presets include: 2560x1440@10, 1920x1080@25, 1920x1200@25,
+ * 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60. For GPU images, recommended
+ * presets use one of these resolutions with refresh rates 60, 30, 25, or 10:
+ * 800x600, 960x720, 1024x576, 1024x768, 1152x648, 1200x800, 1280x720, 1368x768,
+ * 1440x900, 1600x900, 1920x1080, 1920x1200, 390x844, 360x250, 768x1024, 800x1600.
* Viewports outside this list may exhibit unstable live view or recording
* behavior. If refresh_rate is not provided, it will be automatically determined
* based on the resolution (higher resolutions use lower refresh rates to keep
@@ -618,7 +633,8 @@ export interface BrowserListResponse {
deleted_at?: string;
/**
- * Whether the browser session has hardware-accelerated GPU rendering.
+ * Whether GPU acceleration is enabled for the browser session (only supported for
+ * headful sessions).
*/
gpu?: boolean;
@@ -655,9 +671,13 @@ export interface BrowserListResponse {
/**
* Initial browser window size in pixels with optional refresh rate. If omitted,
- * image defaults apply (1920x1080@25). Arbitrary viewport dimensions are accepted,
- * but the following configurations are known-good and fully tested: 2560x1440@10,
- * 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60.
+ * image defaults apply (1920x1080@25). For GPU images, the default is
+ * 1920x1080@60. Arbitrary viewport dimensions and refresh rates are accepted.
+ * Known-good presets include: 2560x1440@10, 1920x1080@25, 1920x1200@25,
+ * 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60. For GPU images, recommended
+ * presets use one of these resolutions with refresh rates 60, 30, 25, or 10:
+ * 800x600, 960x720, 1024x576, 1024x768, 1152x648, 1200x800, 1280x720, 1368x768,
+ * 1440x900, 1600x900, 1920x1080, 1920x1200, 390x844, 360x250, 768x1024, 800x1600.
* Viewports outside this list may exhibit unstable live view or recording
* behavior. If refresh_rate is not provided, it will be automatically determined
* based on the resolution (higher resolutions use lower refresh rates to keep
@@ -673,8 +693,8 @@ export interface BrowserCreateParams {
extensions?: Array;
/**
- * If true, launches a hardware-accelerated browser with GPU rendering. Requires
- * Start-Up or Enterprise plan.
+ * If true, enables GPU acceleration for the browser session. Requires Start-Up or
+ * Enterprise plan and headless=false.
*/
gpu?: boolean;
@@ -731,9 +751,13 @@ export interface BrowserCreateParams {
/**
* Initial browser window size in pixels with optional refresh rate. If omitted,
- * image defaults apply (1920x1080@25). Arbitrary viewport dimensions are accepted,
- * but the following configurations are known-good and fully tested: 2560x1440@10,
- * 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60.
+ * image defaults apply (1920x1080@25). For GPU images, the default is
+ * 1920x1080@60. Arbitrary viewport dimensions and refresh rates are accepted.
+ * Known-good presets include: 2560x1440@10, 1920x1080@25, 1920x1200@25,
+ * 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60. For GPU images, recommended
+ * presets use one of these resolutions with refresh rates 60, 30, 25, or 10:
+ * 800x600, 960x720, 1024x576, 1024x768, 1152x648, 1200x800, 1280x720, 1368x768,
+ * 1440x900, 1600x900, 1920x1080, 1920x1200, 390x844, 360x250, 768x1024, 800x1600.
* Viewports outside this list may exhibit unstable live view or recording
* behavior. If refresh_rate is not provided, it will be automatically determined
* based on the resolution (higher resolutions use lower refresh rates to keep
diff --git a/src/resources/browsers/computer.ts b/src/resources/browsers/computer.ts
index f5ed4d3..d67dac6 100644
--- a/src/resources/browsers/computer.ts
+++ b/src/resources/browsers/computer.ts
@@ -353,11 +353,23 @@ export namespace ComputerBatchParams {
*/
delay?: number;
+ /**
+ * Target total duration in milliseconds for the entire drag movement when
+ * smooth=true. Omit for automatic timing based on total path length.
+ */
+ duration_ms?: number;
+
/**
* Modifier keys to hold during the drag
*/
hold_keys?: Array;
+ /**
+ * Use human-like Bezier curves between path waypoints instead of linear
+ * interpolation. When true, steps_per_segment and step_delay_ms are ignored.
+ */
+ smooth?: boolean;
+
/**
* Delay in milliseconds between relative steps while dragging (not the initial
* delay).
@@ -431,12 +443,14 @@ export namespace ComputerBatchParams {
y: number;
/**
- * Horizontal scroll amount. Positive scrolls right, negative scrolls left.
+ * Horizontal scroll amount in xdotool "wheel units." Positive scrolls right,
+ * negative scrolls left.
*/
delta_x?: number;
/**
- * Vertical scroll amount. Positive scrolls down, negative scrolls up.
+ * Vertical scroll amount in xdotool "wheel units." Positive scrolls down, negative
+ * scrolls up.
*/
delta_y?: number;
@@ -554,11 +568,23 @@ export interface ComputerDragMouseParams {
*/
delay?: number;
+ /**
+ * Target total duration in milliseconds for the entire drag movement when
+ * smooth=true. Omit for automatic timing based on total path length.
+ */
+ duration_ms?: number;
+
/**
* Modifier keys to hold during the drag
*/
hold_keys?: Array;
+ /**
+ * Use human-like Bezier curves between path waypoints instead of linear
+ * interpolation. When true, steps_per_segment and step_delay_ms are ignored.
+ */
+ smooth?: boolean;
+
/**
* Delay in milliseconds between relative steps while dragging (not the initial
* delay).
@@ -632,12 +658,14 @@ export interface ComputerScrollParams {
y: number;
/**
- * Horizontal scroll amount. Positive scrolls right, negative scrolls left.
+ * Horizontal scroll amount in xdotool "wheel units." Positive scrolls right,
+ * negative scrolls left.
*/
delta_x?: number;
/**
- * Vertical scroll amount. Positive scrolls down, negative scrolls up.
+ * Vertical scroll amount in xdotool "wheel units." Positive scrolls down, negative
+ * scrolls up.
*/
delta_y?: number;
diff --git a/src/resources/invocations.ts b/src/resources/invocations.ts
index 8699ffe..e567574 100644
--- a/src/resources/invocations.ts
+++ b/src/resources/invocations.ts
@@ -465,7 +465,8 @@ export namespace InvocationListBrowsersResponse {
deleted_at?: string;
/**
- * Whether the browser session has hardware-accelerated GPU rendering.
+ * Whether GPU acceleration is enabled for the browser session (only supported for
+ * headful sessions).
*/
gpu?: boolean;
@@ -502,9 +503,13 @@ export namespace InvocationListBrowsersResponse {
/**
* Initial browser window size in pixels with optional refresh rate. If omitted,
- * image defaults apply (1920x1080@25). Arbitrary viewport dimensions are accepted,
- * but the following configurations are known-good and fully tested: 2560x1440@10,
- * 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60.
+ * image defaults apply (1920x1080@25). For GPU images, the default is
+ * 1920x1080@60. Arbitrary viewport dimensions and refresh rates are accepted.
+ * Known-good presets include: 2560x1440@10, 1920x1080@25, 1920x1200@25,
+ * 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60. For GPU images, recommended
+ * presets use one of these resolutions with refresh rates 60, 30, 25, or 10:
+ * 800x600, 960x720, 1024x576, 1024x768, 1152x648, 1200x800, 1280x720, 1368x768,
+ * 1440x900, 1600x900, 1920x1080, 1920x1200, 390x844, 360x250, 768x1024, 800x1600.
* Viewports outside this list may exhibit unstable live view or recording
* behavior. If refresh_rate is not provided, it will be automatically determined
* based on the resolution (higher resolutions use lower refresh rates to keep
diff --git a/src/resources/shared.ts b/src/resources/shared.ts
index 0c26a74..8666f8a 100644
--- a/src/resources/shared.ts
+++ b/src/resources/shared.ts
@@ -65,9 +65,13 @@ export interface BrowserProfile {
/**
* Initial browser window size in pixels with optional refresh rate. If omitted,
- * image defaults apply (1920x1080@25). Arbitrary viewport dimensions are accepted,
- * but the following configurations are known-good and fully tested: 2560x1440@10,
- * 1920x1080@25, 1920x1200@25, 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60.
+ * image defaults apply (1920x1080@25). For GPU images, the default is
+ * 1920x1080@60. Arbitrary viewport dimensions and refresh rates are accepted.
+ * Known-good presets include: 2560x1440@10, 1920x1080@25, 1920x1200@25,
+ * 1440x900@25, 1280x800@60, 1024x768@60, 1200x800@60. For GPU images, recommended
+ * presets use one of these resolutions with refresh rates 60, 30, 25, or 10:
+ * 800x600, 960x720, 1024x576, 1024x768, 1152x648, 1200x800, 1280x720, 1368x768,
+ * 1440x900, 1600x900, 1920x1080, 1920x1200, 390x844, 360x250, 768x1024, 800x1600.
* Viewports outside this list may exhibit unstable live view or recording
* behavior. If refresh_rate is not provided, it will be automatically determined
* based on the resolution (higher resolutions use lower refresh rates to keep
diff --git a/src/version.ts b/src/version.ts
index 771efed..6a69b90 100644
--- a/src/version.ts
+++ b/src/version.ts
@@ -1 +1 @@
-export const VERSION = '0.43.0'; // x-release-please-version
+export const VERSION = '0.44.0'; // x-release-please-version
diff --git a/tests/api-resources/auth/connections.test.ts b/tests/api-resources/auth/connections.test.ts
index 1c60d63..1d08c5c 100644
--- a/tests/api-resources/auth/connections.test.ts
+++ b/tests/api-resources/auth/connections.test.ts
@@ -54,6 +54,18 @@ describe('resource connections', () => {
expect(dataAndResponse.response).toBe(rawResponse);
});
+ // Mock server tests are disabled
+ test.skip('update', async () => {
+ const responsePromise = client.auth.connections.update('id', {});
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
// Mock server tests are disabled
test.skip('list', async () => {
const responsePromise = client.auth.connections.list();
diff --git a/tests/api-resources/browsers/computer.test.ts b/tests/api-resources/browsers/computer.test.ts
index ffb2b7d..807834d 100644
--- a/tests/api-resources/browsers/computer.test.ts
+++ b/tests/api-resources/browsers/computer.test.ts
@@ -41,7 +41,9 @@ describe('resource computer', () => {
],
button: 'left',
delay: 0,
+ duration_ms: 50,
hold_keys: ['string'],
+ smooth: true,
step_delay_ms: 0,
steps_per_segment: 1,
},
@@ -141,7 +143,9 @@ describe('resource computer', () => {
],
button: 'left',
delay: 0,
+ duration_ms: 50,
hold_keys: ['string'],
+ smooth: true,
step_delay_ms: 0,
steps_per_segment: 1,
});