[ { "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 } ]