workos 5.27.0__py3-none-any.whl → 5.29.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
workos/__about__.py CHANGED
@@ -12,7 +12,7 @@ __package_name__ = "workos"
12
12
 
13
13
  __package_url__ = "https://github.com/workos-inc/workos-python"
14
14
 
15
- __version__ = "5.27.0"
15
+ __version__ = "5.29.0"
16
16
 
17
17
  __author__ = "WorkOS"
18
18
 
workos/organizations.py CHANGED
@@ -1,5 +1,7 @@
1
1
  from typing import Optional, Protocol, Sequence
2
2
 
3
+ from workos.types.feature_flags import FeatureFlag
4
+ from workos.types.feature_flags.list_filters import FeatureFlagListFilters
3
5
  from workos.types.metadata import Metadata
4
6
  from workos.types.organizations.domain_data_input import DomainDataInput
5
7
  from workos.types.organizations.list_filters import OrganizationListFilters
@@ -24,6 +26,10 @@ OrganizationsListResource = WorkOSListResource[
24
26
  Organization, OrganizationListFilters, ListMetadata
25
27
  ]
26
28
 
29
+ FeatureFlagsListResource = WorkOSListResource[
30
+ FeatureFlag, FeatureFlagListFilters, ListMetadata
31
+ ]
32
+
27
33
 
28
34
  class OrganizationsModule(Protocol):
29
35
  """Offers methods through the WorkOS Organizations service."""
