diff --git a/.gitignore b/.gitignore index 46ab1e4..9487e48 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ dist-deno /*.tgz .idea/ .eslintcache +oidc diff --git a/.release-please-manifest.json b/.release-please-manifest.json index e564a44..ca683ed 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.45.0" + ".": "0.46.0" } diff --git a/.stats.yml b/.stats.yml index 8ed1b33..4bc313e 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 104 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-20310988401243aa5c4a2e2ac6cba5dd90873fb7b83497a2d50c691352c0dd7b.yml -openapi_spec_hash: e19e650b4b2c8c8fde1f739c4aab6b33 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-f7024f4171c7c4ec558de1c27f338b1089ffddd0d2dbfdb9bb9f9c2abe8f47bf.yml +openapi_spec_hash: ced43682b49e73a2862f99b49abb4fcd config_hash: 16e4457a0bb26e98a335a1c2a572290a diff --git a/CHANGELOG.md b/CHANGELOG.md index 79ee895..a40c82b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## 0.46.0 (2026-04-06) + +Full Changelog: [v0.45.0...v0.46.0](https://github.com/kernel/kernel-node-sdk/compare/v0.45.0...v0.46.0) + +### Features + +* Add optional url parameter to proxy check endpoint ([eb53ca2](https://github.com/kernel/kernel-node-sdk/commit/eb53ca23e7ec879ff93ca9c3b76413f98c6dbd87)) + + +### Bug Fixes + +* **internal:** gitignore generated `oidc` dir ([2e37932](https://github.com/kernel/kernel-node-sdk/commit/2e3793282c496980415e3fac8cedaaff49d143a5)) + ## 0.45.0 (2026-03-30) Full Changelog: [v0.44.0...v0.45.0](https://github.com/kernel/kernel-node-sdk/compare/v0.44.0...v0.45.0) diff --git a/api.md b/api.md index 383b68b..1d47fcb 100644 --- a/api.md +++ b/api.md @@ -245,7 +245,7 @@ Methods: - client.proxies.retrieve(id) -> ProxyRetrieveResponse - client.proxies.list() -> ProxyListResponse - client.proxies.delete(id) -> void -- client.proxies.check(id) -> ProxyCheckResponse +- client.proxies.check(id, { ...params }) -> ProxyCheckResponse # Extensions diff --git a/package-lock.json b/package-lock.json index 93d8599..06480a4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@onkernel/sdk", - "version": "0.45.0", + "version": "0.46.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@onkernel/sdk", - "version": "0.45.0", + "version": "0.46.0", "license": "Apache-2.0", "devDependencies": { "@arethetypeswrong/cli": "^0.17.0", diff --git a/package.json b/package.json index 30c14f2..9611257 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@onkernel/sdk", - "version": "0.45.0", + "version": "0.46.0", "description": "The official TypeScript library for the Kernel API", "author": "Kernel <>", "types": "dist/index.d.ts", diff --git a/src/client.ts b/src/client.ts index 81e51e9..9b34f29 100644 --- a/src/client.ts +++ b/src/client.ts @@ -92,6 +92,7 @@ import { import { ProfileCreateParams, ProfileListParams, Profiles } from './resources/profiles'; import { Proxies, + ProxyCheckParams, ProxyCheckResponse, ProxyCreateParams, ProxyCreateResponse, @@ -1021,6 +1022,7 @@ export declare namespace Kernel { type ProxyListResponse as ProxyListResponse, type ProxyCheckResponse as ProxyCheckResponse, type ProxyCreateParams as ProxyCreateParams, + type ProxyCheckParams as ProxyCheckParams, }; export { diff --git a/src/resources/index.ts b/src/resources/index.ts index 18963e7..a5b082c 100644 --- a/src/resources/index.ts +++ b/src/resources/index.ts @@ -103,4 +103,5 @@ export { type ProxyListResponse, type ProxyCheckResponse, type ProxyCreateParams, + type ProxyCheckParams, } from './proxies'; diff --git a/src/resources/proxies.ts b/src/resources/proxies.ts index 0e0d271..fdf7b92 100644 --- a/src/resources/proxies.ts +++ b/src/resources/proxies.ts @@ -42,10 +42,19 @@ export class Proxies extends APIResource { } /** - * Run a health check on the proxy to verify it's working. + * Run a health check on the proxy to verify it's working. Optionally specify a URL + * to test reachability against a specific target. For ISP and datacenter proxies, + * this reliably tests whether the target site is reachable from the proxy's stable + * exit IP. For residential and mobile proxies, the exit node varies between + * requests, so this validates proxy configuration and connectivity rather than + * guaranteeing site-specific reachability. */ - check(id: string, options?: RequestOptions): APIPromise { - return this._client.post(path`/proxies/${id}/check`, options); + check( + id: string, + body: ProxyCheckParams | null | undefined = {}, + options?: RequestOptions, + ): APIPromise { + return this._client.post(path`/proxies/${id}/check`, { body, ...options }); } } @@ -1183,6 +1192,22 @@ export namespace ProxyCreateParams { } } +export interface ProxyCheckParams { + /** + * An optional URL to test reachability against. If provided, the proxy check will + * test connectivity to this URL instead of the default test URLs. Only HTTP and + * HTTPS schemes are allowed, and the URL must resolve to a public IP address. For + * ISP and datacenter proxies, the exit IP is stable, so a successful check + * reliably indicates that subsequent browser sessions will reach the target site + * with the same IP. For residential and mobile proxies, the exit node changes + * between requests, so a successful check validates proxy configuration but does + * not guarantee that a subsequent browser session will use the same exit IP or + * reach the same site — it is useful for verifying credentials and connectivity, + * not for predicting site-specific behavior. + */ + url?: string; +} + export declare namespace Proxies { export { type ProxyCreateResponse as ProxyCreateResponse, @@ -1190,5 +1215,6 @@ export declare namespace Proxies { type ProxyListResponse as ProxyListResponse, type ProxyCheckResponse as ProxyCheckResponse, type ProxyCreateParams as ProxyCreateParams, + type ProxyCheckParams as ProxyCheckParams, }; } diff --git a/src/version.ts b/src/version.ts index 27643a4..e6f7960 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const VERSION = '0.45.0'; // x-release-please-version +export const VERSION = '0.46.0'; // x-release-please-version diff --git a/tests/api-resources/proxies.test.ts b/tests/api-resources/proxies.test.ts index 237c7dc..63142f8 100644 --- a/tests/api-resources/proxies.test.ts +++ b/tests/api-resources/proxies.test.ts @@ -78,4 +78,12 @@ describe('resource proxies', () => { expect(dataAndResponse.data).toBe(response); expect(dataAndResponse.response).toBe(rawResponse); }); + + // Mock server tests are disabled + test.skip('check: request options and params are passed correctly', async () => { + // ensure the request options are being passed correctly by passing an invalid HTTP method in order to cause an error + await expect( + client.proxies.check('id', { url: 'url' }, { path: '/_stainless_unknown_path' }), + ).rejects.toThrow(Kernel.NotFoundError); + }); });