@@ -27,14 +27,9 @@ const client = new Kernel({
2727 environment: ' development' , // defaults to 'production'
2828});
2929
30- const deployment = await client .apps .deployments .create ({
31- entrypoint_rel_path: ' main.ts' ,
32- file: fs .createReadStream (' path/to/file' ),
33- env_vars: { OPENAI_API_KEY : ' x' },
34- version: ' 1.0.0' ,
35- });
30+ const browser = await client .browsers .create ({ persistence: { id: ' browser-for-user-1234' } });
3631
37- console .log (deployment . apps );
32+ console .log (browser . session_id );
3833```
3934
4035### Request & Response types
@@ -50,10 +45,7 @@ const client = new Kernel({
5045 environment: ' development' , // defaults to 'production'
5146});
5247
53- const params: Kernel .BrowserCreateParams = {
54- invocation_id: ' REPLACE_ME' ,
55- persistence: { id: ' browser-for-user-1234' },
56- };
48+ const params: Kernel .BrowserCreateParams = { persistence: { id: ' browser-for-user-1234' } };
5749const browser: Kernel .BrowserCreateResponse = await client .browsers .create (params );
5850```
5951
@@ -75,29 +67,26 @@ import Kernel, { toFile } from '@onkernel/sdk';
7567const client = new Kernel ();
7668
7769// If you have access to Node `fs` we recommend using `fs.createReadStream()`:
78- await client .apps . deployments .create ({
70+ await client .deployments .create ({
7971 entrypoint_rel_path: ' src/app.py' ,
8072 file: fs .createReadStream (' /path/to/file' ),
8173});
8274
8375// Or if you have the web `File` API you can pass a `File` instance:
84- await client .apps .deployments .create ({
85- entrypoint_rel_path: ' src/app.py' ,
86- file: new File ([' my bytes' ], ' file' ),
87- });
76+ await client .deployments .create ({ entrypoint_rel_path: ' src/app.py' , file: new File ([' my bytes' ], ' file' ) });
8877
8978// You can also pass a `fetch` `Response`:
90- await client .apps . deployments .create ({
79+ await client .deployments .create ({
9180 entrypoint_rel_path: ' src/app.py' ,
9281 file: await fetch (' https://somesite/file' ),
9382});
9483
9584// Finally, if none of the above are convenient, you can use our `toFile` helper:
96- await client .apps . deployments .create ({
85+ await client .deployments .create ({
9786 entrypoint_rel_path: ' src/app.py' ,
9887 file: await toFile (Buffer .from (' my bytes' ), ' file' ),
9988});
100- await client .apps . deployments .create ({
89+ await client .deployments .create ({
10190 entrypoint_rel_path: ' src/app.py' ,
10291 file: await toFile (new Uint8Array ([0 , 1 , 2 ]), ' file' ),
10392});
@@ -112,7 +101,7 @@ a subclass of `APIError` will be thrown:
112101<!-- prettier-ignore -->
113102``` ts
114103const browser = await client .browsers
115- .create ({ invocation_id: ' REPLACE_ME ' , persistence: { id: ' browser-for-user-1234' } })
104+ .create ({ persistence: { id: ' browser-for-user-1234' } })
116105 .catch (async (err ) => {
117106 if (err instanceof Kernel .APIError ) {
118107 console .log (err .status ); // 400
@@ -153,7 +142,7 @@ const client = new Kernel({
153142});
154143
155144// Or, configure per-request:
156- await client .browsers .create ({ invocation_id : ' REPLACE_ME ' , persistence: { id: ' browser-for-user-1234' } }, {
145+ await client .browsers .create ({ persistence: { id: ' browser-for-user-1234' } }, {
157146 maxRetries: 5 ,
158147});
159148```
@@ -170,7 +159,7 @@ const client = new Kernel({
170159});
171160
172161// Override per-request:
173- await client .browsers .create ({ invocation_id: ' REPLACE_ME ' , persistence: { id: ' browser-for-user-1234' } }, {
162+ await client .browsers .create ({ persistence: { id: ' browser-for-user-1234' } }, {
174163 timeout: 5 * 1000 ,
175164});
176165```
@@ -193,14 +182,12 @@ Unlike `.asResponse()` this method consumes the body, returning once it is parse
193182``` ts
194183const client = new Kernel ();
195184
196- const response = await client .browsers
197- .create ({ invocation_id: ' REPLACE_ME' , persistence: { id: ' browser-for-user-1234' } })
198- .asResponse ();
185+ const response = await client .browsers .create ({ persistence: { id: ' browser-for-user-1234' } }).asResponse ();
199186console .log (response .headers .get (' X-My-Header' ));
200187console .log (response .statusText ); // access the underlying Response object
201188
202189const { data : browser, response : raw } = await client .browsers
203- .create ({ invocation_id: ' REPLACE_ME ' , persistence: { id: ' browser-for-user-1234' } })
190+ .create ({ persistence: { id: ' browser-for-user-1234' } })
204191 .withResponse ();
205192console .log (raw .headers .get (' X-My-Header' ));
206193console .log (browser .session_id );
@@ -283,7 +270,7 @@ parameter. This library doesn't validate at runtime that the request matches the
283270send will be sent as-is.
284271
285272``` ts
286- client .apps . deployments .create ({
273+ client .browsers .create ({
287274 // ...
288275 // @ts-expect-error baz is not yet public
289276 baz: ' undocumented option' ,
0 commit comments