hermes-agent/hermes_cli
teknium1 4f67c33383 fix(config): whitelist real non-DEFAULT_CONFIG roots + normalize test line endings
Follow-ups on the salvaged unknown-root-key warning from PR #67345:

- Add image_gen, video_gen, plugins, smart_model_routing, platform_toolsets,
  session_reset, multiplex_profiles, profile_routes, platforms,
  require_mention, unauthorized_dm_behavior, and signal to
  _EXTRA_KNOWN_ROOT_KEYS — all are read from the raw user YAML (gateway,
  registries, plugin CLI) or written by our own setup wizard, but absent
  from DEFAULT_CONFIG. Without this, doctor would warn on configs Hermes
  itself wrote.
- Convert tests/hermes_cli/test_config_validation.py back to LF line
  endings (the PR's rewrite introduced CRLF).
2026-07-19 01:09:04 -07:00
..
dashboard_auth
…
proxy
…
subcommands
…
__init__.py
…
_parser.py
…
_subprocess_compat.py
…
active_sessions.py
…
auth.py
…
auth_commands.py
…
azure_detect.py
…
backup.py fix(discord): harden reconnect message recovery 2026-07-18 14:01:33 -07:00
banner.py
…
blueprint_cmd.py
…
browser_connect.py fix: /browser connect times out when another app squats the CDP port 2026-07-18 02:49:28 -07:00
build_info.py
…
bundles.py
…
callbacks.py
…
checkpoints.py
…
claw.py
…
cli_agent_setup_mixin.py
…
cli_billing_mixin.py feat(tui+cli): change your Nous plan from the terminal (/subscription, /topup, terminal-billing UX) (#51639) 2026-07-18 14:30:24 +05:30
cli_commands_mixin.py fix(cli): restore session cwd on mid-chat /resume (transplant to mixin) 2026-07-18 23:20:32 -04:00
cli_output.py
…
clipboard.py
…
codex_models.py
…
codex_runtime_plugin_migration.py
…
codex_runtime_switch.py
…
colors.py
…
commands.py feat(tui+cli): change your Nous plan from the terminal (/subscription, /topup, terminal-billing UX) (#51639) 2026-07-18 14:30:24 +05:30
completion.py
…
config.py fix(config): whitelist real non-DEFAULT_CONFIG roots + normalize test line endings 2026-07-19 01:09:04 -07:00
console_engine.py
…
container_boot.py
…
context_switch_guard.py
…
copilot_auth.py
…
cron.py
…
curator.py
…
curses_ui.py
…
dashboard_register.py
…
debug.py
…
default_soul.py
…
dep_ensure.py
…
diagnostics_upload.py
…
dingtalk_auth.py
…
doctor.py feat(config): warn on unknown top-level keys + report deprecated keys/env in doctor 2026-07-19 01:09:04 -07:00
dump.py fix(cron): accept UTF-8 BOM when reading jobs.json 2026-07-18 02:31:20 -07:00
env_loader.py fix(cli): warn once per path for UTF-32 .env refuse-to-mangle 2026-07-18 19:01:10 -04:00
fallback_cmd.py
…
fallback_config.py
…
gateway.py fix(gateway): recover Discord websocket and event-loop stalls 2026-07-18 20:01:55 +05:30
gateway_enroll.py
…
gateway_windows.py
…
goals.py
…
gui_uninstall.py
…
hooks.py
…
input_sanitize.py
…
inventory.py
…
journey.py
…
kanban.py
…
kanban_db.py
…
kanban_decompose.py
…
kanban_diagnostics.py
…
kanban_specify.py
…
kanban_swarm.py
…
logs.py
…
main.py fix(cli): try bundled TUI before requiring ui-tui workspace (#67116) 2026-07-18 17:17:25 -04:00
managed_scope.py
…
managed_uv.py
…
mcp_catalog.py
…
mcp_config.py
…
mcp_picker.py
…
mcp_security.py
…
mcp_startup.py
…
memory_oauth.py
…
memory_providers.py
…
memory_setup.py
…
middleware.py
…
migrate.py
…
moa_cmd.py
…
moa_config.py
…
model_catalog.py
…
model_cost_guard.py
…
model_normalize.py
…
model_setup_flows.py
…
model_switch.py feat: add /model --once one-turn model override (#29914) 2026-07-18 14:01:56 -07:00
models.py
…
nous_account.py
…
nous_auth_keepalive.py
…
nous_billing.py Terminal-billing client hardening: shared wire types, wire-layer tests, dead RPC removal (#61067) 2026-07-18 07:05:58 -07:00
nous_subscription.py
…
onepassword_secrets_cli.py
…
oneshot.py
…
pairing.py
…
partial_compress.py
…
pets.py
…
platforms.py
…
plugins.py
…
plugins_cmd.py
…
portal_cli.py
…
profile_describer.py
…
profile_distribution.py
…
profiles.py
…
projects_cmd.py
…
projects_db.py
…
prompt_size.py
…
provider_catalog.py
…
providers.py
…
psutil_android.py
…
pt_input_extras.py
…
pty_bridge.py
…
pty_session.py
…
relaunch.py
…
runtime_provider.py
…
secret_prompt.py
…
secrets_cli.py
…
security_advisories.py
…
security_audit.py
…
security_audit_startup.py
…
send_cmd.py
…
service_manager.py
…
session_export.py
…
session_export_html.py
…
session_export_md.py
…
session_filters.py
…
session_listing.py
…
session_recap.py
…
setup.py
…
setup_whatsapp_cloud.py
…
skills_config.py
…
skills_hub.py
…
skin_engine.py
…
slack_cli.py
…
sqlite_util.py
…
status.py fix(cron): accept UTF-8 BOM when reading jobs.json 2026-07-18 02:31:20 -07:00
stdio.py
…
suggestions_cmd.py
…
telegram_managed_bot.py
…
timeouts.py
…
tips.py
…
tools_config.py
…
toolset_validation.py
…
uninstall.py
…
urllib_security.py
…
voice.py
…
web_git.py
…
web_server.py perf(desktop): batch sidebar session slices into one profile-DB pass 2026-07-18 21:45:18 -04:00
webhook.py
…
win_pty_bridge.py
…
write_approval_commands.py
…
xai_retirement.py
…