/** * Wire-shape payloads emitted by `@lensmcp/valtio-instrumentation`. The * apps/valtio reducer consumes these via `event.raw.kind`. */ export interface ValtioUpdateRecord { storeId: string; path: string; changedKeys: string[]; beforeHash: string; afterHash: string; preview?: unknown; /** Components subscribing to this path at update time. */ subscribers: string[]; } export interface ValtioStoreRecord { storeId: string; source?: string; initialPreview?: unknown; } export interface ValtioSubscriptionRecord { storeId: string; path: string; componentInstanceId?: string; } export type ValtioPublishPayload = { kind: 'state-update'; update: ValtioUpdateRecord; } | { kind: 'store-created'; store: ValtioStoreRecord; } | { kind: 'subscription-added'; subscription: ValtioSubscriptionRecord; } | { kind: 'subscription-removed'; subscription: ValtioSubscriptionRecord; };