# This file was auto-generated by Fern from our API Definition.

# isort: skip_file

import typing
from importlib import import_module

if typing.TYPE_CHECKING:
    from .types import (
        ActionCheckRequest,
        ActionCheckResponse,
        AgentApiKey,
        AgentApiKeyClusterManagement,
        AgentApiKeyCollectionStats,
        AgentApiKeyCreate,
        AgentApiKeyRevoke,
        AgentApiKeyStatus,
        AgentApiKeySummary,
        AgentApiKeyUpdate,
        AgentApiKeyWithClusters,
        AgentApiKeyWithFullKey,
        Any,
        ApiKey,
        ApiKeyCreate,
        AuditActionType,
        AuditLog,
        AuditLogCategory,
        AuditLogLevel,
        AuditLogSearchResult,
        AuthProvider,
        AuthProviderAuthentication,
        AuthProviderConnection,
        AuthProviderConnectionCreate,
        AuthProviderConnectionUpdate,
        AuthenticationDetails,
        AuthenticationMethod,
        BillingPeriod,
        BillingPeriodStatus,
        BillingPeriodUsage,
        BillingPlan,
        BillingStatus,
        BillingTransition,
        BodyConnectSlackWithTokenConnectionsDirectTokenSlackPost,
        BulkOperationResult,
        BulkRagUpdate,
        BulkSensitivityUpdate,
        BulkStatusUpdate,
        CatalogAuditLog,
        CatalogAuditLogSummary,
        CatalogCollectionStats,
        CatalogItem,
        CatalogItemGovernanceUpdate,
        CatalogItemSummary,
        CatalogItemWithGovernance,
        CatalogStatus,
        CatalogTreeNode,
        CatalogTreeView,
        CheckoutSessionRequest,
        CheckoutSessionResponse,
        Collection,
        CollectionMember,
        CollectionMemberAdd,
        CollectionRole,
        CollectionStatus,
        CollectionUpdate,
        ComplianceReport,
        ConfigField,
        ConfigValues,
        Connection,
        ConnectionStatus,
        ContentUpdateStats,
        ContextCluster,
        ContextClusterCollectionStats,
        ContextClusterCreate,
        ContextClusterItemManagement,
        ContextClusterStatus,
        ContextClusterSummary,
        ContextClusterUpdate,
        ContextClusterWithItems,
        CustomerPortalRequest,
        CustomerPortalResponse,
        DashboardStats,
        DatetimeRange,
        Destination,
        DestinationWithAuthenticationFields,
        DirectAuthentication,
        EmbeddingModel,
        EmbeddingModelWithAuthenticationFields,
        EntityCount,
        EntityCountWithDefinition,
        EntityDefinition,
        EntityDefinitionCreate,
        EntityDefinitionCreateEntitySchema,
        EntityDefinitionEntitySchema,
        EntitySummary,
        EntityType,
        EntityTypeStats,
        Except,
        FeatureFlag,
        FieldCondition,
        Fields,
        Filter,
        FilterMustItem,
        FilterMustNot,
        FilterMustNotItem,
        FilterShouldItem,
        GeoBoundingBox,
        GeoLineString,
        GeoPoint,
        GeoPolygon,
        GeoRadius,
        GovernanceActivityFeed,
        GraphLink,
        GraphNode,
        GraphResponse,
        Gt,
        Gte,
        HasIdCondition,
        HasIdConditionHasIdItem,
        HasVectorCondition,
        HttpValidationError,
        IntegrationCredentialInDb,
        IntegrationCredentialRawCreate,
        IntegrationType,
        InvitationCreate,
        InvitationResponse,
        IsEmptyCondition,
        IsNullCondition,
        LegacySearchRequest,
        LegacySearchRequestSearchMethod,
        LegacySearchResponse,
        Lt,
        Lte,
        Match,
        MatchAny,
        MatchExcept,
        MatchPhrase,
        MatchText,
        MatchTextAny,
        MatchValue,
        MemberResponse,
        MessageResponse,
        MinShould,
        MinShouldConditionsItem,
        MinuteLevelScheduleConfig,
        Must,
        Nested,
        NestedCondition,
        OAuthBrowserAuthentication,
        OAuthTokenAuthentication,
        OAuthType,
        Organization,
        OrganizationBilling,
        OrganizationCreate,
        OrganizationCreationValidation,
        OrganizationCreationValidationRequest,
        OrganizationMetrics,
        OrganizationReadinessResponse,
        OrganizationWithRole,
        PayloadField,
        QueryExpansionStrategy,
        RagEntityList,
        RagGovernanceReport,
        Range,
        ResponseType,
        RetrievalStrategy,
        S3ConfigRequest,
        S3ConfigResponse,
        ScheduleConfig,
        ScheduleDetails,
        ScheduleResponse,
        SearchQueryResponse,
        SearchRequest,
        SearchResponse,
        SearchStatus,
        SensitivityLevel,
        Should,
        SingleActionCheckResponse,
        SingleActionCheckResponseReason,
        Source,
        SourceConnection,
        SourceConnectionJob,
        SourceConnectionListItem,
        SourceConnectionStatus,
        SourceDistribution,
        SourceRateLimit,
        SourceRateLimitResponse,
        SourceRateLimitUpdateRequest,
        SubscriptionInfo,
        Sync,
        SyncCreate,
        SyncDetails,
        SyncJob,
        SyncJobAuditSummary,
        SyncJobDetails,
        SyncJobStatus,
        SyncStatus,
        SyncUpdate,
        SyncWithSourceConnection,
        Transformer,
        TransformerCreate,
        TransformerUpdate,
        UpdatePlanRequest,
        UsageDashboard,
        UsageSnapshot,
        UsageTrend,
        User,
        UserActivitySummary,
        UserCreate,
        UserOrganization,
        ValidationError,
        ValidationErrorLocItem,
        Value,
        ValuesCount,
    )
    from .errors import UnprocessableEntityError
    from . import collections, source_connections, sources
    from .client import AsyncGraffoSDK, GraffoSDK
    from .collections import (
        SearchCollectionsReadableIdSearchPostRequestBody,
        SearchCollectionsReadableIdSearchPostResponse,
    )
    from .environment import GraffoSDKEnvironment
    from .source_connections import Authentication
    from .version import __version__
