hermes-agent/tests/plugins
kshitij 8b243dff62 fix: security + efficiency review fixes for salvaged PR #74379
1. Use open_credentialed_url() instead of bare urlopen() in
   templates.py apply_template() and probe_existing_customization().
   Both send Authorization: Bearer headers; bare urlopen forwards
   credentials on cross-origin redirects. The codebase has
   open_credentialed_url() in hermes_cli/urllib_security.py that
   strips credentials on cross-origin redirects — used by 4 other
   modules.

2. Guard unavailable_reason() with the dedup set check before
   calling it. The gateway builds a fresh AIAgent per message, so
   without this guard unavailable_reason() (which calls _load_config()
   → stat + file read + JSON parse, and _check_local_runtime() →
   importlib probes) runs on every gateway turn for an unavailable
   provider, even though the warning is deduped after the first.

3. Move INDICATOR_GLYPH from Hindsight's eye emoji to a generic
   brain (🧠) in core (agent/memory_provider.py). Hindsight overrides
   with its own _HINDSIGHT_GLYPH (👁️) in recall_status() and
   _emit_saving_indicator(). Other memory providers no longer inherit
   Hindsight's brand mark as the default glyph.
2026-08-13 23:15:25 +05:30
..
browser feat(browser): integrate Browser Use CLI 3.0 2026-08-10 10:45:44 -07:00
dashboard_auth fix(dashboard): set headers for Nous JWKS requests 2026-07-31 10:17:30 -04:00
image_gen feat(media): default-on upscaling for sub-2MP image models (FAL + Krea) 2026-08-08 14:49:28 -07:00
memory fix: security + efficiency review fixes for salvaged PR #74379 2026-08-13 23:15:25 +05:30
model_providers fix: map Hermes reasoning efforts onto K3's low/high/max vocabulary 2026-08-13 01:05:49 +05:30
platforms test: importorskip discord.py in the slash-gate isolation test 2026-08-01 10:51:42 -07:00
transcription
…
tts
…
video_gen fix(video): bind managed SeedVR to source request 2026-08-08 17:01:59 -07:00
web test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
__init__.py
…
test_a2a_phase23.py fix(a2a): JSON-RPC conformance for a2a-sdk 1.1.0 compatibility 2026-08-02 15:10:15 -07:00
test_a2a_plugin.py fix(a2a): JSON-RPC conformance for a2a-sdk 1.1.0 compatibility 2026-08-02 15:10:15 -07:00
test_achievements_plugin.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_chronos_cron.py fix(cron): surface initial scheduler registration failures 2026-08-07 17:45:06 +05:30
test_chronos_verify.py fix(cron): set headers for chronos JWKS requests 2026-07-31 10:17:30 -04:00
test_discord_runtime_failure.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_disk_cleanup_plugin.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_google_meet_audio.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_google_meet_node.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_google_meet_plugin.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_google_meet_realtime.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_hindsight_health_grace_timeout.py feat(hindsight): configurable embedded daemon health grace timeout (#50341) 2026-06-21 12:20:53 -07:00
test_hindsight_root_guard.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_holographic_vector_storage.py fix(memory): resolve dim=1 float32/float64 blob ambiguity 2026-08-02 22:33:13 +05:30
test_kanban_attachments.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_kanban_board_project_api.py feat(kanban): scope boards to a project 2026-07-30 07:18:08 -05:00
test_kanban_dashboard_plugin.py fix(kanban): isolate review handoff ownership 2026-08-10 12:43:46 -07:00
test_kanban_dashboard_task_updated_hook.py chore: trim observer test suites to core coverage and condense hooks docs 2026-08-13 09:35:52 -07:00
test_kanban_estimate.py feat(kanban): task effort estimate via the auxiliary model 2026-07-30 07:18:08 -05:00
test_kanban_model_override.py feat(kanban): expose the per-task reasoning effort over REST 2026-08-01 16:10:03 -05:00
test_kanban_worker_runs.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_langfuse_plugin.py fix: reuse redact_sensitive_text, fix leaky abstraction, fix test data 2026-08-13 23:10:16 +05:30
test_nemo_relay_mark_turn_parenting.py fix(observability): parent marks to the live turn scope, not the session 2026-08-12 19:20:03 -07:00
test_nemo_relay_plugin.py Merge remote-tracking branch 'origin/main' into feat/hermes-relay-model-metrics 2026-07-30 11:12:51 -07:00
test_plugin_dashboard_auth_contract.py fix(dashboard): sanction plugin WS/upload auth via SDK helpers (gated mode) 2026-06-03 16:59:36 -07:00
test_raft_check_fn_silent.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_retaindb_plugin.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_security_guidance_plugin.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_teams_pipeline_plugin.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00