SYMBOL INDEX (325 symbols across 46 files) FILE: devika.py function test_connect (line 54) | def test_connect(data): function data (line 61) | def data(): function get_messages (line 69) | def get_messages(): function handle_message (line 78) | def handle_message(data): function is_agent_active (line 107) | def is_agent_active(): function get_agent_state (line 116) | def get_agent_state(): function browser_snapshot (line 125) | def browser_snapshot(): function get_browser_session (line 132) | def get_browser_session(): function get_terminal_session (line 144) | def get_terminal_session(): function run_code (line 156) | def run_code(): function calculate_tokens (line 166) | def calculate_tokens(): function token_usage (line 175) | def token_usage(): function real_time_logs (line 182) | def real_time_logs(): function set_settings (line 189) | def set_settings(): function get_settings (line 197) | def get_settings(): function status (line 204) | def status(): FILE: src/agents/action/action.py class Action (line 11) | class Action: method __init__ (line 12) | def __init__(self, base_model: str): method render (line 18) | def render( method validate_response (line 28) | def validate_response(self, response: str): method execute (line 35) | def execute(self, conversation: list, project_name: str) -> str: FILE: src/agents/agent.py class Agent (line 36) | class Agent: method __init__ (line 37) | def __init__(self, base_model: str, search_engine: str, browser: Brows... method open_page (line 69) | async def open_page(self, project_name, url): method search_queries (line 79) | def search_queries(self, queries: list, project_name: str) -> dict: method update_contextual_keywords (line 118) | def update_contextual_keywords(self, sentence: str): method make_decision (line 128) | def make_decision(self, prompt: str, project_name: str) -> str: method subsequent_execute (line 179) | def subsequent_execute(self, prompt: str, project_name: str): method execute (line 270) | def execute(self, prompt: str, project_name: str) -> str: FILE: src/agents/answer/answer.py class Answer (line 11) | class Answer: method __init__ (line 12) | def __init__(self, base_model: str): method render (line 18) | def render( method validate_response (line 29) | def validate_response(self, response: str): method execute (line 36) | def execute(self, conversation: list, code_markdown: str, project_name... FILE: src/agents/coder/coder.py class Coder (line 16) | class Coder: method __init__ (line 17) | def __init__(self, base_model: str): method render (line 23) | def render( method validate_response (line 34) | def validate_response(self, response: str) -> Union[List[Dict[str, str... method save_code_to_project (line 68) | def save_code_to_project(self, response: List[Dict[str, str]], project... method get_project_path (line 82) | def get_project_path(self, project_name: str): method response_to_markdown_prompt (line 86) | def response_to_markdown_prompt(self, response: List[Dict[str, str]]) ... method emulate_code_writing (line 90) | def emulate_code_writing(self, code_set: list, project_name: str): method execute (line 115) | def execute( FILE: src/agents/decision/decision.py class Decision (line 10) | class Decision: method __init__ (line 11) | def __init__(self, base_model: str): method render (line 14) | def render(self, prompt: str) -> str: method validate_response (line 20) | def validate_response(self, response: str): method execute (line 28) | def execute(self, prompt: str, project_name: str) -> str: FILE: src/agents/feature/feature.py class Feature (line 16) | class Feature: method __init__ (line 17) | def __init__(self, base_model: str): method render (line 23) | def render( method validate_response (line 37) | def validate_response(self, response: str) -> Union[List[Dict[str, str... method save_code_to_project (line 66) | def save_code_to_project(self, response: List[Dict[str, str]], project... method get_project_path (line 80) | def get_project_path(self, project_name: str): method response_to_markdown_prompt (line 84) | def response_to_markdown_prompt(self, response: List[Dict[str, str]]) ... method emulate_code_writing (line 88) | def emulate_code_writing(self, code_set: list, project_name: str): method execute (line 111) | def execute( FILE: src/agents/formatter/formatter.py class Formatter (line 7) | class Formatter: method __init__ (line 8) | def __init__(self, base_model: str): method render (line 11) | def render(self, raw_text: str) -> str: method validate_response (line 16) | def validate_response(self, response: str) -> bool: method execute (line 19) | def execute(self, raw_text: str, project_name: str) -> str: FILE: src/agents/internal_monologue/internal_monologue.py class InternalMonologue (line 10) | class InternalMonologue: method __init__ (line 11) | def __init__(self, base_model: str): method render (line 14) | def render(self, current_prompt: str) -> str: method validate_response (line 20) | def validate_response(self, response: str): method execute (line 29) | def execute(self, current_prompt: str, project_name: str) -> str: FILE: src/agents/patcher/patcher.py class Patcher (line 15) | class Patcher: method __init__ (line 16) | def __init__(self, base_model: str): method render (line 22) | def render( method validate_response (line 40) | def validate_response(self, response: str) -> Union[List[Dict[str, str... method save_code_to_project (line 69) | def save_code_to_project(self, response: List[Dict[str, str]], project... method get_project_path (line 82) | def get_project_path(self, project_name: str): method response_to_markdown_prompt (line 86) | def response_to_markdown_prompt(self, response: List[Dict[str, str]]) ... method emulate_code_writing (line 90) | def emulate_code_writing(self, code_set: list, project_name: str): method execute (line 113) | def execute( FILE: src/agents/planner/planner.py class Planner (line 7) | class Planner: method __init__ (line 8) | def __init__(self, base_model: str): method render (line 11) | def render(self, prompt: str) -> str: method validate_response (line 16) | def validate_response(self, response: str) -> bool: method parse_response (line 19) | def parse_response(self, response: str): method execute (line 68) | def execute(self, prompt: str, project_name: str) -> str: FILE: src/agents/reporter/reporter.py class Reporter (line 10) | class Reporter: method __init__ (line 11) | def __init__(self, base_model: str): method render (line 14) | def render(self, conversation: list, code_markdown: str) -> str: method validate_response (line 22) | def validate_response(self, response: str): method execute (line 31) | def execute(self, FILE: src/agents/researcher/researcher.py class Researcher (line 13) | class Researcher: method __init__ (line 14) | def __init__(self, base_model: str): method render (line 18) | def render(self, step_by_step_plan: str, contextual_keywords: str) -> ... method validate_response (line 27) | def validate_response(self, response: str) -> dict | bool: method execute (line 38) | def execute(self, step_by_step_plan: str, contextual_keywords: List[st... FILE: src/agents/runner/runner.py class Runner (line 18) | class Runner: method __init__ (line 19) | def __init__(self, base_model: str): method render (line 23) | def render( method render_rerunner (line 37) | def render_rerunner( method validate_response (line 56) | def validate_response(self, response: str): method validate_rerunner_response (line 63) | def validate_rerunner_response(self, response: str): method run_code (line 70) | def run_code( method execute (line 200) | def execute( FILE: src/apis/project.py function project_files (line 20) | def project_files(): function create_project (line 27) | def create_project(): function delete_project (line 36) | def delete_project(): function download_project (line 46) | def download_project(): function download_project_pdf (line 55) | def download_project_pdf(): FILE: src/bert/sentence.py class SentenceBert (line 3) | class SentenceBert: method __init__ (line 4) | def __init__(self, sentence: str): method extract_keywords (line 8) | def extract_keywords(self, top_n: int = 5) -> list: FILE: src/browser/browser.py class Browser (line 14) | class Browser: method __init__ (line 15) | def __init__(self): method start (line 21) | async def start(self): method go_to (line 30) | async def go_to(self, url): method screenshot (line 39) | async def screenshot(self, project_name): method get_html (line 60) | def get_html(self): method get_markdown (line 63) | def get_markdown(self): method get_pdf (line 66) | def get_pdf(self): method pdf_to_text (line 77) | def pdf_to_text(self, pdf_path): method get_content (line 80) | def get_content(self): method extract_text (line 84) | def extract_text(self): method close (line 87) | async def close(self): FILE: src/browser/interaction.py class Crawler (line 157) | class Crawler: method __init__ (line 158) | def __init__(self): method screenshot (line 170) | def screenshot(self, project_name): method go_to_page (line 190) | def go_to_page(self, url): method scroll (line 195) | def scroll(self, direction): method click (line 205) | def click(self, id): method type (line 224) | def type(self, id, text): method enter (line 228) | def enter(self): method crawl (line 231) | def crawl(self): function start_interaction (line 485) | def start_interaction(model_id, objective, project_name): FILE: src/browser/search.py class BingSearch (line 10) | class BingSearch: method __init__ (line 11) | def __init__(self): method search (line 17) | def search(self, query): method get_first_link (line 29) | def get_first_link(self): class GoogleSearch (line 33) | class GoogleSearch: method __init__ (line 34) | def __init__(self): method search (line 41) | def search(self, query): method get_first_link (line 55) | def get_first_link(self): class DuckDuckGoSearch (line 86) | class DuckDuckGoSearch: method __init__ (line 93) | def __init__(self): method _get_url (line 99) | def _get_url(self, method, url, data): method duck (line 112) | def duck(self, query): method search (line 135) | def search(self, query): method get_first_link (line 138) | def get_first_link(self): method extract_vqd (line 142) | def extract_vqd(html_bytes: bytes) -> str: method text_extract_json (line 153) | def text_extract_json(html_bytes): method normalize_url (line 162) | def normalize_url(url: str) -> str: method normalize (line 166) | def normalize(raw_html: str) -> str: FILE: src/config.py class Config (line 5) | class Config: method __new__ (line 8) | def __new__(cls): method _load_config (line 14) | def _load_config(self): method get_config (line 42) | def get_config(self): method get_bing_api_endpoint (line 45) | def get_bing_api_endpoint(self): method get_bing_api_key (line 48) | def get_bing_api_key(self): method get_google_search_api_key (line 51) | def get_google_search_api_key(self): method get_google_search_engine_id (line 54) | def get_google_search_engine_id(self): method get_google_search_api_endpoint (line 57) | def get_google_search_api_endpoint(self): method get_ollama_api_endpoint (line 60) | def get_ollama_api_endpoint(self): method get_lmstudio_api_endpoint (line 63) | def get_lmstudio_api_endpoint(self): method get_claude_api_key (line 66) | def get_claude_api_key(self): method get_openai_api_key (line 69) | def get_openai_api_key(self): method get_openai_api_base_url (line 72) | def get_openai_api_base_url(self): method get_gemini_api_key (line 75) | def get_gemini_api_key(self): method get_mistral_api_key (line 78) | def get_mistral_api_key(self): method get_groq_api_key (line 81) | def get_groq_api_key(self): method get_netlify_api_key (line 84) | def get_netlify_api_key(self): method get_sqlite_db (line 87) | def get_sqlite_db(self): method get_screenshots_dir (line 90) | def get_screenshots_dir(self): method get_pdfs_dir (line 93) | def get_pdfs_dir(self): method get_projects_dir (line 96) | def get_projects_dir(self): method get_logs_dir (line 99) | def get_logs_dir(self): method get_repos_dir (line 102) | def get_repos_dir(self): method get_logging_rest_api (line 105) | def get_logging_rest_api(self): method get_logging_prompts (line 108) | def get_logging_prompts(self): method get_timeout_inference (line 111) | def get_timeout_inference(self): method set_bing_api_key (line 114) | def set_bing_api_key(self, key): method set_bing_api_endpoint (line 118) | def set_bing_api_endpoint(self, endpoint): method set_google_search_api_key (line 122) | def set_google_search_api_key(self, key): method set_google_search_engine_id (line 126) | def set_google_search_engine_id(self, key): method set_google_search_api_endpoint (line 130) | def set_google_search_api_endpoint(self, endpoint): method set_ollama_api_endpoint (line 134) | def set_ollama_api_endpoint(self, endpoint): method set_lmstudio_api_endpoint (line 138) | def set_lmstudio_api_endpoint(self, endpoint): method set_claude_api_key (line 142) | def set_claude_api_key(self, key): method set_openai_api_key (line 146) | def set_openai_api_key(self, key): method set_openai_api_endpoint (line 150) | def set_openai_api_endpoint(self,endpoint): method set_gemini_api_key (line 154) | def set_gemini_api_key(self, key): method set_mistral_api_key (line 158) | def set_mistral_api_key(self, key): method set_groq_api_key (line 162) | def set_groq_api_key(self, key): method set_netlify_api_key (line 166) | def set_netlify_api_key(self, key): method set_logging_rest_api (line 170) | def set_logging_rest_api(self, value): method set_logging_prompts (line 174) | def set_logging_prompts(self, value): method set_timeout_inference (line 178) | def set_timeout_inference(self, value): method save_config (line 182) | def save_config(self): method update_config (line 186) | def update_config(self, data): FILE: src/documenter/pdf.py class PDF (line 8) | class PDF: method __init__ (line 9) | def __init__(self): method markdown_to_pdf (line 13) | def markdown_to_pdf(self, markdown_string, project_name): FILE: src/filesystem/read_code.py class ReadCode (line 9) | class ReadCode: method __init__ (line 10) | def __init__(self, project_name: str): method read_directory (line 15) | def read_directory(self): method code_set_to_markdown (line 28) | def code_set_to_markdown(self): FILE: src/init.py function init_devika (line 6) | def init_devika(): FILE: src/llm/claude_client.py class Claude (line 5) | class Claude: method __init__ (line 6) | def __init__(self): method inference (line 13) | def inference(self, model_id: str, prompt: str) -> str: FILE: src/llm/gemini_client.py class Gemini (line 6) | class Gemini: method __init__ (line 7) | def __init__(self): method inference (line 12) | def inference(self, model_id: str, prompt: str) -> str: FILE: src/llm/groq_client.py class Groq (line 6) | class Groq: method __init__ (line 7) | def __init__(self): method inference (line 12) | def inference(self, model_id: str, prompt: str) -> str: FILE: src/llm/llm.py class LLM (line 28) | class LLM: method __init__ (line 29) | def __init__(self, model_id: str = None): method list_models (line 73) | def list_models(self) -> dict: method model_enum (line 76) | def model_enum(self, model_name: str) -> Tuple[str, str]: method update_global_token_usage (line 85) | def update_global_token_usage(string: str, project_name: str): method inference (line 92) | def inference(self, prompt: str, project_name: str) -> str: FILE: src/llm/lm_studio_client.py class LMStudio (line 8) | class LMStudio: method __init__ (line 9) | def __init__(self): method inference (line 20) | def inference(self, model_id: str, prompt: str) -> str: FILE: src/llm/mistral_client.py class MistralAi (line 7) | class MistralAi: method __init__ (line 8) | def __init__(self): method inference (line 13) | def inference(self, model_id: str, prompt: str) -> str: FILE: src/llm/ollama_client.py class Ollama (line 8) | class Ollama: method __init__ (line 9) | def __init__(self): method inference (line 19) | def inference(self, model_id: str, prompt: str) -> str: FILE: src/llm/openai_client.py class OpenAi (line 6) | class OpenAi: method __init__ (line 7) | def __init__(self): method inference (line 13) | def inference(self, model_id: str, prompt: str) -> str: FILE: src/logger.py class Logger (line 9) | class Logger: method __init__ (line 10) | def __init__(self, filename="devika_agent.log"): method read_log_file (line 15) | def read_log_file(self) -> str: method info (line 19) | def info(self, message: str): method error (line 23) | def error(self, message: str): method warning (line 27) | def warning(self, message: str): method debug (line 31) | def debug(self, message: str): method exception (line 35) | def exception(self, message: str): function route_logger (line 40) | def route_logger(logger: Logger): FILE: src/memory/knowledge_base.py class Knowledge (line 10) | class Knowledge(SQLModel, table=True): class KnowledgeBase (line 15) | class KnowledgeBase: method __init__ (line 16) | def __init__(self): method add_knowledge (line 22) | def add_knowledge(self, tag: str, contents: str): method get_knowledge (line 28) | def get_knowledge(self, tag: str) -> str: FILE: src/project.py class Projects (line 11) | class Projects(SQLModel, table=True): class ProjectManager (line 17) | class ProjectManager: method __init__ (line 18) | def __init__(self): method new_message (line 25) | def new_message(self): method create_project (line 34) | def create_project(self, project: str): method delete_project (line 40) | def delete_project(self, project: str): method add_message_to_project (line 47) | def add_message_to_project(self, project: str, message: dict): method add_message_from_devika (line 61) | def add_message_from_devika(self, project: str, message: str): method add_message_from_user (line 67) | def add_message_from_user(self, project: str, message: str): method get_messages (line 74) | def get_messages(self, project: str): method get_latest_message_from_user (line 81) | def get_latest_message_from_user(self, project: str): method validate_last_message_is_from_user (line 91) | def validate_last_message_is_from_user(self, project: str): method get_latest_message_from_devika (line 100) | def get_latest_message_from_devika(self, project: str): method get_project_list (line 110) | def get_project_list(self): method get_all_messages_formatted (line 115) | def get_all_messages_formatted(self, project: str): method get_project_path (line 130) | def get_project_path(self, project: str): method project_to_zip (line 133) | def project_to_zip(self, project: str): method get_zip_path (line 145) | def get_zip_path(self, project: str): method get_project_files (line 148) | def get_project_files(self, project_name: str): FILE: src/services/git.py class Git (line 3) | class Git: method __init__ (line 4) | def __init__(self, path): method clone (line 7) | def clone(self, url, path): method get_branches (line 10) | def get_branches(self): method get_commits (line 13) | def get_commits(self, branch): method get_commit (line 16) | def get_commit(self, commit): method get_file (line 19) | def get_file(self, commit, file): FILE: src/services/github.py class GitHub (line 5) | class GitHub: method __init__ (line 6) | def __init__(self, token: str) -> None: method get_repositories (line 9) | def get_repositories(self) -> List[str]: FILE: src/services/netlify.py class Netlify (line 6) | class Netlify: method __init__ (line 7) | def __init__(self): method deploy (line 12) | def deploy(self, project_name: str): FILE: src/services/utils.py function retry_wrapper (line 9) | def retry_wrapper(func): class InvalidResponseError (line 29) | class InvalidResponseError(Exception): function validate_responses (line 32) | def validate_responses(func): FILE: src/socket_instance.py function emit_agent (line 9) | def emit_agent(channel, content, log=True): FILE: src/state.py class AgentStateModel (line 10) | class AgentStateModel(SQLModel, table=True): class AgentState (line 18) | class AgentState: method __init__ (line 19) | def __init__(self): method new_state (line 25) | def new_state(self): method create_state (line 47) | def create_state(self, project: str): method delete_state (line 57) | def delete_state(self, project: str): method add_to_current_state (line 65) | def add_to_current_state(self, project: str, state: dict): method get_current_state (line 80) | def get_current_state(self, project: str): method update_latest_state (line 87) | def update_latest_state(self, project: str, state: dict): method get_latest_state (line 102) | def get_latest_state(self, project: str): method set_agent_active (line 109) | def set_agent_active(self, project: str, is_active: bool): method is_agent_active (line 125) | def is_agent_active(self, project: str): method set_agent_completed (line 132) | def set_agent_completed(self, project: str, is_completed: bool): method is_agent_completed (line 149) | def is_agent_completed(self, project: str): method update_token_usage (line 156) | def update_token_usage(self, project: str, token_usage: int): method get_latest_token_usage (line 171) | def get_latest_token_usage(self, project: str): FILE: ui/src/lib/api.js constant API_BASE_URL (line 26) | const API_BASE_URL = import.meta.env.VITE_API_BASE_URL || getApiBaseUrl(); function checkServerStatus (line 29) | async function checkServerStatus() { function fetchInitialData (line 37) | async function fetchInitialData() { function createProject (line 46) | async function createProject(projectName) { function deleteProject (line 57) | async function deleteProject(projectName) { function fetchMessages (line 67) | async function fetchMessages() { function fetchAgentState (line 80) | async function fetchAgentState() { function executeAgent (line 93) | async function executeAgent(prompt) { function getBrowserSnapshot (line 117) | async function getBrowserSnapshot(snapshotPath) { function fetchProjectFiles (line 129) | async function fetchProjectFiles() { function checkInternetStatus (line 137) | async function checkInternetStatus() { function fetchSettings (line 145) | async function fetchSettings() { function updateSettings (line 151) | async function updateSettings(settings) { function fetchLogs (line 161) | async function fetchLogs() { FILE: ui/src/lib/components/MonacoEditor.js function getFileLanguage (line 4) | function getFileLanguage(fileType) { function initializeMonaco (line 34) | async function initializeMonaco() { function initializeEditorRef (line 40) | async function initializeEditorRef(monaco, container) { function createModel (line 49) | function createModel(monaco, file) { function disposeEditor (line 57) | function disposeEditor(editor) { function enableTabSwitching (line 61) | function enableTabSwitching(editor, models, tabContainer) { function switchTab (line 78) | function switchTab(editor, models, filename, tabElement) { function sidebar (line 93) | function sidebar(editor, models, sidebarContainer) { FILE: ui/src/lib/sockets.js function initializeSockets (line 8) | function initializeSockets() { function destroySockets (line 75) | function destroySockets() { function emitMessage (line 86) | function emitMessage(channel, message) { function socketListener (line 90) | function socketListener(channel, callback) { FILE: ui/src/lib/store.js function getItemFromLocalStorage (line 4) | function getItemFromLocalStorage(key, defaultValue) { function subscribeAndStore (line 14) | function subscribeAndStore(store, key, defaultValue) { FILE: ui/src/lib/token.js function calculateTokens (line 10) | function calculateTokens(text) { FILE: ui/src/lib/utils.js function cn (line 5) | function cn(...inputs) {