# 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 (
        ActionData,
        ActionResponse,
        ActiveSessionsResult,
        ActiveShellSessionsResult,
        Annotations,
        AnnotationsAudienceItem,
        AudioContent,
        AvailableTool,
        BashCommandInfo,
        BashCommandStatus,
        BashExecResult,
        BashOutputResult,
        BashSessionInfo,
        BlobResourceContents,
        BrowserInfoResult,
        BrowserViewport,
        Button,
        CallToolResult,
        CaptchaWaitResult,
        CheckRequest,
        ClickAction,
        CodeExecuteResponse,
        CodeInfoResponse,
        CodeLanguageInfo,
        CommandStatus,
        ConsoleRecord,
        DependencyCommandResult,
        DoubleClickAction,
        DragRelAction,
        DragToAction,
        EmbeddedResource,
        FileContentEncoding,
        FileFindResult,
        FileGlobResult,
        FileGrepResult,
        FileInfo,
        FileListResult,
        FileReadResult,
        FileReplaceResult,
        FileSearchResult,
        FileUploadResult,
        FileWriteResult,
        GlobFileInfo,
        GrepMatch,
        HotkeyAction,
        HttpValidationError,
        Icon,
        ImageContent,
        JupyterCreateSessionResponse,
        JupyterExecuteResponse,
        JupyterInfoResponse,
        JupyterOutput,
        KeyDownAction,
        KeyUpAction,
        Language,
        ListToolsResult,
        Mode,
        MouseDownAction,
        MouseUpAction,
        MoveRelAction,
        MoveToAction,
        NodeJsCreateSessionResponse,
        NodeJsDeleteSessionResponse,
        NodeJsExecuteResponse,
        NodeJsOutput,
        NodeJsPackageInfo,
        NodeJsRuntimeInfo,
        NodeJsSessionInfo,
        NodeJsSessionListResponse,
        NodeJsSessionResponse,
        NodeJsUpdateSessionResponse,
        PressAction,
        ProxyBypassRequest,
        ProxyDiagnoseResult,
        ProxyMappingRoute,
        ProxyUpstreamInfo,
        Resolution,
        Resource,
        ResourceLink,
        Response,
        ResponseActiveSessionsResult,
        ResponseActiveShellSessionsResult,
        ResponseBashExecResult,
        ResponseBashOutputResult,
        ResponseBashSessionInfo,
        ResponseBrowserInfoResult,
        ResponseCallToolResultModel,
        ResponseCallToolResultModelDataContentItem,
        ResponseCallToolResultModelDataContentItem_Audio,
        ResponseCallToolResultModelDataContentItem_Image,
        ResponseCallToolResultModelDataContentItem_Resource,
        ResponseCallToolResultModelDataContentItem_ResourceLink,
        ResponseCallToolResultModelDataContentItem_Text,
        ResponseCaptchaWaitResult,
        ResponseCodeExecuteResponse,
        ResponseCodeInfoResponse,
        ResponseDict,
        ResponseFileFindResult,
        ResponseFileGlobResult,
        ResponseFileGrepResult,
        ResponseFileListResult,
        ResponseFileReadResult,
        ResponseFileReplaceResult,
        ResponseFileSearchResult,
        ResponseFileUploadResult,
        ResponseFileWriteResult,
        ResponseJupyterCreateSessionResponse,
        ResponseJupyterExecuteResponse,
        ResponseJupyterInfoResponse,
        ResponseList,
        ResponseListBashSessionInfo,
        ResponseListProxyMappingRoute,
        ResponseListStr,
        ResponseListToolsResultModel,
        ResponseNodeJsCreateSessionResponse,
        ResponseNodeJsDeleteSessionResponse,
        ResponseNodeJsExecuteResponse,
        ResponseNodeJsRuntimeInfo,
        ResponseNodeJsSessionListResponse,
        ResponseNodeJsSessionResponse,
        ResponseNodeJsUpdateSessionResponse,
        ResponseProxyDiagnoseResult,
        ResponseProxyMappingRoute,
        ResponseProxyUpstreamInfo,
        ResponseShellCommandResult,
        ResponseShellCreateSessionResponse,
        ResponseShellKillResult,
        ResponseShellViewResult,
        ResponseShellWaitResult,
        ResponseShellWriteResult,
        ResponseSkillContentResult,
        ResponseSkillMetadata,
        ResponseSkillMetadataCollection,
        ResponseSkillRegistrationResult,
        ResponseStr,
        ResponseStrReplaceEditorResult,
        ResponseUnionProxyUpstreamInfoNoneType,
        RestartRequest,
        RightClickAction,
        RouteResponseModel,
        RuntimeEnv,
        SandboxDetail,
        SandboxResponse,
        ScrollAction,
        SessionInfo,
        SessionStatus,
        ShellCommandResult,
        ShellCreateSessionResponse,
        ShellKillResult,
        ShellSessionInfo,
        ShellViewResult,
        ShellWaitResult,
        ShellWriteResult,
        SkillContentResult,
        SkillMetadata,
        SkillMetadataCollection,
        SkillRegistrationResult,
        StrReplaceEditorResult,
        SystemEnv,
        TextContent,
        TextResourceContents,
        Tool,
        ToolAnnotations,
        ToolCategory,
        ToolExecution,
        ToolExecutionTaskSupport,
        ToolSpec,
        TypingAction,
        ValidationError,
        ValidationErrorLocItem,
        WaitAction,
    )
    from .errors import UnprocessableEntityError
    from . import (
        auth,
        bash,
        browser,
        browser_captcha,
        browser_cookies,
        browser_network,
        browser_page,
        browser_state,
        browser_tabs,
        code,
        file,
        jupyter,
        mcp,
        nodejs,
        proxy,
        sandbox,
        shell,
        skills,
        util,
    )
    from .browser import (
        Action,
        Action_Click,
        Action_DoubleClick,
        Action_DragRel,
        Action_DragTo,
        Action_Hotkey,
        Action_KeyDown,
        Action_KeyUp,
        Action_MouseDown,
        Action_MouseUp,
        Action_MoveRel,
        Action_MoveTo,
        Action_Press,
        Action_RightClick,
        Action_Scroll,
        Action_Typing,
        Action_Wait,
    )
    from .browser_page import NavigateRequestWaitUntil, RecordRequestAction, Type
    from .client import AsyncSandbox, Sandbox
    from .file import Command, StrReplaceEditorRequestReplaceMode
