This PR changes `agent.play_sound_when_agent_done` from a boolean to an
enum with three options:
- `never` (default)
- `when_hidden`
- `always`
In Settings → Agent, this now appears as a _Play Sound When Agent Done_
dropdown.
Existing settings are migrated automatically:
- `false` → `never`
- `true` → `always`
### Why
A boolean only allowed the sound to be on or off. This change gives
users clearer control over when the agent notification sound should
play.
### Verification
- Added a migrator test for this setting change.
- Manually tested the settings UI, settings migration and the feature
Release Notes:
- Added new agent notification sound options
---------
Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>