Commit Graph

864 Commits

Author SHA1 Message Date
Saurav Panda a27cc17f35 fix: optional enum fields default to None instead of empty string
Empty string is outside most enum value sets, so model_dump would
serialize an out-of-set value violating the schema. Use None with
a type union (same treatment as nested objects) since no in-set
default can be safely chosen.
2026-01-31 22:33:59 -08:00
Gregor Žunič 0cb96ea5d0 fix: restore install, init, --mcp commands in skill_cli
PR #3911 changed the browser-use entry point to skill_cli/main.py but
didn't port the early command interception for install, init, --template,
and --mcp. This broke:

- `browser-use install` (installs Chromium via playwright)
- `browser-use init` (generates template files)
- `browser-use --template` (direct template generation)
- `browser-use --mcp` (MCP server mode)

This fix adds early command interception to skill_cli/main.py, matching
the behavior from browser_use/cli.py. Commands are handled before argparse
to avoid loading heavy dependencies for simple setup tasks.

Also adds tests to prevent regression.
2026-01-31 21:44:19 -08:00
Saurav Panda 357af489d4 Merge branch 'main' into fix-file-sanitization-issue 2026-01-31 21:27:43 -08:00
Saurav Panda d5f38a5eeb add grep tool to agent 2026-01-31 19:48:22 -08:00
Saurav Panda 69635e7745 fix: non-required fields no longer unconditionally nullable
Non-required fields were always unioned with None, allowing null values
even when the JSON Schema did not permit them. Now only explicitly
nullable fields accept null. Non-required primitives get type-appropriate
zero defaults (empty string, 0, 0.0, False), arrays get [], and nested
objects fall back to None only where constructing a default is infeasible.
2026-01-31 17:55:51 -08:00
Saurav Panda 69004dda09 schema enforcement in extract tool 2026-01-31 17:41:42 -08:00
Saurav Panda a7c2144cd1 added normalize the filename 2026-01-31 11:50:54 -08:00
Saurav Panda a4380060b9 improved filename sanitization 2026-01-31 11:14:11 -08:00
laithrw 372bf822c2 Merge branch 'main' into fix-write-file-issues 2026-01-30 21:51:27 -05:00
laithrw 445047b832 Update tests/ci/infrastructure/test_filesystem.py
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2026-01-30 21:51:17 -05:00
Saurav Panda 48cc78928a Merge branch 'main' into saurav-panda/step-budget-awareness 2026-01-30 16:59:31 -08:00
Saurav Panda 9b0d2f685f fixed prompt voilation of under 10 step instruction 2026-01-30 16:57:00 -08:00
Saurav Panda 65c59be263 add step budget awareness to prompt 2026-01-30 11:09:06 -08:00
Saurav Panda 6878bd1ca4 handle autocomplete fields 2026-01-30 11:04:00 -08:00
Magnus Müller 5e25d92bef style: fix linter issues from CI
- Fix f-string quote style (double→single) in _build_filename_error_message
- Remove unused XmlFile import from test file
- Add missing blank lines before DEFAULT_FILE_SYSTEM_PATH

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 00:16:53 -08:00
Magnus Müller a2fce46245 fix(filesystem): improve write_file filename handling and error messages
- Allow dots, spaces, and parentheses in filenames (e.g. report.v2.md, my file.csv)
- Auto-sanitize invalid filenames instead of rejecting them (spaces→hyphens, strip bad chars)
- Add specific error messages for binary extensions (.png, .jpg, etc.) to stop infinite retry loops
- Add specific error messages for unsupported extensions explaining which ones are valid
- Add .html and .xml as supported file types
- Improve write_file tool description with explicit filename rules and append behavior
- Add HtmlFile and XmlFile classes
- Add comprehensive tests for sanitization, new file types, and error messages

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 00:04:26 -08:00
Saurav Panda acd05e30e0 removed duplicate --headed flag from skill cli 2026-01-25 11:34:09 -08:00
Saurav Panda 97d71b84fa added a fix for multi menu dropdown 2026-01-15 10:17:59 -08:00
Saurav Panda 2c06eabf5f Added ax-name fallback for history rerun. 2026-01-06 12:07:10 -08:00
Saurav Panda 1073fc9e7a Merge branch 'main' into rerun-history-add-exp-retry 2025-12-23 20:16:27 -08:00
Saurav Panda 319d0acd45 fixed the edge case for handling max index 2025-12-23 19:29:43 -08:00
Saurav Panda 2f6a18a64e Merge branch 'main' into 3771-feature-request-add-support-for-openai-responses-api-for-azure-openai 2025-12-23 19:28:17 -08:00
Saurav Panda 2aa23f01dc fixed backend_node_id based element counting. 2025-12-23 17:25:38 -08:00
Saurav Panda 0da9457f6b feat: added exp backoff retry and minimum element load 2025-12-23 17:02:28 -08:00
Saurav Panda bb13679f85 feat: remove redundant retry step from history 2025-12-23 16:25:52 -08:00
Saurav Panda 29c9f1a416 feat: add support for openai responses model 2025-12-22 22:16:56 -08:00
Saurav Panda b9c8346499 fix: change max_step_interval to 45s 2025-12-18 16:45:21 -08:00
Saurav Panda 556d1bc022 added BROWSER_USE_DISABLE_EXTENSIONS env var to disable extension 2025-12-17 17:31:46 -08:00
mertunsall 9b894150d5 fix structured output for sandboxes 2025-12-12 15:35:34 -08:00
mertunsall 8c9e3b272c add tests 2025-12-12 14:37:24 -08:00
Mert Unsal 201b990591 Merge branch 'main' into cursor/filter-sensitive-data-in-history-5b05 2025-12-10 16:14:01 -08:00
Cursor Agent 8ba95aefa8 Fix: Filter sensitive data from state messages
This change ensures that sensitive data in action results is filtered before being included in state messages sent to the LLM. This prevents accidental leakage of private information. New tests are added to verify this functionality.