@@ -128,6 +134,29 @@ class OrganizationsModule(Protocol):
128
134
  """
129
135
  ...
130
136
 
137
+ def list_feature_flags(
138
+ self,
139
+ organization_id: str,
140
+ *,
141
+ limit: int = DEFAULT_LIST_RESPONSE_LIMIT,
142
+ before: Optional[str] = None,
143
+ after: Optional[str] = None,
144
+ order: PaginationOrder = "desc",
145
+ ) -> SyncOrAsync[FeatureFlagsListResource]:
146
+ """Retrieve a list of feature flags for an organization
147
+
148
+ Args:
149
+ organization_id (str): Organization's unique identifier
150
+ limit (int): Maximum number of records to return. (Optional)
151
+ before (str): Pagination cursor to receive records before a provided Feature Flag ID. (Optional)
152
+ after (str): Pagination cursor to receive records after a provided Feature Flag ID. (Optional)
153
+ order (Literal["asc","desc"]): Sort records in either ascending or descending (default) order by created_at timestamp. (Optional)
154
+
155
+ Returns:
156
+ FeatureFlagsListResource: Feature flags list response from WorkOS.
157
+ """
158
+ ...
159
+
131
160
 
132
161
  class Organizations(OrganizationsModule):
133
162
  _http_client: SyncHTTPClient
@@ -247,6 +276,34 @@ class Organizations(OrganizationsModule):
247
276
 
248
277
  return RoleList.model_validate(response)
249
278
 
279
+ def list_feature_flags(
280
+ self,
281
+ organization_id: str,
282
+ *,
283
+ limit: int = DEFAULT_LIST_RESPONSE_LIMIT,
284
+ before: Optional[str] = None,
285
+ after: Optional[str] = None,
286
+ order: PaginationOrder = "desc",
287
+ ) -> FeatureFlagsListResource:
288
+ list_params: FeatureFlagListFilters = {
289
+ "limit": limit,
290
+ "before": before,
291
+ "after": after,
292
+ "order": order,
293
+ }
294
+
295
+ response = self._http_client.request(
296
+ f"organizations/{organization_id}/feature-flags",
297
+ method=REQUEST_METHOD_GET,
298
+ params=list_params,
299
+ )
300
+
301
+ return WorkOSListResource[FeatureFlag, FeatureFlagListFilters, ListMetadata](
302
+ list_method=self.list_feature_flags,
303
+ list_args=list_params,
304
+ **ListPage[FeatureFlag](**response).model_dump(),
305
+ )
306
+
250
307
 
251
308
  class AsyncOrganizations(OrganizationsModule):
252
309
  _http_client: AsyncHTTPClient
@@ -365,3 +422,31 @@ class AsyncOrganizations(OrganizationsModule):
365
422
  )
366
423
 
367
424
  return RoleList.model_validate(response)
425
+
426
+ async def list_feature_flags(
427
+ self,
428
+ organization_id: str,
429
+ *,
430
+ limit: int = DEFAULT_LIST_RESPONSE_LIMIT,
431
+ before: Optional[str] = None,
432
+ after: Optional[str] = None,
433
+ order: PaginationOrder = "desc",
434
+ ) -> FeatureFlagsListResource:
435
+ list_params: FeatureFlagListFilters = {
436
+ "limit": limit,
437
+ "before": before,
438
+ "after": after,
439
+ "order": order,
440
+ }
441
+
442
+ response = await self._http_client.request(
443
+ f"organizations/{organization_id}/feature-flags",
444
+ method=REQUEST_METHOD_GET,
445
+ params=list_params,
446
+ )
447
+
448
+ return WorkOSListResource[FeatureFlag, FeatureFlagListFilters, ListMetadata](
449
+ list_method=self.list_feature_flags,
450
+ list_args=list_params,
451
+ **ListPage[FeatureFlag](**response).model_dump(),
452
+ )
workos/session.py CHANGED
@@ -102,6 +102,7 @@ class SessionModule(Protocol):
102
102
  session_id=decoded["sid"],
103
103
  organization_id=decoded.get("org_id", None),
104
104
  role=decoded.get("role", None),
105
+ roles=decoded.get("roles", None),
105
106
  permissions=decoded.get("permissions", None),
106
107
  entitlements=decoded.get("entitlements", None),
107
108
  user=session["user"],
@@ -229,6 +230,7 @@ class Session(SessionModule):
229
230
  session_id=decoded["sid"],
230
231
  organization_id=decoded.get("org_id", None),
231
232
  role=decoded.get("role", None),
233
+ roles=decoded.get("roles", None),
232
234
  permissions=decoded.get("permissions", None),
233
235
  entitlements=decoded.get("entitlements", None),
234
236
  user=auth_response.user,
@@ -319,6 +321,7 @@ class AsyncSession(SessionModule):
319
321
  session_id=decoded["sid"],
320
322
  organization_id=decoded.get("org_id", None),
321
323
  role=decoded.get("role", None),
324
+ roles=decoded.get("roles", None),
322
325
  permissions=decoded.get("permissions", None),
323
326
  entitlements=decoded.get("entitlements", None),
324
327
  user=auth_response.user,
@@ -0,0 +1,3 @@
1
+ from workos.types.feature_flags.feature_flag import FeatureFlag
2
+
3
+ __all__ = ["FeatureFlag"]
@@ -0,0 +1,12 @@
1
+ from typing import Literal, Optional
2
+ from workos.types.workos_model import WorkOSModel
3
+
4
+
5
+ class FeatureFlag(WorkOSModel):
6
+ id: str
7
+ object: Literal["feature_flag"]
8
+ slug: str
9
+ name: str
10
+ description: Optional[str]
11
+ created_at: str
12
+ updated_at: str
@@ -0,0 +1,5 @@
1
+ from workos.types.list_resource import ListArgs
2
+
3
+
4
+ class FeatureFlagListFilters(ListArgs, total=False):
5
+ pass
@@ -23,6 +23,7 @@ from workos.types.directory_sync import (
23
23
  DirectoryUserWithGroups,
24
24
  )
25
25
  from workos.types.events import Event
26
+ from workos.types.feature_flags import FeatureFlag
26
27
  from workos.types.fga import (
27
28
  Warrant,
28
29
  AuthorizationResource,
@@ -46,6 +47,7 @@ ListableResource = TypeVar(
46
47
  DirectoryGroup,
47
48
  DirectoryUserWithGroups,
48
49
  Event,
50
+ FeatureFlag,
49
51
  Invitation,
50
52
  Organization,
51
53
  OrganizationMembership,
@@ -37,6 +37,7 @@ ConnectionType = Literal[
37
37
  "PingFederateSAML",
38
38
  "PingOneSAML",
39
39
  "RipplingSAML",
40
+ "SalesforceOAuth",
40
41
  "SalesforceSAML",
41
42
  "ShibbolethGenericSAML",
42
43
  "ShibbolethSAML",
@@ -6,4 +6,5 @@ SsoProviderType = Literal[
6
6
  "GitHubOAuth",
7
7
  "GoogleOAuth",
8
8
  "MicrosoftOAuth",
9
+ "SalesforceOAuth",
9
10
  ]
@@ -13,6 +13,7 @@ AuthenticationMethod = Literal[
13
13
  "GitHubOAuth",
14
14
  "GoogleOAuth",
15
15
  "MicrosoftOAuth",
16
+ "SalesforceOAuth",
16
17
  "MagicAuth",
17
18
  "Impersonation",
18
19
  ]
@@ -7,6 +7,7 @@ OAuthTokensProvidersType = Literal[
7
7
  "GitHubOauth",
8
8
  "GoogleOauth",
9
9
  "MicrosoftOauth",
10
+ "SalesforceOauth",
10
11
  ]
11
12
 
12
13
 
@@ -1,4 +1,4 @@
1
- from typing import Literal
1
+ from typing import Literal, Sequence, Optional
2
2
  from typing_extensions import TypedDict
3
3
 
4
4
  from workos.types.workos_model import WorkOSModel
@@ -19,6 +19,7 @@ class OrganizationMembership(WorkOSModel):
19
19
  user_id: str
20
20
  organization_id: str
21
21
  role: OrganizationMembershipRole
22
+ roles: Optional[Sequence[OrganizationMembershipRole]] = None
22
23
  status: LiteralOrUntyped[OrganizationMembershipStatus]
23
24
  created_at: str
24
25
  updated_at: str
@@ -1,6 +1,8 @@
1
- from typing import Optional, Sequence, TypedDict, Union
2
1
  from enum import Enum
2
+ from typing import Optional, Sequence, TypedDict, Union
3
+
3
4
  from typing_extensions import Literal
5
+
4
6
  from workos.types.user_management.impersonator import Impersonator
5
7
  from workos.types.user_management.user import User
6
8
  from workos.types.workos_model import WorkOSModel
@@ -17,6 +19,7 @@ class AuthenticateWithSessionCookieSuccessResponse(WorkOSModel):
17
19
  session_id: str
18
20
  organization_id: Optional[str] = None
19
21
  role: Optional[str] = None
22
+ roles: Optional[Sequence[str]] = None
20
23
  permissions: Optional[Sequence[str]] = None
21
24
  user: User
22
25
  impersonator: Optional[Impersonator] = None
@@ -2,5 +2,10 @@ from typing import Literal
2
2
 
3
3
 
4
4
  UserManagementProviderType = Literal[
5
- "authkit", "AppleOAuth", "GitHubOAuth", "GoogleOAuth", "MicrosoftOAuth"
5
+ "authkit",
6
+ "AppleOAuth",
7
+ "GitHubOAuth",
8
+ "GoogleOAuth",
9
+ "MicrosoftOAuth",
10
+ "SalesforceOAuth",
6
11
  ]
@@ -1,9 +1,9 @@
1
1
  from typing import Literal, Union
2
+
2
3
  from pydantic import Field
3
4
  from typing_extensions import Annotated
5
+
4
6
  from workos.types.directory_sync import DirectoryGroup
5
- from workos.types.user_management import OrganizationMembership, User
6
- from workos.types.webhooks.webhook_model import WebhookModel
7
7
  from workos.types.directory_sync.directory_user import DirectoryUser
8
8
  from workos.types.events.authentication_payload import (
9
9
  AuthenticationEmailVerificationSucceededPayload,
@@ -37,16 +37,18 @@ from workos.types.events.organization_domain_verification_failed_payload import
37
37
  OrganizationDomainVerificationFailedPayload,
38
38
  )
39
39
  from workos.types.events.session_created_payload import SessionCreatedPayload
40
- from workos.types.organizations.organization_common import OrganizationCommon
41
40
  from workos.types.organization_domains import OrganizationDomain
41
+ from workos.types.organizations.organization_common import OrganizationCommon
42
42
  from workos.types.roles.role import EventRole
43
43
  from workos.types.sso.connection import Connection
44
+ from workos.types.user_management import OrganizationMembership, User
44
45
  from workos.types.user_management.email_verification import (
45
46
  EmailVerificationCommon,
46
47
  )
47
48
  from workos.types.user_management.invitation import InvitationCommon
48
49
  from workos.types.user_management.magic_auth import MagicAuthCommon
49
50
  from workos.types.user_management.password_reset import PasswordResetCommon
51
+ from workos.types.webhooks.webhook_model import WebhookModel
50
52
 
51
53
  # README
52
54
  # When adding a new webhook event type, ensure the new webhook class is
@@ -205,6 +207,18 @@ class OrganizationDomainVerifiedWebhook(WebhookModel[OrganizationDomain]):
205
207
  event: Literal["organization_domain.verified"]
206
208
 
207
209
 
210
+ class OrganizationDomainCreatedWebhook(WebhookModel[OrganizationDomain]):
211
+ event: Literal["organization_domain.created"]
212
+
213
+
214
+ class OrganizationDomainUpdatedWebhook(WebhookModel[OrganizationDomain]):
215
+ event: Literal["organization_domain.updated"]
216
+
217
+
218
+ class OrganizationDomainDeletedWebhook(WebhookModel[OrganizationDomain]):
219
+ event: Literal["organization_domain.deleted"]
220
+
221
+
208
222
  class OrganizationMembershipCreatedWebhook(WebhookModel[OrganizationMembership]):
209
223
  event: Literal["organization_membership.created"]
210
224
 
@@ -286,6 +300,9 @@ Webhook = Annotated[
286
300
  OrganizationCreatedWebhook,
287
301
  OrganizationDeletedWebhook,
288
302
  OrganizationUpdatedWebhook,
303
+ OrganizationDomainCreatedWebhook,
304
+ OrganizationDomainDeletedWebhook,
305
+ OrganizationDomainUpdatedWebhook,
289
306
  OrganizationDomainVerificationFailedWebhook,
290
307
  OrganizationDomainVerifiedWebhook,
291
308
  OrganizationMembershipCreatedWebhook,
workos/user_management.py CHANGED
@@ -245,15 +245,24 @@ class UserManagementModule(Protocol):
245
245
  ...
246
246
 
247
247
  def create_organization_membership(
248
- self, *, user_id: str, organization_id: str, role_slug: Optional[str] = None
248
+ self,
249
+ *,
250
+ user_id: str,
251
+ organization_id: str,
252
+ role_slug: Optional[str] = None,
253
+ role_slugs: Optional[Sequence[str]] = None,
249
254
  ) -> SyncOrAsync[OrganizationMembership]:
250
255
  """Create a new OrganizationMembership for the given Organization and User.
