Skip to main content
Version: Current

SubscribeInput

@rotorsoft/act-root


@rotorsoft/act-root / act/src / SubscribeInput

Type Alias: SubscribeInput

SubscribeInput = object

Defined in: libs/act/src/types/ports.ts:461

One target stream to register with Store.subscribe.

Propertiesโ€‹

correlated_at?โ€‹

readonly optional correlated_at?: number

Defined in: libs/act/src/types/ports.ts:509

Highest event id observed to resolve to this target โ€” the stream's work mark (#1485). Applied as correlated_at = GREATEST(correlated_at, N) for every value including zero and negatives; omitted leaves the stored value untouched.

A mark is an assertion about the log: correlate sets it to the id of a real event that resolved to this target, so at < correlated_at implies a fetch returns work. correlate is the only component entitled to write it โ€” the store cannot resolve user-code targets, and notify is best-effort โ€” which is what the name records.

Eligibility follows from it: a stream is claimable iff at < correlated_at. NULL means unknown, not "no work": those rows fall back to the legacy has-work probe against the event log, which is how installs that predate the column keep working. That arm is deleted once correlate marks universally.


lane?โ€‹

readonly optional lane?: string

Defined in: libs/act/src/types/ports.ts:490

Drain lane (ACT-1103). Default "default".

Written on the same rule as priority: the lane rides the max, so a subscribe whose priority is at or above the stored priority sets the lane, and one below it leaves the lane alone. The highest priority registered for a stream therefore owns its lane, durably โ€” the same outcome the correlate scan applies within one pass, made a property of the row so a caller that has forgotten what a stream carries cannot re-lane it by resolving to it at a lower priority (#1599).

Re-laning stays restart-driven: a restart re-subscribes at the same declared priority, and equal priority writes the lane. A stream whose stored priority was raised out of band by Store.prioritize keeps its lane until a subscribe reaches that priority.


priority?โ€‹

readonly optional priority?: number

Defined in: libs/act/src/types/ports.ts:472

Optional scheduling priority for the lagging-frontier claim() ordering. Default 0. When the same stream is subscribed by multiple reactions with different priorities, implementations must keep the maximum so the highest-priority reaction wins. Use Store.prioritize for runtime overrides that ignore this max โ€” operator-driven changes.


source?โ€‹

readonly optional source?: string

Defined in: libs/act/src/types/ports.ts:463


streamโ€‹

readonly stream: string

Defined in: libs/act/src/types/ports.ts:462