Commit Graph

336 Commits

Author SHA1 Message Date
Magnus Müller
ef36632ccf Refactor observability imports to maintain consistency across modules 2025-07-05 23:12:05 +02:00
Magnus Müller
a4c9b992ba Add observability module for browser-use with optional lmnr integration and debug mode support 2025-07-05 23:08:00 +02:00
Magnus Müller
ba11502ac5 Fix import 2025-07-05 18:13:14 +02:00
Magnus Müller
05eeaf877a Raise errors instead of actionResult to track with laminar 2025-07-05 18:01:10 +02:00
Magnus Müller
af0487ee38 Observe execute_action with lmnr 2025-07-05 17:35:47 +02:00
Magnus Müller
09d336556f Update error logging to not confuese agent when site is not available 2025-07-05 16:03:27 +02:00
Magnus Müller
99ef62748f Add lmnr tracing 2025-07-05 15:23:38 +02:00
Magnus Müller
face6a599b Enhance observability in browser and agent services
- Added `@observe` decorators to various methods in `service.py`, `session.py`, and `controller.py` to improve tracking of actions and state changes.
- Updated method signatures to include observability features for better debugging and monitoring.
- Adjusted retry logic for certain actions to enhance reliability and performance.
2025-07-05 14:44:43 +02:00
Magnus Müller
680b7e7346 refactor: enhance error handling in action execution
- Updated retry logic to handle page errors more effectively by capturing the current page context before retrying the action.
- Improved error messaging to provide clearer feedback when actions fail due to page navigation or closure.
2025-07-04 17:10:59 +02:00
Magnus Müller
22f89efae4 refactor: reduce timeouts for various operations to improve responsiveness
- Updated timeouts for action execution, step processing, and screenshot operations to more aggressive values (e.g., reduced from 60s to 20s for actions, 30s to 10s for DOM processing).
- Adjusted retry logic and timeout settings for screenshot and iframe content extraction to enhance performance and reduce potential hangs.
- Improved logging for timeout events to provide clearer feedback on operation failures.
2025-07-04 14:30:54 +02:00
Magnus Müller
2045ad747c Improve logging 2025-07-04 13:22:38 +02:00
Magnus Müller
b40402e162 Improved timeout for extract data 2025-07-04 13:03:10 +02:00
Magnus Müller
3dc6b44e03 Implement timeout protection for content extraction and LLM calls
- Added timeout handling for page content extraction with a 30-second limit, returning an error message on timeout.
- Introduced timeout protection for iframe content extraction with a 10-second limit, logging a warning on timeout.
- Implemented a 60-second timeout for LLM calls, logging a warning if the call exceeds this duration.
- Enhanced error handling to provide clearer feedback on extraction failures.
2025-07-04 11:14:49 +02:00
Magnus Müller
db67c1e4ff Refactor error handling in Registry class
- Commented out retry logic for page errors to simplify error handling.
- Maintained the raise of the original exception for clarity in error reporting.
2025-07-04 00:18:04 +02:00
Magnus Müller
c53cc4d2d1 Refactor error handling in ActionResult
- Simplified the return statement for site unavailable errors by removing redundant parameters while maintaining functionality.
- Improved code readability and consistency in error handling.
2025-07-03 23:22:34 +02:00
Magnus Müller
6d28b23f6a Enhance error handling in action execution
- Reintroduced action retry mechanism to handle transient errors during action execution.
- Added logging for failures and implemented a retry attempt with context preservation for better resilience.
2025-07-03 22:12:27 +02:00
Magnus Müller
f20022b6c7 Remove action retry 2025-07-03 21:05:38 +02:00
Cursor Agent
ee2c1d2ad0 Remove optional xpath from ClickElementAction model
Co-authored-by: mailmertunsal <mailmertunsal@gmail.com>
2025-07-02 07:43:21 +00:00
Cursor Agent
c24d5b4320 Remove optional xpath parameter from InputTextAction model
Co-authored-by: mamagnus00 <mamagnus00@gmail.com>
2025-07-01 21:51:05 +00:00
mertunsall
ef30980fe9 add extract_links to structured data 2025-07-01 10:34:23 +02:00
mertunsall
649b2d5277 Refactor URL navigation and scrolling actions
- Updated GoToUrlAction to include a new_tab parameter for opening URLs in a new tab or navigating in the current tab.
- Removed the OpenTabAction as its functionality is now integrated into GoToUrlAction.
- Enhanced scroll action to allow scrolling up or down based on a boolean parameter.
- Cleaned up commented-out code related to accessibility tree retrieval for better readability.
2025-06-29 22:48:40 +02:00
mertunsall
dd0f65b956 Merge branch 'main' into mert/remove_save_pdf 2025-06-29 21:57:41 +02:00
mertunsall
e9b8cfb9f7 remove the default save_pdf option 2025-06-29 21:51:56 +02:00
mertunsall
640d1a15fe Add upload file action 2025-06-29 21:36:15 +02:00
Gregor Žunič
184fa8efb7 tests for schema generator 2025-06-29 18:09:25 +02:00
Gregor Žunič
48ae2d19cf much better structured output + utils for generating pydantic schema 2025-06-29 17:42:19 +02:00
Gregor Žunič
0691500c6a wip 2025-06-29 16:22:19 +02:00
Magnus Müller
37cdaa0fee Clarify purpose of model_rebuild() in ExtendedOutputModel for eval service 2025-06-28 22:45:18 +02:00
Cursor Agent
bf9ca5baad Fix ExtendedOutputModel schema validation by adding model_rebuild()
Co-authored-by: mamagnus00 <mamagnus00@gmail.com>
2025-06-28 19:52:57 +00:00
Gregor Žunič
5d9fca7c4b optimized schema for all models 2025-06-28 09:28:54 +02:00
Gregor Žunič
8635ccbdec implemented proper functions for reducing token count in json schema 2025-06-27 23:40:59 +02:00
Gregor Žunič
ea00a9ebee removed drag and drop from default controller, moved to example 2025-06-27 23:20:34 +02:00
Gregor Žunič
11cef6eb1c wip 2025-06-27 23:02:21 +02:00
mertunsall
7f8d935000 Files are displayed by default in done text 2025-06-27 14:01:33 +02:00
Magnus Müller
03893b8adf Update comment to 40000 in service.py 2025-06-26 17:16:43 +02:00
Magnus Müller
4844bd048f Set default parameter - no memory, actions per step 10, and extraction input size 2025-06-26 17:08:15 +02:00
Magnus Müller
54736224eb Remove unused controller telemetry functionality
- Remove ControllerRegisteredFunctionsTelemetryEvent and RegisteredFunction classes
- Remove telemetry capture call from controller registry service
- Clean up unused imports in telemetry module
- Simplify telemetry __all__ exports

