Skip to content

Commit f24a387

Browse files
chore: add Managed Auth API planning doc
1 parent 43b07ae commit f24a387

36 files changed

+3439
-595
lines changed

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 100
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-a6d93dc291278035c96add38bb6150ec2b9ba8bbabb4676e3dbbb8444cf3b1e4.yml
3-
openapi_spec_hash: 694bcc56d94fd0ff0d1f7b0fc1dae8ba
4-
config_hash: 62e33cf2ed8fe0b4ceebba63367481ad
1+
configured_endpoints: 108
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-3fbe762c99e8a120c426ac22bc1fa257c9127d631b12a38a6440a37f52935543.yml
3+
openapi_spec_hash: 5a190df210ed90b20a71c5061ff43917
4+
config_hash: 38c9b3b355025daf9bb643040e4af94e

api.md

Lines changed: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,34 @@ Methods:
234234
- <code title="delete /profiles/{id_or_name}">client.profiles.<a href="./src/kernel/resources/profiles.py">delete</a>(id_or_name) -> None</code>
235235
- <code title="get /profiles/{id_or_name}/download">client.profiles.<a href="./src/kernel/resources/profiles.py">download</a>(id_or_name) -> BinaryAPIResponse</code>
236236

237+
# Auth
238+
239+
## Connections
240+
241+
Types:
242+
243+
```python
244+
from kernel.types.auth import (
245+
LoginRequest,
246+
LoginResponse,
247+
ManagedAuth,
248+
ManagedAuthCreateRequest,
249+
SubmitFieldsRequest,
250+
SubmitFieldsResponse,
251+
ConnectionFollowResponse,
252+
)
253+
```
254+
255+
Methods:
256+
257+
- <code title="post /auth/connections">client.auth.connections.<a href="./src/kernel/resources/auth/connections.py">create</a>(\*\*<a href="src/kernel/types/auth/connection_create_params.py">params</a>) -> <a href="./src/kernel/types/auth/managed_auth.py">ManagedAuth</a></code>
258+
- <code title="get /auth/connections/{id}">client.auth.connections.<a href="./src/kernel/resources/auth/connections.py">retrieve</a>(id) -> <a href="./src/kernel/types/auth/managed_auth.py">ManagedAuth</a></code>
259+
- <code title="get /auth/connections">client.auth.connections.<a href="./src/kernel/resources/auth/connections.py">list</a>(\*\*<a href="src/kernel/types/auth/connection_list_params.py">params</a>) -> <a href="./src/kernel/types/auth/managed_auth.py">SyncOffsetPagination[ManagedAuth]</a></code>
260+
- <code title="delete /auth/connections/{id}">client.auth.connections.<a href="./src/kernel/resources/auth/connections.py">delete</a>(id) -> None</code>
261+
- <code title="get /auth/connections/{id}/events">client.auth.connections.<a href="./src/kernel/resources/auth/connections.py">follow</a>(id) -> <a href="./src/kernel/types/auth/connection_follow_response.py">ConnectionFollowResponse</a></code>
262+
- <code title="post /auth/connections/{id}/login">client.auth.connections.<a href="./src/kernel/resources/auth/connections.py">login</a>(id, \*\*<a href="src/kernel/types/auth/connection_login_params.py">params</a>) -> <a href="./src/kernel/types/auth/login_response.py">LoginResponse</a></code>
263+
- <code title="post /auth/connections/{id}/submit">client.auth.connections.<a href="./src/kernel/resources/auth/connections.py">submit</a>(id, \*\*<a href="src/kernel/types/auth/connection_submit_params.py">params</a>) -> <a href="./src/kernel/types/auth/submit_fields_response.py">SubmitFieldsResponse</a></code>
264+
237265
# Proxies
238266

