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
| Property | Modifier | Type | Description | Overrides | Defined in |
|---|---|---|---|---|---|
fencedWrites | readonly | true | Fenced 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.fencedWrites | packages/store-postgres/src/store.ts:104 |
Methods
delete()
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
| Parameter | Type |
|---|---|
ref | string |
lease? | Lease |
Returns
Promise<void>
Inherited from
get()
get(ref): Promise<Bytes | null>;Defined in: packages/core/dist/index.d.ts
Parameters
| Parameter | Type |
|---|---|
ref | string |
Returns
Promise<Bytes | null>
Inherited from
list()
list(runId): Promise<string[]>;Defined in: packages/core/dist/index.d.ts
Parameters
| Parameter | Type |
|---|---|
runId | string |
Returns
Promise<string[]>
Inherited from
put()
put(
ref,
blob,
lease?): Promise<void>;Defined in: packages/core/dist/index.d.ts
Parameters
| Parameter | Type |
|---|---|
ref | string |
blob | Bytes |
lease? | Lease |
Returns
Promise<void>