// Ohne zod, damit Vorlagen-Seiten (Badge, Chat) schlank bleiben // Admins greifen über die Varianten-ID zu, Kunden über den Freigabe-Token export type AiAccess = { token: string } | { variantId: string } // KI-Demos als eigene Seiten; `feature` ist der Schalter in AiSettings export const AI_DEMOS = { telefon: { feature: "phone", label: "KI-Telefon" }, assistent: { feature: "assistant", label: "Angebots-Assistent" }, content: { feature: "content", label: "Content-Generator" }, } as const export type AiDemoSlug = keyof typeof AI_DEMOS export const AI_DEMO_SLUGS = Object.keys(AI_DEMOS) as AiDemoSlug[] export function isDemoSlug(value: string): value is AiDemoSlug { return value in AI_DEMOS } export function demoHref(access: AiAccess, slug: AiDemoSlug) { return "token" in access ? `/demo/${access.token}/${slug}` : `/ki/${access.variantId}/${slug}` }