This removes dead code that was capturing registered function telemetry
data but wasn't being used anywhere in the application.
2025-06-26 15:06:17 +02:00
mertunsall
47b2b7f2fa fix more 2025-06-26 01:02:50 +02:00
mertunsall
6b4953e922 rewrite file system 2025-06-26 00:41:56 +02:00
Gregor Žunič
1e93ca5a9f fixed UnionType type error 2025-06-25 11:13:42 +02:00
Gregor Žunič
cda43e9573 fixed types 2025-06-25 11:06:38 +02:00
Gregor Žunič
5d55435491 fixed controller registry types 2025-06-25 10:52:38 +02:00
Magnus Müller
7cf9667127 Enhance ActionModelUnion to maintain interface and delegate methods
Refactors the ActionModelUnion class to ensure it properly maintains the ActionModel interface by delegating methods like get_index, set_index, and model_dump to the underlying action model. This improves the usability and consistency of the union type in handling action models.
2025-06-24 23:21:18 +02:00
Magnus Müller
f138b522cc Fix output model for openai 2025-06-24 23:08:06 +02:00
Mert Unsal
92ec19de0d Merge branch 'main' into fix/input-detection-logic 2025-06-24 20:00:00 +02:00
Daniel T.
72fe90377f Enhances null handling in file input check
Prevents NoneType error by adding a null check before assessing
if an element is a file input, ensuring robust functionality in
file upload checks.
2025-06-24 19:28:34 +02:00
Daniel Tremer
9bb69bd3d4 Update browser_use/controller/service.py
Co-authored-by: Mert Unsal <mertunsal1905@gmail.com>
2025-06-24 14:46:41 +02:00
Daniel T.
18452798f8 Improves file input detection logic
Refines the conditional check for identifying file input elements
to enhance accuracy by reorganizing the code logic for better
readability and maintainability.
2025-06-24 13:11:22 +02:00
Daniel T.
bf4887bb26 Refines file input detection logic
Enhances logic to accurately identify file input elements by
checking element's tag and type attributes, reducing false
positives in file upload detection.
2025-06-24 13:06:19 +02:00
Gregor Žunič
1a807d1d5d Merge branch 'main' into feature/squashed-langchain-to-native 2025-06-24 12:35:06 +02:00