# Copyright 2026 Flyto2. Licensed under Apache-2.0. See LICENSE.

"""
Schema Presets - Reusable field definitions for common parameters

Modular structure:
- common: URL, TEXT, FILE_PATH, TIMEOUT, BOOLEAN, NUMBER, SELECT
- browser: SELECTOR, WAIT_CONDITION, VIEWPORT, scroll/cookie/dialog
- http: HTTP_METHOD, HEADERS, REQUEST_BODY
- auth: BEARER_TOKEN, API_KEY
- data: JSON, CSV, ENCODING, DELIMITER
- llm: LLM_PROMPT, TEMPERATURE, MODEL
- huggingface: HF_MODEL_ID, HF_PROMPT
- flow: CONDITION, SWITCH, TRIGGER
- array: INPUT_ARRAY, FILTER, SORT
- string: INPUT_TEXT, SEARCH_STRING
- object: INPUT_OBJECT, OBJECT_KEYS
- math: INPUT_NUMBER, DECIMAL_PLACES
- datetime: DATETIME_STRING, FORMAT
- file: SOURCE_PATH, DESTINATION_PATH
- process: COMMAND, WORKING_DIR
- database: DB, REDIS, MONGO
- document: PDF, Excel, Word
- communication: Email, Slack, Webhook, Notification (Telegram, Discord)
- image: IMAGE, QRCODE
- vision: VISION_IMAGE
- assertion: HTTP_STATUS, BODY_CONTAINS
- analysis: HTML_CONTENT
- search: SEARCH_KEYWORD
- training: PRACTICE_URL
- storage: STORAGE_NAMESPACE, KV_STORAGE_KEY, STORAGE_TTL
- compare: COMPARE_CURRENT_VALUE, COMPARE_THRESHOLD, COMPARE_MODE

Usage:
    from core.modules.schema.presets import URL, SELECTOR, TIMEOUT_MS
    # or
    from core.modules.schema import presets
    presets.URL(required=True)
"""
from __future__ import annotations

