Skip to content

Commit f7752c6

Browse files
authored
Merge pull request #22 from onkernel/release-please--branches--main--changes--next--components--sdk
release: 0.3.0
2 parents 87532b6 + a7ec747 commit f7752c6

File tree

14 files changed

+221
-29
lines changed

14 files changed

+221
-29
lines changed

.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.2.0"
2+
".": "0.3.0"
33
}

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 7
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-39aa058a60035c34a636e7f580b4b9c76b05400ae401ef04a761572b20a5425b.yml
3-
openapi_spec_hash: bb79a204f9edb6b6ccfe783a0a82a423
4-
config_hash: 3eb1ed1dd0067258984b31d53a0dab48
1+
configured_endpoints: 10
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-3edc7a0eef4a0d4495782efbdb0d9b777a55aee058dab119f90de56019441326.yml
3+
openapi_spec_hash: dff0b1efa1c1614cf770ed8327cefab2
4+
config_hash: cb04a4d88ee9f530b303ca57ff7090b3

CHANGELOG.md

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

3+
## 0.3.0 (2025-05-22)
4+
5+
Full Changelog: [v0.2.0...v0.3.0](https://github.com/onkernel/kernel-node-sdk/compare/v0.2.0...v0.3.0)
6+
7+
### Features
8+
9+
* **api:** update via SDK Studio ([4203ce6](https://github.com/onkernel/kernel-node-sdk/commit/4203ce6729274b73b8cfec048b149405098a0295))
10+
* **api:** update via SDK Studio ([17ea405](https://github.com/onkernel/kernel-node-sdk/commit/17ea40587b26c15bf6d2fb8ac7521d6a635bad9c))
11+
* **api:** update via SDK Studio ([f8bf6c3](https://github.com/onkernel/kernel-node-sdk/commit/f8bf6c3b395a702ecdfe6f1517416bdeadf0b726))
12+
* **api:** update via SDK Studio ([4164908](https://github.com/onkernel/kernel-node-sdk/commit/416490808559874428ef93270296235a8eaeb046))
13+
14+
15+
### Chores
16+
17+
* **docs:** grammar improvements ([b07afdd](https://github.com/onkernel/kernel-node-sdk/commit/b07afdd965c35a2eafc2c3604cec0c0bd76d8abd))
18+
319
## 0.2.0 (2025-05-21)
420

521
Full Changelog: [v0.1.0...v0.2.0](https://github.com/onkernel/kernel-node-sdk/compare/v0.1.0...v0.2.0)

README.md

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,10 @@ const client = new Kernel({
5555
});
5656

5757
async function main() {
58-
const params: Kernel.BrowserCreateParams = { invocation_id: 'REPLACE_ME' };
58+
const params: Kernel.BrowserCreateParams = {
59+
invocation_id: 'REPLACE_ME',
60+
persistence: { id: 'browser-for-user-1234' },
61+
};
5962
const browser: Kernel.BrowserCreateResponse = await client.browsers.create(params);
6063
}
6164

@@ -117,15 +120,17 @@ a subclass of `APIError` will be thrown:
117120
<!-- prettier-ignore -->
118121
```ts
119122
async function main() {
120-
const browser = await client.browsers.create({ invocation_id: 'REPLACE_ME' }).catch(async (err) => {
121-
if (err instanceof Kernel.APIError) {
122-
console.log(err.status); // 400
123-
console.log(err.name); // BadRequestError
124-
console.log(err.headers); // {server: 'nginx', ...}
125-
} else {
126-
throw err;
127-
}
128-
});
123+
const browser = await client.browsers
124+
.create({ invocation_id: 'REPLACE_ME', persistence: { id: 'browser-for-user-1234' } })
125+
.catch(async (err) => {
126+
if (err instanceof Kernel.APIError) {
127+
console.log(err.status); // 400
128+
console.log(err.name); // BadRequestError
129+
console.log(err.headers); // {server: 'nginx', ...}
130+
} else {
131+
throw err;
132+
}
133+
});
129134
}
130135

131136
main();
@@ -160,7 +165,7 @@ const client = new Kernel({
160165
});
161166

162167
// Or, configure per-request:
163-
await client.browsers.create({ invocation_id: 'REPLACE_ME' }, {
168+
await client.browsers.create({ invocation_id: 'REPLACE_ME', persistence: { id: 'browser-for-user-1234' } }, {
164169
maxRetries: 5,
165170
});
166171
```
@@ -177,7 +182,7 @@ const client = new Kernel({
177182
});
178183

179184
// Override per-request:
180-
await client.browsers.create({ invocation_id: 'REPLACE_ME' }, {
185+
await client.browsers.create({ invocation_id: 'REPLACE_ME', persistence: { id: 'browser-for-user-1234' } }, {
181186
timeout: 5 * 1000,
182187
});
183188
```
@@ -200,12 +205,14 @@ Unlike `.asResponse()` this method consumes the body, returning once it is parse
200205
```ts
201206
const client = new Kernel();
202207

203-
const response = await client.browsers.create({ invocation_id: 'REPLACE_ME' }).asResponse();
208+
const response = await client.browsers
209+
.create({ invocation_id: 'REPLACE_ME', persistence: { id: 'browser-for-user-1234' } })
210+
.asResponse();
204211
console.log(response.headers.get('X-My-Header'));
205212
console.log(response.statusText); // access the underlying Response object
206213

207214
const { data: browser, response: raw } = await client.browsers
208-
.create({ invocation_id: 'REPLACE_ME' })
215+
.create({ invocation_id: 'REPLACE_ME', persistence: { id: 'browser-for-user-1234' } })
209216
.withResponse();
210217
console.log(raw.headers.get('X-My-Header'));
211218
console.log(browser.session_id);

SECURITY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ before making any information public.
1616
## Reporting Non-SDK Related Security Issues
1717

1818
If you encounter security issues that are not directly related to SDKs but pertain to the services
19-
or products provided by Kernel please follow the respective company's security reporting guidelines.
19+
or products provided by Kernel, please follow the respective company's security reporting guidelines.
2020

2121
---
2222

api.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,15 @@ Methods:
3636

3737
Types:
3838

39+
- <code><a href="./src/resources/browsers.ts">BrowserPersistence</a></code>
3940
- <code><a href="./src/resources/browsers.ts">BrowserCreateResponse</a></code>
4041
- <code><a href="./src/resources/browsers.ts">BrowserRetrieveResponse</a></code>
42+
- <code><a href="./src/resources/browsers.ts">BrowserListResponse</a></code>
4143

4244
Methods:
4345

4446
- <code title="post /browsers">client.browsers.<a href="./src/resources/browsers.ts">create</a>({ ...params }) -> BrowserCreateResponse</code>
4547
- <code title="get /browsers/{id}">client.browsers.<a href="./src/resources/browsers.ts">retrieve</a>(id) -> BrowserRetrieveResponse</code>
48+
- <code title="get /browsers">client.browsers.<a href="./src/resources/browsers.ts">list</a>() -> BrowserListResponse</code>
49+
- <code title="delete /browsers">client.browsers.<a href="./src/resources/browsers.ts">delete</a>({ ...params }) -> void</code>
50+
- <code title="delete /browsers/{id}">client.browsers.<a href="./src/resources/browsers.ts">deleteByID</a>(id) -> void</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.2.0",
3+
"version": "0.3.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: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ import { FinalRequestOptions, RequestOptions } from './internal/request-options'
2323
import {
2424
BrowserCreateParams,
2525
BrowserCreateResponse,
26+
BrowserDeleteParams,
27+
BrowserListResponse,
28+
BrowserPersistence,
2629
BrowserRetrieveResponse,
2730
Browsers,
2831
} from './resources/browsers';
@@ -744,8 +747,11 @@ export declare namespace Kernel {
744747

745748
export {
746749
Browsers as Browsers,
750+
type BrowserPersistence as BrowserPersistence,
747751
type BrowserCreateResponse as BrowserCreateResponse,
748752
type BrowserRetrieveResponse as BrowserRetrieveResponse,
753+
type BrowserListResponse as BrowserListResponse,
749754
type BrowserCreateParams as BrowserCreateParams,
755+
type BrowserDeleteParams as BrowserDeleteParams,
750756
};
751757
}

src/resources/apps/invocations.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export class Invocations extends APIResource {
2828
* @example
2929
* ```ts
3030
* const invocation = await client.apps.invocations.retrieve(
31-
* 'ckqwer3o20000jb9s7abcdef',
31+
* 'rr33xuugxj9h0bkf1rdt2bet',
3232
* );
3333
* ```
3434
*/

src/resources/browsers.ts

Lines changed: 113 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

33
import { APIResource } from '../core/resource';
4+
import * as BrowsersAPI from './browsers';
45
import { APIPromise } from '../core/api-promise';
6+
import { buildHeaders } from '../internal/headers';
57
import { RequestOptions } from '../internal/request-options';
68
import { path } from '../internal/utils/path';
79

@@ -12,7 +14,7 @@ export class Browsers extends APIResource {
1214
* @example
1315
* ```ts
1416
* const browser = await client.browsers.create({
15-
* invocation_id: 'ckqwer3o20000jb9s7abcdef',
17+
* invocation_id: 'rr33xuugxj9h0bkf1rdt2bet',
1618
* });
1719
* ```
1820
*/
@@ -26,13 +28,71 @@ export class Browsers extends APIResource {
2628
* @example
2729
* ```ts
2830
* const browser = await client.browsers.retrieve(
29-
* 'e5bf36fe-9247-4e2b-8b5a-2f594cc1c073',
31+
* 'htzv5orfit78e1m2biiifpbv',
3032
* );
3133
* ```
3234
*/
3335
retrieve(id: string, options?: RequestOptions): APIPromise<BrowserRetrieveResponse> {
3436
return this._client.get(path`/browsers/${id}`, options);
3537
}
38+
39+
/**
40+
* List active browser sessions for the authenticated user
41+
*
42+
* @example
43+
* ```ts
44+
* const browsers = await client.browsers.list();
45+
* ```
46+
*/
47+
list(options?: RequestOptions): APIPromise<BrowserListResponse> {
48+
return this._client.get('/browsers', options);
49+
}
50+
51+
/**
52+
* Delete a persistent browser session by persistent_id query parameter.
53+
*
54+
* @example
55+
* ```ts
56+
* await client.browsers.delete({
57+
* persistent_id: 'persistent_id',
58+
* });
59+
* ```
60+
*/
61+
delete(params: BrowserDeleteParams, options?: RequestOptions): APIPromise<void> {
62+
const { persistent_id } = params;
63+
return this._client.delete('/browsers', {
64+
query: { persistent_id },
65+
...options,
66+
headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
67+
});
68+
}
69+
70+
/**
71+
* Delete Browser Session by ID
72+
*
73+
* @example
74+
* ```ts
75+
* await client.browsers.deleteByID(
76+
* 'htzv5orfit78e1m2biiifpbv',
77+
* );
78+
* ```
79+
*/
80+
deleteByID(id: string, options?: RequestOptions): APIPromise<void> {
81+
return this._client.delete(path`/browsers/${id}`, {
82+
...options,
83+
headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
84+
});
85+
}
86+
}
87+
88+
/**
89+
* Optional persistence configuration for the browser session.
90+
*/
91+
export interface BrowserPersistence {
92+
/**
93+
* Unique identifier for the persistent browser session.
94+
*/
95+
id: string;
3696
}
3797

3898
export interface BrowserCreateResponse {
@@ -50,6 +110,11 @@ export interface BrowserCreateResponse {
50110
* Unique identifier for the browser session
51111
*/
52112
session_id: string;
113+
114+
/**
115+
* Optional persistence configuration for the browser session.
116+
*/
117+
persistence?: BrowserPersistence;
53118
}
54119

55120
export interface BrowserRetrieveResponse {
@@ -67,19 +132,65 @@ export interface BrowserRetrieveResponse {
67132
* Unique identifier for the browser session
68133
*/
69134
session_id: string;
135+
136+
/**
137+
* Optional persistence configuration for the browser session.
138+
*/
139+
persistence?: BrowserPersistence;
140+
}
141+
142+
export type BrowserListResponse = Array<BrowserListResponse.BrowserListResponseItem>;
143+
144+
export namespace BrowserListResponse {
145+
export interface BrowserListResponseItem {
146+
/**
147+
* Remote URL for live viewing the browser session
148+
*/
149+
browser_live_view_url: string;
150+
151+
/**
152+
* Websocket URL for Chrome DevTools Protocol connections to the browser session
153+
*/
154+
cdp_ws_url: string;
155+
156+
/**
157+
* Unique identifier for the browser session
158+
*/
159+
session_id: string;
160+
161+
/**
162+
* Optional persistence configuration for the browser session.
163+
*/
164+
persistence?: BrowsersAPI.BrowserPersistence;
165+
}
70166
}
71167

72168
export interface BrowserCreateParams {
73169
/**
74170
* action invocation ID
75171
*/
76172
invocation_id: string;
173+
174+
/**
175+
* Optional persistence configuration for the browser session.
176+
*/
177+
persistence?: BrowserPersistence;
178+
}
179+
180+
export interface BrowserDeleteParams {
181+
/**
182+
* Persistent browser identifier
183+
*/
184+
persistent_id: string;
77185
}
78186

79187
export declare namespace Browsers {
80188
export {
189+
type BrowserPersistence as BrowserPersistence,
81190
type BrowserCreateResponse as BrowserCreateResponse,
82191
type BrowserRetrieveResponse as BrowserRetrieveResponse,
192+
type BrowserListResponse as BrowserListResponse,
83193
type BrowserCreateParams as BrowserCreateParams,
194+
type BrowserDeleteParams as BrowserDeleteParams,
84195
};
85196
}

0 commit comments

Comments
 (0)