From 6e46d82d3974e7071b08efa3e97acfc514763d23 Mon Sep 17 00:00:00 2001 From: Steven Miller Date: Mon, 6 Oct 2025 16:36:43 -0400 Subject: [PATCH 1/4] Update docs with new config for residential proxy --- proxies/residential.mdx | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/proxies/residential.mdx b/proxies/residential.mdx index c2abaac..1373334 100644 --- a/proxies/residential.mdx +++ b/proxies/residential.mdx @@ -19,9 +19,7 @@ const proxy = await kernel.proxies.create({ name: 'my-california-residential', config: { country: 'US', - city: 'sanfrancisco', - zip: '94102', - os: 'windows' + city: 'los_angeles' } }); @@ -36,12 +34,10 @@ client = kernel.Kernel() proxy = client.proxies.create( type='residential', - name='my-california-residential', + name='my-la-residential', config={ 'country': 'US', - 'city': 'sanfrancisco', - 'zip': '94102', - 'os': 'windows' + 'city': 'los_angeles' } ) @@ -54,9 +50,8 @@ browser = client.browsers.create( ## Configuration Parameters -- **`country`** - ISO 3166 country code +- **`country`** - ISO 3166 country code. Must be provided when providing other targeting options. - **`state`** - Two-letter state code. Only supported for US and Australia. Cannot be used with `city` - **`city`** - City name (lowercase, no spaces, e.g., `sanfrancisco`, `newyork`). Required if `zip` is provided - **`zip`** - US ZIP code (5 digits). Requires `city` to be provided -- **`os`** - Operating system: `windows`, `macos`, or `android` -- **`asn`** - Autonomous System Number. Mutually exclusive with geo-location targeting \ No newline at end of file +- **`asn`** - Autonomous System Number. Conflicts with city and state. \ No newline at end of file From 67d9e86b4c0f9cfdb6f3fe365593ab190fcf173a Mon Sep 17 00:00:00 2001 From: Steven Miller Date: Mon, 6 Oct 2025 16:37:32 -0400 Subject: [PATCH 2/4] Less specific for mobile proxy --- proxies/mobile.mdx | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/proxies/mobile.mdx b/proxies/mobile.mdx index 4980e9a..0f18d23 100644 --- a/proxies/mobile.mdx +++ b/proxies/mobile.mdx @@ -16,10 +16,7 @@ const kernel = new Kernel(); const proxy = await kernel.proxies.create({ type: 'mobile', - name: 'my-tmobile-proxy', - config: { - carrier: 'tmobile' - } + name: 'mobile-proxy' }); const browser = await kernel.browsers.create({ @@ -33,10 +30,7 @@ client = kernel.Kernel() proxy = client.proxies.create( type='mobile', - name='my-tmobile-proxy', - config={ - 'carrier': 'tmobile' - } + name='mobile-proxy' ) browser = client.browsers.create( From d8661954b71e4ba445879f8271af4719d22460ce Mon Sep 17 00:00:00 2001 From: Steven Miller Date: Mon, 6 Oct 2025 16:39:54 -0400 Subject: [PATCH 3/4] Fix descriptions --- proxies/residential.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/proxies/residential.mdx b/proxies/residential.mdx index 1373334..3bac95e 100644 --- a/proxies/residential.mdx +++ b/proxies/residential.mdx @@ -16,7 +16,7 @@ const kernel = new Kernel(); const proxy = await kernel.proxies.create({ type: 'residential', - name: 'my-california-residential', + name: 'my-la-residential', config: { country: 'US', city: 'los_angeles' @@ -51,7 +51,7 @@ browser = client.browsers.create( ## Configuration Parameters - **`country`** - ISO 3166 country code. Must be provided when providing other targeting options. -- **`state`** - Two-letter state code. Only supported for US and Australia. Cannot be used with `city` -- **`city`** - City name (lowercase, no spaces, e.g., `sanfrancisco`, `newyork`). Required if `zip` is provided -- **`zip`** - US ZIP code (5 digits). Requires `city` to be provided +- **`state`** - Two-letter state code. Only supported for US. +- **`city`** - City name (lowercase, no spaces, e.g., `sanfrancisco`, `newyork`). +- **`zip`** - US ZIP code (5 digits). Conflicts with city and state. - **`asn`** - Autonomous System Number. Conflicts with city and state. \ No newline at end of file From 238d0572e83978d8cce4058d789e2b107361edaf Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 7 Oct 2025 14:07:30 +0000 Subject: [PATCH 4/4] docs: update code samples from OpenAPI --- .../openapi/delete-extensions-id_or_name.mdx | 23 ++++++++++++++ .../get-extensions-from_chrome_store.mdx | 31 +++++++++++++++++++ .../openapi/get-extensions-id_or_name.mdx | 31 +++++++++++++++++++ snippets/openapi/get-extensions.mdx | 24 ++++++++++++++ .../openapi/post-browsers-id-extensions.mdx | 29 +++++++++++++++++ snippets/openapi/post-extensions.mdx | 26 ++++++++++++++++ 6 files changed, 164 insertions(+) create mode 100644 snippets/openapi/delete-extensions-id_or_name.mdx create mode 100644 snippets/openapi/get-extensions-from_chrome_store.mdx create mode 100644 snippets/openapi/get-extensions-id_or_name.mdx create mode 100644 snippets/openapi/get-extensions.mdx create mode 100644 snippets/openapi/post-browsers-id-extensions.mdx create mode 100644 snippets/openapi/post-extensions.mdx diff --git a/snippets/openapi/delete-extensions-id_or_name.mdx b/snippets/openapi/delete-extensions-id_or_name.mdx new file mode 100644 index 0000000..e4ea835 --- /dev/null +++ b/snippets/openapi/delete-extensions-id_or_name.mdx @@ -0,0 +1,23 @@ + +```typescript Typescript/Javascript +import Kernel from '@onkernel/sdk'; + +const client = new Kernel({ + apiKey: 'My API Key', +}); + +await client.extensions.delete('id_or_name'); +``` + + +```python Python +from kernel import Kernel + +client = Kernel( + api_key="My API Key", +) +client.extensions.delete( + "id_or_name", +) +``` + diff --git a/snippets/openapi/get-extensions-from_chrome_store.mdx b/snippets/openapi/get-extensions-from_chrome_store.mdx new file mode 100644 index 0000000..e00b5f0 --- /dev/null +++ b/snippets/openapi/get-extensions-from_chrome_store.mdx @@ -0,0 +1,31 @@ + +```typescript Typescript/Javascript +import Kernel from '@onkernel/sdk'; + +const client = new Kernel({ + apiKey: 'My API Key', +}); + +const response = await client.extensions.downloadFromChromeStore({ url: 'url' }); + +console.log(response); + +const content = await response.blob(); +console.log(content); +``` + + +```python Python +from kernel import Kernel + +client = Kernel( + api_key="My API Key", +) +response = client.extensions.download_from_chrome_store( + url="url", +) +print(response) +content = response.read() +print(content) +``` + diff --git a/snippets/openapi/get-extensions-id_or_name.mdx b/snippets/openapi/get-extensions-id_or_name.mdx new file mode 100644 index 0000000..1de750e --- /dev/null +++ b/snippets/openapi/get-extensions-id_or_name.mdx @@ -0,0 +1,31 @@ + +```typescript Typescript/Javascript +import Kernel from '@onkernel/sdk'; + +const client = new Kernel({ + apiKey: 'My API Key', +}); + +const response = await client.extensions.download('id_or_name'); + +console.log(response); + +const content = await response.blob(); +console.log(content); +``` + + +```python Python +from kernel import Kernel + +client = Kernel( + api_key="My API Key", +) +response = client.extensions.download( + "id_or_name", +) +print(response) +content = response.read() +print(content) +``` + diff --git a/snippets/openapi/get-extensions.mdx b/snippets/openapi/get-extensions.mdx new file mode 100644 index 0000000..f1de6cb --- /dev/null +++ b/snippets/openapi/get-extensions.mdx @@ -0,0 +1,24 @@ + +```typescript Typescript/Javascript +import Kernel from '@onkernel/sdk'; + +const client = new Kernel({ + apiKey: 'My API Key', +}); + +const extensions = await client.extensions.list(); + +console.log(extensions); +``` + + +```python Python +from kernel import Kernel + +client = Kernel( + api_key="My API Key", +) +extensions = client.extensions.list() +print(extensions) +``` + diff --git a/snippets/openapi/post-browsers-id-extensions.mdx b/snippets/openapi/post-browsers-id-extensions.mdx new file mode 100644 index 0000000..91b4802 --- /dev/null +++ b/snippets/openapi/post-browsers-id-extensions.mdx @@ -0,0 +1,29 @@ + +```typescript Typescript/Javascript +import Kernel from '@onkernel/sdk'; + +const client = new Kernel({ + apiKey: 'My API Key', +}); + +await client.browsers.uploadExtensions('id', { + extensions: [{ name: 'name', zip_file: fs.createReadStream('path/to/file') }], +}); +``` + + +```python Python +from kernel import Kernel + +client = Kernel( + api_key="My API Key", +) +client.browsers.upload_extensions( + id="id", + extensions=[{ + "name": "name", + "zip_file": b"raw file contents", + }], +) +``` + diff --git a/snippets/openapi/post-extensions.mdx b/snippets/openapi/post-extensions.mdx new file mode 100644 index 0000000..ed1269b --- /dev/null +++ b/snippets/openapi/post-extensions.mdx @@ -0,0 +1,26 @@ + +```typescript Typescript/Javascript +import Kernel from '@onkernel/sdk'; + +const client = new Kernel({ + apiKey: 'My API Key', +}); + +const response = await client.extensions.upload({ file: fs.createReadStream('path/to/file') }); + +console.log(response.id); +``` + + +```python Python +from kernel import Kernel + +client = Kernel( + api_key="My API Key", +) +response = client.extensions.upload( + file=b"raw file contents", +) +print(response.id) +``` +