fix langchain example.py link
<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Fixed the broken LangChain example link in the LLM README by switching
to a root‑relative path (/examples/models/langchain/example.py) so it
resolves correctly.
<sup>Written for commit cc2e4d800c.
Summary will update automatically on new commits.</sup>
<!-- End of auto-generated description by cubic. -->
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Fix broken LangChain example link in LLM README by switching to a
root-relative path.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
96266b6a26. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
- Simplified comments in session.py for clarity and conciseness.
- Removed the unused `disconnect` method from the CDPSession class.
- Updated references to session management in downloads_watchdog.py for consistency.
- Updated DOMWatchdog to provide a detailed hierarchical breakdown of timing metrics for various operations, improving clarity in performance logging.
- Enhanced DomService to calculate and log specific timing metrics for iframe scrolling, CDP calls, and snapshot processing, contributing to more accurate performance tracking.
- Updated DOMWatchdog to exclude specific sub-timings from total tracked time to avoid double-counting.
- Enhanced DomService to calculate and log overhead timings for both get_dom_tree and get_serialized_dom_tree operations, improving accuracy in performance metrics.
- Introduced a utility function `create_task_with_error_handling` to manage asyncio tasks with proper exception logging and suppression options.
- Updated multiple components, including `SessionManager`, `BrowserSession`, and various watchdogs, to utilize the new error handling mechanism for background tasks.
- Enhanced overall robustness of asynchronous operations by ensuring exceptions are logged and handled appropriately, improving maintainability and debugging capabilities.
<!-- This is an auto-generated description by cubic. -->
## Summary by cubic
Downgraded CDP JavaScript click failure logs from error to warning in
DefaultActionWatchdog to reduce noisy error logs during expected
fallback behavior. Logs stay informative without masking real failures,
since exceptions are still raised where needed.
<sup>Written for commit 699d14c968.
Summary will update automatically on new commits.</sup>
<!-- End of auto-generated description by cubic. -->
<!-- This is an auto-generated description by cubic. -->
## Summary by cubic
Add configurable screenshot resizing and coordinate-based clicking to
improve Sonnet 4.5 reliability and precise interactions. Also load an
Anthropic-specific flash system prompt to better guide Sonnet.
- **New Features**
- Add llm_screenshot_size to resize screenshots with validation;
auto-set 1400x850 for Claude Sonnet.
- Scale LLM coordinates to the original viewport; cache viewport size.
- Support clicking by coordinates when index is unavailable, with a
non-blocking highlight.
- Expand ClickElementAction to accept index or
coordinate_x/coordinate_y.
- Use Anthropic-specific flash system prompt for Anthropic models when
flash_mode is enabled.
- **Refactors**
- Pass llm_screenshot_size through agent, message manager, and session;
resize in prompt builder.
- Adjust screenshot tool availability to align with use_vision='auto'.
- Improve viewport logging and add highlight utility for coordinate
clicks; shorten judge failure_reason to max 5 sentences.
- Simplify extract tool inputs; pass query/extract_links/start_from_char
directly.
- Sanitize invalid UTF-8 surrogate characters in page text to prevent
encoding errors.
<sup>Written for commit a5b97a6cf4.
Summary will update automatically on new commits.</sup>
<!-- End of auto-generated description by cubic. -->
- Consolidated tab switching logic to improve clarity and reduce redundancy in the `on_NavigateToUrlEvent` method.
- Enhanced logging for tab switching and navigation events to provide better insights during debugging.
- Ensured proper lifecycle handling during navigation, including closing extension options pages and dispatching navigation events consistently.
- Updated `pyproject.toml` to enhance type checking configuration by refining the `exclude` list and adding an `include` section for better clarity.
- Modified `lint.sh` to run tools directly from the virtual environment, improving execution reliability and avoiding permission errors.
- Enhanced comments in `lint.sh` for better understanding of script functionality and usage.
- Updated DOM tree retrieval methods to lazily fetch frame hierarchy only when necessary, improving performance for pages without cross-origin iframes.
- Adjusted method signatures to reflect optional frame fetching, enhancing flexibility in DOM service operations.
- Streamlined timing metrics by setting placeholders for timing logs, preparing for future performance enhancements.
- Updated DOM tree retrieval methods to include pre-fetched frame hierarchy, reducing redundant CDP calls and improving performance.
- Adjusted timing logs to provide detailed breakdowns of DOM tree construction, including total time and individual component timings.
- Removed commented-out code related to Python-based highlighting, streamlining the DOMWatchdog class.
- Reduced wait time in DOMWatchdog for page stability, enhancing responsiveness during DOM builds.
- Changed `get_session_for_target` in `SessionManager` from async to sync, improving performance by removing unnecessary locking.
- Updated all references in `BrowserSession` and related watchdogs to use the new synchronous method for session retrieval.
- Enhanced readability and consistency across session management logic, ensuring a more streamlined approach to handling sessions.