53 lines
1.3 KiB
TypeScript
53 lines
1.3 KiB
TypeScript
import { businessConfig } from "@/lib/seo-config"
|
|
import {
|
|
VOICE_ASSISTANT_AGENT_NAME,
|
|
VOICE_ASSISTANT_SOURCE,
|
|
XAI_REALTIME_MODEL,
|
|
XAI_REALTIME_VOICE,
|
|
type VoiceAssistantBootstrap,
|
|
} from "@/lib/voice-assistant/types"
|
|
|
|
export const VOICE_ASSISTANT_SUPPRESSED_ROUTE_PREFIXES = [
|
|
"/admin",
|
|
"/auth",
|
|
"/sign-in",
|
|
"/stripe-setup",
|
|
"/style-guide",
|
|
"/manuals/dashboard",
|
|
"/test-page",
|
|
] as const
|
|
|
|
export function isVoiceAssistantSuppressedRoute(pathname: string) {
|
|
return VOICE_ASSISTANT_SUPPRESSED_ROUTE_PREFIXES.some(
|
|
(prefix) => pathname === prefix || pathname.startsWith(`${prefix}/`),
|
|
)
|
|
}
|
|
|
|
export function getVoiceAssistantBootstrap(): VoiceAssistantBootstrap {
|
|
return {
|
|
assistantName: "Jessica",
|
|
businessName: businessConfig.name,
|
|
phone: businessConfig.publicCallNumber,
|
|
phoneUrl: businessConfig.publicCallUrl,
|
|
email: businessConfig.email,
|
|
model: XAI_REALTIME_MODEL,
|
|
voice: XAI_REALTIME_VOICE,
|
|
}
|
|
}
|
|
|
|
export function getVoiceAssistantSiteUrl() {
|
|
return (
|
|
process.env.VOICE_ASSISTANT_SITE_URL ||
|
|
process.env.NEXT_PUBLIC_APP_URL ||
|
|
process.env.NEXT_PUBLIC_SITE_URL ||
|
|
businessConfig.website
|
|
)
|
|
}
|
|
|
|
export function getVoiceAssistantAgentName() {
|
|
return VOICE_ASSISTANT_AGENT_NAME
|
|
}
|
|
|
|
export function getVoiceAssistantSource() {
|
|
return VOICE_ASSISTANT_SOURCE
|
|
}
|