fix(secrets): scope browser plugin credential reads (browser_use/browserbase/firecrawl)

This commit is contained in:
Teknium
2026-08-02 00:56:31 -07:00
parent a23ede5569
commit 2438305a22
3 changed files with 8 additions and 5 deletions

View File

@@ -37,6 +37,7 @@ from typing import Any, Dict, Optional
import requests
from agent.browser_provider import BrowserProvider
from agent.secret_scope import get_secret
logger = logging.getLogger(__name__)
@@ -137,7 +138,7 @@ class BrowserUseBrowserProvider(BrowserProvider):
# Direct API key wins unless the user has explicitly opted into the
# managed Nous gateway via ``tool_gateway.browser: gateway``.
api_key = os.environ.get("BROWSER_USE_API_KEY")
api_key = get_secret("BROWSER_USE_API_KEY")
if api_key and not prefers_gateway("browser"):
return {
"api_key": api_key,

View File

@@ -39,6 +39,7 @@ from typing import Any, Dict, Optional
import requests
from agent.browser_provider import BrowserProvider
from agent.secret_scope import get_secret
logger = logging.getLogger(__name__)
@@ -66,8 +67,8 @@ class BrowserbaseBrowserProvider(BrowserProvider):
# ------------------------------------------------------------------
def _get_config_or_none(self) -> Optional[Dict[str, Any]]:
api_key = os.environ.get("BROWSERBASE_API_KEY")
project_id = os.environ.get("BROWSERBASE_PROJECT_ID")
api_key = get_secret("BROWSERBASE_API_KEY")
project_id = get_secret("BROWSERBASE_PROJECT_ID")
if api_key and project_id:
return {
"api_key": api_key,

View File

@@ -34,6 +34,7 @@ from typing import Any, Dict
import requests
from agent.browser_provider import BrowserProvider
from agent.secret_scope import get_secret
logger = logging.getLogger(__name__)
@@ -56,7 +57,7 @@ class FirecrawlBrowserProvider(BrowserProvider):
return "Firecrawl"
def is_available(self) -> bool:
return bool(os.environ.get("FIRECRAWL_API_KEY"))
return bool(get_secret("FIRECRAWL_API_KEY"))
# ------------------------------------------------------------------
# Session lifecycle
@@ -66,7 +67,7 @@ class FirecrawlBrowserProvider(BrowserProvider):
return os.environ.get("FIRECRAWL_API_URL", _BASE_URL)
def _headers(self) -> Dict[str, str]:
api_key = os.environ.get("FIRECRAWL_API_KEY")
api_key = get_secret("FIRECRAWL_API_KEY")
if not api_key:
raise ValueError(
"FIRECRAWL_API_KEY environment variable is required. "