Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.100.0"
".": "0.101.0"
}
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# Changelog

## [0.101.0](https://github.com/kernel/kernel-node-sdk/compare/v0.100.0...v0.101.0) (2026-09-10)


### Features

* Add config analysis lifecycle guarantees ([2468a0a](https://github.com/kernel/kernel-node-sdk/commit/2468a0a74d674ccfce2f3f301a5ca904ac689372))
* Clarify proxy country defaults ([43f283c](https://github.com/kernel/kernel-node-sdk/commit/43f283c8aecfc74b8daa9145cc0b8fe7a65d7a47))
* Expose vault access in organization entitlements ([0594999](https://github.com/kernel/kernel-node-sdk/commit/05949995501dcbccffed74f80e60a0447e0ef105))
* Limit free organizations to three vaults ([5c17e2d](https://github.com/kernel/kernel-node-sdk/commit/5c17e2d9b5ecfbbb5c2a959c1ce1112d543fbdb1))
* Support international ISP proxy countries ([833e524](https://github.com/kernel/kernel-node-sdk/commit/833e5240c705ab73d9160f0cd9c6117e2fe726d3))

## [0.100.0](https://github.com/kernel/kernel-node-sdk/compare/v0.99.0...v0.100.0) (2026-09-04)


Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@onkernel/sdk",
"version": "0.100.0",
"version": "0.101.0",
"description": "The official TypeScript library for the Kernel API",
"author": "Kernel <>",
"types": "dist/index.d.ts",
Expand Down
22 changes: 15 additions & 7 deletions src/resources/config-registry/config-registry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,13 @@ export interface Analysis {
created_at: string;

/**
* Present for failed or canceled analyses. Messages contain safe retry guidance
* rather than internal workflow errors.
* Deadline after which a still-running analysis becomes expired.
*/
expires_at: string;

/**
* Present for failed, canceled, or expired analyses. Messages contain safe retry
* guidance rather than internal workflow errors.
*/
failure: Shared.ErrorModel | null;

Expand All @@ -98,7 +103,7 @@ export interface Analysis {
/**
* Lifecycle status of a background analysis.
*/
status: 'running' | 'completed' | 'failed' | 'canceled';
status: 'running' | 'completed' | 'failed' | 'canceled' | 'expired';
}

export interface AnalysisSummary {
Expand Down Expand Up @@ -295,7 +300,8 @@ export namespace Proxy {
*/
export interface IspProxyConfig {
/**
* ISO 3166 country code. Defaults to US if not provided.
* ISO 3166 country code. Supported countries are US, GB, FR, DE, and SG. Defaults
* to US if not provided.
*/
country?: string;
}
Expand All @@ -316,7 +322,8 @@ export namespace Proxy {
city?: string;

/**
* ISO 3166 country code.
* ISO 3166 country code. If omitted, the proxy uses the global pool without
* country targeting.
*/
country?: string;

Expand Down Expand Up @@ -346,7 +353,8 @@ export namespace Proxy {
city?: string;

/**
* ISO 3166 country code
* ISO 3166 country code. If omitted, the proxy uses the global pool without
* country targeting.
*/
country?: string;

Expand Down Expand Up @@ -438,7 +446,7 @@ export interface RecommendationSummary {
/**
* Lifecycle status of the most recently requested analysis for this exact target.
*/
analysis_status: 'running' | 'completed' | 'failed' | 'canceled';
analysis_status: 'running' | 'completed' | 'failed' | 'canceled' | 'expired';

/**
* Most recent time the selected project requested an analysis for this exact
Expand Down
23 changes: 23 additions & 0 deletions src/resources/organization/entitlements.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,12 @@ export namespace OrgEntitlements {
profiles: Features.Profiles;

proxy_bypass_hosts: Features.ProxyBypassHosts;

/**
* Whether the organization can access vaults, using the same access check as vault
* API routes.
*/
vaults: Features.Vaults;
}

export namespace Features {
Expand Down Expand Up @@ -176,6 +182,17 @@ export namespace OrgEntitlements {
*/
enabled: boolean;
}

/**
* Whether the organization can access vaults, using the same access check as vault
* API routes.
*/
export interface Vaults {
/**
* Whether the organization is entitled to use this feature.
*/
enabled: boolean;
}
}

export interface Limits {
Expand All @@ -195,6 +212,12 @@ export namespace OrgEntitlements {
* Effective organization-wide concurrent app invocation ceiling.
*/
max_concurrent_invocations: number;

/**
* Maximum non-deleted vaults allowed org-wide across all projects. Null means
* unlimited. The vaults feature flag still controls access.
*/
max_vaults: number | null;
}

export interface Plan {
Expand Down
13 changes: 12 additions & 1 deletion src/resources/organization/limits.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { RequestOptions } from '../../internal/request-options';
*/
export class Limits extends APIResource {
/**
* Get the organization's effective limits and managed auth usage.
* Get the organization's effective limits and managed auth and vault usage.
*/
retrieve(options?: RequestOptions): APIPromise<OrgLimits> {
return this._client.get('/org/limits', options);
Expand Down Expand Up @@ -39,13 +39,24 @@ export interface OrgLimits {
*/
max_auth_connections: number | null;

/**
* Maximum non-deleted vaults allowed org-wide across all projects. Null means
* unlimited.
*/
max_vaults: number | null;

/**
* Smallest health_check_interval the organization's plan accepts on a managed auth
* connection. Requests below this are rejected with 400. Existing connections
* stored below the floor are grandfathered until edited.
*/
min_health_check_interval_seconds: number;

/**
* Current non-deleted vault count across all projects in the organization.
*/
vaults_used: number;

/**
* Default maximum concurrent browsers applied to every project that has no
* explicit per-project override. Null means no org-level default, so such projects
Expand Down
54 changes: 36 additions & 18 deletions src/resources/proxies.ts
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,8 @@ export namespace ProxyCreateResponse {
*/
export interface IspProxyConfig {
/**
* ISO 3166 country code. Defaults to US if not provided.
* ISO 3166 country code. Supported countries are US, GB, FR, DE, and SG. Defaults
* to US if not provided.
*/
country?: string;
}
Expand All @@ -204,7 +205,8 @@ export namespace ProxyCreateResponse {
city?: string;

/**
* ISO 3166 country code.
* ISO 3166 country code. If omitted, the proxy uses the global pool without
* country targeting.
*/
country?: string;

Expand Down Expand Up @@ -234,7 +236,8 @@ export namespace ProxyCreateResponse {
city?: string;

/**
* ISO 3166 country code
* ISO 3166 country code. If omitted, the proxy uses the global pool without
* country targeting.
*/
country?: string;

Expand Down Expand Up @@ -344,7 +347,8 @@ export namespace ProxyRetrieveResponse {
*/
export interface IspProxyConfig {
/**
* ISO 3166 country code. Defaults to US if not provided.
* ISO 3166 country code. Supported countries are US, GB, FR, DE, and SG. Defaults
* to US if not provided.
*/
country?: string;
}
Expand All @@ -365,7 +369,8 @@ export namespace ProxyRetrieveResponse {
city?: string;

/**
* ISO 3166 country code.
* ISO 3166 country code. If omitted, the proxy uses the global pool without
* country targeting.
*/
country?: string;

Expand Down Expand Up @@ -395,7 +400,8 @@ export namespace ProxyRetrieveResponse {
city?: string;

/**
* ISO 3166 country code
* ISO 3166 country code. If omitted, the proxy uses the global pool without
* country targeting.
*/
country?: string;

Expand Down Expand Up @@ -505,7 +511,8 @@ export namespace ProxyUpdateResponse {
*/
export interface IspProxyConfig {
/**
* ISO 3166 country code. Defaults to US if not provided.
* ISO 3166 country code. Supported countries are US, GB, FR, DE, and SG. Defaults
* to US if not provided.
*/
country?: string;
}
Expand All @@ -526,7 +533,8 @@ export namespace ProxyUpdateResponse {
city?: string;

/**
* ISO 3166 country code.
* ISO 3166 country code. If omitted, the proxy uses the global pool without
* country targeting.
*/
country?: string;

Expand Down Expand Up @@ -556,7 +564,8 @@ export namespace ProxyUpdateResponse {
city?: string;

/**
* ISO 3166 country code
* ISO 3166 country code. If omitted, the proxy uses the global pool without
* country targeting.
*/
country?: string;

Expand Down Expand Up @@ -666,7 +675,8 @@ export namespace ProxyListResponse {
*/
export interface IspProxyConfig {
/**
* ISO 3166 country code. Defaults to US if not provided.
* ISO 3166 country code. Supported countries are US, GB, FR, DE, and SG. Defaults
* to US if not provided.
*/
country?: string;
}
Expand All @@ -687,7 +697,8 @@ export namespace ProxyListResponse {
city?: string;

/**
* ISO 3166 country code.
* ISO 3166 country code. If omitted, the proxy uses the global pool without
* country targeting.
*/
country?: string;

Expand Down Expand Up @@ -717,7 +728,8 @@ export namespace ProxyListResponse {
city?: string;

/**
* ISO 3166 country code
* ISO 3166 country code. If omitted, the proxy uses the global pool without
* country targeting.
*/
country?: string;

Expand Down Expand Up @@ -827,7 +839,8 @@ export namespace ProxyCheckResponse {
*/
export interface IspProxyConfig {
/**
* ISO 3166 country code. Defaults to US if not provided.
* ISO 3166 country code. Supported countries are US, GB, FR, DE, and SG. Defaults
* to US if not provided.
*/
country?: string;
}
Expand All @@ -848,7 +861,8 @@ export namespace ProxyCheckResponse {
city?: string;

/**
* ISO 3166 country code.
* ISO 3166 country code. If omitted, the proxy uses the global pool without
* country targeting.
*/
country?: string;

Expand Down Expand Up @@ -878,7 +892,8 @@ export namespace ProxyCheckResponse {
city?: string;

/**
* ISO 3166 country code
* ISO 3166 country code. If omitted, the proxy uses the global pool without
* country targeting.
*/
country?: string;

Expand Down Expand Up @@ -968,7 +983,8 @@ export namespace ProxyCreateParams {
*/
export interface IspProxyConfig {
/**
* ISO 3166 country code. Defaults to US if not provided.
* ISO 3166 country code. Supported countries are US, GB, FR, DE, and SG. Defaults
* to US if not provided.
*/
country?: string;
}
Expand All @@ -989,7 +1005,8 @@ export namespace ProxyCreateParams {
city?: string;

/**
* ISO 3166 country code.
* ISO 3166 country code. If omitted, the proxy uses the global pool without
* country targeting.
*/
country?: string;

Expand Down Expand Up @@ -1019,7 +1036,8 @@ export namespace ProxyCreateParams {
city?: string;

/**
* ISO 3166 country code
* ISO 3166 country code. If omitted, the proxy uses the global pool without
* country targeting.
*/
country?: string;

Expand Down
4 changes: 3 additions & 1 deletion src/resources/vaults/vaults.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,9 @@ export class Vaults extends APIResource {
}

/**
* Create or retrieve a vault by immutable name
* Free organizations can store up to 3 non-deleted vaults across all projects.
* Paid plans and active trials have no vault cap. Retrieving an existing vault by
* name succeeds even at the limit.
*/
upsert(body: VaultUpsertParams, options?: RequestOptions): APIPromise<Vault> {
return this._client.post('/vaults', { body, ...options });
Expand Down
2 changes: 1 addition & 1 deletion src/version.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export const VERSION = '0.100.0'; // x-release-please-version
export const VERSION = '0.101.0'; // x-release-please-version
Loading