Refactor v8.17 — Helpers de Spotify extraídos (-314 líneas)
Helpers de Spotify (intent parsing + API calls) salen al módulo `spotify-helpers.ts`. DI eliminada en Spotify tool.
Nuevo
- 🎵 8 helpers de Spotify a spotify-helpers.ts
- 🔄 Retry on 429 con Retry-After header
- 🎤 deriveSpotifyPlaylistNameFromPrompt + deriveSpotifySearchIntent
- 📡 searchSpotifyTracks (con paginación), fetchSpotifyPlaylists, fetchSpotifyPlaylistTrackPreview
- ✅ DI eliminada en spotify.ts (11 → 0 DI)
Nuevo módulo
- `src/lib/server/chat/helpers/spotify-helpers.ts` (~330 líneas).
- Tipos públicos: SpotifyTrackDigest, SpotifyPlaylistDigest.
- Internos: delay, getRetryDelayFromHeaders, normalizePlaylistName, stripCountExpression, fallbackPlaylistName, parseSpotifyTrackItem, asObj.
Tools afectados
- tools/spotify.ts: SpotifyToolContext 11 → 5 campos.
- route.ts: 11138 → 10824 líneas (-314).
