| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- /**
- * Change-event vocabulary of the domain data form. Every durable write emits
- * one event after the backend resolves durability, carrying the new snapshot
- * and an operation discriminant — never the old value (a diffing consumer
- * keeps its own previous snapshot). This is the event source for cross-process
- * change push (RPC frames) in a later phase.
- * @module @deepseek-ai/dsh-storage-domain/src/events
- */
- /** Shared location fields of one durable domain change. */
- export interface DomainChangedBase {
- /** Owning domain name. */
- readonly domain: string
- /** Table name; `''` for a global-singleton write. */
- readonly table: string
- /** Record key; `''` for a global-singleton write. */
- readonly key: string
- }
- /** A record (or the global singleton) was inserted or overwritten. */
- export interface DomainChangedPut extends DomainChangedBase {
- readonly operation: 'put'
- /** The new snapshot. */
- readonly value: unknown
- }
- /** A record was deleted; tombstones carry no value. */
- export interface DomainChangedDeleted extends DomainChangedBase {
- readonly operation: 'deleted'
- readonly value?: never
- }
- /** One durable domain change; a closed union — switch on `operation`. */
- export type DomainChanged = DomainChangedPut | DomainChangedDeleted
- declare module '@deepseek-ai/cordis' {
- interface Events {
- /**
- * A domain record or the global singleton changed, emitted once per write
- * strictly after the backend acknowledged durability. Events of one
- * domain arrive in its write-chain order.
- * @param change - domain, table (`''` for global), key (`''` for global),
- * operation discriminant, and on `put` the new snapshot.
- * @mode emit
- */
- 'domain/changed'(change: DomainChanged): void
- }
- }
|