You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sims-hq/packages/domain/src/outbox.ts

19 lines
603 B
TypeScript

/**
* Outbox rows are written in the same local transaction as every business
* change from the FIRST local-only build (D14): dormant until the cloud tier
* exists, at which point a sync agent drains them. Cloud enablement must be a
* switch-on, never a data migration.
*/
export interface OutboxRow {
opId: string // uuidv7 — the idempotency key
tenantId: string
deviceId: string
deviceSeq: number
docType: string
docId: string
/** Whole-document changeset envelope — row-level sync is forbidden by design. */
envelope: unknown
createdAtWallClock: string
lamport: number
}