SeatTracker records current AI seat state for users.
| 35 | |
| 36 | // SeatTracker records current AI seat state for users. |
| 37 | type SeatTracker struct { |
| 38 | db store |
| 39 | logger slog.Logger |
| 40 | clock quartz.Clock |
| 41 | auditor *atomic.Pointer[audit.Auditor] |
| 42 | |
| 43 | mu sync.RWMutex |
| 44 | retryAfter map[uuid.UUID]time.Time |
| 45 | } |
| 46 | |
| 47 | func New(db store, logger slog.Logger, clock quartz.Clock, auditor *atomic.Pointer[audit.Auditor]) *SeatTracker { |
| 48 | if clock == nil { |
nothing calls this directly
no outgoing calls
no test coverage detected