hermes-agent/apps/desktop/src
Ben 03d9a95a74
fix(desktop): show Hindsight memory provider (#37546)
* fix(desktop): show Hindsight memory provider

* feat(desktop): configure Hindsight memory provider

* fix(desktop): limit Hindsight modes to supported setup

* refactor(desktop): generic memory-provider config surface

Replace the bespoke Hindsight settings surface with a declarative,
schema-driven path so adding a memory provider is pure declaration —
no per-provider page, conditional, or endpoint.

- memory_providers.py: declarative registry. Each provider lists its
  fields {key, label, kind, default, options, secret-vs-plain}. Hindsight's
  mode is a select(cloud, local_external), so rejecting local_embedded
  falls out of generic enum validation instead of a hand-written check.
- One generic endpoint pair GET/PUT /api/memory/providers/{name}/config.
  GET returns declared fields + current values (secrets only as is_set,
  never read back); PUT validates selects against their options, writes
  plain fields to the provider config file, secrets to the env store,
  and flips memory.provider.
- ProviderConfigPanel renders straight from the schema, replacing
  hindsight-settings.tsx and the memory.provider === 'hindsight'
  conditional in config-settings.tsx — same pattern as
  toolset-config-panel.tsx off env_vars.

Scoped to memory providers; storage layout is unchanged so the runtime
Hindsight plugin reads the same config.json / HINDSIGHT_API_KEY / provider
keys as before. Tests cover the registry, endpoint behavior (defaults,
write+secret, select rejection, unknown provider, secret-never-returned),
and the generic panel.
2026-06-18 16:48:47 -05:00
..
app fix(desktop): show Hindsight memory provider (#37546) 2026-06-18 16:48:47 -05:00
components fix(thread): allow scrolling long user messages in chat history (#48619) 2026-06-18 15:44:27 -05:00
fonts fix(desktop): crisp terminal text via opaque xterm canvas 2026-06-12 19:36:30 -05:00
hooks fix(desktop): keep generated images in the tool slot, not inline 2026-06-13 02:42:15 -05:00
i18n fix(desktop): recover stranded session windows when resume fails (#47655) 2026-06-17 17:33:53 -04:00
lib perf(desktop): keep oversized messages from freezing the chat 2026-06-17 08:25:52 -05:00
store fix(desktop): recover stranded session windows when resume fails (#47655) 2026-06-17 17:33:53 -04:00
themes feat(desktop): composer status stack, live subagent windows, editable prompts (#44630) 2026-06-12 08:30:06 -05:00
types fix(desktop): show Hindsight memory provider (#37546) 2026-06-18 16:48:47 -05:00
global.d.ts feat(desktop): open new sessions in compact windows 2026-06-15 20:59:57 -05:00
hermes.test.ts fix(desktop): route profile session reads 2026-06-11 18:09:24 -05:00
hermes.ts fix(desktop): show Hindsight memory provider (#37546) 2026-06-18 16:48:47 -05:00
main.tsx feat(desktop): window translucency slider in Appearance settings (#45086) 2026-06-12 12:02:38 -05:00
styles.css Merge branch 'main' into bb/desktop-stick-to-bottom 2026-06-13 02:52:03 -05:00
vite-env.d.ts Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00