From c591523059b7032d3081b7c2d996f92ede3eeff7 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 27 May 2026 20:48:09 +0000 Subject: [PATCH 1/5] feat: Support Byteful mobile proxies --- .stats.yml | 4 +- src/resources/proxies.ts | 390 +-------------------------------------- 2 files changed, 12 insertions(+), 382 deletions(-) diff --git a/.stats.yml b/.stats.yml index 3cfc09d..834590a 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 117 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-3b34d85c005a4058ac1faaea092615af577d12cee6e420f102de57339251672d.yml -openapi_spec_hash: fad386b8e8712e6639ed9689e9dfc070 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-a32ac633a8f67f3844b6ccb7b97687aec2cf2e2c611df4157c223dfac16db806.yml +openapi_spec_hash: f8c9aabe60372f28ad9cceed42009274 config_hash: 0f222358f24700d1811c5d27078a3849 diff --git a/src/resources/proxies.ts b/src/resources/proxies.ts index b2eb567..be5a425 100644 --- a/src/resources/proxies.ts +++ b/src/resources/proxies.ts @@ -173,76 +173,7 @@ export namespace ProxyCreateResponse { */ export interface MobileProxyConfig { /** - * Autonomous system number. See https://bgp.potaroo.net/cidr/autnums.html - */ - asn?: string; - - /** - * Mobile carrier. - */ - carrier?: - | 'a1' - | 'aircel' - | 'airtel' - | 'att' - | 'celcom' - | 'chinamobile' - | 'claro' - | 'comcast' - | 'cox' - | 'digi' - | 'dt' - | 'docomo' - | 'dtac' - | 'etisalat' - | 'idea' - | 'kyivstar' - | 'meo' - | 'megafon' - | 'mtn' - | 'mtnza' - | 'mts' - | 'optus' - | 'orange' - | 'qwest' - | 'reliance_jio' - | 'robi' - | 'sprint' - | 'telefonica' - | 'telstra' - | 'tmobile' - | 'tigo' - | 'tim' - | 'verizon' - | 'vimpelcom' - | 'vodacomza' - | 'vodafone' - | 'vivo' - | 'zain' - | 'vivabo' - | 'telenormyanmar' - | 'kcelljsc' - | 'swisscom' - | 'singtel' - | 'asiacell' - | 'windit' - | 'cellc' - | 'ooredoo' - | 'drei' - | 'umobile' - | 'cableone' - | 'proximus' - | 'tele2' - | 'mobitel' - | 'o2' - | 'bouygues' - | 'free' - | 'sfr' - | 'digicel'; - - /** - * City name (no spaces, e.g. `sanfrancisco`). If provided, `country` must also be - * provided. + * Provider city alias. Mobile carrier routing can make observed geo vary. */ city?: string; @@ -252,14 +183,9 @@ export namespace ProxyCreateResponse { country?: string; /** - * Two-letter state code. + * US-only state code. Mobile carrier routing can make observed geo vary. */ state?: string; - - /** - * US ZIP code. - */ - zip?: string; } /** @@ -403,76 +329,7 @@ export namespace ProxyRetrieveResponse { */ export interface MobileProxyConfig { /** - * Autonomous system number. See https://bgp.potaroo.net/cidr/autnums.html - */ - asn?: string; - - /** - * Mobile carrier. - */ - carrier?: - | 'a1' - | 'aircel' - | 'airtel' - | 'att' - | 'celcom' - | 'chinamobile' - | 'claro' - | 'comcast' - | 'cox' - | 'digi' - | 'dt' - | 'docomo' - | 'dtac' - | 'etisalat' - | 'idea' - | 'kyivstar' - | 'meo' - | 'megafon' - | 'mtn' - | 'mtnza' - | 'mts' - | 'optus' - | 'orange' - | 'qwest' - | 'reliance_jio' - | 'robi' - | 'sprint' - | 'telefonica' - | 'telstra' - | 'tmobile' - | 'tigo' - | 'tim' - | 'verizon' - | 'vimpelcom' - | 'vodacomza' - | 'vodafone' - | 'vivo' - | 'zain' - | 'vivabo' - | 'telenormyanmar' - | 'kcelljsc' - | 'swisscom' - | 'singtel' - | 'asiacell' - | 'windit' - | 'cellc' - | 'ooredoo' - | 'drei' - | 'umobile' - | 'cableone' - | 'proximus' - | 'tele2' - | 'mobitel' - | 'o2' - | 'bouygues' - | 'free' - | 'sfr' - | 'digicel'; - - /** - * City name (no spaces, e.g. `sanfrancisco`). If provided, `country` must also be - * provided. + * Provider city alias. Mobile carrier routing can make observed geo vary. */ city?: string; @@ -482,14 +339,9 @@ export namespace ProxyRetrieveResponse { country?: string; /** - * Two-letter state code. + * US-only state code. Mobile carrier routing can make observed geo vary. */ state?: string; - - /** - * US ZIP code. - */ - zip?: string; } /** @@ -636,76 +488,7 @@ export namespace ProxyListResponse { */ export interface MobileProxyConfig { /** - * Autonomous system number. See https://bgp.potaroo.net/cidr/autnums.html - */ - asn?: string; - - /** - * Mobile carrier. - */ - carrier?: - | 'a1' - | 'aircel' - | 'airtel' - | 'att' - | 'celcom' - | 'chinamobile' - | 'claro' - | 'comcast' - | 'cox' - | 'digi' - | 'dt' - | 'docomo' - | 'dtac' - | 'etisalat' - | 'idea' - | 'kyivstar' - | 'meo' - | 'megafon' - | 'mtn' - | 'mtnza' - | 'mts' - | 'optus' - | 'orange' - | 'qwest' - | 'reliance_jio' - | 'robi' - | 'sprint' - | 'telefonica' - | 'telstra' - | 'tmobile' - | 'tigo' - | 'tim' - | 'verizon' - | 'vimpelcom' - | 'vodacomza' - | 'vodafone' - | 'vivo' - | 'zain' - | 'vivabo' - | 'telenormyanmar' - | 'kcelljsc' - | 'swisscom' - | 'singtel' - | 'asiacell' - | 'windit' - | 'cellc' - | 'ooredoo' - | 'drei' - | 'umobile' - | 'cableone' - | 'proximus' - | 'tele2' - | 'mobitel' - | 'o2' - | 'bouygues' - | 'free' - | 'sfr' - | 'digicel'; - - /** - * City name (no spaces, e.g. `sanfrancisco`). If provided, `country` must also be - * provided. + * Provider city alias. Mobile carrier routing can make observed geo vary. */ city?: string; @@ -715,14 +498,9 @@ export namespace ProxyListResponse { country?: string; /** - * Two-letter state code. + * US-only state code. Mobile carrier routing can make observed geo vary. */ state?: string; - - /** - * US ZIP code. - */ - zip?: string; } /** @@ -867,76 +645,7 @@ export namespace ProxyCheckResponse { */ export interface MobileProxyConfig { /** - * Autonomous system number. See https://bgp.potaroo.net/cidr/autnums.html - */ - asn?: string; - - /** - * Mobile carrier. - */ - carrier?: - | 'a1' - | 'aircel' - | 'airtel' - | 'att' - | 'celcom' - | 'chinamobile' - | 'claro' - | 'comcast' - | 'cox' - | 'digi' - | 'dt' - | 'docomo' - | 'dtac' - | 'etisalat' - | 'idea' - | 'kyivstar' - | 'meo' - | 'megafon' - | 'mtn' - | 'mtnza' - | 'mts' - | 'optus' - | 'orange' - | 'qwest' - | 'reliance_jio' - | 'robi' - | 'sprint' - | 'telefonica' - | 'telstra' - | 'tmobile' - | 'tigo' - | 'tim' - | 'verizon' - | 'vimpelcom' - | 'vodacomza' - | 'vodafone' - | 'vivo' - | 'zain' - | 'vivabo' - | 'telenormyanmar' - | 'kcelljsc' - | 'swisscom' - | 'singtel' - | 'asiacell' - | 'windit' - | 'cellc' - | 'ooredoo' - | 'drei' - | 'umobile' - | 'cableone' - | 'proximus' - | 'tele2' - | 'mobitel' - | 'o2' - | 'bouygues' - | 'free' - | 'sfr' - | 'digicel'; - - /** - * City name (no spaces, e.g. `sanfrancisco`). If provided, `country` must also be - * provided. + * Provider city alias. Mobile carrier routing can make observed geo vary. */ city?: string; @@ -946,14 +655,9 @@ export namespace ProxyCheckResponse { country?: string; /** - * Two-letter state code. + * US-only state code. Mobile carrier routing can make observed geo vary. */ state?: string; - - /** - * US ZIP code. - */ - zip?: string; } /** @@ -1077,76 +781,7 @@ export namespace ProxyCreateParams { */ export interface MobileProxyConfig { /** - * Autonomous system number. See https://bgp.potaroo.net/cidr/autnums.html - */ - asn?: string; - - /** - * Mobile carrier. - */ - carrier?: - | 'a1' - | 'aircel' - | 'airtel' - | 'att' - | 'celcom' - | 'chinamobile' - | 'claro' - | 'comcast' - | 'cox' - | 'digi' - | 'dt' - | 'docomo' - | 'dtac' - | 'etisalat' - | 'idea' - | 'kyivstar' - | 'meo' - | 'megafon' - | 'mtn' - | 'mtnza' - | 'mts' - | 'optus' - | 'orange' - | 'qwest' - | 'reliance_jio' - | 'robi' - | 'sprint' - | 'telefonica' - | 'telstra' - | 'tmobile' - | 'tigo' - | 'tim' - | 'verizon' - | 'vimpelcom' - | 'vodacomza' - | 'vodafone' - | 'vivo' - | 'zain' - | 'vivabo' - | 'telenormyanmar' - | 'kcelljsc' - | 'swisscom' - | 'singtel' - | 'asiacell' - | 'windit' - | 'cellc' - | 'ooredoo' - | 'drei' - | 'umobile' - | 'cableone' - | 'proximus' - | 'tele2' - | 'mobitel' - | 'o2' - | 'bouygues' - | 'free' - | 'sfr' - | 'digicel'; - - /** - * City name (no spaces, e.g. `sanfrancisco`). If provided, `country` must also be - * provided. + * Provider city alias. Mobile carrier routing can make observed geo vary. */ city?: string; @@ -1156,14 +791,9 @@ export namespace ProxyCreateParams { country?: string; /** - * Two-letter state code. + * US-only state code. Mobile carrier routing can make observed geo vary. */ state?: string; - - /** - * US ZIP code. - */ - zip?: string; } /** From 05529cc295c8987e0b2aba03f5a81e03850655ea Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 29 May 2026 16:18:58 +0000 Subject: [PATCH 2/5] codegen metadata --- .stats.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.stats.yml b/.stats.yml index 834590a..190a6ab 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 117 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-a32ac633a8f67f3844b6ccb7b97687aec2cf2e2c611df4157c223dfac16db806.yml -openapi_spec_hash: f8c9aabe60372f28ad9cceed42009274 -config_hash: 0f222358f24700d1811c5d27078a3849 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-04da2c2ed5f83c54f59f6c148abcf013cc37282fde2b3b5b263dffab927d5ba2.yml +openapi_spec_hash: 9b05d6877797e55051a83222fa7652d0 +config_hash: e0741f8035aea13f71e54e0fdb88eaa4 From 131f0e923dc19f803330fb0397fd42aa8c738cd1 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 29 May 2026 17:40:27 +0000 Subject: [PATCH 3/5] feat: api: surface category field on browser telemetry events --- .stats.yml | 4 +-- src/resources/browsers/telemetry.ts | 44 +++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 190a6ab..f41061c 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 117 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-04da2c2ed5f83c54f59f6c148abcf013cc37282fde2b3b5b263dffab927d5ba2.yml -openapi_spec_hash: 9b05d6877797e55051a83222fa7652d0 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-4bada2a5bdbde93018e5a1b1e80e134acbc5509cfdea94db6e4c5b799eba7b82.yml +openapi_spec_hash: e0d541d480f5663b1e6bd3bb19a0fe61 config_hash: e0741f8035aea13f71e54e0fdb88eaa4 diff --git a/src/resources/browsers/telemetry.ts b/src/resources/browsers/telemetry.ts index f9ff2d4..7706a19 100644 --- a/src/resources/browsers/telemetry.ts +++ b/src/resources/browsers/telemetry.ts @@ -108,6 +108,8 @@ export namespace BrowserCallStack { * source_url, and stack_trace. Fields not applicable to the source are absent. */ export interface BrowserConsoleErrorEvent { + category: 'console'; + /** * Provenance metadata identifying which producer emitted the event. */ @@ -188,6 +190,8 @@ export namespace BrowserConsoleErrorEvent { * A browser console log event (console.log, console.info, console.warn, etc.). */ export interface BrowserConsoleLogEvent { + category: 'console'; + /** * Provenance metadata identifying which producer emitted the event. */ @@ -323,6 +327,8 @@ export type BrowserHTTPHeaders = { [key: string]: unknown }; * A browser user click event captured via injected page script. */ export interface BrowserInteractionClickEvent { + category: 'interaction'; + /** * Provenance metadata identifying which producer emitted the event. */ @@ -386,6 +392,8 @@ export namespace BrowserInteractionClickEvent { * A browser keyboard event captured via injected page script. */ export interface BrowserInteractionKeyEvent { + category: 'interaction'; + /** * Provenance metadata identifying which producer emitted the event. */ @@ -440,6 +448,8 @@ export namespace BrowserInteractionKeyEvent { * captured via injected page script. */ export interface BrowserInteractionScrollSettledEvent { + category: 'interaction'; + /** * Provenance metadata identifying which producer emitted the event. */ @@ -505,6 +515,8 @@ export namespace BrowserInteractionScrollSettledEvent { * page_layout_settled) as unreliable until then. */ export interface BrowserMonitorDisconnectedEvent { + category: 'system'; + /** * Provenance metadata identifying which producer emitted the event. */ @@ -538,6 +550,8 @@ export namespace BrowserMonitorDisconnectedEvent { * The CDP session could not be initialized. */ export interface BrowserMonitorInitFailedEvent { + category: 'system'; + /** * Provenance metadata identifying which producer emitted the event. */ @@ -572,6 +586,8 @@ export namespace BrowserMonitorInitFailedEvent { * reconnection attempts. No further telemetry events will arrive on this session. */ export interface BrowserMonitorReconnectFailedEvent { + category: 'system'; + /** * Provenance metadata identifying which producer emitted the event. */ @@ -608,6 +624,8 @@ export namespace BrowserMonitorReconnectFailedEvent { * so navigation and network tracking restart fresh from this point. */ export interface BrowserMonitorReconnectedEvent { + category: 'system'; + /** * Provenance metadata identifying which producer emitted the event. */ @@ -641,6 +659,8 @@ export namespace BrowserMonitorReconnectedEvent { * A periodic screenshot of the browser viewport. */ export interface BrowserMonitorScreenshotEvent { + category: 'system'; + /** * Provenance metadata identifying which producer emitted the event. */ @@ -675,6 +695,8 @@ export namespace BrowserMonitorScreenshotEvent { * in-flight HTTP requests. */ export interface BrowserNetworkIdleEvent { + category: 'network'; + /** * Provenance metadata identifying which producer emitted the event. */ @@ -707,6 +729,8 @@ export interface BrowserNetworkIdleEvent { * populated in that case. */ export interface BrowserNetworkLoadingFailedEvent { + category: 'network'; + /** * Provenance metadata identifying which producer emitted the event. */ @@ -767,6 +791,8 @@ export namespace BrowserNetworkLoadingFailedEvent { * A browser network request sent event. */ export interface BrowserNetworkRequestEvent { + category: 'network'; + /** * Provenance metadata identifying which producer emitted the event. */ @@ -854,6 +880,8 @@ export namespace BrowserNetworkRequestEvent { * fully received, not when headers arrive. */ export interface BrowserNetworkResponseEvent { + category: 'network'; + /** * Provenance metadata identifying which producer emitted the event. */ @@ -934,6 +962,8 @@ export namespace BrowserNetworkResponseEvent { * A browser DOMContentLoaded event (CDP Page.domContentEventFired). */ export interface BrowserPageDomContentLoadedEvent { + category: 'page'; + /** * Provenance metadata identifying which producer emitted the event. */ @@ -980,6 +1010,8 @@ export namespace BrowserPageDomContentLoadedEvent { * the 1-second timer. */ export interface BrowserPageLayoutSettledEvent { + category: 'page'; + /** * Provenance metadata identifying which producer emitted the event. */ @@ -1009,6 +1041,8 @@ export interface BrowserPageLayoutSettledEvent { * A browser cumulative layout shift (CLS) event from the Performance Timeline API. */ export interface BrowserPageLayoutShiftEvent { + category: 'page'; + /** * Provenance metadata identifying which producer emitted the event. */ @@ -1087,6 +1121,8 @@ export namespace BrowserPageLayoutShiftEvent { * API. */ export interface BrowserPageLcpEvent { + category: 'page'; + /** * Provenance metadata identifying which producer emitted the event. */ @@ -1178,6 +1214,8 @@ export namespace BrowserPageLcpEvent { * A browser page load event (CDP Page.loadEventFired). */ export interface BrowserPageLoadEvent { + category: 'page'; + /** * Provenance metadata identifying which producer emitted the event. */ @@ -1224,6 +1262,8 @@ export namespace BrowserPageLoadEvent { * epoch. */ export interface BrowserPageNavigationEvent { + category: 'page'; + /** * Provenance metadata identifying which producer emitted the event. */ @@ -1290,6 +1330,8 @@ export namespace BrowserPageNavigationEvent { * Independent of network_idle; a single pending request does not block it. */ export interface BrowserPageNavigationSettledEvent { + category: 'page'; + /** * Provenance metadata identifying which producer emitted the event. */ @@ -1323,6 +1365,8 @@ export interface BrowserPageNavigationSettledEvent { * treat it as a special case. */ export interface BrowserPageTabOpenedEvent { + category: 'page'; + /** * Provenance metadata identifying which producer emitted the event. */ From 27982848c92f285163665421815f46a43cfef129 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 1 Jun 2026 14:20:33 +0000 Subject: [PATCH 4/5] fix(api): move batch + get_mouse_position into Browser Computer Controls tag --- .stats.yml | 4 ++-- src/resources/browsers/computer.ts | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index f41061c..8ba534c 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 117 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-4bada2a5bdbde93018e5a1b1e80e134acbc5509cfdea94db6e4c5b799eba7b82.yml -openapi_spec_hash: e0d541d480f5663b1e6bd3bb19a0fe61 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-7548abe9fea7553e12a128b31f7dc7fc33f2558a9f20d2eb33464db5f61ab3ea.yml +openapi_spec_hash: 4b701cc4b33a2c944a5a9b63e9f364a2 config_hash: e0741f8035aea13f71e54e0fdb88eaa4 diff --git a/src/resources/browsers/computer.ts b/src/resources/browsers/computer.ts index d67dac6..a8b8d44 100644 --- a/src/resources/browsers/computer.ts +++ b/src/resources/browsers/computer.ts @@ -6,6 +6,9 @@ import { buildHeaders } from '../../internal/headers'; import { RequestOptions } from '../../internal/request-options'; import { path } from '../../internal/utils/path'; +/** + * Control mouse, keyboard, and screen on the browser instance. + */ export class Computer extends APIResource { /** * Send an array of computer actions to execute in order on the browser instance. From ff4a2b10e4b9d9ef8e47ba22bb292f291ebbb3a7 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 1 Jun 2026 14:21:04 +0000 Subject: [PATCH 5/5] release: 0.59.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 14 ++++++++++++++ package.json | 2 +- src/version.ts | 2 +- 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 115a387..bfeb487 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.58.0" + ".": "0.59.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index d15949e..6c58fdc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +## 0.59.0 (2026-06-01) + +Full Changelog: [v0.58.0...v0.59.0](https://github.com/kernel/kernel-node-sdk/compare/v0.58.0...v0.59.0) + +### Features + +* api: surface category field on browser telemetry events ([131f0e9](https://github.com/kernel/kernel-node-sdk/commit/131f0e923dc19f803330fb0397fd42aa8c738cd1)) +* Support Byteful mobile proxies ([c591523](https://github.com/kernel/kernel-node-sdk/commit/c591523059b7032d3081b7c2d996f92ede3eeff7)) + + +### Bug Fixes + +* **api:** move batch + get_mouse_position into Browser Computer Controls tag ([2798284](https://github.com/kernel/kernel-node-sdk/commit/27982848c92f285163665421815f46a43cfef129)) + ## 0.58.0 (2026-05-27) Full Changelog: [v0.57.0...v0.58.0](https://github.com/kernel/kernel-node-sdk/compare/v0.57.0...v0.58.0) diff --git a/package.json b/package.json index b708ad3..df4d823 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@onkernel/sdk", - "version": "0.58.0", + "version": "0.59.0", "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 d5defc5..7fd65e7 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const VERSION = '0.58.0'; // x-release-please-version +export const VERSION = '0.59.0'; // x-release-please-version