mirror of
https://github.com/dograh-hq/dograh.git
synced 2026-07-10 11:12:13 +02:00
* feat(tts): add xAI as a Voice (TTS) provider pipecat already ships an xAI TTS service (XAITTSService, WebSocket streaming) but dograh never wired it into the service configuration, so xAI could not be selected as a Voice provider in the cascading pipeline. Wire it through: - registry: ServiceProviders.XAI + XAITTSConfiguration (voices eve/ara/leo/rex/sal, language, computed model) registered in TTSConfig - service_factory: build XAITTSService in create_tts_service - check_validity: api-key validation hook - tests for the factory + docs The Voice provider dropdown is schema-driven, so xAI appears with no UI changes. * fix(tts): validate xAI API key and drop misleading auto-language hint Addresses review feedback on the xAI Voice provider: - check_validity: replace the no-op xAI key check with real validation against xAI's OpenAI-compatible API (models.list on https://api.x.ai/v1), so a bad BYOK key is caught at configuration time instead of at call time. - registry: remove the "auto" language hint from the field description. pipecat's Language enum has no "auto" member, so the factory fell back to English silently; the description no longer advertises detection we don't do. - tests: cover xAI key validation (registered, accepts valid, rejects bad). * fix(tts): validate xAI key against the TTS voices endpoint xAI supports endpoint-scoped API keys, so a key scoped to Text-to-Speech may lack the /v1/models ACL and would be wrongly rejected by the previous models.list() check. Validate against GET /v1/tts/voices instead — the scope the key actually needs for TTS — treating 401/403 as an invalid key and connection errors as a clean, actionable message. * fix: harden xAI TTS integration --------- Co-authored-by: Sabiha Khan <sabihak89@gmail.com> Co-authored-by: Sabiha Khan <87858386+chewwbaka@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| public | ||
| scripts | ||
| src | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| components.json | ||
| Dockerfile | ||
| eslint.config.mjs | ||
| next.config.ts | ||
| openapi-ts.config.ts | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.mjs | ||
| README.md | ||
| sentry.edge.config.ts | ||
| sentry.server.config.ts | ||
| tsconfig.json | ||
This is a Next.js project bootstrapped with create-next-app.
Getting Started
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Login Flow
- The redirection happens server side using
ui/src/stack.tsxafter the user has logged in.
Sentry and PostHog
- Initialized in
ui/src/instrumentation-client.ts