_dynamic_imports: typing.Dict[str, str] = {
    "ActionCheckRequest": ".types",
    "ActionCheckResponse": ".types",
    "AgentApiKey": ".types",
    "AgentApiKeyClusterManagement": ".types",
    "AgentApiKeyCollectionStats": ".types",
    "AgentApiKeyCreate": ".types",
    "AgentApiKeyRevoke": ".types",
    "AgentApiKeyStatus": ".types",
    "AgentApiKeySummary": ".types",
    "AgentApiKeyUpdate": ".types",
    "AgentApiKeyWithClusters": ".types",
    "AgentApiKeyWithFullKey": ".types",
    "Any": ".types",
    "ApiKey": ".types",
    "ApiKeyCreate": ".types",
    "AsyncGraffoSDK": ".client",
    "AuditActionType": ".types",
    "AuditLog": ".types",
    "AuditLogCategory": ".types",
    "AuditLogLevel": ".types",
    "AuditLogSearchResult": ".types",
    "AuthProvider": ".types",
    "AuthProviderAuthentication": ".types",
    "AuthProviderConnection": ".types",
    "AuthProviderConnectionCreate": ".types",
    "AuthProviderConnectionUpdate": ".types",
    "Authentication": ".source_connections",
    "AuthenticationDetails": ".types",
    "AuthenticationMethod": ".types",
    "BillingPeriod": ".types",
    "BillingPeriodStatus": ".types",
    "BillingPeriodUsage": ".types",
    "BillingPlan": ".types",
    "BillingStatus": ".types",
    "BillingTransition": ".types",
    "BodyConnectSlackWithTokenConnectionsDirectTokenSlackPost": ".types",
    "BulkOperationResult": ".types",
    "BulkRagUpdate": ".types",
    "BulkSensitivityUpdate": ".types",
    "BulkStatusUpdate": ".types",
    "CatalogAuditLog": ".types",
    "CatalogAuditLogSummary": ".types",
    "CatalogCollectionStats": ".types",
    "CatalogItem": ".types",
    "CatalogItemGovernanceUpdate": ".types",
    "CatalogItemSummary": ".types",
    "CatalogItemWithGovernance": ".types",
    "CatalogStatus": ".types",
    "CatalogTreeNode": ".types",
    "CatalogTreeView": ".types",
    "CheckoutSessionRequest": ".types",
    "CheckoutSessionResponse": ".types",
    "Collection": ".types",
    "CollectionMember": ".types",
    "CollectionMemberAdd": ".types",
    "CollectionRole": ".types",
    "CollectionStatus": ".types",
    "CollectionUpdate": ".types",
    "ComplianceReport": ".types",
    "ConfigField": ".types",
    "ConfigValues": ".types",
    "Connection": ".types",
    "ConnectionStatus": ".types",
    "ContentUpdateStats": ".types",
    "ContextCluster": ".types",
    "ContextClusterCollectionStats": ".types",
    "ContextClusterCreate": ".types",
    "ContextClusterItemManagement": ".types",
    "ContextClusterStatus": ".types",
    "ContextClusterSummary": ".types",
    "ContextClusterUpdate": ".types",
    "ContextClusterWithItems": ".types",
    "CustomerPortalRequest": ".types",
    "CustomerPortalResponse": ".types",
    "DashboardStats": ".types",
    "DatetimeRange": ".types",
    "Destination": ".types",
    "DestinationWithAuthenticationFields": ".types",
    "DirectAuthentication": ".types",
    "EmbeddingModel": ".types",
    "EmbeddingModelWithAuthenticationFields": ".types",
    "EntityCount": ".types",
    "EntityCountWithDefinition": ".types",
    "EntityDefinition": ".types",
    "EntityDefinitionCreate": ".types",
    "EntityDefinitionCreateEntitySchema": ".types",
    "EntityDefinitionEntitySchema": ".types",
    "EntitySummary": ".types",
    "EntityType": ".types",
    "EntityTypeStats": ".types",
    "Except": ".types",
    "FeatureFlag": ".types",
    "FieldCondition": ".types",
    "Fields": ".types",
    "Filter": ".types",
    "FilterMustItem": ".types",
    "FilterMustNot": ".types",
    "FilterMustNotItem": ".types",
    "FilterShouldItem": ".types",
    "GeoBoundingBox": ".types",
    "GeoLineString": ".types",
    "GeoPoint": ".types",
    "GeoPolygon": ".types",
    "GeoRadius": ".types",
    "GovernanceActivityFeed": ".types",
    "GraffoSDK": ".client",
    "GraffoSDKEnvironment": ".environment",
    "GraphLink": ".types",
    "GraphNode": ".types",
    "GraphResponse": ".types",
    "Gt": ".types",
    "Gte": ".types",
    "HasIdCondition": ".types",
    "HasIdConditionHasIdItem": ".types",
    "HasVectorCondition": ".types",
    "HttpValidationError": ".types",
    "IntegrationCredentialInDb": ".types",
    "IntegrationCredentialRawCreate": ".types",
    "IntegrationType": ".types",
    "InvitationCreate": ".types",
    "InvitationResponse": ".types",
    "IsEmptyCondition": ".types",
    "IsNullCondition": ".types",
    "LegacySearchRequest": ".types",
    "LegacySearchRequestSearchMethod": ".types",
    "LegacySearchResponse": ".types",
    "Lt": ".types",
    "Lte": ".types",
    "Match": ".types",
    "MatchAny": ".types",
    "MatchExcept": ".types",
    "MatchPhrase": ".types",
    "MatchText": ".types",
    "MatchTextAny": ".types",
    "MatchValue": ".types",
    "MemberResponse": ".types",
    "MessageResponse": ".types",
    "MinShould": ".types",
    "MinShouldConditionsItem": ".types",
    "MinuteLevelScheduleConfig": ".types",
    "Must": ".types",
    "Nested": ".types",
    "NestedCondition": ".types",
    "OAuthBrowserAuthentication": ".types",
    "OAuthTokenAuthentication": ".types",
    "OAuthType": ".types",
    "Organization": ".types",
    "OrganizationBilling": ".types",
    "OrganizationCreate": ".types",
    "OrganizationCreationValidation": ".types",
    "OrganizationCreationValidationRequest": ".types",
    "OrganizationMetrics": ".types",
    "OrganizationReadinessResponse": ".types",
    "OrganizationWithRole": ".types",
    "PayloadField": ".types",
    "QueryExpansionStrategy": ".types",
    "RagEntityList": ".types",
    "RagGovernanceReport": ".types",
    "Range": ".types",
    "ResponseType": ".types",
    "RetrievalStrategy": ".types",
    "S3ConfigRequest": ".types",
    "S3ConfigResponse": ".types",
    "ScheduleConfig": ".types",
    "ScheduleDetails": ".types",
    "ScheduleResponse": ".types",
    "SearchCollectionsReadableIdSearchPostRequestBody": ".collections",
    "SearchCollectionsReadableIdSearchPostResponse": ".collections",
    "SearchQueryResponse": ".types",
    "SearchRequest": ".types",
    "SearchResponse": ".types",
    "SearchStatus": ".types",
    "SensitivityLevel": ".types",
    "Should": ".types",
    "SingleActionCheckResponse": ".types",
    "SingleActionCheckResponseReason": ".types",
    "Source": ".types",
    "SourceConnection": ".types",
    "SourceConnectionJob": ".types",
    "SourceConnectionListItem": ".types",
    "SourceConnectionStatus": ".types",
    "SourceDistribution": ".types",
    "SourceRateLimit": ".types",
    "SourceRateLimitResponse": ".types",
    "SourceRateLimitUpdateRequest": ".types",
    "SubscriptionInfo": ".types",
    "Sync": ".types",
    "SyncCreate": ".types",
    "SyncDetails": ".types",
    "SyncJob": ".types",
    "SyncJobAuditSummary": ".types",
    "SyncJobDetails": ".types",
    "SyncJobStatus": ".types",
    "SyncStatus": ".types",
    "SyncUpdate": ".types",
    "SyncWithSourceConnection": ".types",
    "Transformer": ".types",
    "TransformerCreate": ".types",
    "TransformerUpdate": ".types",
    "UnprocessableEntityError": ".errors",
    "UpdatePlanRequest": ".types",
    "UsageDashboard": ".types",
    "UsageSnapshot": ".types",
    "UsageTrend": ".types",
    "User": ".types",
    "UserActivitySummary": ".types",
    "UserCreate": ".types",
    "UserOrganization": ".types",
    "ValidationError": ".types",
    "ValidationErrorLocItem": ".types",
    "Value": ".types",
    "ValuesCount": ".types",
    "__version__": ".version",
    "collections": ".collections",
    "source_connections": ".source_connections",
    "sources": ".sources",
}


