# coding: utf-8

"""
    Agent Service

    No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

    The version of the OpenAPI document: v1
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self


class AgentsExecutionActionName(str, Enum):
    """
    AgentsExecutionActionName
    """

    """
    allowed enum values
    """
    ELEMENT_CLICK = 'element_click'
    ELEMENT_TYPE = 'element_type'
    ELEMENT_SELECT = 'element_select'
    ELEMENT_HOVER = 'element_hover'
    ELEMENT_DRAG = 'element_drag'
    ELEMENT_WAIT = 'element_wait'
    ELEMENT_FILL_FORM = 'element_fill_form'
    ELEMENT_GET_TEXT = 'element_get_text'
    ELEMENT_FILE_UPLOAD = 'element_file_upload'
    COORD_MOVE = 'coord_move'
    COORD_CLICK = 'coord_click'
    COORD_DOUBLE_CLICK = 'coord_double_click'
    COORD_DRAG = 'coord_drag'
    COORD_SCROLL = 'coord_scroll'
    NAV_TO = 'nav_to'
    NAV_BACK = 'nav_back'
    NAV_REFRESH = 'nav_refresh'
    NAV_TABS = 'nav_tabs'
    NAV_CLOSE_BROWSER = 'nav_close_browser'
    NAV_RESIZE_BROWSER = 'nav_resize_browser'
    NAV_INSTALL_BROWSER = 'nav_install_browser'
    NAV_ZOOM_IN = 'nav_zoom_in'
    NAV_ZOOM_OUT = 'nav_zoom_out'
    OBS_SNAPSHOT = 'obs_snapshot'
    OBS_SNAPSHOT_WITH_SELECTORS = 'obs_snapshot_with_selectors'
    OBS_SCREENSHOT = 'obs_screenshot'
    OBS_CONSOLE_MESSAGES = 'obs_console_messages'
    OBS_NETWORK_REQUESTS = 'obs_network_requests'
    OBS_EXTRACT_HTML = 'obs_extract_html'
    SCRIPT_EVAL = 'script_eval'
    SCRIPT_PLAYWRIGHT = 'script_playwright'
    SCRIPT_PLAYWRIGHT_LLM_VARS = 'script_playwright_llm_vars'
    SCRIPT_HYBRID_PLAYWRIGHT = 'script_hybrid_playwright'
    BROWSER_PRESS_KEY = 'browser_press_key'
    BROWSER_HANDLE_DIALOG = 'browser_handle_dialog'
    BROWSER_READ_CLIPBOARD = 'browser_read_clipboard'
    BROWSER_SOLVE_CAPTCHA = 'browser_solve_captcha'
    FILE_LIST = 'file_list'
    FILE_READ = 'file_read'
    FILE_STAGE = 'file_stage'
    FILE_DOWNLOAD = 'file_download'
    FILE_PDF_SAVE = 'file_pdf_save'
    SCRATCHPAD_READ = 'scratchpad_read'
    SCRATCHPAD_WRITE = 'scratchpad_write'
    SCRIPTPAD_RUN_FUNCTION = 'scriptpad_run_function'
    SCRIPTPAD_SEARCH_REPLACE = 'scriptpad_search_replace'
    SCRIPTPAD_READ = 'scriptpad_read'
    SCRIPTPAD_WRITE = 'scriptpad_write'
    EXT_GOOGLE_SHEETS_GET_DATA = 'ext_google_sheets_get_data'
    EXT_GOOGLE_SHEETS_SET_VALUE = 'ext_google_sheets_set_value'
    EXT_GET_MAIL = 'ext_get_mail'
    EXT_API_CALL = 'ext_api_call'
    UTIL_WAIT_TIME = 'util_wait_time'
    UTIL_GET_DATETIME = 'util_get_datetime'
    UTIL_GENERATE_TOTP_SECRET = 'util_generate_totp_secret'
    UTIL_SEND_USER_MESSAGE = 'util_send_user_message'
    AGENT_QUERY_CONTEXT = 'agent_query_context'
    AGENT_COMPILE_WORKFLOW = 'agent_compile_workflow'
    LLM_CALL = 'llm_call'

    @classmethod
    def from_json(cls, json_str: str) -> Self:
        """Create an instance of AgentsExecutionActionName from a JSON string"""
        return cls(json.loads(json_str))


