Add TypingEvent struct in queue::types for broadcast-based typing indicators, and TypingStart/TypingStop variants in RoomEventType for WebSocket event dispatch.
- Remove async-nats from Cargo.toml dependencies - Rename nats_publish_failed metric → redis_publish_failed - Update queue lib doc comment: Redis Streams + Redis Pub/Sub - Add Paused/Cancelled task statuses to agent_task model - Add issue_id and retry_count fields to agent_task - Switch tool executor Mutex from std::sync → tokio::sync (async context) - Add timeout/rate-limited/retryable/tool-not-found error variants