From d55e6f590bf52a54ab1de762eb729fba2ce77c9a Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 3 Mar 2026 03:49:10 +0000 Subject: [PATCH 1/5] chore(internal): codegen related update --- src/client.ts | 30 +++++++++++++++++++++++++++ src/resources/apps.ts | 3 +++ src/resources/auth/connections.ts | 3 +++ src/resources/browser-pools.ts | 3 +++ src/resources/browsers/browsers.ts | 3 +++ src/resources/browsers/fs/fs.ts | 3 +++ src/resources/browsers/fs/watch.ts | 3 +++ src/resources/browsers/logs.ts | 3 +++ src/resources/browsers/playwright.ts | 3 +++ src/resources/browsers/process.ts | 3 +++ src/resources/browsers/replays.ts | 3 +++ src/resources/credential-providers.ts | 3 +++ src/resources/credentials.ts | 3 +++ src/resources/deployments.ts | 3 +++ src/resources/extensions.ts | 3 +++ src/resources/invocations.ts | 3 +++ src/resources/profiles.ts | 3 +++ src/resources/proxies.ts | 3 +++ 18 files changed, 81 insertions(+) diff --git a/src/client.ts b/src/client.ts index d520668..73d0810 100644 --- a/src/client.ts +++ b/src/client.ts @@ -886,16 +886,46 @@ export class Kernel { static toFile = Uploads.toFile; + /** + * Create and manage app deployments and stream deployment events. + */ deployments: API.Deployments = new API.Deployments(this); + /** + * List applications and versions. + */ apps: API.Apps = new API.Apps(this); + /** + * Invoke actions and stream or query invocation status and events. + */ invocations: API.Invocations = new API.Invocations(this); + /** + * Create and manage browser sessions. + */ browsers: API.Browsers = new API.Browsers(this); + /** + * Create, list, retrieve, and delete browser profiles. + */ profiles: API.Profiles = new API.Profiles(this); auth: API.Auth = new API.Auth(this); + /** + * Create and manage proxy configurations for routing browser traffic. + */ proxies: API.Proxies = new API.Proxies(this); + /** + * Create, list, retrieve, and delete browser extensions. + */ extensions: API.Extensions = new API.Extensions(this); + /** + * Create and manage browser pools for acquiring and releasing browsers. + */ browserPools: API.BrowserPools = new API.BrowserPools(this); + /** + * Create and manage credentials for authentication. + */ credentials: API.Credentials = new API.Credentials(this); + /** + * Configure external credential providers like 1Password. + */ credentialProviders: API.CredentialProviders = new API.CredentialProviders(this); } diff --git a/src/resources/apps.ts b/src/resources/apps.ts index 6dbd7a0..915193d 100644 --- a/src/resources/apps.ts +++ b/src/resources/apps.ts @@ -5,6 +5,9 @@ import * as Shared from './shared'; import { OffsetPagination, type OffsetPaginationParams, PagePromise } from '../core/pagination'; import { RequestOptions } from '../internal/request-options'; +/** + * List applications and versions. + */ export class Apps extends APIResource { /** * List applications. Optionally filter by app name and/or version label. diff --git a/src/resources/auth/connections.ts b/src/resources/auth/connections.ts index 6a41846..6f4dc1b 100644 --- a/src/resources/auth/connections.ts +++ b/src/resources/auth/connections.ts @@ -9,6 +9,9 @@ import { buildHeaders } from '../../internal/headers'; import { RequestOptions } from '../../internal/request-options'; import { path } from '../../internal/utils/path'; +/** + * Create and manage auth connections for automated credential capture and login. + */ export class Connections extends APIResource { /** * Creates an auth connection for a profile and domain combination. Returns 409 diff --git a/src/resources/browser-pools.ts b/src/resources/browser-pools.ts index 0494b0b..3dd4426 100644 --- a/src/resources/browser-pools.ts +++ b/src/resources/browser-pools.ts @@ -8,6 +8,9 @@ import { buildHeaders } from '../internal/headers'; import { RequestOptions } from '../internal/request-options'; import { path } from '../internal/utils/path'; +/** + * Create and manage browser pools for acquiring and releasing browsers. + */ export class BrowserPools extends APIResource { /** * Create a new browser pool with the specified configuration and size. diff --git a/src/resources/browsers/browsers.ts b/src/resources/browsers/browsers.ts index 43503a5..5c0e2c2 100644 --- a/src/resources/browsers/browsers.ts +++ b/src/resources/browsers/browsers.ts @@ -74,6 +74,9 @@ import { RequestOptions } from '../../internal/request-options'; import { multipartFormRequestOptions } from '../../internal/uploads'; import { path } from '../../internal/utils/path'; +/** + * Create and manage browser sessions. + */ export class Browsers extends APIResource { replays: ReplaysAPI.Replays = new ReplaysAPI.Replays(this._client); fs: FsAPI.Fs = new FsAPI.Fs(this._client); diff --git a/src/resources/browsers/fs/fs.ts b/src/resources/browsers/fs/fs.ts index b6adb02..4e03aa7 100644 --- a/src/resources/browsers/fs/fs.ts +++ b/src/resources/browsers/fs/fs.ts @@ -17,6 +17,9 @@ import { RequestOptions } from '../../../internal/request-options'; import { multipartFormRequestOptions } from '../../../internal/uploads'; import { path } from '../../../internal/utils/path'; +/** + * Read, write, and manage files on the browser instance. + */ export class Fs extends APIResource { watch: WatchAPI.Watch = new WatchAPI.Watch(this._client); diff --git a/src/resources/browsers/fs/watch.ts b/src/resources/browsers/fs/watch.ts index b0cc18c..41b5b43 100644 --- a/src/resources/browsers/fs/watch.ts +++ b/src/resources/browsers/fs/watch.ts @@ -7,6 +7,9 @@ import { buildHeaders } from '../../../internal/headers'; import { RequestOptions } from '../../../internal/request-options'; import { path } from '../../../internal/utils/path'; +/** + * Read, write, and manage files on the browser instance. + */ export class Watch extends APIResource { /** * Stream filesystem events for a watch diff --git a/src/resources/browsers/logs.ts b/src/resources/browsers/logs.ts index 485f9d7..13511b1 100644 --- a/src/resources/browsers/logs.ts +++ b/src/resources/browsers/logs.ts @@ -8,6 +8,9 @@ import { buildHeaders } from '../../internal/headers'; import { RequestOptions } from '../../internal/request-options'; import { path } from '../../internal/utils/path'; +/** + * Stream logs from the browser instance. + */ export class Logs extends APIResource { /** * Stream log files on the browser instance via SSE diff --git a/src/resources/browsers/playwright.ts b/src/resources/browsers/playwright.ts index bd99c52..022ccc7 100644 --- a/src/resources/browsers/playwright.ts +++ b/src/resources/browsers/playwright.ts @@ -5,6 +5,9 @@ import { APIPromise } from '../../core/api-promise'; import { RequestOptions } from '../../internal/request-options'; import { path } from '../../internal/utils/path'; +/** + * Execute Playwright code against the browser instance. + */ export class Playwright extends APIResource { /** * Execute arbitrary Playwright code in a fresh execution context against the diff --git a/src/resources/browsers/process.ts b/src/resources/browsers/process.ts index a19f8b9..40e04f0 100644 --- a/src/resources/browsers/process.ts +++ b/src/resources/browsers/process.ts @@ -7,6 +7,9 @@ import { buildHeaders } from '../../internal/headers'; import { RequestOptions } from '../../internal/request-options'; import { path } from '../../internal/utils/path'; +/** + * Execute and manage processes on the browser instance. + */ export class Process extends APIResource { /** * Execute a command synchronously diff --git a/src/resources/browsers/replays.ts b/src/resources/browsers/replays.ts index 208d8c3..7ac768d 100644 --- a/src/resources/browsers/replays.ts +++ b/src/resources/browsers/replays.ts @@ -6,6 +6,9 @@ import { buildHeaders } from '../../internal/headers'; import { RequestOptions } from '../../internal/request-options'; import { path } from '../../internal/utils/path'; +/** + * Record and manage browser session video replays. + */ export class Replays extends APIResource { /** * List all replays for the specified browser session. diff --git a/src/resources/credential-providers.ts b/src/resources/credential-providers.ts index 42733a9..091015c 100644 --- a/src/resources/credential-providers.ts +++ b/src/resources/credential-providers.ts @@ -6,6 +6,9 @@ import { buildHeaders } from '../internal/headers'; import { RequestOptions } from '../internal/request-options'; import { path } from '../internal/utils/path'; +/** + * Configure external credential providers like 1Password. + */ export class CredentialProviders extends APIResource { /** * Configure an external credential provider (e.g., 1Password) for automatic diff --git a/src/resources/credentials.ts b/src/resources/credentials.ts index 98b7df8..5ae0021 100644 --- a/src/resources/credentials.ts +++ b/src/resources/credentials.ts @@ -7,6 +7,9 @@ import { buildHeaders } from '../internal/headers'; import { RequestOptions } from '../internal/request-options'; import { path } from '../internal/utils/path'; +/** + * Create and manage credentials for authentication. + */ export class Credentials extends APIResource { /** * Create a new credential for storing login information. diff --git a/src/resources/deployments.ts b/src/resources/deployments.ts index 5f277da..8ea9843 100644 --- a/src/resources/deployments.ts +++ b/src/resources/deployments.ts @@ -11,6 +11,9 @@ import { RequestOptions } from '../internal/request-options'; import { multipartFormRequestOptions } from '../internal/uploads'; import { path } from '../internal/utils/path'; +/** + * Create and manage app deployments and stream deployment events. + */ export class Deployments extends APIResource { /** * Create a new deployment. diff --git a/src/resources/extensions.ts b/src/resources/extensions.ts index 5697a07..b28eb86 100644 --- a/src/resources/extensions.ts +++ b/src/resources/extensions.ts @@ -8,6 +8,9 @@ import { RequestOptions } from '../internal/request-options'; import { multipartFormRequestOptions } from '../internal/uploads'; import { path } from '../internal/utils/path'; +/** + * Create, list, retrieve, and delete browser extensions. + */ export class Extensions extends APIResource { /** * List extensions owned by the caller's organization. diff --git a/src/resources/invocations.ts b/src/resources/invocations.ts index eb85200..b48c129 100644 --- a/src/resources/invocations.ts +++ b/src/resources/invocations.ts @@ -10,6 +10,9 @@ import { buildHeaders } from '../internal/headers'; import { RequestOptions } from '../internal/request-options'; import { path } from '../internal/utils/path'; +/** + * Invoke actions and stream or query invocation status and events. + */ export class Invocations extends APIResource { /** * Invoke an action. diff --git a/src/resources/profiles.ts b/src/resources/profiles.ts index 2a3c613..4b9345c 100644 --- a/src/resources/profiles.ts +++ b/src/resources/profiles.ts @@ -9,6 +9,9 @@ import { buildHeaders } from '../internal/headers'; import { RequestOptions } from '../internal/request-options'; import { path } from '../internal/utils/path'; +/** + * Create, list, retrieve, and delete browser profiles. + */ export class Profiles extends APIResource { /** * Create a browser profile that can be used to load state into future browser diff --git a/src/resources/proxies.ts b/src/resources/proxies.ts index 7174a6f..0e0d271 100644 --- a/src/resources/proxies.ts +++ b/src/resources/proxies.ts @@ -6,6 +6,9 @@ import { buildHeaders } from '../internal/headers'; import { RequestOptions } from '../internal/request-options'; import { path } from '../internal/utils/path'; +/** + * Create and manage proxy configurations for routing browser traffic. + */ export class Proxies extends APIResource { /** * Create a new proxy configuration for the caller's organization. From 1ff017f131009649dfc46318e351cb8d8ea07fff Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 3 Mar 2026 18:32:34 +0000 Subject: [PATCH 2/5] feat: [kernel-1028] add api clipboard support --- .stats.yml | 8 ++-- api.md | 3 ++ src/resources/browsers/browsers.ts | 4 ++ src/resources/browsers/computer.ts | 47 +++++++++++++++++++ src/resources/browsers/index.ts | 2 + tests/api-resources/browsers/computer.test.ts | 29 ++++++++++++ 6 files changed, 89 insertions(+), 4 deletions(-) diff --git a/.stats.yml b/.stats.yml index d4eead9..a08c103 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ -configured_endpoints: 101 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-a935c8aae21f8ddb83ea5e289034df12cbde88d432fa2b287629814bb3f58bb6.yml -openapi_spec_hash: df3189b9728372f01662a19c060bcbc5 -config_hash: 81f143f4bee47ae7b0b8357551babadf +configured_endpoints: 103 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-f05b888046776a18dbffc1264a27c0256839d132066ef5f6e09ccf1bc505a8f7.yml +openapi_spec_hash: 646fce3982d3efbdb38004b0e4ac4d17 +config_hash: cff4d43372b6fa66b64e2d4150f6aa76 diff --git a/api.md b/api.md index d791b83..efe009c 100644 --- a/api.md +++ b/api.md @@ -167,6 +167,7 @@ Methods: Types: - ComputerGetMousePositionResponse +- ComputerReadClipboardResponse - ComputerSetCursorVisibilityResponse Methods: @@ -178,9 +179,11 @@ Methods: - client.browsers.computer.getMousePosition(id) -> ComputerGetMousePositionResponse - client.browsers.computer.moveMouse(id, { ...params }) -> void - client.browsers.computer.pressKey(id, { ...params }) -> void +- client.browsers.computer.readClipboard(id) -> ComputerReadClipboardResponse - client.browsers.computer.scroll(id, { ...params }) -> void - client.browsers.computer.setCursorVisibility(id, { ...params }) -> ComputerSetCursorVisibilityResponse - client.browsers.computer.typeText(id, { ...params }) -> void +- client.browsers.computer.writeClipboard(id, { ...params }) -> void ## Playwright diff --git a/src/resources/browsers/browsers.ts b/src/resources/browsers/browsers.ts index 5c0e2c2..2e1f807 100644 --- a/src/resources/browsers/browsers.ts +++ b/src/resources/browsers/browsers.ts @@ -12,10 +12,12 @@ import { ComputerGetMousePositionResponse, ComputerMoveMouseParams, ComputerPressKeyParams, + ComputerReadClipboardResponse, ComputerScrollParams, ComputerSetCursorVisibilityParams, ComputerSetCursorVisibilityResponse, ComputerTypeTextParams, + ComputerWriteClipboardParams, } from './computer'; import * as LogsAPI from './logs'; import { LogStreamParams, Logs } from './logs'; @@ -870,6 +872,7 @@ export declare namespace Browsers { export { Computer as Computer, type ComputerGetMousePositionResponse as ComputerGetMousePositionResponse, + type ComputerReadClipboardResponse as ComputerReadClipboardResponse, type ComputerSetCursorVisibilityResponse as ComputerSetCursorVisibilityResponse, type ComputerBatchParams as ComputerBatchParams, type ComputerCaptureScreenshotParams as ComputerCaptureScreenshotParams, @@ -880,6 +883,7 @@ export declare namespace Browsers { type ComputerScrollParams as ComputerScrollParams, type ComputerSetCursorVisibilityParams as ComputerSetCursorVisibilityParams, type ComputerTypeTextParams as ComputerTypeTextParams, + type ComputerWriteClipboardParams as ComputerWriteClipboardParams, }; export { diff --git a/src/resources/browsers/computer.ts b/src/resources/browsers/computer.ts index 6b15782..3165b88 100644 --- a/src/resources/browsers/computer.ts +++ b/src/resources/browsers/computer.ts @@ -142,6 +142,19 @@ export class Computer extends APIResource { }); } + /** + * Read text from the clipboard on the browser instance + * + * @example + * ```ts + * const response = + * await client.browsers.computer.readClipboard('id'); + * ``` + */ + readClipboard(id: string, options?: RequestOptions): APIPromise { + return this._client.post(path`/browsers/${id}/computer/clipboard/read`, options); + } + /** * Scroll the mouse wheel at a position on the host computer * @@ -194,6 +207,24 @@ export class Computer extends APIResource { headers: buildHeaders([{ Accept: '*/*' }, options?.headers]), }); } + + /** + * Write text to the clipboard on the browser instance + * + * @example + * ```ts + * await client.browsers.computer.writeClipboard('id', { + * text: 'text', + * }); + * ``` + */ + writeClipboard(id: string, body: ComputerWriteClipboardParams, options?: RequestOptions): APIPromise { + return this._client.post(path`/browsers/${id}/computer/clipboard/write`, { + body, + ...options, + headers: buildHeaders([{ Accept: '*/*' }, options?.headers]), + }); + } } export interface ComputerGetMousePositionResponse { @@ -208,6 +239,13 @@ export interface ComputerGetMousePositionResponse { y: number; } +export interface ComputerReadClipboardResponse { + /** + * Current clipboard text content + */ + text: string; +} + /** * Generic OK response. */ @@ -606,9 +644,17 @@ export interface ComputerTypeTextParams { delay?: number; } +export interface ComputerWriteClipboardParams { + /** + * Text to write to the system clipboard + */ + text: string; +} + export declare namespace Computer { export { type ComputerGetMousePositionResponse as ComputerGetMousePositionResponse, + type ComputerReadClipboardResponse as ComputerReadClipboardResponse, type ComputerSetCursorVisibilityResponse as ComputerSetCursorVisibilityResponse, type ComputerBatchParams as ComputerBatchParams, type ComputerCaptureScreenshotParams as ComputerCaptureScreenshotParams, @@ -619,5 +665,6 @@ export declare namespace Computer { type ComputerScrollParams as ComputerScrollParams, type ComputerSetCursorVisibilityParams as ComputerSetCursorVisibilityParams, type ComputerTypeTextParams as ComputerTypeTextParams, + type ComputerWriteClipboardParams as ComputerWriteClipboardParams, }; } diff --git a/src/resources/browsers/index.ts b/src/resources/browsers/index.ts index 44d503c..4af2fb1 100644 --- a/src/resources/browsers/index.ts +++ b/src/resources/browsers/index.ts @@ -22,6 +22,7 @@ export { export { Computer, type ComputerGetMousePositionResponse, + type ComputerReadClipboardResponse, type ComputerSetCursorVisibilityResponse, type ComputerBatchParams, type ComputerCaptureScreenshotParams, @@ -32,6 +33,7 @@ export { type ComputerScrollParams, type ComputerSetCursorVisibilityParams, type ComputerTypeTextParams, + type ComputerWriteClipboardParams, } from './computer'; export { Fs, diff --git a/tests/api-resources/browsers/computer.test.ts b/tests/api-resources/browsers/computer.test.ts index 36b388b..ec24670 100644 --- a/tests/api-resources/browsers/computer.test.ts +++ b/tests/api-resources/browsers/computer.test.ts @@ -199,6 +199,18 @@ describe('resource computer', () => { }); }); + // Mock server tests are disabled + test.skip('readClipboard', async () => { + const responsePromise = client.browsers.computer.readClipboard('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('scroll: only required params', async () => { const responsePromise = client.browsers.computer.scroll('id', { x: 0, y: 0 }); @@ -255,4 +267,21 @@ describe('resource computer', () => { test.skip('typeText: required and optional params', async () => { const response = await client.browsers.computer.typeText('id', { text: 'text', delay: 0 }); }); + + // Mock server tests are disabled + test.skip('writeClipboard: only required params', async () => { + const responsePromise = client.browsers.computer.writeClipboard('id', { text: 'text' }); + 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('writeClipboard: required and optional params', async () => { + const response = await client.browsers.computer.writeClipboard('id', { text: 'text' }); + }); }); From 070c9156259bfdb5e33f0809adc6f70f7ce1a37e Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 3 Mar 2026 22:37:29 +0000 Subject: [PATCH 3/5] feat: expose smooth mouse movement via public API --- .stats.yml | 4 ++-- src/resources/browsers/computer.ts | 22 +++++++++++++++++++ tests/api-resources/browsers/computer.test.ts | 4 ++++ 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index a08c103..d2f972b 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-f05b888046776a18dbffc1264a27c0256839d132066ef5f6e09ccf1bc505a8f7.yml -openapi_spec_hash: 646fce3982d3efbdb38004b0e4ac4d17 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-2ba004ce5444b5f8abe3bcf66fd7c6da394bc964e8b2bf197576841135a48046.yml +openapi_spec_hash: f156ea2ae35e4d148704c6e4ce051239 config_hash: cff4d43372b6fa66b64e2d4150f6aa76 diff --git a/src/resources/browsers/computer.ts b/src/resources/browsers/computer.ts index 3165b88..f5ed4d3 100644 --- a/src/resources/browsers/computer.ts +++ b/src/resources/browsers/computer.ts @@ -381,10 +381,21 @@ export namespace ComputerBatchParams { */ y: number; + /** + * Target total duration in milliseconds for the mouse movement when smooth=true. + * Omit for automatic timing based on distance. + */ + duration_ms?: number; + /** * Modifier keys to hold during the move */ hold_keys?: Array; + + /** + * Use human-like Bezier curve path instead of instant mouse movement. + */ + smooth?: boolean; } export interface PressKey { @@ -571,10 +582,21 @@ export interface ComputerMoveMouseParams { */ y: number; + /** + * Target total duration in milliseconds for the mouse movement when smooth=true. + * Omit for automatic timing based on distance. + */ + duration_ms?: number; + /** * Modifier keys to hold during the move */ hold_keys?: Array; + + /** + * Use human-like Bezier curve path instead of instant mouse movement. + */ + smooth?: boolean; } export interface ComputerPressKeyParams { diff --git a/tests/api-resources/browsers/computer.test.ts b/tests/api-resources/browsers/computer.test.ts index ec24670..ffb2b7d 100644 --- a/tests/api-resources/browsers/computer.test.ts +++ b/tests/api-resources/browsers/computer.test.ts @@ -48,7 +48,9 @@ describe('resource computer', () => { move_mouse: { x: 0, y: 0, + duration_ms: 50, hold_keys: ['string'], + smooth: true, }, press_key: { keys: ['string'], @@ -174,7 +176,9 @@ describe('resource computer', () => { const response = await client.browsers.computer.moveMouse('id', { x: 0, y: 0, + duration_ms: 50, hold_keys: ['string'], + smooth: true, }); }); From 0a65b3a32d1b3c970580c0673b226c0f4cd63721 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 5 Mar 2026 15:43:04 +0000 Subject: [PATCH 4/5] feat: add force flag to viewport resize to bypass live view/recording check --- .stats.yml | 4 ++-- src/resources/browsers/browsers.ts | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/.stats.yml b/.stats.yml index d2f972b..e1ce185 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-2ba004ce5444b5f8abe3bcf66fd7c6da394bc964e8b2bf197576841135a48046.yml -openapi_spec_hash: f156ea2ae35e4d148704c6e4ce051239 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-ef24d4bf172555bcbe8e3b432c644a25a1c6afd99c958a2eda8c3b1ea9568113.yml +openapi_spec_hash: b603c5a983e837928fa7d1100ed64fc9 config_hash: cff4d43372b6fa66b64e2d4150f6aa76 diff --git a/src/resources/browsers/browsers.ts b/src/resources/browsers/browsers.ts index 2e1f807..c008731 100644 --- a/src/resources/browsers/browsers.ts +++ b/src/resources/browsers/browsers.ts @@ -745,7 +745,22 @@ export interface BrowserUpdateParams { /** * Viewport configuration to apply to the browser session. */ - viewport?: Shared.BrowserViewport; + viewport?: BrowserUpdateParams.Viewport; +} + +export namespace BrowserUpdateParams { + /** + * Viewport configuration to apply to the browser session. + */ + export interface Viewport extends Shared.BrowserViewport { + /** + * If true, allow the viewport change even when a live view or recording/replay is + * active. Active recordings will be gracefully stopped and restarted at the new + * resolution as separate segments. If false (default), the resize is refused when + * a live view or recording is active. + */ + force?: boolean; + } } export interface BrowserListParams extends OffsetPaginationParams { From 8ff8c3ab28a54bf0e52c7be271ec71322c654b5d Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 5 Mar 2026 15:46:49 +0000 Subject: [PATCH 5/5] release: 0.42.1 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 20 ++++++++++++++++++++ package-lock.json | 4 ++-- package.json | 2 +- src/version.ts | 2 +- 5 files changed, 25 insertions(+), 5 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 5795308..cede7a5 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.42.0" + ".": "0.42.1" } diff --git a/CHANGELOG.md b/CHANGELOG.md index c924cc3..3403de7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,25 @@ # Changelog +## 0.42.1 (2026-03-05) + +Full Changelog: [v0.42.0...v0.42.1](https://github.com/kernel/kernel-node-sdk/compare/v0.42.0...v0.42.1) + +### Features + +* [kernel-1028] add api clipboard support ([1ff017f](https://github.com/kernel/kernel-node-sdk/commit/1ff017f131009649dfc46318e351cb8d8ea07fff)) +* add force flag to viewport resize to bypass live view/recording check ([0a65b3a](https://github.com/kernel/kernel-node-sdk/commit/0a65b3a32d1b3c970580c0673b226c0f4cd63721)) +* expose smooth mouse movement via public API ([070c915](https://github.com/kernel/kernel-node-sdk/commit/070c9156259bfdb5e33f0809adc6f70f7ce1a37e)) + + +### Bug Fixes + +* use indexed bracket notation for multipart array encoding ([e2a7664](https://github.com/kernel/kernel-node-sdk/commit/e2a766470f90573d351c8507344b8e98c1f13cb6)) + + +### Chores + +* **internal:** codegen related update ([d55e6f5](https://github.com/kernel/kernel-node-sdk/commit/d55e6f590bf52a54ab1de762eb729fba2ce77c9a)) + ## 0.42.0 (2026-03-02) Full Changelog: [v0.41.0...v0.42.0](https://github.com/kernel/kernel-node-sdk/compare/v0.41.0...v0.42.0) diff --git a/package-lock.json b/package-lock.json index aaf45e4..6d85c3b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@onkernel/sdk", - "version": "0.42.0", + "version": "0.42.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@onkernel/sdk", - "version": "0.42.0", + "version": "0.42.1", "license": "Apache-2.0", "devDependencies": { "@arethetypeswrong/cli": "^0.17.0", diff --git a/package.json b/package.json index 84e5c75..4529916 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@onkernel/sdk", - "version": "0.42.0", + "version": "0.42.1", "description": "The official TypeScript library for the Kernel API", "author": "Kernel <>", "types": "dist/index.d.ts", diff --git a/src/version.ts b/src/version.ts index e013417..7c38063 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const VERSION = '0.42.0'; // x-release-please-version +export const VERSION = '0.42.1'; // x-release-please-version