Skip to content

Rulvar API reference


Rulvar API reference / @rulvar/store-sqlite / SqliteTranscriptStore

Interface: SqliteTranscriptStore ​

Defined in: packages/store-sqlite/src/store.ts:127

The fenced transcript twin over a SqliteStore database (the fenced run state RFC, F2): a TranscriptStore that declares fencedWrites because its blobs live in the SAME database as the lease rows, giving the fence check and the blob mutation one transactional domain. Obtain it from SqliteStore.transcripts; its lifetime is the owning store's (one shared connection, one close()).

Extends ​

Properties ​

PropertyModifierTypeDescriptionOverridesDefined in
fencedWritesreadonlytrueFenced writes capability (the fenced run state RFC, phase 2), the transcript-side twin of the JournalStore marker: a store declaring it verifies a lease-carrying put or delete against the CURRENT lease of the run the ref's leading path segment names, atomically with the mutation, and rejects stale holders with the typed LeaseHeldError leaving the prior blob intact. The engine threads the segment's lease into every blob write of a leased resume (checkpoints, compaction summaries, worktree patches, workflow sources). The shipped file and in-memory transcript stores do NOT declare it (they are single-writer by contract); a fenced implementation needs the blobs and the lease state in one transactional domain, which is exactly how the sqlite twin ships: SqliteStore.transcripts() in @rulvar/store-sqlite keeps blobs beside the lease rows of the same database.TranscriptStore.fencedWritespackages/store-sqlite/src/store.ts:128

Methods ​

delete() ​

ts
delete(ref, lease?): Promise<void>;

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

Deletes one blob; a missing ref is a no-op, never an error (M8-T04 amendment, OQ-20: retention is impossible without blob deletion). The cascade over a run's blobs is ENGINE-side (Engine.deleteRun), never a store obligation.

Parameters ​

ParameterType
refstring
lease?Lease

Returns ​

Promise&lt;void&gt;

Inherited from ​

TranscriptStore.delete


get() ​

ts
get(ref): Promise<Bytes | null>;

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

Parameters ​

ParameterType
refstring

Returns ​

Promise&lt;Bytes | null&gt;

Inherited from ​

TranscriptStore.get


list() ​

ts
list(runId): Promise<string[]>;

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

Parameters ​

ParameterType
runIdstring

Returns ​

Promise&lt;string[]&gt;

Inherited from ​

TranscriptStore.list


put() ​

ts
put(
   ref, 
   blob, 
lease?): Promise<void>;

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

Parameters ​

ParameterType
refstring
blobBytes
lease?Lease

Returns ​

Promise&lt;void&gt;

Inherited from ​

TranscriptStore.put