SYMBOL INDEX (1125 symbols across 96 files) FILE: anytool/__init__.py function __getattr__ (line 53) | def __getattr__(name: str) -> _Any: function __dir__ (line 70) | def __dir__(): FILE: anytool/__main__.py class UIManager (line 17) | class UIManager: method __init__ (line 18) | def __init__(self, ui: Optional[AnyToolUI], ui_integration: Optional[U... method start_live_display (line 23) | async def start_live_display(self): method stop_live_display (line 37) | async def stop_live_display(self): method print_summary (line 46) | def print_summary(self, result: dict): method _suppress_logs (line 52) | def _suppress_logs(self): method _restore_logs (line 59) | def _restore_logs(self): function _execute_task (line 65) | async def _execute_task(anytool: AnyTool, query: str, ui_manager: UIMana... function interactive_mode (line 73) | async def interactive_mode(anytool: AnyTool, ui_manager: UIManager): function single_query_mode (line 107) | async def single_query_mode(anytool: AnyTool, query: str, ui_manager: UI... function _print_status (line 112) | def _print_status(anytool: AnyTool): function _create_argument_parser (line 142) | def _create_argument_parser() -> argparse.ArgumentParser: function refresh_mcp_cache (line 184) | async def refresh_mcp_cache(config_path: Optional[str] = None): function _load_config (line 322) | def _load_config(args) -> AnyToolConfig: function _setup_ui (line 364) | def _setup_ui(args) -> tuple[Optional[AnyToolUI], Optional[UIIntegration]]: function _initialize_anytool (line 375) | async def _initialize_anytool(config: AnyToolConfig, args) -> AnyTool: function main (line 409) | async def main(): function run_main (line 462) | def run_main(): FILE: anytool/agents/base.py class BaseAgent (line 17) | class BaseAgent(ABC): method __init__ (line 18) | def __init__( method name (line 48) | def name(self) -> str: method grounding_client (line 52) | def grounding_client(self) -> Optional[GroundingClient]: method backend_scope (line 57) | def backend_scope(self) -> List[str]: method llm_client (line 61) | def llm_client(self) -> Optional[LLMClient]: method llm_client (line 65) | def llm_client(self, client: LLMClient) -> None: method recording_manager (line 69) | def recording_manager(self) -> Optional[RecordingManager]: method step (line 74) | def step(self) -> int: method status (line 78) | def status(self) -> str: method process (line 82) | async def process(self, context: Dict[str, Any]) -> Dict[str, Any]: method construct_messages (line 86) | def construct_messages(self, context: Dict[str, Any]) -> List[Dict[str... method get_llm_response (line 93) | async def get_llm_response( method response_to_dict (line 113) | def response_to_dict(self, response: str) -> Dict[str, Any]: method increment_step (line 145) | def increment_step(self) -> None: method _register_self (line 149) | def _register_self(cls) -> None: method __repr__ (line 155) | def __repr__(self) -> str: class AgentStatus (line 159) | class AgentStatus: class AgentRegistry (line 166) | class AgentRegistry: method register (line 175) | def register(cls, name: str, agent_cls: Type[BaseAgent]) -> None: method get_cls (line 182) | def get_cls(cls, name: str) -> Type[BaseAgent]: method list_registered (line 188) | def list_registered(cls) -> List[str]: method clear (line 192) | def clear(cls) -> None: FILE: anytool/agents/grounding_agent.py class GroundingAgent (line 21) | class GroundingAgent(BaseAgent): method __init__ (line 22) | def __init__( method _truncate_messages (line 73) | def _truncate_messages( method process (line 116) | async def process(self, context: Dict[str, Any]) -> Dict[str, Any]: method _default_system_prompt (line 364) | def _default_system_prompt(self) -> str: method construct_messages (line 368) | def construct_messages( method _get_available_tools (line 414) | async def _get_available_tools(self, task_description: Optional[str]) ... method _visual_analysis_callback (line 457) | async def _visual_analysis_callback( method _enhance_result_with_visual_context (line 522) | async def _enhance_result_with_visual_context( method _select_key_screenshots (line 623) | def _select_key_screenshots( method _get_workspace_path (line 669) | def _get_workspace_path(self, context: Dict[str, Any]) -> Optional[str]: method _scan_workspace_files (line 675) | def _scan_workspace_files( method _check_workspace_artifacts (line 736) | async def _check_workspace_artifacts(self, context: Dict[str, Any]) ->... method _build_iteration_feedback (line 781) | def _build_iteration_feedback( method _remove_previous_guidance (line 804) | def _remove_previous_guidance(self, messages: List[Dict[str, Any]]) ->... method _generate_final_summary (line 817) | async def _generate_final_summary( method _build_final_result (line 878) | async def _build_final_result( method _format_tool_executions (line 945) | def _format_tool_executions(self, all_tool_results: List[Dict]) -> Lis... method _check_task_completion (line 997) | def _check_task_completion(self, messages: List[Dict]) -> bool: method _extract_last_assistant_message (line 1004) | def _extract_last_assistant_message(self, messages: List[Dict]) -> str: method _record_agent_execution (line 1010) | async def _record_agent_execution( FILE: anytool/config/grounding.py class ConfigMixin (line 17) | class ConfigMixin: method get_value (line 20) | def get_value(self, key: str, default=None): class BackendConfig (line 34) | class BackendConfig(BaseModel, ConfigMixin): class ShellConfig (line 41) | class ShellConfig(BackendConfig): method validate_shell (line 68) | def validate_shell(cls, v): method validate_working_dir (line 75) | def validate_working_dir(cls, v): class WebConfig (line 80) | class WebConfig(BackendConfig): class MCPConfig (line 98) | class MCPConfig(BackendConfig): class GUIConfig (line 108) | class GUIConfig(BackendConfig): class ToolSearchConfig (line 127) | class ToolSearchConfig(BaseModel): method validate_search_mode (line 164) | def validate_search_mode(cls, v): class ToolQualityConfig (line 171) | class ToolQualityConfig(BaseModel): class GroundingConfig (line 201) | class GroundingConfig(BaseModel): method validate_log_level (line 253) | def validate_log_level(cls, v): method get_backend_config (line 258) | def get_backend_config(self, backend_type: str) -> BackendConfig: method get_security_policy (line 268) | def get_security_policy(self, backend_type: str) -> SecurityPolicy: FILE: anytool/config/loader.py function _deep_merge_dict (line 26) | def _deep_merge_dict(base: dict, update: dict) -> dict: function _load_json_file (line 36) | def _load_json_file(path: Path) -> Dict[str, Any]: function _load_multiple_files (line 53) | def _load_multiple_files(paths: Iterable[Path]) -> Dict[str, Any]: function load_config (line 62) | def load_config(*config_paths: Union[str, Path]) -> GroundingConfig: function get_config (line 118) | def get_config() -> GroundingConfig: function reset_config (line 135) | def reset_config() -> None: function save_config (line 141) | def save_config(config: GroundingConfig, path: Union[str, Path]) -> None: function load_agents_config (line 146) | def load_agents_config() -> Dict[str, Any]: function get_agent_config (line 151) | def get_agent_config(agent_name: str) -> Optional[Dict[str, Any]]: FILE: anytool/config/utils.py function get_config_value (line 6) | def get_config_value(config: Any, key: str, default=None): function load_json_file (line 13) | def load_json_file(filepath: str | Path) -> dict[str, Any]: function save_json_file (line 20) | def save_json_file(data: dict[str, Any], filepath: str | Path, indent: i... FILE: anytool/grounding/backends/__init__.py function _lazy_import_provider (line 3) | def _lazy_import_provider(provider_name: str): class _ProviderRegistry (line 21) | class _ProviderRegistry: method __getitem__ (line 23) | def __getitem__(self, key): method __contains__ (line 26) | def __contains__(self, key): FILE: anytool/grounding/backends/gui/anthropic_client.py class AnthropicGUIClient (line 46) | class AnthropicGUIClient: method __init__ (line 57) | def __init__( method _create_client (line 141) | def _create_client(self, api_key: Optional[str] = None): method _resize_screenshot (line 146) | def _resize_screenshot(self, screenshot_bytes: bytes) -> bytes: method _scale_coordinates (line 160) | def _scale_coordinates(self, x: int, y: int) -> Tuple[int, int]: method plan_action (line 177) | async def plan_action( method _add_tool_result (line 403) | def _add_tool_result( method _parse_computer_tool_use (line 442) | def _parse_computer_tool_use(self, tool_input: Dict[str, Any]) -> Opti... method reset (line 572) | def reset(self): FILE: anytool/grounding/backends/gui/anthropic_utils.py class APIProvider (line 31) | class APIProvider(Enum): function get_system_prompt (line 46) | def get_system_prompt(platform: str = "Ubuntu") -> str: function inject_prompt_caching (line 106) | def inject_prompt_caching(messages: List[BetaMessageParam]) -> None: function maybe_filter_to_n_most_recent_images (line 134) | def maybe_filter_to_n_most_recent_images( function response_to_params (line 188) | def response_to_params(response: BetaMessage) -> List[BetaContentBlockPa... FILE: anytool/grounding/backends/gui/config.py function build_llm_config (line 9) | def build_llm_config(user_config: Optional[Dict[str, Any]] = None) -> Di... FILE: anytool/grounding/backends/gui/provider.py class GUIProvider (line 16) | class GUIProvider(Provider): method __init__ (line 32) | def __init__(self, config: Dict[str, Any] = None): method initialize (line 42) | async def initialize(self) -> None: method create_session (line 56) | async def create_session(self, session_config: SessionConfig) -> BaseS... method close_session (line 126) | async def close_session(self, session_name: str) -> None: FILE: anytool/grounding/backends/gui/session.py class GUISession (line 14) | class GUISession(BaseSession): method __init__ (line 20) | def __init__( method initialize (line 50) | async def initialize(self) -> Dict[str, Any]: method connect (line 161) | async def connect(self) -> None: method disconnect (line 174) | async def disconnect(self) -> None: method is_connected (line 186) | def is_connected(self) -> bool: FILE: anytool/grounding/backends/gui/tool.py class GUIAgentTool (line 12) | class GUIAgentTool(BaseTool): method __init__ (line 52) | def __init__(self, connector: GUIConnector, llm_client=None, recording... method _arun (line 68) | async def _arun( method _execute_task_with_planning (line 123) | async def _execute_task_with_planning( method _plan_next_action (line 265) | async def _plan_next_action( method _build_planning_prompt (line 397) | def _build_planning_prompt( method _parse_llm_response (line 448) | def _parse_llm_response(self, response: str) -> Dict[str, Any]: method _execute_planned_action (line 477) | async def _execute_planned_action( method execute_action (line 531) | async def execute_action( method get_screenshot (line 561) | async def get_screenshot(self) -> ToolResult: method _record_intermediate_step (line 576) | async def _record_intermediate_step( method _format_action_command (line 674) | def _format_action_command(self, planned_action: Dict[str, Any]) -> str: FILE: anytool/grounding/backends/gui/transport/actions.py function build_pyautogui_command (line 149) | def build_pyautogui_command(action_type: str, parameters: Dict[str, Any]... FILE: anytool/grounding/backends/gui/transport/connector.py class GUIConnector (line 11) | class GUIConnector(AioHttpConnector): method __init__ (line 17) | def __init__( method _retry_invoke (line 47) | async def _retry_invoke( method _is_valid_image_response (line 94) | def _is_valid_image_response(content_type: str, data: Optional[bytes])... method _fix_pyautogui_less_than_bug (line 110) | def _fix_pyautogui_less_than_bug(command: str) -> str: method get_screen_size (line 178) | async def get_screen_size(self) -> Optional[tuple[int, int]]: method get_screenshot (line 204) | async def get_screenshot(self) -> Optional[bytes]: method execute_python_command (line 229) | async def execute_python_command(self, command: str) -> Optional[Dict[... method execute_action (line 255) | async def execute_action(self, action_type: str, parameters: Dict[str,... method get_accessibility_tree (line 325) | async def get_accessibility_tree(self, max_depth: int = 5) -> Optional... method get_cursor_position (line 349) | async def get_cursor_position(self) -> Optional[tuple[int, int]]: method invoke (line 367) | async def invoke(self, name: str, params: dict[str, Any]) -> Any: FILE: anytool/grounding/backends/gui/transport/local_connector.py class LocalGUIConnector (line 29) | class LocalGUIConnector(BaseConnector[Any]): method __init__ (line 38) | def __init__( method _get_screenshot_helper (line 60) | def _get_screenshot_helper(self): method _get_accessibility_helper (line 66) | def _get_accessibility_helper(self): method connect (line 76) | async def connect(self) -> None: method _retry_invoke (line 87) | async def _retry_invoke( method _fix_pyautogui_less_than_bug (line 127) | def _fix_pyautogui_less_than_bug(command: str) -> str: method _is_valid_image_response (line 172) | def _is_valid_image_response(content_type: str, data: Optional[bytes])... method get_screen_size (line 187) | async def get_screen_size(self) -> Optional[tuple[int, int]]: method get_screenshot (line 206) | async def get_screenshot(self) -> Optional[bytes]: method execute_python_command (line 227) | async def execute_python_command(self, command: str) -> Optional[Dict[... method execute_action (line 258) | async def execute_action( method get_accessibility_tree (line 319) | async def get_accessibility_tree( method get_cursor_position (line 333) | async def get_cursor_position(self) -> Optional[tuple[int, int]]: method invoke (line 349) | async def invoke(self, name: str, params: dict[str, Any]) -> Any: method request (line 360) | async def request(self, *args: Any, **kwargs: Any) -> Any: FILE: anytool/grounding/backends/mcp/client.py class MCPClient (line 22) | class MCPClient: method __init__ (line 29) | def __init__( method _get_mcp_servers (line 80) | def _get_mcp_servers(self) -> dict[str, Any]: method from_dict (line 94) | def from_dict( method from_config_file (line 120) | def from_config_file( method add_server (line 140) | def add_server( method remove_server (line 158) | def remove_server(self, name: str) -> None: method get_server_names (line 180) | def get_server_names(self) -> list[str]: method save_config (line 188) | def save_config(self, filepath: str) -> None: method create_session (line 196) | async def create_session(self, server_name: str, auto_initialize: bool... method create_all_sessions (line 292) | async def create_all_sessions( method get_session (line 324) | def get_session(self, server_name: str) -> MCPSession: method get_all_active_sessions (line 342) | def get_all_active_sessions(self) -> dict[str, MCPSession]: method close_session (line 350) | async def close_session(self, server_name: str) -> None: method close_all_sessions (line 387) | async def close_all_sessions(self) -> None: FILE: anytool/grounding/backends/mcp/config.py function create_connector_from_config (line 29) | async def create_connector_from_config( FILE: anytool/grounding/backends/mcp/installer.py class MCPDependencyError (line 15) | class MCPDependencyError(RuntimeError): class MCPCommandNotFoundError (line 20) | class MCPCommandNotFoundError(MCPDependencyError): class MCPInstallationCancelledError (line 25) | class MCPInstallationCancelledError(MCPDependencyError): class MCPInstallationFailedError (line 30) | class MCPInstallationFailedError(MCPDependencyError): class Colors (line 35) | class Colors: class MCPInstallerManager (line 47) | class MCPInstallerManager: method __init__ (line 54) | def __init__(self, prompt: PromptFunc | None = None, auto_install: boo... method _default_cli_prompt (line 68) | async def _default_cli_prompt(self, message: str) -> bool: method _ask_user (line 92) | async def _ask_user(self, message: str) -> bool: method _check_command_available (line 106) | def _check_command_available(self, command: str) -> bool: method _check_package_installed (line 117) | async def _check_package_installed(self, command: str, args: List[str]... method _extract_npm_package (line 163) | def _extract_npm_package(self, args: List[str]) -> Optional[str]: method _extract_python_package (line 197) | def _extract_python_package(self, args: List[str]) -> Optional[str]: method _extract_uv_package (line 234) | def _extract_uv_package(self, args: List[str]) -> Optional[str]: method _check_npm_package (line 256) | async def _check_npm_package(self, package_name: str) -> bool: method _check_python_package (line 279) | async def _check_python_package(self, package_name: str) -> bool: method _check_uv_pip_package (line 326) | async def _check_uv_pip_package(self, package_name: str) -> bool: method _install_package (line 368) | async def _install_package(self, command: str, args: List[str], use_su... method _get_install_command (line 513) | def _get_install_command(self, command: str, args: List[str]) -> Optio... method ensure_dependencies (line 539) | async def ensure_dependencies( method _ensure_dependencies_impl (line 564) | async def _ensure_dependencies_impl( function get_global_installer (line 687) | def get_global_installer() -> MCPInstallerManager: function set_global_installer (line 694) | def set_global_installer(installer: MCPInstallerManager) -> None: FILE: anytool/grounding/backends/mcp/provider.py class MCPProvider (line 23) | class MCPProvider(Provider[MCPSession]): method __init__ (line 31) | def __init__(self, config: Dict | None = None, installer: Optional[MCP... method initialize (line 83) | async def initialize(self) -> None: method list_servers (line 111) | def list_servers(self) -> List[str]: method create_session (line 119) | async def create_session(self, session_config: SessionConfig) -> MCPSe... method close_session (line 164) | async def close_session(self, session_name: str) -> None: method list_tools (line 200) | async def list_tools(self, session_name: str | None = None, use_cache:... method _load_tools_from_cache (line 248) | def _load_tools_from_cache(self) -> List[BaseTool]: method _sanitize_and_save_cache (line 273) | def _sanitize_and_save_cache( method _build_tools_from_cache (line 299) | def _build_tools_from_cache( method _list_tools_live (line 330) | async def _list_tools_live(self) -> List[BaseTool]: method _save_tools_to_cache (line 401) | async def _save_tools_to_cache(self, tools: List[BaseTool]) -> None: method ensure_server_session (line 419) | async def ensure_server_session(self, server_name: str) -> Optional[MC... method _lazy_create (line 442) | async def _lazy_create(self, server: str) -> None: FILE: anytool/grounding/backends/mcp/session.py class MCPSession (line 19) | class MCPSession(BaseSession): method __init__ (line 26) | def __init__( method initialize (line 50) | async def initialize(self) -> Dict[str, Any]: FILE: anytool/grounding/backends/mcp/tool_cache.py class MCPToolCache (line 18) | class MCPToolCache: method __init__ (line 23) | def __init__(self, cache_path: Optional[Path] = None, sanitized_cache_... method set_server_order (line 30) | def set_server_order(self, order: List[str]): method _reorder_servers (line 34) | def _reorder_servers(self, servers: Dict[str, List[Dict]]) -> Dict[str... method _ensure_dir (line 50) | def _ensure_dir(self): method load (line 54) | def load(self) -> Dict[str, Any]: method save (line 73) | def save(self, servers: Dict[str, List[Dict]]): method save_server (line 97) | def save_server(self, server_name: str, tools: List[Dict]): method get_server_tools (line 126) | def get_server_tools(self, server_name: str) -> Optional[List[Dict]]: method get_all_tools (line 131) | def get_all_tools(self) -> Dict[str, List[Dict]]: method has_cache (line 136) | def has_cache(self) -> bool: method clear (line 141) | def clear(self): method save_failed_server (line 148) | def save_failed_server(self, server_name: str, error: str): method get_failed_servers (line 178) | def get_failed_servers(self) -> Dict[str, Dict]: method load_sanitized (line 183) | def load_sanitized(self) -> Dict[str, Any]: method save_sanitized (line 202) | def save_sanitized(self, servers: Dict[str, List[Dict]]): method get_all_sanitized_tools (line 226) | def get_all_sanitized_tools(self) -> Dict[str, List[Dict]]: method has_sanitized_cache (line 231) | def has_sanitized_cache(self) -> bool: method clear_sanitized (line 236) | def clear_sanitized(self): function get_tool_cache (line 248) | def get_tool_cache() -> MCPToolCache: FILE: anytool/grounding/backends/mcp/tool_converter.py function _sanitize_mcp_schema (line 19) | def _sanitize_mcp_schema(params: Dict[str, Any]) -> Dict[str, Any]: function _deep_sanitize (line 54) | def _deep_sanitize(schema: Dict[str, Any]) -> Dict[str, Any]: function convert_mcp_tool_to_base_tool (line 149) | def convert_mcp_tool_to_base_tool( FILE: anytool/grounding/backends/mcp/transport/connectors/base.py class MCPBaseConnector (line 26) | class MCPBaseConnector(BaseConnector[ClientSession]): method __init__ (line 32) | def __init__( method public_identifier (line 56) | def public_identifier(self) -> str: method _get_streams_from_connection (line 60) | async def _get_streams_from_connection(self): method _after_connect (line 66) | async def _after_connect(self) -> None: method _before_disconnect (line 89) | async def _before_disconnect(self) -> None: method _cleanup_on_connect_failure (line 113) | async def _cleanup_on_connect_failure(self) -> None: method initialize (line 127) | async def initialize(self) -> dict[str, Any]: method tools (line 169) | def tools(self) -> list[Tool]: method resources (line 176) | def resources(self) -> list[Resource]: method prompts (line 183) | def prompts(self) -> list[Prompt]: method is_connected (line 190) | def is_connected(self) -> bool: method _ensure_connected (line 218) | async def _ensure_connected(self) -> None: method call_tool (line 240) | async def call_tool(self, name: str, arguments: dict[str, Any]) -> Cal... method list_tools (line 295) | async def list_tools(self) -> list[Tool]: method list_resources (line 309) | async def list_resources(self) -> list[Resource]: method read_resource (line 322) | async def read_resource(self, uri: str) -> ReadResourceResult: method list_prompts (line 331) | async def list_prompts(self) -> list[Prompt]: method get_prompt (line 344) | async def get_prompt(self, name: str, arguments: dict[str, Any] | None... method request (line 353) | async def request(self, method: str, params: dict[str, Any] | None = N... method invoke (line 361) | async def invoke(self, name: str, params: dict[str, Any]) -> Any: FILE: anytool/grounding/backends/mcp/transport/connectors/http.py class HttpConnector (line 33) | class HttpConnector(MCPBaseConnector): method __init__ (line 40) | def __init__( method connect (line 85) | async def connect(self) -> None: method disconnect (line 113) | async def disconnect(self) -> None: method _before_connect (line 132) | async def _before_connect(self) -> None: method _try_jsonrpc_connection (line 298) | async def _try_jsonrpc_connection(self) -> None: method _after_connect (line 327) | async def _after_connect(self) -> None: method _before_disconnect (line 346) | async def _before_disconnect(self) -> None: method public_identifier (line 361) | def public_identifier(self) -> str: method _next_jsonrpc_id (line 369) | def _next_jsonrpc_id(self) -> int: method _send_jsonrpc_request (line 374) | async def _send_jsonrpc_request( method _parse_tools_from_json (line 455) | def _parse_tools_from_json(self, tools_data: List[Dict]) -> List[Tool]: method _parse_resources_from_json (line 470) | def _parse_resources_from_json(self, resources_data: List[Dict]) -> Li... method _parse_prompts_from_json (line 486) | def _parse_prompts_from_json(self, prompts_data: List[Dict]) -> List[P... method initialize (line 505) | async def initialize(self) -> Dict[str, Any]: method is_connected (line 564) | def is_connected(self) -> bool: method _ensure_connected (line 570) | async def _ensure_connected(self) -> None: method list_tools (line 578) | async def list_tools(self) -> List[Tool]: method call_tool (line 592) | async def call_tool(self, name: str, arguments: Dict[str, Any]) -> Cal... method list_resources (line 631) | async def list_resources(self) -> List[Resource]: method read_resource (line 645) | async def read_resource(self, uri: str) -> ReadResourceResult: method list_prompts (line 654) | async def list_prompts(self) -> List[Prompt]: method get_prompt (line 668) | async def get_prompt(self, name: str, arguments: Dict[str, Any] | None... method request (line 680) | async def request(self, method: str, params: Dict[str, Any] | None = N... method invoke (line 688) | async def invoke(self, name: str, params: Dict[str, Any]) -> Any: FILE: anytool/grounding/backends/mcp/transport/connectors/sandbox.py class SandboxConnector (line 23) | class SandboxConnector(MCPBaseConnector): method __init__ (line 31) | def __init__( method _handle_stdout (line 88) | def _handle_stdout(self, data: str) -> None: method _handle_stderr (line 93) | def _handle_stderr(self, data: str) -> None: method wait_for_server_response (line 98) | async def wait_for_server_response(self, base_url: str, timeout: int =... method _before_connect (line 151) | async def _before_connect(self) -> None: method _after_connect (line 198) | async def _after_connect(self) -> None: method _before_disconnect (line 203) | async def _before_disconnect(self) -> None: method _cleanup_on_connect_failure (line 226) | async def _cleanup_on_connect_failure(self) -> None: method sandbox (line 244) | def sandbox(self) -> BaseSandbox: method public_identifier (line 249) | def public_identifier(self) -> str: FILE: anytool/grounding/backends/mcp/transport/connectors/stdio.py class StdioConnector (line 19) | class StdioConnector(MCPBaseConnector): method __init__ (line 27) | def __init__( method _before_connect (line 64) | async def _before_connect(self) -> None: method _after_connect (line 68) | async def _after_connect(self) -> None: method public_identifier (line 75) | def public_identifier(self) -> dict[str, str]: FILE: anytool/grounding/backends/mcp/transport/connectors/utils.py function is_stdio_server (line 4) | def is_stdio_server(server_config: dict[str, Any]) -> bool: FILE: anytool/grounding/backends/mcp/transport/connectors/websocket.py class WebSocketConnector (line 24) | class WebSocketConnector(MCPBaseConnector): method __init__ (line 31) | def __init__( method _get_streams_from_connection (line 60) | async def _get_streams_from_connection(self): method _after_connect (line 64) | async def _after_connect(self) -> None: method _receive_messages (line 78) | async def _receive_messages(self) -> None: method _before_disconnect (line 108) | async def _before_disconnect(self) -> None: method _cleanup_on_connect_failure (line 145) | async def _cleanup_on_connect_failure(self) -> None: method _send_request (line 169) | async def _send_request(self, method: str, params: dict[str, Any] | No... method initialize (line 195) | async def initialize(self) -> dict[str, Any]: method list_tools (line 207) | async def list_tools(self) -> list[dict[str, Any]]: method tools (line 214) | def tools(self) -> list[Tool]: method call_tool (line 220) | async def call_tool(self, name: str, arguments: dict[str, Any]) -> Any: method list_resources (line 225) | async def list_resources(self) -> list[dict[str, Any]]: method read_resource (line 231) | async def read_resource(self, uri: str) -> tuple[bytes, str]: method request (line 237) | async def request(self, method: str, params: dict[str, Any] | None = N... method public_identifier (line 243) | def public_identifier(self) -> str: FILE: anytool/grounding/backends/mcp/transport/task_managers/sse.py class SseConnectionManager (line 18) | class SseConnectionManager(AsyncContextConnectionManager[Tuple[Any, Any]... method __init__ (line 26) | def __init__( FILE: anytool/grounding/backends/mcp/transport/task_managers/stdio.py class FilteredStderrWrapper (line 25) | class FilteredStderrWrapper(io.TextIOBase): method __init__ (line 32) | def __init__(self, wrapped_stream: TextIO): method write (line 45) | def write(self, s: str) -> int: method _process_line (line 64) | def _process_line(self, line: str): method _is_harmless_error (line 181) | def _is_harmless_error(self) -> bool: method flush (line 206) | def flush(self): method fileno (line 220) | def fileno(self) -> int: method closed (line 227) | def closed(self) -> bool: class StdioConnectionManager (line 232) | class StdioConnectionManager(AsyncContextConnectionManager[Tuple[Any, An... method __init__ (line 243) | def __init__( method _establish_connection (line 269) | async def _establish_connection(self) -> Tuple[Any, Any]: method _close_connection (line 301) | async def _close_connection(self) -> None: method _suppress_mcp_json_errors (line 323) | def _suppress_mcp_json_errors(self): method _restore_mcp_logging (line 342) | def _restore_mcp_logging(self): FILE: anytool/grounding/backends/mcp/transport/task_managers/streamable_http.py function _make_shim (line 21) | def _make_shim(): class StreamableHttpConnectionManager (line 77) | class StreamableHttpConnectionManager( method __init__ (line 86) | def __init__( FILE: anytool/grounding/backends/mcp/transport/task_managers/websocket.py class WebSocketConnectionManager (line 16) | class WebSocketConnectionManager( method __init__ (line 20) | def __init__(self, url: str, headers: dict[str, str] | None = None): FILE: anytool/grounding/backends/shell/provider.py class ShellProvider (line 14) | class ShellProvider(Provider[ShellSession]): method __init__ (line 18) | def __init__(self, config: dict | None = None): method _setup_security_policy (line 22) | def _setup_security_policy(self, config: dict | None = None): method initialize (line 41) | async def initialize(self) -> None: method create_session (line 50) | async def create_session(self, session_config: SessionConfig) -> Shell... method close_session (line 99) | async def close_session(self, session_id: str) -> None: FILE: anytool/grounding/backends/shell/session.py class ShellSession (line 15) | class ShellSession(BaseSession): method __init__ (line 18) | def __init__( method initialize (line 35) | async def initialize(self): class PythonScriptTool (line 45) | class PythonScriptTool(BaseTool): method __init__ (line 49) | def __init__(self, session: "ShellSession", default_working_dir: str =... method _arun (line 56) | async def _arun(self, code: str, timeout: int = 90, working_dir: str |... class BashScriptTool (line 69) | class BashScriptTool(BaseTool): method __init__ (line 73) | def __init__(self, session: "ShellSession", default_working_dir: str =... method _arun (line 80) | async def _arun(self, script: str, timeout: int = 30, working_dir: str... class ShellAgentTool (line 93) | class ShellAgentTool(BaseTool): method __init__ (line 112) | def __init__( method _get_system_info (line 135) | async def _get_system_info(self): method _arun (line 192) | async def _arun(self, task: str, timeout: int = 300): method _execute_code_from_response (line 353) | async def _execute_code_from_response(self, response: str): method _generate_feedback (line 399) | def _generate_feedback(self, result: str, iteration: int, last_error: ... method _extract_output (line 413) | def _extract_output(self, result): method _check_task_status (line 432) | def _check_task_status(self, response: str, execution_result: str, las... FILE: anytool/grounding/backends/shell/transport/connector.py class ShellConnector (line 11) | class ShellConnector(AioHttpConnector): method __init__ (line 19) | def __init__( method _retry_invoke (line 34) | async def _retry_invoke( method run_python_script (line 96) | async def run_python_script( method run_bash_script (line 145) | async def run_bash_script( FILE: anytool/grounding/backends/shell/transport/local_connector.py function _get_conda_activation_prefix (line 32) | def _get_conda_activation_prefix(conda_env: str | None) -> str: function _wrap_script_with_conda (line 61) | def _wrap_script_with_conda(script: str, conda_env: str | None) -> str: class LocalShellConnector (line 97) | class LocalShellConnector(BaseConnector[Any]): method __init__ (line 106) | def __init__( method connect (line 125) | async def connect(self) -> None: method _run_subprocess (line 136) | async def _run_subprocess( method _run_shell_command (line 191) | async def _run_shell_command( method run_python_script (line 248) | async def run_python_script( method run_bash_script (line 321) | async def run_bash_script( method invoke (line 384) | async def invoke(self, name: str, params: dict[str, Any]) -> Any: method request (line 406) | async def request(self, *args: Any, **kwargs: Any) -> Any: FILE: anytool/grounding/backends/web/provider.py class WebProvider (line 10) | class WebProvider(Provider[WebSession]): method __init__ (line 14) | def __init__(self, config: Dict[str, Any] = None): method initialize (line 17) | async def initialize(self) -> None: method create_session (line 29) | async def create_session(self, session_config: SessionConfig) -> WebSe... method close_session (line 50) | async def close_session(self, session_name: str) -> None: FILE: anytool/grounding/backends/web/session.py class WebConnector (line 22) | class WebConnector(BaseConnector): method __init__ (line 23) | def __init__(self, api_key: str, base_url: str): method connect (line 29) | async def connect(self) -> None: method disconnect (line 51) | async def disconnect(self) -> None: method is_connected (line 60) | def is_connected(self) -> bool: method invoke (line 63) | async def invoke(self, name: str, params: dict) -> Any: method request (line 70) | async def request(self, *args: Any, **kwargs: Any) -> Any: class WebSession (line 74) | class WebSession(BaseSession): method __init__ (line 78) | def __init__( method web_connector (line 104) | def web_connector(self) -> WebConnector: method initialize (line 107) | async def initialize(self) -> Dict[str, Any]: class DeepResearchTool (line 141) | class DeepResearchTool(BaseTool): method __init__ (line 185) | def __init__( method _arun (line 193) | async def _arun(self, query: str) -> str: FILE: anytool/grounding/core/exceptions.py class ErrorCode (line 8) | class ErrorCode(str, Enum): class GroundingError (line 27) | class GroundingError(Exception): method __init__ (line 45) | def __init__( method to_dict (line 59) | def to_dict(self) -> Dict[str, Any]: method __str__ (line 68) | def __str__(self) -> str: method __repr__ (line 71) | def __repr__(self) -> str: FILE: anytool/grounding/core/grounding_client.py class GroundingClient (line 19) | class GroundingClient: method __init__ (line 23) | def __init__(self, config: Optional[GroundingConfig] = None, recording... method _register_providers_from_config (line 59) | def _register_providers_from_config(self) -> None: method _register_system_provider (line 102) | def _register_system_provider(self) -> None: method _init_quality_manager (line 116) | def _init_quality_manager(self): method quality_manager (line 153) | def quality_manager(self): method get_quality_report (line 158) | def get_quality_report(self) -> Dict[str, Any]: method evolve_quality (line 166) | async def evolve_quality(self) -> Dict[str, Any]: method get_tool_insights (line 184) | def get_tool_insights(self, tool: BaseTool) -> Dict[str, Any]: method register_provider (line 192) | def register_provider(self, provider: Provider) -> None: method get_provider (line 195) | def get_provider(self, backend: BackendType) -> Provider: method list_providers (line 198) | def list_providers(self) -> Dict[BackendType, Provider]: method recording_manager (line 202) | def recording_manager(self): method recording_manager (line 207) | def recording_manager(self, manager): method initialize_all_providers (line 215) | async def initialize_all_providers(self) -> None: method create_session (line 219) | async def create_session( method list_sessions (line 293) | def list_sessions(self) -> List[str]: method close_session (line 296) | async def close_session(self, name: str) -> None: method close_all_sessions (line 320) | async def close_all_sessions(self) -> None: method ensure_session (line 324) | async def ensure_session(self, backend: BackendType, server: str | Non... method get_session_info (line 330) | def get_session_info(self, name: str) -> SessionInfo: method get_session (line 336) | def get_session(self, name: str) -> BaseSession: method _fetch_tools (line 343) | async def _fetch_tools( method list_tools (line 449) | async def list_tools( method list_backend_tools (line 514) | async def list_backend_tools( method list_session_tools (line 521) | async def list_session_tools( method list_all_backend_tools (line 531) | async def list_all_backend_tools( method search_tools (line 542) | async def search_tools( method get_last_search_debug_info (line 615) | def get_last_search_debug_info(self) -> Optional[Dict[str, Any]]: method get_tools_with_auto_search (line 625) | async def get_tools_with_auto_search( method invoke_tool (line 738) | async def invoke_tool( FILE: anytool/grounding/core/provider.py class Provider (line 18) | class Provider(ABC, Generic[TSession]): method __init__ (line 20) | def __init__(self, backend_type: BackendType, config: Dict[str, Any] =... method _setup_security_policy (line 30) | def _setup_security_policy(self, config: dict | None = None): method ensure_initialized (line 34) | async def ensure_initialized(self) -> None: method initialize (line 42) | async def initialize(self) -> None: method create_session (line 49) | async def create_session(self, session_config: SessionConfig) -> TSess... method close_session (line 54) | async def close_session(self, session_name: str) -> None: method list_sessions (line 58) | def list_sessions(self) -> List[str]: method get_session (line 62) | def get_session(self, session_name: str) -> Optional[TSession]: method close_all_sessions (line 66) | async def close_all_sessions(self) -> None: method __repr__ (line 77) | def __repr__(self) -> str: method list_tools (line 83) | async def list_tools(self, session_name: Optional[str] = None) -> List... method call_tool (line 100) | async def call_tool( class ProviderRegistry (line 131) | class ProviderRegistry: method __init__ (line 135) | def __init__(self) -> None: method register (line 138) | def register(self, provider: "Provider") -> None: method get (line 142) | def get(self, backend: BackendType) -> "Provider": method list (line 147) | def list(self) -> dict[BackendType, "Provider"]: FILE: anytool/grounding/core/quality/__init__.py function get_quality_manager (line 9) | def get_quality_manager() -> "ToolQualityManager | None": function set_quality_manager (line 14) | def set_quality_manager(manager: "ToolQualityManager") -> None: FILE: anytool/grounding/core/quality/manager.py class ToolQualityManager (line 31) | class ToolQualityManager: method __init__ (line 43) | def __init__( method get_tool_key (line 77) | def get_tool_key(self, tool: "BaseTool") -> str: method _compute_description_hash (line 90) | def _compute_description_hash(self, tool: "BaseTool") -> str: method get_record (line 95) | def get_record(self, tool: "BaseTool") -> ToolQualityRecord: method get_quality_score (line 111) | def get_quality_score(self, tool: "BaseTool") -> float: method record_execution (line 116) | async def record_execution( method evaluate_description (line 151) | async def evaluate_description( method adjust_ranking (line 327) | def adjust_ranking( method get_penalty (line 350) | def get_penalty(self, tool: "BaseTool") -> float: method check_changes (line 355) | def check_changes(self, tools: List["BaseTool"]) -> Dict[str, str]: method save (line 385) | async def save(self) -> None: method clear_cache (line 396) | def clear_cache(self) -> None: method get_stats (line 402) | def get_stats(self) -> Dict: method get_top_tools (line 429) | def get_top_tools( method get_problematic_tools (line 452) | def get_problematic_tools( method get_quality_report (line 470) | def get_quality_report(self) -> Dict: method _generate_recommendations (line 539) | def _generate_recommendations( method compute_adaptive_quality_weight (line 573) | def compute_adaptive_quality_weight(self) -> float: method should_reevaluate_description (line 604) | def should_reevaluate_description(self, tool: "BaseTool") -> bool: method evolve (line 634) | async def evolve(self, tools: List["BaseTool"]) -> Dict: method should_evolve (line 690) | def should_evolve(self) -> bool: method get_tool_insights (line 694) | def get_tool_insights(self, tool: "BaseTool") -> Dict: FILE: anytool/grounding/core/quality/store.py class QualityStore (line 17) | class QualityStore: method __init__ (line 29) | def __init__(self, cache_dir: Optional[Path] = None): method load_all (line 43) | def load_all(self) -> tuple[Dict[str, ToolQualityRecord], int]: method save_all (line 76) | async def save_all(self, records: Dict[str, ToolQualityRecord], global... method save_record (line 102) | async def save_record(self, record: ToolQualityRecord, all_records: Di... method clear (line 107) | def clear(self) -> None: FILE: anytool/grounding/core/quality/types.py class ExecutionRecord (line 11) | class ExecutionRecord: class DescriptionQuality (line 20) | class DescriptionQuality: method overall_score (line 28) | def overall_score(self) -> float: class ToolQualityRecord (line 34) | class ToolQualityRecord: method success_rate (line 69) | def success_rate(self) -> float: method avg_execution_time_ms (line 76) | def avg_execution_time_ms(self) -> float: method recent_success_rate (line 83) | def recent_success_rate(self) -> float: method consecutive_failures (line 91) | def consecutive_failures(self) -> int: method penalty (line 102) | def penalty(self) -> float: method quality_score (line 137) | def quality_score(self) -> float: method add_execution (line 144) | def add_execution(self, record: ExecutionRecord) -> None: method to_dict (line 160) | def to_dict(self) -> Dict[str, Any]: method from_dict (line 191) | def from_dict(cls, data: Dict[str, Any]) -> "ToolQualityRecord": FILE: anytool/grounding/core/search_tools.py class SearchMode (line 25) | class SearchMode(str, Enum): class ToolRanker (line 31) | class ToolRanker: method __init__ (line 38) | def __init__( method _get_cache_key (line 100) | def _get_cache_key(self, tool: BaseTool) -> Tuple[str, str, str]: method _get_cache_file_path (line 114) | def _get_cache_file_path(self) -> Path: method _load_persistent_cache (line 120) | def _load_persistent_cache(self) -> None: method _rebuild_text_index (line 151) | def _rebuild_text_index(self) -> None: method _save_persistent_cache (line 161) | def _save_persistent_cache(self) -> None: method rank (line 194) | def rank( method _tokenize (line 210) | def _tokenize(text: str) -> list[str]: method _keyword_search (line 215) | def _keyword_search( method _ensure_model (line 256) | def _ensure_model(self) -> bool: method _init_remote_embedding (line 265) | def _init_remote_embedding(self) -> bool: method _init_local_embedding (line 289) | def _init_local_embedding(self) -> bool: method _get_embedding (line 311) | def _get_embedding(self, tool: BaseTool) -> Optional[np.ndarray]: method _set_embedding (line 324) | def _set_embedding(self, tool: BaseTool, embedding: np.ndarray) -> None: method _semantic_search (line 345) | def _semantic_search( method _hybrid_search (line 404) | def _hybrid_search( method get_cache_stats (line 427) | def get_cache_stats(self) -> Dict[str, Any]: method clear_cache (line 465) | def clear_cache(self, backend: Optional[str] = None, server: Optional[... class SearchDebugInfo (line 511) | class SearchDebugInfo: method __init__ (line 514) | def __init__(self): method to_dict (line 534) | def to_dict(self) -> Dict[str, Any]: class SearchCoordinator (line 553) | class SearchCoordinator(BaseTool): method get_parameters_schema (line 565) | def get_parameters_schema(cls) -> Dict[str, Any]: method __init__ (line 574) | def __init__( method _arun (line 649) | async def _arun( method _record_tool_scores (line 823) | def _record_tool_scores( method _populate_selected_tools (line 842) | def _populate_selected_tools( method _llm_filter_with_planning (line 864) | async def _llm_filter_with_planning( method _generate_search_query (line 1001) | async def _generate_search_query(self, task_prompt: str) -> str: method _log_search_results (line 1014) | def _log_search_results(self, all_tools: list[BaseTool], filtered_tool... method _format_tool_list (line 1069) | def _format_tool_list(tools: list[BaseTool]) -> str: method _format_ranked (line 1074) | def _format_ranked(results: list[tuple[BaseTool, float]], mode: Search... method _run (line 1080) | def _run(self, *args, **kwargs): method get_embedding_cache_stats (line 1083) | def get_embedding_cache_stats(self) -> Dict[str, Any]: method clear_embedding_cache (line 1091) | def clear_embedding_cache(self, backend: Optional[str] = None, server:... method get_last_search_debug_info (line 1103) | def get_last_search_debug_info(self) -> Optional[Dict[str, Any]]: FILE: anytool/grounding/core/security/e2b_sandbox.py class E2BSandbox (line 40) | class E2BSandbox(BaseSandbox): method __init__ (line 43) | def __init__(self, options: SandboxOptions): method start (line 76) | async def start(self) -> bool: method stop (line 101) | async def stop(self) -> None: method execute_safe (line 135) | async def execute_safe(self, command: str, **kwargs) -> Any: method get_connector (line 179) | def get_connector(self) -> Any: method get_host (line 187) | def get_host(self, port: int) -> str: method sandbox (line 205) | def sandbox(self) -> Any: method process (line 210) | def process(self) -> Any: FILE: anytool/grounding/core/security/policies.py class Colors (line 10) | class Colors: class SecurityPolicyManager (line 21) | class SecurityPolicyManager: method __init__ (line 22) | def __init__(self, prompt: PromptFunc | None = None): method _default_cli_prompt (line 27) | async def _default_cli_prompt(self, message: str) -> bool: method set_global_policy (line 51) | def set_global_policy(self, policy: SecurityPolicy) -> None: method set_backend_policy (line 54) | def set_backend_policy(self, backend_type: BackendType, policy: Securi... method get_policy (line 57) | def get_policy(self, backend_type: BackendType) -> SecurityPolicy: method _ask_user (line 67) | async def _ask_user(self, message: str) -> bool: method check_command_allowed (line 76) | async def check_command_allowed(self, backend_type: BackendType, comma... method check_domain_allowed (line 149) | async def check_domain_allowed(self, backend_type: BackendType, domain... FILE: anytool/grounding/core/security/sandbox.py class BaseSandbox (line 7) | class BaseSandbox(ABC): method __init__ (line 8) | def __init__(self, options: SandboxOptions): method start (line 13) | async def start(self) -> bool: method stop (line 18) | async def stop(self) -> None: method execute_safe (line 23) | async def execute_safe(self, command: str, **kwargs) -> Any: method get_connector (line 27) | def get_connector(self) -> Any: method is_active (line 31) | def is_active(self) -> bool: class SandboxManager (line 35) | class SandboxManager: method __init__ (line 36) | def __init__(self): method register_sandbox (line 39) | def register_sandbox(self, backend_type: BackendType, sandbox: BaseSan... method get_sandbox (line 42) | def get_sandbox(self, backend_type: BackendType) -> Optional[BaseSandb... method start_all (line 45) | async def start_all(self) -> None: method stop_all (line 49) | async def stop_all(self) -> None: FILE: anytool/grounding/core/session.py class BaseSession (line 13) | class BaseSession(ABC): method __init__ (line 17) | def __init__( method __aenter__ (line 38) | async def __aenter__(self) -> "BaseSession": method __aexit__ (line 45) | async def __aexit__(self, exc_type, exc_val, exc_tb) -> None: method connect (line 55) | async def connect(self) -> None: method disconnect (line 62) | async def disconnect(self) -> None: method is_connected (line 69) | def is_connected(self) -> bool: method initialize (line 73) | async def initialize(self) -> Dict[str, Any]: method list_tools (line 82) | async def list_tools(self) -> List[BaseTool]: method call_tool (line 90) | async def call_tool(self, tool_name: str, parameters=None) -> ToolResult: method _touch (line 106) | def _touch(self): method info (line 110) | def info(self) -> SessionInfo: FILE: anytool/grounding/core/system/provider.py class SystemProvider (line 9) | class SystemProvider(Provider): method __init__ (line 13) | def __init__(self, client: GroundingClient): method initialize (line 18) | async def initialize(self): method create_session (line 21) | async def create_session(self, session_config: SessionConfig): method list_tools (line 27) | async def list_tools(self, session_name: str | None = None): method call_tool (line 30) | async def call_tool( method close_session (line 44) | async def close_session(self, session_name: str) -> None: FILE: anytool/grounding/core/system/tool.py class _BaseSystemTool (line 6) | class _BaseSystemTool(LocalTool): method __init__ (line 9) | def __init__(self, client: GroundingClient): method client (line 14) | def client(self) -> GroundingClient: class ListProvidersTool (line 18) | class ListProvidersTool(_BaseSystemTool): method _arun (line 22) | async def _arun(self) -> ToolResult: class ListBackendToolsTool (line 30) | class ListBackendToolsTool(_BaseSystemTool): method _arun (line 34) | async def _arun(self, backend: str) -> ToolResult: class ListSessionToolsTool (line 48) | class ListSessionToolsTool(_BaseSystemTool): method _arun (line 52) | async def _arun(self, session_id: str) -> ToolResult: class ListAllBackendToolsTool (line 61) | class ListAllBackendToolsTool(_BaseSystemTool): method _arun (line 65) | async def _arun(self, use_cache: bool = False) -> ToolResult: FILE: anytool/grounding/core/tool/base.py class ToolRuntimeInfo (line 23) | class ToolRuntimeInfo: method __init__ (line 25) | def __init__( method __repr__ (line 37) | def __repr__(self): class BaseTool (line 41) | class BaseTool(ABC): method __init__ (line 46) | def __init__(self, method name (line 64) | def name(self) -> str: method description (line 69) | def description(self) -> str: method get_parameters_schema (line 75) | def get_parameters_schema(cls) -> Dict[str, Any]: method validate_parameters (line 117) | def validate_parameters(self, params: Dict[str, Any]) -> None: method run (line 127) | def run(self, **kwargs): method __call__ (line 134) | def __call__(self, **kwargs): method __acall__ (line 137) | async def __acall__(self, **kwargs): method arun (line 140) | async def arun(self, **kwargs) -> ToolResult: method _arun (line 162) | async def _arun(self, **kwargs): ... method bind_runtime_info (line 164) | def bind_runtime_info( method runtime_info (line 190) | def runtime_info(self) -> Optional['ToolRuntimeInfo']: method is_bound (line 195) | def is_bound(self) -> bool: method invoke (line 199) | async def invoke( method _wrap_result (line 221) | def _wrap_result(self, obj: Any, elapsed: float) -> ToolResult: method _auto_record_execution (line 236) | async def _auto_record_execution( method _record_to_quality_manager (line 288) | async def _record_to_quality_manager( method _run (line 305) | def _run(self, **kwargs): method __repr__ (line 308) | def __repr__(self): method __init_subclass__ (line 314) | def __init_subclass__(cls, **kwargs): FILE: anytool/grounding/core/tool/local_tool.py class LocalTool (line 10) | class LocalTool(BaseTool): method _run (line 11) | def _run(self, **kwargs): method _dispatch_run (line 14) | async def _dispatch_run(self, **kwargs) -> Any: method _arun (line 28) | async def _arun(self, **kwargs): FILE: anytool/grounding/core/tool/remote_tool.py class RemoteTool (line 14) | class RemoteTool(BaseTool): method __init__ (line 17) | def __init__( method _arun (line 31) | async def _arun(self, **kwargs): FILE: anytool/grounding/core/transport/connectors/aiohttp_connector.py class AioHttpConnector (line 13) | class AioHttpConnector(BaseConnector[aiohttp.ClientSession]): method __init__ (line 16) | def __init__(self, base_url: str, **session_kw): method connect (line 21) | async def connect(self) -> None: method _request (line 31) | async def _request( method get_json (line 56) | async def get_json(self, path: str, **kw) -> Any: method get_bytes (line 63) | async def get_bytes(self, path: str, **kw) -> bytes: method post_json (line 68) | async def post_json( method request (line 100) | async def request(self, method: str, path: str, **kw) -> aiohttp.Clien... method invoke (line 103) | async def invoke(self, name: str, params: dict[str, Any]) -> Any: method _handle_other_json (line 138) | async def _handle_other_json(self, method: str, path: str, params: dic... FILE: anytool/grounding/core/transport/connectors/base.py class BaseConnector (line 19) | class BaseConnector(ABC, Generic[T]): method __init__ (line 26) | def __init__(self, connection_manager: BaseConnectionManager[T]): method connect (line 32) | async def connect(self) -> None: method disconnect (line 54) | async def disconnect(self) -> None: method _before_connect (line 75) | async def _before_connect(self) -> None: method _after_connect (line 79) | async def _after_connect(self) -> None: method _cleanup_on_connect_failure (line 83) | async def _cleanup_on_connect_failure(self) -> None: method _before_disconnect (line 92) | async def _before_disconnect(self) -> None: method _after_disconnect (line 96) | async def _after_disconnect(self) -> None: method is_connected (line 101) | def is_connected(self) -> bool: method _to_json_compatible (line 106) | def _to_json_compatible(obj: Any) -> Any: method _parse_as (line 116) | def _parse_as(data: Any, model_cls: "Type[BaseModel] | None" = None) -... method invoke (line 128) | async def invoke(self, name: str, params: dict[str, Any]) -> Any: method request (line 136) | async def request(self, *args: Any, **kwargs: Any) -> Any: FILE: anytool/grounding/core/transport/task_managers/aiohttp_connection_manager.py class AioHttpConnectionManager (line 14) | class AioHttpConnectionManager( method __init__ (line 19) | def __init__( method _establish_connection (line 36) | async def _establish_connection(self) -> aiohttp.ClientSession: method _close_connection (line 42) | async def _close_connection(self) -> None: FILE: anytool/grounding/core/transport/task_managers/async_ctx.py class _BaseExceptionGroup (line 14) | class _BaseExceptionGroup(Exception): class AsyncContextConnectionManager (line 21) | class AsyncContextConnectionManager(Generic[T, P], BaseConnectionManager... method __init__ (line 22) | def __init__(self, method _establish_connection (line 32) | async def _establish_connection(self) -> T: method _close_connection (line 69) | async def _close_connection(self) -> None: FILE: anytool/grounding/core/transport/task_managers/base.py class BaseConnectionManager (line 17) | class BaseConnectionManager(Generic[T], ABC): method __init__ (line 24) | def __init__(self): method _establish_connection (line 34) | async def _establish_connection(self) -> T: method _close_connection (line 49) | async def _close_connection(self) -> None: method start (line 58) | async def start(self, timeout: float | None = None) -> T: method stop (line 127) | async def stop(self, timeout: float = 5.0) -> None: method get_streams (line 154) | def get_streams(self) -> T | None: method _connection_task (line 162) | async def _connection_task(self) -> None: FILE: anytool/grounding/core/transport/task_managers/noop.py class NoOpConnectionManager (line 12) | class NoOpConnectionManager(BaseConnectionManager[Any]): method _establish_connection (line 19) | async def _establish_connection(self) -> Any: method _close_connection (line 23) | async def _close_connection(self) -> None: FILE: anytool/grounding/core/transport/task_managers/placeholder.py class PlaceholderConnectionManager (line 5) | class PlaceholderConnectionManager(BaseConnectionManager[Any]): method _establish_connection (line 12) | async def _establish_connection(self) -> Any: method _close_connection (line 16) | async def _close_connection(self) -> None: FILE: anytool/grounding/core/types.py class BackendType (line 15) | class BackendType(str, Enum): class ToolStatus (line 24) | class ToolStatus(str, Enum): class SessionStatus (line 29) | class SessionStatus(str, Enum): class BaseEntity (line 43) | class BaseEntity(BaseModel): class JsonRpcBase (line 48) | class JsonRpcBase(BaseEntity): class RpcMessage (line 52) | class RpcMessage(JsonRpcBase, Generic[MethodT, RequestParamsT]): class Request (line 57) | class Request(RpcMessage[MethodT, RequestParamsT]): class Notification (line 61) | class Notification(RpcMessage[MethodT, NotificationParamsT]): class Result (line 65) | class Result(JsonRpcBase): class ErrorData (line 69) | class ErrorData(BaseEntity): class ToolResult (line 75) | class ToolResult(Result): method is_success (line 83) | def is_success(self) -> bool: return self.status == ToolStatus.SUCCESS method is_error (line 86) | def is_error(self) -> bool: return self.status == ToolStatus.ERROR class SecurityPolicy (line 89) | class SecurityPolicy(BaseEntity): method from_dict (line 98) | def from_dict(cls, data: Dict) -> "SecurityPolicy": method check (line 155) | def check(self, *, command: str | None = None, domain: str | None = No... method find_dangerous_tokens (line 181) | def find_dangerous_tokens(self, command: str) -> List[str]: class ToolSchema (line 203) | class ToolSchema(BaseEntity): method validate_parameters (line 214) | def validate_parameters(self, params: Dict[str, Any], *, raise_exc: bo... method is_allowed (line 237) | def is_allowed(self, *, command: str | None = None, domain: str | None... class SessionConfig (line 242) | class SessionConfig(BaseEntity): class SessionInfo (line 254) | class SessionInfo(SessionConfig): class SandboxOptions (line 260) | class SandboxOptions(BaseEntity): class ClientMessage (line 276) | class ClientMessage( FILE: anytool/llm/client.py function _sanitize_schema (line 22) | def _sanitize_schema(params: Dict) -> Dict: function _schema_to_openai (line 71) | def _schema_to_openai(schema: ToolSchema) -> ChatCompletionToolParam: function _prepare_tools_for_llmclient (line 94) | def _prepare_tools_for_llmclient( function _summarize_tool_result (line 153) | async def _summarize_tool_result( function _tool_result_to_message_async (line 208) | async def _tool_result_to_message_async( function _execute_tool_call (line 261) | async def _execute_tool_call( class LLMClient (line 317) | class LLMClient: method __init__ (line 319) | def __init__( method _rate_limit (line 357) | async def _rate_limit(self): method _call_with_retry (line 370) | async def _call_with_retry(self, **completion_kwargs): method complete (line 440) | async def complete( method format_messages_to_text (line 683) | def format_messages_to_text(messages: List[Dict]) -> str: FILE: anytool/local_server/feature_checker.py class FeatureChecker (line 12) | class FeatureChecker: method __init__ (line 13) | def __init__(self, platform_adapter=None, accessibility_helper=None): method check_screenshot_available (line 19) | def check_screenshot_available(self, use_cache: bool = True) -> bool: method check_shell_available (line 43) | def check_shell_available(self, use_cache: bool = True) -> bool: method check_python_available (line 74) | def check_python_available(self, use_cache: bool = True) -> bool: method check_file_ops_available (line 109) | def check_file_ops_available(self, use_cache: bool = True) -> bool: method check_window_mgmt_available (line 136) | def check_window_mgmt_available(self, use_cache: bool = True) -> bool: method check_recording_available (line 167) | def check_recording_available(self, use_cache: bool = True) -> bool: method check_accessibility_available (line 191) | def check_accessibility_available(self, use_cache: bool = True) -> bool: method check_platform_adapter_available (line 211) | def check_platform_adapter_available(self, use_cache: bool = True) -> ... method check_all_features (line 220) | def check_all_features(self, use_cache: bool = True) -> Dict[str, bool]: method clear_cache (line 240) | def clear_cache(self): method get_feature_report (line 244) | def get_feature_report(self) -> Dict[str, Any]: FILE: anytool/local_server/health_checker.py class HealthStatus (line 13) | class HealthStatus: method __init__ (line 15) | def __init__(self, feature_available: bool, endpoint_available: Option... method fully_available (line 22) | def fully_available(self) -> bool: method __str__ (line 26) | def __str__(self): class HealthChecker (line 37) | class HealthChecker: method __init__ (line 40) | def __init__(self, feature_checker: FeatureChecker, method _get_test_file_path (line 63) | def _get_test_file_path(self, filename: str) -> str: method _register_temp_file (line 69) | def _register_temp_file(self, filepath: str): method cleanup_temp_files (line 74) | def cleanup_temp_files(self): method check_screenshot (line 103) | def check_screenshot(self) -> Tuple[bool, str]: method check_cursor_position (line 140) | def check_cursor_position(self) -> Tuple[bool, str]: method check_screen_size (line 157) | def check_screen_size(self) -> Tuple[bool, str]: method check_shell_command (line 174) | def check_shell_command(self) -> Tuple[bool, str]: method check_python_execution (line 200) | def check_python_execution(self) -> Tuple[bool, str]: method check_bash_script (line 227) | def check_bash_script(self) -> Tuple[bool, str]: method check_file_operations (line 252) | def check_file_operations(self) -> Tuple[bool, str]: method check_desktop_path (line 276) | def check_desktop_path(self) -> Tuple[bool, str]: method check_window_management (line 294) | def check_window_management(self) -> Tuple[bool, str]: method check_recording (line 314) | def check_recording(self) -> Tuple[bool, str]: method check_accessibility (line 357) | def check_accessibility(self) -> Tuple[bool, str]: method check_health_endpoint (line 380) | def check_health_endpoint(self) -> Tuple[bool, str]: method check_platform_info (line 392) | def check_platform_info(self) -> Tuple[bool, str]: method check_all (line 404) | def check_all(self, test_endpoints: bool = True) -> Dict[str, HealthSt... method print_results (line 460) | def print_results(self, results: Dict[str, HealthStatus] = None, method get_summary (line 568) | def get_summary(self) -> dict: method get_simple_features_dict (line 584) | def get_simple_features_dict(self) -> Dict[str, bool]: FILE: anytool/local_server/main.py function get_conda_activation_prefix (line 51) | def get_conda_activation_prefix(conda_env: str = None) -> str: function wrap_script_with_conda (line 111) | def wrap_script_with_conda(script: str, conda_env: str = None) -> str: function health_check (line 158) | def health_check(): function get_platform (line 177) | def get_platform(): function execute_command (line 193) | def execute_command(): function execute_command_with_verification (line 249) | def execute_command_with_verification(): function _get_machine_architecture (line 368) | def _get_machine_architecture() -> str: function launch_app (line 381) | def launch_app(): function run_python (line 418) | def run_python(): function run_bash_script (line 519) | def run_bash_script(): function capture_screen_with_cursor (line 597) | def capture_screen_with_cursor(): function get_cursor_position (line 619) | def get_cursor_position(): function get_screen_size (line 628) | def get_screen_size(): function get_accessibility_tree (line 638) | def get_accessibility_tree(): function list_directory (line 653) | def list_directory(): function file_operation (line 683) | def file_operation(): function get_desktop_path (line 720) | def get_desktop_path(): function activate_window (line 735) | def activate_window(): function close_window (line 762) | def close_window(): function get_window_size (line 789) | def get_window_size(): function set_wallpaper (line 803) | def set_wallpaper(): function start_recording (line 829) | def start_recording(): function end_recording (line 880) | def end_recording(): function get_terminal_output (line 941) | def get_terminal_output(): function upload_file (line 965) | def upload_file(): function download_file (line 997) | def download_file(): function open_file (line 1017) | def open_file(): function print_banner (line 1047) | def print_banner(host: str = "127.0.0.1", port: int = 5000, debug: bool ... function run_health_check_async (line 1071) | def run_health_check_async(): function run_server (line 1089) | def run_server(host: str = "127.0.0.1", port: int = 5000, debug: bool = ... function main (line 1111) | def main(): FILE: anytool/local_server/platform_adapters/__init__.py function get_platform_adapter (line 31) | def get_platform_adapter() -> Optional[Any]: FILE: anytool/local_server/platform_adapters/linux_adapter.py class LinuxAdapter (line 20) | class LinuxAdapter: method __init__ (line 22) | def __init__(self): method capture_screenshot_with_cursor (line 27) | def capture_screenshot_with_cursor(self, output_path: str) -> bool: method activate_window (line 67) | def activate_window(self, window_name: str, strict: bool = False, by_c... method close_window (line 98) | def close_window(self, window_name: str, strict: bool = False, by_clas... method get_accessibility_tree (line 129) | def get_accessibility_tree(self, max_depth: int = 10, max_width: int =... method _serialize_atspi_element (line 164) | def _serialize_atspi_element( method get_screen_size (line 255) | def get_screen_size(self) -> Dict[str, int]: method list_windows (line 279) | def list_windows(self) -> List[Dict[str, Any]]: method get_terminal_output (line 315) | def get_terminal_output(self) -> Optional[str]: method _find_terminals (line 348) | def _find_terminals(self, element) -> List[Accessible]: method set_wallpaper (line 363) | def set_wallpaper(self, image_path: str) -> Dict[str, Any]: method get_system_info (line 395) | def get_system_info(self) -> Dict[str, Any]: method start_recording (line 436) | def start_recording(self, output_path: str) -> Dict[str, Any]: method stop_recording (line 507) | def stop_recording(self, process) -> Dict[str, Any]: method get_running_applications (line 539) | def get_running_applications(self) -> List[Dict[str, str]]: FILE: anytool/local_server/platform_adapters/macos_adapter.py class MacOSAdapter (line 18) | class MacOSAdapter: method __init__ (line 19) | def __init__(self): method capture_screenshot_with_cursor (line 27) | def capture_screenshot_with_cursor(self, output_path: str) -> bool: method activate_window (line 46) | def activate_window(self, window_name: str, strict: bool = False) -> D... method close_window (line 111) | def close_window(self, window_name: str, strict: bool = False) -> Dict... method get_accessibility_tree (line 154) | def get_accessibility_tree(self, max_depth: int = 10) -> Dict[str, Any]: method _serialize_ax_element (line 210) | def _serialize_ax_element(self, element, depth: int = 0, max_depth: in... method get_running_applications (line 297) | def get_running_applications(self) -> List[Dict[str, str]]: method set_wallpaper (line 324) | def set_wallpaper(self, image_path: str) -> Dict[str, Any]: method get_system_info (line 357) | def get_system_info(self) -> Dict[str, Any]: method _detect_screen_device (line 393) | def _detect_screen_device(self) -> str: method start_recording (line 435) | def start_recording(self, output_path: str) -> Dict[str, Any]: method stop_recording (line 536) | def stop_recording(self, process) -> Dict[str, Any]: method list_windows (line 593) | def list_windows(self) -> List[Dict[str, Any]]: method get_terminal_output (line 651) | def get_terminal_output(self) -> Optional[str]: FILE: anytool/local_server/platform_adapters/pyxcursor.py class XFixesCursorImage (line 14) | class XFixesCursorImage(ctypes.Structure): class Display (line 42) | class Display(ctypes.Structure): class Xcursor (line 46) | class Xcursor: method __init__ (line 49) | def __init__(self, display=None): method argbdata_to_pixdata (line 81) | def argbdata_to_pixdata(self, data, len): method getCursorImageData (line 102) | def getCursorImageData(self): method getCursorImageArray (line 112) | def getCursorImageArray(self): method getCursorImageArrayFast (line 125) | def getCursorImageArrayFast(self): method saveImage (line 137) | def saveImage(self, imgarray, text): FILE: anytool/local_server/platform_adapters/windows_adapter.py class WindowsAdapter (line 21) | class WindowsAdapter: method __init__ (line 24) | def __init__(self): method capture_screenshot_with_cursor (line 29) | def capture_screenshot_with_cursor(self, output_path: str) -> bool: method _get_cursor (line 70) | def _get_cursor(self) -> tuple: method activate_window (line 114) | def activate_window(self, window_name: str, strict: bool = False) -> D... method close_window (line 155) | def close_window(self, window_name: str, strict: bool = False) -> Dict... method get_accessibility_tree (line 195) | def get_accessibility_tree(self, max_depth: int = 10, max_width: int =... method _serialize_uia_element (line 231) | def _serialize_uia_element( method list_windows (line 335) | def list_windows(self) -> List[Dict[str, Any]]: method set_wallpaper (line 366) | def set_wallpaper(self, image_path: str) -> Dict[str, Any]: method get_system_info (line 399) | def get_system_info(self) -> Dict[str, Any]: method start_recording (line 424) | def start_recording(self, output_path: str) -> Dict[str, Any]: method stop_recording (line 491) | def stop_recording(self, process) -> Dict[str, Any]: method get_running_applications (line 525) | def get_running_applications(self) -> List[Dict[str, str]]: method get_screen_size (line 575) | def get_screen_size(self) -> Dict[str, int]: method get_terminal_output (line 591) | def get_terminal_output(self) -> Optional[str]: FILE: anytool/local_server/utils/accessibility.py class AccessibilityHelper (line 10) | class AccessibilityHelper: method __init__ (line 11) | def __init__(self): method get_tree (line 28) | def get_tree(self, max_depth: int = 10) -> Dict[str, Any]: method is_available (line 44) | def is_available(self) -> bool: method find_element_by_name (line 47) | def find_element_by_name(self, tree: Dict[str, Any], name: str) -> Opt... method find_element_by_role (line 53) | def find_element_by_role(self, tree: Dict[str, Any], role: str) -> Opt... method _search_tree (line 59) | def _search_tree(self, node: Dict[str, Any], key: str, value: str) -> ... method flatten_tree (line 76) | def flatten_tree(self, tree: Dict[str, Any]) -> list: method _flatten_node (line 84) | def _flatten_node(self, node: Dict[str, Any], result: list): method get_visible_elements (line 98) | def get_visible_elements(self, tree: Dict[str, Any]) -> list: method get_clickable_elements (line 115) | def get_clickable_elements(self, tree: Dict[str, Any]) -> list: method get_statistics (line 131) | def get_statistics(self, tree: Dict[str, Any]) -> Dict[str, Any]: FILE: anytool/local_server/utils/screenshot.py class ScreenshotHelper (line 13) | class ScreenshotHelper: method __init__ (line 14) | def __init__(self): method capture (line 31) | def capture(self, output_path: str, with_cursor: bool = True) -> bool: method capture_region (line 50) | def capture_region( method get_screen_size (line 83) | def get_screen_size(self) -> Tuple[int, int]: method get_cursor_position (line 97) | def get_cursor_position(self) -> Tuple[int, int]: method capture_to_base64 (line 111) | def capture_to_base64(self, with_cursor: bool = True) -> Optional[str]: method compare_screenshots (line 149) | def compare_screenshots(self, path1: str, path2: str) -> float: method annotate_screenshot (line 196) | def annotate_screenshot( FILE: anytool/platform/config.py function get_local_server_config (line 8) | def get_local_server_config() -> Dict[str, Any]: function get_client_base_url (line 65) | def get_client_base_url() -> str: FILE: anytool/platform/recording.py class RecordingClient (line 9) | class RecordingClient: method __init__ (line 18) | def __init__( method _get_session (line 39) | async def _get_session(self) -> aiohttp.ClientSession: method start_recording (line 47) | async def start_recording(self, auto_cleanup: bool = True) -> bool: method end_recording (line 89) | async def end_recording(self, dest: Optional[str] = None) -> Optional[... method close (line 123) | async def close(self): method __aenter__ (line 132) | async def __aenter__(self): method __aexit__ (line 136) | async def __aexit__(self, exc_type, exc_val, exc_tb): class RecordingContextManager (line 142) | class RecordingContextManager: method __init__ (line 144) | def __init__( method __aenter__ (line 172) | async def __aenter__(self) -> RecordingClient: method __aexit__ (line 183) | async def __aexit__(self, exc_type, exc_val, exc_tb): FILE: anytool/platform/screenshot.py class ScreenshotClient (line 19) | class ScreenshotClient: method __init__ (line 21) | def __init__( method _get_session (line 44) | async def _get_session(self) -> aiohttp.ClientSession: method _is_valid_image_response (line 53) | def _is_valid_image_response(content_type: str, data: Optional[bytes])... method capture (line 81) | async def capture(self) -> Optional[bytes]: method capture_to_file (line 117) | async def capture_to_file(self, output_path: str) -> bool: method get_screen_size (line 132) | async def get_screen_size(self) -> tuple[int, int]: method close (line 160) | async def close(self): method __aenter__ (line 166) | async def __aenter__(self): method __aexit__ (line 170) | async def __aexit__(self, exc_type, exc_val, exc_tb): class AutoScreenshotWrapper (line 176) | class AutoScreenshotWrapper: method __init__ (line 196) | def __init__( method __getattr__ (line 217) | def __getattr__(self, name): method _capture_and_notify (line 221) | async def _capture_and_notify(self): method execute (line 233) | async def execute(self, *args, **kwargs): method _arun (line 245) | async def _arun(self, *args, **kwargs): method enable (line 257) | def enable(self): method disable (line 261) | def disable(self): FILE: anytool/platform/system_info.py class SystemInfoClient (line 9) | class SystemInfoClient: method __init__ (line 17) | def __init__( method _get_session (line 39) | async def _get_session(self) -> aiohttp.ClientSession: method get_system_info (line 47) | async def get_system_info(self, use_cache: bool = True) -> Optional[Di... method get_screen_size (line 90) | async def get_screen_size(self) -> Optional[Dict[str, int]]: method get_cursor_position (line 118) | async def get_cursor_position(self) -> Optional[Dict[str, int]]: method clear_cache (line 145) | def clear_cache(self): method close (line 150) | async def close(self): method __aenter__ (line 156) | async def __aenter__(self): method __aexit__ (line 160) | async def __aexit__(self, exc_type, exc_val, exc_tb): function get_system_info (line 165) | async def get_system_info(base_url: Optional[str] = None) -> Optional[Di... function get_screen_size (line 170) | async def get_screen_size(base_url: Optional[str] = None) -> Optional[Di... FILE: anytool/prompts/grounding_agent_prompts.py class GroundingAgentPrompts (line 4) | class GroundingAgentPrompts: method iteration_summary (line 68) | def iteration_summary( method visual_analysis (line 108) | def visual_analysis( method final_summary (line 149) | def final_summary( method workspace_directory (line 180) | def workspace_directory(workspace_dir: str) -> str: method workspace_matching_files (line 200) | def workspace_matching_files(matching_files: List[str]) -> str: method workspace_recent_files (line 211) | def workspace_recent_files(total_files: int, recent_files: List[str]) ... method workspace_file_list (line 221) | def workspace_file_list(files: List[str]) -> str: method iteration_feedback (line 231) | def iteration_feedback( FILE: anytool/recording/action_recorder.py class ActionRecorder (line 18) | class ActionRecorder: method __init__ (line 28) | def __init__(self, trajectory_dir: Path): method record_action (line 42) | async def record_action( method _infer_agent_type (line 110) | def _infer_agent_type(self, agent_name: str) -> str: method _truncate_data (line 124) | def _truncate_data(self, data: Any, max_length: int) -> Any: method _append_to_file (line 157) | async def _append_to_file(self, action_info: Dict[str, Any]): method get_step_count (line 163) | def get_step_count(self) -> int: function load_agent_actions (line 168) | def load_agent_actions(trajectory_dir: str) -> list: function analyze_agent_actions (line 194) | def analyze_agent_actions(actions: list) -> Dict[str, Any]: function format_agent_actions (line 223) | def format_agent_actions(actions: list, format_type: str = "compact") ->... FILE: anytool/recording/manager.py class RecordingManager (line 15) | class RecordingManager: method __init__ (line 19) | def __init__( method is_recording (line 78) | def is_recording(cls) -> bool: method record_retrieved_tools (line 88) | async def record_retrieved_tools( method record_iteration_context (line 142) | async def record_iteration_context( method record_tool_execution (line 230) | async def record_tool_execution( method _parse_arguments (line 300) | def _parse_arguments(arg_data): method start (line 324) | async def start(self, task_id: Optional[str] = None): method _check_server_availability (line 394) | async def _check_server_availability(self): method stop (line 411) | async def stop(self): method register_to_llm (line 483) | def register_to_llm(self, llm_client): method _auto_record_tool_results (line 511) | async def _auto_record_tool_results(self, tool_results: List[Dict]): method _record_mcp (line 553) | async def _record_mcp(self, tool_call, result, server: str): method _record_gui (line 581) | async def _record_gui(self, tool_call, result): method _record_shell (line 642) | async def _record_shell(self, tool_call, result): method _record_system (line 699) | async def _record_system(self, tool_call, result): method _record_web (line 732) | async def _record_web(self, tool_call, result): method add_metadata (line 759) | async def add_metadata(self, key: str, value: Any): method save_plan (line 763) | async def save_plan(self, plan: Dict[str, Any], agent_name: str = "Gro... method log_decision (line 802) | async def log_decision( method record_agent_action (line 838) | async def record_agent_action( method generate_summary (line 888) | async def generate_summary(self) -> Dict[str, Any]: method __aenter__ (line 941) | async def __aenter__(self): method __aexit__ (line 945) | async def __aexit__(self, exc_type, exc_val, exc_tb): method recording_status (line 950) | def recording_status(self) -> bool: method trajectory_dir (line 954) | def trajectory_dir(self) -> Optional[str]: method recording_client (line 960) | def recording_client(self): method screenshot_client (line 964) | def screenshot_client(self): method step_count (line 968) | def step_count(self) -> int: FILE: anytool/recording/recorder.py class TrajectoryRecorder (line 11) | class TrajectoryRecorder: method __init__ (line 12) | def __init__( method record_step (line 72) | async def record_step( method _capture_screenshot (line 147) | async def _capture_screenshot(self) -> Optional[bytes]: method save_init_screenshot (line 168) | async def save_init_screenshot(self, screenshot: bytes, filename: str ... method _append_to_traj_file (line 182) | async def _append_to_traj_file(self, step_info: Dict[str, Any]): method _save_metadata (line 189) | def _save_metadata(self): method start_video_recording (line 195) | async def start_video_recording(self): method stop_video_recording (line 214) | async def stop_video_recording(self): method add_metadata (line 224) | async def add_metadata(self, key: str, value: Any): method finalize (line 229) | async def finalize(self): method _cleanup_screenshot_client (line 251) | async def _cleanup_screenshot_client(self): method __del__ (line 261) | def __del__(self): method get_trajectory_dir (line 270) | def get_trajectory_dir(self) -> str: method __aenter__ (line 274) | async def __aenter__(self): method __aexit__ (line 278) | async def __aexit__(self, exc_type, exc_val, exc_tb): function record_gui_step (line 283) | async def record_gui_step( function record_shell_step (line 319) | async def record_shell_step( function record_mcp_step (line 358) | async def record_mcp_step( function record_web_step (line 395) | async def record_web_step( FILE: anytool/recording/utils.py function load_trajectory_from_jsonl (line 9) | def load_trajectory_from_jsonl(jsonl_path: str) -> List[Dict[str, Any]]: function load_metadata (line 33) | def load_metadata(trajectory_dir: str) -> Optional[Dict[str, Any]]: function format_trajectory_for_export (line 45) | def format_trajectory_for_export( function _format_compact (line 59) | def _format_compact(trajectory: List[Dict[str, Any]]) -> str: function _format_detailed (line 76) | def _format_detailed(trajectory: List[Dict[str, Any]]) -> str: function _format_markdown (line 115) | def _format_markdown(trajectory: List[Dict[str, Any]]) -> str: function analyze_trajectory (line 137) | def analyze_trajectory(trajectory: List[Dict[str, Any]]) -> Dict[str, Any]: function load_recording_session (line 176) | def load_recording_session(recording_dir: str) -> Dict[str, Any]: function filter_trajectory (line 240) | def filter_trajectory( function extract_errors (line 268) | def extract_errors(trajectory: List[Dict[str, Any]]) -> List[Dict[str, A... function generate_summary_report (line 275) | def generate_summary_report(recording_dir: str, output_file: Optional[st... function compare_recordings (line 362) | def compare_recordings(recording_dir1: str, recording_dir2: str) -> Dict... FILE: anytool/recording/video.py class VideoRecorder (line 17) | class VideoRecorder: method __init__ (line 18) | def __init__( method start (line 35) | async def start(self): method stop (line 58) | async def stop(self): FILE: anytool/recording/viewer.py class RecordingViewer (line 17) | class RecordingViewer: method __init__ (line 27) | def __init__(self, recording_dir: str): method show_summary (line 44) | def show_summary(self) -> str: method show_agent_actions (line 81) | def show_agent_actions(self, format_type: str = "compact", agent_name:... method analyze_agents (line 101) | def analyze_agents(self) -> str: method generate_full_report (line 124) | def generate_full_report(self, output_file: Optional[str] = None) -> str: method export_to_json (line 127) | def export_to_json(self, output_file: str): method show_timeline (line 133) | def show_timeline(self, max_events: int = 50) -> str: method show_agent_flow (line 218) | def show_agent_flow(self, agent_name: Optional[str] = None) -> str: function view_recording (line 261) | def view_recording(recording_dir: str): function compare_recordings (line 282) | def compare_recordings(recording_dir1: str, recording_dir2: str) -> str: FILE: anytool/tool_layer.py class AnyToolConfig (line 21) | class AnyToolConfig: method __post_init__ (line 58) | def __post_init__(self): class AnyTool (line 66) | class AnyTool: method __init__ (line 67) | def __init__(self, config: Optional[AnyToolConfig] = None): method initialize (line 80) | async def initialize(self) -> None: method execute (line 190) | async def execute( method _maybe_evolve_quality (line 326) | async def _maybe_evolve_quality(self) -> None: method cleanup (line 340) | async def cleanup(self) -> None: method is_initialized (line 367) | def is_initialized(self) -> bool: method is_running (line 370) | def is_running(self) -> bool: method get_config (line 373) | def get_config(self) -> AnyToolConfig: method list_backends (line 376) | def list_backends(self) -> List[str]: method list_sessions (line 381) | def list_sessions(self) -> List[str]: method __aenter__ (line 386) | async def __aenter__(self): method __aexit__ (line 391) | async def __aexit__(self, exc_type, exc_val, exc_tb): method __repr__ (line 396) | def __repr__(self) -> str: FILE: anytool/utils/cli_display.py class CLIDisplay (line 7) | class CLIDisplay: method print_banner (line 9) | def print_banner(): method print_configuration (line 27) | def print_configuration(config: AnyToolConfig): method print_initialization_progress (line 47) | def print_initialization_progress(steps: list, show_header: bool = True): method print_result_summary (line 70) | def print_result_summary(result: dict): method print_interactive_header (line 122) | def print_interactive_header(): method print_task_header (line 149) | def print_task_header(query: str, title: str = "▶ Executing Task"): method print_system_ready (line 160) | def print_system_ready(): method print_status (line 175) | def print_status(agent): method print_help (line 198) | def print_help(): FILE: anytool/utils/display.py class Colors (line 6) | class Colors: class BoxStyle (line 29) | class BoxStyle(Enum): function strip_ansi (line 52) | def strip_ansi(text: str) -> str: function colorize (line 66) | def colorize(text: str, color: str = '', bold: bool = False) -> str: class Box (line 88) | class Box: method __init__ (line 89) | def __init__(self, method top_line (line 101) | def top_line(self, indent: int = 2) -> str: method bottom_line (line 110) | def bottom_line(self, indent: int = 2) -> str: method separator_line (line 119) | def separator_line(self, indent: int = 2) -> str: method empty_line (line 125) | def empty_line(self, indent: int = 2) -> str: method text_line (line 134) | def text_line(self, text: str, align: str = 'left', indent: int = 2, t... method build (line 164) | def build(self, function print_box (line 192) | def print_box(title: Optional[str] = None, function print_banner (line 204) | def print_banner(title: str, function print_section (line 223) | def print_section(title: str, function print_separator (line 233) | def print_separator(width: int = 68, color: str = 'bl', indent: int = 2): FILE: anytool/utils/logging.py function _load_log_level_from_config (line 14) | def _load_log_level_from_config() -> int: class FlushFileHandler (line 51) | class FlushFileHandler(logging.FileHandler): method emit (line 54) | def emit(self, record): class ColoredFormatter (line 59) | class ColoredFormatter(logging.Formatter): method format (line 69) | def format(self, record: logging.LogRecord) -> str: class Logger (line 78) | class Logger: method _get_default_log_file (line 98) | def _get_default_log_file() -> str: method get_logger (line 124) | def get_logger(cls, name: Optional[str] = None) -> logging.Logger: method configure (line 146) | def configure( method set_debug (line 237) | def set_debug(cls, debug_level: int = 2) -> None: method add_file_handler (line 244) | def add_file_handler( method reset_configuration (line 268) | def reset_configuration(cls) -> None: method _stdout_supports_color (line 278) | def _stdout_supports_color() -> bool: method _resolve_level (line 282) | def _resolve_level(cls, level: Optional[int]) -> int: method _update_level (line 289) | def _update_level(cls, level: int) -> None: FILE: anytool/utils/telemetry/events.py class BaseTelemetryEvent (line 6) | class BaseTelemetryEvent(ABC): method name (line 11) | def name(self) -> str: method properties (line 17) | def properties(self) -> dict[str, Any]: class MCPAgentExecutionEvent (line 23) | class MCPAgentExecutionEvent(BaseTelemetryEvent): method name (line 59) | def name(self) -> str: method properties (line 63) | def properties(self) -> dict[str, Any]: FILE: anytool/utils/telemetry/telemetry.py function singleton (line 23) | def singleton(cls): function requires_telemetry (line 34) | def requires_telemetry(func: Callable) -> Callable: function get_cache_home (line 46) | def get_cache_home() -> Path: class Telemetry (line 66) | class Telemetry: method __init__ (line 81) | def __init__(self): method user_id (line 127) | def user_id(self) -> str: method capture (line 161) | def capture(self, event: BaseTelemetryEvent) -> None: method track_package_download (line 189) | def track_package_download(self, properties: dict[str, Any] | None = N... method track_agent_execution (line 236) | def track_agent_execution( method flush (line 289) | def flush(self) -> None: method shutdown (line 304) | def shutdown(self) -> None: FILE: anytool/utils/telemetry/utils.py function get_package_version (line 13) | def get_package_version() -> str: function get_model_provider (line 21) | def get_model_provider(llm: BaseLanguageModel) -> str: function get_model_name (line 27) | def get_model_name(llm: BaseLanguageModel) -> str: function extract_model_info (line 42) | def extract_model_info(llm: BaseLanguageModel) -> tuple[str, str]: FILE: anytool/utils/ui.py class AgentStatus (line 20) | class AgentStatus(Enum): class AnyToolUI (line 28) | class AnyToolUI: method __init__ (line 45) | def __init__(self, enable_live: bool = True, compact: bool = False): method _get_terminal_size (line 80) | def _get_terminal_size(self) -> Tuple[int, int]: method _clear_screen (line 88) | def _clear_screen(self): method _move_cursor_home (line 95) | def _move_cursor_home(self): method _hide_cursor (line 100) | def _hide_cursor(self): method _show_cursor (line 105) | def _show_cursor(self): method print_banner (line 111) | def print_banner(self): method print_initialization (line 131) | def print_initialization(self, steps: List[Tuple[str, str]]): method start_live_display (line 151) | async def start_live_display(self): method stop_live_display (line 164) | async def stop_live_display(self): method _live_update_loop (line 181) | async def _live_update_loop(self): method render (line 192) | def render(self): method update_display (line 217) | def update_display(self): method _render_header (line 221) | def _render_header(self) -> List[str]: method _render_agents (line 250) | def _render_agents(self) -> List[str]: method _render_grounding (line 282) | def _render_grounding(self) -> List[str]: method _render_logs (line 337) | def _render_logs(self) -> List[str]: method update_agent_status (line 359) | def update_agent_status(self, agent_name: str, status: AgentStatus): method add_agent_activity (line 363) | def add_agent_activity(self, agent_name: str, activity: str): method update_grounding_backends (line 374) | def update_grounding_backends(self, backends: List[Dict[str, Any]]): method add_grounding_operation (line 386) | def add_grounding_operation(self, backend: str, action: str, status: s... method add_log (line 397) | def add_log(self, message: str, level: str = "info"): method update_metrics (line 405) | def update_metrics(self, **kwargs): method print_summary (line 409) | def print_summary(self, result: Dict[str, Any]): function create_ui (line 438) | def create_ui(enable_live: bool = True, compact: bool = False) -> AnyToo... FILE: anytool/utils/ui_integration.py class UIIntegration (line 17) | class UIIntegration: method __init__ (line 25) | def __init__(self, ui: AnyToolUI): method attach_llm_client (line 40) | def attach_llm_client(self, llm_client): method attach_grounding_client (line 50) | def attach_grounding_client(self, grounding_client): method start_monitoring (line 60) | async def start_monitoring(self, poll_interval: float = 0.5): method stop_monitoring (line 81) | async def stop_monitoring(self): method _monitor_loop (line 97) | async def _monitor_loop(self, poll_interval: float): method _update_ui (line 113) | async def _update_ui(self): method on_agent_start (line 151) | def on_agent_start(self, agent_name: str, activity: str): method on_agent_thinking (line 163) | def on_agent_thinking(self, agent_name: str): method on_agent_complete (line 172) | def on_agent_complete(self, agent_name: str, result: str = ""): method on_llm_call (line 184) | def on_llm_call(self, model: str, prompt_length: int): method on_grounding_call (line 197) | def on_grounding_call(self, backend: str, action: str): method on_grounding_complete (line 208) | def on_grounding_complete(self, backend: str, action: str, success: bo... method on_iteration (line 230) | def on_iteration(self, iteration: int): method on_error (line 239) | def on_error(self, message: str): class UILoggingHandler (line 249) | class UILoggingHandler: method __init__ (line 254) | def __init__(self, ui: AnyToolUI): method emit (line 263) | def emit(self, record): function create_integration (line 288) | def create_integration(ui: AnyToolUI) -> UIIntegration: