Skip to content

Commit 167a715

Browse files
authored
Merge pull request #206 from kernel/release-please--branches--main--changes--next--components--sdk
release: 0.123.0
2 parents 9a0b372 + 16cec82 commit 167a715

15 files changed

Lines changed: 124 additions & 33 deletions

File tree

‎.release-please-manifest.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "0.122.0"
2+
".": "0.123.0"
33
}

‎CHANGELOG.md‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# Changelog
22

3+
## [0.123.0](https://github.com/kernel/kernel-node-sdk/compare/v0.122.0...v0.123.0) (2026-10-09)
4+
5+
6+
### Features
7+
8+
* Add video_memory to request the 4GiB VRAM GPU browser tier ([364255d](https://github.com/kernel/kernel-node-sdk/commit/364255de6aa44d55e1563dec5696d76a4516e325))
9+
* Filter the telemetry SSE stream by event type ([2ccedc6](https://github.com/kernel/kernel-node-sdk/commit/2ccedc68f5abfbfe048145e0ca91fc4f4707e130))
10+
* Fix 1Password fill classification for repeat fills and unconfirmed submits ([4133242](https://github.com/kernel/kernel-node-sdk/commit/4133242031661afedca190f247a1c19e01070096))
11+
* Support egress allowlists on browser pools ([41f4980](https://github.com/kernel/kernel-node-sdk/commit/41f49801bfe0c7fa67cacc13c096f07270b2a6af))
12+
313
## [0.122.0](https://github.com/kernel/kernel-node-sdk/compare/v0.121.0...v0.122.0) (2026-10-09)
414

515

‎api.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ Types:
113113
- <code><a href="./src/resources/browsers/browsers.ts">BrowserReplResult</a></code>
114114
- <code><a href="./src/resources/browsers/browsers.ts">BrowserReplTextContent</a></code>
115115
- <code><a href="./src/resources/browsers/browsers.ts">BrowserUsage</a></code>
116+
- <code><a href="./src/resources/browsers/browsers.ts">BrowserVideoMemory</a></code>
116117
- <code><a href="./src/resources/browsers/browsers.ts">Profile</a></code>
117118
- <code><a href="./src/resources/browsers/browsers.ts">Tags</a></code>
118119
- <code><a href="./src/resources/browsers/browsers.ts">VaultReference</a></code>

‎package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@onkernel/sdk",
3-
"version": "0.122.0",
3+
"version": "0.123.0",
44
"description": "The official TypeScript library for the Kernel API",
55
"author": "Kernel <>",
66
"types": "dist/index.d.ts",

‎src/client.ts‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ import {
180180
BrowserUpdateParams,
181181
BrowserUpdateResponse,
182182
BrowserUsage,
183+
BrowserVideoMemory,
183184
Browsers,
184185
Profile,
185186
Tags,
@@ -1234,6 +1235,7 @@ export declare namespace Kernel {
12341235
type BrowserReplResult as BrowserReplResult,
12351236
type BrowserReplTextContent as BrowserReplTextContent,
12361237
type BrowserUsage as BrowserUsage,
1238+
type BrowserVideoMemory as BrowserVideoMemory,
12371239
type Profile as Profile,
12381240
type Tags as Tags,
12391241
type VaultReference as VaultReference,

‎src/resources/browser-pools.ts‎

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -517,6 +517,11 @@ export interface BrowserPoolAcquireResponse {
517517
*/
518518
vaults?: Array<BrowsersAPI.VaultReference>;
519519

520+
/**
521+
* Video memory (VRAM) of the GPU browser session. Only present when gpu is true.
522+
*/
523+
video_memory?: BrowsersAPI.BrowserVideoMemory;
524+
520525
/**
521526
* Initial browser window size in pixels with optional refresh rate. If omitted,
522527
* image defaults apply (1920x1080@25). For GPU images, the default is
@@ -585,9 +590,9 @@ export interface BrowserPoolCreateParams {
585590
name?: string;
586591

587592
/**
588-
* Network configuration applied to browsers in this pool. Proxy routes require
589-
* proxy-v3; the pool will not provision browsers through Envoy if proxy-v3 is
590-
* unavailable.
593+
* Network configuration applied to browsers in this pool. Egress allowlists and
594+
* proxy routes require proxy-v3; the pool will not provision browsers through
595+
* Envoy if proxy-v3 is unavailable.
591596
*/
592597
network?: BrowsersAPI.BrowserNetworkConfig;
593598

@@ -814,9 +819,11 @@ export interface BrowserPoolUpdateParams {
814819
* Whether to discard all idle browsers and rebuild them immediately with the new
815820
* configuration. Defaults to false. Only browsers that are idle when the update
816821
* runs are rebuilt. A browser that is in use during the update keeps its original
817-
* configuration, and if it is later released with `reuse: true` it returns to the
818-
* pool with that stale configuration until it is discarded (by this flag on a
819-
* later update, or by flushing the pool).
822+
* configuration, except that its allowlist is reset to the current pool baseline
823+
* on release or the browser is replaced. For other configuration fields, if it is
824+
* later released with `reuse: true` it returns to the pool with that stale
825+
* configuration until it is discarded (by this flag on a later update, or by
826+
* flushing the pool).
820827
*/
821828
discard_all_idle?: boolean;
822829

@@ -860,10 +867,14 @@ export interface BrowserPoolUpdateParams {
860867
* If provided, replaces the pool's network configuration. Omit to leave the
861868
* existing configuration unchanged; an empty object ({}) removes it, while
862869
* network: {private_hosts: []} or network: {proxy_routes: []} sets an explicit
863-
* empty list. Proxy routes require proxy-v3; the pool will not provision browsers
864-
* through Envoy if proxy-v3 is unavailable. Only applied to browsers created in
865-
* the pool after the update; browsers already in the pool keep their configuration
866-
* until discarded (see discard_all_idle).
870+
* empty list; allowed_hosts must be non-empty when supplied. Egress allowlists and
871+
* proxy routes require proxy-v3; the pool will not provision browsers through
872+
* Envoy if proxy-v3 is unavailable. Changing allowed_hosts automatically replaces
873+
* idle browsers. Leased browsers retain their allowlist until release, when it is
874+
* reset to the current pool baseline or the browser is replaced if it cannot
875+
* safely receive that baseline. Stale browsers cannot be acquired. Other network
876+
* fields only apply to browsers created after the update; existing browsers keep
877+
* those fields until discarded (see discard_all_idle).
867878
*/
868879
network?: BrowsersAPI.BrowserNetworkConfig;
869880

‎src/resources/browsers/browsers.ts‎

Lines changed: 43 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ export type ProfilesOffsetPagination = OffsetPagination<Profile>;
349349
/**
350350
* Memory allocated to the browser session.
351351
*/
352-
export type BrowserMemory = '1GiB' | '2GiB' | '6GiB' | '8GiB' | '16GiB';
352+
export type BrowserMemory = '1GiB' | '2GiB' | '6GiB' | '8GiB' | '12GiB' | '16GiB';
353353

354354
/**
355355
* Memory requested for a headful, non-GPU browser session.
@@ -380,8 +380,10 @@ export interface BrowserNetworkConfig {
380380
* processes in the browser VM that do not use the browser's proxy, are not
381381
* filtered, and Kernel's own control traffic is always allowed. Can be replaced or
382382
* removed while the session runs with PATCH /browsers/{id_or_name}, but not added
383-
* to a browser created without one. Requires proxy v3. Not supported on browser
384-
* pools.
383+
* to a browser created without one. Supported on browser pools and their leased
384+
* browsers. Per-lease changes are reset to the pool's allowlist on release. If a
385+
* lessee removes the allowlist and the pool still requires one, the browser is
386+
* replaced on release rather than given an allowlist again. Requires proxy v3.
385387
*/
386388
allowed_hosts?: Array<string>;
387389

@@ -475,8 +477,10 @@ export interface BrowserNetworkUpdate {
475477
* minutes during a Kernel deploy. Connections to destinations it still allows,
476478
* such as WebSockets, stay open. A start_url in the same request must be allowed
477479
* by the updated list, and is loaded only after the list takes effect. Requires a
478-
* browser created with proxy v3, and not supported on pooled browsers. If the
479-
* request fails, retry it: the new list may already apply to some requests.
480+
* browser created with proxy v3. Supported on leased pooled browsers; the pool's
481+
* allowlist is restored before reuse, or the browser is destroyed if it cannot be
482+
* safely restored. If the request fails, retry it: the new list may already apply
483+
* to some requests.
480484
*/
481485
allowed_hosts?: Array<string> | null;
482486
}
@@ -670,6 +674,12 @@ export interface BrowserUsage {
670674
uptime_ms: number;
671675
}
672676

677+
/**
678+
* Video memory (VRAM) of a GPU browser session. 2GiB sessions have 4 vCPU and 6GiB
679+
* memory. 4GiB sessions have 8 vCPU and 12GiB memory.
680+
*/
681+
export type BrowserVideoMemory = '2GiB' | '4GiB';
682+
673683
/**
674684
* Browser profile metadata.
675685
*/
@@ -868,6 +878,11 @@ export interface BrowserCreateResponse {
868878
*/
869879
vaults?: Array<VaultReference>;
870880

881+
/**
882+
* Video memory (VRAM) of the GPU browser session. Only present when gpu is true.
883+
*/
884+
video_memory?: BrowserVideoMemory;
885+
871886
/**
872887
* Initial browser window size in pixels with optional refresh rate. If omitted,
873888
* image defaults apply (1920x1080@25). For GPU images, the default is
@@ -1039,6 +1054,11 @@ export interface BrowserRetrieveResponse {
10391054
*/
10401055
vaults?: Array<VaultReference>;
10411056

1057+
/**
1058+
* Video memory (VRAM) of the GPU browser session. Only present when gpu is true.
1059+
*/
1060+
video_memory?: BrowserVideoMemory;
1061+
10421062
/**
10431063
* Initial browser window size in pixels with optional refresh rate. If omitted,
10441064
* image defaults apply (1920x1080@25). For GPU images, the default is
@@ -1210,6 +1230,11 @@ export interface BrowserUpdateResponse {
12101230
*/
12111231
vaults?: Array<VaultReference>;
12121232

1233+
/**
1234+
* Video memory (VRAM) of the GPU browser session. Only present when gpu is true.
1235+
*/
1236+
video_memory?: BrowserVideoMemory;
1237+
12131238
/**
12141239
* Initial browser window size in pixels with optional refresh rate. If omitted,
12151240
* image defaults apply (1920x1080@25). For GPU images, the default is
@@ -1381,6 +1406,11 @@ export interface BrowserListResponse {
13811406
*/
13821407
vaults?: Array<VaultReference>;
13831408

1409+
/**
1410+
* Video memory (VRAM) of the GPU browser session. Only present when gpu is true.
1411+
*/
1412+
video_memory?: BrowserVideoMemory;
1413+
13841414
/**
13851415
* Initial browser window size in pixels with optional refresh rate. If omitted,
13861416
* image defaults apply (1920x1080@25). For GPU images, the default is
@@ -1556,6 +1586,13 @@ export interface BrowserCreateParams {
15561586
*/
15571587
vaults?: Array<VaultReference>;
15581588

1589+
/**
1590+
* Video memory (VRAM) for a GPU browser session. Requires gpu=true. Defaults to
1591+
* 2GiB, which comes with 4 vCPU and 6GiB memory. 4GiB comes with 8 vCPU and 12GiB
1592+
* memory.
1593+
*/
1594+
video_memory?: BrowserVideoMemory;
1595+
15591596
/**
15601597
* Initial browser window size in pixels with optional refresh rate. If omitted,
15611598
* image defaults apply (1920x1080@25). For GPU images, the default is
@@ -2016,6 +2053,7 @@ export declare namespace Browsers {
20162053
type BrowserReplResult as BrowserReplResult,
20172054
type BrowserReplTextContent as BrowserReplTextContent,
20182055
type BrowserUsage as BrowserUsage,
2056+
type BrowserVideoMemory as BrowserVideoMemory,
20192057
type Profile as Profile,
20202058
type Tags as Tags,
20212059
type VaultReference as VaultReference,

‎src/resources/browsers/index.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export {
1616
type BrowserReplResult,
1717
type BrowserReplTextContent,
1818
type BrowserUsage,
19+
type BrowserVideoMemory,
1920
type Profile,
2021
type Tags,
2122
type VaultReference,

‎src/resources/browsers/telemetry.ts‎

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,10 @@ export class Telemetry extends APIResource {
4747
* stream closes when the browser session terminates. Each event frame includes an
4848
* id: field containing a monotonically increasing sequence number; pass it as
4949
* Last-Event-ID on reconnect to resume without gaps. The event: field is never
50-
* set; all frames carry JSON in the data: field. A keepalive comment frame is sent
50+
* set; event frames carry JSON in the data: field. A frame with an id: field and
51+
* no data: field moves Last-Event-ID past events that were not delivered, because
52+
* a type filter excluded them or they could not be decoded or exceeded the size
53+
* limit; SSE clients dispatch no event for it. A keepalive comment frame is sent
5154
* every 15 seconds when no events arrive. Returns 404 if the browser session does
5255
* not exist. If telemetry was not enabled on the session, the stream opens but no
5356
* events are delivered. Fresh connections only see new events; pass replay=all to
@@ -4996,6 +4999,17 @@ export interface TelemetryStreamParams {
49964999
*/
49975000
replay?: string;
49985001

5002+
/**
5003+
* Query param: Deliver only these event types, such as captcha_solve_started or
5004+
* captcha_challenge_result. Repeat the parameter or pass comma-separated values
5005+
* for multiple types. Keepalive frames are always delivered. Filtered-out events
5006+
* are not sent. An id-only frame carrying the latest skipped id is sent about
5007+
* every 15 seconds while skipped events keep arriving, and otherwise with the next
5008+
* keepalive or when the stream ends, so the connection stays active and
5009+
* Last-Event-ID moves past them; a reconnect resumes after the skipped events.
5010+
*/
5011+
type?: Array<string>;
5012+
49995013
/**
50005014
* Header param: Last event sequence number for SSE reconnection (sent by SSE
50015015
* clients on reconnect). Takes precedence over replay when both are present, so

‎src/resources/index.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ export {
5454
type BrowserReplResult,
5555
type BrowserReplTextContent,
5656
type BrowserUsage,
57+
type BrowserVideoMemory,
5758
type Profile,
5859
type Tags,
5960
type VaultReference,

0 commit comments

Comments
 (0)