Commit Graph

15 Commits

Author SHA1 Message Date
bcc09542b7 fix: respond to request_contact immediately, send confirmation as text
All checks were successful
Build & Push / build-and-push (push) Successful in 1m43s
The deferred tool response approach caused Gemini to timeout waiting.
Now request_contact responds immediately (telling the agent to wait),
and the confirm button sends a text message through the live WebSocket
to trigger complete_brief.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 15:52:53 -04:00
cdb89553e0 feat: add contact card, deferred tool responses, and reconnection logic
- request_contact tool shows on-screen card for name/email verification
- Deferred tool responses let the UI wait for user confirmation
- WebSocket close preserves transcript and enables reconnection
- Reconnect seeds new Gemini session with prior conversation context

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 14:43:27 -04:00
600f1a5241 feat: deeper discovery questions + conversation summary in briefs
All checks were successful
Build & Push / build-and-push (push) Successful in 1m35s
- Agent now asks probing follow-up questions (pain points, current tools, vision, decision context)
- complete_brief tool includes conversationSummary field capturing ALL discussion details
- Summary merges into scope context for richer, more targeted briefs
- Updated both EN and FR system prompts

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 15:11:18 +01:00
3eae92e1c1 feat: show "Generating your brief..." badge during brief generation
All checks were successful
Build & Push / build-and-push (push) Successful in 1m57s
Visual feedback while the complete_brief API call runs (~15s).
Badge appears below the orb with a spinner animation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 14:58:56 +01:00
7fb3d85103 fix: prevent duplicate brief submissions, add completion logging
All checks were successful
Build & Push / build-and-push (push) Successful in 1m43s
- briefSubmittedRef prevents multiple complete_brief calls
- Added logging throughout completion flow for debugging
- Reset ref on new conversation start

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 14:51:26 +01:00
66949c07d8 fix: accumulate transcript chunks into single messages per turn
All checks were successful
Build & Push / build-and-push (push) Successful in 1m23s
Streaming transcription words now merge into one bubble per agent/user turn
instead of creating separate entries for each chunk.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 14:42:04 +01:00
015ae49d2d fix: use realtimeInput.text for intro prompt, handle Blob WebSocket data
Some checks failed
Build & Push / build-and-push (push) Has been cancelled
- Introduction prompt uses realtimeInput.text format (not clientContent)
- Agent now successfully introduces itself and sends audio responses
- Playback AudioContext created in user gesture for mobile

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 14:40:08 +01:00
6fcebe74af fix: create playback AudioContext in user gesture for mobile support
All checks were successful
Build & Push / build-and-push (push) Successful in 1m40s
- Playback AudioContext created during startConversation (button click)
- Removed sampleRate constraint from getUserMedia (let browser choose)
- Added audio chunk logging for debugging

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 14:34:19 +01:00
34a78e7d4a fix: remove unused debugLog from VoiceAgentContextValue interface
All checks were successful
Build & Push / build-and-push (push) Successful in 2m0s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 14:29:45 +01:00
edb765e0e1 fix: prompt voice agent to introduce itself after connection
Some checks failed
Build & Push / build-and-push (push) Failing after 1m31s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 14:27:35 +01:00
0a20d1e243 fix: correct WebSocket setup format and handle Blob messages
Some checks failed
Build & Push / build-and-push (push) Has been cancelled
- 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>
2026-03-28 14:27:11 +01:00
bbf534cf4f fix: reduce rate limit to 5s, add 10s connection timeout
All checks were successful
Build & Push / build-and-push (push) Successful in 1m56s
- 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>
2026-03-28 14:19:57 +01:00
0e3c92f873 fix: correct WebSocket setup and audio format for Gemini Live API
All checks were successful
Build & Push / build-and-push (push) Successful in 1m30s
- Setup message uses "config" key (not "setup")
- Audio sent as realtimeInput.audio (not mediaChunks)
- Added message logging for debugging

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 14:15:42 +01:00
15136080ed fix: add detailed error logging to voice agent for debugging
All checks were successful
Build & Push / build-and-push (push) Successful in 1m29s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 14:04:20 +01:00
bab45b981e feat: website analysis pipeline, voice agent, configurator improvements
All checks were successful
Build & Push / build-and-push (push) Successful in 6m2s
- 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>
2026-03-28 13:41:35 +01:00