Co-authored-by: mailmertunsal <mailmertunsal@gmail.com>
2025-12-11 00:00:37 +00:00
Cursor Agent 24e276d5f4 Refactor markdown preprocessing and add tests
Co-authored-by: mailmertunsal <mailmertunsal@gmail.com>
2025-12-11 00:00:21 +00:00
Saurav Panda a4e77e2070 Merge branch 'main' into add-ai-step-for-extraction 2025-12-03 09:14:26 -08:00
Saurav Panda d0e181216e feat: added fallback llm support 2025-12-03 18:53:29 +05:30
Saurav Panda 7d2c6dc79e AI: add ai_step to replace extract_content on rerun 2025-12-01 21:34:09 +05:30
Mert Unsal a048d97eab Merge branch 'main' into attempt-fix-real-browser 2025-11-26 13:22:22 -08:00
mertunsall ad1c9b070e fix 2025-11-26 10:33:06 -08:00
mertunsall 84be050ed7 exponential retries improved 2025-11-25 11:18:03 -08:00
mertunsall e00ad12c40 lint 2025-11-22 00:16:09 -08:00
Cursor Agent 444825f307 Checkpoint before follow-up message
Co-authored-by: mailmertunsal <mailmertunsal@gmail.com>
2025-11-22 08:08:44 +00:00
kalil0321 ebfbefcfa9 Merge branch 'main' into attempt-fix-real-browser 2025-11-20 18:42:06 +01:00
Saurav Panda 5e356108f9 feat: added AI summary for rerun task 2025-11-20 21:40:30 +05:30
Saurav Panda d243616550 Updated test_step_interval_calculation() 2025-11-20 18:30:55 +05:30
Saurav Panda 8948c47416 add-variable-substitution-in-rerun 2025-11-20 17:54:32 +05:30
Saurav Panda e57f7ac14f added variable detection from agent history 2025-11-20 14:39:32 +05:30
kalil0321 ac6c7e7a48 Merge branch 'main' into attempt-fix-real-browser 2025-11-20 07:19:00 +01:00
Saurav Panda 8f8713b001 feat: added step_interval calculation for history 2025-11-20 10:28:28 +05:30
kalil0321 73f4138b10 Merge branch 'main' into attempt-fix-real-browser 2025-11-16 11:58:58 +01:00
reformedot 2bfb3497d9 refactor: improve CDP session handling in cua.py and test_frame_hierarchy.py
- Updated the method of obtaining CDP sessions to utilize the public API, enhancing error handling during session retrieval.
- Added exception handling to ensure graceful failure when sessions cannot be created or retrieved, improving robustness in both the main functionality and tests.
2025-11-12 20:35:15 -08:00