476a689c6f
- Extracted `raceWithAbort()` utility to pi-utils package for reuse across projects. - Replaced local `raceAbort()` implementation with imported `raceWithAbort()` from pi-utils. - Refactored cleanup timer to use async iterator pattern with `timers.setInterval()` instead of callback-based `setInterval()`. - Converted `#cleanupIdleSessions()` and `#disposeSession()` from async to synchronous methods with async cleanup loop delegated to `#runCleanupLoop()`.