OfferRecord
Interface: OfferRecord
Defined in: src/atom/types.ts:1415
WHAT WAS TRUE WHEN THAT ROW WAS SERVED — the session-local record an
OfferRef points at, read back with session.offerFor(offerId).
APPEND-ONLY. A record is written once and never rewritten. Serving the same
action again under an unchanged world hands back the SAME offerId, because
it is the same offer — the facts below are the offer's identity, so two
records can never disagree about one id, and one id can never quietly come to
mean something else.
BOUNDED, AND SAID SO. A session retains a fixed number of these and drops the
oldest when it is full (session.offersDropped() counts them, and the first
eviction warns the integrator once — where citations are required, which is
the only place a dropped one costs anything). A fire citing an id that was dropped is
refused as OFFER_NOT_ON_RECORD with why: 'evicted' — never answered as if
the citation had been checked, and never confused with an id this session
never minted (why: 'unknown').
Extends
Properties
actionId
actionId:
string
Defined in: src/atom/types.ts:1388
The action this row was for.
Inherited from
guardEvaluated
guardEvaluated:
string[]
Defined in: src/atom/types.ts:1426
Guard keys the session could evaluate when it served the row.
guardUnevaluated
guardUnevaluated:
string[]
Defined in: src/atom/types.ts:1428
Guard keys it could NOT — served anyway, with the marker, and recorded as such.
node
node:
string
Defined in: src/atom/types.ts:1390
The page the cursor was on when it was served.
Inherited from
offerId
offerId:
string
Defined in: src/atom/types.ts:1386
This offer's id, unique within the session. Cite it as FireOptions.offerId.
Inherited from
servedAt
servedAt:
number
Defined in: src/atom/types.ts:1417
When this offer was FIRST served (epoch ms). Never rewritten by a later serve.
staleReads
staleReads:
string[]
Defined in: src/atom/types.ts:1430
Declared reads this session was already carrying an unanswered staleness for.
staleWrites
staleWrites:
string[]
Defined in: src/atom/types.ts:1432
Declared writes this session was already carrying an unanswered staleness for.
stateVersion
stateVersion:
number
Defined in: src/atom/types.ts:1392
The app's state version at serve time — the anchor "what has moved since?" is asked from.
Inherited from
structureVersion
structureVersion:
number
Defined in: src/atom/types.ts:1394
The served-surface version at serve time (mounts, frames, enablement flips).
Inherited from
version
version:
number
Defined in: src/atom/types.ts:1424
The cursor version at first serve — what keysChangedSince is asked with
when a fire cites this offer. Older than a re-serve's cursor by design: no
state key can be committed without stateVersion moving, and a moved
stateVersion is a different offer, so the two windows name the same keys.