mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-21 03:39:54 +00:00
b8138ac405
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
16 lines
544 B
Python
16 lines
544 B
Python
"""Browserbase cloud browser plugin — bundled, auto-loaded.
|
|
|
|
Mirrors the ``plugins/web/<vendor>/`` and ``plugins/image_gen/openai/``
|
|
layout: ``provider.py`` holds the provider class; ``__init__.py::register``
|
|
instantiates and registers it via the plugin context.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from plugins.browser.browserbase.provider import BrowserbaseBrowserProvider
|
|
|
|
|
|
def register(ctx) -> None:
|
|
"""Register the Browserbase provider with the plugin context."""
|
|
ctx.register_browser_provider(BrowserbaseBrowserProvider())
|