SYMBOL INDEX (481 symbols across 51 files) FILE: api.py function is_running_in_docker (line 30) | def is_running_in_docker(): function initialize_system (line 67) | def initialize_system(): function get_screenshot (line 148) | async def get_screenshot(): function health_check (line 160) | async def health_check(): function is_active (line 165) | async def is_active(): function stop (line 170) | async def stop(): function get_latest_answer (line 176) | async def get_latest_answer(): function think_wrapper (line 200) | async def think_wrapper(interaction, query): function process_query (line 222) | async def process_query(request: QueryRequest): FILE: cli.py function main (line 20) | async def main(): FILE: frontend/agentic-seek-front/src/App.js constant BACKEND_URL (line 9) | const BACKEND_URL = process.env.REACT_APP_BACKEND_URL; function App (line 12) | function App() { FILE: llm_server/app.py function start_generation (line 27) | def start_generation(): function setup (line 37) | def setup(): function get_updated_sentence (line 46) | def get_updated_sentence(): FILE: llm_server/sources/cache.py class Cache (line 5) | class Cache: method __init__ (line 6) | def __init__(self, cache_dir='.cache', cache_file='messages.json'): method add_message_pair (line 17) | def add_message_pair(self, user_message: str, assistant_message: str): method is_cached (line 23) | def is_cached(self, user_message: str) -> bool: method get_cached_response (line 27) | def get_cached_response(self, user_message: str) -> str | None: method _save (line 34) | def _save(self): FILE: llm_server/sources/decorator.py function timer_decorator (line 2) | def timer_decorator(func): FILE: llm_server/sources/generator.py class GenerationState (line 7) | class GenerationState: method __init__ (line 8) | def __init__(self): method status (line 14) | def status(self) -> dict: class GeneratorLLM (line 22) | class GeneratorLLM(): method __init__ (line 23) | def __init__(self): method set_model (line 35) | def set_model(self, model: str) -> None: method start (line 39) | def start(self, history: list) -> bool: method get_status (line 50) | def get_status(self) -> dict: method generate (line 55) | def generate(self, history: list) -> None: FILE: llm_server/sources/llamacpp_handler.py class LlamacppLLM (line 6) | class LlamacppLLM(GeneratorLLM): method __init__ (line 8) | def __init__(self): method generate (line 16) | def generate(self, history): FILE: llm_server/sources/ollama_handler.py class OllamaLLM (line 7) | class OllamaLLM(GeneratorLLM): method __init__ (line 9) | def __init__(self): method generate (line 16) | def generate(self, history): FILE: sources/agents/agent.py class Agent (line 17) | class Agent(): method __init__ (line 21) | def __init__(self, name: str, method get_agent_name (line 54) | def get_agent_name(self) -> str: method get_agent_type (line 58) | def get_agent_type(self) -> str: method get_agent_role (line 62) | def get_agent_role(self) -> str: method get_last_answer (line 66) | def get_last_answer(self) -> str: method get_last_reasoning (line 70) | def get_last_reasoning(self) -> str: method get_blocks (line 74) | def get_blocks(self) -> list: method get_status_message (line 78) | def get_status_message(self) -> str: method get_tools (line 82) | def get_tools(self) -> dict: method get_success (line 86) | def get_success(self) -> bool: method get_blocks_result (line 89) | def get_blocks_result(self) -> list: method add_tool (line 92) | def add_tool(self, name: str, tool: Callable) -> None: method get_tools_name (line 97) | def get_tools_name(self) -> list: method get_tools_description (line 103) | def get_tools_description(self) -> str: method load_prompt (line 112) | def load_prompt(self, file_path: str) -> str: method request_stop (line 123) | def request_stop(self) -> None: method process (line 131) | def process(self, prompt, speech_module) -> str: method remove_reasoning_text (line 138) | def remove_reasoning_text(self, text: str) -> None: method extract_reasoning_text (line 148) | def extract_reasoning_text(self, text: str) -> None: method llm_request (line 160) | async def llm_request(self) -> Tuple[str, str]: method sync_llm_request (line 168) | def sync_llm_request(self) -> Tuple[str, str]: method wait_message (line 180) | async def wait_message(self, speech_module): method get_last_tool_type (line 190) | def get_last_tool_type(self) -> str: method raw_answer_blocks (line 193) | def raw_answer_blocks(self, answer: str) -> str: method show_answer (line 210) | def show_answer(self): method remove_blocks (line 226) | def remove_blocks(self, text: str) -> str: method show_block (line 247) | def show_block(self, block: str) -> None: method execute_modules (line 255) | def execute_modules(self, answer: str) -> Tuple[bool, str]: FILE: sources/agents/browser_agent.py class Action (line 15) | class Action(Enum): class BrowserAgent (line 22) | class BrowserAgent(Agent): method __init__ (line 23) | def __init__(self, name, prompt_path, provider, verbose=False, browser... method get_today_date (line 46) | def get_today_date(self) -> str: method extract_links (line 51) | def extract_links(self, search_result: str) -> List[str]: method extract_form (line 60) | def extract_form(self, text: str) -> List[str]: method clean_links (line 66) | def clean_links(self, links: List[str]) -> List[str]: method get_unvisited_links (line 77) | def get_unvisited_links(self) -> List[str]: method make_newsearch_prompt (line 80) | def make_newsearch_prompt(self, prompt: str, search_result: dict) -> str: method make_navigation_prompt (line 92) | def make_navigation_prompt(self, user_prompt: str, page_text: str) -> ... method llm_decide (line 180) | async def llm_decide(self, prompt: str, show_reasoning: bool = False) ... method select_unvisited (line 190) | def select_unvisited(self, search_result: List[str]) -> List[str]: method jsonify_search_results (line 198) | def jsonify_search_results(self, results_string: str) -> List[str]: method stringify_search_results (line 217) | def stringify_search_results(self, results_arr: List[str]) -> str: method parse_answer (line 220) | def parse_answer(self, text): method select_link (line 237) | def select_link(self, links: List[str]) -> str | None: method get_page_text (line 251) | def get_page_text(self, limit_to_model_ctx = False) -> str: method conclude_prompt (line 259) | def conclude_prompt(self, user_query: str) -> str: method search_prompt (line 274) | def search_prompt(self, user_prompt: str) -> str: method handle_update_prompt (line 294) | def handle_update_prompt(self, user_prompt: str, page_text: str, fill_... method show_search_results (line 313) | def show_search_results(self, search_result: List[str]): method stuck_prompt (line 319) | def stuck_prompt(self, user_prompt: str, unvisited: List[str]) -> str: method process (line 331) | async def process(self, user_prompt: str, speech_module: type) -> Tupl... FILE: sources/agents/casual_agent.py class CasualAgent (line 11) | class CasualAgent(Agent): method __init__ (line 12) | def __init__(self, name, prompt_path, provider, verbose=False): method process (line 26) | async def process(self, prompt, speech_module) -> str: FILE: sources/agents/code_agent.py class CoderAgent (line 15) | class CoderAgent(Agent): method __init__ (line 19) | def __init__(self, name, prompt_path, provider, verbose=False): method add_sys_info_prompt (line 38) | def add_sys_info_prompt(self, prompt): method process (line 46) | async def process(self, prompt, speech_module) -> str: FILE: sources/agents/file_agent.py class FileAgent (line 9) | class FileAgent(Agent): method __init__ (line 10) | def __init__(self, name, prompt_path, provider, verbose=False): method process (line 27) | async def process(self, prompt, speech_module) -> str: FILE: sources/agents/mcp_agent.py class McpAgent (line 11) | class McpAgent(Agent): method __init__ (line 13) | def __init__(self, name, prompt_path, provider, verbose=False): method get_api_keys (line 32) | def get_api_keys(self) -> dict: method expand_prompt (line 44) | def expand_prompt(self, prompt): method process (line 55) | async def process(self, prompt, speech_module) -> str: FILE: sources/agents/planner_agent.py class PlannerAgent (line 14) | class PlannerAgent(Agent): method __init__ (line 15) | def __init__(self, name, prompt_path, provider, verbose=False, browser... method get_task_names (line 39) | def get_task_names(self, text: str) -> List[str]: method parse_agent_tasks (line 63) | def parse_agent_tasks(self, text: str) -> List[Tuple[str, str]]: method make_prompt (line 110) | def make_prompt(self, task: str, agent_infos_dict: dict) -> str: method show_plan (line 134) | def show_plan(self, agents_tasks: List[dict], answer: str) -> None: method make_plan (line 150) | async def make_plan(self, prompt: str) -> str: method update_plan (line 177) | async def update_plan(self, goal: str, agents_tasks: List[dict], agent... method start_agent_process (line 225) | async def start_agent_process(self, task: dict, required_infos: dict |... method get_work_result_agent (line 250) | def get_work_result_agent(self, task_needs, agents_work_result): method process (line 255) | async def process(self, goal: str, speech_module: Speech) -> Tuple[str... FILE: sources/browser.py function get_chrome_path (line 35) | def get_chrome_path() -> str: function get_random_user_agent (line 71) | def get_random_user_agent() -> str: function get_chromedriver_version (line 80) | def get_chromedriver_version(chromedriver_path: str) -> str: function is_chromedriver_compatible (line 92) | def is_chromedriver_compatible(chromedriver_path: str) -> bool: function install_chromedriver (line 106) | def install_chromedriver() -> str: function bypass_ssl (line 149) | def bypass_ssl() -> str: function create_chrome_options (line 156) | def create_chrome_options(headless=False, stealth_mode=True, crx_path=".... function create_undetected_chromedriver (line 230) | def create_undetected_chromedriver(service, chrome_options) -> webdriver... function create_driver (line 252) | def create_driver(headless=False, stealth_mode=True, crx_path="./crx/nop... class Browser (line 278) | class Browser: method __init__ (line 279) | def __init__(self, driver, anticaptcha_manual_install=False): method setup_tabs (line 296) | def setup_tabs(self): method switch_control_tab (line 305) | def switch_control_tab(self): method load_anticatpcha_manually (line 309) | def load_anticatpcha_manually(self): method human_move (line 317) | def human_move(element): method human_scroll (line 325) | def human_scroll(self): method patch_browser_fingerprint (line 334) | def patch_browser_fingerprint(self) -> None: method go_to (line 338) | def go_to(self, url:str) -> bool: method is_sentence (line 370) | def is_sentence(self, text:str) -> bool: method get_text (line 382) | def get_text(self) -> str | None: method clean_url (line 412) | def clean_url(self, url:str) -> str: method is_link_valid (line 429) | def is_link_valid(self, url:str) -> bool: method get_navigable (line 447) | def get_navigable(self) -> List[str]: method click_element (line 468) | def click_element(self, xpath: str) -> bool: method load_js (line 493) | def load_js(self, file_name: str) -> str: method find_all_inputs (line 505) | def find_all_inputs(self, timeout=3): method get_form_inputs (line 519) | def get_form_inputs(self) -> List[str]: method get_buttons_xpath (line 555) | def get_buttons_xpath(self) -> List[str]: method wait_for_submission_outcome (line 571) | def wait_for_submission_outcome(self, timeout: int = 10) -> bool: method find_and_click_btn (line 588) | def find_and_click_btn(self, btn_type: str = 'login', timeout: int = 5... method tick_all_checkboxes (line 618) | def tick_all_checkboxes(self) -> bool: method find_and_click_submission (line 657) | def find_and_click_submission(self, timeout: int = 10) -> bool: method find_input_xpath_by_name (line 668) | def find_input_xpath_by_name(self, inputs, name: str) -> str | None: method fill_form_inputs (line 674) | def fill_form_inputs(self, input_list: List[str]) -> bool: method fill_form (line 744) | def fill_form(self, input_list: List[str]) -> bool: method get_current_url (line 763) | def get_current_url(self) -> str: method get_page_title (line 767) | def get_page_title(self) -> str: method scroll_bottom (line 771) | def scroll_bottom(self) -> bool: method get_screenshot (line 784) | def get_screenshot(self) -> str: method screenshot (line 787) | def screenshot(self, filename:str = 'updated_screen.png') -> bool: method apply_web_safety (line 807) | def apply_web_safety(self): FILE: sources/interaction.py class Interaction (line 11) | class Interaction: method __init__ (line 15) | def __init__(self, agents, method get_spoken_language (line 45) | def get_spoken_language(self) -> str: method initialize_tts (line 50) | def initialize_tts(self): method initialize_stt (line 56) | def initialize_stt(self): method emit_status (line 63) | def emit_status(self): method find_ai_name (line 71) | def find_ai_name(self) -> str: method get_last_blocks_result (line 80) | def get_last_blocks_result(self) -> List[Dict]: method load_last_session (line 89) | def load_last_session(self): method save_session (line 96) | def save_session(self): method is_active (line 101) | def is_active(self) -> bool: method read_stdin (line 104) | def read_stdin(self) -> str: method transcription_job (line 118) | def transcription_job(self) -> str: method get_user (line 131) | def get_user(self) -> str: method set_query (line 144) | def set_query(self, query: str) -> None: method think (line 149) | async def think(self) -> bool: method get_updated_process_answer (line 171) | def get_updated_process_answer(self) -> str: method get_updated_block_answer (line 177) | def get_updated_block_answer(self) -> str: method speak_answer (line 183) | def speak_answer(self) -> None: method show_answer (line 193) | def show_answer(self) -> None: FILE: sources/language.py class LanguageUtility (line 9) | class LanguageUtility: method __init__ (line 11) | def __init__(self, supported_language: List[str] = ["en", "fr", "zh"]): method load_model (line 23) | def load_model(self) -> None: method detect_language (line 28) | def detect_language(self, text: str) -> str: method translate (line 41) | def translate(self, text: str, origin_lang: str) -> str: method analyze (line 60) | def analyze(self, text): FILE: sources/llm_provider.py class Provider (line 17) | class Provider: method __init__ (line 18) | def __init__(self, provider_name, model, server_address="127.0.0.1:500... method get_model_name (line 50) | def get_model_name(self) -> str: method get_api_key (line 53) | def get_api_key(self, provider): method get_internal_url (line 62) | def get_internal_url(self): method respond (line 69) | def respond(self, history, verbose=True): method is_ip_online (line 95) | def is_ip_online(self, address: str, timeout: int = 10) -> bool: method server_fn (line 119) | def server_fn(self, history, verbose=False): method ollama_fn (line 159) | def ollama_fn(self, history, verbose=False): method huggingface_fn (line 194) | def huggingface_fn(self, history, verbose=False): method openai_fn (line 210) | def openai_fn(self, history, verbose=False): method anthropic_fn (line 240) | def anthropic_fn(self, history, verbose=False): method google_fn (line 272) | def google_fn(self, history, verbose=False): method together_fn (line 295) | def together_fn(self, history, verbose=False): method deepseek_fn (line 318) | def deepseek_fn(self, history, verbose=False): method lm_studio_fn (line 338) | def lm_studio_fn(self, history, verbose=False): method openrouter_fn (line 393) | def openrouter_fn(self, history, verbose=False): method minimax_fn (line 416) | def minimax_fn(self, history, verbose=False): method dsk_deepseek (line 447) | def dsk_deepseek(self, history, verbose=False): method test_fn (line 483) | def test_fn(self, history, verbose=True): FILE: sources/logger.py class Logger (line 6) | class Logger: method __init__ (line 7) | def __init__(self, log_filename): method create_logging (line 17) | def create_logging(self, log_filename): method create_folder (line 28) | def create_folder(self, path): method log (line 38) | def log(self, message, level=logging.INFO): method info (line 45) | def info(self, message): method error (line 48) | def error(self, message): method warning (line 51) | def warning(self, message): FILE: sources/memory.py class Memory (line 18) | class Memory(): method __init__ (line 23) | def __init__(self, system_prompt: str, method get_ideal_ctx (line 46) | def get_ideal_ctx(self, model_name: str) -> int | None: method download_model (line 69) | def download_model(self): method get_filename (line 76) | def get_filename(self) -> str: method save_memory (line 80) | def save_memory(self, agent_type: str = "casual_agent") -> None: method find_last_session_path (line 95) | def find_last_session_path(self, path) -> str: method save_json_file (line 108) | def save_json_file(self, path: str, json_memory: dict) -> None: method load_json_file (line 117) | def load_json_file(self, path: str) -> dict: method load_memory (line 134) | def load_memory(self, agent_type: str = "casual_agent") -> None: method reset (line 154) | def reset(self, memory: list = []) -> None: method push (line 158) | def push(self, role: str, content: str) -> int: method clear (line 175) | def clear(self) -> None: method clear_section (line 180) | def clear_section(self, start: int, end: int) -> None: method get (line 192) | def get(self) -> list: method get_cuda_device (line 195) | def get_cuda_device(self) -> str: method summarize (line 203) | def summarize(self, text: str, min_length: int = 64) -> str: method compress (line 235) | def compress(self) -> str: method trim_text_to_max_ctx (line 248) | def trim_text_to_max_ctx(self, text: str) -> str: method compress_text_to_max_ctx (line 256) | def compress_text_to_max_ctx(self, text) -> str: FILE: sources/router.py class AgentRouter (line 19) | class AgentRouter: method __init__ (line 23) | def __init__(self, agents: list, supported_language: List[str] = ["en"... method load_pipelines (line 34) | def load_pipelines(self) -> Dict[str, Type[pipeline]]: method load_llm_router (line 45) | def load_llm_router(self) -> AdaptiveClassifier: method get_device (line 61) | def get_device(self) -> str: method learn_few_shots_complexity (line 69) | def learn_few_shots_complexity(self) -> None: method learn_few_shots_tasks (line 203) | def learn_few_shots_tasks(self) -> None: method llm_router (line 359) | def llm_router(self, text: str) -> tuple: method router_vote (line 370) | def router_vote(self, text: str, labels: list, log_confidence:bool = F... method find_first_sentence (line 392) | def find_first_sentence(self, text: str) -> str: method estimate_complexity (line 401) | def estimate_complexity(self, text: str) -> str: method find_planner_agent (line 428) | def find_planner_agent(self) -> Agent: method select_agent (line 441) | def select_agent(self, text: str) -> Agent: FILE: sources/schemas.py class QueryRequest (line 6) | class QueryRequest(BaseModel): method __str__ (line 10) | def __str__(self): method jsonify (line 13) | def jsonify(self): class QueryResponse (line 19) | class QueryResponse(BaseModel): method __str__ (line 29) | def __str__(self): method jsonify (line 32) | def jsonify(self): class executorResult (line 44) | class executorResult: method __init__ (line 48) | def __init__(self, block: str, feedback: str, success: bool, tool_type... method __str__ (line 63) | def __str__(self): method jsonify (line 66) | def jsonify(self): method show (line 74) | def show(self): FILE: sources/speech_to_text.py class AudioRecorder (line 22) | class AudioRecorder: method __init__ (line 26) | def __init__(self, format: int = pyaudio.paInt16, channels: int = 1, r... method _record (line 39) | def _record(self) -> None: method start (line 71) | def start(self) -> None: method join (line 77) | def join(self) -> None: class Transcript (line 83) | class Transcript: method __init__ (line 87) | def __init__(self): method get_device (line 112) | def get_device(self) -> str: method remove_hallucinations (line 122) | def remove_hallucinations(self, text: str) -> str: method transcript_job (line 130) | def transcript_job(self, audio_data: np.ndarray, sample_rate: int = 16... class AudioTranscriber (line 143) | class AudioTranscriber: method __init__ (line 147) | def __init__(self, ai_name: str, verbose: bool = False): method get_transcript (line 170) | def get_transcript(self) -> str: method _transcribe (line 177) | def _transcribe(self) -> None: method start (line 214) | def start(self): method join (line 220) | def join(self): FILE: sources/text_to_speech.py class Speech (line 23) | class Speech(): method __init__ (line 27) | def __init__(self, enable: bool = True, language: str = "en", voice_id... method create_voice_folder (line 49) | def create_voice_folder(self, path: str = ".voices") -> None: method speak (line 58) | def speak(self, sentence: str, voice_idx: int = 1): method replace_url (line 91) | def replace_url(self, url: re.Match) -> str: method extract_filename (line 104) | def extract_filename(self, m: re.Match) -> str: method shorten_paragraph (line 116) | def shorten_paragraph(self, sentence): method clean_sentence (line 134) | def clean_sentence(self, sentence): FILE: sources/tools/BashInterpreter.py class BashInterpreter (line 13) | class BashInterpreter(Tools): method __init__ (line 17) | def __init__(self): method language_bash_attempt (line 23) | def language_bash_attempt(self, command: str): method execute (line 35) | def execute(self, commands: str, safety=False, timeout=300): method interpreter_feedback (line 73) | def interpreter_feedback(self, output): method execution_failure_check (line 83) | def execution_failure_check(self, feedback): FILE: sources/tools/C_Interpreter.py class CInterpreter (line 11) | class CInterpreter(Tools): method __init__ (line 15) | def __init__(self): method execute (line 21) | def execute(self, codes: str, safety=False) -> str: method interpreter_feedback (line 72) | def interpreter_feedback(self, output: str) -> str: method execution_failure_check (line 82) | def execution_failure_check(self, feedback: str) -> bool: FILE: sources/tools/GoInterpreter.py class GoInterpreter (line 11) | class GoInterpreter(Tools): method __init__ (line 15) | def __init__(self): method execute (line 21) | def execute(self, codes: str, safety=False) -> str: method interpreter_feedback (line 73) | def interpreter_feedback(self, output: str) -> str: method execution_failure_check (line 83) | def execution_failure_check(self, feedback: str) -> bool: FILE: sources/tools/JavaInterpreter.py class JavaInterpreter (line 11) | class JavaInterpreter(Tools): method __init__ (line 15) | def __init__(self): method execute (line 21) | def execute(self, codes: str, safety=False) -> str: method interpreter_feedback (line 70) | def interpreter_feedback(self, output: str) -> str: method execution_failure_check (line 80) | def execution_failure_check(self, feedback: str) -> bool: FILE: sources/tools/PyInterpreter.py class PyInterpreter (line 12) | class PyInterpreter(Tools): method __init__ (line 16) | def __init__(self): method execute (line 22) | def execute(self, codes:str, safety = False) -> str: method interpreter_feedback (line 59) | def interpreter_feedback(self, output:str) -> str: method execution_failure_check (line 69) | def execution_failure_check(self, feedback:str) -> bool: FILE: sources/tools/fileFinder.py class FileFinder (line 11) | class FileFinder(Tools): method __init__ (line 15) | def __init__(self): method read_file (line 21) | def read_file(self, file_path: str) -> str: method read_arbitrary_file (line 35) | def read_arbitrary_file(self, file_path: str, file_type: str) -> str: method get_file_info (line 60) | def get_file_info(self, file_path: str) -> str: method recursive_search (line 86) | def recursive_search(self, directory_path: str, filename: str) -> str: method execute (line 109) | def execute(self, blocks: list, safety:bool = False) -> str: method execution_failure_check (line 146) | def execution_failure_check(self, output: str) -> bool: method interpreter_feedback (line 160) | def interpreter_feedback(self, output: str) -> str: FILE: sources/tools/flightSearch.py class FlightSearch (line 12) | class FlightSearch(Tools): method __init__ (line 13) | def __init__(self, api_key: str = None): method execute (line 23) | def execute(self, blocks: str, safety: bool = True) -> str: method execution_failure_check (line 76) | def execution_failure_check(self, output: str) -> bool: method interpreter_feedback (line 79) | def interpreter_feedback(self, output: str) -> str: FILE: sources/tools/mcpFinder.py class MCP_finder (line 11) | class MCP_finder(Tools): method __init__ (line 15) | def __init__(self, api_key: str = None): method _make_request (line 26) | def _make_request(self, method: str, endpoint: str, params: Optional[D... method list_mcp_servers (line 44) | def list_mcp_servers(self, page: int = 1, page_size: int = 5000) -> Di... method get_mcp_server_details (line 48) | def get_mcp_server_details(self, qualified_name: str) -> Dict[str, Any]: method find_mcp_servers (line 52) | def find_mcp_servers(self, query: str) -> Dict[str, Any]: method execute (line 69) | def execute(self, blocks: list, safety:bool = False) -> str: method execution_failure_check (line 96) | def execution_failure_check(self, output: str) -> bool: method interpreter_feedback (line 104) | def interpreter_feedback(self, output: str) -> str: FILE: sources/tools/safety.py function is_any_unsafe (line 69) | def is_any_unsafe(cmds): function is_unsafe (line 78) | def is_unsafe(cmd): FILE: sources/tools/searxSearch.py class searxSearch (line 10) | class searxSearch(Tools): method __init__ (line 11) | def __init__(self, base_url: str = None): method link_valid (line 27) | def link_valid(self, link): method check_all_links (line 51) | def check_all_links(self, links): method execute (line 60) | def execute(self, blocks: list, safety: bool = False) -> str: method execution_failure_check (line 100) | def execution_failure_check(self, output: str) -> bool: method interpreter_feedback (line 106) | def interpreter_feedback(self, output: str) -> str: FILE: sources/tools/tools.py class Tools (line 30) | class Tools(): method __init__ (line 34) | def __init__(self): method get_work_dir (line 47) | def get_work_dir(self): method set_allow_language_exec_bash (line 50) | def set_allow_language_exec_bash(self, value: bool) -> None: method safe_get_work_dir_path (line 53) | def safe_get_work_dir_path(self): method config_exists (line 62) | def config_exists(self): method create_work_dir (line 66) | def create_work_dir(self): method execute (line 77) | def execute(self, blocks:[str], safety:bool) -> str: method execution_failure_check (line 89) | def execution_failure_check(self, output:str) -> bool: method interpreter_feedback (line 100) | def interpreter_feedback(self, output:str) -> str: method save_block (line 110) | def save_block(self, blocks:[str], save_path:str) -> None: method get_parameter_value (line 131) | def get_parameter_value(self, block: str, parameter_name: str) -> str: method found_executable_blocks (line 146) | def found_executable_blocks(self): method load_exec_block (line 154) | def load_exec_block(self, llm_text: str): FILE: sources/tools/webSearch.py class webSearch (line 16) | class webSearch(Tools): method __init__ (line 17) | def __init__(self, api_key: str = None): method link_valid (line 28) | def link_valid(self, link): method check_all_links (line 51) | def check_all_links(self, links): method execute (line 60) | def execute(self, blocks: str, safety: bool = True) -> str: method execution_failure_check (line 102) | def execution_failure_check(self, output: str) -> bool: method interpreter_feedback (line 105) | def interpreter_feedback(self, output: str) -> str: FILE: sources/utility.py function get_color_map (line 12) | def get_color_map(): function pretty_print (line 35) | def pretty_print(text, color="info", no_newline=False): function animate_thinking (line 61) | def animate_thinking(text, color="status", duration=120): function timer_decorator (line 105) | def timer_decorator(func): FILE: sources/web_scripts/find_inputs.js function findInputs (line 1) | function findInputs(element, result = []) { function getXPath (line 54) | function getXPath(element) { function isElementDisplayed (line 74) | function isElementDisplayed(element) { FILE: sources/web_scripts/spoofing.js method constructor (line 12) | constructor(title, options = {}) { method close (line 18) | close() {} FILE: tests/test_browser_agent_parsing.py class TestBrowserAgentParsing (line 25) | class TestBrowserAgentParsing(unittest.TestCase): method setUp (line 26) | def setUp(self): method test_extract_links (line 34) | def test_extract_links(self): method test_extract_links_no_links (line 48) | def test_extract_links_no_links(self): method test_extract_links_single_link (line 53) | def test_extract_links_single_link(self): method test_extract_form (line 58) | def test_extract_form(self): method test_extract_form_empty (line 67) | def test_extract_form_empty(self): method test_extract_form_checkbox (line 72) | def test_extract_form_checkbox(self): method test_clean_links (line 78) | def test_clean_links(self): method test_clean_links_with_slash (line 94) | def test_clean_links_with_slash(self): method test_parse_answer (line 100) | def test_parse_answer(self): method test_parse_answer_extracts_links (line 110) | def test_parse_answer_extracts_links(self): method test_parse_answer_no_notes (line 117) | def test_parse_answer_no_notes(self): method test_select_link_unvisited (line 124) | def test_select_link_unvisited(self): method test_select_link_all_visited (line 132) | def test_select_link_all_visited(self): method test_select_link_empty (line 140) | def test_select_link_empty(self): method test_jsonify_search_results (line 145) | def test_jsonify_search_results(self): method test_jsonify_search_results_empty (line 160) | def test_jsonify_search_results_empty(self): method test_jsonify_search_results_partial (line 165) | def test_jsonify_search_results_partial(self): method test_stringify_search_results (line 174) | def test_stringify_search_results(self): method test_select_unvisited (line 185) | def test_select_unvisited(self): method test_select_unvisited_all_new (line 196) | def test_select_unvisited_all_new(self): FILE: tests/test_chromedriver_update.py class TestChromedriverVersionCheck (line 26) | class TestChromedriverVersionCheck(unittest.TestCase): method test_get_chromedriver_version_success (line 30) | def test_get_chromedriver_version_success(self, mock_run): method test_get_chromedriver_version_failure (line 38) | def test_get_chromedriver_version_failure(self, mock_run): method test_get_chromedriver_version_timeout (line 44) | def test_get_chromedriver_version_timeout(self, mock_run): method test_compatible_versions (line 52) | def test_compatible_versions(self, mock_driver_ver, mock_chrome_ver): method test_incompatible_versions (line 60) | def test_incompatible_versions(self, mock_driver_ver, mock_chrome_ver): method test_no_chrome_version_assumes_compatible (line 67) | def test_no_chrome_version_assumes_compatible(self, mock_chrome_ver): method test_no_driver_version_assumes_compatible (line 74) | def test_no_driver_version_assumes_compatible(self, mock_driver_ver, m... FILE: tests/test_logger.py class TestLogger (line 11) | class TestLogger(unittest.TestCase): method setUp (line 14) | def setUp(self): method tearDown (line 17) | def tearDown(self): method test_initialization (line 26) | def test_initialization(self): method test_log_creates_file (line 32) | def test_log_creates_file(self): method test_log_writes_message (line 37) | def test_log_writes_message(self): method test_log_deduplication (line 44) | def test_log_deduplication(self): method test_log_different_messages (line 52) | def test_log_different_messages(self): method test_error_level (line 61) | def test_error_level(self): method test_warning_level (line 69) | def test_warning_level(self): method test_create_folder (line 77) | def test_create_folder(self): method test_create_folder_already_exists (line 85) | def test_create_folder_already_exists(self): FILE: tests/test_memory.py class TestMemory (line 10) | class TestMemory(unittest.TestCase): method setUp (line 11) | def setUp(self): method tearDown (line 19) | def tearDown(self): method test_initialization (line 28) | def test_initialization(self): method test_get_filename (line 35) | def test_get_filename(self): method test_save_memory (line 41) | def test_save_memory(self): method test_push (line 48) | def test_push(self): method test_clear (line 55) | def test_clear(self): method test_clear_section (line 60) | def test_clear_section(self): method test_get (line 71) | def test_get(self): method test_reset (line 76) | def test_reset(self): method test_save_and_load_memory (line 82) | def test_save_and_load_memory(self): FILE: tests/test_minimax_provider.py class TestMiniMaxProvider (line 11) | class TestMiniMaxProvider(unittest.TestCase): method test_minimax_provider_registered (line 14) | def test_minimax_provider_registered(self): method test_minimax_in_unsafe_providers (line 20) | def test_minimax_in_unsafe_providers(self): method test_minimax_api_key_required (line 26) | def test_minimax_api_key_required(self): method test_minimax_local_not_supported (line 35) | def test_minimax_local_not_supported(self, mock_openai_class): method test_minimax_uses_correct_base_url (line 46) | def test_minimax_uses_correct_base_url(self, mock_openai_class): method test_minimax_custom_base_url (line 69) | def test_minimax_custom_base_url(self, mock_openai_class): method test_minimax_uses_temperature_one (line 89) | def test_minimax_uses_temperature_one(self, mock_openai_class): method test_minimax_returns_response_content (line 107) | def test_minimax_returns_response_content(self, mock_openai_class): method test_minimax_handles_empty_response (line 124) | def test_minimax_handles_empty_response(self, mock_openai_class): method test_minimax_handles_api_error (line 140) | def test_minimax_handles_api_error(self, mock_openai_class): class TestMiniMaxProviderModels (line 155) | class TestMiniMaxProviderModels(unittest.TestCase): method test_minimax_m25_model (line 160) | def test_minimax_m25_model(self, mock_openai_class): method test_minimax_m25_highspeed_model (line 178) | def test_minimax_m25_highspeed_model(self, mock_openai_class): FILE: tests/test_planner_agent_parsing.py class TestPlannerAgentParsing (line 27) | class TestPlannerAgentParsing(unittest.TestCase): method setUp (line 30) | def setUp(self): method test_parse_valid_json (line 42) | def test_parse_valid_json(self): method test_parse_malformed_json_returns_empty (line 53) | def test_parse_malformed_json_returns_empty(self): method test_parse_truncated_json_returns_empty (line 64) | def test_parse_truncated_json_returns_empty(self): method test_parse_no_blocks_returns_empty (line 75) | def test_parse_no_blocks_returns_empty(self): method test_parse_invalid_agent_returns_empty (line 84) | def test_parse_invalid_agent_returns_empty(self): method test_parse_multiple_tasks (line 94) | def test_parse_multiple_tasks(self): FILE: tests/test_provider.py class TestIsIpOnline (line 13) | class TestIsIpOnline(unittest.TestCase): method setUp (line 14) | def setUp(self): method test_empty_address (line 17) | def test_empty_address(self): method test_localhost (line 22) | def test_localhost(self): method test_google_ips (line 37) | def test_google_ips(self): method test_unresolvable_hostname (line 54) | def test_unresolvable_hostname(self): method test_valid_domain (line 61) | def test_valid_domain(self): FILE: tests/test_searx_search.py class TestSearxSearch (line 11) | class TestSearxSearch(unittest.TestCase): method setUp (line 13) | def setUp(self): method test_initialization_with_env_variable (line 20) | def test_initialization_with_env_variable(self): method test_initialization_no_base_url (line 27) | def test_initialization_no_base_url(self): method test_execute_valid_query (line 37) | def test_execute_valid_query(self): method test_execute_empty_query (line 44) | def test_execute_empty_query(self): method test_execute_no_query (line 50) | def test_execute_no_query(self): method test_execute_request_exception (line 56) | def test_execute_request_exception(self): method test_execute_no_results (line 67) | def test_execute_no_results(self): method test_execution_failure_check_error (line 76) | def test_execution_failure_check_error(self): method test_execution_failure_check_no_error (line 81) | def test_execution_failure_check_no_error(self): FILE: tests/test_tools_parsing.py class TestToolsParsing (line 8) | class TestToolsParsing(unittest.TestCase): method setUp (line 14) | def setUp(self): method test_load_exec_block_single_block (line 29) | def test_load_exec_block_single_block(self): method test_load_exec_block_multiple_blocks (line 45) | def test_load_exec_block_multiple_blocks(self): method test_load_exec_block_with_save_path (line 69) | def test_load_exec_block_with_save_path(self): method test_load_exec_block_with_indentation (line 85) | def test_load_exec_block_with_indentation(self): method test_load_exec_block_no_blocks (line 102) | def test_load_exec_block_no_blocks(self): method test_load_exec_block_wrong_tag (line 113) | def test_load_exec_block_wrong_tag(self): method test_load_exec_block_incomplete_block (line 124) | def test_load_exec_block_incomplete_block(self): method test_load_exec_block_empty_block (line 135) | def test_load_exec_block_empty_block(self): method test_load_exec_block_mixed_content (line 146) | def test_load_exec_block_mixed_content(self): method test_load_exec_block_with_special_characters (line 178) | def test_load_exec_block_with_special_characters(self): method test_load_exec_block_tag_undefined (line 193) | def test_load_exec_block_tag_undefined(self): method test_found_executable_blocks_flag (line 203) | def test_found_executable_blocks_flag(self): method test_get_parameter_value (line 217) | def test_get_parameter_value(self): FILE: tests/test_utility.py class TestUtility (line 9) | class TestUtility(unittest.TestCase): method test_get_color_map_returns_dict (line 12) | def test_get_color_map_returns_dict(self): method test_get_color_map_has_required_keys (line 17) | def test_get_color_map_has_required_keys(self): method test_get_color_map_values_are_strings (line 24) | def test_get_color_map_values_are_strings(self): method test_success_is_green (line 30) | def test_success_is_green(self): method test_failure_is_red (line 35) | def test_failure_is_red(self):