from .common import (
    URL,
    TEXT,
    FILE_PATH,
    TIMEOUT_MS,
    TIMEOUT_S,
    DURATION_MS,
    DURATION_S,
    BOOLEAN,
    NUMBER,
    SELECT,
    DESCRIPTION,
    SSRF_PROTECTION,
)
from .browser import (
    SELECTOR,
    WAIT_CONDITION,
    VIEWPORT,
    SCREENSHOT_OPTIONS,
    BROWSER_HEADLESS,
    OUTPUT_PATH,
    POSITION,
    SCROLL_DIRECTION,
    SCROLL_AMOUNT,
    SCROLL_BEHAVIOR,
    SELECT_VALUE,
    SELECT_LABEL,
    SELECT_INDEX,
    BROWSER_ACTION,
    COOKIE_NAME,
    COOKIE_VALUE,
    COOKIE_DOMAIN,
    COOKIE_PATH,
    COOKIE_SECURE,
    COOKIE_HTTP_ONLY,
    COOKIE_EXPIRES,
    STORAGE_TYPE,
    STORAGE_KEY,
    STORAGE_VALUE,
    UPLOAD_FILE_PATH,
    DOWNLOAD_SAVE_PATH,
    DIALOG_ACTION,
    DIALOG_PROMPT_TEXT,
    JS_SCRIPT,
    JS_ARGS,
    KEYBOARD_KEY,
    EXTRACT_FIELDS,
    EXTRACT_LIMIT,
    CONSOLE_LEVEL,
    CONSOLE_CLEAR_EXISTING,
)
from .http import (
    HTTP_METHOD,
    HEADERS,
    REQUEST_BODY,
    CONTENT_TYPE,
    QUERY_PARAMS,
    FOLLOW_REDIRECTS,
    VERIFY_SSL,
    RESPONSE_TYPE,
    HTTP_AUTH,
)
from .auth import (
    BEARER_TOKEN,
    API_KEY,
)
from .data import (
    ENCODING,
    JSON_PATH,
    DELIMITER,
    JSON_STRING,
    DATA_OBJECT,
    DATA_ARRAY,
    PRETTY_PRINT,
    INDENT_SIZE,
    INCLUDE_HEADER,
    SKIP_HEADER,
    FLATTEN_NESTED,
    COLUMNS,
    TEMPLATE,
    VARIABLES,
    INPUT_DATA,
)
from .assertion import (
    HTTP_STATUS,
    BODY_CONTAINS,
    BODY_NOT_CONTAINS,
    REGEX_PATTERN,
    JSON_PATH_ASSERTIONS,
    JSON_PATH_EXISTS,
    HEADER_CONTAINS,
    MAX_DURATION_MS,
    JSON_SCHEMA,
    FAIL_FAST,
)
from .process import (
    COMMAND,
    WORKING_DIR,
    ENV_VARS,
    USE_SHELL,
    CAPTURE_STDERR,
    RAISE_ON_ERROR,
    PROCESS_NAME,
    WAIT_FOR_OUTPUT,
    CAPTURE_OUTPUT,
    LOG_FILE,
    AUTO_RESTART,
    SIGNAL_TYPE,
    FORCE_KILL,
    STOP_ALL,
    PROCESS_ID,
    PID,
    FILTER_NAME,
    INCLUDE_STATUS,
)
from .file import (
    SOURCE_PATH,
    DESTINATION_PATH,
    FILE_PATH,
    DIRECTORY_PATH,
    OVERWRITE,
    IGNORE_MISSING,
    WRITE_MODE,
    FILE_ENCODING,
    FILE_CONTENT,
    CREATE_DIRS,
    FILE_PATTERN,
    RECURSIVE,
    ENCODING_OPTIONS,
)
from .llm import (
    LLM_PROMPT,
    SYSTEM_PROMPT,
    LLM_CONTEXT,
    CONVERSATION_MESSAGES,
    LLM_PROVIDER,
    LLM_MODEL,
    TEMPERATURE,
    MAX_TOKENS,
    LLM_RESPONSE_FORMAT,
    LLM_API_KEY,
    LLM_BASE_URL,
    CODE_ISSUES,
    SOURCE_FILES,
    FIX_MODE,
    CREATE_BACKUP,
)
from .array import (
    INPUT_ARRAY,
    FILTER_CONDITION,
    COMPARE_VALUE,
    FILTER_FIELD,
    ARRAY_OPERATION,
    SORT_ORDER,
    SORT_BY,
    CHUNK_SIZE,
    FLATTEN_DEPTH,
    PRESERVE_ORDER,
    OPERATION_VALUE,
    REDUCE_OPERATION,
    SEPARATOR,
    SECOND_ARRAY,
    ARRAYS,
    SUBTRACT_ARRAYS,
    LIMIT,
    SKIP,
)
from .string import (
    INPUT_TEXT,
    SEARCH_STRING,
    REPLACE_STRING,
    STRING_DELIMITER,
    REGEX_PATTERN,
    CASE_TYPE,
    PADDING_SIDE,
    PADDING_CHAR,
    TARGET_LENGTH,
    TRIM_TYPE,
)
from .flow import (
    CONDITION_EXPRESSION,
    SWITCH_EXPRESSION,
    SWITCH_CASES,
    TRIGGER_TYPE,
    WEBHOOK_PATH,
    CRON_SCHEDULE,
    EVENT_NAME,
    OUTPUT_MAPPING,
    MERGE_STRATEGY,
    JOIN_STRATEGY,
    PORT_COUNT,
    BRANCH_COUNT,
    TARGET_STEP,
    MAX_ITERATIONS,
    CANCEL_PENDING,
    APPROVAL_TITLE,
    APPROVAL_MODE,
    TIMEOUT_SECONDS,
    INHERIT_CONTEXT,
    SUBFLOW_DEFINITION,
)
from .object import (
    INPUT_OBJECT,
    INPUT_OBJECTS,
    OBJECT_KEYS,
)
from .math import (
    INPUT_NUMBER,
    DECIMAL_PLACES,
    MATH_BASE,
    MATH_EXPONENT,
    MATH_OPERATION,
    FIRST_OPERAND,
    SECOND_OPERAND,
    DECIMAL_PRECISION,
)
from .datetime import (
    DATETIME_STRING,
    DATETIME_INPUT,
    DATETIME_FORMAT,
    DATETIME_PARSE_FORMAT,
    TIME_DAYS,
    TIME_HOURS,
    TIME_MINUTES,
    TIME_SECONDS,
    TIMEZONE,
    DATETIME_FORMAT_OPTIONS,
)
from .huggingface import (
    HF_MODEL_ID,
    HF_PROMPT,
    HF_TEXT_INPUT,
    HF_MAX_NEW_TOKENS,
    HF_TEMPERATURE,
    HF_TOP_P,
    HF_DO_SAMPLE,
    HF_MAX_LENGTH,
    HF_MIN_LENGTH,
    HF_TOP_K,
    HF_SOURCE_LANG,
    HF_TARGET_LANG,
    HF_AUDIO_PATH,
    HF_IMAGE_PATH,
    HF_LANGUAGE,
    HF_RETURN_TIMESTAMPS,
    HF_NORMALIZE,
)
from .analysis import (
    HTML_CONTENT,
)
from .database import (
    DB_TYPE,
    DB_CONNECTION_STRING,
    DB_HOST,
    DB_PORT,
    DB_NAME,
    DB_USER,
    DB_PASSWORD,
    DB_TABLE,
    SQL_QUERY,
    DB_QUERY_PARAMS,
    FETCH_MODE,
    DB_DATA,
    WHERE_CONDITIONS,
    RETURNING_COLUMNS,
    REDIS_KEY,
    REDIS_VALUE,
    REDIS_TTL,
    REDIS_HOST,
    REDIS_PORT,
    REDIS_DB,
    MONGO_CONNECTION_STRING,
    MONGO_DATABASE,
    MONGO_COLLECTION,
    MONGO_FILTER,
    MONGO_PROJECTION,
    MONGO_LIMIT,
    MONGO_SORT,
    MONGO_DOCUMENT,
    MONGO_DOCUMENTS,
)
from .document import (
    DOC_INPUT_PATH,
    DOC_OUTPUT_PATH,
    DOC_PAGES,
    DOC_EXTRACT_TABLES,
    DOC_EXTRACT_IMAGES,
    DOC_PRESERVE_FORMATTING,
    DOC_IMAGES_OUTPUT_DIR,
    EXCEL_PATH,
    EXCEL_SHEET,
    EXCEL_HEADER_ROW,
    EXCEL_RANGE,
    EXCEL_AS_DICT,
    EXCEL_DATA,
    EXCEL_HEADERS,
    EXCEL_SHEET_NAME,
    EXCEL_AUTO_WIDTH,
    PDF_PATH,
    PDF_CONTENT,
    PDF_TITLE,
    PDF_AUTHOR,
    PDF_PAGE_SIZE,
    PDF_ORIENTATION,
    PDF_MARGIN,
    PDF_HEADER,
    PDF_FOOTER,
    PDF_TEMPLATE,
    PDF_FORM_FIELDS,
    PDF_IMAGES,
    PDF_FLATTEN,
    WORD_FILE_PATH,
    DOC_CONVERSION_METHOD,
)
from .search import (
    SEARCH_KEYWORD,
    SEARCH_LIMIT,
)
from .communication import (
    WEBHOOK_URL,
    WEBHOOK_PAYLOAD,
    WEBHOOK_AUTH_TOKEN,
    EMAIL_TO,
    EMAIL_SUBJECT,
    EMAIL_BODY,
    EMAIL_HTML,
    EMAIL_FROM,
    EMAIL_CC,
    EMAIL_BCC,
    EMAIL_ATTACHMENTS,
    SMTP_HOST,
    SMTP_PORT,
    SMTP_USER,
    SMTP_PASSWORD,
    USE_TLS,
    IMAP_HOST,
    IMAP_PORT,
    IMAP_USER,
    IMAP_PASSWORD,
    EMAIL_FOLDER,
    EMAIL_LIMIT,
    EMAIL_UNREAD_ONLY,
    EMAIL_SINCE_DATE,
    EMAIL_FROM_FILTER,
    EMAIL_SUBJECT_FILTER,
    SLACK_MESSAGE,
    SLACK_WEBHOOK_URL,
    SLACK_CHANNEL,
    SLACK_USERNAME,
    SLACK_ICON_EMOJI,
    SLACK_BLOCKS,
    SLACK_ATTACHMENTS,
    NOTIFY_URL,
    NOTIFY_MESSAGE,
    NOTIFY_TITLE,
    TELEGRAM_CHAT_ID,
)
from .image import (
    IMAGE_INPUT_PATH,
    IMAGE_OUTPUT_PATH,
    IMAGE_WIDTH,
    IMAGE_HEIGHT,
    IMAGE_SCALE,
    IMAGE_QUALITY,
    IMAGE_FORMAT,
    IMAGE_RESIZE_ALGORITHM,
    IMAGE_MAINTAIN_ASPECT,
    IMAGE_OPTIMIZE,
    IMAGE_MAX_SIZE_KB,
    IMAGE_RESIZE_OPTIONS,
    IMAGE_URL,
    OUTPUT_DIRECTORY,
    QRCODE_DATA,
    QRCODE_SIZE,
    QRCODE_COLOR,
    QRCODE_BACKGROUND,
    QRCODE_ERROR_CORRECTION,
    QRCODE_LOGO_PATH,
    QRCODE_BORDER,
    QRCODE_VERSION,
    QRCODE_FORMAT,
)
from .output import (
    DISPLAY_TYPE,
    DISPLAY_CONTENT,
    DISPLAY_TITLE,
    DISPLAY_MODE,
    DISPLAY_OUTPUT_KEY,
)
from .vision import (
    VISION_IMAGE,
    VISION_PROMPT,
    VISION_ANALYSIS_TYPE,
    VISION_OUTPUT_FORMAT,
    VISION_CONTEXT,
    VISION_DETAIL,
    VISION_IMAGE_BEFORE,
    VISION_IMAGE_AFTER,
    VISION_COMPARISON_TYPE,
    VISION_THRESHOLD,
    VISION_FOCUS_AREAS,
    VISION_IGNORE_AREAS,
)
from .training import (
    PRACTICE_URL,
    PRACTICE_MAX_ITEMS,
    PRACTICE_SAMPLE_SIZE,
)
from .storage import (
    STORAGE_NAMESPACE,
    STORAGE_KEY as KV_STORAGE_KEY,
    STORAGE_VALUE as KV_STORAGE_VALUE,
    STORAGE_DEFAULT,
    STORAGE_TTL,
)
from .compare import (
    COMPARE_CURRENT_VALUE,
    COMPARE_PREVIOUS_VALUE,
    COMPARE_MODE,
    COMPARE_THRESHOLD,
    COMPARE_DIRECTION,
)

