Auto-generated PR for branch: start-time-improvement
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Eliminates the 200ms sleep after `CreateAgentSessionEvent` so
`CreateAgentTaskEvent` is dispatched immediately, improving startup
time.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
fb9e192c01. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
Auto-generated PR for branch: fix-output-format
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Enhances task initialization by appending the provided output model
JSON schema to the task description for clearer LLM guidance.
>
> - **Agent (`browser_use/agent/service.py`)**:
> - **Task Initialization**: `self.task` now includes output schema
details via `_enhance_task_with_schema(...)` when `output_model_schema`
is provided.
> - **New Helper**: `_enhance_task_with_schema` generates
`model_json_schema()`, appends its JSON to the task text, and logs debug
on failures.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
f795d8e788. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
Auto-generated PR for branch: get-live-coords
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Adds live DOM geometry retrieval and occlusion checks to
clicks/inputs, switches highlights to non-blocking, and simplifies
watchdog logging.
>
> - **Interactions**:
> - Use live element coordinates via
`BrowserSession.get_element_coordinates()` (tries `DOM.getContentQuads`
→ `DOM.getBoxModel` → JS `getBoundingClientRect`).
> - Click flow: scroll into view first, compute rect via unified method,
pick visible quad, and if occluded fallback to JS `element.click()`.
> - Input flow: derive focus coordinates from unified method and skip
coordinate focus if occluded; improved error handling.
> - **Visual Highlights**:
> - `highlight_interaction_element` now resolves coordinates by
`backend_node_id`; tools trigger highlights with
`asyncio.create_task(...)` to be truly non-blocking.
> - **Logging**:
> - Watchdog base logs no longer use ANSI color codes; messages
simplified and standardized.
> - **APIs/Types**:
> - Import `DOMRect`; new
`BrowserSession.get_element_coordinates(backend_node_id, cdp_session)`
added and reused across interactions.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
d6f646a450. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
Auto-generated PR for: include todo in files
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Stop excluding todo.md so it is now displayed and attached in
DoneAction outputs.
>
> - **Done action attachments**:
> - Removed exclusion of `todo.md`; it will now be displayed and
included in `attachments` when provided.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
f09004ebd5. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
<!-- This is an auto-generated description by cubic. -->
## Summary by cubic
Adds custom model pricing and model name mapping to improve token cost
accuracy and usage logging.
- **New Features**
- Custom pricing for browser-use/fast and browser-use/smart.
- Model mapping: gemini-flash-latest -> gemini/gemini-flash-latest for
LiteLLM pricing.
- Pricing lookup checks custom data first, then mapped LiteLLM name.
- **Bug Fixes**
- Usage tracking now logs with llm.name instead of llm.model.
<!-- End of auto-generated description by cubic. -->