From 963393ff0db25e9f547ec870ba8df57b6ee21a4c Mon Sep 17 00:00:00 2001 From: "kernel-internal[bot]" <260533166+kernel-internal[bot]@users.noreply.github.com> Date: Thu, 29 Oct 2026 23:59:04 +0000 Subject: [PATCH 1/2] feat: Pause managed auth logins for human verification on unsolvable captchas Stainless-Generated-From: 3e5e44413e965b92647af320dbbd6783afd3aa43 --- src/resources/auth/connections.ts | 53 ++++++++++++++++++-- tests/api-resources/auth/connections.test.ts | 1 + 2 files changed, 51 insertions(+), 3 deletions(-) diff --git a/src/resources/auth/connections.ts b/src/resources/auth/connections.ts index be600943..2993dc1a 100644 --- a/src/resources/auth/connections.ts +++ b/src/resources/auth/connections.ts @@ -238,6 +238,12 @@ export interface ManagedAuth { */ domain: string; + /** + * Whether a login blocked by a CAPTCHA the browser cannot solve pauses at + * AWAITING_HUMAN_INTERVENTION so a person can complete it in the live view. + */ + hitl: boolean; + /** * Name of the profile associated with this auth connection */ @@ -445,6 +451,7 @@ export interface ManagedAuth { | 'DISCOVERING' | 'AWAITING_INPUT' | 'AWAITING_EXTERNAL_ACTION' + | 'AWAITING_HUMAN_INTERVENTION' | 'SUBMITTING' | 'COMPLETED' | null; @@ -680,7 +687,8 @@ export namespace ManagedAuth { label: string; /** - * Choice type. + * Choice type. A `human_intervention` choice confirms the person finished the + * challenge in the live view. */ type: | 'mfa_method' @@ -689,6 +697,7 @@ export namespace ManagedAuth { | 'auth_method' | 'identifier_method' | 'account' + | 'human_intervention' | 'other'; /** @@ -1155,6 +1164,15 @@ export interface ManagedAuthCreateRequest { */ health_checks?: boolean; + /** + * Whether a login blocked by a CAPTCHA the browser cannot solve pauses for a + * person instead of failing. The flow moves to AWAITING_HUMAN_INTERVENTION with a + * `human_intervention` choice; the person completes the challenge in + * `live_view_url`, then submits that choice to resume. Reauthentication never + * pauses. Defaults to false. + */ + hitl?: boolean; + /** * Optional login page URL to skip discovery */ @@ -1480,6 +1498,12 @@ export interface ManagedAuthUpdateRequest { */ health_checks?: boolean; + /** + * Whether a login blocked by a CAPTCHA the browser cannot solve pauses for a + * person instead of failing + */ + hitl?: boolean; + /** * Login page URL. Set to empty string to clear. */ @@ -1742,7 +1766,13 @@ export namespace ConnectionFollowResponse { /** * Current step in the flow. */ - flow_step: 'DISCOVERING' | 'AWAITING_INPUT' | 'AWAITING_EXTERNAL_ACTION' | 'SUBMITTING' | 'COMPLETED'; + flow_step: + | 'DISCOVERING' + | 'AWAITING_INPUT' + | 'AWAITING_EXTERNAL_ACTION' + | 'AWAITING_HUMAN_INTERVENTION' + | 'SUBMITTING' + | 'COMPLETED'; /** * Time the state was reported. @@ -1851,7 +1881,8 @@ export namespace ConnectionFollowResponse { label: string; /** - * Choice type. + * Choice type. A `human_intervention` choice confirms the person finished the + * challenge in the live view. */ type: | 'mfa_method' @@ -1860,6 +1891,7 @@ export namespace ConnectionFollowResponse { | 'auth_method' | 'identifier_method' | 'account' + | 'human_intervention' | 'other'; /** @@ -2157,6 +2189,15 @@ export interface ConnectionCreateParams { */ health_checks?: boolean; + /** + * Whether a login blocked by a CAPTCHA the browser cannot solve pauses for a + * person instead of failing. The flow moves to AWAITING_HUMAN_INTERVENTION with a + * `human_intervention` choice; the person completes the challenge in + * `live_view_url`, then submits that choice to resume. Reauthentication never + * pauses. Defaults to false. + */ + hitl?: boolean; + /** * Optional login page URL to skip discovery */ @@ -2387,6 +2428,12 @@ export interface ConnectionUpdateParams { */ health_checks?: boolean; + /** + * Whether a login blocked by a CAPTCHA the browser cannot solve pauses for a + * person instead of failing + */ + hitl?: boolean; + /** * Login page URL. Set to empty string to clear. */ diff --git a/tests/api-resources/auth/connections.test.ts b/tests/api-resources/auth/connections.test.ts index 7a08c45e..2523508b 100644 --- a/tests/api-resources/auth/connections.test.ts +++ b/tests/api-resources/auth/connections.test.ts @@ -97,6 +97,7 @@ describe('resource connections', () => { }, health_check_interval: 3600, health_checks: true, + hitl: false, login_url: 'https://netflix.com/login', proxy: { id: 'id', name: 'name' }, record_session: false, From c1ef8443935004c6f15e3211c6e7c187172150b3 Mon Sep 17 00:00:00 2001 From: "kernel-internal[bot]" <260533166+kernel-internal[bot]@users.noreply.github.com> Date: Fri, 30 Oct 2026 00:04:05 +0000 Subject: [PATCH 2/2] release: 0.138.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 7 +++++++ package.json | 2 +- src/version.ts | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 7d69fc3f..a51a25af 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.137.0" + ".": "0.138.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index ea058ce1..2abfdbd9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [0.138.0](https://github.com/kernel/kernel-node-sdk/compare/v0.137.0...v0.138.0) (2026-10-30) + + +### Features + +* Pause managed auth logins for human verification on unsolvable captchas ([963393f](https://github.com/kernel/kernel-node-sdk/commit/963393ff0db25e9f547ec870ba8df57b6ee21a4c)) + ## [0.137.0](https://github.com/kernel/kernel-node-sdk/compare/v0.136.0...v0.137.0) (2026-10-29) diff --git a/package.json b/package.json index 68901ab4..94f0bdbf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@onkernel/sdk", - "version": "0.137.0", + "version": "0.138.0", "description": "The official TypeScript library for the Kernel API", "author": "Kernel <>", "types": "dist/index.d.ts", diff --git a/src/version.ts b/src/version.ts index bbd0a12b..26aad63c 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const VERSION = '0.137.0'; // x-release-please-version +export const VERSION = '0.138.0'; // x-release-please-version