SYMBOL INDEX (156 symbols across 22 files) FILE: Claude-Eng-v2/main.py function is_installed (line 60) | def is_installed(lib_name): function text_chunker (line 63) | async def text_chunker(text: str) -> AsyncIterable[str]: function stream_audio (line 81) | async def stream_audio(audio_stream): function text_to_speech (line 109) | async def text_to_speech(text): function initialize_speech_recognition (line 171) | def initialize_speech_recognition(): function voice_input (line 182) | async def voice_input(max_retries=3): function cleanup_speech_recognition (line 220) | def cleanup_speech_recognition(): function process_voice_command (line 226) | def process_voice_command(command): function get_user_input (line 239) | async def get_user_input(prompt="You: "): function setup_virtual_environment (line 246) | def setup_virtual_environment() -> Tuple[str, str]: function update_system_prompt (line 511) | def update_system_prompt(current_iteration: Optional[int] = None, max_it... function create_folders (line 537) | def create_folders(paths): function create_files (line 548) | def create_files(files): function generate_edit_instructions (line 590) | async def generate_edit_instructions(file_path, file_content, instructio... function validate_ai_response (line 725) | def validate_ai_response(response_text): function parse_search_replace_blocks (line 750) | def parse_search_replace_blocks(response_text, use_fuzzy=USE_FUZZY_SEARCH): function edit_and_apply_multiple (line 790) | async def edit_and_apply_multiple(files, project_context, is_automode=Fa... function apply_edits (line 890) | async def apply_edits(file_path, edit_instructions, original_content): function highlight_diff (line 960) | def highlight_diff(diff_text): function generate_diff (line 964) | def generate_diff(original, new, path): function execute_code (line 979) | async def execute_code(code, timeout=10): function read_multiple_files (line 1042) | def read_multiple_files(paths, recursive=False): function list_files (line 1078) | def list_files(path="."): function tavily_search (line 1085) | def tavily_search(query): function stop_process (line 1092) | def stop_process(process_id): function run_shell_command (line 1105) | def run_shell_command(command): function validate_files_structure (line 1125) | def validate_files_structure(files): function scan_folder (line 1142) | def scan_folder(folder_path: str, output_file: str) -> str: function encode_image_to_base64 (line 1188) | def encode_image_to_base64(image_path): function send_to_ai_for_executing (line 1202) | async def send_to_ai_for_executing(code, execution_result): function save_chat (line 1258) | def save_chat(): function decide_retry (line 1497) | async def decide_retry(tool_checker_response, edit_results, tool_input): function execute_tool (line 1569) | async def execute_tool(tool_name: str, tool_input: Dict[str, Any]) -> Di... function chat_with_claude (line 1681) | async def chat_with_claude(user_input, image_path=None, current_iteratio... function reset_code_editor_memory (line 1947) | def reset_code_editor_memory(): function reset_conversation (line 1953) | def reset_conversation(): function display_token_usage (line 1966) | def display_token_usage(): function test_voice_mode (line 2053) | async def test_voice_mode(): function main (line 2078) | async def main(): FILE: Claude-Eng-v2/ollama-eng.py function get_user_input (line 21) | async def get_user_input(prompt="You: "): function update_system_prompt (line 178) | def update_system_prompt(current_iteration: Optional[int] = None, max_it... function create_folder (line 198) | def create_folder(path): function create_file (line 205) | def create_file(path, content=""): function highlight_diff (line 215) | def highlight_diff(diff_text): function generate_and_apply_diff (line 218) | def generate_and_apply_diff(original_content, new_content, path): function generate_edit_instructions (line 265) | async def generate_edit_instructions(file_path, file_content, instructio... function parse_search_replace_blocks (line 352) | def parse_search_replace_blocks(response_text): function edit_and_apply (line 366) | async def edit_and_apply(path, instructions, project_context, is_automod... function apply_edits (line 411) | async def apply_edits(file_path, edit_instructions, original_content): function generate_diff (line 461) | def generate_diff(original, new, path): function read_file (line 475) | def read_file(path): function read_multiple_files (line 485) | def read_multiple_files(paths): function list_files (line 498) | def list_files(path="."): function tavily_search (line 505) | def tavily_search(query): function execute_tool (line 650) | async def execute_tool(tool_call: Dict[str, Any]) -> Dict[str, Any]: function parse_goals (line 716) | def parse_goals(response): function execute_goals (line 720) | async def execute_goals(goals): function run_goals (line 730) | async def run_goals(response): function save_chat (line 735) | def save_chat(): function chat_with_ollama (line 767) | async def chat_with_ollama(user_input, image_path=None, current_iteratio... function reset_code_editor_memory (line 925) | def reset_code_editor_memory(): function reset_conversation (line 931) | def reset_conversation(): function main (line 942) | async def main(): FILE: app.py function home (line 19) | def home(): function chat (line 23) | def chat(): function upload_file (line 92) | def upload_file(): function reset (line 124) | def reset(): FILE: ce3.py class Assistant (line 29) | class Assistant: method __init__ (line 39) | def __init__(self): method _execute_uv_install (line 55) | def _execute_uv_install(self, package_name: str) -> bool: method _load_tools (line 75) | def _load_tools(self) -> List[Dict[str, Any]]: method _parse_missing_dependency (line 130) | def _parse_missing_dependency(self, error_str: str) -> str: method _extract_tools_from_module (line 141) | def _extract_tools_from_module(self, module, tools: List[Dict[str, Any... method refresh_tools (line 159) | def refresh_tools(self): method display_available_tools (line 179) | def display_available_tools(self): method _display_tool_usage (line 192) | def _display_tool_usage(self, tool_name: str, input_data: Dict, result... method _clean_data_for_display (line 218) | def _clean_data_for_display(self, data): method _clean_parsed_data (line 238) | def _clean_parsed_data(self, data): method _execute_tool (line 261) | def _execute_tool(self, tool_use): method _find_tool_instance_in_module (line 294) | def _find_tool_instance_in_module(self, module, tool_name: str): method _display_token_usage (line 305) | def _display_token_usage(self, usage): method _get_completion (line 332) | def _get_completion(self): method chat (line 418) | def chat(self, user_input): method reset (line 455) | def reset(self): function main (line 476) | def main(): FILE: config.py class Config (line 7) | class Config: FILE: prompts/system_prompts.py class SystemPrompts (line 1) | class SystemPrompts: FILE: static/js/chat.js function appendMessage (line 11) | function appendMessage(content, isUser = false) { function appendThinkingIndicator (line 91) | function appendThinkingIndicator() { function appendToolUsage (line 131) | function appendToolUsage(toolName) { function updateTokenUsage (line 161) | function updateTokenUsage(usedTokens, maxTokens) { function resetTextarea (line 257) | function resetTextarea() { FILE: test.py function calculate_sum (line 4) | def calculate_sum(numbers: List[float]) -> float: function calculate_median (line 21) | def calculate_median(numbers: List[float]) -> float: function main (line 46) | def main() -> None: class TestCalculateSum (line 57) | class TestCalculateSum(unittest.TestCase): method test_normal_list (line 60) | def test_normal_list(self): method test_float_numbers (line 64) | def test_float_numbers(self): method test_empty_list (line 68) | def test_empty_list(self): method test_negative_numbers (line 73) | def test_negative_numbers(self): class TestCalculateMedian (line 77) | class TestCalculateMedian(unittest.TestCase): method test_odd_length_list (line 80) | def test_odd_length_list(self): method test_even_length_list (line 84) | def test_even_length_list(self): method test_unordered_list (line 88) | def test_unordered_list(self): method test_empty_list (line 92) | def test_empty_list(self): method test_negative_numbers (line 97) | def test_negative_numbers(self): FILE: tools/base.py class BaseTool (line 4) | class BaseTool(ABC): method name (line 7) | def name(self) -> str: method description (line 13) | def description(self) -> str: method input_schema (line 19) | def input_schema(self) -> Dict: method execute (line 24) | def execute(self, **kwargs) -> str: FILE: tools/browsertool.py class BrowserTool (line 7) | class BrowserTool(BaseTool): method _validate_url (line 27) | def _validate_url(self, url: str) -> bool: method execute (line 35) | def execute(self, **kwargs) -> str: FILE: tools/createfolderstool.py class CreateFoldersTool (line 6) | class CreateFoldersTool(BaseTool): method execute (line 28) | def execute(self, **kwargs) -> str: FILE: tools/diffeditortool.py class DiffEditorTool (line 5) | class DiffEditorTool(BaseTool): method execute (line 41) | def execute(self, **kwargs) -> str: FILE: tools/duckduckgotool.py class DuckduckgoTool (line 6) | class DuckduckgoTool(BaseTool): method execute (line 29) | def execute(self, **kwargs) -> str: FILE: tools/e2bcodetool.py class E2bCodeTool (line 9) | class E2bCodeTool(BaseTool): method execute (line 54) | def execute(self, **kwargs) -> str: FILE: tools/filecontentreadertool.py class FileContentReaderTool (line 6) | class FileContentReaderTool(BaseTool): method _should_skip (line 56) | def _should_skip(self, path: str) -> bool: method _read_file (line 77) | def _read_file(self, file_path: str) -> str: method _read_directory (line 98) | def _read_directory(self, dir_path: str) -> dict: method execute (line 119) | def execute(self, **kwargs) -> str: FILE: tools/filecreatortool.py class FileCreatorTool (line 7) | class FileCreatorTool(BaseTool): method execute (line 102) | def execute(self, **kwargs) -> str: FILE: tools/fileedittool.py class FileEditTool (line 5) | class FileEditTool(BaseTool): method execute (line 29) | def execute(self, **kwargs) -> str: method _edit_by_lines (line 65) | def _edit_by_lines(self, lines: list, start_line: int, end_line: int, ... method _find_and_replace (line 72) | def _find_and_replace(self, content: str, pattern: str, replacement: s... FILE: tools/lintingtool.py class LintingTool (line 6) | class LintingTool(BaseTool): method execute (line 66) | def execute(self, **kwargs) -> str: FILE: tools/screenshottool.py class ScreenshotTool (line 15) | class ScreenshotTool(BaseTool): method execute (line 53) | def execute(self, **kwargs) -> Any: FILE: tools/toolcreator.py class ToolCreatorTool (line 12) | class ToolCreatorTool(BaseTool): method __init__ (line 31) | def __init__(self): method _sanitize_filename (line 36) | def _sanitize_filename(self, name: str) -> str: method _validate_tool_name (line 40) | def _validate_tool_name(self, name: str) -> bool: method execute (line 44) | def execute(self, **kwargs) -> str: FILE: tools/uvpackagemanager.py class UVPackageManager (line 8) | class UVPackageManager(BaseTool): method execute (line 47) | def execute(self, **kwargs) -> str: method _run_uv_command (line 80) | def _run_uv_command(self, args: List[str]) -> str: method _install_packages (line 92) | def _install_packages(self, packages: List[str], requirements_file: Op... method _remove_packages (line 102) | def _remove_packages(self, packages: List[str]) -> str: method _update_packages (line 105) | def _update_packages(self, packages: List[str]) -> str: method _list_packages (line 111) | def _list_packages(self) -> str: method _init_project (line 114) | def _init_project(self, project_path: str) -> str: method _create_venv (line 117) | def _create_venv(self, path: str, python_version: Optional[str]) -> str: method _manage_python (line 124) | def _manage_python(self, version: Optional[str]) -> str: method _compile_requirements (line 129) | def _compile_requirements(self) -> str: method _run_script (line 132) | def _run_script(self, script: str, packages: List[str]) -> str: FILE: tools/webscrapertool.py class WebScraperTool (line 6) | class WebScraperTool(BaseTool): method execute (line 26) | def execute(self, **kwargs) -> str: