hacifootprint
hcifootprintInterfaces

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

OfferRef.actionId


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

OfferRef.node


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

OfferRef.offerId


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

OfferRef.stateVersion


structureVersion

structureVersion: number

Defined in: src/atom/types.ts:1394

The served-surface version at serve time (mounts, frames, enablement flips).

Inherited from

OfferRef.structureVersion


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.

On this page