Skip to content

Commit e230ce3

Browse files
feat: Allow managed auth logins to disable learned skills
Stainless-Generated-From: 9c2ffa1553e5fe09f6a36fa423af3e7308eb7d14
1 parent 17a7960 commit e230ce3

3 files changed

Lines changed: 22 additions & 1 deletion

File tree

‎src/kernel/resources/auth/connections.py‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -477,6 +477,7 @@ def login(
477477
browser_telemetry: Optional[connection_login_params.BrowserTelemetry] | Omit = omit,
478478
proxy: connection_login_params.Proxy | Omit = omit,
479479
record_session: bool | Omit = omit,
480+
skill_mode: Literal["enabled", "disabled"] | Omit = omit,
480481
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
481482
# The extra values given here take precedence over values defined on the client or passed to this method.
482483
extra_headers: Headers | None = None,
@@ -502,6 +503,10 @@ def login(
502503
record_session: Override the connection's default for recording this login's browser session.
503504
When omitted, the connection's record_session default is used.
504505
506+
skill_mode: Controls whether this login reads and writes learned domain skills. Automatic
507+
reauths inherit the selected mode until a later accepted login sets enabled or
508+
omits this field. Defaults to enabled when omitted.
509+
505510
extra_headers: Send extra headers
506511
507512
extra_query: Add additional query parameters to the request
@@ -520,6 +525,7 @@ def login(
520525
"browser_telemetry": browser_telemetry,
521526
"proxy": proxy,
522527
"record_session": record_session,
528+
"skill_mode": skill_mode,
523529
},
524530
connection_login_params.ConnectionLoginParams,
525531
),
@@ -1100,6 +1106,7 @@ async def login(
11001106
browser_telemetry: Optional[connection_login_params.BrowserTelemetry] | Omit = omit,
11011107
proxy: connection_login_params.Proxy | Omit = omit,
11021108
record_session: bool | Omit = omit,
1109+
skill_mode: Literal["enabled", "disabled"] | Omit = omit,
11031110
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
11041111
# The extra values given here take precedence over values defined on the client or passed to this method.
11051112
extra_headers: Headers | None = None,
@@ -1125,6 +1132,10 @@ async def login(
11251132
record_session: Override the connection's default for recording this login's browser session.
11261133
When omitted, the connection's record_session default is used.
11271134
1135+
skill_mode: Controls whether this login reads and writes learned domain skills. Automatic
1136+
reauths inherit the selected mode until a later accepted login sets enabled or
1137+
omits this field. Defaults to enabled when omitted.
1138+
11281139
extra_headers: Send extra headers
11291140
11301141
extra_query: Add additional query parameters to the request
@@ -1143,6 +1154,7 @@ async def login(
11431154
"browser_telemetry": browser_telemetry,
11441155
"proxy": proxy,
11451156
"record_session": record_session,
1157+
"skill_mode": skill_mode,
11461158
},
11471159
connection_login_params.ConnectionLoginParams,
11481160
),

‎src/kernel/types/auth/connection_login_params.py‎

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from __future__ import annotations
44

55
from typing import Optional
6-
from typing_extensions import TypedDict
6+
from typing_extensions import Literal, TypedDict
77

88
from .managed_auth_browser_config_param import ManagedAuthBrowserConfigParam
99
from ..browsers.browser_telemetry_categories_config_param import BrowserTelemetryCategoriesConfigParam
@@ -40,6 +40,13 @@ class ConnectionLoginParams(TypedDict, total=False):
4040
When omitted, the connection's record_session default is used.
4141
"""
4242

43+
skill_mode: Literal["enabled", "disabled"]
44+
"""Controls whether this login reads and writes learned domain skills.
45+
46+
Automatic reauths inherit the selected mode until a later accepted login sets
47+
enabled or omits this field. Defaults to enabled when omitted.
48+
"""
49+
4350

4451
class BrowserTelemetryExportOtlpDestination(TypedDict, total=False):
4552
"""OTLP destination to export this session's captured telemetry to.

‎tests/api_resources/auth/test_connections.py‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -525,6 +525,7 @@ def test_method_login_with_all_params(self, client: Kernel) -> None:
525525
"name": "name",
526526
},
527527
record_session=True,
528+
skill_mode="enabled",
528529
)
529530
assert_matches_type(LoginResponse, connection, path=["response"])
530531

@@ -1187,6 +1188,7 @@ async def test_method_login_with_all_params(self, async_client: AsyncKernel) ->
11871188
"name": "name",
11881189
},
11891190
record_session=True,
1191+
skill_mode="enabled",
11901192
)
11911193
assert_matches_type(LoginResponse, connection, path=["response"])
11921194

0 commit comments

Comments
 (0)