diff --git a/.gitignore b/.gitignore index acb32466..b1e74b2c 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,5 @@ docs/* # Used by Claude during deep reviews; never shared in the repo. .local-review/ graphify-out/ +.graphify_cached.json +.graphify_uncached.txt diff --git a/.graphify_cached.json b/.graphify_cached.json deleted file mode 100644 index 354e1f74..00000000 --- a/.graphify_cached.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes": [{"id": "home_fr33m1nd_hermes_webui_src_bootstrap_py", "label": "bootstrap.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/bootstrap.py", "source_location": "L1"}, {"id": "bootstrap_load_repo_dotenv", "label": "_load_repo_dotenv()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/bootstrap.py", "source_location": "L24"}, {"id": "bootstrap_info", "label": "info()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/bootstrap.py", "source_location": "L72"}, {"id": "bootstrap_is_wsl", "label": "is_wsl()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/bootstrap.py", "source_location": "L76"}, {"id": "bootstrap_ensure_supported_platform", "label": "ensure_supported_platform()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/bootstrap.py", "source_location": "L85"}, {"id": "bootstrap_discover_agent_dir", "label": "discover_agent_dir()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/bootstrap.py", "source_location": "L93"}, {"id": "bootstrap_discover_launcher_python", "label": "discover_launcher_python()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/bootstrap.py", "source_location": "L111"}, {"id": "bootstrap_ensure_python_has_webui_deps", "label": "ensure_python_has_webui_deps()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/bootstrap.py", "source_location": "L127"}, {"id": "bootstrap_hermes_command_exists", "label": "hermes_command_exists()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/bootstrap.py", "source_location": "L164"}, {"id": "bootstrap_install_hermes_agent", "label": "install_hermes_agent()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/bootstrap.py", "source_location": "L168"}, {"id": "bootstrap_wait_for_health", "label": "wait_for_health()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/bootstrap.py", "source_location": "L175"}, {"id": "bootstrap_open_browser", "label": "open_browser()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/bootstrap.py", "source_location": "L190"}, {"id": "bootstrap_parse_args", "label": "parse_args()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/bootstrap.py", "source_location": "L197"}, {"id": "bootstrap_main", "label": "main()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/bootstrap.py", "source_location": "L214"}, {"id": "bootstrap_rationale_25", "label": "Load REPO_ROOT/.env into os.environ. Mirrors what start.sh does via ``set -", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/bootstrap.py", "source_location": "L25"}, {"id": "home_fr33m1nd_hermes_webui_src_server_py", "label": "server.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/server.py", "source_location": "L1"}, {"id": "server_quiethttpserver", "label": "QuietHTTPServer", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/server.py", "source_location": "L25"}, {"id": "threadinghttpserver", "label": "ThreadingHTTPServer", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "server_quiethttpserver_handle_error", "label": ".handle_error()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/server.py", "source_location": "L28"}, {"id": "server_handler", "label": "Handler", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/server.py", "source_location": "L47"}, {"id": "basehttprequesthandler", "label": "BaseHTTPRequestHandler", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "server_handler_log_message", "label": ".log_message()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/server.py", "source_location": "L51"}, {"id": "server_handler_log_request", "label": ".log_request()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/server.py", "source_location": "L53"}, {"id": "server_handler_do_get", "label": ".do_GET()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/server.py", "source_location": "L66"}, {"id": "server_handler_do_post", "label": ".do_POST()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/server.py", "source_location": "L84"}, {"id": "server_main", "label": "main()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/server.py", "source_location": "L103"}, {"id": "server_rationale_1", "label": "Hermes Web UI -- Main server entry point. Thin routing shell: imports Handler, d", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/server.py", "source_location": "L1"}, {"id": "server_rationale_26", "label": "Custom HTTP server that silently handles common network errors.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/server.py", "source_location": "L26"}, {"id": "server_rationale_29", "label": "Override to suppress logging for common client disconnect errors.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/server.py", "source_location": "L29"}, {"id": "server_rationale_54", "label": "Structured JSON logs for each request.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/server.py", "source_location": "L54"}, {"id": "home_fr33m1nd_hermes_webui_src_api_profiles_py", "label": "profiles.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L1"}, {"id": "profiles_resolve_base_hermes_home", "label": "_resolve_base_hermes_home()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L40"}, {"id": "profiles_read_active_profile_file", "label": "_read_active_profile_file()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L79"}, {"id": "profiles_get_active_profile_name", "label": "get_active_profile_name()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L94"}, {"id": "profiles_set_request_profile", "label": "set_request_profile()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L107"}, {"id": "profiles_clear_request_profile", "label": "clear_request_profile()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L117"}, {"id": "profiles_get_active_hermes_home", "label": "get_active_hermes_home()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L126"}, {"id": "profiles_get_hermes_home_for_profile", "label": "get_hermes_home_for_profile()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L142"}, {"id": "profiles_set_hermes_home", "label": "_set_hermes_home()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L161"}, {"id": "profiles_reload_dotenv", "label": "_reload_dotenv()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L184"}, {"id": "profiles_init_profile_state", "label": "init_profile_state()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L218"}, {"id": "profiles_switch_profile", "label": "switch_profile()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L231"}, {"id": "profiles_list_profiles_api", "label": "list_profiles_api()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L318"}, {"id": "profiles_default_profile_dict", "label": "_default_profile_dict()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L344"}, {"id": "profiles_validate_profile_name", "label": "_validate_profile_name()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L359"}, {"id": "profiles_profiles_root", "label": "_profiles_root()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L371"}, {"id": "profiles_resolve_named_profile_home", "label": "_resolve_named_profile_home()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L376"}, {"id": "profiles_create_profile_fallback", "label": "_create_profile_fallback()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L389"}, {"id": "profiles_write_endpoint_to_config", "label": "_write_endpoint_to_config()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L416"}, {"id": "profiles_create_profile_api", "label": "create_profile_api()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L444"}, {"id": "profiles_delete_profile_api", "label": "delete_profile_api()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L503"}, {"id": "profiles_rationale_1", "label": "Hermes Web UI -- Profile state management. Wraps hermes_cli.profiles to provide", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L1"}, {"id": "profiles_rationale_41", "label": "Return the BASE ~/.hermes directory \u2014 the root that contains profiles/. Thi", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L41"}, {"id": "profiles_rationale_80", "label": "Read the sticky active profile from ~/.hermes/active_profile.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L80"}, {"id": "profiles_rationale_95", "label": "Return the currently active profile name. Priority: 1. Thread-local (", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L95"}, {"id": "profiles_rationale_108", "label": "Set the per-request profile context for this thread. Called by server.py at", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L108"}, {"id": "profiles_rationale_118", "label": "Clear the per-request profile context for this thread. Called by server.py", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L118"}, {"id": "profiles_rationale_127", "label": "Return the HERMES_HOME path for the currently active profile. Uses get_acti", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L127"}, {"id": "profiles_rationale_143", "label": "Return the HERMES_HOME Path for *name* without mutating any process state.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L143"}, {"id": "profiles_rationale_162", "label": "Set HERMES_HOME env var and monkey-patch cached module-level paths.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L162"}, {"id": "profiles_rationale_185", "label": "Load .env from the profile dir into os.environ with profile isolation. Clea", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L185"}, {"id": "profiles_rationale_219", "label": "Initialize profile state at server startup. Reads ~/.hermes/active_profile,", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L219"}, {"id": "profiles_rationale_232", "label": "Switch the active profile. Validates the profile exists, updates process st", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L232"}, {"id": "profiles_rationale_319", "label": "List all profiles with metadata, serialized for JSON response.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L319"}, {"id": "profiles_rationale_345", "label": "Fallback profile dict when hermes_cli is not importable.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L345"}, {"id": "profiles_rationale_360", "label": "Validate profile name format (matches hermes_cli.profiles upstream).", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L360"}, {"id": "profiles_rationale_372", "label": "Return the canonical root that contains named profiles.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L372"}, {"id": "profiles_rationale_377", "label": "Resolve a named profile to a directory under the profiles root. Validates *", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L377"}, {"id": "profiles_rationale_391", "label": "Create a profile directory without hermes_cli (Docker/standalone fallback).", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L391"}, {"id": "profiles_rationale_417", "label": "Write custom endpoint fields into config.yaml for a profile.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L417"}, {"id": "profiles_rationale_448", "label": "Create a new profile. Returns the new profile info dict.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L448"}, {"id": "profiles_rationale_504", "label": "Delete a profile. Switches to default first if it's the active one.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/profiles.py", "source_location": "L504"}, {"id": "home_fr33m1nd_hermes_webui_src_api_commands_py", "label": "commands.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/commands.py", "source_location": "L1"}, {"id": "commands_list_commands", "label": "list_commands()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/commands.py", "source_location": "L23"}, {"id": "commands_rationale_1", "label": "Expose hermes-agent's COMMAND_REGISTRY to the webui frontend. This module is th", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/commands.py", "source_location": "L1"}, {"id": "commands_rationale_24", "label": "Return COMMAND_REGISTRY entries as JSON-friendly dicts. Returns empty list", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/commands.py", "source_location": "L24"}, {"id": "home_fr33m1nd_hermes_webui_src_api_onboarding_py", "label": "onboarding.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L1"}, {"id": "onboarding_get_active_hermes_home", "label": "_get_active_hermes_home()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L71"}, {"id": "onboarding_load_env_file", "label": "_load_env_file()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L80"}, {"id": "onboarding_write_env_file", "label": "_write_env_file()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L96"}, {"id": "onboarding_load_yaml_config", "label": "_load_yaml_config()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L117"}, {"id": "onboarding_save_yaml_config", "label": "_save_yaml_config()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L132"}, {"id": "onboarding_normalize_model_for_provider", "label": "_normalize_model_for_provider()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L145"}, {"id": "onboarding_normalize_base_url", "label": "_normalize_base_url()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L154"}, {"id": "onboarding_extract_current_provider", "label": "_extract_current_provider()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L158"}, {"id": "onboarding_extract_current_model", "label": "_extract_current_model()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L167"}, {"id": "onboarding_extract_current_base_url", "label": "_extract_current_base_url()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L176"}, {"id": "onboarding_provider_api_key_present", "label": "_provider_api_key_present()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L183"}, {"id": "onboarding_oauth_payload_has_token", "label": "_oauth_payload_has_token()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L233"}, {"id": "onboarding_provider_oauth_authenticated", "label": "_provider_oauth_authenticated()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L254"}, {"id": "onboarding_status_from_runtime", "label": "_status_from_runtime()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L295"}, {"id": "onboarding_build_setup_catalog", "label": "_build_setup_catalog()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L371"}, {"id": "onboarding_get_onboarding_status", "label": "get_onboarding_status()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L413"}, {"id": "onboarding_apply_onboarding_setup", "label": "apply_onboarding_setup()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L465"}, {"id": "onboarding_complete_onboarding", "label": "complete_onboarding()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L566"}, {"id": "onboarding_rationale_1", "label": "Hermes Web UI -- first-run onboarding helpers.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L1"}, {"id": "onboarding_rationale_234", "label": "Return True if an auth payload contains usable token material.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L234"}, {"id": "onboarding_rationale_255", "label": "Return True if the provider has valid OAuth credentials. Reads the profile-", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/onboarding.py", "source_location": "L255"}, {"id": "home_fr33m1nd_hermes_webui_src_api_providers_py", "label": "providers.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/providers.py", "source_location": "L1"}, {"id": "providers_get_hermes_home", "label": "_get_hermes_home()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/providers.py", "source_location": "L58"}, {"id": "providers_load_env_file", "label": "_load_env_file()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/providers.py", "source_location": "L67"}, {"id": "providers_write_env_file", "label": "_write_env_file()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/providers.py", "source_location": "L84"}, {"id": "providers_provider_has_key", "label": "_provider_has_key()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/providers.py", "source_location": "L117"}, {"id": "providers_provider_is_oauth", "label": "_provider_is_oauth()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/providers.py", "source_location": "L159"}, {"id": "providers_get_providers", "label": "get_providers()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/providers.py", "source_location": "L167"}, {"id": "providers_set_provider_key", "label": "set_provider_key()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/providers.py", "source_location": "L259"}, {"id": "providers_remove_provider_key", "label": "remove_provider_key()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/providers.py", "source_location": "L317"}, {"id": "providers_rationale_1", "label": "Hermes Web UI -- provider management endpoints. Provides CRUD operations for co", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/providers.py", "source_location": "L1"}, {"id": "providers_rationale_59", "label": "Return the active Hermes home directory.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/providers.py", "source_location": "L59"}, {"id": "providers_rationale_68", "label": "Read key=value pairs from a .env file.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/providers.py", "source_location": "L68"}, {"id": "providers_rationale_85", "label": "Write key=value pairs to the .env file. Values of ``None`` cause the key to", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/providers.py", "source_location": "L85"}, {"id": "providers_rationale_118", "label": "Check whether a provider has a configured API key. Checks (in order): 1", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/providers.py", "source_location": "L118"}, {"id": "providers_rationale_160", "label": "Check whether a provider uses OAuth/token flows (managed by CLI).", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/providers.py", "source_location": "L160"}, {"id": "providers_rationale_168", "label": "Return a list of all known providers with their configuration status. Each", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/providers.py", "source_location": "L168"}, {"id": "providers_rationale_260", "label": "Set or update the API key for a provider. Writes the key to ``~/.hermes/.en", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/providers.py", "source_location": "L260"}, {"id": "providers_rationale_318", "label": "Remove the API key for a provider. Convenience wrapper around ``set_provide", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/providers.py", "source_location": "L318"}, {"id": "home_fr33m1nd_hermes_webui_src_api_gateway_watcher_py", "label": "gateway_watcher.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L1"}, {"id": "gateway_watcher_snapshot_hash", "label": "_snapshot_hash()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L28"}, {"id": "gateway_watcher_get_state_db_path", "label": "_get_state_db_path()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L39"}, {"id": "gateway_watcher_get_agent_sessions_from_db", "label": "_get_agent_sessions_from_db()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L49"}, {"id": "gateway_watcher_gatewaywatcher", "label": "GatewayWatcher", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L91"}, {"id": "gateway_watcher_gatewaywatcher_init", "label": ".__init__()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L106"}, {"id": "gateway_watcher_gatewaywatcher_start", "label": ".start()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L114"}, {"id": "gateway_watcher_gatewaywatcher_is_alive", "label": ".is_alive()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L122"}, {"id": "gateway_watcher_gatewaywatcher_stop", "label": ".stop()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L135"}, {"id": "gateway_watcher_gatewaywatcher_subscribe", "label": ".subscribe()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L149"}, {"id": "gateway_watcher_gatewaywatcher_unsubscribe", "label": ".unsubscribe()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L159"}, {"id": "gateway_watcher_gatewaywatcher_notify_subscribers", "label": "._notify_subscribers()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L167"}, {"id": "gateway_watcher_gatewaywatcher_poll_loop", "label": "._poll_loop()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L194"}, {"id": "gateway_watcher_start_watcher", "label": "start_watcher()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L221"}, {"id": "gateway_watcher_stop_watcher", "label": "stop_watcher()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L230"}, {"id": "gateway_watcher_get_watcher", "label": "get_watcher()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L239"}, {"id": "gateway_watcher_rationale_1", "label": "Hermes Web UI -- Gateway session watcher. Background daemon thread that polls s", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L1"}, {"id": "gateway_watcher_rationale_29", "label": "Create a lightweight hash of session IDs and timestamps for change detection.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L29"}, {"id": "gateway_watcher_rationale_40", "label": "Resolve state.db path for the active profile.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L40"}, {"id": "gateway_watcher_rationale_50", "label": "Read all non-webui sessions from state.db. Returns list of session dicts, or", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L50"}, {"id": "gateway_watcher_rationale_92", "label": "Background thread that polls state.db for agent session changes. Usage:", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L92"}, {"id": "gateway_watcher_rationale_115", "label": "Start the watcher daemon thread.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L115"}, {"id": "gateway_watcher_rationale_123", "label": "Return True when the poll thread is running. Public accessor used by ``", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L123"}, {"id": "gateway_watcher_rationale_136", "label": "Stop the watcher thread.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L136"}, {"id": "gateway_watcher_rationale_150", "label": "Subscribe to change events. Returns a queue.Queue. Events are dicts: {'t", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L150"}, {"id": "gateway_watcher_rationale_160", "label": "Remove a subscriber queue.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L160"}, {"id": "gateway_watcher_rationale_168", "label": "Push change event to all subscribers.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L168"}, {"id": "gateway_watcher_rationale_195", "label": "Main polling loop. Runs in a daemon thread.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L195"}, {"id": "gateway_watcher_rationale_222", "label": "Start the global gateway watcher (idempotent).", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L222"}, {"id": "gateway_watcher_rationale_231", "label": "Stop the global gateway watcher.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L231"}, {"id": "gateway_watcher_rationale_240", "label": "Get the global watcher instance (or None if not started).", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/gateway_watcher.py", "source_location": "L240"}, {"id": "home_fr33m1nd_hermes_webui_src_api_auth_py", "label": "auth.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L1"}, {"id": "auth_check_login_rate", "label": "_check_login_rate()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L35"}, {"id": "auth_record_login_attempt", "label": "_record_login_attempt()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L44"}, {"id": "auth_signing_key", "label": "_signing_key()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L51"}, {"id": "auth_hash_password", "label": "_hash_password()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L72"}, {"id": "auth_get_password_hash", "label": "get_password_hash()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L83"}, {"id": "auth_is_auth_enabled", "label": "is_auth_enabled()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L93"}, {"id": "auth_verify_password", "label": "verify_password()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L98"}, {"id": "auth_create_session", "label": "create_session()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L106"}, {"id": "auth_prune_expired_sessions", "label": "_prune_expired_sessions()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L114"}, {"id": "auth_verify_session", "label": "verify_session()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L121"}, {"id": "auth_invalidate_session", "label": "invalidate_session()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L137"}, {"id": "auth_parse_cookie", "label": "parse_cookie()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L144"}, {"id": "auth_check_auth", "label": "check_auth()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L158"}, {"id": "auth_set_auth_cookie", "label": "set_auth_cookie()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L183"}, {"id": "auth_clear_auth_cookie", "label": "clear_auth_cookie()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L197"}, {"id": "auth_rationale_1", "label": "Hermes Web UI -- Optional password authentication. Off by default. Enable by set", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L1"}, {"id": "auth_rationale_36", "label": "Return True if the IP is allowed to attempt login.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L36"}, {"id": "auth_rationale_52", "label": "Return a random signing key, generating and persisting one on first call.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L52"}, {"id": "auth_rationale_73", "label": "PBKDF2-SHA256 with 600k iterations (OWASP recommendation). Salt is the persi", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L73"}, {"id": "auth_rationale_84", "label": "Return the active password hash, or None if auth is disabled. Priority: env", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L84"}, {"id": "auth_rationale_94", "label": "True if a password is configured (env var or settings).", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L94"}, {"id": "auth_rationale_99", "label": "Verify a plaintext password against the stored hash.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L99"}, {"id": "auth_rationale_107", "label": "Create a new auth session. Returns signed cookie value.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L107"}, {"id": "auth_rationale_115", "label": "Remove all expired session entries to prevent unbounded memory growth.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L115"}, {"id": "auth_rationale_122", "label": "Verify a signed session cookie. Returns True if valid and not expired.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L122"}, {"id": "auth_rationale_138", "label": "Remove a session token.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L138"}, {"id": "auth_rationale_145", "label": "Extract the auth cookie from the request headers.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L145"}, {"id": "auth_rationale_159", "label": "Check if request is authorized. Returns True if OK. If not authorized, sends", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L159"}, {"id": "auth_rationale_184", "label": "Set the auth cookie on the response.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L184"}, {"id": "auth_rationale_198", "label": "Clear the auth cookie on the response.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/auth.py", "source_location": "L198"}, {"id": "home_fr33m1nd_hermes_webui_src_api_config_py", "label": "config.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L1"}, {"id": "config_discover_agent_dir", "label": "_discover_agent_dir()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L57"}, {"id": "config_discover_python", "label": "_discover_python()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L101"}, {"id": "config_get_config_path", "label": "_get_config_path()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L172"}, {"id": "config_get_config", "label": "get_config()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L185"}, {"id": "config_reload_config", "label": "reload_config()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L192"}, {"id": "config_load_yaml_config_file", "label": "_load_yaml_config_file()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L213"}, {"id": "config_save_yaml_config_file", "label": "_save_yaml_config_file()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L229"}, {"id": "config_workspace_candidates", "label": "_workspace_candidates()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L248"}, {"id": "config_ensure_workspace_dir", "label": "_ensure_workspace_dir()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L279"}, {"id": "config_resolve_default_workspace", "label": "resolve_default_workspace()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L290"}, {"id": "config_discover_default_workspace", "label": "_discover_default_workspace()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L302"}, {"id": "config_print_startup_config", "label": "print_startup_config()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L319"}, {"id": "config_verify_hermes_imports", "label": "verify_hermes_imports()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L355"}, {"id": "config_resolve_cli_toolsets", "label": "_resolve_cli_toolsets()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L442"}, {"id": "config_resolve_provider_alias", "label": "_resolve_provider_alias()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L561"}, {"id": "config_is_ambient_gh_cli_entry", "label": "_is_ambient_gh_cli_entry()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L730"}, {"id": "config_format_ollama_label", "label": "_format_ollama_label()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L742"}, {"id": "config_apply_provider_prefix", "label": "_apply_provider_prefix()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L768"}, {"id": "config_resolve_model_provider", "label": "resolve_model_provider()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L791"}, {"id": "config_get_effective_default_model", "label": "get_effective_default_model()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L875"}, {"id": "config_parse_reasoning_effort", "label": "parse_reasoning_effort()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L903"}, {"id": "config_get_reasoning_status", "label": "get_reasoning_status()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L921"}, {"id": "config_set_reasoning_display", "label": "set_reasoning_display()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L941"}, {"id": "config_set_reasoning_effort", "label": "set_reasoning_effort()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L961"}, {"id": "config_set_hermes_default_model", "label": "set_hermes_default_model()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L989"}, {"id": "config_invalidate_models_cache", "label": "invalidate_models_cache()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L1042"}, {"id": "config_get_available_models", "label": "get_available_models()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L1055"}, {"id": "config_set_thread_env", "label": "_set_thread_env()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L1652"}, {"id": "config_clear_thread_env", "label": "_clear_thread_env()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L1656"}, {"id": "config_get_session_agent_lock", "label": "_get_session_agent_lock()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L1665"}, {"id": "config_normalize_appearance", "label": "_normalize_appearance()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L1715"}, {"id": "config_load_settings", "label": "load_settings()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L1753"}, {"id": "config_save_settings", "label": "save_settings()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L1807"}, {"id": "config_rationale_1", "label": "Hermes Web UI -- Shared configuration, constants, and global state. Imported by", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L1"}, {"id": "config_rationale_58", "label": "Locate the hermes-agent checkout using a multi-strategy search. Priority:", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L58"}, {"id": "config_rationale_102", "label": "Locate a Python executable that has the Hermes agent dependencies installed.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L102"}, {"id": "config_rationale_173", "label": "Return config.yaml path for the active profile.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L173"}, {"id": "config_rationale_186", "label": "Return the cached config dict, loading from disk if needed.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L186"}, {"id": "config_rationale_193", "label": "Reload config.yaml from the active profile's directory.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L193"}, {"id": "config_rationale_249", "label": "Return ordered candidate workspace paths, de-duplicated.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L249"}, {"id": "config_rationale_280", "label": "Best-effort check that a workspace directory exists and is writable.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L280"}, {"id": "config_rationale_291", "label": "Return the first usable workspace path, creating it when possible.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L291"}, {"id": "config_rationale_303", "label": "Resolve the default workspace in order: 1. HERMES_WEBUI_DEFAULT_WORKSPACE", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L303"}, {"id": "config_rationale_320", "label": "Print detected configuration at startup so the user can verify what was found.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L320"}, {"id": "config_rationale_356", "label": "Attempt to import the key Hermes modules. Returns (ok: bool, missing: list[s", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L356"}, {"id": "config_rationale_443", "label": "Resolve CLI toolsets using the agent's _get_platform_tools() so that MCP ser", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L443"}, {"id": "config_rationale_562", "label": "Return the canonical provider slug for *name*. Applies the WebUI's local al", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L562"}, {"id": "config_rationale_731", "label": "True when a credential-pool entry is a seeded gh-cli token rather than one t", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L731"}, {"id": "config_rationale_743", "label": "Turn an Ollama model id (Ollama tag format) into a readable display label.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L743"}, {"id": "config_rationale_773", "label": "Return *raw_models* with @provider: prefixes applied when needed. Prefixing", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L773"}, {"id": "config_rationale_792", "label": "Resolve model name, provider, and base_url for AIAgent. Model IDs from the", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L792"}, {"id": "config_rationale_876", "label": "Resolve the effective Hermes default model from config, then env overrides.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L876"}, {"id": "config_rationale_904", "label": "Parse an effort level into the dict the agent expects. Returns None when *e", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L904"}, {"id": "config_rationale_922", "label": "Return current reasoning configuration from the active profile's config.yaml", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L922"}, {"id": "config_rationale_942", "label": "Persist ``display.show_reasoning`` to the active profile's config.yaml. Mir", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L942"}, {"id": "config_rationale_962", "label": "Persist ``agent.reasoning_effort`` to the active profile's config.yaml. Mir", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L962"}, {"id": "config_rationale_990", "label": "Persist the Hermes default model in config.yaml and reload runtime config.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L990"}, {"id": "config_rationale_1043", "label": "Force the TTL cache for get_available_models() to be cleared. Call this aft", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L1043"}, {"id": "config_rationale_1056", "label": "Return available models grouped by provider. Discovery order: 1. Read", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L1056"}, {"id": "config_rationale_1716", "label": "Normalize a (theme, skin) pair, migrating legacy theme names. Legacy migrat", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L1716"}, {"id": "config_rationale_1754", "label": "Load settings from disk, merging with defaults for any missing keys.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L1754"}, {"id": "config_rationale_1808", "label": "Save settings to disk. Returns the merged settings. Ignores unknown keys.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/config.py", "source_location": "L1808"}, {"id": "home_fr33m1nd_hermes_webui_src_api_streaming_py", "label": "streaming.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L1"}, {"id": "streaming_get_ai_agent", "label": "_get_ai_agent()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L39"}, {"id": "streaming_strip_thinking_markup", "label": "_strip_thinking_markup()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L64"}, {"id": "streaming_strip_xml_tool_calls", "label": "_strip_xml_tool_calls()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L86"}, {"id": "streaming_sanitize_generated_title", "label": "_sanitize_generated_title()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L105"}, {"id": "streaming_looks_invalid_generated_title", "label": "_looks_invalid_generated_title()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L123"}, {"id": "streaming_message_text", "label": "_message_text()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L142"}, {"id": "streaming_first_exchange_snippets", "label": "_first_exchange_snippets()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L156"}, {"id": "streaming_is_provisional_title", "label": "_is_provisional_title()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L191"}, {"id": "streaming_title_prompts", "label": "_title_prompts()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L203"}, {"id": "streaming_is_minimax_route", "label": "_is_minimax_route()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L228"}, {"id": "streaming_title_completion_budget", "label": "_title_completion_budget()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L237"}, {"id": "streaming_generate_title_raw_via_aux", "label": "generate_title_raw_via_aux()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L243"}, {"id": "streaming_generate_title_raw_via_agent", "label": "generate_title_raw_via_agent()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L293"}, {"id": "streaming_generate_llm_session_title_for_agent", "label": "_generate_llm_session_title_for_agent()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L381"}, {"id": "streaming_generate_llm_session_title_via_aux", "label": "_generate_llm_session_title_via_aux()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L392"}, {"id": "streaming_put_title_status", "label": "_put_title_status()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L409"}, {"id": "streaming_fallback_title_from_exchange", "label": "_fallback_title_from_exchange()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L428"}, {"id": "streaming_run_background_title_update", "label": "_run_background_title_update()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L507"}, {"id": "streaming_sanitize_messages_for_api", "label": "_sanitize_messages_for_api()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L560"}, {"id": "streaming_api_safe_message_positions", "label": "_api_safe_message_positions()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L606"}, {"id": "streaming_restore_reasoning_metadata", "label": "_restore_reasoning_metadata()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L634"}, {"id": "streaming_tool_result_snippet", "label": "_tool_result_snippet()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L688"}, {"id": "streaming_truncate_tool_args", "label": "_truncate_tool_args()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L700"}, {"id": "streaming_nearest_assistant_msg_idx", "label": "_nearest_assistant_msg_idx()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L711"}, {"id": "streaming_extract_tool_calls_from_messages", "label": "_extract_tool_calls_from_messages()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L720"}, {"id": "streaming_sse", "label": "_sse()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L792"}, {"id": "streaming_run_agent_streaming", "label": "_run_agent_streaming()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L799"}, {"id": "streaming_cancel_stream", "label": "cancel_stream()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L1588"}, {"id": "streaming_rationale_1", "label": "Hermes Web UI -- SSE streaming engine and agent thread runner. Includes Sprint 1", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L1"}, {"id": "streaming_rationale_40", "label": "Return AIAgent class, retrying the import if the initial attempt failed. au", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L40"}, {"id": "streaming_rationale_65", "label": "Remove common reasoning/thinking wrappers from model text.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L65"}, {"id": "streaming_rationale_87", "label": "Strip XML-style function_calls blocks that DeepSeek and similar models emit", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L87"}, {"id": "streaming_rationale_106", "label": "Sanitize LLM-generated title text before persisting to session.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L106"}, {"id": "streaming_rationale_143", "label": "Extract plain text from mixed message content payloads.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L143"}, {"id": "streaming_rationale_157", "label": "Return (first_user_text, first_assistant_text) snippets for title generation.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L157"}, {"id": "streaming_rationale_192", "label": "Heuristic: title equals first-message substring placeholder.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L192"}, {"id": "streaming_rationale_250", "label": "Return (raw_text, status) via auxiliary LLM route.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L250"}, {"id": "streaming_rationale_294", "label": "Return (raw_text, status) via active-agent route.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L294"}, {"id": "streaming_rationale_382", "label": "Generate a title via active-agent route, then sanitize/validate result.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L382"}, {"id": "streaming_rationale_393", "label": "Generate a title via dedicated auxiliary LLM route, then sanitize/validate resul", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L393"}, {"id": "streaming_rationale_429", "label": "Generate a readable local fallback title when LLM title generation fails.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L429"}, {"id": "streaming_rationale_508", "label": "Generate and publish a better title after `done`, then end the stream.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L508"}, {"id": "streaming_rationale_561", "label": "Return a deep copy of messages with only API-safe fields. The webui stores", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L561"}, {"id": "streaming_rationale_607", "label": "Return [(original_index, sanitized_message)] for API-safe messages.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L607"}, {"id": "streaming_rationale_635", "label": "Carry forward display-only metadata lost during API-safe history sanitization.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L635"}, {"id": "streaming_rationale_689", "label": "Extract a compact result preview from a stored tool message payload.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L689"}, {"id": "streaming_rationale_701", "label": "Truncate tool args for compact session persistence.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L701"}, {"id": "streaming_rationale_712", "label": "Find the closest preceding assistant message index for a tool result.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L712"}, {"id": "streaming_rationale_721", "label": "Build persisted tool-call summaries from final messages plus live progress fallb", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L721"}, {"id": "streaming_rationale_793", "label": "Write one SSE event to the response stream.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L793"}, {"id": "streaming_rationale_800", "label": "Run agent in background thread, writing SSE events to STREAMS[stream_id].", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L800"}, {"id": "streaming_rationale_1589", "label": "Signal an in-flight stream to cancel. Returns True if the stream existed. E", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/streaming.py", "source_location": "L1589"}, {"id": "home_fr33m1nd_hermes_webui_src_api_session_ops_py", "label": "session_ops.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/session_ops.py", "source_location": "L1"}, {"id": "session_ops_retry_last", "label": "retry_last()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/session_ops.py", "source_location": "L18"}, {"id": "session_ops_undo_last", "label": "undo_last()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/session_ops.py", "source_location": "L65"}, {"id": "session_ops_session_status", "label": "session_status()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/session_ops.py", "source_location": "L99"}, {"id": "session_ops_session_usage", "label": "session_usage()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/session_ops.py", "source_location": "L121"}, {"id": "session_ops_extract_text", "label": "_extract_text()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/session_ops.py", "source_location": "L140"}, {"id": "session_ops_rationale_1", "label": "Session-mutation operations for slash commands (/retry, /undo) and read-only agg", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/session_ops.py", "source_location": "L1"}, {"id": "session_ops_rationale_19", "label": "Truncate the session to before the last user message, return its text. Mirr", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/session_ops.py", "source_location": "L19"}, {"id": "session_ops_rationale_66", "label": "Remove the most recent user message and everything after it. Mirrors gatewa", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/session_ops.py", "source_location": "L66"}, {"id": "session_ops_rationale_100", "label": "Return a snapshot of session state for /status. Webui equivalent of gateway", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/session_ops.py", "source_location": "L100"}, {"id": "session_ops_rationale_122", "label": "Return token usage and cost for /usage. Mirrors gateway/run.py:_handle_usag", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/session_ops.py", "source_location": "L122"}, {"id": "session_ops_rationale_141", "label": "Flatten message content to plain text. Agent stores either a string or a lis", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/session_ops.py", "source_location": "L141"}, {"id": "home_fr33m1nd_hermes_webui_src_api_helpers_py", "label": "helpers.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L1"}, {"id": "helpers_require", "label": "require()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L10"}, {"id": "helpers_bad", "label": "bad()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L17"}, {"id": "helpers_sanitize_error", "label": "_sanitize_error()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L22"}, {"id": "helpers_safe_resolve", "label": "safe_resolve()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L31"}, {"id": "helpers_security_headers", "label": "_security_headers()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L38"}, {"id": "helpers_j", "label": "j()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L57"}, {"id": "helpers_t", "label": "t()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L76"}, {"id": "helpers_build_redact_fn", "label": "_build_redact_fn()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L93"}, {"id": "helpers_redact_value", "label": "_redact_value()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L146"}, {"id": "helpers_redact_session_data", "label": "redact_session_data()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L157"}, {"id": "helpers_read_body", "label": "read_body()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L173"}, {"id": "helpers_get_profile_cookie", "label": "get_profile_cookie()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L190"}, {"id": "helpers_build_profile_cookie", "label": "build_profile_cookie()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L211"}, {"id": "helpers_rationale_1", "label": "Hermes Web UI -- HTTP helper functions.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L1"}, {"id": "helpers_rationale_11", "label": "Phase D: Validate required fields. Raises ValueError with clean message.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L11"}, {"id": "helpers_rationale_18", "label": "Return a clean JSON error response.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L18"}, {"id": "helpers_rationale_23", "label": "Strip filesystem paths from exception messages before returning to client.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L23"}, {"id": "helpers_rationale_32", "label": "Resolve a relative path inside root, raising ValueError on traversal.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L32"}, {"id": "helpers_rationale_39", "label": "Add security headers to every response.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L39"}, {"id": "helpers_rationale_58", "label": "Send a JSON response. *extra_headers*: optional dict of additional headers", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L58"}, {"id": "helpers_rationale_77", "label": "Send a plain text or HTML response.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L77"}, {"id": "helpers_rationale_94", "label": "Return redact_sensitive_text from hermes-agent if available, else a fallback.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L94"}, {"id": "helpers_rationale_147", "label": "Recursively redact credentials from strings, dicts, and lists.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L147"}, {"id": "helpers_rationale_158", "label": "Redact credentials from message content and tool_call data before API response.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L158"}, {"id": "helpers_rationale_174", "label": "Read and JSON-parse a POST request body (capped at 20MB).", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L174"}, {"id": "helpers_rationale_191", "label": "Extract the hermes_profile cookie value from the request, or None.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L191"}, {"id": "helpers_rationale_212", "label": "Build a Set-Cookie header value for the hermes_profile cookie. Always persi", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/helpers.py", "source_location": "L212"}, {"id": "home_fr33m1nd_hermes_webui_src_api_clarify_py", "label": "clarify.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/clarify.py", "source_location": "L1"}, {"id": "clarify_clarifyentry", "label": "_ClarifyEntry", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/clarify.py", "source_location": "L19"}, {"id": "clarify_clarifyentry_init", "label": ".__init__()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/clarify.py", "source_location": "L24"}, {"id": "clarify_register_gateway_notify", "label": "register_gateway_notify()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/clarify.py", "source_location": "L30"}, {"id": "clarify_clear_queue_locked", "label": "_clear_queue_locked()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/clarify.py", "source_location": "L36"}, {"id": "clarify_unregister_gateway_notify", "label": "unregister_gateway_notify()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/clarify.py", "source_location": "L42"}, {"id": "clarify_clear_pending", "label": "clear_pending()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/clarify.py", "source_location": "L51"}, {"id": "clarify_submit_pending", "label": "submit_pending()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/clarify.py", "source_location": "L60"}, {"id": "clarify_get_pending", "label": "get_pending()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/clarify.py", "source_location": "L96"}, {"id": "clarify_has_pending", "label": "has_pending()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/clarify.py", "source_location": "L106"}, {"id": "clarify_resolve_clarify", "label": "resolve_clarify()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/clarify.py", "source_location": "L111"}, {"id": "clarify_rationale_1", "label": "Clarify prompt state for the WebUI. This mirrors the approval flow structure, b", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/clarify.py", "source_location": "L1"}, {"id": "clarify_rationale_20", "label": "One pending clarify request inside a session.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/clarify.py", "source_location": "L20"}, {"id": "clarify_rationale_31", "label": "Register a per-session callback for sending clarify requests to the UI.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/clarify.py", "source_location": "L31"}, {"id": "clarify_rationale_43", "label": "Unregister the per-session callback and unblock any waiting clarify prompt.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/clarify.py", "source_location": "L43"}, {"id": "clarify_rationale_52", "label": "Clear any pending clarify prompts for the session without removing the callback.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/clarify.py", "source_location": "L52"}, {"id": "clarify_rationale_61", "label": "Queue a pending clarify request and notify the UI callback if registered.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/clarify.py", "source_location": "L61"}, {"id": "clarify_rationale_97", "label": "Return the oldest pending clarify request for this session, if any.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/clarify.py", "source_location": "L97"}, {"id": "clarify_rationale_112", "label": "Resolve the oldest pending clarify request for a session.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/clarify.py", "source_location": "L112"}, {"id": "home_fr33m1nd_hermes_webui_src_api_updates_py", "label": "updates.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L1"}, {"id": "updates_run_git", "label": "_run_git()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L31"}, {"id": "updates_detect_webui_version", "label": "_detect_webui_version()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L56"}, {"id": "updates_split_remote_ref", "label": "_split_remote_ref()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L98"}, {"id": "updates_detect_default_branch", "label": "_detect_default_branch()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L109"}, {"id": "updates_check_repo", "label": "_check_repo()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L123"}, {"id": "updates_check_for_updates", "label": "check_for_updates()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L162"}, {"id": "updates_schedule_restart", "label": "_schedule_restart()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L186"}, {"id": "updates_apply_force_update", "label": "apply_force_update()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L231"}, {"id": "updates_apply_update", "label": "apply_update()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L291"}, {"id": "updates_apply_update_inner", "label": "_apply_update_inner()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L301"}, {"id": "updates_rationale_1", "label": "Hermes Web UI -- Self-update checker. Checks if the webui and hermes-agent git", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L1"}, {"id": "updates_rationale_32", "label": "Run a git command and return (useful output, ok). On failure, returns stder", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L32"}, {"id": "updates_rationale_57", "label": "Detect the running WebUI version from git or a baked-in fallback file. Reso", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L57"}, {"id": "updates_rationale_99", "label": "Split 'origin/branch-name' into ('origin', 'branch-name'). Returns (None, r", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L99"}, {"id": "updates_rationale_110", "label": "Detect the remote default branch (master or main).", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L110"}, {"id": "updates_rationale_124", "label": "Check if a git repo is behind its upstream. Returns dict or None.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L124"}, {"id": "updates_rationale_163", "label": "Return cached update status for webui and agent repos.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L163"}, {"id": "updates_rationale_187", "label": "Re-exec this process after *delay* seconds. Called after a successful updat", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L187"}, {"id": "updates_rationale_232", "label": "Force-reset the target repo to the latest remote HEAD. Unlike apply_update(", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L232"}, {"id": "updates_rationale_292", "label": "Stash, pull --ff-only, pop for the given target repo.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L292"}, {"id": "updates_rationale_302", "label": "Inner implementation of apply_update, called under _apply_lock.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/updates.py", "source_location": "L302"}, {"id": "home_fr33m1nd_hermes_webui_src_api_workspace_py", "label": "workspace.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L1"}, {"id": "workspace_profile_state_dir", "label": "_profile_state_dir()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L28"}, {"id": "workspace_workspaces_file", "label": "_workspaces_file()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L47"}, {"id": "workspace_last_workspace_file", "label": "_last_workspace_file()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L52"}, {"id": "workspace_profile_default_workspace", "label": "_profile_default_workspace()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L57"}, {"id": "workspace_clean_workspace_list", "label": "_clean_workspace_list()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L92"}, {"id": "workspace_migrate_global_workspaces", "label": "_migrate_global_workspaces()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L132"}, {"id": "workspace_load_workspaces", "label": "load_workspaces()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L154"}, {"id": "workspace_save_workspaces", "label": "save_workspaces()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L187"}, {"id": "workspace_get_last_workspace", "label": "get_last_workspace()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L193"}, {"id": "workspace_set_last_workspace", "label": "set_last_workspace()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L213"}, {"id": "workspace_resolve_trusted_workspace", "label": "resolve_trusted_workspace()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L222"}, {"id": "workspace_safe_resolve_ws", "label": "safe_resolve_ws()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L305"}, {"id": "workspace_list_dir", "label": "list_dir()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L312"}, {"id": "workspace_read_file_content", "label": "read_file_content()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L329"}, {"id": "workspace_run_git", "label": "_run_git()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L342"}, {"id": "workspace_git_info_for_workspace", "label": "git_info_for_workspace()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L354"}, {"id": "workspace_rationale_1", "label": "Hermes Web UI -- Workspace and file system helpers. Workspace lists and last-us", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L1"}, {"id": "workspace_rationale_29", "label": "Return the webui_state directory for the active profile. For the default pr", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L29"}, {"id": "workspace_rationale_48", "label": "Return the workspaces.json path for the active profile.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L48"}, {"id": "workspace_rationale_53", "label": "Return the last_workspace.txt path for the active profile.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L53"}, {"id": "workspace_rationale_58", "label": "Read the profile's default workspace from its config.yaml. Checks keys in p", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L58"}, {"id": "workspace_rationale_93", "label": "Sanitize a workspace list: - Remove entries whose paths no longer exist on d", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L93"}, {"id": "workspace_rationale_133", "label": "Read the legacy global workspaces.json, clean it, and return the result. Th", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L133"}, {"id": "workspace_rationale_223", "label": "Resolve and validate a workspace path. A path is trusted if it satisfies at", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L223"}, {"id": "workspace_rationale_306", "label": "Resolve a relative path inside a workspace root, raising ValueError on traversal", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L306"}, {"id": "workspace_rationale_343", "label": "Run a git command and return stdout, or None on failure.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L343"}, {"id": "workspace_rationale_355", "label": "Return git info for a workspace directory, or None if not a git repo.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/workspace.py", "source_location": "L355"}, {"id": "home_fr33m1nd_hermes_webui_src_api_state_sync_py", "label": "state_sync.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/state_sync.py", "source_location": "L1"}, {"id": "state_sync_get_state_db", "label": "_get_state_db()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/state_sync.py", "source_location": "L23"}, {"id": "state_sync_sync_session_start", "label": "sync_session_start()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/state_sync.py", "source_location": "L51"}, {"id": "state_sync_sync_session_usage", "label": "sync_session_usage()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/state_sync.py", "source_location": "L73"}, {"id": "state_sync_rationale_1", "label": "Hermes Web UI -- Optional state.db sync bridge. Mirrors WebUI session metadata", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/state_sync.py", "source_location": "L1"}, {"id": "state_sync_rationale_24", "label": "Get a SessionDB instance for the active profile's state.db. Returns None if", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/state_sync.py", "source_location": "L24"}, {"id": "state_sync_rationale_52", "label": "Register a WebUI session in state.db (idempotent). Called when a session's f", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/state_sync.py", "source_location": "L52"}, {"id": "state_sync_rationale_76", "label": "Update token usage and title for a WebUI session in state.db. Called after e", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/state_sync.py", "source_location": "L76"}, {"id": "home_fr33m1nd_hermes_webui_src_api_upload_py", "label": "upload.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/upload.py", "source_location": "L1"}, {"id": "upload_parse_multipart", "label": "parse_multipart()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/upload.py", "source_location": "L15"}, {"id": "upload_sanitize_upload_name", "label": "_sanitize_upload_name()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/upload.py", "source_location": "L54"}, {"id": "upload_handle_upload", "label": "handle_upload()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/upload.py", "source_location": "L61"}, {"id": "upload_handle_transcribe", "label": "handle_transcribe()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/upload.py", "source_location": "L91"}, {"id": "upload_rationale_1", "label": "Hermes Web UI -- File upload: multipart parser and upload handler.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/upload.py", "source_location": "L1"}, {"id": "home_fr33m1nd_hermes_webui_src_api_routes_py", "label": "routes.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L1"}, {"id": "routes_normalize_host_port", "label": "_normalize_host_port()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L72"}, {"id": "routes_ports_match", "label": "_ports_match()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L93"}, {"id": "routes_allowed_public_origins", "label": "_allowed_public_origins()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L110"}, {"id": "routes_check_csrf", "label": "_check_csrf()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L134"}, {"id": "routes_normalize_provider_id", "label": "_normalize_provider_id()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L172"}, {"id": "routes_resolve_compatible_session_model", "label": "_resolve_compatible_session_model()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L195"}, {"id": "routes_normalize_session_model_in_place", "label": "_normalize_session_model_in_place()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L259"}, {"id": "routes_resolve_effective_session_model_for_display", "label": "_resolve_effective_session_model_for_display()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L271"}, {"id": "routes_submit_pending", "label": "submit_pending()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L341"}, {"id": "routes_resolve_login_locale_key", "label": "_resolve_login_locale_key()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L439"}, {"id": "routes_handle_get", "label": "handle_get()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L511"}, {"id": "routes_handle_post", "label": "handle_post()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L924"}, {"id": "routes_serve_static", "label": "_serve_static()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L1623"}, {"id": "routes_handle_session_export", "label": "_handle_session_export()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L1647"}, {"id": "routes_handle_sessions_search", "label": "_handle_sessions_search()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L1669"}, {"id": "routes_handle_list_dir", "label": "_handle_list_dir()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L1714"}, {"id": "routes_handle_sse_stream", "label": "_handle_sse_stream()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L1747"}, {"id": "routes_gateway_sse_probe_payload", "label": "_gateway_sse_probe_payload()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L1774"}, {"id": "routes_handle_gateway_sse_stream", "label": "_handle_gateway_sse_stream()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L1802"}, {"id": "routes_content_disposition_value", "label": "_content_disposition_value()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L1858"}, {"id": "routes_handle_media", "label": "_handle_media()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L1881"}, {"id": "routes_handle_file_raw", "label": "_handle_file_raw()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L1983"}, {"id": "routes_handle_file_read", "label": "_handle_file_read()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2021"}, {"id": "routes_handle_approval_pending", "label": "_handle_approval_pending()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2039"}, {"id": "routes_handle_approval_inject", "label": "_handle_approval_inject()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2058"}, {"id": "routes_handle_clarify_pending", "label": "_handle_clarify_pending()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2078"}, {"id": "routes_handle_clarify_inject", "label": "_handle_clarify_inject()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2086"}, {"id": "routes_handle_live_models", "label": "_handle_live_models()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2106"}, {"id": "routes_handle_cron_output", "label": "_handle_cron_output()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2221"}, {"id": "routes_handle_cron_recent", "label": "_handle_cron_recent()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2242"}, {"id": "routes_handle_memory_read", "label": "_handle_memory_read()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2280"}, {"id": "routes_handle_sessions_cleanup", "label": "_handle_sessions_cleanup()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2315"}, {"id": "routes_handle_chat_start", "label": "_handle_chat_start()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2338"}, {"id": "routes_handle_chat_sync", "label": "_handle_chat_sync()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2399"}, {"id": "routes_handle_cron_create", "label": "_handle_cron_create()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2525"}, {"id": "routes_handle_cron_update", "label": "_handle_cron_update()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2546"}, {"id": "routes_handle_cron_delete", "label": "_handle_cron_delete()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2560"}, {"id": "routes_handle_cron_run", "label": "_handle_cron_run()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2573"}, {"id": "routes_handle_cron_pause", "label": "_handle_cron_pause()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2587"}, {"id": "routes_handle_cron_resume", "label": "_handle_cron_resume()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2599"}, {"id": "routes_handle_file_delete", "label": "_handle_file_delete()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2611"}, {"id": "routes_handle_file_save", "label": "_handle_file_save()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2632"}, {"id": "routes_handle_file_create", "label": "_handle_file_create()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2655"}, {"id": "routes_handle_file_rename", "label": "_handle_file_rename()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2677"}, {"id": "routes_handle_create_dir", "label": "_handle_create_dir()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2703"}, {"id": "routes_handle_workspace_add", "label": "_handle_workspace_add()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2724"}, {"id": "routes_handle_workspace_remove", "label": "_handle_workspace_remove()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2741"}, {"id": "routes_handle_workspace_rename", "label": "_handle_workspace_rename()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2751"}, {"id": "routes_handle_approval_respond", "label": "_handle_approval_respond()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2767"}, {"id": "routes_handle_clarify_respond", "label": "_handle_clarify_respond()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2816"}, {"id": "routes_handle_session_compress", "label": "_handle_session_compress()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2832"}, {"id": "routes_handle_skill_save", "label": "_handle_skill_save()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L3090"}, {"id": "routes_handle_skill_delete", "label": "_handle_skill_delete()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L3118"}, {"id": "routes_handle_memory_write", "label": "_handle_memory_write()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L3134"}, {"id": "routes_handle_session_import_cli", "label": "_handle_session_import_cli()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L3157"}, {"id": "routes_handle_session_import", "label": "_handle_session_import()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L3235"}, {"id": "routes_rationale_1", "label": "Hermes Web UI -- Route handlers for GET and POST endpoints. Extracted from serve", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L1"}, {"id": "routes_rationale_73", "label": "Split a host or host:port string into (hostname, port|None). Handles IPv6 br", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L73"}, {"id": "routes_rationale_94", "label": "Return True when two ports should be considered equivalent, scheme-aware. T", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L94"}, {"id": "routes_rationale_111", "label": "Parse HERMES_WEBUI_ALLOWED_ORIGINS env var (comma-separated) into a set. Ea", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L111"}, {"id": "routes_rationale_135", "label": "Reject cross-origin POST requests. Returns True if OK.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L135"}, {"id": "routes_rationale_196", "label": "Return (effective_model, was_normalized) for persisted session models. Sess", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L196"}, {"id": "routes_rationale_272", "label": "Resolve the model a session should display without mutating persisted state.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L272"}, {"id": "routes_rationale_342", "label": "Append a pending approval to the per-session queue. Wraps the agent's submi", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L342"}, {"id": "routes_rationale_440", "label": "Resolve settings.language to a known _LOGIN_LOCALE key.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L440"}, {"id": "routes_rationale_512", "label": "Handle all GET routes. Returns True if handled, False for 404.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L512"}, {"id": "routes_rationale_925", "label": "Handle all POST routes. Returns True if handled, False for 404.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L925"}, {"id": "routes_rationale_1803", "label": "SSE endpoint for real-time gateway session updates. Streams change events fr", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L1803"}, {"id": "routes_rationale_1859", "label": "Build a latin-1-safe Content-Disposition value with RFC 5987 filename*.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L1859"}, {"id": "routes_rationale_1882", "label": "Serve a local file by absolute path for inline display in the chat. Securit", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L1882"}, {"id": "routes_rationale_2059", "label": "Inject a fake pending approval -- loopback-only, used by automated tests.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2059"}, {"id": "routes_rationale_2087", "label": "Inject a fake pending clarify prompt -- loopback-only, used by automated tests.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2087"}, {"id": "routes_rationale_2107", "label": "Return the live model list for a provider. Delegates to the agent's provide", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2107"}, {"id": "routes_rationale_2243", "label": "Return cron jobs that have completed since a given timestamp.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2243"}, {"id": "routes_rationale_2400", "label": "Fallback synchronous chat endpoint (POST /api/chat). Not used by frontend.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L2400"}, {"id": "routes_rationale_3158", "label": "Import a single CLI session into the WebUI store.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L3158"}, {"id": "routes_rationale_3236", "label": "Import a session from a JSON export. Creates a new session with a new ID.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L3236"}, {"id": "routes_rationale_359", "label": "# NOTE: We do NOT call _submit_pending_raw here \u2014 that function overwrites", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/routes.py", "source_location": "L359"}, {"id": "home_fr33m1nd_hermes_webui_src_api_init_py", "label": "__init__.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/__init__.py", "source_location": "L1"}, {"id": "init_rationale_1", "label": "Hermes Web UI -- API modules.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/__init__.py", "source_location": "L1"}, {"id": "home_fr33m1nd_hermes_webui_src_api_startup_py", "label": "startup.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/startup.py", "source_location": "L1"}, {"id": "startup_fix_credential_permissions", "label": "fix_credential_permissions()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/startup.py", "source_location": "L16"}, {"id": "startup_agent_dir", "label": "_agent_dir()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/startup.py", "source_location": "L34"}, {"id": "startup_trusted_agent_dir", "label": "_trusted_agent_dir()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/startup.py", "source_location": "L44"}, {"id": "startup_auto_install_agent_deps", "label": "auto_install_agent_deps()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/startup.py", "source_location": "L67"}, {"id": "startup_rationale_1", "label": "Hermes Web UI -- startup helpers.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/startup.py", "source_location": "L1"}, {"id": "startup_rationale_17", "label": "Ensure sensitive files in HERMES_HOME are chmod 600 (owner-only).", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/startup.py", "source_location": "L17"}, {"id": "startup_rationale_45", "label": "Return True if agent_dir passes ownership and permission checks. Validates", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/startup.py", "source_location": "L45"}, {"id": "home_fr33m1nd_hermes_webui_src_api_models_py", "label": "models.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L1"}, {"id": "models_index_entry_exists", "label": "_index_entry_exists()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L23"}, {"id": "models_write_session_index", "label": "_write_session_index()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L42"}, {"id": "models_session", "label": "Session", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L106"}, {"id": "models_session_init", "label": ".__init__()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L107"}, {"id": "models_path", "label": "path()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L145"}, {"id": "models_session_save", "label": ".save()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L148"}, {"id": "models_load", "label": "load()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L159"}, {"id": "models_session_compact", "label": ".compact()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L168"}, {"id": "models_get_session", "label": "get_session()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L189"}, {"id": "models_new_session", "label": "new_session()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L204"}, {"id": "models_all_sessions", "label": "all_sessions()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L234"}, {"id": "models_title_from", "label": "title_from()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L289"}, {"id": "models_load_projects", "label": "load_projects()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L304"}, {"id": "models_save_projects", "label": "save_projects()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L313"}, {"id": "models_import_cli_session", "label": "import_cli_session()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L318"}, {"id": "models_get_cli_sessions", "label": "get_cli_sessions()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L346"}, {"id": "models_get_cli_session_messages", "label": "get_cli_session_messages()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L454"}, {"id": "models_delete_cli_session", "label": "delete_cli_session()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L496"}, {"id": "models_rationale_1", "label": "Hermes Web UI -- Session model and in-memory session store.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L1"}, {"id": "models_rationale_24", "label": "Return True if an index entry still has backing state. A session can legiti", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L24"}, {"id": "models_rationale_43", "label": "Update the session index file. When *updates* is provided (a list of Sessio", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L43"}, {"id": "models_rationale_205", "label": "Create a new in-memory session and persist it. *profile* \u2014 when supplied by", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L205"}, {"id": "models_rationale_290", "label": "Derive a session title from the first user message.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L290"}, {"id": "models_rationale_305", "label": "Load project list from disk. Returns list of project dicts.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L305"}, {"id": "models_rationale_314", "label": "Write project list to disk.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L314"}, {"id": "models_rationale_327", "label": "Create a new WebUI session populated with CLI messages. Returns the Session", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L327"}, {"id": "models_rationale_347", "label": "Read CLI sessions from the agent's SQLite store and return them as dicts in", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L347"}, {"id": "models_rationale_455", "label": "Read messages for a single CLI session from the SQLite store. Returns a list", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L455"}, {"id": "models_rationale_497", "label": "Delete a CLI session from state.db (messages + session row). Returns True if", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/api/models.py", "source_location": "L497"}, {"id": "home_fr33m1nd_hermes_webui_src_static_i18n_js", "label": "i18n.js", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/i18n.js", "source_location": "L1"}, {"id": "i18n_resolvelocale", "label": "resolveLocale()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/i18n.js", "source_location": "L2325"}, {"id": "i18n_resolvepreferredlocale", "label": "resolvePreferredLocale()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/i18n.js", "source_location": "L2360"}, {"id": "i18n_t", "label": "t()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/i18n.js", "source_location": "L2371"}, {"id": "i18n_setlocale", "label": "setLocale()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/i18n.js", "source_location": "L2382"}, {"id": "i18n_loadlocale", "label": "loadLocale()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/i18n.js", "source_location": "L2393"}, {"id": "i18n_applylocaletodom", "label": "applyLocaleToDOM()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/i18n.js", "source_location": "L2402"}, {"id": "home_fr33m1nd_hermes_webui_src_static_ui_js", "label": "ui.js", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1"}, {"id": "ui", "label": "$()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L4"}, {"id": "ui_getsessionqueue", "label": "_getSessionQueue()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L5"}, {"id": "ui_queuesessionmessage", "label": "queueSessionMessage()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L10"}, {"id": "ui_shiftqueuedsessionmessage", "label": "shiftQueuedSessionMessage()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L20"}, {"id": "ui_getqueuedsessioncount", "label": "getQueuedSessionCount()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L32"}, {"id": "ui_compressionsessionlock", "label": "_compressionSessionLock()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L35"}, {"id": "ui_setcompressionsessionlock", "label": "_setCompressionSessionLock()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L38"}, {"id": "ui_esc", "label": "esc()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L41"}, {"id": "ui_findmodelindropdown", "label": "_findModelInDropdown()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L50"}, {"id": "ui_applymodeltodropdown", "label": "_applyModelToDropdown()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L68"}, {"id": "ui_populatemodeldropdown", "label": "populateModelDropdown()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L79"}, {"id": "ui_fetchlivemodels", "label": "_fetchLiveModels()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L121"}, {"id": "ui_checkprovidermismatch", "label": "_checkProviderMismatch()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L205"}, {"id": "ui_selectedmodeloption", "label": "_selectedModelOption()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L223"}, {"id": "ui_syncmodelchip", "label": "syncModelChip()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L229"}, {"id": "ui_positionmodeldropdown", "label": "_positionModelDropdown()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L243"}, {"id": "ui_rendermodeldropdown", "label": "renderModelDropdown()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L256"}, {"id": "ui_selectmodelfromdropdown", "label": "selectModelFromDropdown()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L355"}, {"id": "ui_togglemodeldropdown", "label": "toggleModelDropdown()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L375"}, {"id": "ui_closemodeldropdown", "label": "closeModelDropdown()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L390"}, {"id": "ui_fmttokens", "label": "_fmtTokens()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L419"}, {"id": "ui_syncctxindicator", "label": "_syncCtxIndicator()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L422"}, {"id": "ui_scrollifpinned", "label": "scrollIfPinned()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L478"}, {"id": "ui_scrolltobottom", "label": "scrollToBottom()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L483"}, {"id": "ui_fmtollamalabel", "label": "_fmtOllamaLabel()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L491"}, {"id": "ui_getmodellabel", "label": "getModelLabel()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L508"}, {"id": "ui_stripxmltoolcallsdisplay", "label": "_stripXmlToolCallsDisplay()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L530"}, {"id": "ui_rendermd", "label": "renderMd()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L541"}, {"id": "ui_setstatus", "label": "setStatus()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L760"}, {"id": "ui_setcomposerstatus", "label": "setComposerStatus()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L765"}, {"id": "ui_lockcomposerforclarify", "label": "lockComposerForClarify()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L779"}, {"id": "ui_unlockcomposerforclarify", "label": "unlockComposerForClarify()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L793"}, {"id": "ui_updatesendbtn", "label": "updateSendBtn()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L808"}, {"id": "ui_setbusy", "label": "setBusy()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L824"}, {"id": "ui_updatequeuebadge", "label": "updateQueueBadge()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L849"}, {"id": "ui_showtoast", "label": "showToast()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L865"}, {"id": "ui_isappdialogopen", "label": "_isAppDialogOpen()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L875"}, {"id": "ui_getappdialogfocusable", "label": "_getAppDialogFocusable()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L880"}, {"id": "ui_finishappdialog", "label": "_finishAppDialog()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L885"}, {"id": "ui_ensureappdialogbindings", "label": "_ensureAppDialogBindings()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L903"}, {"id": "ui_showconfirmdialog", "label": "showConfirmDialog()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L964"}, {"id": "ui_showpromptdialog", "label": "showPromptDialog()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L986"}, {"id": "ui_copymsg", "label": "copyMsg()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1010"}, {"id": "ui_readinflightstatemap", "label": "_readInflightStateMap()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1024"}, {"id": "ui_saveinflightstate", "label": "saveInflightState()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1033"}, {"id": "ui_loadinflightstate", "label": "loadInflightState()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1041"}, {"id": "ui_clearinflightstate", "label": "clearInflightState()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1053"}, {"id": "ui_markinflight", "label": "markInflight()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1064"}, {"id": "ui_clearinflight", "label": "clearInflight()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1067"}, {"id": "ui_showreconnectbanner", "label": "showReconnectBanner()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1070"}, {"id": "ui_dismissreconnect", "label": "dismissReconnect()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1074"}, {"id": "ui_refreshsession", "label": "refreshSession()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1078"}, {"id": "ui_showupdatebanner", "label": "_showUpdateBanner()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1094"}, {"id": "ui_dismissupdate", "label": "dismissUpdate()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1105"}, {"id": "ui_applyupdates", "label": "applyUpdates()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1109"}, {"id": "ui_showupdateerror", "label": "_showUpdateError()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1140"}, {"id": "ui_forceupdate", "label": "forceUpdate()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1156"}, {"id": "ui_getpendingsessionmessage", "label": "getPendingSessionMessage()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1187"}, {"id": "ui_checkinflightonboot", "label": "checkInflightOnBoot()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1208"}, {"id": "ui_synctopbar", "label": "syncTopbar()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1234"}, {"id": "ui_msgcontent", "label": "msgContent()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1295"}, {"id": "ui_fmtdatesep", "label": "_fmtDateSep()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1302"}, {"id": "ui_messagehasreasoningpayload", "label": "_messageHasReasoningPayload()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1314"}, {"id": "ui_assistantrolehtml", "label": "_assistantRoleHtml()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1320"}, {"id": "ui_createassistantturn", "label": "_createAssistantTurn()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1324"}, {"id": "ui_assistantturnblocks", "label": "_assistantTurnBlocks()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1331"}, {"id": "ui_thinkingcardhtml", "label": "_thinkingCardHtml()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1334"}, {"id": "ui_compressionstateforcurrentsession", "label": "_compressionStateForCurrentSession()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1337"}, {"id": "ui_iscompressionuirunning", "label": "isCompressionUiRunning()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1342"}, {"id": "ui_clearcompressionui", "label": "clearCompressionUi()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1347"}, {"id": "ui_setcompressionui", "label": "setCompressionUi()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1352"}, {"id": "ui_compressioncardshtml", "label": "_compressionCardsHtml()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1361"}, {"id": "ui_compressioncardsnode", "label": "_compressionCardsNode()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1423"}, {"id": "ui_iscontextcompactionmessage", "label": "_isContextCompactionMessage()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1429"}, {"id": "ui_compressionmessageanchorkey", "label": "_compressionMessageAnchorKey()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1434"}, {"id": "ui_compressionanchorindex", "label": "_compressionAnchorIndex()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1448"}, {"id": "ui_compressionreferencecardhtml", "label": "_compressionReferenceCardHtml()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1465"}, {"id": "ui_issamelocalday", "label": "_isSameLocalDay()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1486"}, {"id": "ui_formatmessagefootertimestamp", "label": "_formatMessageFooterTimestamp()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1491"}, {"id": "ui_compressionstatuscardhtml", "label": "_compressionStatusCardHtml()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1505"}, {"id": "ui_contextcompactionmessagehtml", "label": "_contextCompactionMessageHtml()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1530"}, {"id": "ui_rendercompressionui", "label": "renderCompressionUi()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1534"}, {"id": "ui_rendermessages", "label": "renderMessages()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1540"}, {"id": "ui_toolicon", "label": "toolIcon()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1890"}, {"id": "ui_buildtoolcard", "label": "buildToolCard()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1913"}, {"id": "ui_appendlivetoolcard", "label": "appendLiveToolCard()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1968"}, {"id": "ui_clearlivetoolcards", "label": "clearLiveToolCards()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L1997"}, {"id": "ui_editmessage", "label": "editMessage()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2008"}, {"id": "ui_canceledit", "label": "cancelEdit()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2046"}, {"id": "ui_autoresizetextarea", "label": "autoResizeTextarea()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2054"}, {"id": "ui_submitedit", "label": "submitEdit()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2059"}, {"id": "ui_regenerateresponse", "label": "regenerateResponse()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2076"}, {"id": "ui_highlightcode", "label": "highlightCode()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2102"}, {"id": "ui_addcopybuttons", "label": "addCopyButtons()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2110"}, {"id": "ui_rendermermaidblocks", "label": "renderMermaidBlocks()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2143"}, {"id": "ui_renderkatexblocks", "label": "renderKatexBlocks()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2185"}, {"id": "ui_thinkingmarkup", "label": "_thinkingMarkup()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2223"}, {"id": "ui_finalizethinkingcard", "label": "finalizeThinkingCard()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2228"}, {"id": "ui_appendthinking", "label": "appendThinking()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2234"}, {"id": "ui_updatethinking", "label": "updateThinking()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2255"}, {"id": "ui_removethinking", "label": "removeThinking()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2256"}, {"id": "ui_fileicon", "label": "fileIcon()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2264"}, {"id": "ui_renderbreadcrumb", "label": "renderBreadcrumb()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2278"}, {"id": "ui_renderfiletree", "label": "renderFileTree()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2322"}, {"id": "ui_rendertreeitems", "label": "_renderTreeItems()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2343"}, {"id": "ui_deleteworkspacefile", "label": "deleteWorkspaceFile()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2463"}, {"id": "ui_promptnewfile", "label": "promptNewFile()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2476"}, {"id": "ui_promptnewfolder", "label": "promptNewFolder()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2499"}, {"id": "ui_rendertray", "label": "renderTray()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2520"}, {"id": "ui_addfiles", "label": "addFiles()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2532"}, {"id": "ui_uploadpendingfiles", "label": "uploadPendingFiles()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/ui.js", "source_location": "L2534"}, {"id": "home_fr33m1nd_hermes_webui_src_static_icons_js", "label": "icons.js", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/icons.js", "source_location": "L1"}, {"id": "icons_li", "label": "li()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/icons.js", "source_location": "L70"}, {"id": "home_fr33m1nd_hermes_webui_src_static_commands_js", "label": "commands.js", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L1"}, {"id": "commands_parsecommand", "label": "parseCommand()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L33"}, {"id": "commands_executecommand", "label": "executeCommand()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L41"}, {"id": "commands_getmatchingcommands", "label": "getMatchingCommands()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L54"}, {"id": "commands_normalizeslashsubarg", "label": "_normalizeSlashSubArg()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L81"}, {"id": "commands_getslashmodelsubargsfromdom", "label": "_getSlashModelSubArgsFromDom()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L85"}, {"id": "commands_loadslashmodelsubargs", "label": "_loadSlashModelSubArgs()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L96"}, {"id": "commands_loadslashpersonalitysubargs", "label": "_loadSlashPersonalitySubArgs()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L127"}, {"id": "commands_getslashsubargoptions", "label": "_getSlashSubArgOptions()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L151"}, {"id": "commands_parseslashautocomplete", "label": "_parseSlashAutocomplete()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L158"}, {"id": "commands_getslashautocompletematches", "label": "getSlashAutocompleteMatches()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L173"}, {"id": "commands_compressionanchormessagekey", "label": "_compressionAnchorMessageKey()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L189"}, {"id": "commands_cmdhelp", "label": "cmdHelp()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L206"}, {"id": "commands_cmdclear", "label": "cmdClear()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L217"}, {"id": "commands_cmdmodel", "label": "cmdModel()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L227"}, {"id": "commands_cmdworkspace", "label": "cmdWorkspace()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L245"}, {"id": "commands_cmdnew", "label": "cmdNew()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L259"}, {"id": "commands_runmanualcompression", "label": "_runManualCompression()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L267"}, {"id": "commands_cmdcompress", "label": "cmdCompress()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L385"}, {"id": "commands_cmdcompact", "label": "cmdCompact()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L389"}, {"id": "commands_cmdusage", "label": "cmdUsage()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L393"}, {"id": "commands_cmdtheme", "label": "cmdTheme()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L406"}, {"id": "commands_cmdskills", "label": "cmdSkills()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L451"}, {"id": "commands_cmdpersonality", "label": "cmdPersonality()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L494"}, {"id": "commands_cmdstop", "label": "cmdStop()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L526"}, {"id": "commands_cmdtitle", "label": "cmdTitle()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L532"}, {"id": "commands_cmdretry", "label": "cmdRetry()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L550"}, {"id": "commands_cmdundo", "label": "cmdUndo()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L563"}, {"id": "commands_cmdstatus", "label": "cmdStatus()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L576"}, {"id": "commands_cmdreasoning", "label": "cmdReasoning()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L585"}, {"id": "commands_cmdvoice", "label": "cmdVoice()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L635"}, {"id": "commands_skillcommandslug", "label": "_skillCommandSlug()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L643"}, {"id": "commands_buildskillcommandentry", "label": "_buildSkillCommandEntry()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L648"}, {"id": "commands_loadskillcommands", "label": "loadSkillCommands()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L655"}, {"id": "commands_refreshslashcommanddropdown", "label": "refreshSlashCommandDropdown()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L670"}, {"id": "commands_ensureskillcommandsloadedforautocomplete", "label": "ensureSkillCommandsLoadedForAutocomplete()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L679"}, {"id": "commands_showcmddropdown", "label": "showCmdDropdown()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L688"}, {"id": "commands_hidecmddropdown", "label": "hideCmdDropdown()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L728"}, {"id": "commands_navigatecmddropdown", "label": "navigateCmdDropdown()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L734"}, {"id": "commands_selectcmddropdownitem", "label": "selectCmdDropdownItem()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/commands.js", "source_location": "L749"}, {"id": "home_fr33m1nd_hermes_webui_src_static_workspace_js", "label": "workspace.js", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/workspace.js", "source_location": "L1"}, {"id": "workspace_api", "label": "api()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/workspace.js", "source_location": "L1"}, {"id": "workspace_wsexpandkey", "label": "_wsExpandKey()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/workspace.js", "source_location": "L18"}, {"id": "workspace_saveexpandeddirs", "label": "_saveExpandedDirs()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/workspace.js", "source_location": "L22"}, {"id": "workspace_restoreexpandeddirs", "label": "_restoreExpandedDirs()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/workspace.js", "source_location": "L26"}, {"id": "workspace_loaddir", "label": "loadDir()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/workspace.js", "source_location": "L35"}, {"id": "workspace_refreshgitbadge", "label": "_refreshGitBadge()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/workspace.js", "source_location": "L69"}, {"id": "workspace_navigateup", "label": "navigateUp()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/workspace.js", "source_location": "L90"}, {"id": "workspace_fileext", "label": "fileExt()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/workspace.js", "source_location": "L110"}, {"id": "workspace_showpreview", "label": "showPreview()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/workspace.js", "source_location": "L116"}, {"id": "workspace_updateeditbtn", "label": "updateEditBtn()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/workspace.js", "source_location": "L130"}, {"id": "workspace_toggleeditmode", "label": "toggleEditMode()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/workspace.js", "source_location": "L142"}, {"id": "workspace_canceleditmode", "label": "cancelEditMode()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/workspace.js", "source_location": "L180"}, {"id": "workspace_openfile", "label": "openFile()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/workspace.js", "source_location": "L190"}, {"id": "workspace_downloadfile", "label": "downloadFile()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/workspace.js", "source_location": "L240"}, {"id": "workspace_renderfilebreadcrumb", "label": "renderFileBreadcrumb()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/workspace.js", "source_location": "L254"}, {"id": "home_fr33m1nd_hermes_webui_src_static_panels_js", "label": "panels.js", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1"}, {"id": "panels_switchpanel", "label": "switchPanel()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L4"}, {"id": "panels_loadcrons", "label": "loadCrons()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L22"}, {"id": "panels_togglecronform", "label": "toggleCronForm()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L96"}, {"id": "panels_rendercronskilltags", "label": "_renderCronSkillTags()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L118"}, {"id": "panels_setup", "label": "setup()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L137"}, {"id": "panels_submitcroncreate", "label": "submitCronCreate()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L170"}, {"id": "panels_cronoutputsnippet", "label": "_cronOutputSnippet()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L192"}, {"id": "panels_loadcronoutput", "label": "loadCronOutput()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L200"}, {"id": "panels_loadcronhistory", "label": "loadCronHistory()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L212"}, {"id": "panels_togglecron", "label": "toggleCron()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L247"}, {"id": "panels_cronrun", "label": "cronRun()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L252"}, {"id": "panels_cronpause", "label": "cronPause()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L260"}, {"id": "panels_cronresume", "label": "cronResume()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L268"}, {"id": "panels_croneditopen", "label": "cronEditOpen()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L276"}, {"id": "panels_croneditclose", "label": "cronEditClose()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L287"}, {"id": "panels_croneditsave", "label": "cronEditSave()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L292"}, {"id": "panels_crondelete", "label": "cronDelete()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L308"}, {"id": "panels_loadtodos", "label": "loadTodos()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L318"}, {"id": "panels_clearconversation", "label": "clearConversation()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L352"}, {"id": "panels_loadskills", "label": "loadSkills()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L369"}, {"id": "panels_renderskills", "label": "renderSkills()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L379"}, {"id": "panels_filterskills", "label": "filterSkills()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L411"}, {"id": "panels_openskill", "label": "openSkill()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L415"}, {"id": "panels_openskillfile", "label": "openSkillFile()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L453"}, {"id": "panels_toggleskillform", "label": "toggleSkillForm()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L474"}, {"id": "panels_submitskillsave", "label": "submitSkillSave()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L488"}, {"id": "panels_togglememoryedit", "label": "toggleMemoryEdit()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L509"}, {"id": "panels_closememoryedit", "label": "closeMemoryEdit()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L520"}, {"id": "panels_submitmemorysave", "label": "submitMemorySave()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L525"}, {"id": "panels_getworkspacefriendlyname", "label": "getWorkspaceFriendlyName()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L540"}, {"id": "panels_syncworkspacedisplays", "label": "syncWorkspaceDisplays()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L549"}, {"id": "panels_loadworkspacelist", "label": "loadWorkspaceList()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L577"}, {"id": "panels_renderworkspaceaction", "label": "_renderWorkspaceAction()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L586"}, {"id": "panels_positioncomposerwsdropdown", "label": "_positionComposerWsDropdown()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L594"}, {"id": "panels_positionprofiledropdown", "label": "_positionProfileDropdown()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L607"}, {"id": "panels_renderworkspacedropdowninto", "label": "renderWorkspaceDropdownInto()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L620"}, {"id": "panels_togglewsdropdown", "label": "toggleWsDropdown()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L646"}, {"id": "panels_togglecomposerwsdropdown", "label": "toggleComposerWsDropdown()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L660"}, {"id": "panels_closewsdropdown", "label": "closeWsDropdown()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L678"}, {"id": "panels_loadworkspacespanel", "label": "loadWorkspacesPanel()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L697"}, {"id": "panels_renderworkspacespanel", "label": "renderWorkspacesPanel()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L704"}, {"id": "panels_addworkspace", "label": "addWorkspace()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L731"}, {"id": "panels_removeworkspace", "label": "removeWorkspace()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L744"}, {"id": "panels_promptworkspacepath", "label": "promptWorkspacePath()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L755"}, {"id": "panels_switchtoworkspace", "label": "switchToWorkspace()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L790"}, {"id": "panels_loadprofilespanel", "label": "loadProfilesPanel()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L835"}, {"id": "panels_renderprofiledropdown", "label": "renderProfileDropdown()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L881"}, {"id": "panels_toggleprofiledropdown", "label": "toggleProfileDropdown()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L915"}, {"id": "panels_closeprofiledropdown", "label": "closeProfileDropdown()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L930"}, {"id": "panels_switchtoprofile", "label": "switchToProfile()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L944"}, {"id": "panels_toggleprofileform", "label": "toggleProfileForm()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1035"}, {"id": "panels_submitprofilecreate", "label": "submitProfileCreate()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1050"}, {"id": "panels_deleteprofile", "label": "deleteProfile()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1075"}, {"id": "panels_loadmemory", "label": "loadMemory()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1086"}, {"id": "panels_switchsettingssection", "label": "switchSettingsSection()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1130"}, {"id": "panels_synchermespanelsessionactions", "label": "_syncHermesPanelSessionActions()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1148"}, {"id": "panels_togglesettings", "label": "toggleSettings()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1169"}, {"id": "panels_resetsettingspanelstate", "label": "_resetSettingsPanelState()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1185"}, {"id": "panels_hidesettingspanel", "label": "_hideSettingsPanel()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1192"}, {"id": "panels_closesettingspanel", "label": "_closeSettingsPanel()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1200"}, {"id": "panels_revertsettingspreview", "label": "_revertSettingsPreview()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1212"}, {"id": "panels_showsettingsunsavedbar", "label": "_showSettingsUnsavedBar()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1228"}, {"id": "panels_discardsettings", "label": "_discardSettings()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1244"}, {"id": "panels_marksettingsdirty", "label": "_markSettingsDirty()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1251"}, {"id": "panels_loadsettingspanel", "label": "loadSettingsPanel()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1255"}, {"id": "panels_loadproviderspanel", "label": "loadProvidersPanel()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1364"}, {"id": "panels_buildprovidercard", "label": "_buildProviderCard()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1388"}, {"id": "panels_saveproviderkey", "label": "_saveProviderKey()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1457"}, {"id": "panels_removeproviderkey", "label": "_removeProviderKey()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1485"}, {"id": "panels_setsettingsauthbuttonsvisible", "label": "_setSettingsAuthButtonsVisible()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1504"}, {"id": "panels_applysavedsettingsui", "label": "_applySavedSettingsUi()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1511"}, {"id": "panels_savesettings", "label": "saveSettings()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1540"}, {"id": "panels_signout", "label": "signOut()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1603"}, {"id": "panels_disableauth", "label": "disableAuth()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1612"}, {"id": "panels_startcronpolling", "label": "startCronPolling()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1646"}, {"id": "panels_updatecronbadge", "label": "updateCronBadge()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1664"}, {"id": "panels_trackbackgrounderror", "label": "trackBackgroundError()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1696"}, {"id": "panels_showerrorbanner", "label": "showErrorBanner()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1703"}, {"id": "panels_navigatetoerrorsession", "label": "navigateToErrorSession()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1721"}, {"id": "panels_dismisserrorbanner", "label": "dismissErrorBanner()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/panels.js", "source_location": "L1730"}, {"id": "home_fr33m1nd_hermes_webui_src_static_boot_js", "label": "boot.js", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L1"}, {"id": "boot_cancelstream", "label": "cancelStream()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L1"}, {"id": "boot_iscompactworkspaceviewport", "label": "_isCompactWorkspaceViewport()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L20"}, {"id": "boot_workspacepanelels", "label": "_workspacePanelEls()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L24"}, {"id": "boot_hasworkspacepreviewvisible", "label": "_hasWorkspacePreviewVisible()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L33"}, {"id": "boot_setworkspacepanelmode", "label": "_setWorkspacePanelMode()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L38"}, {"id": "boot_syncworkspacepanelstate", "label": "syncWorkspacePanelState()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L55"}, {"id": "boot_openworkspacepanel", "label": "openWorkspacePanel()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L69"}, {"id": "boot_closeworkspacepanel", "label": "closeWorkspacePanel()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L78"}, {"id": "boot_ensureworkspacepreviewvisible", "label": "ensureWorkspacePreviewVisible()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L82"}, {"id": "boot_handleworkspaceclose", "label": "handleWorkspaceClose()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L87"}, {"id": "boot_syncworkspacepanelui", "label": "syncWorkspacePanelUI()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L95"}, {"id": "boot_togglemobilesidebar", "label": "toggleMobileSidebar()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L129"}, {"id": "boot_closemobilesidebar", "label": "closeMobileSidebar()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L137"}, {"id": "boot_togglemobilefiles", "label": "toggleMobileFiles()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L143"}, {"id": "boot_toggleworkspacepanel", "label": "toggleWorkspacePanel()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L146"}, {"id": "boot_mobileswitchpanel", "label": "mobileSwitchPanel()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L158"}, {"id": "boot_setrecording", "label": "_setRecording()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L206"}, {"id": "boot_committranscript", "label": "_commitTranscript()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L214"}, {"id": "boot_transcribeblob", "label": "_transcribeBlob()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L229"}, {"id": "boot_stoptracks", "label": "_stopTracks()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L247"}, {"id": "boot_stopmic", "label": "_stopMic()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L254"}, {"id": "boot_clearpreview", "label": "clearPreview()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L417"}, {"id": "boot_initresize", "label": "initResize()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L570"}, {"id": "boot_normalizeappearance", "label": "_normalizeAppearance()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L635"}, {"id": "boot_setresolvedtheme", "label": "_setResolvedTheme()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L644"}, {"id": "boot_applytheme", "label": "_applyTheme()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L654"}, {"id": "boot_applyskin", "label": "_applySkin()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L671"}, {"id": "boot_picktheme", "label": "_pickTheme()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L677"}, {"id": "boot_pickskin", "label": "_pickSkin()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L693"}, {"id": "boot_syncthemepicker", "label": "_syncThemePicker()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L708"}, {"id": "boot_syncskinpicker", "label": "_syncSkinPicker()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L716"}, {"id": "boot_applyfontsize", "label": "_applyFontSize()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L724"}, {"id": "boot_pickfontsize", "label": "_pickFontSize()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L732"}, {"id": "boot_syncfontsizepicker", "label": "_syncFontSizePicker()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L741"}, {"id": "boot_buildskinpicker", "label": "_buildSkinPicker()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L749"}, {"id": "boot_applybotname", "label": "applyBotName()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/boot.js", "source_location": "L768"}, {"id": "home_fr33m1nd_hermes_webui_src_static_messages_js", "label": "messages.js", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L1"}, {"id": "messages_send", "label": "send()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L1"}, {"id": "messages_closelivestream", "label": "closeLiveStream()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L153"}, {"id": "messages_attachlivestream", "label": "attachLiveStream()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L161"}, {"id": "messages_transcript", "label": "transcript()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L755"}, {"id": "messages_autoresize", "label": "autoResize()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L770"}, {"id": "messages_clearapprovalhidetimer", "label": "_clearApprovalHideTimer()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L782"}, {"id": "messages_resetapprovalcardstate", "label": "_resetApprovalCardState()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L789"}, {"id": "messages_hideapprovalcard", "label": "hideApprovalCard()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L795"}, {"id": "messages_showapprovalcard", "label": "showApprovalCard()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L822"}, {"id": "messages_respondapproval", "label": "respondApproval()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L858"}, {"id": "messages_startapprovalpolling", "label": "startApprovalPolling()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L878"}, {"id": "messages_stopapprovalpolling", "label": "stopApprovalPolling()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L892"}, {"id": "messages_ensureclarifycarddom", "label": "_ensureClarifyCardDom()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L905"}, {"id": "messages_clearclarifyhidetimer", "label": "_clearClarifyHideTimer()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L938"}, {"id": "messages_resetclarifycardstate", "label": "_resetClarifyCardState()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L945"}, {"id": "messages_hideclarifycard", "label": "hideClarifyCard()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L951"}, {"id": "messages_clarifysetcontrolsdisabled", "label": "_clarifySetControlsDisabled()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L985"}, {"id": "messages_showclarifycard", "label": "showClarifyCard()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L1004"}, {"id": "messages_respondclarify", "label": "respondClarify()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L1089"}, {"id": "messages_startclarifypolling", "label": "startClarifyPolling()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L1110"}, {"id": "messages_stopclarifypolling", "label": "stopClarifyPolling()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L1136"}, {"id": "messages_playnotificationsound", "label": "playNotificationSound()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L1142"}, {"id": "messages_sendbrowsernotification", "label": "sendBrowserNotification()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/messages.js", "source_location": "L1158"}, {"id": "home_fr33m1nd_hermes_webui_src_static_onboarding_js", "label": "onboarding.js", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L1"}, {"id": "onboarding_getonboardingsetupproviders", "label": "_getOnboardingSetupProviders()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L3"}, {"id": "onboarding_getonboardingsetupprovider", "label": "_getOnboardingSetupProvider()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L7"}, {"id": "onboarding_getonboardingcurrentsetup", "label": "_getOnboardingCurrentSetup()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L11"}, {"id": "onboarding_onboardingstepmeta", "label": "_onboardingStepMeta()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L15"}, {"id": "onboarding_renderonboardingsteps", "label": "_renderOnboardingSteps()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L25"}, {"id": "onboarding_setonboardingnotice", "label": "_setOnboardingNotice()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L38"}, {"id": "onboarding_getonboardingworkspacechoices", "label": "_getOnboardingWorkspaceChoices()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L47"}, {"id": "onboarding_getonboardingprovidermodelchoices", "label": "_getOnboardingProviderModelChoices()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L52"}, {"id": "onboarding_getonboardingselectedmodel", "label": "_getOnboardingSelectedModel()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L57"}, {"id": "onboarding_renderonboardingmodelfield", "label": "_renderOnboardingModelField()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L61"}, {"id": "onboarding_providerstatuslabel", "label": "_providerStatusLabel()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L70"}, {"id": "onboarding_renderonboardingbody", "label": "_renderOnboardingBody()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L76"}, {"id": "onboarding_getonboardingpasswordsummarykey", "label": "_getOnboardingPasswordSummaryKey()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L233"}, {"id": "onboarding_synconboardingworkspaceselect", "label": "syncOnboardingWorkspaceSelect()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L240"}, {"id": "onboarding_synconboardingprovider", "label": "syncOnboardingProvider()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L246"}, {"id": "onboarding_loadonboardingwizard", "label": "loadOnboardingWizard()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L262"}, {"id": "onboarding_prevonboardingstep", "label": "prevOnboardingStep()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L285"}, {"id": "onboarding_saveonboardingprovidersetup", "label": "_saveOnboardingProviderSetup()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L292"}, {"id": "onboarding_saveonboardingdefaults", "label": "_saveOnboardingDefaults()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L314"}, {"id": "onboarding_finishonboarding", "label": "_finishOnboarding()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L335"}, {"id": "onboarding_skiponboarding", "label": "skipOnboarding()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L351"}, {"id": "onboarding_nextonboardingstep", "label": "nextOnboardingStep()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/onboarding.js", "source_location": "L363"}, {"id": "home_fr33m1nd_hermes_webui_src_static_login_js", "label": "login.js", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/login.js", "source_location": "L1"}, {"id": "login_showerr", "label": "showErr()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/login.js", "source_location": "L14"}, {"id": "login_hideerr", "label": "hideErr()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/login.js", "source_location": "L19"}, {"id": "login_dologin", "label": "doLogin()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/login.js", "source_location": "L24"}, {"id": "home_fr33m1nd_hermes_webui_src_static_sessions_js", "label": "sessions.js", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L1"}, {"id": "sessions_newsession", "label": "newSession()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L13"}, {"id": "sessions_loadsession", "label": "loadSession()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L42"}, {"id": "sessions_closesessionactionmenu", "label": "closeSessionActionMenu()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L194"}, {"id": "sessions_positionsessionactionmenu", "label": "_positionSessionActionMenu()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L208"}, {"id": "sessions_buildsessionaction", "label": "_buildSessionAction()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L226"}, {"id": "sessions_opensessionactionmenu", "label": "_openSessionActionMenu()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L246"}, {"id": "sessions_rendersessionlist", "label": "renderSessionList()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L349"}, {"id": "sessions_startgatewaypollfallback", "label": "startGatewayPollFallback()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L369"}, {"id": "sessions_stopgatewaypollfallback", "label": "stopGatewayPollFallback()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L375"}, {"id": "sessions_probegatewayssestatus", "label": "probeGatewaySSEStatus()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L382"}, {"id": "sessions_startgatewaysse", "label": "startGatewaySSE()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L412"}, {"id": "sessions_stopgatewaysse", "label": "stopGatewaySSE()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L459"}, {"id": "sessions_filtersessions", "label": "filterSessions()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L472"}, {"id": "sessions_sessiontimestampms", "label": "_sessionTimestampMs()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L489"}, {"id": "sessions_localdayordinal", "label": "_localDayOrdinal()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L494"}, {"id": "sessions_sessioncalendarboundaries", "label": "_sessionCalendarBoundaries()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L499"}, {"id": "sessions_formatsessiondate", "label": "_formatSessionDate()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L515"}, {"id": "sessions_formatrelativesessiontime", "label": "_formatRelativeSessionTime()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L523"}, {"id": "sessions_sessiontimebucketlabel", "label": "_sessionTimeBucketLabel()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L545"}, {"id": "sessions_rendersessionlistfromcache", "label": "renderSessionListFromCache()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L555"}, {"id": "sessions_deletesession", "label": "deleteSession()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L853"}, {"id": "sessions_showprojectpicker", "label": "_showProjectPicker()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L886"}, {"id": "sessions_startprojectcreate", "label": "_startProjectCreate()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L977"}, {"id": "sessions_startprojectrename", "label": "_startProjectRename()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L1004"}, {"id": "sessions_confirmdeleteproject", "label": "_confirmDeleteProject()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/static/sessions.js", "source_location": "L1031"}, {"id": "home_fr33m1nd_hermes_webui_src_tests_test_sprint50_py", "label": "test_sprint50.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_sprint50.py", "source_location": "L1"}, {"id": "test_sprint50_read", "label": "read()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_sprint50.py", "source_location": "L14"}, {"id": "test_sprint50_test_cmd_dropdown_moved_inside_composer_box", "label": "test_cmd_dropdown_moved_inside_composer_box()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_sprint50.py", "source_location": "L18"}, {"id": "test_sprint50_test_cmd_dropdown_css_scoped_to_composer_width", "label": "test_cmd_dropdown_css_scoped_to_composer_width()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_sprint50.py", "source_location": "L29"}, {"id": "test_sprint50_rationale_1", "label": "Tests for small UX regressions fixed after v0.50.96. Covers: - #633: slash co", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_sprint50.py", "source_location": "L1"}, {"id": "home_fr33m1nd_hermes_webui_src_tests_test_issue487b_py", "label": "test_issue487b.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue487b.py", "source_location": "L1"}, {"id": "test_issue487b_test_al_stash_includes_img_tags", "label": "test_al_stash_includes_img_tags()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue487b.py", "source_location": "L22"}, {"id": "test_issue487b_esc", "label": "esc()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue487b.py", "source_location": "L32"}, {"id": "test_issue487b_render_with_image_and_autolink", "label": "render_with_image_and_autolink()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue487b.py", "source_location": "L40"}, {"id": "test_issue487b_test_image_src_not_mangled_by_autolink", "label": "test_image_src_not_mangled_by_autolink()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue487b.py", "source_location": "L77"}, {"id": "test_issue487b_test_image_tag_renders_as_img", "label": "test_image_tag_renders_as_img()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue487b.py", "source_location": "L88"}, {"id": "test_issue487b_test_image_and_link_in_same_paragraph", "label": "test_image_and_link_in_same_paragraph()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue487b.py", "source_location": "L96"}, {"id": "test_issue487b_test_image_count_is_one", "label": "test_image_count_is_one()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue487b.py", "source_location": "L108"}, {"id": "test_issue487b_test_multiple_images_not_mangled", "label": "test_multiple_images_not_mangled()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue487b.py", "source_location": "L114"}, {"id": "test_issue487b_test_image_with_query_string_src_intact", "label": "test_image_with_query_string_src_intact()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue487b.py", "source_location": "L126"}, {"id": "test_issue487b_rationale_1", "label": "r\"\"\" Regression test for image src URL corruption by the autolink pass. Bug: th", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue487b.py", "source_location": "L1"}, {"id": "test_issue487b_rationale_23", "label": "_al_stash regex must stash both and tags to protect src= from autolink", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue487b.py", "source_location": "L23"}, {"id": "test_issue487b_rationale_41", "label": "Simulate the image pass + SAFE_TAGS + _al_stash + autolink pipeline.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue487b.py", "source_location": "L41"}, {"id": "test_issue487b_rationale_78", "label": "The URL inside src= of a rendered must not be wrapped in by autolink.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue487b.py", "source_location": "L78"}, {"id": "test_issue487b_rationale_89", "label": "![alt](url) must produce an tag, not a plain link.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue487b.py", "source_location": "L89"}, {"id": "test_issue487b_rationale_97", "label": "Image and link in same paragraph must each render correctly without interference", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue487b.py", "source_location": "L97"}, {"id": "test_issue487b_rationale_109", "label": "One ![alt](url) should produce exactly one tag.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue487b.py", "source_location": "L109"}, {"id": "test_issue487b_rationale_115", "label": "Multiple images in one message each get clean src= values.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue487b.py", "source_location": "L115"}, {"id": "test_issue487b_rationale_127", "label": "Image URL with & in query string must have & (not &) in src.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue487b.py", "source_location": "L127"}, {"id": "home_fr33m1nd_hermes_webui_src_tests_test_issues_853_857_py", "label": "test_issues_853_857.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issues_853_857.py", "source_location": "L1"}, {"id": "test_issues_853_857_read", "label": "_read()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issues_853_857.py", "source_location": "L10"}, {"id": "test_issues_853_857_testmediaurlrendersinline", "label": "TestMediaUrlRendersInline", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issues_853_857.py", "source_location": "L16"}, {"id": "test_issues_853_857_testmediaurlrendersinline_test_render_md_checks_https_scheme_for_img_tag", "label": ".test_render_md_checks_https_scheme_for_img_tag()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issues_853_857.py", "source_location": "L21"}, {"id": "test_issues_853_857_testmediaurlrendersinline_test_img_class_applied_to_media_image", "label": ".test_img_class_applied_to_media_image()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issues_853_857.py", "source_location": "L33"}, {"id": "test_issues_853_857_testthinkingpreamblestripping", "label": "TestThinkingPreambleStripping", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issues_853_857.py", "source_location": "L44"}, {"id": "test_issues_853_857_testthinkingpreamblestripping_test_strip_thinking_markup_drops_heres_thinking_process", "label": ".test_strip_thinking_markup_drops_heres_thinking_process()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issues_853_857.py", "source_location": "L50"}, {"id": "test_issues_853_857_testthinkingpreamblestripping_test_strip_thinking_markup_drops_let_me_think", "label": ".test_strip_thinking_markup_drops_let_me_think()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issues_853_857.py", "source_location": "L57"}, {"id": "test_issues_853_857_testthinkingpreamblestripping_test_strip_thinking_markup_drops_ill_think_about", "label": ".test_strip_thinking_markup_drops_ill_think_about()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issues_853_857.py", "source_location": "L63"}, {"id": "test_issues_853_857_testthinkingpreamblestripping_test_strip_thinking_markup_drops_okay_let_me", "label": ".test_strip_thinking_markup_drops_okay_let_me()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issues_853_857.py", "source_location": "L70"}, {"id": "test_issues_853_857_testthinkingpreamblestripping_test_strip_thinking_markup_preserves_non_preamble_content", "label": ".test_strip_thinking_markup_preserves_non_preamble_content()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issues_853_857.py", "source_location": "L76"}, {"id": "test_issues_853_857_testthinkingpreamblestripping_test_strip_thinking_markup_case_insensitive", "label": ".test_strip_thinking_markup_case_insensitive()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issues_853_857.py", "source_location": "L83"}, {"id": "test_issues_853_857_testthinkingpreamblestripping_test_looks_invalid_generated_title_catches_heres_thinking", "label": ".test_looks_invalid_generated_title_catches_heres_thinking()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issues_853_857.py", "source_location": "L87"}, {"id": "test_issues_853_857_testthinkingpreamblestripping_test_looks_invalid_generated_title_accepts_real_titles", "label": ".test_looks_invalid_generated_title_accepts_real_titles()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issues_853_857.py", "source_location": "L94"}, {"id": "test_issues_853_857_rationale_1", "label": "Regression tests for #853 (image_generate inline rendering) and #857 (auto-title", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issues_853_857.py", "source_location": "L1"}, {"id": "test_issues_853_857_rationale_17", "label": "The `MEDIA:` stash restore in renderMd() must render https:// URLs as ", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issues_853_857.py", "source_location": "L17"}, {"id": "test_issues_853_857_rationale_34", "label": "The resulting uses the existing msg-media-img class so the styling", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issues_853_857.py", "source_location": "L34"}, {"id": "test_issues_853_857_rationale_45", "label": "Qwen3 and similar models emit plain-text thinking preambles (\"Here's a think", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issues_853_857.py", "source_location": "L45"}, {"id": "test_issues_853_857_rationale_77", "label": "When the text doesn't start with a thinking preamble, leave it alone.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issues_853_857.py", "source_location": "L77"}, {"id": "test_issues_853_857_rationale_88", "label": "The belt-and-suspenders guard on titles that slip past the strip.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issues_853_857.py", "source_location": "L88"}, {"id": "test_issues_853_857_rationale_95", "label": "Normal, non-preamble titles must not be rejected.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issues_853_857.py", "source_location": "L95"}, {"id": "home_fr33m1nd_hermes_webui_src_tests_test_issue572_py", "label": "test_issue572.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L1"}, {"id": "test_issue572_inject_hermes_cli_auth", "label": "_inject_hermes_cli_auth()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L29"}, {"id": "test_issue572_call_provider_api_key_present", "label": "_call_provider_api_key_present()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L51"}, {"id": "test_issue572_testproviderapikeypresentfallback", "label": "TestProviderApiKeyPresentFallback", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L60"}, {"id": "test_issue572_testproviderapikeypresentfallback_test_minimax_cn_logged_in_returns_true", "label": ".test_minimax_cn_logged_in_returns_true()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L62"}, {"id": "test_issue572_testproviderapikeypresentfallback_test_unsupported_provider_logged_out_returns_false", "label": ".test_unsupported_provider_logged_out_returns_false()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L71"}, {"id": "test_issue572_testproviderapikeypresentfallback_test_hermes_cli_import_failure_is_safe", "label": ".test_hermes_cli_import_failure_is_safe()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L80"}, {"id": "test_issue572_testproviderapikeypresentfallback_test_supported_provider_still_works_without_fallback", "label": ".test_supported_provider_still_works_without_fallback()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L97"}, {"id": "test_issue572_testproviderapikeypresentfallback_test_inline_api_key_in_cfg_still_works", "label": ".test_inline_api_key_in_cfg_still_works()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L104"}, {"id": "test_issue572_teststatusfromruntimeunsupportedprovider", "label": "TestStatusFromRuntimeUnsupportedProvider", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L115"}, {"id": "test_issue572_teststatusfromruntimeunsupportedprovider_run", "label": "._run()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L117"}, {"id": "test_issue572_teststatusfromruntimeunsupportedprovider_test_minimax_cn_with_key_gives_chat_ready", "label": ".test_minimax_cn_with_key_gives_chat_ready()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L129"}, {"id": "test_issue572_teststatusfromruntimeunsupportedprovider_test_deepseek_with_key_gives_chat_ready", "label": ".test_deepseek_with_key_gives_chat_ready()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L136"}, {"id": "test_issue572_teststatusfromruntimeunsupportedprovider_test_unsupported_provider_no_key_no_oauth_gives_not_ready", "label": ".test_unsupported_provider_no_key_no_oauth_gives_not_ready()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L141"}, {"id": "test_issue572_teststatusfromruntimeunsupportedprovider_test_oauth_provider_still_works_via_oauth_path", "label": ".test_oauth_provider_still_works_via_oauth_path()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L147"}, {"id": "test_issue572_testonboardingstatusunsupportedprovider", "label": "TestOnboardingStatusUnsupportedProvider", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L157"}, {"id": "test_issue572_testonboardingstatusunsupportedprovider_make_status", "label": "._make_status()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L159"}, {"id": "test_issue572_testonboardingstatusunsupportedprovider_test_minimax_cn_chat_ready_skips_wizard", "label": ".test_minimax_cn_chat_ready_skips_wizard()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L187"}, {"id": "test_issue572_testonboardingstatusunsupportedprovider_test_minimax_cn_not_ready_shows_wizard", "label": ".test_minimax_cn_not_ready_shows_wizard()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L195"}, {"id": "test_issue572_testonboardingstatusunsupportedprovider_test_current_is_oauth_set_for_unsupported_provider", "label": ".test_current_is_oauth_set_for_unsupported_provider()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L200"}, {"id": "test_issue572_rationale_1", "label": "Tests for issue #572: onboarding must not fire or overwrite config for providers", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L1"}, {"id": "test_issue572_rationale_30", "label": "Inject a minimal hermes_cli.auth stub into sys.modules. CI doesn't install", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L30"}, {"id": "test_issue572_rationale_63", "label": "minimax-cn: if hermes_cli.auth.get_auth_status returns logged_in, must be True.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L63"}, {"id": "test_issue572_rationale_72", "label": "Unsupported provider with no key \u2192 False, no crash.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L72"}, {"id": "test_issue572_rationale_81", "label": "If hermes_cli is unavailable, falls back silently to False.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L81"}, {"id": "test_issue572_rationale_98", "label": "openrouter with env key must still succeed via the original path.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L98"}, {"id": "test_issue572_rationale_105", "label": "model.api_key in config.yaml must be recognized for any provider.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L105"}, {"id": "test_issue572_rationale_130", "label": "minimax-cn + api key present \u2192 chat_ready must be True.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L130"}, {"id": "test_issue572_rationale_137", "label": "deepseek + api key \u2192 chat_ready.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L137"}, {"id": "test_issue572_rationale_142", "label": "No key, no oauth \u2192 provider_ready=False.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L142"}, {"id": "test_issue572_rationale_148", "label": "openai-codex (OAuth) with no api_key but oauth present \u2192 ready.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L148"}, {"id": "test_issue572_rationale_188", "label": "minimax-cn + chat_ready=True + config.yaml exists \u2192 wizard must NOT fire.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L188"}, {"id": "test_issue572_rationale_196", "label": "minimax-cn + chat_ready=False \u2192 wizard fires so user can fix it.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L196"}, {"id": "test_issue572_rationale_201", "label": "setup.current_is_oauth must be True for minimax-cn (not in quick-setup list).", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_issue572.py", "source_location": "L201"}, {"id": "home_fr33m1nd_hermes_webui_src_tests_test_quote_entity_mangling_py", "label": "test_quote_entity_mangling.py", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L1"}, {"id": "test_quote_entity_mangling_esc", "label": "esc()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L27"}, {"id": "test_quote_entity_mangling_render_code_block", "label": "_render_code_block()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L31"}, {"id": "test_quote_entity_mangling_safe_tags_pass", "label": "_safe_tags_pass()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L48"}, {"id": "test_quote_entity_mangling_autolink", "label": "_autolink()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L56"}, {"id": "test_quote_entity_mangling_al_stash_and_autolink", "label": "_al_stash_and_autolink()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L62"}, {"id": "test_quote_entity_mangling_render_fixed", "label": "render_fixed()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L85"}, {"id": "test_quote_entity_mangling_render_buggy", "label": "render_buggy()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L92"}, {"id": "test_quote_entity_mangling_strip_tags", "label": "strip_tags()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L99"}, {"id": "test_quote_entity_mangling_testalstashsourcefix", "label": "TestAlStashSourceFix", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L106"}, {"id": "test_quote_entity_mangling_testalstashsourcefix_test_al_stash_includes_pre_pattern", "label": ".test_al_stash_includes_pre_pattern()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L108"}, {"id": "test_quote_entity_mangling_testalstashsourcefix_test_al_stash_pre_regex_uses_lazy_dotall", "label": ".test_al_stash_pre_regex_uses_lazy_dotall()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L117"}, {"id": "test_quote_entity_mangling_testalstashsourcefix_test_al_stash_still_covers_a_and_img", "label": ".test_al_stash_still_covers_a_and_img()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L129"}, {"id": "test_quote_entity_mangling_testalstashsourcefix_test_js_syntax_valid", "label": ".test_js_syntax_valid()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L140"}, {"id": "test_quote_entity_mangling_testcodeblockquotedurlfixed", "label": "TestCodeBlockQuotedUrlFixed", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L151"}, {"id": "test_quote_entity_mangling_testcodeblockquotedurlfixed_test_no_amp_quot_in_code_block_url", "label": ".test_no_amp_quot_in_code_block_url()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L157"}, {"id": "test_quote_entity_mangling_testcodeblockquotedurlfixed_test_no_a_tag_injected_inside_pre", "label": ".test_no_a_tag_injected_inside_pre()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L164"}, {"id": "test_quote_entity_mangling_testcodeblockquotedurlfixed_test_copy_text_shows_correct_url", "label": ".test_copy_text_shows_correct_url()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L175"}, {"id": "test_quote_entity_mangling_testcodeblockquotedurlfixed_test_python_code_block_not_mangled", "label": ".test_python_code_block_not_mangled()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L185"}, {"id": "test_quote_entity_mangling_testcodeblockquotedurlfixed_test_bash_code_block_not_mangled", "label": ".test_bash_code_block_not_mangled()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L196"}, {"id": "test_quote_entity_mangling_testcodeblockquotedurlfixed_test_buggy_pipeline_does_mangle", "label": ".test_buggy_pipeline_does_mangle()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L203"}, {"id": "test_quote_entity_mangling_testcodeblockquotedurlfixed_test_buggy_pipeline_does_inject_a_in_pre", "label": ".test_buggy_pipeline_does_inject_a_in_pre()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L210"}, {"id": "test_quote_entity_mangling_testnoncodeautolinkunaffected", "label": "TestNonCodeAutolinkUnaffected", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L221"}, {"id": "test_quote_entity_mangling_testnoncodeautolinkunaffected_test_bare_url_in_paragraph_still_autolinks", "label": ".test_bare_url_in_paragraph_still_autolinks()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L223"}, {"id": "test_quote_entity_mangling_testnoncodeautolinkunaffected_test_url_in_paragraph_does_not_double_escape", "label": ".test_url_in_paragraph_does_not_double_escape()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L230"}, {"id": "test_quote_entity_mangling_testnoncodeautolinkunaffected_test_multiple_urls_in_paragraph_all_autolinked", "label": ".test_multiple_urls_in_paragraph_all_autolinked()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L238"}, {"id": "test_quote_entity_mangling_testnoncodeautolinkunaffected_test_pre_block_restored_intact", "label": ".test_pre_block_restored_intact()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L245"}, {"id": "test_quote_entity_mangling_testnoncodeautolinkunaffected_test_code_block_and_bare_url_in_same_message", "label": ".test_code_block_and_bare_url_in_same_message()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L256"}, {"id": "test_quote_entity_mangling_testsanitizerunaffected", "label": "TestSanitizerUnaffected", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L277"}, {"id": "test_quote_entity_mangling_testsanitizerunaffected_test_script_tag_in_code_block_escaped", "label": ".test_script_tag_in_code_block_escaped()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L279"}, {"id": "test_quote_entity_mangling_testsanitizerunaffected_test_untrusted_tag_outside_code_escaped_by_safe_tags", "label": ".test_untrusted_tag_outside_code_escaped_by_safe_tags()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L290"}, {"id": "test_quote_entity_mangling_testsanitizerunaffected_test_javascript_url_not_autolinked", "label": ".test_javascript_url_not_autolinked()", "file_type": "code", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L297"}, {"id": "test_quote_entity_mangling_rationale_1", "label": "r\"\"\" Regression tests for the quote-entity mangling bug in renderMd(). Root cau", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L1"}, {"id": "test_quote_entity_mangling_rationale_32", "label": "Simulate the fenced-code-block pass (renderMd lines ~537-541).", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L32"}, {"id": "test_quote_entity_mangling_rationale_63", "label": "Simulate the _al_stash + autolink + restore pass. fixed=True \u2192 uses the pa", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L63"}, {"id": "test_quote_entity_mangling_rationale_100", "label": "Return text content of HTML (tags removed, entities preserved).", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L100"}, {"id": "test_quote_entity_mangling_rationale_109", "label": "_al_stash regex must stash
\u2026
blocks to protect code from autolink.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L109"}, {"id": "test_quote_entity_mangling_rationale_118", "label": "_al_stash must use [\\\\s\\\\S]*? (lazy dotall) for the
 branch.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L118"}, {"id": "test_quote_entity_mangling_rationale_130", "label": "_al_stash must continue to stash  and  (regression guard for #487b).", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L130"}, {"id": "test_quote_entity_mangling_rationale_141", "label": "ui.js must pass node --check after the fix.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L141"}, {"id": "test_quote_entity_mangling_rationale_158", "label": "Code block with a quoted URL must not produce " in output.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L158"}, {"id": "test_quote_entity_mangling_rationale_165", "label": "The autolink pass must NOT inject  tags inside 
 blocks.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L165"}, {"id": "test_quote_entity_mangling_rationale_176", "label": "textContent equivalent of code block must contain the literal URL without mangli", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L176"}, {"id": "test_quote_entity_mangling_rationale_186", "label": "Python code block with double-quoted URL strings must not be mangled.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L186"}, {"id": "test_quote_entity_mangling_rationale_197", "label": "Bash code block with a double-quoted URL must not be mangled.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L197"}, {"id": "test_quote_entity_mangling_rationale_204", "label": "Confirm the unfixed pipeline DOES produce " (proves test catches the bu", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L204"}, {"id": "test_quote_entity_mangling_rationale_211", "label": "Confirm the unfixed pipeline DOES inject  inside 
 (proves test catches i", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L211"}, {"id": "test_quote_entity_mangling_rationale_224", "label": "A plain URL in running text must still be wrapped in  by the fixed pipeline.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L224"}, {"id": "test_quote_entity_mangling_rationale_231", "label": "A plain URL with ampersand query params must not be double-escaped.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L231"}, {"id": "test_quote_entity_mangling_rationale_239", "label": "Multiple bare URLs in a paragraph must each get their own  tag.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L239"}, {"id": "test_quote_entity_mangling_rationale_246", "label": "After stash+restore the 
 block must appear verbatim in the output.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L246"}, {"id": "test_quote_entity_mangling_rationale_257", "label": "A message with both a code block and a bare URL must autolink only the URL.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_quote_entity_mangling.py", "source_location": "L257"}, {"id": "test_quote_entity_mangling_rationale_280", "label": " must be HTML-escaped.", "file_type": "rationale", "source_file": "/home/fr33m1nd/hermes-webui-src/tests/test_sprint16.py", "source_location": "L365"}, {"id": "test_sprint16_rationale_372", "label": "