rulvar API reference / @rulvar/rulvar / Replayer
Class: Replayer
Defined in: packages/core/dist/index.d.ts
Per-run journal kernel front end. Everything is per instance: no module state anywhere.
Constructors
Constructor
new Replayer(options): Replayer;Defined in: packages/core/dist/index.d.ts
Parameters
| Parameter | Type | Description |
|---|---|---|
options | { disposition?: (op) => OperationDisposition; keyRing?: KeyRing; largeValueWarnBytes?: number; lease?: Lease; now?: () => number; onWarn?: (msg) => void; priceUsd?: (servedBy, usage) => number | undefined; priorEntries?: readonly JournalEntry[]; runId: string; store: JournalStore; strict?: boolean; } | - |
options.disposition? | (op) => OperationDisposition | - |
options.keyRing? | KeyRing | - |
options.largeValueWarnBytes? | number | - |
options.lease? | Lease | Queue mode: every append carries this lease so a stale holder's writes are rejected by the fencing epoch (M8 entry amendment). Absent means the single-writer precondition is asserted instead of fenced (the embedded default). |
options.now? | () => number | - |
options.onWarn? | (msg) => void | - |
options.priceUsd? | (servedBy, usage) => number | undefined | - |
options.priorEntries? | readonly JournalEntry[] | - |
options.runId | string | - |
options.store | JournalStore | - |
options.strict? | boolean | - |
Returns
Replayer
Accessors
fold
Get Signature
get fold(): ResolutionFold;Defined in: packages/core/dist/index.d.ts
The DEF-4 fold over this run's journal (prior plus live appends).
Returns
invalidatedSeqs
Get Signature
get invalidatedSeqs(): ReadonlySet<number>;Defined in: packages/core/dist/index.d.ts
Returns
ReadonlySet<number>
Methods
abandonBranch()
abandonBranch(attempt): Promise<ResolutionOutcome>;Defined in: packages/core/dist/index.d.ts
Parameters
| Parameter | Type |
|---|---|
attempt | AbandonAttempt |
Returns
Promise<ResolutionOutcome>
appendRefEntry()
appendRefEntry(input): Promise<JournalEntry>;Defined in: packages/core/dist/index.d.ts
Ref-entry append used by the ResolutionArbiter; O2-checked by shape validation.
Parameters
| Parameter | Type |
|---|---|
input | { abandon?: AbandonPayload; kind: "resolution" | "abandon"; ref: number; resolution?: ResolutionPayload; scope: string; spanId: string; } |
input.abandon? | AbandonPayload |
input.kind | "resolution" | "abandon" |
input.ref | number |
input.resolution? | ResolutionPayload |
input.scope | string |
input.spanId | string |
Returns
Promise<JournalEntry>
appendRunning()
appendRunning(input): Promise<JournalEntry>;Defined in: packages/core/dist/index.d.ts
Two-phase dispatch: the running entry (kinds agent, step, child). value is legal on child dispatches only: the child payload { workflow, childScope } lets the abandon fold compute the child's transitive scope coverage (M6-T06). Values never enter identity.
Parameters
| Parameter | Type |
|---|---|
input | BaseAppend & { memoizeOutcome?: boolean; value?: unknown; } |
Returns
Promise<JournalEntry>
appendSinglePhase()
appendSinglePhase(input): Promise<JournalEntry>;Defined in: packages/core/dist/index.d.ts
Single-phase fact entries: rand, decisions, termination facts.
Parameters
| Parameter | Type |
|---|---|
input | SinglePhaseAppend |
Returns
Promise<JournalEntry>
appendSuspended()
appendSuspended(input): Promise<JournalEntry>;Defined in: packages/core/dist/index.d.ts
Suspended kinds (external, approval): appended once, closed by ref-entries (M2).
Parameters
| Parameter | Type |
|---|---|
input | SuspendedAppend |
Returns
Promise<JournalEntry>
appendTerminal()
appendTerminal(runningSeq, patch): Promise<JournalEntry>;Defined in: packages/core/dist/index.d.ts
Two-phase completion: a terminal entry referencing the running entry by ref. Scope, key, ordinal, kind, and hashVersion are inherited from the running entry (running/terminal pairs are always single-version; the pair shares one ordinal because it is one logical operation).
Parameters
| Parameter | Type |
|---|---|
runningSeq | number |
patch | TerminalPatch |
Returns
Promise<JournalEntry>
flush()
flush(): Promise<void>;Defined in: packages/core/dist/index.d.ts
Resolves when every append enqueued so far has persisted. Deterministic shims journal fire-and-forget; the engine awaits this before settling a run.
Returns
Promise<void>
invalidate()
invalidate(seq): void;Defined in: packages/core/dist/index.d.ts
invalidate/retry: explicit unpinning of a memoized failure; the invalidated entry reruns on this resume. The safety boundary is an open question.
Parameters
| Parameter | Type |
|---|---|
seq | number |
Returns
void
ledger()
ledger(): Ledger;Defined in: packages/core/dist/index.d.ts
The budget ledger fold: usage sums over terminal entries exactly once; agentsSpawned counts agent dispatches.
Returns
match()
match(
scope,
identity,
mode): MatchResult;Defined in: packages/core/dist/index.d.ts
Forward-matches one live call against the prior journal. Fresh runs always miss; the M2-T06 predicate is injected through setDisposition once folds are built.
Parameters
| Parameter | Type |
|---|---|
scope | string |
identity | IdentityInput |
mode | ReplayMode |
Returns
registerAlias()
registerAlias(donorPrefix, targetPrefix): void;Defined in: packages/core/dist/index.d.ts
Registers a node.link scope-prefix rewrite (DEF-5): donorPrefix forward-matches into targetPrefix at every nested level. Idempotent; the alias map is rebuilt by fold on resume.
Parameters
| Parameter | Type |
|---|---|
donorPrefix | string |
targetPrefix | string |
Returns
void
resolveSuspended()
resolveSuspended(target, attempt): Promise<ResolutionOutcome>;Defined in: packages/core/dist/index.d.ts
Submits a resolution attempt through the per-target FIFO arbiter. Losing attempts are journaled noops.
Parameters
| Parameter | Type |
|---|---|
target | number |
attempt | ResolutionAttempt |
Returns
Promise<ResolutionOutcome>
resumeReport()
resumeReport(): ResumeReport;Defined in: packages/core/dist/index.d.ts
Returns
setAliasDisposition()
setAliasDisposition(disposition): void;Defined in: packages/core/dist/index.d.ts
The disposition for alias-sourced candidates (DEF-5): bypasses the abandon overlay so donor entries regain their pre-abandon terminal status when matched through the alias.
Parameters
| Parameter | Type |
|---|---|
disposition | (op) => OperationDisposition |
Returns
void
setDisposition()
setDisposition(disposition): void;Defined in: packages/core/dist/index.d.ts
Parameters
| Parameter | Type |
|---|---|
disposition | (op) => OperationDisposition |
Returns
void
snapshot()
snapshot(): readonly JournalEntry[];Defined in: packages/core/dist/index.d.ts
Read-only view of the appended entries, in per-run total order.
Returns
readonly JournalEntry[]
suspensionState()
suspensionState(target): SuspensionState;Defined in: packages/core/dist/index.d.ts
Pure fold view, snapshot-pinned.
Parameters
| Parameter | Type |
|---|---|
target | number |