refactor(tools_config): reflow re-import blocks and TOOL_CATEGORIES env_vars rows
This commit is contained in:
@@ -38,117 +38,42 @@ from hermes_cli.cli_output import ( # noqa: E402 — late import block
|
||||
print_info as _print_info,
|
||||
)
|
||||
from hermes_cli.tools_config_cua import ( # noqa: F401 — re-exported for hermes_cli.tools_config.X callers and test patches
|
||||
_post_setup_no_window_flags,
|
||||
_cua_driver_cmd,
|
||||
_cua_version_summary,
|
||||
_resolved_cua_driver_cmd,
|
||||
_cua_driver_env,
|
||||
_CUA_DRIVER_CONTRACT_CACHE,
|
||||
_cua_driver_contract_status,
|
||||
_cua_driver_install_ready,
|
||||
_pip_install,
|
||||
_cua_install_target_writable,
|
||||
_cua_driver_version,
|
||||
install_cua_driver,
|
||||
_CUA_INSTALLER_TIMEOUT,
|
||||
_CUA_INSTALLER_DRAIN_GRACE,
|
||||
_CUA_BACKGROUND_UPDATE_TIMEOUT,
|
||||
_CUA_LOCK_STALE_AFTER,
|
||||
_cua_install_home,
|
||||
_cua_install_lock_dir,
|
||||
_cua_windows_install_lock_file,
|
||||
_clear_stale_windows_cua_install_lock,
|
||||
_clear_stale_cua_install_lock,
|
||||
_cua_install_lock_held,
|
||||
_cua_release_endpoint_reachable,
|
||||
_ps_single_quote,
|
||||
_cua_driver_autostart_registered_windows,
|
||||
_repair_cua_driver_autostart_windows,
|
||||
_remove_quietly,
|
||||
_print_cua_platform_notes,
|
||||
_post_setup_no_window_flags, _cua_driver_cmd, _cua_version_summary, _resolved_cua_driver_cmd,
|
||||
_cua_driver_env, _CUA_DRIVER_CONTRACT_CACHE, _cua_driver_contract_status, _cua_driver_install_ready,
|
||||
_pip_install, _cua_install_target_writable, _cua_driver_version, install_cua_driver,
|
||||
_CUA_INSTALLER_TIMEOUT, _CUA_INSTALLER_DRAIN_GRACE, _CUA_BACKGROUND_UPDATE_TIMEOUT, _CUA_LOCK_STALE_AFTER,
|
||||
_cua_install_home, _cua_install_lock_dir, _cua_windows_install_lock_file,
|
||||
_clear_stale_windows_cua_install_lock, _clear_stale_cua_install_lock, _cua_install_lock_held,
|
||||
_cua_release_endpoint_reachable, _ps_single_quote, _cua_driver_autostart_registered_windows,
|
||||
_repair_cua_driver_autostart_windows, _remove_quietly, _print_cua_platform_notes,
|
||||
_run_cua_driver_installer,
|
||||
)
|
||||
from hermes_cli.tools_config_post_setup import ( # noqa: F401 — re-exported for hermes_cli.tools_config.X callers and test patches
|
||||
_ensure_browser_use_cli,
|
||||
_post_setup_lightpanda,
|
||||
_post_setup_agent_browser,
|
||||
_post_setup_camofox,
|
||||
_KITTENTTS_WHEEL_URL,
|
||||
_PIP_POST_SETUP_HOOKS,
|
||||
_post_setup_pip,
|
||||
_post_setup_spotify,
|
||||
_post_setup_langfuse,
|
||||
_post_setup_xai_grok,
|
||||
_POST_SETUP_HOOKS,
|
||||
_run_post_setup,
|
||||
valid_post_setup_keys,
|
||||
run_post_setup_command,
|
||||
_POST_SETUP_INSTALLED,
|
||||
_post_setup_already_installed,
|
||||
_module_installed,
|
||||
_RESTORABLE_PYTHON_TOOL_DEPENDENCIES,
|
||||
active_restorable_python_tool_dependencies,
|
||||
restorable_python_tool_dependency,
|
||||
_agent_browser_installed,
|
||||
_camofox_installed,
|
||||
_lightpanda_installed,
|
||||
_cloud_agent_browser_installed,
|
||||
_POST_SETUP_READY,
|
||||
_ensure_browser_use_cli, _post_setup_lightpanda, _post_setup_agent_browser, _post_setup_camofox,
|
||||
_KITTENTTS_WHEEL_URL, _PIP_POST_SETUP_HOOKS, _post_setup_pip, _post_setup_spotify, _post_setup_langfuse,
|
||||
_post_setup_xai_grok, _POST_SETUP_HOOKS, _run_post_setup, valid_post_setup_keys, run_post_setup_command,
|
||||
_POST_SETUP_INSTALLED, _post_setup_already_installed, _module_installed,
|
||||
_RESTORABLE_PYTHON_TOOL_DEPENDENCIES, active_restorable_python_tool_dependencies,
|
||||
restorable_python_tool_dependency, _agent_browser_installed, _camofox_installed, _lightpanda_installed,
|
||||
_cloud_agent_browser_installed, _POST_SETUP_READY,
|
||||
)
|
||||
from hermes_cli.tools_config_providers import ( # noqa: F401 — re-exported for hermes_cli.tools_config.X callers and test patches
|
||||
_plugin_provider_rows,
|
||||
_plugin_image_gen_providers,
|
||||
_plugin_video_gen_providers,
|
||||
_plugin_web_search_providers,
|
||||
_plugin_browser_providers,
|
||||
_plugin_tts_providers,
|
||||
web_provider_capabilities,
|
||||
_PLUGIN_ROW_BUILDERS,
|
||||
_visible_providers,
|
||||
provider_readiness_status,
|
||||
_toolset_needs_configuration_prompt,
|
||||
_any_plugin_provider_available,
|
||||
_configure_tool_category,
|
||||
_web_tier_matches,
|
||||
_is_provider_active,
|
||||
_detect_active_provider_index,
|
||||
_fal_model_catalog,
|
||||
IMAGEGEN_BACKENDS,
|
||||
_plugin_model_catalog,
|
||||
_plugin_image_gen_catalog,
|
||||
_plugin_video_gen_catalog,
|
||||
_pick_model_from_catalog,
|
||||
_configure_imagegen_model,
|
||||
_configure_imagegen_model_for_plugin,
|
||||
_configure_videogen_model_for_plugin,
|
||||
_configure_xai_imagine_storage,
|
||||
_select_plugin_gen_provider,
|
||||
_select_plugin_image_gen_provider,
|
||||
_select_plugin_video_gen_provider,
|
||||
STT_MODEL_CATALOG,
|
||||
_STT_MODEL_CONFIG_KEY,
|
||||
_configure_stt_model,
|
||||
_PROVIDER_MARKER_SECTIONS,
|
||||
_write_provider_config,
|
||||
apply_provider_selection,
|
||||
_nous_provider_gate,
|
||||
_finish_provider_selection,
|
||||
_print_provider_selection,
|
||||
_configure_provider,
|
||||
_reconfigure_provider,
|
||||
_configure_vision_backend,
|
||||
_configure_vision_provider_model,
|
||||
_configure_simple_requirements,
|
||||
_plugin_provider_rows, _plugin_image_gen_providers, _plugin_video_gen_providers,
|
||||
_plugin_web_search_providers, _plugin_browser_providers, _plugin_tts_providers, web_provider_capabilities,
|
||||
_PLUGIN_ROW_BUILDERS, _visible_providers, provider_readiness_status, _toolset_needs_configuration_prompt,
|
||||
_any_plugin_provider_available, _configure_tool_category, _web_tier_matches, _is_provider_active,
|
||||
_detect_active_provider_index, _fal_model_catalog, IMAGEGEN_BACKENDS, _plugin_model_catalog,
|
||||
_plugin_image_gen_catalog, _plugin_video_gen_catalog, _pick_model_from_catalog, _configure_imagegen_model,
|
||||
_configure_imagegen_model_for_plugin, _configure_videogen_model_for_plugin,
|
||||
_configure_xai_imagine_storage, _select_plugin_gen_provider, _select_plugin_image_gen_provider,
|
||||
_select_plugin_video_gen_provider, STT_MODEL_CATALOG, _STT_MODEL_CONFIG_KEY, _configure_stt_model,
|
||||
_PROVIDER_MARKER_SECTIONS, _write_provider_config, apply_provider_selection, _nous_provider_gate,
|
||||
_finish_provider_selection, _print_provider_selection, _configure_provider, _reconfigure_provider,
|
||||
_configure_vision_backend, _configure_vision_provider_model, _configure_simple_requirements,
|
||||
)
|
||||
from hermes_cli.tools_config_mcp import ( # noqa: F401 — re-exported for hermes_cli.tools_config.X callers and test patches
|
||||
_mcp_match_filter,
|
||||
_mcp_preselected,
|
||||
_apply_mcp_checklist,
|
||||
_configure_mcp_tools_interactive,
|
||||
_apply_toolset_change,
|
||||
_apply_mcp_change,
|
||||
_print_tools_list,
|
||||
_known_tool_platforms,
|
||||
_mcp_match_filter, _mcp_preselected, _apply_mcp_checklist, _configure_mcp_tools_interactive,
|
||||
_apply_toolset_change, _apply_mcp_change, _print_tools_list, _known_tool_platforms,
|
||||
tools_disable_enable_command,
|
||||
)
|
||||
|
||||
@@ -355,16 +280,12 @@ TOOL_CATEGORIES = {
|
||||
"tts_provider": "openai", "requires_nous_auth": True, "managed_nous_feature": "tts",
|
||||
"override_env_vars": ["VOICE_TOOLS_OPENAI_KEY", "OPENAI_API_KEY"]},
|
||||
{"name": "OpenAI TTS", "badge": "paid", "tag": "High quality voices",
|
||||
"env_vars": [
|
||||
{"key": "VOICE_TOOLS_OPENAI_KEY", "prompt": "OpenAI API key", "url": "https://platform.openai.com/api-keys"},
|
||||
],
|
||||
"env_vars": [{"key": "VOICE_TOOLS_OPENAI_KEY", "prompt": "OpenAI API key", "url": "https://platform.openai.com/api-keys"}],
|
||||
"tts_provider": "openai"},
|
||||
{"name": "xAI TTS", "tag": "Grok voices — uses xAI Grok OAuth or XAI_API_KEY", "env_vars": [],
|
||||
"tts_provider": "xai", "post_setup": "xai_grok"},
|
||||
{"name": "ElevenLabs", "badge": "paid", "tag": "Most natural voices",
|
||||
"env_vars": [
|
||||
{"key": "ELEVENLABS_API_KEY", "prompt": "ElevenLabs API key", "url": "https://elevenlabs.io/app/settings/api-keys"},
|
||||
],
|
||||
"env_vars": [{"key": "ELEVENLABS_API_KEY", "prompt": "ElevenLabs API key", "url": "https://elevenlabs.io/app/settings/api-keys"}],
|
||||
"tts_provider": "elevenlabs"},
|
||||
# Mistral Voxtral TTS — `mistralai` SDK lazy-installs on first use.
|
||||
{"name": "Mistral (Voxtral TTS)", "badge": "paid", "tag": "Multilingual, native Opus",
|
||||
@@ -372,9 +293,7 @@ TOOL_CATEGORIES = {
|
||||
"tts_provider": "mistral"},
|
||||
{"name": "Google Gemini TTS", "badge": "preview",
|
||||
"tag": "30 prebuilt voices, controllable via prompts",
|
||||
"env_vars": [
|
||||
{"key": "GEMINI_API_KEY", "prompt": "Gemini API key", "url": "https://aistudio.google.com/app/apikey"},
|
||||
],
|
||||
"env_vars": [{"key": "GEMINI_API_KEY", "prompt": "Gemini API key", "url": "https://aistudio.google.com/app/apikey"}],
|
||||
"tts_provider": "gemini"},
|
||||
{"name": "KittenTTS", "badge": "local · free",
|
||||
"tag": "Lightweight local ONNX TTS (~25MB), no API key", "env_vars": [],
|
||||
@@ -384,9 +303,7 @@ TOOL_CATEGORIES = {
|
||||
"tts_provider": "piper", "post_setup": "piper"},
|
||||
{"name": "DeepInfra TTS", "badge": "paid",
|
||||
"tag": "Chatterbox, Qwen3-TTS, … — live catalog from api.deepinfra.com",
|
||||
"env_vars": [
|
||||
{"key": "DEEPINFRA_API_KEY", "prompt": "DeepInfra API key", "url": "https://deepinfra.com/dash/api_keys"},
|
||||
],
|
||||
"env_vars": [{"key": "DEEPINFRA_API_KEY", "prompt": "DeepInfra API key", "url": "https://deepinfra.com/dash/api_keys"}],
|
||||
"tts_provider": "deepinfra"},
|
||||
],
|
||||
},
|
||||
@@ -402,9 +319,7 @@ TOOL_CATEGORIES = {
|
||||
"stt_provider": "openai", "requires_nous_auth": True, "managed_nous_feature": "stt",
|
||||
"override_env_vars": ["VOICE_TOOLS_OPENAI_KEY", "OPENAI_API_KEY"]},
|
||||
{"name": "OpenAI", "badge": "paid", "tag": "whisper-1, gpt-4o-transcribe, gpt-transcribe",
|
||||
"env_vars": [
|
||||
{"key": "VOICE_TOOLS_OPENAI_KEY", "prompt": "OpenAI API key", "url": "https://platform.openai.com/api-keys"},
|
||||
],
|
||||
"env_vars": [{"key": "VOICE_TOOLS_OPENAI_KEY", "prompt": "OpenAI API key", "url": "https://platform.openai.com/api-keys"}],
|
||||
"stt_provider": "openai"},
|
||||
{"name": "Groq", "badge": "free tier", "tag": "Whisper large-v3 family — very fast",
|
||||
"env_vars": [{"key": "GROQ_API_KEY", "prompt": "Groq API key", "url": "https://console.groq.com/keys"}],
|
||||
@@ -413,17 +328,13 @@ TOOL_CATEGORIES = {
|
||||
"stt_provider": "xai", "post_setup": "xai_grok"},
|
||||
{"name": "ElevenLabs Scribe", "badge": "paid",
|
||||
"tag": "scribe_v2 — diarization + audio-event tagging",
|
||||
"env_vars": [
|
||||
{"key": "ELEVENLABS_API_KEY", "prompt": "ElevenLabs API key", "url": "https://elevenlabs.io/app/settings/api-keys"},
|
||||
],
|
||||
"env_vars": [{"key": "ELEVENLABS_API_KEY", "prompt": "ElevenLabs API key", "url": "https://elevenlabs.io/app/settings/api-keys"}],
|
||||
"stt_provider": "elevenlabs"},
|
||||
# Mistral Voxtral STT intentionally omitted — mistralai PyPI
|
||||
# package quarantined (malicious 2.4.6 release, 2026-05-12).
|
||||
# Restore alongside the dashboard stt.provider option.
|
||||
{"name": "DeepInfra", "badge": "paid", "tag": "Live STT catalog from api.deepinfra.com",
|
||||
"env_vars": [
|
||||
{"key": "DEEPINFRA_API_KEY", "prompt": "DeepInfra API key", "url": "https://deepinfra.com/dash/api_keys"},
|
||||
],
|
||||
"env_vars": [{"key": "DEEPINFRA_API_KEY", "prompt": "DeepInfra API key", "url": "https://deepinfra.com/dash/api_keys"}],
|
||||
"stt_provider": "deepinfra"},
|
||||
],
|
||||
},
|
||||
@@ -540,9 +451,7 @@ TOOL_CATEGORIES = {
|
||||
"post_setup": "browserbase",
|
||||
},
|
||||
{"name": "Camofox", "badge": "free · local", "tag": "Anti-detection browser (Firefox/Camoufox)",
|
||||
"env_vars": [
|
||||
{"key": "CAMOFOX_URL", "prompt": "Camofox server URL", "default": "http://localhost:9377", "url": "https://github.com/jo-inc/camofox-browser"},
|
||||
],
|
||||
"env_vars": [{"key": "CAMOFOX_URL", "prompt": "Camofox server URL", "default": "http://localhost:9377", "url": "https://github.com/jo-inc/camofox-browser"}],
|
||||
"browser_provider": "camofox", "post_setup": "camofox"},
|
||||
{"name": "Browser Use", "badge": "free · local · cloud", "tag": "New SOTA web harness (CLI 3.0)",
|
||||
"env_vars": [],
|
||||
|
||||
Reference in New Issue
Block a user