diff --git a/.changelog-pending/2026-07-21T21-30-29-eda9449c1319b2af53afd81d12f577ad72285ef0.md b/.changelog-pending/2026-07-21T21-30-29-eda9449c1319b2af53afd81d12f577ad72285ef0.md new file mode 100644 index 00000000..f5662da4 --- /dev/null +++ b/.changelog-pending/2026-07-21T21-30-29-eda9449c1319b2af53afd81d12f577ad72285ef0.md @@ -0,0 +1,13 @@ +* [#698](https://github.com/workos/workos-python/pull/698) feat(generated)!: regenerate from spec (5 changes) + + **⚠️ Breaking** + * **[admin_portal](https://workos.com/docs/reference/admin-portal)**: + * SDK surface change: Symbol "IntentOptions" was removed + * **[connect](https://workos.com/docs/reference/workos-connect/standalone)**: + * SDK surface change: Symbol "ConnectedAccountDto" was removed + * **[organization_domains](https://workos.com/docs/reference/domain-verification)**: + * SDK surface change: Symbol "DomainVerificationIntentOptions" was removed + * **[pipes](https://workos.com/docs/reference/pipes)**: + * SDK surface change: Symbol "DataIntegrationCredentialsDto" was removed + * **[sso](https://workos.com/docs/reference/sso)**: + * SDK surface change: Symbol "SSOIntentOptions" was removed diff --git a/.oagen-manifest.json b/.oagen-manifest.json index ee67a048..33626896 100644 --- a/.oagen-manifest.json +++ b/.oagen-manifest.json @@ -6,11 +6,8 @@ "src/workos/admin_portal/__init__.py", "src/workos/admin_portal/_resource.py", "src/workos/admin_portal/models/__init__.py", - "src/workos/admin_portal/models/domain_verification_intent_options.py", "src/workos/admin_portal/models/generate_link.py", - "src/workos/admin_portal/models/intent_options.py", "src/workos/admin_portal/models/portal_link_response.py", - "src/workos/admin_portal/models/sso_intent_options.py", "src/workos/agents/__init__.py", "src/workos/agents/_resource.py", "src/workos/agents/models/__init__.py", @@ -251,7 +248,6 @@ "src/workos/common/models/data_integration_credentials_credentials_type.py", "src/workos/common/models/data_integration_credentials_input_type.py", "src/workos/common/models/data_integration_credentials_response_error.py", - "src/workos/common/models/data_integration_credentials_type.py", "src/workos/common/models/data_integration_custom_provider_authenticate_via.py", "src/workos/common/models/data_integration_state.py", "src/workos/common/models/data_integrations_list_response_data_auth_methods.py", @@ -385,8 +381,6 @@ "src/workos/common/models/organization_domain_deleted_data.py", "src/workos/common/models/organization_domain_deleted_data_state.py", "src/workos/common/models/organization_domain_deleted_data_verification_strategy.py", - "src/workos/common/models/organization_domain_stand_alone_state.py", - "src/workos/common/models/organization_domain_stand_alone_verification_strategy.py", "src/workos/common/models/organization_domain_state.py", "src/workos/common/models/organization_domain_updated.py", "src/workos/common/models/organization_domain_updated_data.py", @@ -583,7 +577,6 @@ "src/workos/organization_domains/_resource.py", "src/workos/organization_domains/models/__init__.py", "src/workos/organization_domains/models/create_organization_domain.py", - "src/workos/organization_domains/models/organization_domain_stand_alone.py", "src/workos/organization_membership/__init__.py", "src/workos/organization_membership/_resource.py", "src/workos/organization_membership/models/__init__.py", @@ -608,8 +601,6 @@ "src/workos/pipes/_resource.py", "src/workos/pipes/models/__init__.py", "src/workos/pipes/models/api_key_installation.py", - "src/workos/pipes/models/connected_account.py", - "src/workos/pipes/models/connected_account_dto.py", "src/workos/pipes/models/connected_account_input.py", "src/workos/pipes/models/create_data_integration.py", "src/workos/pipes/models/custom_provider_definition.py", @@ -618,7 +609,6 @@ "src/workos/pipes/models/data_integration_access_token_response_access_token.py", "src/workos/pipes/models/data_integration_authorize_url_response.py", "src/workos/pipes/models/data_integration_credential.py", - "src/workos/pipes/models/data_integration_credentials_dto.py", "src/workos/pipes/models/data_integration_credentials_input.py", "src/workos/pipes/models/data_integration_credentials_response.py", "src/workos/pipes/models/data_integration_credentials_response_credential.py", @@ -656,7 +646,6 @@ "src/workos/sso/models/__init__.py", "src/workos/sso/models/connection.py", "src/workos/sso/models/connection_domain.py", - "src/workos/sso/models/connection_option.py", "src/workos/sso/models/connections_connection_type.py", "src/workos/sso/models/profile.py", "src/workos/sso/models/sso_authorize_url_response.py", @@ -928,7 +917,6 @@ "tests/fixtures/connect_application_oauth.json", "tests/fixtures/connect_application_oauth_redirect_uris.json", "tests/fixtures/connected_account.json", - "tests/fixtures/connected_account_dto.json", "tests/fixtures/connected_account_input.json", "tests/fixtures/connection.json", "tests/fixtures/connection_activated.json", @@ -940,7 +928,6 @@ "tests/fixtures/connection_deleted.json", "tests/fixtures/connection_deleted_data.json", "tests/fixtures/connection_domain.json", - "tests/fixtures/connection_option.json", "tests/fixtures/connection_saml_certificate_renewal_required.json", "tests/fixtures/connection_saml_certificate_renewal_required_data.json", "tests/fixtures/connection_saml_certificate_renewal_required_data_certificate.json", @@ -984,7 +971,6 @@ "tests/fixtures/data_integration_configuration_response.json", "tests/fixtures/data_integration_credential.json", "tests/fixtures/data_integration_credentials.json", - "tests/fixtures/data_integration_credentials_dto.json", "tests/fixtures/data_integration_credentials_input.json", "tests/fixtures/data_integration_credentials_response.json", "tests/fixtures/data_integration_credentials_response_credential.json", @@ -1011,7 +997,6 @@ "tests/fixtures/directory_user_email.json", "tests/fixtures/directory_user_with_groups.json", "tests/fixtures/directory_user_with_groups_email.json", - "tests/fixtures/domain_verification_intent_options.json", "tests/fixtures/dsync_activated.json", "tests/fixtures/dsync_activated_data.json", "tests/fixtures/dsync_activated_data_domain.json", @@ -1097,7 +1082,6 @@ "tests/fixtures/group_role_assignment_list.json", "tests/fixtures/group_role_assignment_resource.json", "tests/fixtures/group_updated.json", - "tests/fixtures/intent_options.json", "tests/fixtures/invitation.json", "tests/fixtures/invitation_accepted.json", "tests/fixtures/invitation_accepted_data.json", @@ -1170,7 +1154,6 @@ "tests/fixtures/organization_domain_data.json", "tests/fixtures/organization_domain_deleted.json", "tests/fixtures/organization_domain_deleted_data.json", - "tests/fixtures/organization_domain_stand_alone.json", "tests/fixtures/organization_domain_updated.json", "tests/fixtures/organization_domain_updated_data.json", "tests/fixtures/organization_domain_verification_failed.json", @@ -1260,7 +1243,6 @@ "tests/fixtures/slim_role.json", "tests/fixtures/sso_authorize_url_response.json", "tests/fixtures/sso_device_authorization_request.json", - "tests/fixtures/sso_intent_options.json", "tests/fixtures/sso_logout_authorize_request.json", "tests/fixtures/sso_logout_authorize_response.json", "tests/fixtures/sso_token_response.json", @@ -1366,7 +1348,6 @@ "tests/test_feature_flags_models_round_trip.py", "tests/test_groups.py", "tests/test_groups_models_round_trip.py", - "tests/test_models_round_trip.py", "tests/test_multi_factor_auth.py", "tests/test_multi_factor_auth_models_round_trip.py", "tests/test_organization_domains.py", @@ -1393,6 +1374,18 @@ "tests/test_widgets_models_round_trip.py" ], "operations": { + "PATCH /agents/claims/attempts": { + "sdkMethod": "update_attempts", + "service": "agents" + }, + "POST /agents/credentials/validate": { + "sdkMethod": "create_validate", + "service": "agents" + }, + "GET /agents/registrations/{id}": { + "sdkMethod": "get_registration", + "service": "agents" + }, "POST /auth/challenges/{id}/verify": { "sdkMethod": "verify_challenge", "service": "multi_factor_auth" @@ -1645,10 +1638,38 @@ "sdkMethod": "delete_connection", "service": "sso" }, + "GET /data-integrations": { + "sdkMethod": "list_data_integrations", + "service": "pipes" + }, + "POST /data-integrations": { + "sdkMethod": "create_data_integration", + "service": "pipes" + }, + "GET /data-integrations/{slug}": { + "sdkMethod": "get_data_integration", + "service": "pipes" + }, + "PUT /data-integrations/{slug}": { + "sdkMethod": "update_data_integration", + "service": "pipes" + }, + "DELETE /data-integrations/{slug}": { + "sdkMethod": "delete_data_integration", + "service": "pipes" + }, + "PUT /data-integrations/{slug}/api-key": { + "sdkMethod": "update_data_integration_api_key", + "service": "pipes" + }, "POST /data-integrations/{slug}/authorize": { "sdkMethod": "authorize_data_integration", "service": "pipes" }, + "POST /data-integrations/{slug}/credentials": { + "sdkMethod": "create_data_integration_credential", + "service": "pipes" + }, "POST /data-integrations/{provider}/token": { "sdkMethod": "get_access_token", "service": "pipes" @@ -1813,6 +1834,10 @@ "sdkMethod": "delete_group_organization_membership", "service": "groups" }, + "GET /organizations/{organization_id}/authorized_applications": { + "sdkMethod": "list_authorized_applications", + "service": "organizations" + }, "POST /portal/generate_link": { "sdkMethod": "generate_link", "service": "admin_portal" @@ -1869,6 +1894,14 @@ "sdkMethod": "create_device", "service": "user_management" }, + "POST /user_management/radar_challenges": { + "sdkMethod": "create_radar_challenge", + "service": "user_management" + }, + "GET /user_management/radar_challenges/{id}": { + "sdkMethod": "get_radar_challenge", + "service": "user_management" + }, "GET /user_management/sessions/logout": { "sdkMethod": "get_logout_url", "service": "user_management" @@ -1877,6 +1910,10 @@ "sdkMethod": "revoke_session", "service": "user_management" }, + "GET /user_management/cors_origins": { + "sdkMethod": "list_cors_origins", + "service": "user_management" + }, "POST /user_management/cors_origins": { "sdkMethod": "create_cors_origin", "service": "user_management" @@ -2021,10 +2058,18 @@ "sdkMethod": "list_organization_membership_groups", "service": "organization_membership" }, + "GET /user_management/redirect_uris": { + "sdkMethod": "list_redirect_uris", + "service": "user_management" + }, "POST /user_management/redirect_uris": { "sdkMethod": "create_redirect_uri", "service": "user_management" }, + "DELETE /user_management/redirect_uris/{id}": { + "sdkMethod": "delete_redirect_uris", + "service": "user_management" + }, "GET /user_management/users/{userId}/feature-flags": { "sdkMethod": "list_user_feature_flags", "service": "feature_flags" @@ -2041,6 +2086,14 @@ "sdkMethod": "get_user_connected_account", "service": "pipes" }, + "POST /user_management/users/{user_id}/connected_accounts/{slug}": { + "sdkMethod": "create_user_connected_account", + "service": "pipes" + }, + "PUT /user_management/users/{user_id}/connected_accounts/{slug}": { + "sdkMethod": "update_user_connected_account", + "service": "pipes" + }, "DELETE /user_management/users/{user_id}/connected_accounts/{slug}": { "sdkMethod": "delete_user_connected_account", "service": "pipes" @@ -2164,78 +2217,6 @@ "GET /audit_logs/exports/{auditLogExportId}": { "sdkMethod": "get_export", "service": "audit_logs" - }, - "PUT /data-integrations/{slug}/api-key": { - "sdkMethod": "update_data_integration_api_key", - "service": "pipes" - }, - "POST /data-integrations/{slug}/credentials": { - "sdkMethod": "create_data_integration_credential", - "service": "pipes" - }, - "GET /user_management/cors_origins": { - "sdkMethod": "list_cors_origins", - "service": "user_management" - }, - "GET /user_management/redirect_uris": { - "sdkMethod": "list_redirect_uris", - "service": "user_management" - }, - "GET /data-integrations": { - "sdkMethod": "list_data_integrations", - "service": "pipes" - }, - "POST /data-integrations": { - "sdkMethod": "create_data_integration", - "service": "pipes" - }, - "GET /data-integrations/{slug}": { - "sdkMethod": "get_data_integration", - "service": "pipes" - }, - "PUT /data-integrations/{slug}": { - "sdkMethod": "update_data_integration", - "service": "pipes" - }, - "DELETE /data-integrations/{slug}": { - "sdkMethod": "delete_data_integration", - "service": "pipes" - }, - "POST /user_management/radar_challenges": { - "sdkMethod": "create_radar_challenge", - "service": "user_management" - }, - "POST /user_management/users/{user_id}/connected_accounts/{slug}": { - "sdkMethod": "create_user_connected_account", - "service": "pipes" - }, - "PUT /user_management/users/{user_id}/connected_accounts/{slug}": { - "sdkMethod": "update_user_connected_account", - "service": "pipes" - }, - "GET /user_management/radar_challenges/{id}": { - "sdkMethod": "get_radar_challenge", - "service": "user_management" - }, - "DELETE /user_management/redirect_uris/{id}": { - "sdkMethod": "delete_redirect_uris", - "service": "user_management" - }, - "PATCH /agents/claims/attempts": { - "sdkMethod": "update_attempts", - "service": "agents" - }, - "POST /agents/credentials/validate": { - "sdkMethod": "create_validate", - "service": "agents" - }, - "GET /agents/registrations/{id}": { - "sdkMethod": "get_registration", - "service": "agents" - }, - "GET /organizations/{organization_id}/authorized_applications": { - "sdkMethod": "list_authorized_applications", - "service": "organizations" } } } diff --git a/src/workos/admin_portal/models/__init__.py b/src/workos/admin_portal/models/__init__.py index 72480edf..fa9b493e 100644 --- a/src/workos/admin_portal/models/__init__.py +++ b/src/workos/admin_portal/models/__init__.py @@ -1,7 +1,4 @@ # This file is auto-generated by oagen. Do not edit. -from .domain_verification_intent_options import * # noqa: F401,F403 from .generate_link import GenerateLink as GenerateLink -from .intent_options import * # noqa: F401,F403 from .portal_link_response import PortalLinkResponse as PortalLinkResponse -from .sso_intent_options import * # noqa: F401,F403 diff --git a/src/workos/admin_portal/models/domain_verification_intent_options.py b/src/workos/admin_portal/models/domain_verification_intent_options.py deleted file mode 100644 index 440c592b..00000000 --- a/src/workos/admin_portal/models/domain_verification_intent_options.py +++ /dev/null @@ -1,32 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -from __future__ import annotations - -from dataclasses import dataclass -from typing import Any, Dict, Optional -from workos._types import _raise_deserialize_error - - -@dataclass(slots=True) -class DomainVerificationIntentOptions: - """Domain Verification Intent Options model.""" - - domain_name: Optional[str] = None - """The domain name to verify. When provided, the domain verification flow will skip the domain entry form and go directly to the verification step.""" - - @classmethod - def from_dict(cls, data: Dict[str, Any]) -> "DomainVerificationIntentOptions": - """Deserialize from a dictionary.""" - try: - return cls( - domain_name=data.get("domain_name"), - ) - except (KeyError, ValueError) as e: - _raise_deserialize_error("DomainVerificationIntentOptions", e) - - def to_dict(self) -> Dict[str, Any]: - """Serialize to a dictionary.""" - result: Dict[str, Any] = {} - if self.domain_name is not None: - result["domain_name"] = self.domain_name - return result diff --git a/src/workos/admin_portal/models/intent_options.py b/src/workos/admin_portal/models/intent_options.py deleted file mode 100644 index 033caf0e..00000000 --- a/src/workos/admin_portal/models/intent_options.py +++ /dev/null @@ -1,48 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -from __future__ import annotations - -from dataclasses import dataclass -from typing import cast -from typing import Any, Dict, Optional -from workos._types import _raise_deserialize_error - -from .domain_verification_intent_options import DomainVerificationIntentOptions -from .sso_intent_options import SSOIntentOptions - - -@dataclass(slots=True) -class IntentOptions: - """Intent Options model.""" - - sso: Optional["SSOIntentOptions"] = None - """SSO-specific options for the Admin Portal.""" - domain_verification: Optional["DomainVerificationIntentOptions"] = None - """Domain verification-specific options for the Admin Portal.""" - - @classmethod - def from_dict(cls, data: Dict[str, Any]) -> "IntentOptions": - """Deserialize from a dictionary.""" - try: - return cls( - sso=SSOIntentOptions.from_dict(cast(Dict[str, Any], _v_sso)) - if (_v_sso := data.get("sso")) is not None - else None, - domain_verification=DomainVerificationIntentOptions.from_dict( - cast(Dict[str, Any], _v_domain_verification) - ) - if (_v_domain_verification := data.get("domain_verification")) - is not None - else None, - ) - except (KeyError, ValueError) as e: - _raise_deserialize_error("IntentOptions", e) - - def to_dict(self) -> Dict[str, Any]: - """Serialize to a dictionary.""" - result: Dict[str, Any] = {} - if self.sso is not None: - result["sso"] = self.sso.to_dict() - if self.domain_verification is not None: - result["domain_verification"] = self.domain_verification.to_dict() - return result diff --git a/src/workos/admin_portal/models/sso_intent_options.py b/src/workos/admin_portal/models/sso_intent_options.py deleted file mode 100644 index d0c8c589..00000000 --- a/src/workos/admin_portal/models/sso_intent_options.py +++ /dev/null @@ -1,37 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -from __future__ import annotations - -from dataclasses import dataclass -from typing import Any, Dict, Literal, Optional -from workos._types import _raise_deserialize_error - - -@dataclass(slots=True) -class SSOIntentOptions: - """SSO Intent Options model.""" - - bookmark_slug: Optional[str] = None - """The bookmark slug to use for SSO.""" - provider_type: Optional[Literal["GoogleSAML"]] = None - """The SSO provider type to configure.""" - - @classmethod - def from_dict(cls, data: Dict[str, Any]) -> "SSOIntentOptions": - """Deserialize from a dictionary.""" - try: - return cls( - bookmark_slug=data.get("bookmark_slug"), - provider_type=data.get("provider_type"), - ) - except (KeyError, ValueError) as e: - _raise_deserialize_error("SSOIntentOptions", e) - - def to_dict(self) -> Dict[str, Any]: - """Serialize to a dictionary.""" - result: Dict[str, Any] = {} - if self.bookmark_slug is not None: - result["bookmark_slug"] = self.bookmark_slug - if self.provider_type is not None: - result["provider_type"] = self.provider_type - return result diff --git a/src/workos/common/__init__.py b/src/workos/common/__init__.py index 1d52b1b8..37bdfe8b 100644 --- a/src/workos/common/__init__.py +++ b/src/workos/common/__init__.py @@ -77,7 +77,6 @@ AuthenticateResponseAuthenticationMethod as AuthenticateResponseAuthenticationMethod, ) from .models import AuthenticateResponseImpersonator as AuthenticateResponseImpersonator -from .models import * # noqa: F401,F403 from .models import AuthenticationChallenge as AuthenticationChallenge from .models import ( AuthenticationEmailVerificationFailed as AuthenticationEmailVerificationFailed, diff --git a/src/workos/common/models/__init__.py b/src/workos/common/models/__init__.py index faf8b74b..660e193a 100644 --- a/src/workos/common/models/__init__.py +++ b/src/workos/common/models/__init__.py @@ -109,7 +109,6 @@ from .authenticate_response_impersonator import ( AuthenticateResponseImpersonator as AuthenticateResponseImpersonator, ) -from .authentication_radar_risk_detected_data_action import * # noqa: F401,F403 from .authentication_challenge import AuthenticationChallenge as AuthenticationChallenge from .authentication_email_verification_failed import ( AuthenticationEmailVerificationFailed as AuthenticationEmailVerificationFailed, @@ -305,16 +304,6 @@ ConnectedAccountInputState as ConnectedAccountInputState, ) from .connected_account_state import ConnectedAccountState as ConnectedAccountState -from .connection_activated_data_connection_type import * # noqa: F401,F403 -from .connection_activated_data_state import * # noqa: F401,F403 -from .connection_activated_data_status import * # noqa: F401,F403 -from .connection_deactivated_data_connection_type import * # noqa: F401,F403 -from .connection_deactivated_data_state import * # noqa: F401,F403 -from .connection_deactivated_data_status import * # noqa: F401,F403 -from .connection_deleted_data_connection_type import * # noqa: F401,F403 -from .connection_deleted_data_state import * # noqa: F401,F403 -from .connection_saml_certificate_renewal_required_data_certificate_certificate_type import * # noqa: F401,F403 -from .connection_saml_certificate_renewed_data_certificate_certificate_type import * # noqa: F401,F403 from .connection_activated import ConnectionActivated as ConnectionActivated from .connection_activated_data import ( ConnectionActivatedData as ConnectionActivatedData, @@ -373,7 +362,6 @@ from .custom_provider_definition_authenticate_via import ( CustomProviderDefinitionAuthenticateVia as CustomProviderDefinitionAuthenticateVia, ) -from .data_integration_credentials_type import * # noqa: F401,F403 from .data_integration_access_token_response_error import ( DataIntegrationAccessTokenResponseError as DataIntegrationAccessTokenResponseError, ) @@ -408,7 +396,6 @@ DataIntegrationsListResponseDataOwnership as DataIntegrationsListResponseDataOwnership, ) from .data_integration_state import DataIntegrationState as DataIntegrationState -from .directory_user_state import * # noqa: F401,F403 from .directory_group import DirectoryGroup as DirectoryGroup from .directory_state import DirectoryState as DirectoryState from .directory_type import DirectoryType as DirectoryType @@ -417,11 +404,6 @@ from .directory_user_with_groups_state import ( DirectoryUserWithGroupsState as DirectoryUserWithGroupsState, ) -from .dsync_activated_data_state import * # noqa: F401,F403 -from .dsync_activated_data_type import * # noqa: F401,F403 -from .dsync_deleted_data_state import * # noqa: F401,F403 -from .dsync_deleted_data_type import * # noqa: F401,F403 -from .dsync_user_updated_data_state import * # noqa: F401,F403 from .dsync_activated import DsyncActivated as DsyncActivated from .dsync_activated_data import DsyncActivatedData as DsyncActivatedData from .dsync_activated_data_domain import ( @@ -459,7 +441,6 @@ EmailVerificationCreatedData as EmailVerificationCreatedData, ) from .error_response import ErrorResponse as ErrorResponse -from .event_context_actor_source import * # noqa: F401,F403 from .event_context import EventContext as EventContext from .event_context_actor import EventContextActor as EventContextActor from .event_context_google_analytics_session import ( @@ -468,12 +449,6 @@ from .feature_flag import FeatureFlag as FeatureFlag from .feature_flag_owner import FeatureFlagOwner as FeatureFlagOwner from .flag import Flag as Flag -from .flag_created_context_actor_source import * # noqa: F401,F403 -from .flag_deleted_context_actor_source import * # noqa: F401,F403 -from .flag_rule_updated_context_access_type import * # noqa: F401,F403 -from .flag_rule_updated_context_actor_source import * # noqa: F401,F403 -from .flag_rule_updated_context_previous_attribute_context_access_type import * # noqa: F401,F403 -from .flag_updated_context_actor_source import * # noqa: F401,F403 from .flag_created import FlagCreated as FlagCreated from .flag_created_context import FlagCreatedContext as FlagCreatedContext from .flag_created_context_actor import ( @@ -547,10 +522,6 @@ from .group_member_removed import GroupMemberRemoved as GroupMemberRemoved from .group_member_removed_data import GroupMemberRemovedData as GroupMemberRemovedData from .group_updated import GroupUpdated as GroupUpdated -from .invitation_accepted_data_state import * # noqa: F401,F403 -from .invitation_created_data_state import * # noqa: F401,F403 -from .invitation_resent_data_state import * # noqa: F401,F403 -from .invitation_revoked_data_state import * # noqa: F401,F403 from .invitation_accepted import InvitationAccepted as InvitationAccepted from .invitation_accepted_data import InvitationAcceptedData as InvitationAcceptedData from .invitation_created import InvitationCreated as InvitationCreated @@ -563,28 +534,6 @@ from .list_metadata import ListMetadata as ListMetadata from .magic_auth_created import MagicAuthCreated as MagicAuthCreated from .magic_auth_created_data import MagicAuthCreatedData as MagicAuthCreatedData -from .organization_created_data_domain_state import * # noqa: F401,F403 -from .organization_created_data_domain_verification_strategy import * # noqa: F401,F403 -from .organization_deleted_data_domain_state import * # noqa: F401,F403 -from .organization_deleted_data_domain_verification_strategy import * # noqa: F401,F403 -from .organization_domain_created_data_state import * # noqa: F401,F403 -from .organization_domain_created_data_verification_strategy import * # noqa: F401,F403 -from .organization_domain_deleted_data_state import * # noqa: F401,F403 -from .organization_domain_deleted_data_verification_strategy import * # noqa: F401,F403 -from .organization_domain_stand_alone_state import * # noqa: F401,F403 -from .organization_domain_stand_alone_verification_strategy import * # noqa: F401,F403 -from .organization_domain_updated_data_state import * # noqa: F401,F403 -from .organization_domain_updated_data_verification_strategy import * # noqa: F401,F403 -from .organization_domain_verification_failed_data_organization_domain_state import * # noqa: F401,F403 -from .organization_domain_verification_failed_data_organization_domain_verification_strategy import * # noqa: F401,F403 -from .organization_domain_verification_failed_data_reason import * # noqa: F401,F403 -from .organization_domain_verified_data_state import * # noqa: F401,F403 -from .organization_domain_verified_data_verification_strategy import * # noqa: F401,F403 -from .organization_membership_created_data_status import * # noqa: F401,F403 -from .organization_membership_deleted_data_status import * # noqa: F401,F403 -from .organization_membership_updated_data_status import * # noqa: F401,F403 -from .organization_updated_data_domain_state import * # noqa: F401,F403 -from .organization_updated_data_domain_verification_strategy import * # noqa: F401,F403 from .organization_created import OrganizationCreated as OrganizationCreated from .organization_created_data import ( OrganizationCreatedData as OrganizationCreatedData, @@ -703,7 +652,6 @@ from .permission_deleted_data import PermissionDeletedData as PermissionDeletedData from .permission_updated import PermissionUpdated as PermissionUpdated from .permission_updated_data import PermissionUpdatedData as PermissionUpdatedData -from .pipe_connected_account_state import * # noqa: F401,F403 from .pipe_connected_account import PipeConnectedAccount as PipeConnectedAccount from .pipes_connected_account_connected import ( PipesConnectedAccountConnected as PipesConnectedAccountConnected, @@ -750,10 +698,6 @@ from .role_type import RoleType as RoleType from .role_updated import RoleUpdated as RoleUpdated from .role_updated_data import RoleUpdatedData as RoleUpdatedData -from .session_created_data_auth_method import * # noqa: F401,F403 -from .session_created_data_status import * # noqa: F401,F403 -from .session_revoked_data_auth_method import * # noqa: F401,F403 -from .session_revoked_data_status import * # noqa: F401,F403 from .session_created import SessionCreated as SessionCreated from .session_created_data import SessionCreatedData as SessionCreatedData from .session_created_data_impersonator import ( @@ -812,16 +756,6 @@ from .user_sessions_list_item import UserSessionsListItem as UserSessionsListItem from .user_sessions_status import UserSessionsStatus as UserSessionsStatus from .user_updated import UserUpdated as UserUpdated -from .vault_byok_key_provider import * # noqa: F401,F403 -from .vault_data_created_data_actor_source import * # noqa: F401,F403 -from .vault_data_deleted_data_actor_source import * # noqa: F401,F403 -from .vault_data_read_data_actor_source import * # noqa: F401,F403 -from .vault_data_updated_data_actor_source import * # noqa: F401,F403 -from .vault_dek_decrypted_data_actor_source import * # noqa: F401,F403 -from .vault_dek_read_data_actor_source import * # noqa: F401,F403 -from .vault_kek_created_data_actor_source import * # noqa: F401,F403 -from .vault_metadata_read_data_actor_source import * # noqa: F401,F403 -from .vault_names_listed_data_actor_source import * # noqa: F401,F403 from .vault_byok_key_deleted import VaultByokKeyDeleted as VaultByokKeyDeleted from .vault_byok_key_deleted_data import ( VaultByokKeyDeletedData as VaultByokKeyDeletedData, @@ -852,7 +786,6 @@ from .vault_metadata_read_data import VaultMetadataReadData as VaultMetadataReadData from .vault_names_listed import VaultNamesListed as VaultNamesListed from .vault_names_listed_data import VaultNamesListedData as VaultNamesListedData -from .waitlist_user_state import * # noqa: F401,F403 from .waitlist_user import WaitlistUser as WaitlistUser from .waitlist_user_approved import WaitlistUserApproved as WaitlistUserApproved from .waitlist_user_created import WaitlistUserCreated as WaitlistUserCreated diff --git a/src/workos/common/models/data_integration_credentials_type.py b/src/workos/common/models/data_integration_credentials_type.py deleted file mode 100644 index d5ac6cf1..00000000 --- a/src/workos/common/models/data_integration_credentials_type.py +++ /dev/null @@ -1,7 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -from typing import TypeAlias -from .data_integration_credential_type import DataIntegrationCredentialType - -DataIntegrationCredentialsType: TypeAlias = DataIntegrationCredentialType -__all__ = ["DataIntegrationCredentialsType"] diff --git a/src/workos/common/models/organization_domain_stand_alone_state.py b/src/workos/common/models/organization_domain_stand_alone_state.py deleted file mode 100644 index 6d5d547e..00000000 --- a/src/workos/common/models/organization_domain_stand_alone_state.py +++ /dev/null @@ -1,7 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -from typing import TypeAlias -from .organization_created_data_domain_state import OrganizationCreatedDataDomainState - -OrganizationDomainStandAloneState: TypeAlias = OrganizationCreatedDataDomainState -__all__ = ["OrganizationDomainStandAloneState"] diff --git a/src/workos/common/models/organization_domain_stand_alone_verification_strategy.py b/src/workos/common/models/organization_domain_stand_alone_verification_strategy.py deleted file mode 100644 index 4bb04be0..00000000 --- a/src/workos/common/models/organization_domain_stand_alone_verification_strategy.py +++ /dev/null @@ -1,11 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -from typing import TypeAlias -from .organization_created_data_domain_verification_strategy import ( - OrganizationCreatedDataDomainVerificationStrategy, -) - -OrganizationDomainStandAloneVerificationStrategy: TypeAlias = ( - OrganizationCreatedDataDomainVerificationStrategy -) -__all__ = ["OrganizationDomainStandAloneVerificationStrategy"] diff --git a/src/workos/organization_domains/models/__init__.py b/src/workos/organization_domains/models/__init__.py index cc7840c8..29011846 100644 --- a/src/workos/organization_domains/models/__init__.py +++ b/src/workos/organization_domains/models/__init__.py @@ -3,7 +3,6 @@ from .create_organization_domain import ( CreateOrganizationDomain as CreateOrganizationDomain, ) -from .organization_domain_stand_alone import * # noqa: F401,F403 from workos.common.models.organization_domain import ( OrganizationDomain as OrganizationDomain, ) diff --git a/src/workos/organization_domains/models/organization_domain_stand_alone.py b/src/workos/organization_domains/models/organization_domain_stand_alone.py deleted file mode 100644 index d2a22aa8..00000000 --- a/src/workos/organization_domains/models/organization_domain_stand_alone.py +++ /dev/null @@ -1,6 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -from typing import TypeAlias -from workos.common.models.organization_domain import OrganizationDomain - -OrganizationDomainStandAlone: TypeAlias = OrganizationDomain diff --git a/src/workos/pipes/models/__init__.py b/src/workos/pipes/models/__init__.py index 70e054f6..340aba26 100644 --- a/src/workos/pipes/models/__init__.py +++ b/src/workos/pipes/models/__init__.py @@ -1,15 +1,12 @@ # This file is auto-generated by oagen. Do not edit. from .api_key_installation import ApiKeyInstallation as ApiKeyInstallation -from .connected_account import * # noqa: F401,F403 -from .connected_account_dto import * # noqa: F401,F403 from workos.common.models.connected_account import ConnectedAccount as ConnectedAccount from .connected_account_input import ConnectedAccountInput as ConnectedAccountInput from .create_data_integration import CreateDataIntegration as CreateDataIntegration from .custom_provider_definition import ( CustomProviderDefinition as CustomProviderDefinition, ) -from .data_integration_credentials_dto import * # noqa: F401,F403 from .data_integration import DataIntegration as DataIntegration from .data_integration_access_token_response import ( DataIntegrationAccessTokenResponse as DataIntegrationAccessTokenResponse, diff --git a/src/workos/pipes/models/connected_account.py b/src/workos/pipes/models/connected_account.py deleted file mode 100644 index 8167f85f..00000000 --- a/src/workos/pipes/models/connected_account.py +++ /dev/null @@ -1,93 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -from __future__ import annotations - -from dataclasses import dataclass -from enum import Enum -from typing import Any, Dict, List, Literal, Optional -from workos._types import _raise_deserialize_error -from workos.common.models.connected_account_auth_method import ( - ConnectedAccountAuthMethod, -) -from workos.common.models.connected_account_state import ConnectedAccountState - - -@dataclass(slots=True) -class ConnectedAccount: - """Connected Account model.""" - - object: Literal["connected_account"] - """Distinguishes the connected account object.""" - id: str - """The unique identifier of the connected account.""" - user_id: Optional[str] - """The [User](https://workos.com/docs/reference/authkit/user) identifier associated with this connection.""" - organization_id: Optional[str] - """The [Organization](https://workos.com/docs/reference/organization) identifier associated with this connection, or `null` if not scoped to an organization.""" - scopes: List[str] - """The OAuth scopes granted for this connection.""" - state: "ConnectedAccountState" - """The state of the connected account: -- `connected`: The connection is active and tokens are valid. -- `needs_reauthorization`: The user needs to reauthorize the connection, typically because required scopes have changed. -- `disconnected`: The connection has been disconnected.""" - created_at: str - """The timestamp when the connection was created.""" - updated_at: str - """The timestamp when the connection was last updated.""" - auth_method: Optional["ConnectedAccountAuthMethod"] = None - """The authentication method used for this connection (`oauth` or `api_key`). Defaults to `oauth` if absent.""" - api_key_last_4: Optional[str] = None - """The last four characters of the API key, or `null` for OAuth connections.""" - - @classmethod - def from_dict(cls, data: Dict[str, Any]) -> "ConnectedAccount": - """Deserialize from a dictionary.""" - try: - return cls( - object=data.get("object", "connected_account"), - id=data["id"], - user_id=data["user_id"], - organization_id=data["organization_id"], - scopes=data["scopes"], - state=ConnectedAccountState(data["state"]), - created_at=data["created_at"], - updated_at=data["updated_at"], - auth_method=ConnectedAccountAuthMethod(_v_auth_method) - if (_v_auth_method := data.get("auth_method")) is not None - else None, - api_key_last_4=data.get("api_key_last_4"), - ) - except (KeyError, ValueError) as e: - _raise_deserialize_error("ConnectedAccount", e) - - def to_dict(self) -> Dict[str, Any]: - """Serialize to a dictionary.""" - result: Dict[str, Any] = {} - result["object"] = self.object - result["id"] = self.id - if self.user_id is not None: - result["user_id"] = self.user_id - else: - result["user_id"] = None - if self.organization_id is not None: - result["organization_id"] = self.organization_id - else: - result["organization_id"] = None - result["scopes"] = self.scopes - result["state"] = ( - self.state.value if isinstance(self.state, Enum) else self.state - ) - result["created_at"] = self.created_at - result["updated_at"] = self.updated_at - if self.auth_method is not None: - result["auth_method"] = ( - self.auth_method.value - if isinstance(self.auth_method, Enum) - else self.auth_method - ) - if self.api_key_last_4 is not None: - result["api_key_last_4"] = self.api_key_last_4 - else: - result["api_key_last_4"] = None - return result diff --git a/src/workos/pipes/models/connected_account_dto.py b/src/workos/pipes/models/connected_account_dto.py deleted file mode 100644 index c2eee050..00000000 --- a/src/workos/pipes/models/connected_account_dto.py +++ /dev/null @@ -1,62 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -from __future__ import annotations - -from dataclasses import dataclass -from datetime import datetime -from enum import Enum -from typing import Any, Dict, List, Optional -from workos._types import _raise_deserialize_error -from workos._types import _format_datetime, _parse_datetime -from workos.common.models.connected_account_state import ConnectedAccountState - - -@dataclass(slots=True) -class ConnectedAccountDto: - """Connected Account Dto model.""" - - access_token: Optional[str] = None - """The OAuth access token for the connected account.""" - refresh_token: Optional[str] = None - """The OAuth refresh token for the connected account.""" - expires_at: Optional[datetime] = None - """The ISO-8601 timestamp when the access token expires. Required when `access_token` is provided for tokens that expire.""" - scopes: Optional[List[str]] = None - """The OAuth scopes granted for this connection.""" - state: Optional["ConnectedAccountState"] = None - """Explicitly set the state of the connected account. When omitted, the state is derived from the token combination provided.""" - - @classmethod - def from_dict(cls, data: Dict[str, Any]) -> "ConnectedAccountDto": - """Deserialize from a dictionary.""" - try: - return cls( - access_token=data.get("access_token"), - refresh_token=data.get("refresh_token"), - expires_at=_parse_datetime(_v_expires_at) - if (_v_expires_at := data.get("expires_at")) is not None - else None, - scopes=data.get("scopes"), - state=ConnectedAccountState(_v_state) - if (_v_state := data.get("state")) is not None - else None, - ) - except (KeyError, ValueError) as e: - _raise_deserialize_error("ConnectedAccountDto", e) - - def to_dict(self) -> Dict[str, Any]: - """Serialize to a dictionary.""" - result: Dict[str, Any] = {} - if self.access_token is not None: - result["access_token"] = self.access_token - if self.refresh_token is not None: - result["refresh_token"] = self.refresh_token - if self.expires_at is not None: - result["expires_at"] = _format_datetime(self.expires_at) - if self.scopes is not None: - result["scopes"] = self.scopes - if self.state is not None: - result["state"] = ( - self.state.value if isinstance(self.state, Enum) else self.state - ) - return result diff --git a/src/workos/pipes/models/data_integration_credentials_dto.py b/src/workos/pipes/models/data_integration_credentials_dto.py deleted file mode 100644 index 7e6ec8d8..00000000 --- a/src/workos/pipes/models/data_integration_credentials_dto.py +++ /dev/null @@ -1,45 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -from __future__ import annotations - -from dataclasses import dataclass -from enum import Enum -from typing import Any, Dict, Optional -from workos._types import _raise_deserialize_error -from workos.common.models.data_integration_credentials_type import ( - DataIntegrationCredentialsType, -) - - -@dataclass(slots=True) -class DataIntegrationCredentialsDto: - """Data Integration Credentials Dto model.""" - - type: "DataIntegrationCredentialsType" - """The credentials type. `custom` uses your own OAuth app credentials; `organization` has each organization supply its own credentials (configured per-organization).""" - client_id: Optional[str] = None - """OAuth client ID for the provider app. Required when `type` is `custom`; omit for `organization`.""" - client_secret: Optional[str] = None - """OAuth client secret for the provider app. Required when `type` is `custom`; omit for `organization`.""" - - @classmethod - def from_dict(cls, data: Dict[str, Any]) -> "DataIntegrationCredentialsDto": - """Deserialize from a dictionary.""" - try: - return cls( - type=DataIntegrationCredentialsType(data["type"]), - client_id=data.get("client_id"), - client_secret=data.get("client_secret"), - ) - except (KeyError, ValueError) as e: - _raise_deserialize_error("DataIntegrationCredentialsDto", e) - - def to_dict(self) -> Dict[str, Any]: - """Serialize to a dictionary.""" - result: Dict[str, Any] = {} - result["type"] = self.type.value if isinstance(self.type, Enum) else self.type - if self.client_id is not None: - result["client_id"] = self.client_id - if self.client_secret is not None: - result["client_secret"] = self.client_secret - return result diff --git a/src/workos/sso/models/__init__.py b/src/workos/sso/models/__init__.py index ed2e9fea..8fd3e22e 100644 --- a/src/workos/sso/models/__init__.py +++ b/src/workos/sso/models/__init__.py @@ -1,7 +1,6 @@ # This file is auto-generated by oagen. Do not edit. from .connection import Connection as Connection -from .connection_option import * # noqa: F401,F403 from .connection_domain import ConnectionDomain as ConnectionDomain from .connections_connection_type import ( ConnectionsConnectionType as ConnectionsConnectionType, diff --git a/src/workos/sso/models/connection_option.py b/src/workos/sso/models/connection_option.py deleted file mode 100644 index a5b11de5..00000000 --- a/src/workos/sso/models/connection_option.py +++ /dev/null @@ -1,34 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -from __future__ import annotations - -from dataclasses import dataclass -from typing import Any, Dict, Optional -from workos._types import _raise_deserialize_error - - -@dataclass(slots=True) -class ConnectionOption: - """Configuration options for SAML connections. Only present for SAML connection types.""" - - signing_cert: Optional[str] - """The signing certificate of the SAML connection.""" - - @classmethod - def from_dict(cls, data: Dict[str, Any]) -> "ConnectionOption": - """Deserialize from a dictionary.""" - try: - return cls( - signing_cert=data["signing_cert"], - ) - except (KeyError, ValueError) as e: - _raise_deserialize_error("ConnectionOption", e) - - def to_dict(self) -> Dict[str, Any]: - """Serialize to a dictionary.""" - result: Dict[str, Any] = {} - if self.signing_cert is not None: - result["signing_cert"] = self.signing_cert - else: - result["signing_cert"] = None - return result diff --git a/tests/test_models_round_trip.py b/tests/test_models_round_trip.py deleted file mode 100644 index 00374fd4..00000000 --- a/tests/test_models_round_trip.py +++ /dev/null @@ -1,5 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -"""Model round-trip tests moved to per-service tests/test__models_round_trip.py files. - -This placeholder remains only until the next full generation prunes it."""