Files
hermes-agent/docs/ouroboros/artifacts/module_inventory.json
Ezra 5f1cdfc9e4
Some checks failed
Docker Build and Publish / build-and-push (pull_request) Has been skipped
Docs Site Checks / docs-site-checks (pull_request) Failing after 1m47s
Nix / nix (ubuntu-latest) (pull_request) Failing after 26s
Supply Chain Audit / Scan PR for supply chain risks (pull_request) Failing after 0s
Tests / test (pull_request) Failing after 47s
Tests / e2e (pull_request) Failing after 3s
Nix / nix (macos-latest) (pull_request) Has been cancelled
[EPIC-999] Phase I — The Mirror: formal spec extraction artifacts
- module_inventory.json: 679 Python files, 298k lines, 232k SLOC
- core_analysis.json: deep AST parse of 9 core modules
- SPEC.md: high-level architecture, module specs, coupling risks, Phase II prep

Authored-by: Ezra <ezra@hermes.vps>
2026-04-05 23:27:29 +00:00

3397 lines
61 KiB
JSON

[
{
"path": "run_agent.py",
"lines": 8948,
"sloc": 6997
},
{
"path": "cli.py",
"lines": 8280,
"sloc": 6568
},
{
"path": "gateway/run.py",
"lines": 6657,
"sloc": 5171
},
{
"path": "hermes_cli/main.py",
"lines": 5407,
"sloc": 4389
},
{
"path": "gateway/platforms/feishu.py",
"lines": 3255,
"sloc": 2815
},
{
"path": "tests/test_run_agent.py",
"lines": 3339,
"sloc": 2677
},
{
"path": "hermes_cli/setup.py",
"lines": 3050,
"sloc": 2497
},
{
"path": "tests/tools/test_mcp_tool.py",
"lines": 3063,
"sloc": 2290
},
{
"path": "optional-skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py",
"lines": 2653,
"sloc": 2275
},
{
"path": "hermes_cli/auth.py",
"lines": 2665,
"sloc": 2195
},
{
"path": "tools/skills_hub.py",
"lines": 2707,
"sloc": 2188
},
{
"path": "tests/gateway/test_feishu.py",
"lines": 2580,
"sloc": 2140
},
{
"path": "tests/gateway/test_voice_command.py",
"lines": 2632,
"sloc": 2003
},
{
"path": "gateway/platforms/discord.py",
"lines": 2346,
"sloc": 1854
},
{
"path": "gateway/platforms/telegram.py",
"lines": 2145,
"sloc": 1754
},
{
"path": "hermes_cli/config.py",
"lines": 2265,
"sloc": 1739
},
{
"path": "hermes_cli/gateway.py",
"lines": 2126,
"sloc": 1737
},
{
"path": "tools/mcp_tool.py",
"lines": 2165,
"sloc": 1703
},
{
"path": "tools/browser_tool.py",
"lines": 2115,
"sloc": 1604
},
{
"path": "tools/web_tools.py",
"lines": 2065,
"sloc": 1590
},
{
"path": "agent/auxiliary_client.py",
"lines": 1926,
"sloc": 1510
},
{
"path": "hermes_cli/tools_config.py",
"lines": 1790,
"sloc": 1413
},
{
"path": "tests/gateway/test_api_server.py",
"lines": 1685,
"sloc": 1349
},
{
"path": "gateway/platforms/base.py",
"lines": 1558,
"sloc": 1196
},
{
"path": "optional-skills/productivity/telephony/scripts/telephony.py",
"lines": 1343,
"sloc": 1187
},
{
"path": "gateway/platforms/wecom.py",
"lines": 1338,
"sloc": 1149
},
{
"path": "tools/terminal_tool.py",
"lines": 1466,
"sloc": 1120
},
{
"path": "gateway/platforms/api_server.py",
"lines": 1373,
"sloc": 1115
},
{
"path": "tests/tools/test_skills_hub.py",
"lines": 1371,
"sloc": 1112
},
{
"path": "trajectory_compressor.py",
"lines": 1518,
"sloc": 1099
},
{
"path": "tools/skills_tool.py",
"lines": 1378,
"sloc": 1095
},
{
"path": "hermes_cli/models.py",
"lines": 1300,
"sloc": 1091
},
{
"path": "tests/test_anthropic_adapter.py",
"lines": 1327,
"sloc": 1088
},
{
"path": "agent/anthropic_adapter.py",
"lines": 1390,
"sloc": 1085
},
{
"path": "hermes_state.py",
"lines": 1270,
"sloc": 1044
},
{
"path": "tools/rl_training_tool.py",
"lines": 1402,
"sloc": 1044
},
{
"path": "tests/tools/test_voice_cli_integration.py",
"lines": 1233,
"sloc": 1002
},
{
"path": "environments/agentic_opd_env.py",
"lines": 1213,
"sloc": 973
},
{
"path": "batch_runner.py",
"lines": 1285,
"sloc": 972
},
{
"path": "hermes_cli/skills_hub.py",
"lines": 1219,
"sloc": 970
},
{
"path": "tests/test_hermes_state.py",
"lines": 1299,
"sloc": 963
},
{
"path": "plugins/memory/honcho/cli.py",
"lines": 1166,
"sloc": 943
},
{
"path": "tests/agent/test_auxiliary_client.py",
"lines": 1108,
"sloc": 939
},
{
"path": "gateway/platforms/matrix.py",
"lines": 1217,
"sloc": 936
},
{
"path": "tests/gateway/test_email.py",
"lines": 1178,
"sloc": 932
},
{
"path": "tests/test_mcp_serve.py",
"lines": 1111,
"sloc": 897
},
{
"path": "tools/skills_guard.py",
"lines": 1105,
"sloc": 888
},
{
"path": "agent/display.py",
"lines": 1084,
"sloc": 862
},
{
"path": "tests/tools/test_skills_tool.py",
"lines": 1048,
"sloc": 850
},
{
"path": "tests/test_run_agent_codex_responses.py",
"lines": 1041,
"sloc": 849
},
{
"path": "tests/agent/test_prompt_builder.py",
"lines": 1090,
"sloc": 843
},
{
"path": "plugins/memory/honcho/session.py",
"lines": 1027,
"sloc": 836
},
{
"path": "tools/file_operations.py",
"lines": 1168,
"sloc": 828
},
{
"path": "gateway/session.py",
"lines": 1050,
"sloc": 821
},
{
"path": "tests/test_credential_pool.py",
"lines": 949,
"sloc": 814
},
{
"path": "agent/credential_pool.py",
"lines": 947,
"sloc": 808
},
{
"path": "gateway/platforms/whatsapp.py",
"lines": 941,
"sloc": 807
},
{
"path": "hermes_cli/profiles.py",
"lines": 1070,
"sloc": 792
},
{
"path": "gateway/platforms/slack.py",
"lines": 998,
"sloc": 787
},
{
"path": "tests/tools/test_tirith_security.py",
"lines": 1006,
"sloc": 787
},
{
"path": "tests/gateway/test_slack.py",
"lines": 1059,
"sloc": 785
},
{
"path": "tests/test_runtime_provider_resolution.py",
"lines": 1008,
"sloc": 783
},
{
"path": "tools/send_message_tool.py",
"lines": 906,
"sloc": 774
},
{
"path": "optional-skills/blockchain/base/scripts/base_client.py",
"lines": 1008,
"sloc": 762
},
{
"path": "gateway/config.py",
"lines": 919,
"sloc": 755
},
{
"path": "agent/prompt_builder.py",
"lines": 920,
"sloc": 750
},
{
"path": "tests/tools/test_delegate.py",
"lines": 888,
"sloc": 745
},
{
"path": "tools/tts_tool.py",
"lines": 984,
"sloc": 737
},
{
"path": "tests/gateway/test_session.py",
"lines": 868,
"sloc": 726
},
{
"path": "tests/gateway/test_matrix.py",
"lines": 995,
"sloc": 722
},
{
"path": "tools/process_registry.py",
"lines": 889,
"sloc": 719
},
{
"path": "agent/model_metadata.py",
"lines": 935,
"sloc": 716
},
{
"path": "tests/test_api_key_providers.py",
"lines": 914,
"sloc": 710
},
{
"path": "tests/test_provider_parity.py",
"lines": 833,
"sloc": 709
},
{
"path": "environments/benchmarks/terminalbench_2/terminalbench2_env.py",
"lines": 958,
"sloc": 699
},
{
"path": "tests/tools/test_clipboard.py",
"lines": 877,
"sloc": 698
},
{
"path": "tests/tools/test_voice_mode.py",
"lines": 1066,
"sloc": 698
},
{
"path": "hermes_cli/commands.py",
"lines": 874,
"sloc": 684
},
{
"path": "mcp_serve.py",
"lines": 868,
"sloc": 681
},
{
"path": "tests/cron/test_scheduler.py",
"lines": 795,
"sloc": 663
},
{
"path": "environments/benchmarks/yc_bench/yc_bench_env.py",
"lines": 847,
"sloc": 662
},
{
"path": "hermes_cli/doctor.py",
"lines": 817,
"sloc": 656
},
{
"path": "agent/insights.py",
"lines": 799,
"sloc": 655
},
{
"path": "tests/test_streaming.py",
"lines": 816,
"sloc": 650
},
{
"path": "tests/tools/test_code_execution.py",
"lines": 809,
"sloc": 647
},
{
"path": "tools/delegate_tool.py",
"lines": 807,
"sloc": 645
},
{
"path": "tools/file_tools.py",
"lines": 828,
"sloc": 631
},
{
"path": "skills/red-teaming/godmode/scripts/auto_jailbreak.py",
"lines": 772,
"sloc": 631
},
{
"path": "tests/tools/test_transcription_tools.py",
"lines": 860,
"sloc": 629
},
{
"path": "tools/approval.py",
"lines": 868,
"sloc": 624
},
{
"path": "tools/code_execution_tool.py",
"lines": 815,
"sloc": 623
},
{
"path": "hermes_cli/skin_engine.py",
"lines": 724,
"sloc": 623
},
{
"path": "hermes_cli/runtime_provider.py",
"lines": 735,
"sloc": 617
},
{
"path": "tools/voice_mode.py",
"lines": 812,
"sloc": 595
},
{
"path": "gateway/platforms/signal.py",
"lines": 807,
"sloc": 586
},
{
"path": "cron/jobs.py",
"lines": 746,
"sloc": 585
},
{
"path": "agent/usage_pricing.py",
"lines": 656,
"sloc": 582
},
{
"path": "tests/gateway/test_mattermost.py",
"lines": 757,
"sloc": 582
},
{
"path": "tests/test_reasoning_command.py",
"lines": 764,
"sloc": 576
},
{
"path": "tools/skill_manager_tool.py",
"lines": 747,
"sloc": 575
},
{
"path": "gateway/platforms/mattermost.py",
"lines": 723,
"sloc": 575
},
{
"path": "tests/tools/test_approval.py",
"lines": 718,
"sloc": 568
},
{
"path": "tests/skills/test_openclaw_migration.py",
"lines": 683,
"sloc": 564
},
{
"path": "environments/web_research_env.py",
"lines": 718,
"sloc": 549
},
{
"path": "tests/hermes_cli/test_profiles.py",
"lines": 800,
"sloc": 546
},
{
"path": "plugins/memory/honcho/__init__.py",
"lines": 692,
"sloc": 543
},
{
"path": "tools/image_generation_tool.py",
"lines": 703,
"sloc": 542
},
{
"path": "tests/hermes_cli/test_claw.py",
"lines": 702,
"sloc": 538
},
{
"path": "tests/gateway/test_media_download_retry.py",
"lines": 722,
"sloc": 538
},
{
"path": "tests/test_insights.py",
"lines": 718,
"sloc": 534
},
{
"path": "mini_swe_runner.py",
"lines": 709,
"sloc": 530
},
{
"path": "tests/gateway/test_telegram_documents.py",
"lines": 695,
"sloc": 525
},
{
"path": "acp_adapter/server.py",
"lines": 608,
"sloc": 524
},
{
"path": "optional-skills/blockchain/solana/scripts/solana_client.py",
"lines": 698,
"sloc": 521
},
{
"path": "tests/tools/test_web_tools_config.py",
"lines": 617,
"sloc": 511
},
{
"path": "gateway/platforms/email.py",
"lines": 621,
"sloc": 509
},
{
"path": "tests/acp/test_server.py",
"lines": 683,
"sloc": 509
},
{
"path": "tests/test_cli_provider_resolution.py",
"lines": 642,
"sloc": 504
},
{
"path": "tools/tirith_security.py",
"lines": 670,
"sloc": 498
},
{
"path": "scripts/release.py",
"lines": 632,
"sloc": 492
},
{
"path": "agent/context_compressor.py",
"lines": 676,
"sloc": 491
},
{
"path": "tests/gateway/test_api_server_jobs.py",
"lines": 597,
"sloc": 491
},
{
"path": "environments/hermes_base_env.py",
"lines": 670,
"sloc": 486
},
{
"path": "hermes_cli/mcp_config.py",
"lines": 645,
"sloc": 485
},
{
"path": "gateway/platforms/webhook.py",
"lines": 616,
"sloc": 484
},
{
"path": "tests/gateway/test_update_command.py",
"lines": 651,
"sloc": 483
},
{
"path": "tools/environments/docker.py",
"lines": 596,
"sloc": 482
},
{
"path": "tests/agent/test_model_metadata.py",
"lines": 635,
"sloc": 482
},
{
"path": "cron/scheduler.py",
"lines": 629,
"sloc": 479
},
{
"path": "plugins/memory/openviking/__init__.py",
"lines": 591,
"sloc": 479
},
{
"path": "tests/integration/test_web_tools.py",
"lines": 628,
"sloc": 475
},
{
"path": "tests/gateway/test_wecom.py",
"lines": 596,
"sloc": 469
},
{
"path": "tests/gateway/test_approve_deny_commands.py",
"lines": 632,
"sloc": 469
},
{
"path": "toolsets.py",
"lines": 641,
"sloc": 468
},
{
"path": "tests/gateway/test_telegram_network.py",
"lines": 644,
"sloc": 467
},
{
"path": "tools/vision_tools.py",
"lines": 614,
"sloc": 466
},
{
"path": "tests/test_worktree.py",
"lines": 635,
"sloc": 466
},
{
"path": "tests/gateway/test_homeassistant.py",
"lines": 622,
"sloc": 464
},
{
"path": "tools/transcription_tools.py",
"lines": 622,
"sloc": 461
},
{
"path": "tests/gateway/test_dm_topics.py",
"lines": 647,
"sloc": 461
},
{
"path": "tests/hermes_cli/test_update_autostash.py",
"lines": 636,
"sloc": 460
},
{
"path": "plugins/memory/holographic/store.py",
"lines": 575,
"sloc": 460
},
{
"path": "hermes_cli/claw.py",
"lines": 568,
"sloc": 456
},
{
"path": "tests/hermes_cli/test_commands.py",
"lines": 630,
"sloc": 456
},
{
"path": "hermes_cli/plugins_cmd.py",
"lines": 598,
"sloc": 452
},
{
"path": "tests/integration/test_voice_channel_flow.py",
"lines": 611,
"sloc": 450
},
{
"path": "tests/tools/test_file_tools_live.py",
"lines": 587,
"sloc": 449
},
{
"path": "hermes_cli/nous_subscription.py",
"lines": 517,
"sloc": 441
},
{
"path": "tests/agent/test_context_compressor.py",
"lines": 564,
"sloc": 441
},
{
"path": "tests/gateway/test_webhook_adapter.py",
"lines": 619,
"sloc": 441
},
{
"path": "plugins/memory/holographic/retrieval.py",
"lines": 593,
"sloc": 438
},
{
"path": "tools/browser_camofox.py",
"lines": 571,
"sloc": 436
},
{
"path": "tests/hermes_cli/test_gateway_service.py",
"lines": 612,
"sloc": 436
},
{
"path": "skills/red-teaming/godmode/scripts/parseltongue.py",
"lines": 551,
"sloc": 431
},
{
"path": "agent/context_references.py",
"lines": 492,
"sloc": 424
},
{
"path": "tests/tools/test_send_message_tool.py",
"lines": 506,
"sloc": 423
},
{
"path": "tools/mixture_of_agents_tool.py",
"lines": 562,
"sloc": 422
},
{
"path": "tools/memory_tool.py",
"lines": 560,
"sloc": 421
},
{
"path": "tests/test_agent_loop.py",
"lines": 505,
"sloc": 421
},
{
"path": "tests/agent/test_memory_provider.py",
"lines": 549,
"sloc": 416
},
{
"path": "skills/red-teaming/godmode/scripts/godmode_race.py",
"lines": 532,
"sloc": 414
},
{
"path": "tests/cron/test_jobs.py",
"lines": 544,
"sloc": 414
},
{
"path": "tests/honcho_plugin/test_async_memory.py",
"lines": 560,
"sloc": 413
},
{
"path": "tools/session_search_tool.py",
"lines": 504,
"sloc": 412
},
{
"path": "hermes_cli/plugins.py",
"lines": 561,
"sloc": 411
},
{
"path": "tests/test_agent_loop_tool_calling.py",
"lines": 552,
"sloc": 406
},
{
"path": "tests/tools/test_vision_tools.py",
"lines": 546,
"sloc": 400
},
{
"path": "tools/checkpoint_manager.py",
"lines": 548,
"sloc": 399
},
{
"path": "tests/honcho_plugin/test_client.py",
"lines": 476,
"sloc": 399
},
{
"path": "tests/tools/test_website_policy.py",
"lines": 512,
"sloc": 398
},
{
"path": "tests/hermes_cli/test_session_browse.py",
"lines": 542,
"sloc": 398
},
{
"path": "environments/agent_loop.py",
"lines": 511,
"sloc": 394
},
{
"path": "agent/copilot_acp_client.py",
"lines": 447,
"sloc": 394
},
{
"path": "hermes_cli/auth_commands.py",
"lines": 470,
"sloc": 393
},
{
"path": "tests/test_anthropic_error_handling.py",
"lines": 490,
"sloc": 390
},
{
"path": "tools/cronjob_tools.py",
"lines": 458,
"sloc": 389
},
{
"path": "acp_adapter/session.py",
"lines": 461,
"sloc": 388
},
{
"path": "skills/productivity/google-workspace/scripts/google_api.py",
"lines": 513,
"sloc": 388
},
{
"path": "tools/homeassistant_tool.py",
"lines": 490,
"sloc": 387
},
{
"path": "tools/environments/local.py",
"lines": 486,
"sloc": 380
},
{
"path": "tests/test_413_compression.py",
"lines": 474,
"sloc": 380
},
{
"path": "tests/tools/test_managed_browserbase_and_modal.py",
"lines": 459,
"sloc": 380
},
{
"path": "plugins/memory/honcho/client.py",
"lines": 504,
"sloc": 378
},
{
"path": "tests/test_model_metadata_local_ctx.py",
"lines": 493,
"sloc": 375
},
{
"path": "tests/test_resume_display.py",
"lines": 488,
"sloc": 375
},
{
"path": "optional-skills/creative/meme-generation/scripts/generate_meme.py",
"lines": 471,
"sloc": 370
},
{
"path": "tests/tools/test_skills_guard.py",
"lines": 516,
"sloc": 370
},
{
"path": "tests/hermes_cli/test_update_gateway_restart.py",
"lines": 493,
"sloc": 362
},
{
"path": "tests/gateway/test_whatsapp_connect.py",
"lines": 502,
"sloc": 362
},
{
"path": "tools/environments/modal.py",
"lines": 445,
"sloc": 361
},
{
"path": "tests/hermes_cli/test_setup_openclaw_migration.py",
"lines": 466,
"sloc": 361
},
{
"path": "tests/hermes_cli/test_model_validation.py",
"lines": 474,
"sloc": 360
},
{
"path": "tests/tools/test_skills_sync.py",
"lines": 491,
"sloc": 358
},
{
"path": "tests/tools/test_read_loop_detection.py",
"lines": 436,
"sloc": 355
},
{
"path": "hermes_cli/banner.py",
"lines": 463,
"sloc": 352
},
{
"path": "tests/tools/test_credential_files.py",
"lines": 478,
"sloc": 352
},
{
"path": "tests/hermes_cli/test_setup_model_provider.py",
"lines": 477,
"sloc": 352
},
{
"path": "environments/tool_context.py",
"lines": 474,
"sloc": 349
},
{
"path": "hermes_cli/memory_setup.py",
"lines": 451,
"sloc": 348
},
{
"path": "gateway/platforms/homeassistant.py",
"lines": 449,
"sloc": 344
},
{
"path": "tests/gateway/test_discord_slash_commands.py",
"lines": 499,
"sloc": 339
},
{
"path": "tests/gateway/test_telegram_format.py",
"lines": 538,
"sloc": 338
},
{
"path": "tools/patch_parser.py",
"lines": 455,
"sloc": 336
},
{
"path": "tests/test_trajectory_compressor.py",
"lines": 419,
"sloc": 336
},
{
"path": "plugins/memory/holographic/__init__.py",
"lines": 407,
"sloc": 333
},
{
"path": "hermes_cli/status.py",
"lines": 424,
"sloc": 332
},
{
"path": "tools/fuzzy_match.py",
"lines": 482,
"sloc": 329
},
{
"path": "optional-skills/research/domain-intel/scripts/domain_intel.py",
"lines": 397,
"sloc": 329
},
{
"path": "tests/test_fallback_model.py",
"lines": 377,
"sloc": 327
},
{
"path": "tests/skills/test_memento_cards.py",
"lines": 427,
"sloc": 326
},
{
"path": "model_tools.py",
"lines": 466,
"sloc": 325
},
{
"path": "tests/integration/test_checkpoint_resumption.py",
"lines": 440,
"sloc": 323
},
{
"path": "tests/tools/test_cronjob_tools.py",
"lines": 405,
"sloc": 322
},
{
"path": "tests/gateway/test_platform_base.py",
"lines": 424,
"sloc": 321
},
{
"path": "tests/test_auth_commands.py",
"lines": 391,
"sloc": 320
},
{
"path": "tests/gateway/test_send_image_file.py",
"lines": 437,
"sloc": 316
},
{
"path": "gateway/status.py",
"lines": 391,
"sloc": 313
},
{
"path": "tools/credential_files.py",
"lines": 404,
"sloc": 312
},
{
"path": "tests/test_primary_runtime_restore.py",
"lines": 424,
"sloc": 312
},
{
"path": "tests/gateway/test_platform_reconnect.py",
"lines": 427,
"sloc": 312
},
{
"path": "rl_cli.py",
"lines": 446,
"sloc": 310
},
{
"path": "tools/environments/singularity.py",
"lines": 390,
"sloc": 306
},
{
"path": "scripts/discord-voice-doctor.py",
"lines": 389,
"sloc": 305
},
{
"path": "tests/hermes_cli/test_config.py",
"lines": 379,
"sloc": 302
},
{
"path": "tests/tools/test_skill_manager_tool.py",
"lines": 413,
"sloc": 299
},
{
"path": "tests/tools/test_docker_environment.py",
"lines": 401,
"sloc": 296
},
{
"path": "tests/tools/test_process_registry.py",
"lines": 387,
"sloc": 293
},
{
"path": "tests/test_plugins.py",
"lines": 409,
"sloc": 292
},
{
"path": "scripts/sample_and_compress.py",
"lines": 411,
"sloc": 291
},
{
"path": "tests/tools/test_daytona_environment.py",
"lines": 414,
"sloc": 291
},
{
"path": "plugins/memory/hindsight/__init__.py",
"lines": 358,
"sloc": 290
},
{
"path": "plugins/memory/byterover/__init__.py",
"lines": 383,
"sloc": 288
},
{
"path": "tests/test_cli_init.py",
"lines": 347,
"sloc": 286
},
{
"path": "plugins/memory/mem0/__init__.py",
"lines": 353,
"sloc": 286
},
{
"path": "skills/productivity/google-workspace/scripts/setup.py",
"lines": 357,
"sloc": 285
},
{
"path": "optional-skills/productivity/memento-flashcards/scripts/memento_cards.py",
"lines": 353,
"sloc": 282
},
{
"path": "tests/agent/test_subagent_progress.py",
"lines": 374,
"sloc": 282
},
{
"path": "tests/hermes_cli/test_tools_config.py",
"lines": 383,
"sloc": 280
},
{
"path": "gateway/delivery.py",
"lines": 351,
"sloc": 279
},
{
"path": "tests/tools/test_checkpoint_manager.py",
"lines": 413,
"sloc": 279
},
{
"path": "hermes_cli/clipboard.py",
"lines": 360,
"sloc": 278
},
{
"path": "tests/gateway/test_reasoning_command.py",
"lines": 329,
"sloc": 278
},
{
"path": "tests/hermes_cli/test_mcp_config.py",
"lines": 400,
"sloc": 277
},
{
"path": "tests/gateway/test_session_hygiene.py",
"lines": 386,
"sloc": 275
},
{
"path": "toolset_distributions.py",
"lines": 364,
"sloc": 273
},
{
"path": "agent/memory_manager.py",
"lines": 335,
"sloc": 273
},
{
"path": "tests/test_plugins_cmd.py",
"lines": 409,
"sloc": 272
},
{
"path": "tests/tools/test_local_env_blocklist.py",
"lines": 321,
"sloc": 272
},
{
"path": "tests/test_timezone.py",
"lines": 376,
"sloc": 271
},
{
"path": "tests/test_agent_loop_vllm.py",
"lines": 359,
"sloc": 270
},
{
"path": "tests/tools/test_file_read_guards.py",
"lines": 378,
"sloc": 268
},
{
"path": "tests/agent/test_skill_commands.py",
"lines": 316,
"sloc": 268
},
{
"path": "optional-skills/security/oss-forensics/scripts/evidence-store.py",
"lines": 313,
"sloc": 265
},
{
"path": "tools/environments/ssh.py",
"lines": 306,
"sloc": 263
},
{
"path": "gateway/platforms/dingtalk.py",
"lines": 340,
"sloc": 263
},
{
"path": "tests/test_credential_pool_routing.py",
"lines": 350,
"sloc": 263
},
{
"path": "tests/tools/test_registry.py",
"lines": 311,
"sloc": 263
},
{
"path": "tests/gateway/test_discord_document_handling.py",
"lines": 350,
"sloc": 263
},
{
"path": "tests/tools/test_managed_modal_environment.py",
"lines": 327,
"sloc": 260
},
{
"path": "tests/tools/test_file_operations.py",
"lines": 335,
"sloc": 259
},
{
"path": "tests/hermes_cli/test_skin_engine.py",
"lines": 314,
"sloc": 259
},
{
"path": "tests/gateway/test_signal.py",
"lines": 370,
"sloc": 255
},
{
"path": "tests/gateway/test_webhook_integration.py",
"lines": 337,
"sloc": 254
},
{
"path": "tests/tools/test_file_tools.py",
"lines": 314,
"sloc": 253
},
{
"path": "tests/gateway/test_discord_free_response.py",
"lines": 360,
"sloc": 253
},
{
"path": "tests/integration/test_ha_integration.py",
"lines": 341,
"sloc": 252
},
{
"path": "tests/acp/test_mcp_e2e.py",
"lines": 349,
"sloc": 250
},
{
"path": "plugins/memory/retaindb/__init__.py",
"lines": 302,
"sloc": 250
},
{
"path": "tests/tools/test_homeassistant_tool.py",
"lines": 373,
"sloc": 249
},
{
"path": "agent/skill_commands.py",
"lines": 297,
"sloc": 247
},
{
"path": "tests/hermes_cli/test_skills_config.py",
"lines": 314,
"sloc": 247
},
{
"path": "skills/research/polymarket/scripts/polymarket.py",
"lines": 284,
"sloc": 245
},
{
"path": "tests/gateway/test_pairing.py",
"lines": 356,
"sloc": 245
},
{
"path": "tests/tools/test_command_guards.py",
"lines": 351,
"sloc": 244
},
{
"path": "hermes_cli/callbacks.py",
"lines": 283,
"sloc": 243
},
{
"path": "tests/tools/test_managed_media_gateways.py",
"lines": 293,
"sloc": 243
},
{
"path": "tests/tools/test_modal_sandbox_fixes.py",
"lines": 316,
"sloc": 242
},
{
"path": "tests/tools/test_send_message_missing_platforms.py",
"lines": 334,
"sloc": 242
},
{
"path": "tools/environments/managed_modal.py",
"lines": 282,
"sloc": 241
},
{
"path": "tools/environments/daytona.py",
"lines": 299,
"sloc": 240
},
{
"path": "tests/gateway/test_matrix_voice.py",
"lines": 340,
"sloc": 240
},
{
"path": "hermes_cli/uninstall.py",
"lines": 326,
"sloc": 239
},
{
"path": "tests/test_auxiliary_config_bridge.py",
"lines": 307,
"sloc": 239
},
{
"path": "tests/acp/test_session.py",
"lines": 331,
"sloc": 239
},
{
"path": "tests/gateway/test_background_command.py",
"lines": 323,
"sloc": 237
},
{
"path": "tools/mcp_oauth.py",
"lines": 326,
"sloc": 236
},
{
"path": "tests/tools/test_mcp_oauth.py",
"lines": 337,
"sloc": 234
},
{
"path": "tools/skills_sync.py",
"lines": 295,
"sloc": 232
},
{
"path": "tools/browser_providers/browserbase.py",
"lines": 281,
"sloc": 229
},
{
"path": "tests/fakes/fake_ha_server.py",
"lines": 301,
"sloc": 229
},
{
"path": "tests/hermes_cli/test_mcp_tools_config.py",
"lines": 291,
"sloc": 227
},
{
"path": "hermes_cli/copilot_auth.py",
"lines": 294,
"sloc": 226
},
{
"path": "tests/test_model_tools_async_bridge.py",
"lines": 307,
"sloc": 226
},
{
"path": "tests/test_cli_status_bar.py",
"lines": 276,
"sloc": 226
},
{
"path": "tests/gateway/test_config.py",
"lines": 270,
"sloc": 226
},
{
"path": "tests/hermes_cli/test_setup.py",
"lines": 307,
"sloc": 225
},
{
"path": "tools/registry.py",
"lines": 275,
"sloc": 224
},
{
"path": "tests/tools/test_skills_hub_clawhub.py",
"lines": 260,
"sloc": 223
},
{
"path": "environments/terminal_test_env/terminal_test_env.py",
"lines": 292,
"sloc": 221
},
{
"path": "tests/agent/test_memory_plugin_e2e.py",
"lines": 299,
"sloc": 221
},
{
"path": "website/scripts/extract-skills.py",
"lines": 268,
"sloc": 220
},
{
"path": "tools/website_policy.py",
"lines": 283,
"sloc": 219
},
{
"path": "tests/test_model_provider_persistence.py",
"lines": 259,
"sloc": 219
},
{
"path": "gateway/pairing.py",
"lines": 284,
"sloc": 218
},
{
"path": "tests/gateway/test_extract_local_files.py",
"lines": 317,
"sloc": 218
},
{
"path": "tests/tools/test_patch_parser.py",
"lines": 255,
"sloc": 217
},
{
"path": "gateway/platforms/sms.py",
"lines": 276,
"sloc": 216
},
{
"path": "skills/productivity/powerpoint/scripts/clean.py",
"lines": 286,
"sloc": 216
},
{
"path": "tests/gateway/test_session_race_guard.py",
"lines": 340,
"sloc": 216
},
{
"path": "tests/test_tool_call_parsers.py",
"lines": 274,
"sloc": 215
},
{
"path": "tests/gateway/test_channel_directory.py",
"lines": 252,
"sloc": 215
},
{
"path": "tools/environments/persistent_shell.py",
"lines": 277,
"sloc": 214
},
{
"path": "hermes_cli/cron.py",
"lines": 265,
"sloc": 212
},
{
"path": "tests/test_codex_models.py",
"lines": 264,
"sloc": 212
},
{
"path": "tests/tools/test_browser_console.py",
"lines": 295,
"sloc": 212
},
{
"path": "tests/gateway/test_unauthorized_dm_behavior.py",
"lines": 255,
"sloc": 212
},
{
"path": "tools/todo_tool.py",
"lines": 268,
"sloc": 211
},
{
"path": "tests/test_1630_context_overflow_loop.py",
"lines": 268,
"sloc": 211
},
{
"path": "tests/tools/test_session_search.py",
"lines": 286,
"sloc": 210
},
{
"path": "tests/test_context_references.py",
"lines": 268,
"sloc": 207
},
{
"path": "tests/tools/test_web_tools_tavily.py",
"lines": 255,
"sloc": 207
},
{
"path": "tests/test_860_dedup.py",
"lines": 294,
"sloc": 206
},
{
"path": "agent/skill_utils.py",
"lines": 285,
"sloc": 205
},
{
"path": "tests/gateway/test_transcript_offset.py",
"lines": 267,
"sloc": 205
},
{
"path": "hermes_cli/webhook.py",
"lines": 260,
"sloc": 204
},
{
"path": "tests/gateway/test_async_memory_flush.py",
"lines": 249,
"sloc": 204
},
{
"path": "tests/tools/test_browser_homebrew_paths.py",
"lines": 259,
"sloc": 202
},
{
"path": "tests/integration/test_modal_terminal.py",
"lines": 301,
"sloc": 201
},
{
"path": "gateway/platforms/telegram_network.py",
"lines": 248,
"sloc": 200
},
{
"path": "hermes_cli/model_switch.py",
"lines": 244,
"sloc": 197
},
{
"path": "tests/test_agent_guardrails.py",
"lines": 263,
"sloc": 197
},
{
"path": "tests/tools/test_llm_content_none_guard.py",
"lines": 294,
"sloc": 196
},
{
"path": "tests/agent/test_redact.py",
"lines": 254,
"sloc": 196
},
{
"path": "tests/gateway/test_agent_cache.py",
"lines": 260,
"sloc": 196
},
{
"path": "tests/skills/test_google_oauth_setup.py",
"lines": 237,
"sloc": 192
},
{
"path": "tests/tools/test_memory_tool.py",
"lines": 260,
"sloc": 191
},
{
"path": "tests/gateway/test_dingtalk.py",
"lines": 274,
"sloc": 191
},
{
"path": "tests/skills/test_telephony_skill.py",
"lines": 229,
"sloc": 191
},
{
"path": "tests/tools/test_browser_camofox.py",
"lines": 295,
"sloc": 190
},
{
"path": "tests/gateway/test_sse_agent_cancel.py",
"lines": 280,
"sloc": 188
},
{
"path": "gateway/channel_directory.py",
"lines": 258,
"sloc": 187
},
{
"path": "tests/tools/test_browser_camofox_persistence.py",
"lines": 242,
"sloc": 187
},
{
"path": "tests/gateway/test_telegram_reply_mode.py",
"lines": 242,
"sloc": 186
},
{
"path": "tests/gateway/test_telegram_conflict.py",
"lines": 249,
"sloc": 184
},
{
"path": "tests/test_flush_memories_codex.py",
"lines": 222,
"sloc": 183
},
{
"path": "tests/test_context_pressure.py",
"lines": 248,
"sloc": 182
},
{
"path": "tests/gateway/test_background_process_notifications.py",
"lines": 245,
"sloc": 181
},
{
"path": "tests/hermes_cli/test_gateway.py",
"lines": 254,
"sloc": 180
},
{
"path": "tests/test_cli_new_session.py",
"lines": 222,
"sloc": 179
},
{
"path": "tests/hermes_cli/test_tool_token_estimation.py",
"lines": 283,
"sloc": 179
},
{
"path": "tests/gateway/test_mirror.py",
"lines": 229,
"sloc": 179
},
{
"path": "tests/gateway/test_run_progress_topics.py",
"lines": 219,
"sloc": 179
},
{
"path": "tests/acp/test_events.py",
"lines": 280,
"sloc": 176
},
{
"path": "tests/tools/test_modal_snapshot_isolation.py",
"lines": 222,
"sloc": 175
},
{
"path": "tests/gateway/test_resume_command.py",
"lines": 226,
"sloc": 175
},
{
"path": "tests/tools/test_file_staleness.py",
"lines": 241,
"sloc": 174
},
{
"path": "tests/gateway/test_discord_reactions.py",
"lines": 234,
"sloc": 174
},
{
"path": "environments/hermes_swe_env/hermes_swe_env.py",
"lines": 229,
"sloc": 173
},
{
"path": "agent/memory_provider.py",
"lines": 231,
"sloc": 173
},
{
"path": "tests/gateway/test_flush_memory_stale_guard.py",
"lines": 224,
"sloc": 173
},
{
"path": "tests/test_personality_none.py",
"lines": 212,
"sloc": 172
},
{
"path": "tests/tools/test_transcription.py",
"lines": 247,
"sloc": 172
},
{
"path": "tests/hermes_cli/test_tools_disable_enable.py",
"lines": 224,
"sloc": 171
},
{
"path": "agent/smart_model_routing.py",
"lines": 194,
"sloc": 169
},
{
"path": "acp_adapter/tools.py",
"lines": 215,
"sloc": 168
},
{
"path": "tests/tools/test_browser_ssrf_local.py",
"lines": 237,
"sloc": 167
},
{
"path": "tests/hermes_cli/test_copilot_auth.py",
"lines": 208,
"sloc": 167
},
{
"path": "tests/gateway/test_base_topic_sessions.py",
"lines": 222,
"sloc": 167
},
{
"path": "tests/tools/test_ssh_environment.py",
"lines": 218,
"sloc": 166
},
{
"path": "tests/gateway/test_send_retry.py",
"lines": 231,
"sloc": 166
},
{
"path": "tests/acp/test_tools.py",
"lines": 236,
"sloc": 165
},
{
"path": "tests/tools/test_mcp_probe.py",
"lines": 210,
"sloc": 165
},
{
"path": "skills/mlops/training/grpo-rl-training/templates/basic_grpo_training.py",
"lines": 228,
"sloc": 164
},
{
"path": "tests/gateway/test_hooks.py",
"lines": 222,
"sloc": 164
},
{
"path": "plugins/memory/__init__.py",
"lines": 213,
"sloc": 164
},
{
"path": "tests/tools/test_skill_size_limits.py",
"lines": 215,
"sloc": 161
},
{
"path": "tests/gateway/test_title_command.py",
"lines": 208,
"sloc": 161
},
{
"path": "tests/test_interactive_interrupt.py",
"lines": 203,
"sloc": 160
},
{
"path": "tests/agent/test_models_dev.py",
"lines": 197,
"sloc": 160
},
{
"path": "tests/gateway/test_session_dm_thread_seeding.py",
"lines": 221,
"sloc": 159
},
{
"path": "tests/test_display.py",
"lines": 202,
"sloc": 158
},
{
"path": "tests/hermes_cli/test_webhook_cli.py",
"lines": 189,
"sloc": 158
},
{
"path": "tests/hermes_cli/test_skills_hub.py",
"lines": 233,
"sloc": 158
},
{
"path": "tests/test_long_context_tier_429.py",
"lines": 209,
"sloc": 157
},
{
"path": "tests/gateway/test_sms.py",
"lines": 215,
"sloc": 157
},
{
"path": "gateway/stream_consumer.py",
"lines": 202,
"sloc": 155
},
{
"path": "tests/test_quick_commands.py",
"lines": 188,
"sloc": 155
},
{
"path": "tests/gateway/test_session_reset_notify.py",
"lines": 207,
"sloc": 155
},
{
"path": "tests/tools/test_env_passthrough.py",
"lines": 199,
"sloc": 154
},
{
"path": "tests/test_codex_execution_paths.py",
"lines": 183,
"sloc": 152
},
{
"path": "tests/e2e/test_telegram_commands.py",
"lines": 217,
"sloc": 152
},
{
"path": "tests/test_compression_boundary.py",
"lines": 199,
"sloc": 147
},
{
"path": "tests/tools/test_clarify_tool.py",
"lines": 195,
"sloc": 147
},
{
"path": "hermes_cli/codex_models.py",
"lines": 176,
"sloc": 145
},
{
"path": "hermes_cli/skills_config.py",
"lines": 188,
"sloc": 144
},
{
"path": "skills/productivity/powerpoint/scripts/office/helpers/simplify_redlines.py",
"lines": 197,
"sloc": 144
},
{
"path": "tests/test_openai_client_lifecycle.py",
"lines": 189,
"sloc": 144
},
{
"path": "hermes_cli/curses_ui.py",
"lines": 172,
"sloc": 143
},
{
"path": "plugins/memory/holographic/holographic.py",
"lines": 203,
"sloc": 143
},
{
"path": "tests/test_branch_command.py",
"lines": 198,
"sloc": 142
},
{
"path": "tests/honcho_plugin/test_session.py",
"lines": 189,
"sloc": 142
},
{
"path": "tests/tools/test_interrupt.py",
"lines": 224,
"sloc": 142
},
{
"path": "tests/hermes_cli/test_skills_skip_confirm.py",
"lines": 174,
"sloc": 142
},
{
"path": "skills/productivity/powerpoint/scripts/office/helpers/merge_runs.py",
"lines": 199,
"sloc": 141
},
{
"path": "tests/test_real_interrupt_subagent.py",
"lines": 186,
"sloc": 141
},
{
"path": "tests/tools/test_url_safety.py",
"lines": 176,
"sloc": 141
},
{
"path": "tests/tools/test_browser_secret_exfil.py",
"lines": 186,
"sloc": 141
},
{
"path": "skills/productivity/powerpoint/scripts/add_slide.py",
"lines": 195,
"sloc": 140
},
{
"path": "tests/test_compression_persistence.py",
"lines": 202,
"sloc": 140
},
{
"path": "tools/environments/modal_common.py",
"lines": 178,
"sloc": 139
},
{
"path": "skills/leisure/find-nearby/scripts/find_nearby.py",
"lines": 184,
"sloc": 139
},
{
"path": "tests/test_auth_codex_provider.py",
"lines": 192,
"sloc": 139
},
{
"path": "tests/test_crossloop_client_cache.py",
"lines": 186,
"sloc": 138
},
{
"path": "tests/tools/test_terminal_requirements.py",
"lines": 175,
"sloc": 138
},
{
"path": "tests/hermes_cli/test_path_completion.py",
"lines": 184,
"sloc": 137
},
{
"path": "tests/gateway/test_telegram_thread_fallback.py",
"lines": 199,
"sloc": 137
},
{
"path": "tests/agent/test_external_skills.py",
"lines": 157,
"sloc": 135
},
{
"path": "tests/tools/test_skill_improvements.py",
"lines": 174,
"sloc": 133
},
{
"path": "tests/gateway/test_media_extraction.py",
"lines": 184,
"sloc": 132
},
{
"path": "agent/models_dev.py",
"lines": 172,
"sloc": 131
},
{
"path": "tests/tools/test_search_hidden_dirs.py",
"lines": 170,
"sloc": 131
},
{
"path": "tools/managed_tool_gateway.py",
"lines": 167,
"sloc": 130
},
{
"path": "tests/test_cli_context_warning.py",
"lines": 161,
"sloc": 130
},
{
"path": "tests/tools/test_local_persistent.py",
"lines": 164,
"sloc": 130
},
{
"path": "tests/test_evidence_store.py",
"lines": 186,
"sloc": 129
},
{
"path": "tests/test_provider_fallback.py",
"lines": 156,
"sloc": 129
},
{
"path": "tests/test_managed_server_tool_support.py",
"lines": 178,
"sloc": 129
},
{
"path": "gateway/hooks.py",
"lines": 170,
"sloc": 127
},
{
"path": "skills/productivity/powerpoint/scripts/office/pack.py",
"lines": 159,
"sloc": 127
},
{
"path": "tests/e2e/conftest.py",
"lines": 173,
"sloc": 126
},
{
"path": "tests/tools/test_symlink_prefix_confusion.py",
"lines": 172,
"sloc": 126
},
{
"path": "tests/test_auth_nous_provider.py",
"lines": 156,
"sloc": 125
},
{
"path": "tests/test_cli_interrupt_subagent.py",
"lines": 172,
"sloc": 125
},
{
"path": "tests/test_setup_model_selection.py",
"lines": 155,
"sloc": 125
},
{
"path": "tests/gateway/test_pii_redaction.py",
"lines": 156,
"sloc": 125
},
{
"path": "tests/test_cli_prefix_matching.py",
"lines": 160,
"sloc": 124
},
{
"path": "acp_adapter/events.py",
"lines": 171,
"sloc": 123
},
{
"path": "tests/tools/test_mcp_dynamic_discovery.py",
"lines": 170,
"sloc": 123
},
{
"path": "agent/redact.py",
"lines": 176,
"sloc": 122
},
{
"path": "optional-skills/productivity/canvas/scripts/canvas_api.py",
"lines": 157,
"sloc": 122
},
{
"path": "tests/run_interrupt_test.py",
"lines": 147,
"sloc": 121
},
{
"path": "tests/test_surrogate_sanitization.py",
"lines": 154,
"sloc": 121
},
{
"path": "tests/gateway/test_status.py",
"lines": 157,
"sloc": 121
},
{
"path": "tests/agent/test_title_generator.py",
"lines": 160,
"sloc": 120
},
{
"path": "tests/hermes_cli/test_set_config_value.py",
"lines": 167,
"sloc": 120
},
{
"path": "tests/test_interrupt_propagation.py",
"lines": 161,
"sloc": 119
},
{
"path": "tests/test_cli_file_drop.py",
"lines": 176,
"sloc": 119
},
{
"path": "tests/test_cli_extension_hooks.py",
"lines": 138,
"sloc": 118
},
{
"path": "tests/gateway/test_telegram_network_reconnect.py",
"lines": 162,
"sloc": 118
},
{
"path": "tests/test_batch_runner_checkpoint.py",
"lines": 159,
"sloc": 117
},
{
"path": "tests/test_async_httpx_del_neuter.py",
"lines": 162,
"sloc": 117
},
{
"path": "tests/test_percentage_clamp.py",
"lines": 154,
"sloc": 117
},
{
"path": "tests/gateway/test_queue_consumption.py",
"lines": 165,
"sloc": 116
},
{
"path": "tests/agent/test_prompt_caching.py",
"lines": 143,
"sloc": 115
},
{
"path": "tests/hermes_cli/test_setup_noninteractive.py",
"lines": 139,
"sloc": 115
},
{
"path": "environments/tool_call_parsers/qwen3_coder_parser.py",
"lines": 163,
"sloc": 114
},
{
"path": "hermes_cli/checklist.py",
"lines": 140,
"sloc": 114
},
{
"path": "tests/tools/test_ansi_strip.py",
"lines": 168,
"sloc": 114
},
{
"path": "tests/hermes_cli/test_update_check.py",
"lines": 173,
"sloc": 114
},
{
"path": "tests/test_atomic_json_write.py",
"lines": 159,
"sloc": 113
},
{
"path": "tests/test_cli_secret_capture.py",
"lines": 147,
"sloc": 113
},
{
"path": "tests/gateway/test_config_cwd_bridge.py",
"lines": 148,
"sloc": 112
},
{
"path": "tests/gateway/test_verbose_command.py",
"lines": 146,
"sloc": 112
},
{
"path": "tools/clarify_tool.py",
"lines": 141,
"sloc": 111
},
{
"path": "tests/gateway/test_status_command.py",
"lines": 130,
"sloc": 110
},
{
"path": "tests/test_toolsets.py",
"lines": 143,
"sloc": 109
},
{
"path": "tests/gateway/test_plan_command.py",
"lines": 129,
"sloc": 107
},
{
"path": "tests/tools/test_skill_env_passthrough.py",
"lines": 134,
"sloc": 106
},
{
"path": "tests/gateway/test_document_cache.py",
"lines": 157,
"sloc": 106
},
{
"path": "gateway/mirror.py",
"lines": 132,
"sloc": 105
},
{
"path": "utils.py",
"lines": 126,
"sloc": 104
},
{
"path": "environments/tool_call_parsers/mistral_parser.py",
"lines": 135,
"sloc": 104
},
{
"path": "tests/gateway/test_interrupt_key_match.py",
"lines": 150,
"sloc": 104
},
{
"path": "tests/test_worktree_security.py",
"lines": 130,
"sloc": 103
},
{
"path": "tests/agent/test_display_emoji.py",
"lines": 123,
"sloc": 103
},
{
"path": "tests/gateway/test_whatsapp_group_gating.py",
"lines": 142,
"sloc": 103
},
{
"path": "tests/gateway/test_step_callback_compat.py",
"lines": 133,
"sloc": 103
},
{
"path": "tests/test_file_permissions.py",
"lines": 135,
"sloc": 102
},
{
"path": "tests/test_config_env_expansion.py",
"lines": 132,
"sloc": 101
},
{
"path": "tests/test_cli_preloaded_skills.py",
"lines": 127,
"sloc": 101
},
{
"path": "tests/tools/test_rl_training_tool.py",
"lines": 142,
"sloc": 101
},
{
"path": "tests/agent/test_usage_pricing.py",
"lines": 125,
"sloc": 101
},
{
"path": "tests/gateway/test_sticker_cache.py",
"lines": 127,
"sloc": 101
},
{
"path": "skills/media/youtube-content/scripts/fetch_transcript.py",
"lines": 124,
"sloc": 99
},
{
"path": "tests/hermes_cli/test_doctor.py",
"lines": 138,
"sloc": 99
},
{
"path": "tests/gateway/test_api_server_toolset.py",
"lines": 129,
"sloc": 99
},
{
"path": "tests/hermes_cli/test_status_model_provider.py",
"lines": 124,
"sloc": 97
},
{
"path": "tests/hermes_cli/test_models.py",
"lines": 126,
"sloc": 97
},
{
"path": "agent/title_generator.py",
"lines": 125,
"sloc": 96
},
{
"path": "tests/test_cli_tools_command.py",
"lines": 130,
"sloc": 96
},
{
"path": "tests/skills/test_youtube_quiz.py",
"lines": 128,
"sloc": 96
},
{
"path": "skills/research/arxiv/scripts/search_arxiv.py",
"lines": 114,
"sloc": 94
},
{
"path": "tests/test_context_token_tracking.py",
"lines": 127,
"sloc": 94
},
{
"path": "tests/tools/test_debug_helpers.py",
"lines": 117,
"sloc": 94
},
{
"path": "tests/gateway/test_discord_bot_filter.py",
"lines": 117,
"sloc": 94
},
{
"path": "tests/gateway/test_session_info.py",
"lines": 110,
"sloc": 93
},
{
"path": "tests/conftest.py",
"lines": 119,
"sloc": 92
},
{
"path": "tests/tools/test_mcp_stability.py",
"lines": 143,
"sloc": 92
},
{
"path": "tests/skills/test_google_workspace_api.py",
"lines": 117,
"sloc": 91
},
{
"path": "hermes_time.py",
"lines": 120,
"sloc": 90
},
{
"path": "skills/creative/excalidraw/scripts/upload.py",
"lines": 133,
"sloc": 90
},
{
"path": "tests/hermes_cli/test_cron.py",
"lines": 107,
"sloc": 90
},
{
"path": "tests/hermes_cli/test_skills_install_flags.py",
"lines": 128,
"sloc": 90
},
{
"path": "tests/hermes_cli/test_cmd_update.py",
"lines": 128,
"sloc": 89
},
{
"path": "environments/benchmarks/tblite/tblite_env.py",
"lines": 119,
"sloc": 88
},
{
"path": "tests/test_session_reset_fix.py",
"lines": 121,
"sloc": 88
},
{
"path": "tests/integration/test_daytona_terminal.py",
"lines": 123,
"sloc": 88
},
{
"path": "tests/integration/test_batch_runner.py",
"lines": 132,
"sloc": 88
},
{
"path": "tests/hermes_cli/test_gateway_linger.py",
"lines": 120,
"sloc": 88
},
{
"path": "gateway/sticker_cache.py",
"lines": 111,
"sloc": 87
},
{
"path": "skills/productivity/ocr-and-documents/scripts/extract_pymupdf.py",
"lines": 98,
"sloc": 87
},
{
"path": "tests/tools/test_todo_tool.py",
"lines": 107,
"sloc": 87
},
{
"path": "tools/browser_providers/browser_use.py",
"lines": 107,
"sloc": 86
},
{
"path": "tests/test_trajectory_compressor_async.py",
"lines": 115,
"sloc": 86
},
{
"path": "tests/gateway/test_telegram_text_batching.py",
"lines": 121,
"sloc": 86
},
{
"path": "agent/builtin_memory_provider.py",
"lines": 113,
"sloc": 85
},
{
"path": "tests/tools/test_managed_tool_gateway.py",
"lines": 101,
"sloc": 85
},
{
"path": "tests/tools/test_skill_view_path_check.py",
"lines": 116,
"sloc": 85
},
{
"path": "tests/hermes_cli/test_sessions_delete.py",
"lines": 117,
"sloc": 85
},
{
"path": "environments/tool_call_parsers/__init__.py",
"lines": 120,
"sloc": 84
},
{
"path": "environments/tool_call_parsers/glm45_parser.py",
"lines": 109,
"sloc": 83
},
{
"path": "tools/debug_helpers.py",
"lines": 104,
"sloc": 83
},
{
"path": "tests/hermes_cli/test_coalesce_session_args.py",
"lines": 113,
"sloc": 83
},
{
"path": "tests/test_cli_approval_ui.py",
"lines": 100,
"sloc": 81
},
{
"path": "tests/tools/test_yolo_mode.py",
"lines": 110,
"sloc": 81
},
{
"path": "tests/gateway/test_telegram_group_gating.py",
"lines": 110,
"sloc": 81
},
{
"path": "hermes_cli/pairing.py",
"lines": 97,
"sloc": 79
},
{
"path": "tests/gateway/test_whatsapp_reply_prefix.py",
"lines": 121,
"sloc": 79
},
{
"path": "tests/gateway/test_gateway_shutdown.py",
"lines": 107,
"sloc": 79
},
{
"path": "hermes_constants.py",
"lines": 105,
"sloc": 78
},
{
"path": "tools/neutts_synth.py",
"lines": 104,
"sloc": 78
},
{
"path": "tools/environments/base.py",
"lines": 99,
"sloc": 78
},
{
"path": "tests/test_toolset_distributions.py",
"lines": 103,
"sloc": 78
},
{
"path": "tests/gateway/test_retry_replacement.py",
"lines": 97,
"sloc": 77
},
{
"path": "tests/tools/test_browser_cleanup.py",
"lines": 96,
"sloc": 76
},
{
"path": "tests/hermes_cli/test_nous_subscription.py",
"lines": 96,
"sloc": 76
},
{
"path": "tests/test_honcho_client_config.py",
"lines": 105,
"sloc": 75
},
{
"path": "tests/test_cli_skin_integration.py",
"lines": 98,
"sloc": 75
},
{
"path": "tests/tools/test_browser_content_none_guard.py",
"lines": 109,
"sloc": 75
},
{
"path": "tests/gateway/test_discord_system_messages.py",
"lines": 99,
"sloc": 75
},
{
"path": "tests/gateway/test_delivery.py",
"lines": 96,
"sloc": 72
},
{
"path": "tools/env_passthrough.py",
"lines": 99,
"sloc": 71
},
{
"path": "tests/test_cli_mcp_config_watch.py",
"lines": 103,
"sloc": 71
},
{
"path": "tests/test_cli_background_tui_refresh.py",
"lines": 105,
"sloc": 71
},
{
"path": "tests/gateway/test_runner_fatal_adapter.py",
"lines": 96,
"sloc": 71
},
{
"path": "skills/productivity/ocr-and-documents/scripts/extract_marker.py",
"lines": 87,
"sloc": 70
},
{
"path": "tests/tools/test_config_null_guard.py",
"lines": 111,
"sloc": 70
},
{
"path": "environments/tool_call_parsers/kimi_k2_parser.py",
"lines": 93,
"sloc": 68
},
{
"path": "tools/tool_backend_helpers.py",
"lines": 89,
"sloc": 68
},
{
"path": "optional-skills/productivity/memento-flashcards/scripts/youtube_quiz.py",
"lines": 88,
"sloc": 68
},
{
"path": "tests/test_model_tools.py",
"lines": 103,
"sloc": 68
},
{
"path": "tests/tools/test_hidden_dir_filter.py",
"lines": 95,
"sloc": 68
},
{
"path": "tests/tools/test_mixture_of_agents_tool.py",
"lines": 82,
"sloc": 68
},
{
"path": "environments/tool_call_parsers/llama_parser.py",
"lines": 96,
"sloc": 67
},
{
"path": "environments/tool_call_parsers/deepseek_v3_parser.py",
"lines": 89,
"sloc": 67
},
{
"path": "tools/url_safety.py",
"lines": 96,
"sloc": 67
},
{
"path": "tests/test_compressor_fallback_update.py",
"lines": 91,
"sloc": 67
},
{
"path": "tests/gateway/test_webhook_dynamic_routes.py",
"lines": 87,
"sloc": 67
},
{
"path": "tests/gateway/test_runner_startup_failures.py",
"lines": 89,
"sloc": 67
},
{
"path": "gateway/builtin_hooks/boot_md.py",
"lines": 86,
"sloc": 66
},
{
"path": "tests/gateway/test_ssl_certs.py",
"lines": 81,
"sloc": 66
},
{
"path": "tests/test_session_meta_filtering.py",
"lines": 90,
"sloc": 65
},
{
"path": "acp_adapter/entry.py",
"lines": 86,
"sloc": 64
},
{
"path": "tests/gateway/test_discord_thread_persistence.py",
"lines": 83,
"sloc": 64
},
{
"path": "tests/tools/test_parse_env_var.py",
"lines": 86,
"sloc": 63
},
{
"path": "tests/gateway/test_discord_send.py",
"lines": 80,
"sloc": 63
},
{
"path": "tests/tools/test_windows_compat.py",
"lines": 80,
"sloc": 62
},
{
"path": "tests/tools/test_mcp_tool_issue_948.py",
"lines": 86,
"sloc": 62
},
{
"path": "acp_adapter/permissions.py",
"lines": 77,
"sloc": 61
},
{
"path": "tests/test_cli_save_config_value.py",
"lines": 80,
"sloc": 61
},
{
"path": "tests/tools/test_skill_view_traversal.py",
"lines": 83,
"sloc": 61
},
{
"path": "tests/tools/test_write_deny.py",
"lines": 83,
"sloc": 59
},
{
"path": "optional-skills/mcp/fastmcp/templates/database_server.py",
"lines": 77,
"sloc": 58
},
{
"path": "tests/hermes_cli/test_banner.py",
"lines": 70,
"sloc": 58
},
{
"path": "tests/test_dict_tool_call_args.py",
"lines": 72,
"sloc": 57
},
{
"path": "tests/tools/test_singularity_preflight.py",
"lines": 77,
"sloc": 57
},
{
"path": "tests/tools/test_file_write_safety.py",
"lines": 83,
"sloc": 57
},
{
"path": "tests/tools/test_force_dangerous_override.py",
"lines": 81,
"sloc": 57
},
{
"path": "tests/gateway/test_stt_config.py",
"lines": 77,
"sloc": 57
},
{
"path": "tests/test_exit_cleanup_interrupt.py",
"lines": 73,
"sloc": 56
},
{
"path": "tests/hermes_cli/test_chat_skills_flag.py",
"lines": 77,
"sloc": 56
},
{
"path": "environments/tool_call_parsers/longcat_parser.py",
"lines": 69,
"sloc": 55
},
{
"path": "environments/tool_call_parsers/hermes_parser.py",
"lines": 73,
"sloc": 55
},
{
"path": "environments/tool_call_parsers/deepseek_v3_1_parser.py",
"lines": 72,
"sloc": 54
},
{
"path": "agent/prompt_caching.py",
"lines": 72,
"sloc": 54
},
{
"path": "tests/test_cli_loading_indicator.py",
"lines": 65,
"sloc": 53
},
{
"path": "tests/acp/test_permissions.py",
"lines": 75,
"sloc": 53
},
{
"path": "tests/tools/test_fuzzy_match.py",
"lines": 67,
"sloc": 53
},
{
"path": "tests/gateway/test_retry_response.py",
"lines": 60,
"sloc": 53
},
{
"path": "tests/test_cli_plan_command.py",
"lines": 67,
"sloc": 51
},
{
"path": "tests/test_token_persistence_non_cli.py",
"lines": 62,
"sloc": 49
},
{
"path": "tests/tools/test_delegate_toolset_scope.py",
"lines": 66,
"sloc": 49
},
{
"path": "tests/hermes_cli/test_env_loader.py",
"lines": 70,
"sloc": 49
},
{
"path": "tests/tools/test_browser_camofox_state.py",
"lines": 66,
"sloc": 48
},
{
"path": "tests/tools/test_terminal_tool_requirements.py",
"lines": 56,
"sloc": 47
},
{
"path": "tests/hermes_cli/test_banner_skills.py",
"lines": 68,
"sloc": 47
},
{
"path": "tests/agent/test_smart_model_routing.py",
"lines": 61,
"sloc": 46
},
{
"path": "tests/tools/test_terminal_disk_usage.py",
"lines": 73,
"sloc": 45
},
{
"path": "tools/browser_providers/base.py",
"lines": 59,
"sloc": 44
},
{
"path": "agent/trajectory.py",
"lines": 56,
"sloc": 44
},
{
"path": "tests/acp/test_auth.py",
"lines": 56,
"sloc": 44
},
{
"path": "optional-skills/mcp/fastmcp/templates/file_processor.py",
"lines": 55,
"sloc": 41
},
{
"path": "tests/test_external_credential_detection.py",
"lines": 50,
"sloc": 41
},
{
"path": "tests/test_anthropic_oauth_flow.py",
"lines": 51,
"sloc": 40
},
{
"path": "optional-skills/mcp/fastmcp/scripts/scaffold_fastmcp.py",
"lines": 56,
"sloc": 39
},
{
"path": "tests/test_redirect_stdout_issue.py",
"lines": 54,
"sloc": 38
},
{
"path": "tests/gateway/test_telegram_photo_interrupts.py",
"lines": 49,
"sloc": 38
},
{
"path": "tools/browser_camofox_state.py",
"lines": 47,
"sloc": 37
},
{
"path": "cron/__init__.py",
"lines": 42,
"sloc": 37
},
{
"path": "optional-skills/mcp/fastmcp/templates/api_wrapper.py",
"lines": 54,
"sloc": 37
},
{
"path": "tests/hermes_cli/test_profile_export_credentials.py",
"lines": 52,
"sloc": 37
},
{
"path": "tests/gateway/test_allowlist_startup_check.py",
"lines": 46,
"sloc": 37
},
{
"path": "tests/test_cli_retry.py",
"lines": 49,
"sloc": 36
},
{
"path": "tests/hermes_cli/test_subprocess_timeouts.py",
"lines": 44,
"sloc": 36
},
{
"path": "tools/ansi_strip.py",
"lines": 44,
"sloc": 35
},
{
"path": "tests/tools/test_docker_find.py",
"lines": 48,
"sloc": 35
},
{
"path": "tests/hermes_cli/test_managed_installs.py",
"lines": 54,
"sloc": 35
},
{
"path": "tests/gateway/test_session_env.py",
"lines": 45,
"sloc": 34
},
{
"path": "tests/gateway/test_discord_opus.py",
"lines": 44,
"sloc": 34
},
{
"path": "hermes_cli/env_loader.py",
"lines": 45,
"sloc": 33
},
{
"path": "tests/tools/test_cron_prompt_injection.py",
"lines": 48,
"sloc": 33
},
{
"path": "tests/test_sql_injection.py",
"lines": 43,
"sloc": 32
},
{
"path": "tests/tools/test_browser_cdp_override.py",
"lines": 47,
"sloc": 32
},
{
"path": "tests/hermes_cli/test_placeholder_usage.py",
"lines": 48,
"sloc": 31
},
{
"path": "hermes_cli/colors.py",
"lines": 38,
"sloc": 30
},
{
"path": "tests/test_anthropic_provider_persistence.py",
"lines": 46,
"sloc": 30
},
{
"path": "tests/test_atomic_yaml_write.py",
"lines": 44,
"sloc": 30
},
{
"path": "gateway/__init__.py",
"lines": 35,
"sloc": 29
},
{
"path": "skills/red-teaming/godmode/scripts/load_godmode.py",
"lines": 45,
"sloc": 29
},
{
"path": "environments/__init__.py",
"lines": 36,
"sloc": 28
},
{
"path": "tests/hermes_cli/test_launcher.py",
"lines": 42,
"sloc": 27
},
{
"path": "environments/patches.py",
"lines": 35,
"sloc": 25
},
{
"path": "environments/tool_call_parsers/glm47_parser.py",
"lines": 35,
"sloc": 25
},
{
"path": "tools/openrouter_client.py",
"lines": 33,
"sloc": 25
},
{
"path": "tests/hermes_cli/test_skills_subparser.py",
"lines": 35,
"sloc": 23
},
{
"path": "tests/tools/test_terminal_timeout_output.py",
"lines": 27,
"sloc": 21
},
{
"path": "tools/interrupt.py",
"lines": 28,
"sloc": 20
},
{
"path": "tests/test_utils_truthy_values.py",
"lines": 29,
"sloc": 19
},
{
"path": "acp_adapter/auth.py",
"lines": 24,
"sloc": 18
},
{
"path": "tests/hermes_cli/test_gateway_runtime_health.py",
"lines": 22,
"sloc": 18
},
{
"path": "tests/hermes_cli/test_setup_prompt_menus.py",
"lines": 29,
"sloc": 17
},
{
"path": "tests/test_project_metadata.py",
"lines": 22,
"sloc": 16
},
{
"path": "tests/gateway/test_discord_imports.py",
"lines": 23,
"sloc": 16
},
{
"path": "tools/__init__.py",
"lines": 25,
"sloc": 15
},
{
"path": "environments/tool_call_parsers/qwen_parser.py",
"lines": 19,
"sloc": 14
},
{
"path": "gateway/platforms/__init__.py",
"lines": 17,
"sloc": 14
},
{
"path": "hermes_cli/__init__.py",
"lines": 15,
"sloc": 13
},
{
"path": "tests/test_packaging_metadata.py",
"lines": 22,
"sloc": 13
},
{
"path": "tests/acp/test_entry.py",
"lines": 20,
"sloc": 12
},
{
"path": "hermes_cli/default_soul.py",
"lines": 11,
"sloc": 10
},
{
"path": "tools/environments/__init__.py",
"lines": 13,
"sloc": 9
},
{
"path": "tests/hermes_cli/test_status.py",
"lines": 14,
"sloc": 9
},
{
"path": "tools/browser_providers/__init__.py",
"lines": 10,
"sloc": 6
},
{
"path": "tests/gateway/test_discord_media_metadata.py",
"lines": 9,
"sloc": 6
},
{
"path": "agent/__init__.py",
"lines": 6,
"sloc": 5
},
{
"path": "acp_adapter/__main__.py",
"lines": 5,
"sloc": 3
},
{
"path": "acp_adapter/__init__.py",
"lines": 1,
"sloc": 1
},
{
"path": "gateway/builtin_hooks/__init__.py",
"lines": 1,
"sloc": 1
},
{
"path": "environments/benchmarks/__init__.py",
"lines": 0,
"sloc": 0
},
{
"path": "environments/benchmarks/terminalbench_2/__init__.py",
"lines": 0,
"sloc": 0
},
{
"path": "environments/benchmarks/yc_bench/__init__.py",
"lines": 0,
"sloc": 0
},
{
"path": "environments/benchmarks/tblite/__init__.py",
"lines": 0,
"sloc": 0
},
{
"path": "environments/hermes_swe_env/__init__.py",
"lines": 0,
"sloc": 0
},
{
"path": "environments/terminal_test_env/__init__.py",
"lines": 0,
"sloc": 0
},
{
"path": "skills/productivity/powerpoint/scripts/__init__.py",
"lines": 0,
"sloc": 0
},
{
"path": "skills/productivity/powerpoint/scripts/office/helpers/__init__.py",
"lines": 0,
"sloc": 0
},
{
"path": "tests/__init__.py",
"lines": 0,
"sloc": 0
},
{
"path": "tests/test_minisweagent_path.py",
"lines": 2,
"sloc": 0
},
{
"path": "tests/acp/__init__.py",
"lines": 0,
"sloc": 0
},
{
"path": "tests/honcho_plugin/__init__.py",
"lines": 0,
"sloc": 0
},
{
"path": "tests/integration/__init__.py",
"lines": 0,
"sloc": 0
},
{
"path": "tests/e2e/__init__.py",
"lines": 0,
"sloc": 0
},
{
"path": "tests/tools/__init__.py",
"lines": 0,
"sloc": 0
},
{
"path": "tests/agent/__init__.py",
"lines": 0,
"sloc": 0
},
{
"path": "tests/hermes_cli/__init__.py",
"lines": 0,
"sloc": 0
},
{
"path": "tests/fakes/__init__.py",
"lines": 0,
"sloc": 0
},
{
"path": "tests/cron/__init__.py",
"lines": 0,
"sloc": 0
},
{
"path": "tests/gateway/__init__.py",
"lines": 0,
"sloc": 0
},
{
"path": "plugins/__init__.py",
"lines": 1,
"sloc": 0
}
]