251
256
 
252
257
  Kwargs:
253
- user_id: The Unique ID of the User.
254
- organization_id: The Unique ID of the Organization to which the user belongs to.
255
- role_slug: The Unique Slug of the Role to which to grant to this membership.
256
- If no slug is passed in, the default role will be granted.(Optional)
258
+ user_id: The unique ID of the User.
259
+ organization_id: The unique ID of the Organization to which the user belongs to.
260
+ role_slug: The unique slug of the role to grant to this membership.(Optional)
261
+ role_slugs: The unique slugs of the roles to grant to this membership.(Optional)
262
+
263
+ Note:
264
+ role_slug and role_slugs are mutually exclusive. If neither is provided,
265
+ the user will be assigned the organization's default role.
257
266
 
258
267
  Returns:
259
268
  OrganizationMembership: Created OrganizationMembership response from WorkOS.
@@ -261,14 +270,22 @@ class UserManagementModule(Protocol):
261
270
  ...
262
271
 
263
272
  def update_organization_membership(
264
- self, *, organization_membership_id: str, role_slug: Optional[str] = None
273
+ self,
274
+ *,
275
+ organization_membership_id: str,
276
+ role_slug: Optional[str] = None,
277
+ role_slugs: Optional[Sequence[str]] = None,
265
278
  ) -> SyncOrAsync[OrganizationMembership]:
