TeraTodaySyncModels.swift (1501B)
1 import Foundation 2 3 enum TeraTodayRelaySyncState: Sendable, Equatable { 4 case complete, partial, offline 5 } 6 7 enum TeraTodaySyncTermination: Sendable, Equatable { 8 case complete, pageLimit, deadline, cancelled, sourceFailed 9 } 10 11 enum TeraTodayTargetSyncState: Sendable, Equatable { 12 case complete, partial, unavailable, failedRetryable, failedTerminal, cancelled 13 } 14 15 struct TeraTodayTargetPageSummary: Sendable, Equatable { 16 let pagesObserved: UInt16 17 let incompletePages: UInt16 18 let missingOutcomePages: UInt16 19 let lastIncomplete: TeraTodayTargetSyncState? 20 } 21 22 struct TeraTodayTargetSyncReceipt: Sendable, Equatable { 23 let targetFingerprint: String 24 let finalState: TeraTodayTargetSyncState? 25 let summary: TeraTodayTargetPageSummary? 26 } 27 28 struct TeraTodayDiscoveryReceipt: Sendable, Equatable { 29 let continuation: String? 30 let hadIncompleteResponses: Bool 31 } 32 33 struct TeraTodaySyncReceipt: Sendable, Equatable { 34 let relayState: TeraTodayRelaySyncState 35 let termination: TeraTodaySyncTermination 36 let targets: [TeraTodayTargetSyncReceipt] 37 let pagesFetched: UInt16 38 let eventsObserved: UInt64 39 let eventsAdmitted: UInt64 40 let eventsRejected: UInt64 41 let projection: TeraTodayRefreshReceipt 42 let discovery: TeraTodayDiscoveryReceipt 43 } 44 45 struct TeraTodayRefreshReceipt: Sendable, Equatable { 46 let update: TeraTodayProjectionUpdate 47 let sourceEvents: UInt64 48 let visibleCards: UInt64 49 let profiles: UInt64 50 let threadEntries: UInt64 51 let contentGeneration: UInt64 52 let changed: Bool 53 }