diff --git a/hermes_cli/config.py b/hermes_cli/config.py index 4bd1a2bb2f9..80314792f93 100644 --- a/hermes_cli/config.py +++ b/hermes_cli/config.py @@ -1307,7 +1307,6 @@ ENV_VARS_BY_VERSION: Dict[int, List[str]] = { "SLACK_BOT_TOKEN", "SLACK_APP_TOKEN", "SLACK_ALLOWED_USERS"], 10: ["TAVILY_API_KEY"], 11: ["TERMINAL_MODAL_MODE"], - 23: ["TINYFISH_API_KEY", "TINYFISH_API_URL", "TINYFISH_BROWSER_TIMEOUT"], } # Required environment variables with metadata for migration prompts. @@ -4642,7 +4641,7 @@ def set_config_value(key: str, value: str): 'FIRECRAWL_GATEWAY_URL', 'TOOL_GATEWAY_DOMAIN', 'TOOL_GATEWAY_SCHEME', 'TOOL_GATEWAY_USER_TOKEN', 'TAVILY_API_KEY', 'BROWSERBASE_API_KEY', 'BROWSERBASE_PROJECT_ID', 'BROWSER_USE_API_KEY', - 'TINYFISH_API_KEY', 'TINYFISH_API_URL', + 'TINYFISH_API_KEY', 'TINYFISH_API_URL', 'TINYFISH_BROWSER_TIMEOUT', 'FAL_KEY', 'TELEGRAM_BOT_TOKEN', 'DISCORD_BOT_TOKEN', 'TERMINAL_SSH_HOST', 'TERMINAL_SSH_USER', 'TERMINAL_SSH_KEY', 'SUDO_PASSWORD', 'SLACK_BOT_TOKEN', 'SLACK_APP_TOKEN', diff --git a/hermes_cli/setup.py b/hermes_cli/setup.py index 31cb8460122..74ae153e23c 100644 --- a/hermes_cli/setup.py +++ b/hermes_cli/setup.py @@ -384,7 +384,7 @@ def _print_setup_summary(config: dict, hermes_home): else: tool_status.append(("Web Search & Extract", False, "EXA_API_KEY, PARALLEL_API_KEY, FIRECRAWL_API_KEY/FIRECRAWL_API_URL, or TAVILY_API_KEY")) - # Browser tools (local Chromium, Camofox, Browserbase, Browser Use, or Firecrawl) + # Browser tools (local Chromium, Camofox, Browserbase, Browser Use, Firecrawl, or TinyFish) browser_provider = subscription_features.browser.current_provider if subscription_features.browser.managed_by_nous: tool_status.append(("Browser Automation (Nous Browser Use)", True, None)) @@ -406,6 +406,10 @@ def _print_setup_summary(config: dict, hermes_home): ) elif browser_provider == "Camofox": missing_browser_hint = "CAMOFOX_URL" + elif browser_provider == "TinyFish": + missing_browser_hint = ( + "npm install -g agent-browser and set TINYFISH_API_KEY" + ) elif browser_provider == "Local browser": missing_browser_hint = "npm install -g agent-browser" tool_status.append( diff --git a/scripts/release.py b/scripts/release.py index 32453d723d6..41201d04a7b 100755 --- a/scripts/release.py +++ b/scripts/release.py @@ -673,6 +673,7 @@ AUTHOR_MAP = { "web3blind@gmail.com": "web3blind", "ztzheng@163.com": "chengoak", # PR #17467 "24110240104@m.fudan.edu.cn": "YuShu", # co-author only + "simantak@mac.local": "simantak-dabhade", # PR #6329 } diff --git a/tests/tools/test_browser_camofox_state.py b/tests/tools/test_browser_camofox_state.py index 820ba9e2182..770067d053b 100644 --- a/tests/tools/test_browser_camofox_state.py +++ b/tests/tools/test_browser_camofox_state.py @@ -59,9 +59,10 @@ class TestCamofoxConfigDefaults: browser_cfg = DEFAULT_CONFIG["browser"] assert browser_cfg["camofox"]["managed_persistence"] is False - def test_config_version_matches_current_schema(self): + def test_config_version_is_positive_int(self): from hermes_cli.config import DEFAULT_CONFIG - # The current schema version is tracked globally; unrelated default - # options may bump it after browser defaults are added. - assert DEFAULT_CONFIG["_config_version"] == 23 + # Invariant: config version must be a positive integer. + # Don't assert a specific number — that's a change-detector. + assert isinstance(DEFAULT_CONFIG["_config_version"], int) + assert DEFAULT_CONFIG["_config_version"] > 0