Skip to content

Rulvar API reference


Rulvar API reference / @rulvar/store-postgres / PostgresTranscriptStore

Interface: PostgresTranscriptStore ​

Defined in: packages/store-postgres/src/store.ts:103

The fenced transcript twin over a PostgresStore database (the fenced run state RFC, F2): blobs live in the SAME database as the lease rows, so a lease-carrying put or delete verifies the current holder atomically with the blob mutation. Obtain it from PostgresStore.transcripts; its lifetime is the owning store's (one shared pool, 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-postgres/src/store.ts:104

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