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 01/10] 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 3cfc09d4..834590a5 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 b2eb5674..be5a4253 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 02/10] codegen metadata --- .stats.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.stats.yml b/.stats.yml index 834590a5..190a6ab6 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 03/10] 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 190a6ab6..f41061ca 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 f9ff2d42..7706a190 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 04/10] 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 f41061ca..8ba534ce 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 d67dac60..a8b8d443 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 f78dbe1a54a8f42e417d44f48fd61aa4d2f5851c Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 1 Jun 2026 15:53:44 +0000 Subject: [PATCH 05/10] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 8ba534ce..e31b9566 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-7548abe9fea7553e12a128b31f7dc7fc33f2558a9f20d2eb33464db5f61ab3ea.yml -openapi_spec_hash: 4b701cc4b33a2c944a5a9b63e9f364a2 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-501a71a04e6a68427e378df10c7327025e3cb177f4550459b5a6eb752a177a25.yml +openapi_spec_hash: d38661081dd50fded2208424bb19157b config_hash: e0741f8035aea13f71e54e0fdb88eaa4 From 9bedc8ead677f7bd42866d83f84dc58e5efd15f5 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 15:22:08 +0000 Subject: [PATCH 06/10] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index e31b9566..8fee23fa 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-501a71a04e6a68427e378df10c7327025e3cb177f4550459b5a6eb752a177a25.yml -openapi_spec_hash: d38661081dd50fded2208424bb19157b +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-7988523e72ff96a93d2913e63ba27c5bb94af9893b94fceeeda64e0b43fb0663.yml +openapi_spec_hash: ce2ae9f9137d4c2bf947d446d00ebec8 config_hash: e0741f8035aea13f71e54e0fdb88eaa4 From 3f0063f9ed98185f841476f3478f150b0f648261 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 21:01:42 +0000 Subject: [PATCH 07/10] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 8fee23fa..0dd6d527 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-7988523e72ff96a93d2913e63ba27c5bb94af9893b94fceeeda64e0b43fb0663.yml -openapi_spec_hash: ce2ae9f9137d4c2bf947d446d00ebec8 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-c8f49d6ea6355b703fa0e6cce4277df8954b9730ce4cdd3af5900f37769b40d9.yml +openapi_spec_hash: ca03a797fb8e4cc79b6be4513f2fc6e7 config_hash: e0741f8035aea13f71e54e0fdb88eaa4 From 5241b72ef99a22cb8d340a734e5dc4c60aa09a84 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 3 Jun 2026 13:40:10 +0000 Subject: [PATCH 08/10] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 0dd6d527..a84f620b 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-c8f49d6ea6355b703fa0e6cce4277df8954b9730ce4cdd3af5900f37769b40d9.yml -openapi_spec_hash: ca03a797fb8e4cc79b6be4513f2fc6e7 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-a42305a37f0b2f42afb552acc9a5294c210a5278eb6067df803abe36da45c5b9.yml +openapi_spec_hash: 4140db7dd999fee4b02e76dfb7d003b5 config_hash: e0741f8035aea13f71e54e0fdb88eaa4 From a5a2d33608865eae65d1dd94c0a82e7da1626dd9 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 3 Jun 2026 15:29:22 +0000 Subject: [PATCH 09/10] feat(api): move browser telemetry SSE stream to /browsers/{id}/telemetry/stream --- .stats.yml | 6 +++--- api.md | 2 +- src/resources/browsers/telemetry.ts | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.stats.yml b/.stats.yml index a84f620b..5a5e5632 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-a42305a37f0b2f42afb552acc9a5294c210a5278eb6067df803abe36da45c5b9.yml -openapi_spec_hash: 4140db7dd999fee4b02e76dfb7d003b5 -config_hash: e0741f8035aea13f71e54e0fdb88eaa4 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-1acd8f0b76ab00e36b53cc3ca90b72b2199f3388b3e307890adb464b87f9a2d8.yml +openapi_spec_hash: 82003125c1c2c5d82d19270bafb4a6ca +config_hash: ede72e4ae65cc5a6d6927938b3455c46 diff --git a/api.md b/api.md index 4ac5b01d..86adf707 100644 --- a/api.md +++ b/api.md @@ -123,7 +123,7 @@ Types: Methods: -- client.browsers.telemetry.stream(id, { ...params }) -> TelemetryStreamResponse +- client.browsers.telemetry.stream(id, { ...params }) -> TelemetryStreamResponse ## Replays diff --git a/src/resources/browsers/telemetry.ts b/src/resources/browsers/telemetry.ts index 7706a190..74e83d07 100644 --- a/src/resources/browsers/telemetry.ts +++ b/src/resources/browsers/telemetry.ts @@ -35,7 +35,7 @@ export class Telemetry extends APIResource { options?: RequestOptions, ): APIPromise> { const { 'Last-Event-ID': lastEventID } = params ?? {}; - return this._client.get(path`/browsers/${id}/telemetry`, { + return this._client.get(path`/browsers/${id}/telemetry/stream`, { ...options, headers: buildHeaders([ { From ca89480f3fae38f814c5bd85dfffe6bf278641f2 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 3 Jun 2026 15:29:57 +0000 Subject: [PATCH 10/10] release: 0.59.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 15 +++++++++++++++ package.json | 2 +- src/version.ts | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 115a387a..bfeb4872 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 d15949e5..37b5c5c5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## 0.59.0 (2026-06-03) + +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)) +* **api:** move browser telemetry SSE stream to /browsers/{id}/telemetry/stream ([a5a2d33](https://github.com/kernel/kernel-node-sdk/commit/a5a2d33608865eae65d1dd94c0a82e7da1626dd9)) +* 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 b708ad38..df4d823a 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 d5defc55..7fd65e71 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