Teknium
de76f4dbcf
fix(secrets): only apply external secrets once per HERMES_HOME per process ( #32271 )
...
`load_hermes_dotenv()` is called at module-import time from cli.py,
hermes_cli/main.py, run_agent.py, trajectory_compressor.py, gateway/run.py,
tui_gateway/server.py, acp_adapter/entry.py, and a few others. Each call
triggered `_apply_external_secret_sources()`, which re-parsed config,
re-fetched from Bitwarden Secrets Manager (its own 300s cache mostly absorbed
this), re-ran the ASCII sanitization sweep, and reprinted
Bitwarden Secrets Manager: applied N secret(s) (...)
to stderr. Users saw the status line 3-5x per CLI startup.
Guard the function with a process-level set of HERMES_HOME paths that have
already had external secrets applied. Subsequent calls for the same home_path
are no-ops. `reset_secret_source_cache()` lets tests (and any future
long-running consumer that wants to refresh after a config change) force a
re-pull.
2026-05-25 15:18:55 -07:00
..
2026-05-24 23:23:12 -07:00
2026-05-18 10:14:38 -07:00
2026-05-25 14:52:24 -07:00
2026-05-25 05:35:02 -07:00
2026-05-25 01:15:56 -07:00
2026-05-25 12:25:06 +10:00
2026-05-22 14:21:41 -07:00
2026-03-14 14:27:20 +03:00
2026-05-25 14:54:02 -07:00
2026-05-25 15:07:19 -07:00
2026-05-17 23:28:45 -07:00
2026-05-17 02:29:41 -07:00
2026-05-22 14:21:41 -07:00
2026-04-30 02:35:29 -07:00
2026-05-25 01:41:19 -07:00
2026-05-21 07:48:53 -07:00
2026-05-25 06:32:30 -07:00
2026-05-14 22:27:09 -07:00
2026-05-19 00:11:44 -07:00
2026-05-18 21:07:03 -07:00
2026-05-25 15:18:45 -07:00
2026-05-17 02:29:41 -07:00
2026-05-05 13:46:20 -07:00
2025-10-01 23:29:25 +00:00
2026-05-25 14:54:02 -07:00
2026-03-17 02:53:33 -07:00
2026-04-21 01:56:35 -07:00
2026-04-28 04:58:22 -07:00
2026-04-21 06:06:16 -07:00
2026-04-24 14:32:21 -07:00
2026-05-25 03:06:39 -07:00
2026-04-21 08:00:00 -07:00
2026-05-18 21:43:59 -07:00
2026-04-29 23:18:55 -07:00
2026-05-12 20:46:04 -07:00
2026-04-12 03:53:30 -07:00
2026-05-25 15:18:55 -07:00
2026-03-15 21:59:53 -07:00
2026-05-14 14:51:07 -07:00
2026-04-30 04:32:06 -07:00
2026-05-08 14:43:13 -07:00
2026-05-20 22:56:55 -07:00
2026-05-02 01:49:55 -07:00
2026-05-19 01:28:32 -07:00
2026-05-09 02:09:35 -07:00
2026-05-23 01:33:42 -07:00
2026-04-02 15:33:51 -07:00
2026-05-14 09:05:31 -07:00
2026-05-06 04:02:02 -07:00
2026-04-28 06:45:55 -07:00
2026-05-14 07:08:45 -07:00
2026-05-07 13:04:08 -07:00
2026-04-11 23:12:11 -07:00
2026-05-06 01:11:49 +05:30
2026-05-08 14:27:40 -07:00
2026-05-17 02:29:41 -07:00
2026-05-07 13:41:16 -07:00
2026-04-20 12:23:05 -07:00
2026-04-19 22:44:47 -07:00
2026-05-22 15:16:15 -07:00
2026-03-24 08:19:23 -07:00
2026-04-07 17:59:42 -07:00
2026-04-29 05:00:40 -07:00
2026-05-15 10:36:38 +05:30
2026-04-07 22:23:28 -07:00
2026-05-16 12:15:45 -07:00
2026-03-30 17:34:43 -07:00
2026-05-05 10:15:31 -07:00
2026-05-07 06:35:54 -07:00
2026-05-18 20:35:00 -07:00
2026-04-08 00:41:36 -07:00
2026-05-21 16:40:04 +05:30
2026-05-16 00:57:39 -07:00
2026-03-19 15:16:35 +01:00
2026-05-18 17:39:50 +00:00
2026-05-07 13:04:08 -07:00
2026-05-17 02:29:41 -07:00
2026-02-26 13:54:20 +03:00
2026-05-14 08:03:33 -07:00
2026-04-20 12:23:05 -07:00
2026-04-20 12:23:05 -07:00
2026-05-07 05:46:05 -07:00
2026-04-20 23:20:33 -07:00
2026-05-23 22:12:55 -07:00
2026-03-30 13:28:10 +09:00
2026-04-26 18:50:49 -07:00
2026-04-26 18:50:49 -07:00
2026-04-26 18:50:49 -07:00
2026-04-26 18:50:49 -07:00