Variable: STREAM_RETENTIONS
constSTREAM_RETENTIONS: readonly ["limits","work-queue"]
Defined in: packages/contracts/src/permissions/table.ts:426
How long a stream keeps a message:
limits: until the stream's bounds push it out (age, count or size), whether or not anyone has read it. A history: a consumer added later can read from the start;work-queue: until its one consumer acknowledges it, and then it is gone. A queue: the stream holds the backlog and nothing else.
The difference decides what a message cap means. Under limits a cap of N is N
messages per retention period, read or not, so with discard: New a full stream
refuses legitimate publishes until old messages age out. Under work-queue the same
cap is N messages nobody has handled yet, which is what a cap against a flood is for.
JetStream's third policy, interest, is not offered: nothing in the estate needs it.