# New presets (v2)
from .validate import (
    VALIDATE_EMAIL,
    VALIDATE_URL,
    VALIDATE_PHONE,
    VALIDATE_UUID,
    VALIDATE_IP,
    VALIDATE_CARD,
)
from .encode import (
    ENCODE_TEXT,
    ENCODING_TYPE,
    URL_SAFE,
)
from .text_analysis import (
    ANALYSIS_TEXT,
    UNIQUE_ONLY,
    CASE_SENSITIVE,
)
from .path_ops import (
    PATH_INPUT,
    PATH_PARTS,
    REMOVE_EXTENSION,
    RESOLVE_PATH,
)
from .format_ops import (
    FORMAT_NUMBER_INPUT,
    FORMAT_DECIMAL_PLACES,
    THOUSAND_SEPARATOR,
    CURRENCY_CODE,
    BYTES_INPUT,
    SECONDS_INPUT,
)
from .logic_ops import (
    LOGIC_VALUES,
    LOGIC_VALUE,
    COMPARE_VALUE_A,
    COMPARE_VALUE_B,
    STRICT_COMPARE,
)
from .set_ops import (
    SET_ARRAYS,
    SET_SOURCE,
    SET_EXCLUDE,
    SET_ARRAY,
    PRESERVE_ORDER,
)

