Skip to content

rulvar API reference


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

ts
new Replayer(options): Replayer;

Defined in: packages/core/dist/index.d.ts

Parameters

ParameterTypeDescription
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?LeaseQueue 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.runIdstring-
options.storeJournalStore-
options.strict?boolean-

Returns

Replayer

Accessors

fold

Get Signature

ts
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

ResolutionFold


invalidatedSeqs

Get Signature

ts
get invalidatedSeqs(): ReadonlySet<number>;

Defined in: packages/core/dist/index.d.ts

Returns

ReadonlySet&lt;number&gt;

Methods

abandonBranch()

ts
abandonBranch(attempt): Promise<ResolutionOutcome>;

Defined in: packages/core/dist/index.d.ts

Parameters

ParameterType
attemptAbandonAttempt

Returns

Promise&lt;ResolutionOutcome&gt;


appendRefEntry()

ts
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

ParameterType
input{ abandon?: AbandonPayload; kind: "resolution" | "abandon"; ref: number; resolution?: ResolutionPayload; scope: string; spanId: string; }
input.abandon?AbandonPayload
input.kind"resolution" | "abandon"
input.refnumber
input.resolution?ResolutionPayload
input.scopestring
input.spanIdstring

Returns

Promise&lt;JournalEntry&gt;


appendRunning()

ts
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

ParameterType
inputBaseAppend & { memoizeOutcome?: boolean; value?: unknown; }

Returns

Promise&lt;JournalEntry&gt;


appendSinglePhase()

ts
appendSinglePhase(input): Promise<JournalEntry>;

Defined in: packages/core/dist/index.d.ts

Single-phase fact entries: rand, decisions, termination facts.

Parameters

ParameterType
inputSinglePhaseAppend

Returns

Promise&lt;JournalEntry&gt;


appendSuspended()

ts
appendSuspended(input): Promise<JournalEntry>;

Defined in: packages/core/dist/index.d.ts

Suspended kinds (external, approval): appended once, closed by ref-entries (M2).

Parameters

ParameterType
inputSuspendedAppend

Returns

Promise&lt;JournalEntry&gt;


appendTerminal()

ts
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

ParameterType
runningSeqnumber
patchTerminalPatch

Returns

Promise&lt;JournalEntry&gt;


flush()

ts
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&lt;void&gt;


invalidate()

ts
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

ParameterType
seqnumber

Returns

void


ledger()

ts
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

Ledger


match()

ts
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

ParameterType
scopestring
identityIdentityInput
modeReplayMode

Returns

MatchResult


registerAlias()

ts
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

ParameterType
donorPrefixstring
targetPrefixstring

Returns

void


resolveSuspended()

ts
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

ParameterType
targetnumber
attemptResolutionAttempt

Returns

Promise&lt;ResolutionOutcome&gt;


resumeReport()

ts
resumeReport(): ResumeReport;

Defined in: packages/core/dist/index.d.ts

Returns

ResumeReport


setAliasDisposition()

ts
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

ParameterType
disposition(op) => OperationDisposition

Returns

void


setDisposition()

ts
setDisposition(disposition): void;

Defined in: packages/core/dist/index.d.ts

Parameters

ParameterType
disposition(op) => OperationDisposition

Returns

void


snapshot()

ts
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()

ts
suspensionState(target): SuspensionState;

Defined in: packages/core/dist/index.d.ts

Pure fold view, snapshot-pinned.

Parameters

ParameterType
targetnumber

Returns

SuspensionState