Rocky_Mountain_Vending/lib/voice-assistant/shared.ts

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
}