_dynamic_imports: typing.Dict[str, str] = {
    "Action": ".browser",
    "ActionData": ".types",
    "ActionResponse": ".types",
    "Action_Click": ".browser",
    "Action_DoubleClick": ".browser",
    "Action_DragRel": ".browser",
    "Action_DragTo": ".browser",
    "Action_Hotkey": ".browser",
    "Action_KeyDown": ".browser",
    "Action_KeyUp": ".browser",
    "Action_MouseDown": ".browser",
    "Action_MouseUp": ".browser",
    "Action_MoveRel": ".browser",
    "Action_MoveTo": ".browser",
    "Action_Press": ".browser",
    "Action_RightClick": ".browser",
    "Action_Scroll": ".browser",
    "Action_Typing": ".browser",
    "Action_Wait": ".browser",
    "ActiveSessionsResult": ".types",
    "ActiveShellSessionsResult": ".types",
    "Annotations": ".types",
    "AnnotationsAudienceItem": ".types",
    "AsyncSandbox": ".client",
    "AudioContent": ".types",
    "AvailableTool": ".types",
    "BashCommandInfo": ".types",
    "BashCommandStatus": ".types",
    "BashExecResult": ".types",
    "BashOutputResult": ".types",
    "BashSessionInfo": ".types",
    "BlobResourceContents": ".types",
    "BrowserInfoResult": ".types",
    "BrowserViewport": ".types",
    "Button": ".types",
    "CallToolResult": ".types",
    "CaptchaWaitResult": ".types",
    "CheckRequest": ".types",
    "ClickAction": ".types",
    "CodeExecuteResponse": ".types",
    "CodeInfoResponse": ".types",
    "CodeLanguageInfo": ".types",
    "Command": ".file",
    "CommandStatus": ".types",
    "ConsoleRecord": ".types",
    "DependencyCommandResult": ".types",
    "DoubleClickAction": ".types",
    "DragRelAction": ".types",
    "DragToAction": ".types",
    "EmbeddedResource": ".types",
    "FileContentEncoding": ".types",
    "FileFindResult": ".types",
    "FileGlobResult": ".types",
    "FileGrepResult": ".types",
    "FileInfo": ".types",
    "FileListResult": ".types",
    "FileReadResult": ".types",
    "FileReplaceResult": ".types",
    "FileSearchResult": ".types",
    "FileUploadResult": ".types",
    "FileWriteResult": ".types",
    "GlobFileInfo": ".types",
    "GrepMatch": ".types",
    "HotkeyAction": ".types",
    "HttpValidationError": ".types",
    "Icon": ".types",
    "ImageContent": ".types",
    "JupyterCreateSessionResponse": ".types",
    "JupyterExecuteResponse": ".types",
    "JupyterInfoResponse": ".types",
    "JupyterOutput": ".types",
    "KeyDownAction": ".types",
    "KeyUpAction": ".types",
    "Language": ".types",
    "ListToolsResult": ".types",
    "Mode": ".types",
    "MouseDownAction": ".types",
    "MouseUpAction": ".types",
    "MoveRelAction": ".types",
    "MoveToAction": ".types",
    "NavigateRequestWaitUntil": ".browser_page",
    "NodeJsCreateSessionResponse": ".types",
    "NodeJsDeleteSessionResponse": ".types",
    "NodeJsExecuteResponse": ".types",
    "NodeJsOutput": ".types",
    "NodeJsPackageInfo": ".types",
    "NodeJsRuntimeInfo": ".types",
    "NodeJsSessionInfo": ".types",
    "NodeJsSessionListResponse": ".types",
    "NodeJsSessionResponse": ".types",
    "NodeJsUpdateSessionResponse": ".types",
    "PressAction": ".types",
    "ProxyBypassRequest": ".types",
    "ProxyDiagnoseResult": ".types",
    "ProxyMappingRoute": ".types",
    "ProxyUpstreamInfo": ".types",
    "RecordRequestAction": ".browser_page",
    "Resolution": ".types",
    "Resource": ".types",
    "ResourceLink": ".types",
    "Response": ".types",
    "ResponseActiveSessionsResult": ".types",
    "ResponseActiveShellSessionsResult": ".types",
    "ResponseBashExecResult": ".types",
    "ResponseBashOutputResult": ".types",
    "ResponseBashSessionInfo": ".types",
    "ResponseBrowserInfoResult": ".types",
    "ResponseCallToolResultModel": ".types",
    "ResponseCallToolResultModelDataContentItem": ".types",
    "ResponseCallToolResultModelDataContentItem_Audio": ".types",
    "ResponseCallToolResultModelDataContentItem_Image": ".types",
    "ResponseCallToolResultModelDataContentItem_Resource": ".types",
    "ResponseCallToolResultModelDataContentItem_ResourceLink": ".types",
    "ResponseCallToolResultModelDataContentItem_Text": ".types",
    "ResponseCaptchaWaitResult": ".types",
    "ResponseCodeExecuteResponse": ".types",
    "ResponseCodeInfoResponse": ".types",
    "ResponseDict": ".types",
    "ResponseFileFindResult": ".types",
    "ResponseFileGlobResult": ".types",
    "ResponseFileGrepResult": ".types",
    "ResponseFileListResult": ".types",
    "ResponseFileReadResult": ".types",
    "ResponseFileReplaceResult": ".types",
    "ResponseFileSearchResult": ".types",
    "ResponseFileUploadResult": ".types",
    "ResponseFileWriteResult": ".types",
    "ResponseJupyterCreateSessionResponse": ".types",
    "ResponseJupyterExecuteResponse": ".types",
    "ResponseJupyterInfoResponse": ".types",
    "ResponseList": ".types",
    "ResponseListBashSessionInfo": ".types",
    "ResponseListProxyMappingRoute": ".types",
    "ResponseListStr": ".types",
    "ResponseListToolsResultModel": ".types",
    "ResponseNodeJsCreateSessionResponse": ".types",
    "ResponseNodeJsDeleteSessionResponse": ".types",
    "ResponseNodeJsExecuteResponse": ".types",
    "ResponseNodeJsRuntimeInfo": ".types",
    "ResponseNodeJsSessionListResponse": ".types",
    "ResponseNodeJsSessionResponse": ".types",
    "ResponseNodeJsUpdateSessionResponse": ".types",
    "ResponseProxyDiagnoseResult": ".types",
    "ResponseProxyMappingRoute": ".types",
    "ResponseProxyUpstreamInfo": ".types",
    "ResponseShellCommandResult": ".types",
    "ResponseShellCreateSessionResponse": ".types",
    "ResponseShellKillResult": ".types",
    "ResponseShellViewResult": ".types",
    "ResponseShellWaitResult": ".types",
    "ResponseShellWriteResult": ".types",
    "ResponseSkillContentResult": ".types",
    "ResponseSkillMetadata": ".types",
    "ResponseSkillMetadataCollection": ".types",
    "ResponseSkillRegistrationResult": ".types",
    "ResponseStr": ".types",
    "ResponseStrReplaceEditorResult": ".types",
    "ResponseUnionProxyUpstreamInfoNoneType": ".types",
    "RestartRequest": ".types",
    "RightClickAction": ".types",
    "RouteResponseModel": ".types",
    "RuntimeEnv": ".types",
    "Sandbox": ".client",
    "SandboxDetail": ".types",
    "SandboxResponse": ".types",
    "ScrollAction": ".types",
    "SessionInfo": ".types",
    "SessionStatus": ".types",
    "ShellCommandResult": ".types",
    "ShellCreateSessionResponse": ".types",
    "ShellKillResult": ".types",
    "ShellSessionInfo": ".types",
    "ShellViewResult": ".types",
    "ShellWaitResult": ".types",
    "ShellWriteResult": ".types",
    "SkillContentResult": ".types",
    "SkillMetadata": ".types",
    "SkillMetadataCollection": ".types",
    "SkillRegistrationResult": ".types",
    "StrReplaceEditorRequestReplaceMode": ".file",
    "StrReplaceEditorResult": ".types",
    "SystemEnv": ".types",
    "TextContent": ".types",
    "TextResourceContents": ".types",
    "Tool": ".types",
    "ToolAnnotations": ".types",
    "ToolCategory": ".types",
    "ToolExecution": ".types",
    "ToolExecutionTaskSupport": ".types",
    "ToolSpec": ".types",
    "Type": ".browser_page",
    "TypingAction": ".types",
    "UnprocessableEntityError": ".errors",
    "ValidationError": ".types",
    "ValidationErrorLocItem": ".types",
    "WaitAction": ".types",
    "auth": ".",
    "bash": ".",
    "browser": ".",
    "browser_captcha": ".",
    "browser_cookies": ".",
    "browser_network": ".",
    "browser_page": ".",
    "browser_state": ".",
    "browser_tabs": ".",
    "code": ".",
    "file": ".",
    "jupyter": ".",
    "mcp": ".",
    "nodejs": ".",
    "proxy": ".",
    "sandbox": ".",
    "shell": ".",
    "skills": ".",
    "util": ".",
}


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__)
        result = getattr(module, attr_name)
        return result
    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__ = [
    "Action",
    "ActionData",
    "ActionResponse",
    "Action_Click",
    "Action_DoubleClick",
    "Action_DragRel",
    "Action_DragTo",
    "Action_Hotkey",
    "Action_KeyDown",
    "Action_KeyUp",
    "Action_MouseDown",
    "Action_MouseUp",
    "Action_MoveRel",
    "Action_MoveTo",
    "Action_Press",
    "Action_RightClick",
    "Action_Scroll",
    "Action_Typing",
    "Action_Wait",
    "ActiveSessionsResult",
    "ActiveShellSessionsResult",
    "Annotations",
    "AnnotationsAudienceItem",
    "AsyncSandbox",
    "AudioContent",
    "AvailableTool",
    "BashCommandInfo",
    "BashCommandStatus",
    "BashExecResult",
    "BashOutputResult",
    "BashSessionInfo",
    "BlobResourceContents",
    "BrowserInfoResult",
    "BrowserViewport",
    "Button",
    "CallToolResult",
    "CaptchaWaitResult",
    "CheckRequest",
    "ClickAction",
    "CodeExecuteResponse",
    "CodeInfoResponse",
    "CodeLanguageInfo",
    "Command",
    "CommandStatus",
    "ConsoleRecord",
    "DependencyCommandResult",
    "DoubleClickAction",
    "DragRelAction",
    "DragToAction",
    "EmbeddedResource",
    "FileContentEncoding",
    "FileFindResult",
    "FileGlobResult",
    "FileGrepResult",
    "FileInfo",
    "FileListResult",
    "FileReadResult",
    "FileReplaceResult",
    "FileSearchResult",
    "FileUploadResult",
    "FileWriteResult",
    "GlobFileInfo",
    "GrepMatch",
    "HotkeyAction",
    "HttpValidationError",
    "Icon",
    "ImageContent",
    "JupyterCreateSessionResponse",
    "JupyterExecuteResponse",
    "JupyterInfoResponse",
    "JupyterOutput",
    "KeyDownAction",
    "KeyUpAction",
    "Language",
    "ListToolsResult",
    "Mode",
    "MouseDownAction",
    "MouseUpAction",
    "MoveRelAction",
    "MoveToAction",
    "NavigateRequestWaitUntil",
    "NodeJsCreateSessionResponse",
    "NodeJsDeleteSessionResponse",
    "NodeJsExecuteResponse",
    "NodeJsOutput",
    "NodeJsPackageInfo",
    "NodeJsRuntimeInfo",
    "NodeJsSessionInfo",
    "NodeJsSessionListResponse",
    "NodeJsSessionResponse",
    "NodeJsUpdateSessionResponse",
    "PressAction",
    "ProxyBypassRequest",
    "ProxyDiagnoseResult",
    "ProxyMappingRoute",
    "ProxyUpstreamInfo",
    "RecordRequestAction",
    "Resolution",
    "Resource",
    "ResourceLink",
    "Response",
    "ResponseActiveSessionsResult",
    "ResponseActiveShellSessionsResult",
    "ResponseBashExecResult",
    "ResponseBashOutputResult",
    "ResponseBashSessionInfo",
    "ResponseBrowserInfoResult",
    "ResponseCallToolResultModel",
    "ResponseCallToolResultModelDataContentItem",
    "ResponseCallToolResultModelDataContentItem_Audio",
    "ResponseCallToolResultModelDataContentItem_Image",
    "ResponseCallToolResultModelDataContentItem_Resource",
    "ResponseCallToolResultModelDataContentItem_ResourceLink",
    "ResponseCallToolResultModelDataContentItem_Text",
    "ResponseCaptchaWaitResult",
    "ResponseCodeExecuteResponse",
    "ResponseCodeInfoResponse",
    "ResponseDict",
    "ResponseFileFindResult",
    "ResponseFileGlobResult",
    "ResponseFileGrepResult",
    "ResponseFileListResult",
    "ResponseFileReadResult",
    "ResponseFileReplaceResult",
    "ResponseFileSearchResult",
    "ResponseFileUploadResult",
    "ResponseFileWriteResult",
    "ResponseJupyterCreateSessionResponse",
    "ResponseJupyterExecuteResponse",
    "ResponseJupyterInfoResponse",
    "ResponseList",
    "ResponseListBashSessionInfo",
    "ResponseListProxyMappingRoute",
    "ResponseListStr",
    "ResponseListToolsResultModel",
    "ResponseNodeJsCreateSessionResponse",
    "ResponseNodeJsDeleteSessionResponse",
    "ResponseNodeJsExecuteResponse",
    "ResponseNodeJsRuntimeInfo",
    "ResponseNodeJsSessionListResponse",
    "ResponseNodeJsSessionResponse",
    "ResponseNodeJsUpdateSessionResponse",
    "ResponseProxyDiagnoseResult",
    "ResponseProxyMappingRoute",
    "ResponseProxyUpstreamInfo",
    "ResponseShellCommandResult",
    "ResponseShellCreateSessionResponse",
    "ResponseShellKillResult",
    "ResponseShellViewResult",
    "ResponseShellWaitResult",
    "ResponseShellWriteResult",
    "ResponseSkillContentResult",
    "ResponseSkillMetadata",
    "ResponseSkillMetadataCollection",
    "ResponseSkillRegistrationResult",
    "ResponseStr",
    "ResponseStrReplaceEditorResult",
    "ResponseUnionProxyUpstreamInfoNoneType",
    "RestartRequest",
    "RightClickAction",
    "RouteResponseModel",
    "RuntimeEnv",
    "Sandbox",
    "SandboxDetail",
    "SandboxResponse",
    "ScrollAction",
    "SessionInfo",
    "SessionStatus",
    "ShellCommandResult",
    "ShellCreateSessionResponse",
    "ShellKillResult",
    "ShellSessionInfo",
    "ShellViewResult",
    "ShellWaitResult",
    "ShellWriteResult",
    "SkillContentResult",
    "SkillMetadata",
    "SkillMetadataCollection",
    "SkillRegistrationResult",
    "StrReplaceEditorRequestReplaceMode",
    "StrReplaceEditorResult",
    "SystemEnv",
    "TextContent",
    "TextResourceContents",
    "Tool",
    "ToolAnnotations",
    "ToolCategory",
    "ToolExecution",
    "ToolExecutionTaskSupport",
    "ToolSpec",
    "Type",
    "TypingAction",
    "UnprocessableEntityError",
    "ValidationError",
    "ValidationErrorLocItem",
    "WaitAction",
    "auth",
    "bash",
    "browser",
    "browser_captcha",
    "browser_cookies",
    "browser_network",
    "browser_page",
    "browser_state",
    "browser_tabs",
    "code",
    "file",
    "jupyter",
    "mcp",
    "nodejs",
    "proxy",
    "sandbox",
    "shell",
    "skills",
    "util",
]
