Commit Graph

492 Commits

Author SHA1 Message Date
AI Christianson a5e3634900 Fix linter errors. 2025-07-06 17:32:04 -04:00
AI Christianson 8430f21cf6 Fix linter errors. 2025-07-06 17:28:41 -04:00
AI Christianson 051054decd Fix bug where schema optimizer was stripping the title field from our output schema. 2025-07-06 17:28:41 -04:00
Magnus Müller d4576bb128 Update browser_use/controller/service.py
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-07-06 21:18:46 +02:00
Magnus Müller 78be7f9a8e update extract_structured_data description 2025-07-06 21:14:45 +02:00
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
mertunsall 550a2a2552 feat: enhance file handling capabilities with JSON and CSV support
- Added new file types: JsonFile and CsvFile to the file system.
- Updated read_file method to handle external files with .json and .csv extensions.
- Modified write_file action to allow .json and .csv file extensions in addition to .md and .txt.
- Introduced pypdf dependency for PDF file handling.

This update improves the flexibility of file operations within the application.
2025-07-05 01:36:04 +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