SYMBOL INDEX (59 symbols across 13 files) FILE: evaluate.py function supports_ansi (line 32) | def supports_ansi(): function format_evaluation_prompt (line 69) | def format_evaluation_prompt(guideline): function parse_eval_content (line 74) | def parse_eval_content(content): function evaluate_final_screenshot (line 88) | def evaluate_final_screenshot(guideline): function run_test_case (line 119) | def run_test_case(objective, guideline, model): function get_test_model (line 136) | def get_test_model(): function main (line 152) | def main(): FILE: operate/config.py class Config (line 12) | class Config: method __new__ (line 25) | def __new__(cls): method __init__ (line 31) | def __init__(self): method initialize_openai (line 50) | def initialize_openai(self): method initialize_qwen (line 72) | def initialize_qwen(self): method initialize_google (line 95) | def initialize_google(self): method initialize_ollama (line 111) | def initialize_ollama(self): method initialize_anthropic (line 124) | def initialize_anthropic(self): method validation (line 131) | def validation(self, model, voice_mode): method require_api_key (line 153) | def require_api_key(self, key_name, key_description, is_required): method prompt_and_save_api_key (line 163) | def prompt_and_save_api_key(self, key_name, key_description): method save_api_key_to_env (line 185) | def save_api_key_to_env(key_name, key_value): FILE: operate/exceptions.py class ModelNotRecognizedException (line 1) | class ModelNotRecognizedException(Exception): method __init__ (line 9) | def __init__(self, model, message="Model not recognized"): method __str__ (line 14) | def __str__(self): FILE: operate/main.py function main_entry (line 9) | def main_entry(): FILE: operate/models/apis.py function get_next_action (line 34) | async def get_next_action(model, messages, objective, session_id): function call_gpt_4o (line 68) | def call_gpt_4o(messages): function call_qwen_vl_with_ocr (line 145) | async def call_qwen_vl_with_ocr(messages, objective, model): function call_gemini_pro_vision (line 262) | def call_gemini_pro_vision(messages, objective): function call_gpt_4o_with_ocr (line 314) | async def call_gpt_4o_with_ocr(messages, objective, model): function call_gpt_4_1_with_ocr (line 427) | async def call_gpt_4_1_with_ocr(messages, objective, model): function call_o1_with_ocr (line 533) | async def call_o1_with_ocr(messages, objective, model): function call_gpt_4o_labeled (line 646) | async def call_gpt_4o_labeled(messages, objective, model): function call_ollama_llava (line 790) | def call_ollama_llava(messages): function call_claude_3_with_ocr (line 868) | async def call_claude_3_with_ocr(messages, objective, model): function get_last_assistant_message (line 1063) | def get_last_assistant_message(messages): function gpt_4_fallback (line 1077) | def gpt_4_fallback(messages, objective, model): function confirm_system_prompt (line 1093) | def confirm_system_prompt(messages, objective, model): function clean_json (line 1117) | def clean_json(content): FILE: operate/models/prompts.py function get_system_prompt (line 210) | def get_system_prompt(model, objective): function get_user_prompt (line 260) | def get_user_prompt(): function get_user_first_message_prompt (line 265) | def get_user_first_message_prompt(): FILE: operate/operate.py function main (line 33) | def main(model, terminal_prompt, voice_mode=False, verbose_mode=False): function operate (line 134) | def operate(operations, model): FILE: operate/utils/label.py function validate_and_extract_image_data (line 10) | def validate_and_extract_image_data(data): function get_label_coordinates (line 29) | def get_label_coordinates(label, label_coordinates): function is_overlapping (line 40) | def is_overlapping(box1, box2): function add_labels (line 55) | def add_labels(base64_data, yolo_model): function get_click_position_in_percent (line 141) | def get_click_position_in_percent(coordinates, image_size): FILE: operate/utils/misc.py function convert_percent_to_decimal (line 5) | def convert_percent_to_decimal(percent): function parse_operations (line 17) | def parse_operations(response): FILE: operate/utils/ocr.py function get_text_element (line 10) | def get_text_element(result, search_text, image_path): function get_text_coordinates (line 66) | def get_text_coordinates(result, index, image_path): FILE: operate/utils/operating_system.py class OperatingSystem (line 9) | class OperatingSystem: method write (line 10) | def write(self, content): method press (line 18) | def press(self, keys): method mouse (line 28) | def mouse(self, click_detail): method click_at_percentage (line 39) | def click_at_percentage( FILE: operate/utils/screenshot.py function capture_screen_with_cursor (line 11) | def capture_screen_with_cursor(file_path): function compress_screenshot (line 30) | def compress_screenshot(raw_screenshot_filename, screenshot_filename): FILE: operate/utils/style.py function supports_ansi (line 19) | def supports_ansi():