# New presets (v3)
from .hash import (
    HASH_TEXT,
    HASH_ENCODING,
    HASH_ALGORITHM,
)
from .random import (
    RANDOM_ARRAY,
    RANDOM_COUNT,
    RANDOM_MIN,
    RANDOM_MAX,
    RANDOM_UNIQUE,
)
from .convert import (
    CONVERT_VALUE,
    CONVERT_DEFAULT,
    CONVERT_STRICT,
    CONVERT_PRETTY,
)
from .regex import (
    REGEX_TEXT,
    REGEX_PATTERN,
    REGEX_REPLACEMENT,
    REGEX_IGNORE_CASE,
    REGEX_MULTILINE,
    REGEX_MAX_COUNT,
)
from .string_ext import (
    STRING_PAD_LENGTH,
    STRING_PAD_CHAR,
    STRING_PAD_POSITION,
    STRING_MAX_LENGTH,
    STRING_SUFFIX,
    STRING_SEPARATOR,
    STRING_TEMPLATE,
    STRING_VARIABLES,
)


__all__ = [
    'API_KEY',
    'APPROVAL_MODE',
    'APPROVAL_TITLE',
    'ARRAYS',
    'ARRAY_OPERATION',
    'AUTO_RESTART',
    'BEARER_TOKEN',
    'BODY_CONTAINS',
    'BODY_NOT_CONTAINS',
    'BOOLEAN',
    'BRANCH_COUNT',
    'BROWSER_ACTION',
    'BROWSER_HEADLESS',
    'CANCEL_PENDING',
    'CAPTURE_OUTPUT',
    'CAPTURE_STDERR',
    'CHUNK_SIZE',
    'CODE_ISSUES',
    'COLUMNS',
    'COMMAND',
    'COMPARE_VALUE',
    'CONDITION_EXPRESSION',
    'CONSOLE_CLEAR_EXISTING',
    'CONSOLE_LEVEL',
    'CONTENT_TYPE',
    'CONVERSATION_MESSAGES',
    'COOKIE_DOMAIN',
    'COOKIE_EXPIRES',
    'COOKIE_HTTP_ONLY',
    'COOKIE_NAME',
    'COOKIE_PATH',
    'COOKIE_SECURE',
    'COOKIE_VALUE',
    'CREATE_BACKUP',
    'CRON_SCHEDULE',
    'DATA_ARRAY',
    'DATA_OBJECT',
    'DATETIME_FORMAT',
    'DATETIME_FORMAT_OPTIONS',
    'DATETIME_INPUT',
    'DATETIME_PARSE_FORMAT',
    'DATETIME_STRING',
    'TIMEZONE',
    'DB_CONNECTION_STRING',
    'DB_DATA',
    'DB_HOST',
    'DB_NAME',
    'DB_PASSWORD',
    'DB_PORT',
    'DB_QUERY_PARAMS',
    'DB_TABLE',
    'DB_TYPE',
    'DB_USER',
    'DECIMAL_PLACES',
    'DECIMAL_PRECISION',
    'DELIMITER',
    'DESCRIPTION',
    'DESTINATION_PATH',
    'DIALOG_ACTION',
    'DIALOG_PROMPT_TEXT',
    'DOC_CONVERSION_METHOD',
    'DOC_EXTRACT_IMAGES',
    'DOC_EXTRACT_TABLES',
    'DOC_IMAGES_OUTPUT_DIR',
    'DOC_INPUT_PATH',
    'DOC_OUTPUT_PATH',
    'DOC_PAGES',
    'DOC_PRESERVE_FORMATTING',
    'DOWNLOAD_SAVE_PATH',
    'DURATION_MS',
    'DURATION_S',
    'EMAIL_ATTACHMENTS',
    'EMAIL_BCC',
    'EMAIL_BODY',
    'EMAIL_CC',
    'EMAIL_FOLDER',
    'EMAIL_FROM',
    'EMAIL_FROM_FILTER',
    'EMAIL_HTML',
    'EMAIL_LIMIT',
    'EMAIL_SINCE_DATE',
    'EMAIL_SUBJECT',
    'EMAIL_SUBJECT_FILTER',
    'EMAIL_TO',
    'EMAIL_UNREAD_ONLY',
    'ENCODING',
    'ENV_VARS',
    'EVENT_NAME',
    'EXCEL_AS_DICT',
    'EXCEL_AUTO_WIDTH',
    'EXCEL_DATA',
    'EXCEL_HEADERS',
    'EXCEL_HEADER_ROW',
    'EXCEL_PATH',
    'EXCEL_RANGE',
    'EXCEL_SHEET',
    'EXCEL_SHEET_NAME',
    'EXTRACT_FIELDS',
    'EXTRACT_LIMIT',
    'FAIL_FAST',
    'FETCH_MODE',
    'FILE_CONTENT',
    'FILE_PATH',
    'FILTER_CONDITION',
    'FILTER_FIELD',
    'FILTER_NAME',
    'FIRST_OPERAND',
    'FIX_MODE',
    'FLATTEN_DEPTH',
    'FLATTEN_NESTED',
    'FOLLOW_REDIRECTS',
    'FORCE_KILL',
    'HEADERS',
    'HEADER_CONTAINS',
    'HF_AUDIO_PATH',
    'HF_DO_SAMPLE',
    'HF_IMAGE_PATH',
    'HF_LANGUAGE',
    'HF_MAX_LENGTH',
    'HF_MAX_NEW_TOKENS',
    'HF_MIN_LENGTH',
    'HF_MODEL_ID',
    'HF_NORMALIZE',
    'HF_PROMPT',
    'HF_RETURN_TIMESTAMPS',
    'HF_SOURCE_LANG',
    'HF_TARGET_LANG',
    'HF_TEMPERATURE',
    'HF_TEXT_INPUT',
    'HF_TOP_K',
    'HF_TOP_P',
    'HTML_CONTENT',
    'HTTP_AUTH',
    'HTTP_METHOD',
    'HTTP_STATUS',
    'IGNORE_MISSING',
    'IMAGE_FORMAT',
    'IMAGE_HEIGHT',
    'IMAGE_INPUT_PATH',
    'IMAGE_MAINTAIN_ASPECT',
    'IMAGE_MAX_SIZE_KB',
    'IMAGE_OPTIMIZE',
    'IMAGE_OUTPUT_PATH',
    'IMAGE_QUALITY',
    'IMAGE_RESIZE_ALGORITHM',
    'IMAGE_RESIZE_OPTIONS',
    'IMAGE_SCALE',
    'IMAGE_URL',
    'IMAGE_WIDTH',
    'IMAP_HOST',
    'IMAP_PASSWORD',
    'IMAP_PORT',
    'IMAP_USER',
    'INCLUDE_HEADER',
    'INCLUDE_STATUS',
    'INDENT_SIZE',
    'INHERIT_CONTEXT',
    'INPUT_ARRAY',
    'INPUT_DATA',
    'INPUT_NUMBER',
    'INPUT_OBJECT',
    'INPUT_OBJECTS',
    'INPUT_TEXT',
    'JOIN_STRATEGY',
    'JSON_PATH',
    'JSON_PATH_ASSERTIONS',
    'JSON_PATH_EXISTS',
    'JSON_SCHEMA',
    'JSON_STRING',
    'JS_ARGS',
    'JS_SCRIPT',
    'KEYBOARD_KEY',
    'LLM_API_KEY',
    'LLM_BASE_URL',
    'LLM_CONTEXT',
    'LLM_MODEL',
    'LLM_PROMPT',
    'LLM_PROVIDER',
    'LLM_RESPONSE_FORMAT',
    'LOG_FILE',
    'MATH_BASE',
    'MATH_EXPONENT',
    'MATH_OPERATION',
    'MAX_DURATION_MS',
    'MAX_ITERATIONS',
    'MAX_TOKENS',
    'MERGE_STRATEGY',
    'MONGO_COLLECTION',
    'MONGO_CONNECTION_STRING',
    'MONGO_DATABASE',
    'MONGO_DOCUMENT',
    'MONGO_DOCUMENTS',
    'MONGO_FILTER',
    'MONGO_LIMIT',
    'MONGO_PROJECTION',
    'MONGO_SORT',
    'NUMBER',
    'OBJECT_KEYS',
    'OPERATION_VALUE',
    'OUTPUT_DIRECTORY',
    'OUTPUT_MAPPING',
    'OUTPUT_PATH',
    'OVERWRITE',
    'PDF_AUTHOR',
    'PDF_CONTENT',
    'PDF_FLATTEN',
    'PDF_FOOTER',
    'PDF_FORM_FIELDS',
    'PDF_HEADER',
    'PDF_IMAGES',
    'PDF_MARGIN',
    'PDF_ORIENTATION',
    'PDF_PAGE_SIZE',
    'PDF_PATH',
    'PDF_TEMPLATE',
    'PDF_TITLE',
    'PID',
    'PORT_COUNT',
    'POSITION',
    'PRACTICE_MAX_ITEMS',
    'PRACTICE_SAMPLE_SIZE',
    'PRACTICE_URL',
    'PRESERVE_ORDER',
    'PRETTY_PRINT',
    'PROCESS_ID',
    'PROCESS_NAME',
    'QRCODE_BACKGROUND',
    'QRCODE_COLOR',
    'QRCODE_DATA',
    'QRCODE_ERROR_CORRECTION',
    'QRCODE_LOGO_PATH',
    'QRCODE_SIZE',
    'QUERY_PARAMS',
    'RAISE_ON_ERROR',
    'REDIS_DB',
    'REDIS_HOST',
    'REDIS_KEY',
    'REDIS_PORT',
    'REDIS_TTL',
    'REDIS_VALUE',
    'REDUCE_OPERATION',
    'REGEX_PATTERN',
    'REPLACE_STRING',
    'REQUEST_BODY',
    'RESPONSE_TYPE',
    'RETURNING_COLUMNS',
    'SCREENSHOT_OPTIONS',
    'SCROLL_AMOUNT',
    'SCROLL_BEHAVIOR',
    'SCROLL_DIRECTION',
    'SEARCH_KEYWORD',
    'SEARCH_LIMIT',
    'SEARCH_STRING',
    'SECOND_ARRAY',
    'SECOND_OPERAND',
    'SELECT',
    'SELECTOR',
    'SELECT_INDEX',
    'SELECT_LABEL',
    'SELECT_VALUE',
    'SEPARATOR',
    'SIGNAL_TYPE',
    'SKIP',
    'SKIP_HEADER',
    'SLACK_ATTACHMENTS',
    'SLACK_BLOCKS',
    'SLACK_CHANNEL',
    'SLACK_ICON_EMOJI',
    'SLACK_MESSAGE',
    'SLACK_USERNAME',
    'SLACK_WEBHOOK_URL',
    'SMTP_HOST',
    'SMTP_PASSWORD',
    'SMTP_PORT',
    'SMTP_USER',
    'SORT_BY',
    'SORT_ORDER',
    'SOURCE_FILES',
    'SOURCE_PATH',
    'SQL_QUERY',
    'STOP_ALL',
    'STORAGE_KEY',
    'STORAGE_TYPE',
    'STORAGE_VALUE',
    'STRING_DELIMITER',
    'SUBFLOW_DEFINITION',
    'SUBTRACT_ARRAYS',
    'SWITCH_CASES',
    'SWITCH_EXPRESSION',
    'SYSTEM_PROMPT',
    'TARGET_STEP',
    'TEMPERATURE',
    'TEMPLATE',
    'TEXT',
    'TIMEOUT_MS',
    'TIMEOUT_S',
    'TIMEOUT_SECONDS',
    'TIME_DAYS',
    'TIME_HOURS',
    'TIME_MINUTES',
    'TIME_SECONDS',
    'TRIGGER_TYPE',
    'UPLOAD_FILE_PATH',
    'URL',
    'USE_SHELL',
    'USE_TLS',
    'VARIABLES',
    'VERIFY_SSL',
    'VIEWPORT',
    'VISION_ANALYSIS_TYPE',
    'VISION_COMPARISON_TYPE',
    'VISION_CONTEXT',
    'VISION_DETAIL',
    'VISION_FOCUS_AREAS',
    'VISION_IGNORE_AREAS',
    'VISION_IMAGE',
    'VISION_IMAGE_AFTER',
    'VISION_IMAGE_BEFORE',
    'VISION_OUTPUT_FORMAT',
    'VISION_PROMPT',
    'VISION_THRESHOLD',
    'WAIT_CONDITION',
    'WAIT_FOR_OUTPUT',
    'WEBHOOK_AUTH_TOKEN',
    'WEBHOOK_PATH',
    'WEBHOOK_PAYLOAD',
    'WEBHOOK_URL',
    'WHERE_CONDITIONS',
    'WORD_FILE_PATH',
    'WORKING_DIR',
    'WRITE_MODE',
    # KV Storage presets
    'STORAGE_NAMESPACE',
    'KV_STORAGE_KEY',
    'KV_STORAGE_VALUE',
    'STORAGE_DEFAULT',
    'STORAGE_TTL',
    # Notification presets
    'NOTIFY_URL',
    'NOTIFY_MESSAGE',
    'NOTIFY_TITLE',
    'TELEGRAM_CHAT_ID',
    # Compare presets
    'COMPARE_CURRENT_VALUE',
    'COMPARE_PREVIOUS_VALUE',
    'COMPARE_MODE',
    'COMPARE_THRESHOLD',
    'COMPARE_DIRECTION',
    # Validation presets
    'VALIDATE_EMAIL',
    'VALIDATE_URL',
    'VALIDATE_PHONE',
    'VALIDATE_UUID',
    'VALIDATE_IP',
    'VALIDATE_CARD',
    # Encoding presets
    'ENCODE_TEXT',
    'ENCODING_TYPE',
    'URL_SAFE',
    # Text analysis presets
    'ANALYSIS_TEXT',
    'UNIQUE_ONLY',
    'CASE_SENSITIVE',
    # Path presets
    'PATH_INPUT',
    'PATH_PARTS',
    'REMOVE_EXTENSION',
    'RESOLVE_PATH',
    # Format presets
    'FORMAT_NUMBER_INPUT',
    'FORMAT_DECIMAL_PLACES',
    'THOUSAND_SEPARATOR',
    'CURRENCY_CODE',
    'BYTES_INPUT',
    'SECONDS_INPUT',
    # Logic presets
    'LIMIT',
    'LOGIC_VALUES',
    'LOGIC_VALUE',
    'COMPARE_VALUE_A',
    'COMPARE_VALUE_B',
    'STRICT_COMPARE',
    # Set presets
    'SET_ARRAYS',
    'SET_SOURCE',
    'SET_EXCLUDE',
    'SET_ARRAY',
    'PRESERVE_ORDER',
    # Hash presets
    'HASH_TEXT',
    'HASH_ENCODING',
    'HASH_ALGORITHM',
    # Random presets
    'RANDOM_ARRAY',
    'RANDOM_COUNT',
    'RANDOM_MIN',
    'RANDOM_MAX',
    'RANDOM_UNIQUE',
    # Convert presets
    'CONVERT_VALUE',
    'CONVERT_DEFAULT',
    'CONVERT_STRICT',
    'CONVERT_PRETTY',
    # Regex presets
    'REGEX_TEXT',
    'REGEX_PATTERN',
    'REGEX_REPLACEMENT',
    'REGEX_IGNORE_CASE',
    'REGEX_MULTILINE',
    'REGEX_MAX_COUNT',
    # String extension presets
    'STRING_PAD_LENGTH',
    'STRING_PAD_CHAR',
    'STRING_PAD_POSITION',
    'STRING_MAX_LENGTH',
    'STRING_SUFFIX',
    'STRING_SEPARATOR',
    'STRING_TEMPLATE',
    'STRING_VARIABLES',
    # QR Code extension presets
    'QRCODE_BORDER',
    'QRCODE_VERSION',
    'QRCODE_FORMAT',
    # Display/Output presets
    'DISPLAY_TYPE',
    'DISPLAY_CONTENT',
    'DISPLAY_TITLE',
    'DISPLAY_MODE',
    'DISPLAY_OUTPUT_KEY',
]
