- Setup uses "generationConfig" field (not "config") inside "setup" object
- Handle Blob data from WebSocket (Gemini sends binary, not text)
- Voice agent now successfully connects and receives setupComplete
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Rate limit reduced from 30s to 5s for testing
- WebSocket setup times out after 10s instead of hanging forever
- Added connection logging
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Site analysis: cheerio HTML parsing, inline tech stack detection (~20 CMS/framework/analytics signatures), Google PageSpeed API integration
- Gemini Live voice agent: WebSocket-based real-time voice mode with live transcript, selection chips, and mid-conversation website analysis
- Type/Talk mode toggle with silent capability detection
- Stepped progress animation during brief generation (4 animated steps)
- URL + thoughts fields in Step 2, phone + contact preference in Step 3
- AI prompt improvements: dedicated website analysis section, 30-min call, concrete benefits, industry depth
- Email redesign: branded templates with logo, proper markdown rendering for both client and admin
- French locale support for AI-generated briefs
- Smaller checkmark, compact booking CTA, expanded brief area
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>