LibreChat/packages/api/src/app
Marco Beretta a48576b6fa
feat: add ephemeral retention mode for forced temporary chats
Extends the `retentionMode` interface option with a new `ephemeral` value
that forces every conversation to be temporary and applies expiration
deadlines to all data. Unlike `all` (which keeps chats visible until they
expire), `ephemeral` marks all chats temporary so they are hidden from
history and search, with the per-chat toggle locked on.

- Add RetentionMode.EPHEMERAL plus isAllDataRetention and
  isForcedTemporaryRetention helpers
- Force isTemporary and expiry on conversations, messages, imports, and files
- Force the TEMPORARY_CHAT permission on so the locked indicator is shown
- Lock the temporary-chat toggle in the UI and force new/existing chats temporary
- Document the new mode in librechat.example.yaml
2026-06-30 04:51:45 +02:00
..
__tests__
AppService.interface.spec.ts
AppService.spec.ts
build.spec.ts
build.ts
cdn.ts
checks.spec.ts
checks.ts
config.test.ts
config.ts
index.ts
limits.ts
metrics.spec.ts
metrics.ts
permissions.spec.ts
permissions.ts
resolve.spec.ts
resolve.ts
service.spec.ts
service.ts
shutdown.spec.ts
shutdown.ts