239267
Types:
@@ -360,17 +388,20 @@ Types:
360388
from kernel.types import (
361389
CreateCredentialProviderRequest,
362390
CredentialProvider,
391+
CredentialProviderItem,
363392
CredentialProviderTestResult,
364393
UpdateCredentialProviderRequest,
365394
CredentialProviderListResponse,
395+
CredentialProviderListItemsResponse,
366396
)
367397
```
368398

369399
Methods:
370400

371-
- <code title="post /org/credential-providers">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">create</a>(\*\*<a href="src/kernel/types/credential_provider_create_params.py">params</a>) -> <a href="./src/kernel/types/credential_provider.py">CredentialProvider</a></code>
372-
- <code title="get /org/credential-providers/{id}">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">retrieve</a>(id) -> <a href="./src/kernel/types/credential_provider.py">CredentialProvider</a></code>
373-
- <code title="patch /org/credential-providers/{id}">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">update</a>(id, \*\*<a href="src/kernel/types/credential_provider_update_params.py">params</a>) -> <a href="./src/kernel/types/credential_provider.py">CredentialProvider</a></code>
374-
- <code title="get /org/credential-providers">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">list</a>() -> <a href="./src/kernel/types/credential_provider_list_response.py">CredentialProviderListResponse</a></code>
375-
- <code title="delete /org/credential-providers/{id}">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">delete</a>(id) -> None</code>
376-
- <code title="post /org/credential-providers/{id}/test">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">test</a>(id) -> <a href="./src/kernel/types/credential_provider_test_result.py">CredentialProviderTestResult</a></code>
401+
- <code title="post /org/credential_providers">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">create</a>(\*\*<a href="src/kernel/types/credential_provider_create_params.py">params</a>) -> <a href="./src/kernel/types/credential_provider.py">CredentialProvider</a></code>
402+
- <code title="get /org/credential_providers/{id}">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">retrieve</a>(id) -> <a href="./src/kernel/types/credential_provider.py">CredentialProvider</a></code>
403+
- <code title="patch /org/credential_providers/{id}">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">update</a>(id, \*\*<a href="src/kernel/types/credential_provider_update_params.py">params</a>) -> <a href="./src/kernel/types/credential_provider.py">CredentialProvider</a></code>
404+
- <code title="get /org/credential_providers">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">list</a>() -> <a href="./src/kernel/types/credential_provider_list_response.py">CredentialProviderListResponse</a></code>
405+
- <code title="delete /org/credential_providers/{id}">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">delete</a>(id) -> None</code>
406+
- <code title="get /org/credential_providers/{id}/items">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">list_items</a>(id) -> <a href="./src/kernel/types/credential_provider_list_items_response.py">CredentialProviderListItemsResponse</a></code>
407+
- <code title="post /org/credential_providers/{id}/test">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">test</a>(id) -> <a href="./src/kernel/types/credential_provider_test_result.py">CredentialProviderTestResult</a></code>

src/kernel/_client.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
if TYPE_CHECKING:
3434
from .resources import (
3535
apps,
36+
auth,
3637
agents,
3738
proxies,
3839
browsers,
@@ -47,6 +48,7 @@
4748
from .resources.apps import AppsResource, AsyncAppsResource
4849
from .resources.proxies import ProxiesResource, AsyncProxiesResource
4950
from .resources.profiles import ProfilesResource, AsyncProfilesResource
51+
from .resources.auth.auth import AuthResource, AsyncAuthResource
5052
from .resources.extensions import ExtensionsResource, AsyncExtensionsResource
5153
from .resources.credentials import CredentialsResource, AsyncCredentialsResource
5254
from .resources.deployments import DeploymentsResource, AsyncDeploymentsResource
@@ -183,6 +185,12 @@ def profiles(self) -> ProfilesResource:
183185

184186
return ProfilesResource(self)
185187

188+
@cached_property
189+
def auth(self) -> AuthResource:
190+
from .resources.auth import AuthResource
191+
192+
return AuthResource(self)
193+
186194
@cached_property
187195
def proxies(self) -> ProxiesResource:
188196
from .resources.proxies import ProxiesResource
@@ -443,6 +451,12 @@ def profiles(self) -> AsyncProfilesResource:
443451

444452
return AsyncProfilesResource(self)
445453

454+
@cached_property
455+
def auth(self) -> AsyncAuthResource:
456+
from .resources.auth import AsyncAuthResource
457+
458+
return AsyncAuthResource(self)
459+
446460
@cached_property
447461
def proxies(self) -> AsyncProxiesResource:
448462
from .resources.proxies import AsyncProxiesResource
@@ -630,6 +644,12 @@ def profiles(self) -> profiles.ProfilesResourceWithRawResponse:
630644

631645
return ProfilesResourceWithRawResponse(self._client.profiles)
632646

647+
@cached_property
648+
def auth(self) -> auth.AuthResourceWithRawResponse:
649+
from .resources.auth import AuthResourceWithRawResponse
650+
651+
return AuthResourceWithRawResponse(self._client.auth)
652+
633653
@cached_property
634654
def proxies(self) -> proxies.ProxiesResourceWithRawResponse:
635655
from .resources.proxies import ProxiesResourceWithRawResponse
@@ -703,6 +723,12 @@ def profiles(self) -> profiles.AsyncProfilesResourceWithRawResponse:
703723

704724
return AsyncProfilesResourceWithRawResponse(self._client.profiles)
705725

726+
@cached_property
727+
def auth(self) -> auth.AsyncAuthResourceWithRawResponse:
728+
from .resources.auth import AsyncAuthResourceWithRawResponse
729+
730+
return AsyncAuthResourceWithRawResponse(self._client.auth)
731+
706732
@cached_property
707733
def proxies(self) -> proxies.AsyncProxiesResourceWithRawResponse:
708734
from .resources.proxies import AsyncProxiesResourceWithRawResponse
@@ -776,6 +802,12 @@ def profiles(self) -> profiles.ProfilesResourceWithStreamingResponse:
776802

777803
return ProfilesResourceWithStreamingResponse(self._client.profiles)
778804

805+
@cached_property
806+
def auth(self) -> auth.AuthResourceWithStreamingResponse:
807+
from .resources.auth import AuthResourceWithStreamingResponse
808+
809+
return AuthResourceWithStreamingResponse(self._client.auth)
810+
779811
@cached_property
780812
def proxies(self) -> proxies.ProxiesResourceWithStreamingResponse:
781813
from .resources.proxies import ProxiesResourceWithStreamingResponse
@@ -849,6 +881,12 @@ def profiles(self) -> profiles.AsyncProfilesResourceWithStreamingResponse:
849881

850882
return AsyncProfilesResourceWithStreamingResponse(self._client.profiles)
851883

884+
@cached_property
885+
def auth(self) -> auth.AsyncAuthResourceWithStreamingResponse:
886+
from .resources.auth import AsyncAuthResourceWithStreamingResponse
887+
888+
return AsyncAuthResourceWithStreamingResponse(self._client.auth)
889+
852890
@cached_property
853891
def proxies(self) -> proxies.AsyncProxiesResourceWithStreamingResponse:
854892
from .resources.proxies import AsyncProxiesResourceWithStreamingResponse

src/kernel/resources/__init__.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,14 @@
88
AppsResourceWithStreamingResponse,
99
AsyncAppsResourceWithStreamingResponse,
1010
)
11+
from .auth import (
12+
AuthResource,
13+
AsyncAuthResource,
14+
AuthResourceWithRawResponse,
15+
AsyncAuthResourceWithRawResponse,
16+
AuthResourceWithStreamingResponse,
17+
AsyncAuthResourceWithStreamingResponse,
18+
)
1119
from .agents import (
1220
AgentsResource,
1321
AsyncAgentsResource,
@@ -120,6 +128,12 @@
120128
"AsyncProfilesResourceWithRawResponse",
121129
"ProfilesResourceWithStreamingResponse",
122130
"AsyncProfilesResourceWithStreamingResponse",
131+
"AuthResource",
132+
"AsyncAuthResource",
133+
"AuthResourceWithRawResponse",
134+
"AsyncAuthResourceWithRawResponse",
135+
"AuthResourceWithStreamingResponse",
136+
"AsyncAuthResourceWithStreamingResponse",
123137
"ProxiesResource",
124138
"AsyncProxiesResource",
125139
"ProxiesResourceWithRawResponse",

0 commit comments

Comments
 (0)