hermes-agent/plugins/memory
0xDevNinja 040e18ad90 fix(openviking): refresh client from env across every gated access
initialize() snapshots OPENVIKING_* into the provider once, so /reload
(which only updates os.environ) leaves viking_* tools running against
stale auth — users have to restart hermes to pick up keys added to
~/.hermes/.env after startup (#21130).

Add _ensure_client(), which re-resolves the connection settings via the
same _resolve_connection_settings/_load_hermes_openviking_config path
initialize() uses and rebuilds + health-checks the client only when an
OPENVIKING_* value actually changed; otherwise it reuses the cached
client (or a cached None for a known-down target) so the hot path stays
at one dict comparison with no network calls.

Route every live client-gated path through it: system_prompt_block,
prefetch (pre-turn recall), sync_turn, on_session_end, on_session_switch
(session rotation), on_memory_write and handle_tool_call. The
unreachable branch calls _handle_runtime_openviking_unreachable() so a
newly-resolved but not-yet-up LOCAL endpoint keeps initialize()'s
recovery — (re)start the server and attach in the background — instead of
silently disabling memory.

Refreshing is gated behind a flag set at the end of initialize() so the
baseline is established before any env re-resolution happens — callers
that wire up a client directly (e.g. tests) keep it untouched.

Refs #21130
2026-07-13 12:14:08 +05:30
..
byterover fix(byterover): honor auto extract config 2026-06-27 04:04:15 -07:00
hindsight feat(hindsight): configurable embedded daemon health grace timeout (#50341) 2026-06-21 12:20:53 -07:00
holographic fix(memory): resolve() the shared-connection registry key; symlink test 2026-07-09 18:17:40 -07:00
honcho refactor(setup): route dependency installs through the canonical uv→pip→ensurepip ladder 2026-07-07 04:09:35 -07:00
mem0 feat(mem0): add self-hosted mode to the setup wizard 2026-07-07 14:07:16 -07:00
openviking fix(openviking): refresh client from env across every gated access 2026-07-13 12:14:08 +05:30
retaindb fix(memory): guard local uploads against credential reads 2026-07-05 03:14:49 -07:00
supermemory fix(memory): lazy-install supermemory + mem0 SDKs like honcho/hindsight 2026-06-29 00:25:36 -07:00
__init__.py fix(memory): register parent packages for user-installed provider imports 2026-06-04 05:35:43 -07:00