with one click
end-of-speech-integration
// Add or modify end-of-speech integrations in assistant-api with strict separation from VAD internals. Use for transcript/audio/history-aware turn-finalization logic, provider wiring, and EOS UI config.
// Add or modify end-of-speech integrations in assistant-api with strict separation from VAD internals. Use for transcript/audio/history-aware turn-finalization logic, provider wiring, and EOS UI config.
| name | end-of-speech-integration |
| description | Add or modify end-of-speech integrations in assistant-api with strict separation from VAD internals. Use for transcript/audio/history-aware turn-finalization logic, provider wiring, and EOS UI config. |
Implement EOS that finalizes each user turn exactly once, at low latency, without mutating VAD behavior.
In scope:
api/assistant-api/internal/end_of_speech/internal/<provider>/...api/assistant-api/internal/end_of_speech/end_of_speech.go (factory registration)api/assistant-api/internal/type/end_of_speech.go and packet compatibility only if requiredui/src/providers/<provider>/eos.json (plus optional model-options.json)ui/src/app/components/providers/end-of-speech/Out of scope:
api/assistant-api/internal/vad/internal/... implementation changesapi/assistant-api/internal/vad/vad.go provider logic changesIf user does not answer:
silence_based_eos) for text/STT driven flows.threshold, quick_timeout, silence_timeout.Accepted packet inputs depend on provider strategy:
SpeechToTextPacket, UserTextPacketInterruptionPacket, VadSpeechActivityPacketUserAudioPacket, LLMResponseDonePacketRequired outputs:
InterimEndOfSpeechPacketEndOfSpeechPacket (once per utterance)ConversationEventPacket{Name:"eos", ...}internal/silence_based/...internal/pipecat/...internal/livekit/...internal/<provider>/.end_of_speech.go.microphone.eos.provider.api/assistant-api/internal/vad/internal/.ui/src/providers/config-loader.ts path resolution.go test ./api/assistant-api/internal/end_of_speech/...go test ./api/assistant-api/internal/adapters/internal/...cd ui && yarn test providers./.claude/skills/end-of-speech-integration/scripts/validate.sh --check-diff --provider <provider>Add or modify noise-reduction providers in assistant-api with denoiser factory wiring, packet safety, and UI option compatibility.
Add or modify microphone noise-reduction providers in assistant-api with denoiser factory wiring, packet safety, and option/UI compatibility.
Add or modify LLM/integration providers in integration-api with caller factory wiring, unified provider routing, streaming behavior, and metric/audit compatibility.
Explain and validate local setup paths for this repo with Docker and without Docker. Use when developers need exact prerequisites, startup commands, health checks, and troubleshooting steps.
Add or modify speech-to-text providers in assistant-api with transport-aware ingestion (WS/SDK/HTTP), transcript packet correctness, and UI/provider wiring.
Build a code-grounded implementation plan before coding. Use to trace packet flow, factory boundaries, provider config loading, and exact file-level change scope for a requested integration.