LibreChat/packages
Danny Avila 2bd3c5293a 🔒 fix: Track the configured approval window in the /files/usage hold
Codex review on 9277620.

`endpoints.agents.checkpointer.ttl` is a positive int with no upper bound,
and its docs invite raising it for longer review windows. It drives the
pending-action expiry, so a run can legitimately stay paused past 24h. The
fixed 24h lifetime would then let Mongo reap an attachment while its
approval was still live, and the later queue drain would send a file that
no longer exists.

Replace the fixed constant with `resolveFilesUsageHoldMs`, which adds the
configured approval window to a 24h baseline covering upload, enqueue, and
the run reaching its pause. The route reads the window from the same
`getApprovalTtlMs(checkpointerCfg)` the pending action uses, so the two
stay in lockstep.

The replay bound is unaffected: the window is a per-deployment constant and
the deadline is still `createdAt + holdMs`, so a replayed touch re-asserts
the same instant and `$max` skips the write. Only an operator config change
moves it, never a client.
2026-07-27 22:31:45 -04:00
..
api 🔒 fix: Track the configured approval window in the /files/usage hold 2026-07-27 22:31:45 -04:00
client 🧰 feat: Redesign Agent Builder with Unified Tools Marketplace, Skills & Orchestration (#13952) 2026-07-05 11:30:12 -04:00
data-provider 🔒 fix: Anchor the /files/usage hold to upload time 2026-07-27 22:16:47 -04:00
data-schemas 🔒 fix: Anchor the /files/usage hold to upload time 2026-07-27 22:16:47 -04:00