def __getattr__(attr_name: str) -> typing.Any:
    module_name = _dynamic_imports.get(attr_name)
    if module_name is None:
        raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
    try:
        module = import_module(module_name, __package__)
        if module_name == f".{attr_name}":
            return module
        else:
            return getattr(module, attr_name)
    except ImportError as e:
        raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
    except AttributeError as e:
        raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e


def __dir__():
    lazy_attrs = list(_dynamic_imports.keys())
    return sorted(lazy_attrs)


__all__ = [
    "ActionCheckRequest",
    "ActionCheckResponse",
    "AgentApiKey",
    "AgentApiKeyClusterManagement",
    "AgentApiKeyCollectionStats",
    "AgentApiKeyCreate",
    "AgentApiKeyRevoke",
    "AgentApiKeyStatus",
    "AgentApiKeySummary",
    "AgentApiKeyUpdate",
    "AgentApiKeyWithClusters",
    "AgentApiKeyWithFullKey",
    "Any",
    "ApiKey",
    "ApiKeyCreate",
    "AsyncGraffoSDK",
    "AuditActionType",
    "AuditLog",
    "AuditLogCategory",
    "AuditLogLevel",
    "AuditLogSearchResult",
    "AuthProvider",
    "AuthProviderAuthentication",
    "AuthProviderConnection",
    "AuthProviderConnectionCreate",
    "AuthProviderConnectionUpdate",
    "Authentication",
    "AuthenticationDetails",
    "AuthenticationMethod",
    "BillingPeriod",
    "BillingPeriodStatus",
    "BillingPeriodUsage",
    "BillingPlan",
    "BillingStatus",
    "BillingTransition",
    "BodyConnectSlackWithTokenConnectionsDirectTokenSlackPost",
    "BulkOperationResult",
    "BulkRagUpdate",
    "BulkSensitivityUpdate",
    "BulkStatusUpdate",
    "CatalogAuditLog",
    "CatalogAuditLogSummary",
    "CatalogCollectionStats",
    "CatalogItem",
    "CatalogItemGovernanceUpdate",
    "CatalogItemSummary",
    "CatalogItemWithGovernance",
    "CatalogStatus",
    "CatalogTreeNode",
    "CatalogTreeView",
    "CheckoutSessionRequest",
    "CheckoutSessionResponse",
    "Collection",
    "CollectionMember",
    "CollectionMemberAdd",
    "CollectionRole",
    "CollectionStatus",
    "CollectionUpdate",
    "ComplianceReport",
    "ConfigField",
    "ConfigValues",
    "Connection",
    "ConnectionStatus",
    "ContentUpdateStats",
    "ContextCluster",
    "ContextClusterCollectionStats",
    "ContextClusterCreate",
    "ContextClusterItemManagement",
    "ContextClusterStatus",
    "ContextClusterSummary",
    "ContextClusterUpdate",
    "ContextClusterWithItems",
    "CustomerPortalRequest",
    "CustomerPortalResponse",
    "DashboardStats",
    "DatetimeRange",
    "Destination",
    "DestinationWithAuthenticationFields",
    "DirectAuthentication",
    "EmbeddingModel",
    "EmbeddingModelWithAuthenticationFields",
    "EntityCount",
    "EntityCountWithDefinition",
    "EntityDefinition",
    "EntityDefinitionCreate",
    "EntityDefinitionCreateEntitySchema",
    "EntityDefinitionEntitySchema",
    "EntitySummary",
    "EntityType",
    "EntityTypeStats",
    "Except",
    "FeatureFlag",
    "FieldCondition",
    "Fields",
    "Filter",
    "FilterMustItem",
    "FilterMustNot",
    "FilterMustNotItem",
    "FilterShouldItem",
    "GeoBoundingBox",
    "GeoLineString",
    "GeoPoint",
    "GeoPolygon",
    "GeoRadius",
    "GovernanceActivityFeed",
    "GraffoSDK",
    "GraffoSDKEnvironment",
    "GraphLink",
    "GraphNode",
    "GraphResponse",
    "Gt",
    "Gte",
    "HasIdCondition",
    "HasIdConditionHasIdItem",
    "HasVectorCondition",
    "HttpValidationError",
    "IntegrationCredentialInDb",
    "IntegrationCredentialRawCreate",
    "IntegrationType",
    "InvitationCreate",
    "InvitationResponse",
    "IsEmptyCondition",
    "IsNullCondition",
    "LegacySearchRequest",
    "LegacySearchRequestSearchMethod",
    "LegacySearchResponse",
    "Lt",
    "Lte",
    "Match",
    "MatchAny",
    "MatchExcept",
    "MatchPhrase",
    "MatchText",
    "MatchTextAny",
    "MatchValue",
    "MemberResponse",
    "MessageResponse",
    "MinShould",
    "MinShouldConditionsItem",
    "MinuteLevelScheduleConfig",
    "Must",
    "Nested",
    "NestedCondition",
    "OAuthBrowserAuthentication",
    "OAuthTokenAuthentication",
    "OAuthType",
    "Organization",
    "OrganizationBilling",
    "OrganizationCreate",
    "OrganizationCreationValidation",
    "OrganizationCreationValidationRequest",
    "OrganizationMetrics",
    "OrganizationReadinessResponse",
    "OrganizationWithRole",
    "PayloadField",
    "QueryExpansionStrategy",
    "RagEntityList",
    "RagGovernanceReport",
    "Range",
    "ResponseType",
    "RetrievalStrategy",
    "S3ConfigRequest",
    "S3ConfigResponse",
    "ScheduleConfig",
    "ScheduleDetails",
    "ScheduleResponse",
    "SearchCollectionsReadableIdSearchPostRequestBody",
    "SearchCollectionsReadableIdSearchPostResponse",
    "SearchQueryResponse",
    "SearchRequest",
    "SearchResponse",
    "SearchStatus",
    "SensitivityLevel",
    "Should",
    "SingleActionCheckResponse",
    "SingleActionCheckResponseReason",
    "Source",
    "SourceConnection",
    "SourceConnectionJob",
    "SourceConnectionListItem",
    "SourceConnectionStatus",
    "SourceDistribution",
    "SourceRateLimit",
    "SourceRateLimitResponse",
    "SourceRateLimitUpdateRequest",
    "SubscriptionInfo",
    "Sync",
    "SyncCreate",
    "SyncDetails",
    "SyncJob",
    "SyncJobAuditSummary",
    "SyncJobDetails",
    "SyncJobStatus",
    "SyncStatus",
    "SyncUpdate",
    "SyncWithSourceConnection",
    "Transformer",
    "TransformerCreate",
    "TransformerUpdate",
    "UnprocessableEntityError",
    "UpdatePlanRequest",
    "UsageDashboard",
    "UsageSnapshot",
    "UsageTrend",
    "User",
    "UserActivitySummary",
    "UserCreate",
    "UserOrganization",
    "ValidationError",
    "ValidationErrorLocItem",
    "Value",
    "ValuesCount",
    "__version__",
    "collections",
    "source_connections",
    "sources",
]
