Commit Graph

7489 Commits

Author SHA1 Message Date
Alezander9
10ec99dd26 have library judge show up in logs 2025-10-31 20:30:03 -07:00
Alezander9
15911c8c72 fix bugs in library judge and make it off by default 2025-10-31 20:20:36 -07:00
Alezander9
0f1946cb54 implement simple judge directly into the library on done action 2025-10-31 20:01:07 -07:00
Alexander Yue
8dbe7e9fd8 make images in readme default to light mode (#3492)
<!-- This is an auto-generated description by cubic. -->
## Summary by cubic
Set README images to default to light mode by switching <img> fallbacks
to the light assets. Ensures correct rendering on PyPI, which forces
light mode and strips theme detection.

<sup>Written for commit a4f76e40c4.
Summary will update automatically on new commits.</sup>

<!-- End of auto-generated description by cubic. -->
2025-10-31 13:07:45 -07:00
Alezander9
a4f76e40c4 make images in readme default to light mode, since pypi forces light mode and strips the theme detection logic 2025-10-31 12:42:38 -07:00
Magnus Müller
55661ba26f 1.support unicode characters in filenames and improve path handling. 2. fixed path validation failures in Windows OS environments. (#3478)
1.support unicode characters in filenames and improve path handling. 
2.fixed path validation failures in Windows OS environments.



<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Adds Unicode filename support and fixes Windows path validation by
matching only the base file name, improving cross-platform path
handling.

- **Bug Fixes**
  - Expanded filename regex to include CJK characters.
- Use os.path.basename in validation to avoid rejecting full paths on
Windows.

<sup>Written for commit f46ee16. Summary will update automatically on
new commits.</sup>

<!-- End of auto-generated description by cubic. -->




<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Support CJK characters in filenames and validate only the base name to
avoid Windows path validation issues.
> 
> - **Filesystem**:
> - **Filename validation**: Expand regex to include CJK range
(`\u4e00-\u9fff`) and apply it to `os.path.basename(file_name)` to avoid
rejecting full paths, improving Windows compatibility.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
f46ee167da. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
2025-10-30 23:37:56 -07:00
Magnus Müller
f46ee167da Merge branch 'main' into bugfix/0.9.4 2025-10-30 23:36:43 -07:00
Magnus Müller
d2dde8d200 Add extra_body parameter support in openrouter (#3479)
Closes #3263

<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Adds support for an extra_body parameter in ChatOpenRouter to pass
custom request fields to OpenRouter API calls. This adds flexibility for
provider-specific options and fulfills Linear #3263.

- **New Features**
- Added extra_body field to ChatOpenRouter and spread it into ainvoke
requests.
  - Default is None, so no breaking changes.

<sup>Written for commit 7e477ea. Summary will update automatically on
new commits.</sup>

<!-- End of auto-generated description by cubic. -->

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> <sup>[Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) is
generating a summary for commit
f54d0929b1. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
2025-10-30 23:36:02 -07:00
Magnus Müller
f54d0929b1 Merge branch 'main' into feature/3263-add-extra-body-support 2025-10-30 23:35:51 -07:00
Magnus Müller
2553a37cd0 Implement template system with template-library repo (#3487)
<!-- This is an auto-generated description by cubic. -->
## Summary by cubic
Switch template generation to a GitHub-backed template-library, fetching
templates and manifests at runtime for instant updates. Refactors the
init command to create per-template projects, handle extra files
(including binaries), and show clear next steps.

- **New Features**
- Fetch template list and files from the template-library GitHub repo at
runtime.
- Manifest-driven generation: writes extra files, supports binaries, and
sets executables.
- Creates a per-template directory with main.py and displays next steps
(from manifest or defaults).
- Template selection via --list or interactive prompt with numeric
hotkeys.
- Graceful offline error with a clear message when GitHub is
unreachable.

- **Refactors**
  - Removed local CLI templates (default, advanced, tools).
- Replaced hardcoded choices with dynamic discovery from templates.json.
  - --template now accepts any manifest key (string), not a fixed set.
  - Centralized GitHub fetch helpers; removed fallback templates.

<sup>Written for commit 24ec8e6. Summary will update automatically on
new commits.</sup>

<!-- End of auto-generated description by cubic. -->
2025-10-30 23:32:31 -07:00
ShawnPana
24ec8e6696 address cubic 2025-10-30 20:05:32 -07:00
ShawnPana
c5a31c5ed4 Fix type errors: add Any import, INIT_TEMPLATES export, and update return types 2025-10-30 19:53:27 -07:00
shawn pana
69a3331af1 Merge branch 'main' into clean-template-system 2025-10-30 19:40:52 -07:00
ShawnPana
fd67e3b4dd Replace hardcoded template logic with manifest-driven system from template-library 2025-10-30 19:36:54 -07:00
ShawnPana
2431180fb5 Remove FALLBACK_TEMPLATES and make template system fully GitHub-dependent with graceful offline error handling 2025-10-30 19:27:03 -07:00
ShawnPana
944905554e Implement GitHub-based template system
- Remove local template files (advanced, default, tools)
- Fetch templates dynamically from template-library repo
- Add templates.json for dynamic template discovery
- Fetch both template list and content at runtime from GitHub
- Fall back to hardcoded FALLBACK_TEMPLATES for offline use
- Add binary file fetching support for PDFs and assets
- Enable instant template updates without code changes

Templates now managed in: https://github.com/browser-use/template-library

Benefits:
- Add new templates by editing template-library only
- Users get instant access without PyPI releases
- Cleaner separation of concerns
- No template files in main codebase
2025-10-30 19:15:51 -07:00
Magnus Müller
9ef0992f45 gitignore (#3485)
Auto-generated PR for: gitignore

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> <sup>[Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) is
generating a summary for commit
5b67d4b8e1. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
2025-10-30 15:50:48 -07:00
Magnus Müller
5b67d4b8e1 gitignore 2025-10-30 15:50:33 -07:00
Magnus Müller
1a25f5741f fix-scroll (#3481)
Auto-generated PR for branch: fix-scroll

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Refines scrollable element interactivity to avoid conflicting
descendants and adds robust datepicker format metadata (including
AngularJS), plus minor write_file docs tweak.
> 
> - **DOM Serialization (serializer.py)**:
> - Refines interactive indexing: only mark scrollable containers as
interactive when they have no interactive descendants
(`_has_interactive_descendants` + new logic in
`_assign_interactive_indices_and_mark_new_nodes`).
> - Enhances date/time input metadata: detects AngularJS
`uib-datepicker-popup` and adds `expected_format` and `format`; expands
jQuery/Bootstrap detection; preserves key attributes by protecting them
from deduplication.
> - **DOM Views (views.py)**:
> - Exposes new synthetic attributes in `DEFAULT_INCLUDE_ATTRIBUTES`:
`format`, `expected_format`.
> - **Tools (service.py)**:
> - Clarifies `write_file` action description with allowed
filename/extension formats.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
ea784626e6. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
2025-10-30 12:04:04 -07:00
Magnus Müller
ea784626e6 Merge branch 'fix-scroll' of https://github.com/browser-use/browser-use into fix-scroll 2025-10-30 11:56:07 -07:00
Magnus Müller
5a4ebf7fe4 Date fix 2025-10-30 11:56:04 -07:00
Magnus Müller
bece4707d2 alphanumeric file names 2025-10-30 11:51:13 -07:00
Magnus Müller
fddd1d83d3 Merge branch 'main' into fix-scroll 2025-10-30 11:32:58 -07:00
Magnus Müller
4f9ba966cb Expected date format + scroll container 2025-10-30 11:32:27 -07:00
Magnus Müller
89633783e2 fix-required (#3471)
Auto-generated PR for branch: fix-required

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Captures auto-closed JS dialogs in browser_state, strengthens CDP
session resolution and form input (date/time, contenteditable), enriches
DOM serialization/attributes and tool UX, and switches CI eval to v8.
> 
> - **Browser/Runtime**:
> - Capture and surface auto-closed JavaScript dialog messages in
`browser_state` (`_closed_popup_messages`, wired via PopupsWatchdog and
DOMWatchdog).
> - More reliable CDP session selection for nodes (`cdp_client_for_node`
trusts `session_id`/`frame_id`/`target_id`), minor navigation wait and
logging tweaks.
> - **Actions/Interactions**:
> - Click/input handlers return structured `validation_error` instead of
raising for `<select>`/file inputs; improved focus/occlusion handling.
> - Text input: robust clear for `contenteditable`, direct value
assignment for date/time/month/week/color/range; better framework event
dispatch; dropdown selection event order refined.
> - **DOM Serialization/Attributes**:
> - Show file input selected filename; suppress misleading compound
parts for date/time; add explicit `format`/placeholders; keep
hidden-but-functional file inputs; improve select options preview and
value sourcing from AX.
> - Expanded default attributes (e.g., `accept`, `multiple`, input
masks, `contenteditable`).
> - **Agent/Errors/Logging**:
> - Clearer LLM output-format errors; toned-down/error-to-info logging
in several paths; success-only completion log.
> - **Tools API**:
> - Clearer action descriptions; screenshot uses `NoParamsAction`; click
handles `validation_error`; `select_dropdown` description updated.
> - **LLM (Google)**:
>   - Add 503 to retryable status codes (default and examples).
> - **CI**:
>   - Update eval workflow default `TEST_CASE` to `InteractionTasks_v8`.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
4951002ae3. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
2025-10-30 11:20:04 -07:00
Magnus Müller
4951002ae3 Linter 2025-10-30 11:10:56 -07:00
Magnus Müller
7468ca2e3f Remove old method 2025-10-30 11:08:49 -07:00
Magnus Müller
66c2d7dd97 Output structure msg 2025-10-30 10:54:33 -07:00
Magnus Müller
0604bda9cf Write file desc 2025-10-30 10:37:31 -07:00
Magnus Müller
1467f35ac1 Improve file text 2025-10-30 10:36:51 -07:00
Magnus Müller
6a0b39c8f1 Fix date serilizer 2025-10-30 10:26:41 -07:00
Magnus Müller
cc89c37669 Include index desc for click 2025-10-30 10:13:49 -07:00
Magnus Müller
356183b4c5 Dropdown mesage 2025-10-30 10:11:32 -07:00
Magnus Müller
e5fb13d2ca Wait 1 s after navigation 2025-10-30 10:05:13 -07:00
Magnus Müller
22b0da2394 Serilizer fix 2025-10-30 10:01:44 -07:00
Krishna Rathore
7e477ea159 Add extra_body parameter support in openrouter 2025-10-30 20:10:37 +05:30
lidongbo
3e5dc0b6f7 fix: adjust import order to pass ruff check 2025-10-30 19:16:14 +08:00
lidongbo
44d9c96cb5 Support unicode characters in filenames and improve path handling, and fixed path validation failures in Windows OS environments. 2025-10-30 19:01:54 +08:00
lidongbo
23ade5e497 Support unicode characters in filenames and improve path handling, and fixed path validation failures in Windows OS environments. 2025-10-30 17:53:51 +08:00
Magnus Müller
cfeef1d031 Update browser_use/dom/serializer/serializer.py
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-10-30 00:55:32 -07:00
Magnus Müller
438379aa7b Small fix 2025-10-30 00:47:24 -07:00
Magnus Müller
78beda65fb Revert "Set vision to true by default"
This reverts commit 62ad269975.
2025-10-30 00:44:53 -07:00
Magnus Müller
49cf6cd459 Session fix input breaks 2025-10-30 00:44:44 -07:00
Magnus Müller
fc0fa6f773 Logs 2025-10-30 00:35:05 -07:00
Magnus Müller
d93106fef6 Fix dropdown error 2025-10-30 00:29:43 -07:00
Magnus Müller
59c32a2585 File desc 2025-10-30 00:18:40 -07:00
Magnus Müller
f0c7e9787c Linter 2025-10-30 00:12:28 -07:00
Magnus Müller
79bdbb2e35 Logs 2025-10-30 00:10:45 -07:00
Magnus Müller
3d892612c5 Always get ax value 2025-10-30 00:10:36 -07:00
Magnus Müller
7a571f507f Logs 2025-10-30 00:09:57 -07:00