266
279
  """Updates an OrganizationMembership for the given id.
267
280
 
268
281
  Args:
269
282
  organization_membership_id (str): The unique ID of the Organization Membership.
270
- role_slug: The Unique Slug of the Role to which to grant to this membership.
271
- If no slug is passed in, it will not be changed (Optional)
283
+ role_slug: The unique slug of the role to grant to this membership.(Optional)
284
+ role_slugs: The unique slugs of the roles to grant to this membership.(Optional)
285
+
286
+ Note:
287
+ role_slug and role_slugs are mutually exclusive. If neither is provided,
288
+ the role(s) of the membership will remain unchanged.
272
289
 
273
290
  Returns:
274
291
  OrganizationMembership: Updated OrganizationMembership response from WorkOS.
@@ -379,7 +396,7 @@ class UserManagementModule(Protocol):
379
396
  organization_id (str): The organization_id connection selector is used to initiate SSO for an Organization.
380
397
  The value of this parameter should be a WorkOS Organization ID. (Optional)
381
398
  provider (UserManagementProviderType): The provider connection selector is used to initiate SSO using an OAuth-compatible provider.
382
- Currently, the supported values for provider are 'authkit', 'AppleOAuth', 'GitHubOAuth, 'GoogleOAuth', and 'MicrosoftOAuth'. (Optional)
399
+ Currently, the supported values for provider are 'authkit', 'AppleOAuth', 'GitHubOAuth, 'GoogleOAuth', 'MicrosoftOAuth', and 'SalesforceOAuth'. (Optional)
383
400
  provider_scopes (Sequence[str]): Can be used to specify additional scopes that will be requested when initiating SSO using an OAuth provider. (Optional)
384
401
  domain_hint (str): Can be used to pre-fill the domain field when initiating authentication with Microsoft OAuth,
385
402
  or with a GoogleSAML connection type. (Optional)
@@ -988,12 +1005,18 @@ class UserManagement(UserManagementModule):
988
1005
  )
989
1006
 
990
1007
  def create_organization_membership(
991
- self, *, user_id: str, organization_id: str, role_slug: Optional[str] = None
1008
+ self,
1009
+ *,
1010
+ user_id: str,
1011
+ organization_id: str,
1012
+ role_slug: Optional[str] = None,
1013
+ role_slugs: Optional[Sequence[str]] = None,
992
1014
  ) -> OrganizationMembership:
993
1015
  json = {
994
1016
  "user_id": user_id,
995
1017
  "organization_id": organization_id,
996
1018
  "role_slug": role_slug,
1019
+ "role_slugs": role_slugs,
997
1020
  }
998
1021
 
999
1022
  response = self._http_client.request(
@@ -1003,10 +1026,15 @@ class UserManagement(UserManagementModule):
1003
1026
  return OrganizationMembership.model_validate(response)
1004
1027
 
1005
1028
  def update_organization_membership(
1006
- self, *, organization_membership_id: str, role_slug: Optional[str] = None
1029
+ self,
1030
+ *,
1031
+ organization_membership_id: str,
1032
+ role_slug: Optional[str] = None,
1033
+ role_slugs: Optional[Sequence[str]] = None,
1007
1034
  ) -> OrganizationMembership:
1008
1035
  json = {
1009
1036
  "role_slug": role_slug,
1037
+ "role_slugs": role_slugs,
1010
1038
  }
1011
1039
 
1012
1040
  response = self._http_client.request(
@@ -1614,12 +1642,18 @@ class AsyncUserManagement(UserManagementModule):
1614
1642
  )
1615
1643
 
1616
1644
  async def create_organization_membership(
1617
- self, *, user_id: str, organization_id: str, role_slug: Optional[str] = None
1645
+ self,
1646
+ *,
1647
+ user_id: str,
1648
+ organization_id: str,
1649
+ role_slug: Optional[str] = None,
1650
+ role_slugs: Optional[Sequence[str]] = None,
1618
1651
  ) -> OrganizationMembership:
1619
1652
  json = {
1620
1653
  "user_id": user_id,
1621
1654
  "organization_id": organization_id,
1622
1655
  "role_slug": role_slug,
1656
+ "role_slugs": role_slugs,
1623
1657
  }
1624
1658
 
1625
1659
  response = await self._http_client.request(
@@ -1629,10 +1663,15 @@ class AsyncUserManagement(UserManagementModule):
1629
1663
  return OrganizationMembership.model_validate(response)
1630
1664
 
1631
1665
  async def update_organization_membership(
1632
- self, *, organization_membership_id: str, role_slug: Optional[str] = None
1666
+ self,
1667
+ *,
1668
+ organization_membership_id: str,
1669
+ role_slug: Optional[str] = None,
1670
+ role_slugs: Optional[Sequence[str]] = None,
1633
1671
  ) -> OrganizationMembership:
1634
1672
  json = {
1635
1673
  "role_slug": role_slug,
1674
+ "role_slugs": role_slugs,
1636
1675
  }
1637
1676
 
1638
1677
  response = await self._http_client.request(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: workos
3
- Version: 5.27.0
3
+ Version: 5.29.0
4
4
  Summary: WorkOS Python Client
5
5
  Home-page: https://github.com/workos-inc/workos-python
6
6
  Author: WorkOS
@@ -1,4 +1,4 @@
1
- workos/__about__.py,sha256=44_g5uJBX2ZmRGExzrm8kphS58DJWlXIfHZS-jIhELw,406
1
+ workos/__about__.py,sha256=ig7DRAa6dkds_8J3NhtXTP12KO0T4nB-9JNj4NgC2No,406
2
2
  workos/__init__.py,sha256=hOdbO_MJCvpLx8EbRjQg-fvFAB-glJmrmxUZK8kWG0k,167
3
3
  workos/_base_client.py,sha256=YWLXBpd0YeID3WKYZkKa4l9ZuB9e6HgdLmPKZIzXsME,3599
4
4
  workos/_client_configuration.py,sha256=g3eXhtrEMN6CW0hZ5uHb2PmLurXjyBkWZeQYMPeJD6s,222
@@ -11,18 +11,18 @@ workos/exceptions.py,sha256=eoy-T4We98HKZn0UZu33fPzhm4DwafzwLeg3juhC6FE,1732
11
11
  workos/fga.py,sha256=qjZrdkXKwJDLVTMMrOADxyXRDkswto4kGIdtTjtS3hw,21008
12
12
  workos/mfa.py,sha256=J8eOr4ZEmK0TPFKD7pabSalgCFCyg3XJY1stu28_8Vw,6862
13
13
  workos/organization_domains.py,sha256=um-dm54SIs2Kd2FxqxVjIlynlenAG9NamQmNVUGOQ0k,5464
14
- workos/organizations.py,sha256=ugPRhwN8cN2O6qOCf7wj8Wus-oeRKXlNe2642PSl_n4,12266
14
+ workos/organizations.py,sha256=_kiS0KbFd6TjOqFxwA2gL2EaDO7cDPKwb3RWlw8sQi4,15285
15
15
  workos/passwordless.py,sha256=NGXDoxomBkrIml8-VHXH1HvCFMqotQ-YhRobUQXpVZs,3203
16
16
  workos/portal.py,sha256=lzf3fnOor4AyVdHCHMuJzVSpAC9LWWdC5sZIRtCsb0c,2443
17
17
  workos/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- workos/session.py,sha256=EXurDn7wTRsciRSN_nN98tRD9hhw28eIMLrMNxWhyy0,12071
18
+ workos/session.py,sha256=i5znIJjfMHejpaeXKmRjFR_G5FA9-5KQYAF0VsLasgw,12217
19
19
  workos/sso.py,sha256=ZBC3y-IRmxG0jPd0BOj7s7XQkXJoTLUg1fx-h3Gfy4g,13541
20
- workos/user_management.py,sha256=qy21HxYVO40xo7TvCGVxvGWdYIFHZTVnUJTpCQIN2ko,77113
20
+ workos/user_management.py,sha256=PW969XfXk02E-JDliGvK45cv_4d3NsXXdQeUiUrZEZc,78126
21
21
  workos/vault.py,sha256=SJXr3nJ03qJFuf30FjevMD6LLlDNX3MGaKlYGgICRRE,15657
22
22
  workos/webhooks.py,sha256=CuwBxh6va9VZFVSXOknveGt6CCGDF3em07a-J12DbXI,4790
23
23
  workos/widgets.py,sha256=bfbR0hQOHZabbgGL2ekD5sY1sjiUoWBTdrBd_a6WmBc,1721
24
24
  workos/types/__init__.py,sha256=aYScTXq5jOyp0AYvdWffaj5-zdDuNtCCJtbzt5GM19k,267
25
- workos/types/list_resource.py,sha256=6N9OoaFsWPCXEX9plVONODxed-Yx6RaX1ga1b15ENIA,6570
25
+ workos/types/list_resource.py,sha256=I2ToBP7mNF_LcooHocyX2WckKO0N3_920W7cKFDBfks,6638
26
26
  workos/types/metadata.py,sha256=uUqDkGJGyFY3H4JZObSiCfn4jKBue5CBhOqv79TI1n0,52
27
27
  workos/types/workos_model.py,sha256=bV_p3baadcUJOU_7f6ysZ6KXhpt3E_93spuZnfJs9vc,735
28
28
  workos/types/audit_logs/__init__.py,sha256=daPn8wAVEnlM1fCpOsy3dVZV_0YEp8bA1T_nhk5-pU8,211
@@ -54,6 +54,9 @@ workos/types/events/list_filters.py,sha256=P04zmRynx9VPqNX_MBXA-3KA6flPZJogtIUqT
54
54
  workos/types/events/organization_domain_verification_failed_payload.py,sha256=b4wX8HVbL9Nx6fCjOXkZg9eLc-Bv6YqAjMap1f7UvFc,470
55
55
  workos/types/events/previous_attributes.py,sha256=DxolwLwzcnG8r_W6rh5BT29iDfSVsIELvRYJ0NCrNn0,72
56
56
  workos/types/events/session_created_payload.py,sha256=F4eKjmetgyRIluNBDUmB2OXq8hDWEVjALJ4rrT2IHJs,462
57
+ workos/types/feature_flags/__init__.py,sha256=zQpY624xaDw8t94ZbNrl_iH9bHPrSYYSKHVDnd7XTmc,91
58
+ workos/types/feature_flags/feature_flag.py,sha256=fS1RP_mOJKMmnaNqpSsePkixbJAExx-153IKb29kC-4,268
59
+ workos/types/feature_flags/list_filters.py,sha256=iTnz1KNzxXAJunBMg-ZE63Mh2DaCFmS4S_q6AoL3rbI,112
57
60
  workos/types/fga/__init__.py,sha256=mVb3gvhvK93PAosSgO1RlNmxYX4zIxVDcZZQ8Jyejuw,151
58
61
  workos/types/fga/authorization_resource_types.py,sha256=wB_CNWhsuCx16u26-o0MJuN2zS6aMV61WDTVHlwD1zk,225
59
62
  workos/types/fga/authorization_resources.py,sha256=pXDMKGTd6AX7Z6zDAud9ebn_NMOAVoXtBNH1VRkmdyI,263
@@ -84,31 +87,31 @@ workos/types/portal/portal_link_intent_options.py,sha256=HMDW6mBkCspcMq_x9wPwq5u
84
87
  workos/types/roles/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
88
  workos/types/roles/role.py,sha256=GhY6tCFIW33Z-SCbP---Esyoz_ePFvoamxIqyWvCNJ4,543
86
89
  workos/types/sso/__init__.py,sha256=feBeNqummbAvLaiAn9mTmW5O8axKHUWxh6IkQceKeAc,115
87
- workos/types/sso/connection.py,sha256=zvHPcazmBwTAF9TQPT9mar1fnoO9nxZVirsWFU1ud7g,1656
90
+ workos/types/sso/connection.py,sha256=GTpaS02EMv2cJAkt20tSxldVCcKQlpl37vQSIAIHSdM,1679
88
91
  workos/types/sso/connection_domain.py,sha256=kMa9GatwUl6YilMU9iiyUKXFfEUKWYub7PyjjYmqhLc,185
89
92
  workos/types/sso/profile.py,sha256=IWHpg2GdIvE7eAGi1RJheAqp9AozsKuGfiFc9_IteHI,1075
90
- workos/types/sso/sso_provider_type.py,sha256=7iVVMj0mrbrj8gCEVCz3PJ5uZJLPzO0PmscB3-JmfZ0,136
93
+ workos/types/sso/sso_provider_type.py,sha256=JfO-Ta1wJP7jhtbnWKcS9tElMK_7P6AM10nY-7mM4XE,159
91
94
  workos/types/user_management/__init__.py,sha256=Z4KR9pBDb1pbCL26WxSuNLautf4mOVqntWztNr6i6QQ,361
92
95
  workos/types/user_management/authenticate_with_common.py,sha256=7YNj_hGzn9Vt2GVKzGfJiAFAjg0QHMJBhT_olXdikug,2062
93
- workos/types/user_management/authentication_response.py,sha256=7GYD0QL36zvixTEFj-JI7zUy-N2WPk_42mbF0pWCtho,1414
96
+ workos/types/user_management/authentication_response.py,sha256=2A6vU8FBEE7bXl5aULB-s80_xsR9caqC9tSr9Yq1NtE,1437
94
97
  workos/types/user_management/email_verification.py,sha256=4EqlN7qZBVTZGKaU9WdCSdgFjOMZtkYWTolE-h_hTXA,399
95
98
  workos/types/user_management/impersonator.py,sha256=_PAPYg_Q1M8wpwtnkQxuA2vtUIwvs_G30vYY91aqw8E,192
96
99
  workos/types/user_management/invitation.py,sha256=4fK-Fk786MlhzZvvOrZtU_6SCJXmem3xw62SkBE1c-0,721
97
100
  workos/types/user_management/list_filters.py,sha256=qgJUKUuVmBIG1g-rdaq9vLAW1gu14WzJ67ctPVlFEtg,687
98
101
  workos/types/user_management/magic_auth.py,sha256=Sda13_uMOC-hHlyGeOXNnCn-HrpwUmtrf2hO5ek9U98,359
99
- workos/types/user_management/oauth_tokens.py,sha256=bETJTZ-Y50h6ib7w5vVbWFGv-xlvhI40sKGz7_l4YSE,445
100
- workos/types/user_management/organization_membership.py,sha256=iYcf6D6zbrdHdrUMzPs-bk_z9e4RWy3idwW1waDaBks,650
102
+ workos/types/user_management/oauth_tokens.py,sha256=pANk6AyqyRq6hrOrJYQ9AHALVxUbqhGnggzD8PVV-Ew,468
103
+ workos/types/user_management/organization_membership.py,sha256=dllONFtD1IZZiyqxnV8lJpJyH55OeOeaHRBDZlcWLwk,735
101
104
  workos/types/user_management/password_hash_type.py,sha256=1752LWdXbaH6TZ6IxbJWeRwlYXX9zN5iJATTaDrCQVA,93
102
105
  workos/types/user_management/password_reset.py,sha256=-NJCfEh4Q1xS9fFXJaF_acYeuUc9POqERLh8urMhqt8,403
103
106
  workos/types/user_management/screen_hint.py,sha256=DnPgvjRK-20i82v3YPzggna1rc6yOMyhiqwUdk01L3s,75
104
- workos/types/user_management/session.py,sha256=pyINOo_a53rxtZ-gGYOZziNHoZzc7s56evKgVAPIgMo,1390
107
+ workos/types/user_management/session.py,sha256=ckDH0Opgp8-w-08FBJax3sPNCGzxSg9z1JzsjbUNryQ,1434
105
108
  workos/types/user_management/user.py,sha256=aXRHsLXnQbXWBPRTdAP9Ym_-D9hjmrp_E4PTPi1gF1s,603
106
- workos/types/user_management/user_management_provider_type.py,sha256=UEjtcs9oeDvL9248bFy8nRfzutA6aBfhVMuMByG0qsM,145
109
+ workos/types/user_management/user_management_provider_type.py,sha256=t7S3zLf9n9GSYQJjshGRdiAfebYQKziGmUgbBlOmYuE,185
107
110
  workos/types/vault/__init__.py,sha256=krBuIl8luysrtDf9-b8KTkXOHDOaSsOR-Aao6Wlil0Q,41
108
111
  workos/types/vault/key.py,sha256=x30XBplSj9AviDDAB8MdpcULbZvvo2sUzi8RCmZQKxU,453
109
112
  workos/types/vault/object.py,sha256=-rk4KovS3eT8T8L3JltYUS0cd2Rg1JKcAX9SOaZO3D8,664
110
113
  workos/types/webhooks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
111
- workos/types/webhooks/webhook.py,sha256=X8fhXpUGlbHmQnOZqWh5he0XOH1aSbd5yIHT5GM9AG8,9795
114
+ workos/types/webhooks/webhook.py,sha256=C7PcSxQFVKxQ81K_XlO2WUHYA9U6rm4dKzltiY4yxW0,10301
112
115
  workos/types/webhooks/webhook_model.py,sha256=v7Hgtzt0nW_5RaYoB_QGVfElhdjySuG3F1BFjoid36w,404
113
116
  workos/types/webhooks/webhook_payload.py,sha256=GXt31KtyBM-ji5K5p4dBnu46Gh8adQWTq0ye5USB_6g,68
114
117
  workos/types/widgets/__init__.py,sha256=z2Tdlj_bJsRZeJRh4SOFX58PvJdf0LjKnYhrQX1fpME,65
@@ -125,8 +128,8 @@ workos/utils/crypto_provider.py,sha256=QeQSR4t9xLlb90kEfl8onVUsf1yCkYq0EjFTxK0mU
125
128
  workos/utils/http_client.py,sha256=TM5yMFFExmAE8D2Z43-5O301tRbnylLG0aXO0isGorE,6197
126
129
  workos/utils/pagination_order.py,sha256=_-et1DDJLG0czarTU7op4W6RA0V1f85GNsUgtyRU55Q,70
127
130
  workos/utils/request_helper.py,sha256=NaO16qPPbSNnCeE0fiNKYb8gM-dK_okYVJbLGrEGXz8,793
128
- workos-5.27.0.dist-info/LICENSE,sha256=mU--WL1JzelH2tXpKVoOlpud4cpqKSRTtdArCvYZmb4,1063
129
- workos-5.27.0.dist-info/METADATA,sha256=j1sWLVnRxXHdrpIO8uysMsf3logqWc3JUVkP8OHKwjI,4187
130
- workos-5.27.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
131
- workos-5.27.0.dist-info/top_level.txt,sha256=ZFskIfue1Tw-JwjyIXRvdsAl9i0DX9VbqmgICXV84Sk,7
132
- workos-5.27.0.dist-info/RECORD,,
131
+ workos-5.29.0.dist-info/LICENSE,sha256=mU--WL1JzelH2tXpKVoOlpud4cpqKSRTtdArCvYZmb4,1063
132
+ workos-5.29.0.dist-info/METADATA,sha256=TazcEUR6BRrDtctstXayz4J1kIHOv6-vfifNzi2bn7U,4187
133
+ workos-5.29.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
134
+ workos-5.29.0.dist-info/top_level.txt,sha256=ZFskIfue1Tw-JwjyIXRvdsAl9i0DX9VbqmgICXV84Sk,7
135
+ workos-5.29.0.dist-info/RECORD,,