文件最后提交记录最后更新时间
feat(browser): browserbase plugin (spike — first migration) Migrates tools/browser_providers/browserbase.py → plugins/browser/browserbase/. Direct credentials only (BROWSERBASE_API_KEY + BROWSERBASE_PROJECT_ID); same session-creation, 402-handling, and feature-flag logic as the legacy implementation. Renames is_configured() → is_available() to match the new BrowserProvider ABC. The legacy module tools/browser_providers/browserbase.py is NOT yet deleted and tools/browser_tool.py still references the in-tree class. The dispatcher cutover happens in a later commit so the plugin migration and the dispatcher switch land as separate reviewable units. Verified via plugin-discovery E2E: - browserbase registers as 'browserbase' - is_available() correctly tracks BROWSERBASE_API_KEY + BROWSERBASE_PROJECT_ID - _resolve('browserbase') returns the provider even when unavailable (so dispatcher surfaces a typed credentials error) - _resolve(None) returns the provider when it's the single eligible one 19 天前
feat(browser): browserbase plugin (spike — first migration) Migrates tools/browser_providers/browserbase.py → plugins/browser/browserbase/. Direct credentials only (BROWSERBASE_API_KEY + BROWSERBASE_PROJECT_ID); same session-creation, 402-handling, and feature-flag logic as the legacy implementation. Renames is_configured() → is_available() to match the new BrowserProvider ABC. The legacy module tools/browser_providers/browserbase.py is NOT yet deleted and tools/browser_tool.py still references the in-tree class. The dispatcher cutover happens in a later commit so the plugin migration and the dispatcher switch land as separate reviewable units. Verified via plugin-discovery E2E: - browserbase registers as 'browserbase' - is_available() correctly tracks BROWSERBASE_API_KEY + BROWSERBASE_PROJECT_ID - _resolve('browserbase') returns the provider even when unavailable (so dispatcher surfaces a typed credentials error) - _resolve(None) returns the provider when it's the single eligible one 19 天前
fix(plugins/browser): carry forward requests.RequestException wrapping PR #25580 was authored before #2746 landed on main, so its plugin versions of browser_use/browserbase/firecrawl ship without the requests.RequestException → RuntimeError wrapping that 13c72fb4 added to the legacy tools/browser_providers/ files for #2746. Cherry-picking the PR + git rm'ing the legacy files (the migration's intent) would silently revert that network-error fix. Port the same try/except pattern into the three plugin create_session() methods. Browser Use managed-mode keeps its raw-exception propagation (idempotency-key retry semantics). Co-authored-by: nidhi-singh02 <nidhi2894@gmail.com> 19 天前