- Fix: emotion_type was only set for ssfm-v30 when using --emotion preset;
now correctly set for all models (ssfm-v21 also requires emotion_type: "preset")
- Add buildTTSRequest tests covering all payload fields: volume, pitch, tempo,
format, seed, language, prev/next-text, emotion presets, output nil defaults
- Add integration tests for --out file saving and format inference from extension
- Fix resetFlags() setting tempo sentinel to "0" instead of "-1", causing
spurious validation failures in tests
- Add base-url to config keys and wire NewWithBaseURL in root/voices commands
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>