Skip to content

Commit f2239d5

Browse files
authored
Merge pull request #11 from onkernel/release-please--branches--main--changes--next--components--sdk
release: 0.1.0-alpha.9
2 parents 1b13624 + da59191 commit f2239d5

File tree

13 files changed

+102
-73
lines changed

13 files changed

+102
-73
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.1.0-alpha.8"
2+
".": "0.1.0-alpha.9"
33
}

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 4
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-d168b58fcf39dbd0458d132091793d3e2d0930070b7dda2d5f7f1baff20dd31b.yml
3-
openapi_spec_hash: b7e0fd7ee1656d7dbad57209d1584d92
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-2af763aab4c314b382e1123edc4ee3d51c0fe7977730ce6776b9fb09b29fe291.yml
3+
openapi_spec_hash: be02256478be81fa3f649076879850bc
44
config_hash: eab40627b734534462ae3b8ccd8b263b

CHANGELOG.md

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

3+
## 0.1.0-alpha.9 (2025-05-12)
4+
5+
Full Changelog: [v0.1.0-alpha.8...v0.1.0-alpha.9](https://github.com/onkernel/kernel-node-sdk/compare/v0.1.0-alpha.8...v0.1.0-alpha.9)
6+
7+
### Features
8+
9+
* **api:** update via SDK Studio ([553e10c](https://github.com/onkernel/kernel-node-sdk/commit/553e10cfd6516146d2d81fb3cce9f3f88b21aa62))
10+
311
## 0.1.0-alpha.8 (2025-05-11)
412

513
Full Changelog: [v0.1.0-alpha.7...v0.1.0-alpha.8](https://github.com/onkernel/kernel-node-sdk/compare/v0.1.0-alpha.7...v0.1.0-alpha.8)

README.md

Lines changed: 13 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,11 @@ const client = new Kernel({
2929

3030
async function main() {
3131
const response = await client.apps.deploy({
32-
appName: 'REPLACE_ME',
3332
file: fs.createReadStream('path/to/file'),
3433
version: 'REPLACE_ME',
3534
});
3635

37-
console.log(response.id);
36+
console.log(response.apps);
3837
}
3938

4039
main();
@@ -54,11 +53,7 @@ const client = new Kernel({
5453
});
5554

5655
async function main() {
57-
const params: Kernel.AppDeployParams = {
58-
appName: 'REPLACE_ME',
59-
file: fs.createReadStream('path/to/file'),
60-
version: 'REPLACE_ME',
61-
};
56+
const params: Kernel.AppDeployParams = { file: fs.createReadStream('path/to/file'), version: 'REPLACE_ME' };
6257
const response: Kernel.AppDeployResponse = await client.apps.deploy(params);
6358
}
6459

@@ -83,37 +78,17 @@ import Kernel, { toFile } from '@onkernel/sdk';
8378
const client = new Kernel();
8479

8580
// If you have access to Node `fs` we recommend using `fs.createReadStream()`:
86-
await client.apps.deploy({
87-
appName: 'my-awesome-app',
88-
file: fs.createReadStream('/path/to/file'),
89-
version: '1.0.0',
90-
});
81+
await client.apps.deploy({ file: fs.createReadStream('/path/to/file') });
9182

9283
// Or if you have the web `File` API you can pass a `File` instance:
93-
await client.apps.deploy({
94-
appName: 'my-awesome-app',
95-
file: new File(['my bytes'], 'file'),
96-
version: '1.0.0',
97-
});
84+
await client.apps.deploy({ file: new File(['my bytes'], 'file') });
9885

9986
// You can also pass a `fetch` `Response`:
100-
await client.apps.deploy({
101-
appName: 'my-awesome-app',
102-
file: await fetch('https://somesite/file'),
103-
version: '1.0.0',
104-
});
87+
await client.apps.deploy({ file: await fetch('https://somesite/file') });
10588

10689
// Finally, if none of the above are convenient, you can use our `toFile` helper:
107-
await client.apps.deploy({
108-
appName: 'my-awesome-app',
109-
file: await toFile(Buffer.from('my bytes'), 'file'),
110-
version: '1.0.0',
111-
});
112-
await client.apps.deploy({
113-
appName: 'my-awesome-app',
114-
file: await toFile(new Uint8Array([0, 1, 2]), 'file'),
115-
version: '1.0.0',
116-
});
90+
await client.apps.deploy({ file: await toFile(Buffer.from('my bytes'), 'file') });
91+
await client.apps.deploy({ file: await toFile(new Uint8Array([0, 1, 2]), 'file') });
11792
```
11893

11994
## Handling errors
@@ -126,7 +101,7 @@ a subclass of `APIError` will be thrown:
126101
```ts
127102
async function main() {
128103
const response = await client.apps
129-
.deploy({ appName: 'REPLACE_ME', file: fs.createReadStream('path/to/file'), version: 'REPLACE_ME' })
104+
.deploy({ file: fs.createReadStream('path/to/file'), version: 'REPLACE_ME' })
130105
.catch(async (err) => {
131106
if (err instanceof Kernel.APIError) {
132107
console.log(err.status); // 400
@@ -170,7 +145,7 @@ const client = new Kernel({
170145
});
171146

172147
// Or, configure per-request:
173-
await client.apps.deploy({ appName: 'REPLACE_ME', file: fs.createReadStream('path/to/file'), version: 'REPLACE_ME' }, {
148+
await client.apps.deploy({ file: fs.createReadStream('path/to/file'), version: 'REPLACE_ME' }, {
174149
maxRetries: 5,
175150
});
176151
```
@@ -187,7 +162,7 @@ const client = new Kernel({
187162
});
188163

189164
// Override per-request:
190-
await client.apps.deploy({ appName: 'REPLACE_ME', file: fs.createReadStream('path/to/file'), version: 'REPLACE_ME' }, {
165+
await client.apps.deploy({ file: fs.createReadStream('path/to/file'), version: 'REPLACE_ME' }, {
191166
timeout: 5 * 1000,
192167
});
193168
```
@@ -211,16 +186,16 @@ Unlike `.asResponse()` this method consumes the body, returning once it is parse
211186
const client = new Kernel();
212187

213188
const response = await client.apps
214-
.deploy({ appName: 'REPLACE_ME', file: fs.createReadStream('path/to/file'), version: 'REPLACE_ME' })
189+
.deploy({ file: fs.createReadStream('path/to/file'), version: 'REPLACE_ME' })
215190
.asResponse();
216191
console.log(response.headers.get('X-My-Header'));
217192
console.log(response.statusText); // access the underlying Response object
218193

219194
const { data: response, response: raw } = await client.apps
220-
.deploy({ appName: 'REPLACE_ME', file: fs.createReadStream('path/to/file'), version: 'REPLACE_ME' })
195+
.deploy({ file: fs.createReadStream('path/to/file'), version: 'REPLACE_ME' })
221196
.withResponse();
222197
console.log(raw.headers.get('X-My-Header'));
223-
console.log(response.id);
198+
console.log(response.apps);
224199
```
225200

226201
### Logging

api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ Types:
2020

2121
Methods:
2222

23-
- <code title="post /browser">client.browser.<a href="./src/resources/browser.ts">createSession</a>() -> BrowserCreateSessionResponse</code>
23+
- <code title="post /browser">client.browser.<a href="./src/resources/browser.ts">createSession</a>({ ...params }) -> BrowserCreateSessionResponse</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.1.0-alpha.8",
3+
"version": "0.1.0-alpha.9",
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 & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import {
2828
AppRetrieveInvocationResponse,
2929
Apps,
3030
} from './resources/apps';
31-
import { Browser, BrowserCreateSessionResponse } from './resources/browser';
31+
import { Browser, BrowserCreateSessionParams, BrowserCreateSessionResponse } from './resources/browser';
3232
import { readEnv } from './internal/utils/env';
3333
import { formatRequestDetails, loggerFor } from './internal/utils/log';
3434
import { isEmptyObj } from './internal/utils/values';
@@ -751,5 +751,9 @@ export declare namespace Kernel {
751751
type AppInvokeParams as AppInvokeParams,
752752
};
753753

754-
export { Browser as Browser, type BrowserCreateSessionResponse as BrowserCreateSessionResponse };
754+
export {
755+
Browser as Browser,
756+
type BrowserCreateSessionResponse as BrowserCreateSessionResponse,
757+
type BrowserCreateSessionParams as BrowserCreateSessionParams,
758+
};
755759
}

src/resources/apps.ts

Lines changed: 40 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,7 @@ export class Apps extends APIResource {
1414
* @example
1515
* ```ts
1616
* const response = await client.apps.deploy({
17-
* appName: 'my-awesome-app',
1817
* file: fs.createReadStream('path/to/file'),
19-
* version: '1.0.0',
2018
* });
2119
* ```
2220
*/
@@ -32,7 +30,7 @@ export class Apps extends APIResource {
3230
* const response = await client.apps.invoke({
3331
* actionName: 'analyze',
3432
* appName: 'my-awesome-app',
35-
* payload: '{ "data": "example input" }',
33+
* payload: { data: 'example input' },
3634
* version: '1.0.0',
3735
* });
3836
* ```
@@ -57,10 +55,7 @@ export class Apps extends APIResource {
5755
}
5856

5957
export interface AppDeployResponse {
60-
/**
61-
* ID of the deployed app version
62-
*/
63-
id: string;
58+
apps: Array<AppDeployResponse.App>;
6459

6560
/**
6661
* Success message
@@ -73,6 +68,31 @@ export interface AppDeployResponse {
7368
success: boolean;
7469
}
7570

71+
export namespace AppDeployResponse {
72+
export interface App {
73+
/**
74+
* ID for the app version deployed
75+
*/
76+
id: string;
77+
78+
actions: Array<App.Action>;
79+
80+
/**
81+
* Name of the app
82+
*/
83+
name: string;
84+
}
85+
86+
export namespace App {
87+
export interface Action {
88+
/**
89+
* Name of the action
90+
*/
91+
name: string;
92+
}
93+
}
94+
}
95+
7696
export interface AppInvokeResponse {
7797
/**
7898
* ID of the invocation
@@ -108,24 +128,29 @@ export interface AppRetrieveInvocationResponse {
108128

109129
export interface AppDeployParams {
110130
/**
111-
* Name of the application
131+
* ZIP file containing the application source directory
112132
*/
113-
appName: string;
133+
file: Uploadable;
114134

115135
/**
116-
* ZIP file containing the application
136+
* Relative path to the entrypoint of the application
117137
*/
118-
file: Uploadable;
138+
entrypointRelPath?: string;
119139

120140
/**
121-
* Version of the application
141+
* Allow overwriting an existing app version
122142
*/
123-
version: string;
143+
force?: 'true' | 'false';
144+
145+
/**
146+
* Region for deployment. Currently we only support "aws.us-east-1a"
147+
*/
148+
region?: 'aws.us-east-1a';
124149

125150
/**
126-
* AWS region for deployment (e.g. "aws.us-east-1a")
151+
* Version of the application. Can be any string.
127152
*/
128-
region?: string;
153+
version?: string;
129154
}
130155

131156
export interface AppInvokeParams {

src/resources/browser.ts

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,11 @@ export class Browser extends APIResource {
88
/**
99
* Create Browser Session
1010
*/
11-
createSession(options?: RequestOptions): APIPromise<BrowserCreateSessionResponse> {
12-
return this._client.post('/browser', options);
11+
createSession(
12+
body: BrowserCreateSessionParams,
13+
options?: RequestOptions,
14+
): APIPromise<BrowserCreateSessionResponse> {
15+
return this._client.post('/browser', { body, ...options });
1316
}
1417
}
1518

@@ -30,6 +33,16 @@ export interface BrowserCreateSessionResponse {
3033
sessionId: string;
3134
}
3235

36+
export interface BrowserCreateSessionParams {
37+
/**
38+
* Kernel App invocation ID
39+
*/
40+
invocationId: string;
41+
}
42+
3343
export declare namespace Browser {
34-
export { type BrowserCreateSessionResponse as BrowserCreateSessionResponse };
44+
export {
45+
type BrowserCreateSessionResponse as BrowserCreateSessionResponse,
46+
type BrowserCreateSessionParams as BrowserCreateSessionParams,
47+
};
3548
}

src/resources/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ export {
88
type AppDeployParams,
99
type AppInvokeParams,
1010
} from './apps';
11-
export { Browser, type BrowserCreateSessionResponse } from './browser';
11+
export { Browser, type BrowserCreateSessionResponse, type BrowserCreateSessionParams } from './browser';

0 commit comments

Comments
 (0)