@helpai/elements 1.12.3 → 1.12.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/elements-web-component.esm.js +2 -2
- package/elements-web-component.esm.js.map +1 -1
- package/elements.cjs.js +2 -2
- package/elements.cjs.js.map +1 -1
- package/elements.esm.js +2 -2
- package/elements.esm.js.map +1 -1
- package/elements.js +2 -2
- package/elements.js.map +1 -1
- package/index.mjs +2 -2
- package/llms-full.txt +142 -142
- package/llms.txt +19 -19
- package/package.json +1 -1
- package/react.mjs +2 -2
- package/style.css +1 -1
- package/web-component.mjs +2 -2
package/web-component.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Component as e,h as t,render as n}from"preact";import{batch as r,computed as i,effect as a,signal as o,useComputed as s,useSignal as c}from"@preact/signals";import{useCallback as l,useEffect as u,useLayoutEffect as d,useMemo as f,useRef as p,useState as m}from"preact/hooks";import{Fragment as h,jsx as g,jsxs as _}from"preact/jsx-runtime";import*as v from"streaming-markdown";import{memo as y}from"preact/compat";function b(e,t){if(e?.length&&t)return e.find(e=>e.locale===t)}function x(e,t){let{translations:n,defaultLocale:r,...i}=e,a=b(n,t);return a?{...i,title:a.title??i.title,description:a.description??i.description,content:a.content??i.content}:i}function S(e,t){let{translations:n,defaultLocale:r,...i}=e,a=b(n,t);return a?{...i,title:a.title??i.title,description:a.description??i.description}:i}function C(e,t){let{translations:n,defaultLocale:r,...i}=e,a=b(n,t);if(!a)return i;let o=new Map((a.fields??[]).map(e=>[e.name,e])),s=i.fields.map(e=>{let t=o.get(e.name);if(!t)return e;let n=new Map((t.options??[]).map(e=>[e.value,e]));return{...e,label:t.label??e.label,placeholder:t.placeholder??e.placeholder,validationHint:t.validationHint??e.validationHint,options:e.options?.map(e=>{let t=n.get(e.value);return t?{...e,label:t.label??e.label,description:t.description??e.description}:e})}});return{...i,title:a.title??i.title,description:a.description??i.description,submitLabel:a.submitLabel??i.submitLabel,fields:s}}const w={attach:`Attach files`,attachmentMimeRejected:`File type not supported`,attachmentTooLarge:`File is too large`,attachmentTooMany:`Attachment limit reached`,conversationClosed:`This chat is closed`,conversationLoading:`Loading chat…`,loadPreviousMessages:`Load previous messages`,close:`Close`,collapse:`Collapse`,collapseSidebar:`Collapse sidebar`,composerPlaceholder:`Type a message…`,dateLastWeek:`Last 7 days`,dateOlder:`Older`,dateToday:`Today`,dateYesterday:`Yesterday`,dropZone:`Drop files to attach`,errorGeneric:`Something went wrong`,errorRateLimited:`Too many requests — please try again in a moment.`,errorRetry:`Retry`,expand:`Expand`,expandSidebar:`Expand sidebar`,exitFullscreen:`Exit fullscreen`,fullscreen:`Fullscreen`,history:`History`,historyBack:`Back to chat`,historyEmpty:`No previous chats yet`,historyLoading:`Loading your chats…`,historyContinue:`Continue the chat`,historyTitle:`Chat history`,loadMoreConversations:`Load more conversations`,language:`Language`,launcherOpen:`Open chat`,launcherLabel:`Chat with us`,micStart:`Start voice input`,micStop:`Stop voice input`,micUnsupported:`Voice input is not supported in this browser`,moreActions:`More actions`,newConversation:`New chat`,panelTitle:`Chat`,popOut:`Open in new tab`,resizeHandle:`Drag to resize`,scrollToBottom:`Scroll to latest`,send:`Send`,queueMessage:`Queue message`,removeQueuedMessage:`Remove queued message`,compactingContext:`Optimizing conversation context…`,soundOff:`Sound off`,soundOn:`Sound on`,startNewConversation:`Start a new chat`,talkToOperator:`Talk to a person`,connectingOperator:`Connecting you to a person…`,noOperatorAvailable:`No one's available right now — leave your details and we'll follow up.`,chattingWithOperator:`You're chatting with {operator}`,cancelOperatorRequest:`Keep chatting with the AI`,stop:`Stop`,theme:`Theme`,themeAuto:`Auto`,themeDark:`Dark`,themeLight:`Light`,textSize:`Text size`,textSizeSmall:`Small`,textSizeNormal:`Normal`,textSizeLarge:`Large`,loading:`Loading…`,visualPreparing:`Preparing visual…`,visualError:`This visual could not be displayed.`,visualPartial:`Some parts of this visual could not be displayed.`,thinking:`Thinking…`,thoughts:`Thoughts`,toolResult:`Result`,sources:`Sources`,feedbackUp:`Good response`,feedbackDown:`Bad response`,feedbackThanks:`Thanks for your feedback`,copy:`Copy`,copied:`Copied`,tabHome:`Home`,tabConversations:`Chats`,tabHelp:`Help`,tabNews:`News`,modulesEmpty:`Nothing here yet`,moduleBack:`Back`,contentLoading:`Loading…`,contentHelpful:`Was this helpful?`,homeGreeting:`How can we help?`,homeGreetingNamed:`Hi {name} 👋`,homeGreetingLead:`How can we help?`,homeSearchPlaceholder:`Search for help`,homeAskPlaceholder:`Ask a question…`,homeWhatsNew:`What's new`,homeContentTitle:`Popular articles`,homeStatus:`Status`,helpTitle:`Help`,helpSearchPlaceholder:`Search for help`,helpEmpty:`No help articles yet`,helpLoading:`Loading help…`,helpSearchEmpty:`No results for “{query}”`,helpShowMore:`Show more`,newsTitle:`News`,newsEmpty:`No news yet`,newsLoading:`Loading news…`,newsBack:`Back to news`,newsPublishedAt:`Published {date}`,newsShowMore:`Show more`,newsUnseen:`New post`,formSubmit:`Submit`,formSkip:`Maybe later`,formSubmitted:`Completed`,formSkipped:`Maybe later`,formFillOut:`Fill out`,formRequired:`This field is required`,formInvalidEmail:`Enter a valid email address`,formInvalidTel:`Enter a valid phone number`,formInvalidUrl:`Enter a valid URL`,formInvalidNumber:`Enter a valid number`,formTooShort:`Too short (min {min} characters)`,formTooLong:`Too long (max {max} characters)`,formNumberTooSmall:`Must be at least {min}`,formNumberTooLarge:`Must be at most {max}`,formPatternMismatch:`Please match the requested format`,formChooseAtLeast:`Choose at least {min}`,formChooseAtMost:`Choose at most {max}`,formOther:`Other`,formOtherPlaceholder:`Type your answer…`,inputRequired:`Questions for you`,inputBadge:`Questions`,inputAnswered:`Answered`,inputSkipped:`Skipped`,showOptions:`Show options`,hideOptions:`Hide options`,qtypeText:`Your answer`,qtypeEmail:`Email address`,qtypePhone:`Phone number`,qtypeNumber:`Number`,qtypeDate:`Date`,qtypeChooseOne:`Pick one`,qtypeChooseAny:`Pick any`,qtypeBoolean:`Yes / No`,inputSubmit:`Submit answers`,inputSubmitHint:`Enter to send · Shift+Enter = new line`,inputSkip:`Skip`,confirmYes:`Yes`,confirmNo:`No`,approve:`Approve`,reject:`Reject`,approvalPrompt:`{tool} requires your approval to execute.`,approvalBody:`Review the tool input above and decide whether to allow this action.`,approvalYourResponse:`Your response: {decision}`,approvalEditHint:`You can edit this response until this step continues.`,approvalSubmitting:`Response submitted. Request in progress…`,edit:`Edit`,toolParameters:`Parameters`,statusAwaiting:`Awaiting Approval`,statusResponded:`Submitted`,statusRunning:`Running`,statusCompleted:`Completed`,statusDenied:`Denied`,statusError:`Error`,statusSuperseded:`Skipped`,statusIncomplete:`Not completed`},T={en:w,fr:{attach:`Joindre des fichiers`,attachmentMimeRejected:`Type de fichier non pris en charge`,attachmentTooLarge:`Le fichier est trop volumineux`,attachmentTooMany:`Limite de pièces jointes atteinte`,conversationClosed:`Ce chat est fermé`,conversationLoading:`Chargement du chat…`,loadPreviousMessages:`Charger les messages précédents`,close:`Fermer`,collapse:`Réduire`,collapseSidebar:`Réduire la barre latérale`,composerPlaceholder:`Écrivez un message…`,dateLastWeek:`7 derniers jours`,dateOlder:`Plus ancien`,dateToday:`Aujourd'hui`,dateYesterday:`Hier`,dropZone:`Déposez les fichiers à joindre`,errorGeneric:`Une erreur s'est produite`,errorRateLimited:`Trop de requêtes — veuillez réessayer dans un instant.`,errorRetry:`Réessayer`,expand:`Agrandir`,expandSidebar:`Développer la barre latérale`,exitFullscreen:`Quitter le plein écran`,fullscreen:`Plein écran`,history:`Historique`,historyBack:`Retour au chat`,historyEmpty:`Aucun chat pour le moment`,historyContinue:`Poursuivre le chat`,historyLoading:`Chargement de vos chats…`,historyTitle:`Historique des chats`,loadMoreConversations:`Charger plus de conversations`,language:`Langue`,launcherOpen:`Ouvrir le chat`,launcherLabel:`Discuter avec nous`,micStart:`Démarrer la saisie vocale`,micStop:`Arrêter la saisie vocale`,micUnsupported:`La saisie vocale n'est pas prise en charge par ce navigateur`,moreActions:`Plus d'actions`,newConversation:`Nouveau chat`,panelTitle:`Chat`,popOut:`Ouvrir dans un nouvel onglet`,resizeHandle:`Glisser pour redimensionner`,scrollToBottom:`Aller au plus récent`,send:`Envoyer`,queueMessage:`Mettre le message en attente`,removeQueuedMessage:`Retirer le message en attente`,compactingContext:`Optimisation du contexte de la conversation…`,soundOff:`Son désactivé`,soundOn:`Son activé`,startNewConversation:`Démarrer un nouveau chat`,talkToOperator:`Parler à une personne`,connectingOperator:`Mise en relation avec une personne…`,noOperatorAvailable:`Personne n'est disponible pour le moment — laissez vos coordonnées et nous reviendrons vers vous.`,chattingWithOperator:`Vous discutez avec {operator}`,cancelOperatorRequest:`Continuer avec l'IA`,stop:`Arrêter`,theme:`Thème`,themeAuto:`Auto`,themeDark:`Sombre`,themeLight:`Clair`,textSize:`Taille du texte`,textSizeSmall:`Petite`,textSizeNormal:`Normale`,textSizeLarge:`Grande`,loading:`Chargement…`,visualPreparing:`Préparation du visuel…`,visualError:`Ce visuel n’a pas pu être affiché.`,visualPartial:`Certaines parties de ce visuel n’ont pas pu être affichées.`,thinking:`Réflexion…`,thoughts:`Réflexions`,toolResult:`Résultat`,sources:`Sources`,feedbackUp:`Bonne réponse`,feedbackDown:`Mauvaise réponse`,feedbackThanks:`Merci pour votre retour`,copy:`Copier`,copied:`Copié`,tabHome:`Accueil`,tabConversations:`Chats`,tabHelp:`Aide`,tabNews:`Actualités`,modulesEmpty:`Rien pour le moment`,moduleBack:`Retour`,contentLoading:`Chargement…`,contentHelpful:`Cela vous a-t-il aidé ?`,homeGreeting:`Comment pouvons-nous vous aider ?`,homeGreetingNamed:`Bonjour {name} 👋`,homeGreetingLead:`Comment pouvons-nous vous aider ?`,homeSearchPlaceholder:`Rechercher de l'aide`,homeAskPlaceholder:`Posez une question…`,homeWhatsNew:`Nouveautés`,homeContentTitle:`Articles populaires`,homeStatus:`Statut`,helpTitle:`Aide`,helpSearchPlaceholder:`Rechercher de l'aide`,helpEmpty:`Aucun article d'aide pour le moment`,helpLoading:`Chargement de l'aide…`,helpSearchEmpty:`Aucun résultat pour «\xA0{query}\xA0»`,helpShowMore:`Afficher plus`,newsTitle:`Actualités`,newsEmpty:`Aucune actualité pour le moment`,newsLoading:`Chargement des actualités…`,newsBack:`Retour aux actualités`,newsPublishedAt:`Publié le {date}`,newsShowMore:`Afficher plus`,newsUnseen:`Nouvelle publication`,formSubmit:`Envoyer`,formSkip:`Plus tard`,formSubmitted:`Terminé`,formSkipped:`Plus tard`,formFillOut:`Remplir`,formRequired:`Ce champ est obligatoire`,formInvalidEmail:`Saisissez une adresse e-mail valide`,formInvalidTel:`Saisissez un numéro de téléphone valide`,formInvalidUrl:`Saisissez une URL valide`,formInvalidNumber:`Saisissez un nombre valide`,formTooShort:`Trop court (min. {min} caractères)`,formTooLong:`Trop long (max. {max} caractères)`,formNumberTooSmall:`Doit être au moins {min}`,formNumberTooLarge:`Doit être au plus {max}`,formPatternMismatch:`Veuillez respecter le format demandé`,formChooseAtLeast:`Choisissez au moins {min}`,formChooseAtMost:`Choisissez au plus {max}`,formOther:`Autre`,formOtherPlaceholder:`Saisissez votre réponse…`,inputRequired:`Questions pour vous`,inputBadge:`Questions`,inputAnswered:`Répondu`,inputSkipped:`Ignoré`,showOptions:`Afficher les options`,hideOptions:`Masquer les options`,qtypeText:`Votre réponse`,qtypeEmail:`Adresse e-mail`,qtypePhone:`Numéro de téléphone`,qtypeNumber:`Nombre`,qtypeDate:`Date`,qtypeChooseOne:`Choisir une`,qtypeChooseAny:`Choisir plusieurs`,qtypeBoolean:`Oui / Non`,inputSubmit:`Envoyer les réponses`,inputSubmitHint:`Entrée pour envoyer · Maj+Entrée = saut de ligne`,inputSkip:`Ignorer`,confirmYes:`Oui`,confirmNo:`Non`,approve:`Approuver`,reject:`Refuser`,approvalPrompt:`{tool} nécessite votre approbation pour s'exécuter.`,approvalBody:`Vérifiez les paramètres ci-dessus et décidez d'autoriser ou non cette action.`,approvalYourResponse:`Votre réponse : {decision}`,approvalEditHint:`Vous pouvez modifier votre réponse jusqu'à la reprise de cette étape.`,approvalSubmitting:`Réponse envoyée. Traitement en cours…`,edit:`Modifier`,toolParameters:`Paramètres`,statusAwaiting:`En attente d'approbation`,statusResponded:`Envoyé`,statusRunning:`En cours`,statusCompleted:`Terminé`,statusDenied:`Refusé`,statusError:`Erreur`,statusSuperseded:`Ignoré`,statusIncomplete:`Non terminé`},ar:{attach:`إرفاق ملفات`,attachmentMimeRejected:`نوع الملف غير مدعوم`,attachmentTooLarge:`حجم الملف كبير جدًا`,attachmentTooMany:`تم بلوغ الحد الأقصى للمرفقات`,conversationClosed:`تم إغلاق هذه الدردشة`,conversationLoading:`جارٍ تحميل الدردشة…`,loadPreviousMessages:`تحميل الرسائل السابقة`,close:`إغلاق`,collapse:`طيّ`,collapseSidebar:`طيّ الشريط الجانبي`,composerPlaceholder:`اكتب رسالة…`,dateLastWeek:`آخر ٧ أيام`,dateOlder:`أقدم`,dateToday:`اليوم`,dateYesterday:`أمس`,dropZone:`أفلت الملفات لإرفاقها`,errorGeneric:`حدث خطأ ما`,errorRateLimited:`طلبات كثيرة جدًا — يرجى المحاولة بعد لحظة.`,errorRetry:`إعادة المحاولة`,expand:`توسيع`,expandSidebar:`توسيع الشريط الجانبي`,exitFullscreen:`إنهاء ملء الشاشة`,fullscreen:`ملء الشاشة`,history:`السجل`,historyBack:`العودة إلى الدردشة`,historyEmpty:`لا توجد دردشات سابقة بعد`,historyContinue:`متابعة الدردشة`,historyLoading:`جارٍ تحميل دردشاتك…`,historyTitle:`سجل الدردشات`,loadMoreConversations:`تحميل المزيد من المحادثات`,language:`اللغة`,launcherOpen:`فتح الدردشة`,launcherLabel:`تحدث معنا`,micStart:`بدء الإدخال الصوتي`,micStop:`إيقاف الإدخال الصوتي`,micUnsupported:`الإدخال الصوتي غير مدعوم في هذا المتصفح`,moreActions:`إجراءات إضافية`,newConversation:`دردشة جديدة`,panelTitle:`الدردشة`,popOut:`فتح في علامة تبويب جديدة`,resizeHandle:`اسحب لتغيير الحجم`,scrollToBottom:`الانتقال إلى الأحدث`,send:`إرسال`,queueMessage:`إضافة الرسالة إلى قائمة الانتظار`,removeQueuedMessage:`إزالة الرسالة من قائمة الانتظار`,compactingContext:`جارٍ تحسين سياق المحادثة…`,soundOff:`كتم الصوت`,soundOn:`تشغيل الصوت`,startNewConversation:`بدء دردشة جديدة`,talkToOperator:`التحدث إلى شخص`,connectingOperator:`جارٍ توصيلك بشخص…`,noOperatorAvailable:`لا يوجد موظفون متاحون الآن — اترك بياناتك وسنتواصل معك.`,chattingWithOperator:`أنت تتحدث مع {operator}`,cancelOperatorRequest:`متابعة المحادثة مع الذكاء الاصطناعي`,stop:`إيقاف`,theme:`المظهر`,themeAuto:`تلقائي`,themeDark:`داكن`,themeLight:`فاتح`,textSize:`حجم النص`,textSizeSmall:`صغير`,textSizeNormal:`عادي`,textSizeLarge:`كبير`,loading:`جارٍ التحميل…`,visualPreparing:`جارٍ إعداد المحتوى المرئي…`,visualError:`تعذر عرض هذا المحتوى المرئي.`,visualPartial:`تعذر عرض بعض أجزاء هذا المحتوى المرئي.`,thinking:`يفكّر…`,thoughts:`الأفكار`,toolResult:`النتيجة`,sources:`المصادر`,feedbackUp:`رد جيد`,feedbackDown:`رد سيئ`,feedbackThanks:`شكرًا على ملاحظاتك`,copy:`نسخ`,copied:`تم النسخ`,tabHome:`الرئيسية`,tabConversations:`الدردشات`,tabHelp:`المساعدة`,tabNews:`الأخبار`,modulesEmpty:`لا شيء هنا بعد`,moduleBack:`رجوع`,contentLoading:`جارٍ التحميل…`,contentHelpful:`هل كان هذا مفيدًا؟`,homeGreeting:`كيف يمكننا مساعدتك؟`,homeGreetingNamed:`مرحبًا {name} 👋`,homeGreetingLead:`كيف يمكننا مساعدتك؟`,homeSearchPlaceholder:`ابحث عن مساعدة`,homeAskPlaceholder:`اطرح سؤالاً…`,homeWhatsNew:`ما الجديد`,homeContentTitle:`مقالات شائعة`,homeStatus:`الحالة`,helpTitle:`المساعدة`,helpSearchPlaceholder:`ابحث عن مساعدة`,helpEmpty:`لا توجد مقالات مساعدة بعد`,helpLoading:`جارٍ تحميل المساعدة…`,helpSearchEmpty:`لا نتائج لـ «{query}»`,helpShowMore:`عرض المزيد`,newsTitle:`الأخبار`,newsEmpty:`لا توجد أخبار بعد`,newsLoading:`جارٍ تحميل الأخبار…`,newsBack:`العودة إلى الأخبار`,newsPublishedAt:`نُشر في {date}`,newsShowMore:`عرض المزيد`,newsUnseen:`منشور جديد`,formSubmit:`إرسال`,formSkip:`لاحقًا`,formSubmitted:`تم`,formSkipped:`لاحقًا`,formFillOut:`تعبئة`,formRequired:`هذا الحقل مطلوب`,formInvalidEmail:`أدخل بريدًا إلكترونيًا صحيحًا`,formInvalidTel:`أدخل رقم هاتف صحيحًا`,formInvalidUrl:`أدخل رابطًا صحيحًا`,formInvalidNumber:`أدخل رقمًا صحيحًا`,formTooShort:`قصير جدًا (الحد الأدنى {min} حرفًا)`,formTooLong:`طويل جدًا (الحد الأقصى {max} حرفًا)`,formNumberTooSmall:`يجب ألا يقل عن {min}`,formNumberTooLarge:`يجب ألا يزيد عن {max}`,formPatternMismatch:`يرجى مطابقة الصيغة المطلوبة`,formChooseAtLeast:`اختر {min} على الأقل`,formChooseAtMost:`اختر {max} على الأكثر`,formOther:`أخرى`,formOtherPlaceholder:`اكتب إجابتك…`,inputRequired:`أسئلة لك`,inputBadge:`أسئلة`,inputAnswered:`تمت الإجابة`,inputSkipped:`تم التخطي`,showOptions:`إظهار الخيارات`,hideOptions:`إخفاء الخيارات`,qtypeText:`إجابتك`,qtypeEmail:`عنوان البريد الإلكتروني`,qtypePhone:`رقم الهاتف`,qtypeNumber:`رقم`,qtypeDate:`تاريخ`,qtypeChooseOne:`اختر واحدًا`,qtypeChooseAny:`اختر أيًا`,qtypeBoolean:`نعم / لا`,inputSubmit:`إرسال الإجابات`,inputSubmitHint:`Enter للإرسال · Shift+Enter = سطر جديد`,inputSkip:`تخطٍّ`,confirmYes:`نعم`,confirmNo:`لا`,approve:`موافقة`,reject:`رفض`,approvalPrompt:`تتطلب {tool} موافقتك للتنفيذ.`,approvalBody:`راجع مُعطيات الأداة أعلاه وقرّر السماح بهذا الإجراء أو رفضه.`,approvalYourResponse:`ردّك: {decision}`,approvalEditHint:`يمكنك تعديل ردّك حتى تستأنف هذه الخطوة.`,approvalSubmitting:`تم إرسال الرد. جارٍ التنفيذ…`,edit:`تعديل`,toolParameters:`المعطيات`,statusAwaiting:`بانتظار الموافقة`,statusResponded:`تم الإرسال`,statusRunning:`قيد التنفيذ`,statusCompleted:`مكتمل`,statusDenied:`مرفوض`,statusError:`خطأ`,statusSuperseded:`تم التخطي`,statusIncomplete:`لم يكتمل`},es:{attach:`Adjuntar archivos`,attachmentMimeRejected:`Tipo de archivo no admitido`,attachmentTooLarge:`El archivo es demasiado grande`,attachmentTooMany:`Se alcanzó el límite de adjuntos`,conversationClosed:`Este chat está cerrado`,conversationLoading:`Cargando chat…`,loadPreviousMessages:`Cargar mensajes anteriores`,close:`Cerrar`,collapse:`Contraer`,collapseSidebar:`Contraer la barra lateral`,composerPlaceholder:`Escribe un mensaje…`,dateLastWeek:`Últimos 7 días`,dateOlder:`Anteriores`,dateToday:`Hoy`,dateYesterday:`Ayer`,dropZone:`Suelta los archivos para adjuntarlos`,errorGeneric:`Algo salió mal`,errorRateLimited:`Demasiadas solicitudes: inténtalo de nuevo en un momento.`,errorRetry:`Reintentar`,expand:`Ampliar`,expandSidebar:`Expandir la barra lateral`,exitFullscreen:`Salir de pantalla completa`,fullscreen:`Pantalla completa`,history:`Historial`,historyBack:`Volver al chat`,historyEmpty:`Aún no tienes chats`,historyContinue:`Continuar el chat`,historyLoading:`Cargando tus chats…`,historyTitle:`Historial de chats`,loadMoreConversations:`Cargar más conversaciones`,language:`Idioma`,launcherOpen:`Abrir el chat`,launcherLabel:`Chatea con nosotros`,micStart:`Iniciar entrada de voz`,micStop:`Detener entrada de voz`,micUnsupported:`Este navegador no admite la entrada de voz`,moreActions:`Más acciones`,newConversation:`Nuevo chat`,panelTitle:`Chat`,popOut:`Abrir en una pestaña nueva`,resizeHandle:`Arrastra para cambiar el tamaño`,scrollToBottom:`Ir a lo más reciente`,send:`Enviar`,queueMessage:`Poner mensaje en cola`,removeQueuedMessage:`Quitar mensaje de la cola`,compactingContext:`Optimizando el contexto de la conversación…`,soundOff:`Sonido desactivado`,soundOn:`Sonido activado`,startNewConversation:`Iniciar un chat nuevo`,talkToOperator:`Hablar con una persona`,connectingOperator:`Conectándote con una persona…`,noOperatorAvailable:`Nadie está disponible ahora — deja tus datos y te contactaremos.`,chattingWithOperator:`Estás chateando con {operator}`,cancelOperatorRequest:`Seguir con la IA`,stop:`Detener`,theme:`Tema`,themeAuto:`Automático`,themeDark:`Oscuro`,themeLight:`Claro`,textSize:`Tamaño del texto`,textSizeSmall:`Pequeño`,textSizeNormal:`Normal`,textSizeLarge:`Grande`,loading:`Cargando…`,visualPreparing:`Preparando visualización…`,visualError:`No se pudo mostrar esta visualización.`,visualPartial:`No se pudieron mostrar algunas partes de esta visualización.`,thinking:`Pensando…`,thoughts:`Razonamiento`,toolResult:`Resultado`,sources:`Fuentes`,feedbackUp:`Buena respuesta`,feedbackDown:`Mala respuesta`,feedbackThanks:`Gracias por tu opinión`,copy:`Copiar`,copied:`Copiado`,tabHome:`Inicio`,tabConversations:`Chats`,tabHelp:`Ayuda`,tabNews:`Novedades`,modulesEmpty:`Aún no hay nada aquí`,moduleBack:`Atrás`,contentLoading:`Cargando…`,contentHelpful:`¿Te resultó útil?`,homeGreeting:`¿Cómo podemos ayudarte?`,homeGreetingNamed:`Hola, {name} 👋`,homeGreetingLead:`¿Cómo podemos ayudarte?`,homeSearchPlaceholder:`Buscar ayuda`,homeAskPlaceholder:`Haz una pregunta…`,homeWhatsNew:`Lo nuevo`,homeContentTitle:`Artículos populares`,homeStatus:`Estado`,helpTitle:`Ayuda`,helpSearchPlaceholder:`Buscar ayuda`,helpEmpty:`Aún no hay artículos de ayuda`,helpLoading:`Cargando la ayuda…`,helpSearchEmpty:`Sin resultados para «{query}»`,helpShowMore:`Mostrar más`,newsTitle:`Novedades`,newsEmpty:`Aún no hay novedades`,newsLoading:`Cargando novedades…`,newsBack:`Volver a novedades`,newsPublishedAt:`Publicado el {date}`,newsShowMore:`Mostrar más`,newsUnseen:`Publicación nueva`,formSubmit:`Enviar`,formSkip:`Quizá más tarde`,formSubmitted:`Completado`,formSkipped:`Quizá más tarde`,formFillOut:`Completar`,formRequired:`Este campo es obligatorio`,formInvalidEmail:`Introduce un correo electrónico válido`,formInvalidTel:`Introduce un número de teléfono válido`,formInvalidUrl:`Introduce una URL válida`,formInvalidNumber:`Introduce un número válido`,formTooShort:`Demasiado corto (mín. {min} caracteres)`,formTooLong:`Demasiado largo (máx. {max} caracteres)`,formNumberTooSmall:`Debe ser al menos {min}`,formNumberTooLarge:`Debe ser como máximo {max}`,formPatternMismatch:`Respeta el formato solicitado`,formChooseAtLeast:`Elige al menos {min}`,formChooseAtMost:`Elige como máximo {max}`,formOther:`Otro`,formOtherPlaceholder:`Escribe tu respuesta…`,inputRequired:`Preguntas para ti`,inputBadge:`Preguntas`,inputAnswered:`Respondido`,inputSkipped:`Omitido`,showOptions:`Mostrar opciones`,hideOptions:`Ocultar opciones`,qtypeText:`Tu respuesta`,qtypeEmail:`Correo electrónico`,qtypePhone:`Número de teléfono`,qtypeNumber:`Número`,qtypeDate:`Fecha`,qtypeChooseOne:`Elige una`,qtypeChooseAny:`Elige varias`,qtypeBoolean:`Sí / No`,inputSubmit:`Enviar respuestas`,inputSubmitHint:`Enter para enviar · Mayús+Enter = nueva línea`,inputSkip:`Omitir`,confirmYes:`Sí`,confirmNo:`No`,approve:`Aprobar`,reject:`Rechazar`,approvalPrompt:`{tool} requiere tu aprobación para ejecutarse.`,approvalBody:`Revisa los parámetros de arriba y decide si permites esta acción.`,approvalYourResponse:`Tu respuesta: {decision}`,approvalEditHint:`Puedes cambiar tu respuesta hasta que este paso continúe.`,approvalSubmitting:`Respuesta enviada. Procesando…`,edit:`Editar`,toolParameters:`Parámetros`,statusAwaiting:`Esperando aprobación`,statusResponded:`Enviado`,statusRunning:`En curso`,statusCompleted:`Completado`,statusDenied:`Denegado`,statusError:`Error`,statusSuperseded:`Omitido`,statusIncomplete:`No completado`},he:{attach:`צירוף קבצים`,attachmentMimeRejected:`סוג הקובץ אינו נתמך`,attachmentTooLarge:`הקובץ גדול מדי`,attachmentTooMany:`הגעת למספר המרבי של קבצים מצורפים`,conversationClosed:`הצ׳אט הזה נסגר`,conversationLoading:`טוען צ׳אט…`,loadPreviousMessages:`טעינת הודעות קודמות`,close:`סגירה`,collapse:`כיווץ`,collapseSidebar:`כיווץ סרגל הצד`,composerPlaceholder:`כתוב הודעה…`,dateLastWeek:`7 הימים האחרונים`,dateOlder:`ישן יותר`,dateToday:`היום`,dateYesterday:`אתמול`,dropZone:`שחרר קבצים כדי לצרף`,errorGeneric:`משהו השתבש`,errorRateLimited:`יותר מדי בקשות — נסה שוב בעוד רגע.`,errorRetry:`נסה שוב`,expand:`הרחבה`,expandSidebar:`הרחבת סרגל הצד`,exitFullscreen:`יציאה ממסך מלא`,fullscreen:`מסך מלא`,history:`היסטוריה`,historyBack:`חזרה לצ׳אט`,historyEmpty:`אין עדיין צ׳אטים קודמים`,historyContinue:`המשך צ׳אט`,historyLoading:`טוען את הצ׳אטים שלך…`,historyTitle:`היסטוריית צ׳אטים`,loadMoreConversations:`טעינת שיחות נוספות`,language:`שפה`,launcherOpen:`פתיחת צ׳אט`,launcherLabel:`דברו איתנו`,micStart:`התחלת קלט קולי`,micStop:`עצירת קלט קולי`,micUnsupported:`קלט קולי אינו נתמך בדפדפן זה`,moreActions:`פעולות נוספות`,newConversation:`צ׳אט חדש`,panelTitle:`צ׳אט`,popOut:`פתיחה בכרטיסייה חדשה`,resizeHandle:`גרור לשינוי הגודל`,scrollToBottom:`מעבר לחדש ביותר`,send:`שליחה`,queueMessage:`הוספת ההודעה לתור`,removeQueuedMessage:`הסרת ההודעה מהתור`,compactingContext:`מבצע אופטימיזציה להקשר השיחה…`,soundOff:`השתקת הצליל`,soundOn:`הפעלת הצליל`,startNewConversation:`התחלת צ׳אט חדש`,talkToOperator:`דברו עם אדם`,connectingOperator:`מחברים אותך לאדם…`,noOperatorAvailable:`אין נציגים זמינים כעת — השאר את הפרטים שלך ונחזור אליך.`,chattingWithOperator:`אתה מצ׳וטט עם {operator}`,cancelOperatorRequest:`המשך לשוחח עם ה-AI`,stop:`עצירה`,theme:`ערכת נושא`,themeAuto:`אוטומטי`,themeDark:`כהה`,themeLight:`בהיר`,textSize:`גודל טקסט`,textSizeSmall:`קטן`,textSizeNormal:`רגיל`,textSizeLarge:`גדול`,loading:`טוען…`,visualPreparing:`מכין תצוגה…`,visualError:`לא ניתן היה להציג תצוגה זו.`,visualPartial:`לא ניתן היה להציג חלקים מתצוגה זו.`,thinking:`חושב…`,thoughts:`מחשבות`,toolResult:`תוצאה`,sources:`מקורות`,feedbackUp:`תשובה טובה`,feedbackDown:`תשובה גרועה`,feedbackThanks:`תודה על המשוב`,copy:`העתק`,copied:`הועתק`,tabHome:`בית`,tabConversations:`צ׳אטים`,tabHelp:`עזרה`,tabNews:`חדשות`,modulesEmpty:`אין כאן עדיין כלום`,moduleBack:`חזרה`,contentLoading:`טוען…`,contentHelpful:`האם זה עזר?`,homeGreeting:`כיצד נוכל לעזור?`,homeGreetingNamed:`שלום {name} 👋`,homeGreetingLead:`כיצד נוכל לעזור?`,homeSearchPlaceholder:`חיפוש עזרה`,homeAskPlaceholder:`שאלו שאלה…`,homeWhatsNew:`מה חדש`,homeContentTitle:`מאמרים פופולריים`,homeStatus:`סטטוס`,helpTitle:`עזרה`,helpSearchPlaceholder:`חיפוש עזרה`,helpEmpty:`אין עדיין מאמרי עזרה`,helpLoading:`טוען עזרה…`,helpSearchEmpty:`אין תוצאות עבור „{query}”`,helpShowMore:`הצגת עוד`,newsTitle:`חדשות`,newsEmpty:`אין עדיין חדשות`,newsLoading:`טוען חדשות…`,newsBack:`חזרה לחדשות`,newsPublishedAt:`פורסם ב-{date}`,newsShowMore:`הצגת עוד`,newsUnseen:`פוסט חדש`,formSubmit:`שליחה`,formSkip:`אחר כך`,formSubmitted:`נשלח`,formSkipped:`דולג`,formFillOut:`מילוי`,formRequired:`שדה חובה`,formInvalidEmail:`הזן כתובת אימייל תקינה`,formInvalidTel:`הזן מספר טלפון תקין`,formInvalidUrl:`הזן כתובת URL תקינה`,formInvalidNumber:`הזן מספר תקין`,formTooShort:`קצר מדי (לפחות {min} תווים)`,formTooLong:`ארוך מדי (לכל היותר {max} תווים)`,formNumberTooSmall:`חייב להיות לפחות {min}`,formNumberTooLarge:`חייב להיות לכל היותר {max}`,formPatternMismatch:`התאם לתבנית הנדרשת`,formChooseAtLeast:`בחר לפחות {min}`,formChooseAtMost:`בחר לכל היותר {max}`,formOther:`אחר`,formOtherPlaceholder:`כתוב את תשובתך…`,inputRequired:`שאלות עבורך`,inputBadge:`שאלות`,inputAnswered:`נענה`,inputSkipped:`דולג`,showOptions:`הצג אפשרויות`,hideOptions:`הסתר אפשרויות`,qtypeText:`התשובה שלך`,qtypeEmail:`כתובת אימייל`,qtypePhone:`מספר טלפון`,qtypeNumber:`מספר`,qtypeDate:`תאריך`,qtypeChooseOne:`בחר אחת`,qtypeChooseAny:`בחר כמה`,qtypeBoolean:`כן / לא`,inputSubmit:`שליחת תשובות`,inputSubmitHint:`Enter לשליחה · Shift+Enter = שורה חדשה`,inputSkip:`דילוג`,confirmYes:`כן`,confirmNo:`לא`,approve:`אישור`,reject:`דחייה`,approvalPrompt:`הכלי {tool} דורש את אישורך כדי לפעול.`,approvalBody:`בדוק את פרמטרי הכלי שלמעלה והחלט אם לאשר פעולה זו.`,approvalYourResponse:`התגובה שלך: {decision}`,approvalEditHint:`ניתן לערוך את תגובתך עד שהשלב הזה יתחדש.`,approvalSubmitting:`התגובה נשלחה. מבצע…`,edit:`עריכה`,toolParameters:`פרמטרים`,statusAwaiting:`ממתין לאישור`,statusResponded:`נשלח`,statusRunning:`פועל`,statusCompleted:`הושלם`,statusDenied:`נדחה`,statusError:`שגיאה`,statusSuperseded:`דולג`,statusIncomplete:`לא הושלם`}};function E(e,t){let n=D(e),r=j(t),i=n===`en`?{}:T[n]??{},a=r?t[n]??{}:t??{},o=r?t.en??{}:{};return{...w,...i,...o,...a}}function D(e){return(e.split(`-`)[0]??`en`).toLowerCase()}const O=/* @__PURE__ */ new Set([`ar`,`he`,`iw`,`fa`,`ur`,`ps`,`sd`,`ug`,`yi`,`dv`,`ckb`,`ks`,`nqo`,`prs`,`syr`]);function k(e){return O.has(D(e))}function A(e,t){return e[t]??t}function j(e){if(!e)return!1;for(let t of Object.values(e))if(t&&typeof t==`object`)return!0;return!1}const M={id:`help-ai`,name:`@helpai/elements`,global:`HelpAI`,tagName:`web-ai-chat`,cssPrefix:`helpai`,defaultBaseUrl:`https://help.ai`,displayName:`Help AI`,domain:`help.ai`,siteUrl:`https://help.ai`},ee=new class{get(e){try{return localStorage.getItem(e)}catch{return null}}set(e,t){try{localStorage.setItem(e,t)}catch{}}remove(e){try{localStorage.removeItem(e)}catch{}}},te={maxBytes:10485760,maxCount:10,accept:`*/*`},N={voice:`local`},ne={list:[],byTrigger:{}},re={enabled:!0,sampleRate:1},P={upload:`/pai/upload-file`,transcribe:`/pai/transcribe-audio`,submitForm:`/pai/submit-form`},ie={variant:`circle`,size:`md`,label:void 0,icon:`chat`,hidden:!1},ae={floating:[`theme`,`textSize`,`history`,`close`,`clear`,`expand`,`fullscreen`,`popOut`,`sound`,`language`],inline:[`theme`,`textSize`,`history`,`close`,`clear`,`fullscreen`,`popOut`,`sound`,`language`],standalone:[`theme`,`textSize`,`history`,`clear`,`sound`,`language`],page:[`theme`,`textSize`,`history`,`clear`,`sound`,`language`],modal:[`theme`,`textSize`,`history`,`close`,`clear`,`fullscreen`,`popOut`,`sound`,`language`],drawer:[`theme`,`textSize`,`history`,`close`,`clear`,`fullscreen`,`popOut`,`sound`,`language`]},oe={enabled:!0,volume:.3,events:void 0},F={enabled:!0,events:void 0},se=[{label:`tabConversations`,layout:`chat`}],ce=[`off`,`error`,`warn`,`info`,`debug`,`trace`],le=M.cssPrefix,I=`${le}.debug`,ue=`__${M.global}_DEBUG__`,de=`${le}-debug`;let fe=2;function pe(){if(typeof window>`u`)return 2;try{let e=new URLSearchParams(window.location.search).get(de);if(e!==null){let t=me(e);if(t>=0)return t}}catch{}try{let e=window.localStorage?.getItem(I);if(e){let t=me(e);if(t>=0)return t}}catch{}return Reflect.get(window,ue)?4:2}function me(e){if(e===!0||e===`1`||e===`true`)return 4;if(e===!1||e===`0`||e===`false`||e===`off`)return 0;if(typeof e==`number`)return Math.max(0,Math.min(5,Math.floor(e)));if(typeof e==`string`){let t=ce.findIndex(t=>t===e);if(t>=0)return t}return-1}fe=pe();function he(e){let t=`[${le}:${e}]`;function n(e,n,r){return(r,i)=>{fe<e||(i===void 0?console[n](t,r):console[n](t,r,i))}}return{error:n(1,`error`,`error`),warn:n(2,`warn`,`warn`),info:n(3,`info`,`info`),debug:n(4,`debug`,`debug`),trace:n(5,`debug`,`trace`),scope:t=>he(`${e}:${t}`)}}const L=he(`core`),ge=L.scope(`context`),_e=/* @__PURE__ */ new Set([`visitorId`,`conversationId`,`jwt`,`token`,`authorization`,`password`]),ve=1024,ye=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function be(e){return Se(e,`userContext`,!0)}function xe(e){return Se(e,`pageContext`,!1)}function Se(e,t,n){if(e==null)return;if(typeof e!=`object`||Array.isArray(e)){ge.warn(`ignored ${t} — expected an object`,{type:Array.isArray(e)?`array`:typeof e});return}let r={},i=0;for(let[n,a]of Object.entries(e)){if(_e.has(n)){ge.warn(`dropped reserved ${t} key "${n}" — managed by the widget, not host-settable`);continue}if(a==null)continue;if(i>=50){ge.warn(`${t} truncated at 50 keys — dropped "${n}"`);continue}let e=Ce(t,n,a);e!==void 0&&(r[n]=e,i++)}return n&&typeof r.email==`string`&&!ye.test(r.email)&&(ge.warn(`dropped malformed context field`,{field:`${t}.email`,reason:`invalid format`}),delete r.email),Object.keys(r).length>0?r:void 0}function Ce(e,t,n){if(typeof n==`boolean`)return n;if(typeof n==`number`){if(!Number.isFinite(n)){ge.warn(`dropped non-finite ${e}.${t}`);return}return n}if(typeof n==`string`){let r=n.trim();return r===``?void 0:r.length>ve?(ge.warn(`truncated ${e}.${t} to ${ve} chars`),r.slice(0,ve)):r}ge.warn(`dropped ${e}.${t} — only string/number/boolean values are allowed`,{type:typeof n})}function we(e){let t=typeof e==`object`&&e?e:{},n=t.presentation??{},r=t.behavior??{},i=t.i18n??{},a=t.feedback??{},o=t.footer??{},s=t.header??{},c={enabled:t.history?.enabled??!0},{themeMode:l,themeOverrides:u}=Te(t.theme),d=n.mode??`floating`,f=Ee(i.defaultLocale),p=i.availableLocales??[i.locale??f],m=De(i.locale??f,p,f),h=(t.baseUrl??M.defaultBaseUrl).replace(/\/$/,``),g=(t.agentApiBaseUrl??`${h}/api/agent`).replace(/\/$/,``),_=(t.dataApiBaseUrl??`${h}/api/data`).replace(/\/$/,``);return{widgetId:t.widgetId??`default`,publicKey:t.publicKey,aiAgentDeploymentId:t.aiAgentDeploymentId,baseUrl:h,agentApiBaseUrl:g,dataApiBaseUrl:_,userContext:be(t.userContext),pageContext:xe(t.pageContext),position:n.position??`bottom-right`,themeMode:l,textSize:`normal`,themeOverrides:u,mode:d,iframe:n.iframe??!1,responseMode:r.responseMode??`streaming`,showReasoning:r.showReasoning??!1,showToolCalls:r.showToolCalls??!1,showSources:r.showSources??!1,enableMessageFeedback:!(r.disableMessageFeedback??!1),autoSendSuggestions:r.autoSendSuggestions??!1,popOutUrl:r.popOutUrl,features:{voice:t.features?.voice??N.voice,fileUpload:!(t.features?.disableFileUpload??!1),humanInLoop:!(t.features?.disableHumanInLoop??!1),operatorRequest:t.features?.enableOperatorRequest===!0},forms:Fe(t.forms,m),endpoints:{upload:t.endpoints?.upload??P.upload,transcribe:t.endpoints?.transcribe??P.transcribe,submitForm:t.endpoints?.submitForm??P.submitForm},attachments:{accept:t.composer?.attachments?.accept??te.accept,maxBytes:t.composer?.attachments?.maxBytes??te.maxBytes,maxCount:t.composer?.attachments?.maxCount??te.maxCount},locale:m,defaultLocale:f,availableLocales:p,startMinimized:r.startMinimized??!0,actions:Oe(d,s.actions,c.enabled),size:n.size??{},launcher:Le(t.launcher),sound:ke(a.sound),haptics:Ae(a.haptics),strings:E(m,i.strings),stringsOverride:i.strings,composerDisclaimer:o.composerDisclaimer??``,poweredBy:Me(o.poweredBy),composer:Ne(t.composer),modules:Pe(t.modules,c.enabled),tracking:je(t.tracking,_),history:c,storage:t.storage??ee,userToken:t.userToken,tools:t.tools,onMessage:t.onMessage,onOpen:t.onOpen,onClose:t.onClose,onError:t.onError}}function Te(e){if(typeof e==`string`)return{themeMode:e,themeOverrides:{}};if(!e||typeof e!=`object`)return{themeMode:`auto`,themeOverrides:{}};let{mode:t,...n}=e;return{themeMode:t??`auto`,themeOverrides:n}}function Ee(e){return e&&e!==`auto`?e:globalThis.navigator?.language||`en`}function De(e,t,n){return t.length<=1||t.includes(e)?e:t.includes(n)?n:t[0]??e}function Oe(e,t,n){let r=t??ae[e];return n?r:r.filter(e=>e!==`history`)}function ke(e){return{enabled:e?.enabled??oe.enabled,volume:e?.volume??oe.volume,events:e?.events}}function Ae(e){return{enabled:e?.enabled??F.enabled,events:e?.events}}function je(e,t){let n=e?.sampleRate??re.sampleRate;return{enabled:e?.enabled??re.enabled,endpoint:e?.endpoint??`${t}/pai/elements-px.gif`,sampleRate:Math.min(1,Math.max(0,Number.isFinite(n)?n:1)),token:e?.token}}function Me(e){let t={text:`Powered by ${M.displayName}`,href:M.siteUrl,...e};return t.text||t.logoUrl?t:null}function Ne(e){let t=e?.sendButton;return{sendButton:{shape:t?.shape??`circle`,icon:t?.icon??`arrowUp`,variant:t?.variant??`filled`}}}function Pe(e,t){let n=e??se,r=/* @__PURE__ */ new Set,i=[];for(let e of n.slice(0,4)){if(!e?.label||!e?.layout)continue;let n=e.contentCollectionIds?.filter(Boolean),a=e.id??n?.[0]??e.layout;for(;r.has(a);)a=`${a}-${i.length}`;r.add(a);let o={id:a,label:e.label,layout:e.layout};n?.length&&(o.contentCollectionIds=n),e.layout===`home`&&(o.brandName=e.brandName,o.greetingText=e.greetingText,o.showGreeting=!(e.hideGreeting??!1),o.showSearchBar=!(e.hideSearchBar??!1),o.showRecentConversations=t&&!(e.hideRecentConversations??!1),e.userAvatars?.length&&(o.userAvatars=e.userAvatars),e.status&&(o.status=e.status),o.contentBlockTitle=e.contentBlockTitle),i.push(o)}return{list:i,byId:Object.fromEntries(i.map(e=>[e.id,e]))}}function Fe(e,t){if(!e?.length)return ne;let n=[],r=/* @__PURE__ */ new Set;for(let i of e){if(!i?.id||r.has(i.id))continue;let e=C(i,t),a=(e.fields??[]).filter(e=>!!(e?.name&&e.label&&e.type)),o=(Array.isArray(e.on)?e.on:[e.on]).map(Ie).filter(e=>e!==null);a.length!==0&&o.length!==0&&(r.add(e.id),n.push({id:e.id,triggers:o,when:e.when,fields:a,title:e.title,description:e.description,submitLabel:e.submitLabel,skippable:e.skippable??!1,frequency:e.frequency??`once`,mirrorToContext:e.mirrorToContext??!0,reopenable:e.reopenable??!0,reviewable:e.reviewable??!0}))}let i={};for(let e of n){var a;for(let t of e.triggers)(i[a=t.kind]??(i[a]=[])).push(e)}return{list:n,byTrigger:i}}function Ie(e){if(typeof e!=`string`)return null;if(e===`pre-chat`||e===`conversation-closed`||e===`panel-close`||e===`manual`)return{kind:e};let[t,n]=e.split(`:`,2);if(t===`after-messages`){let e=Number(n);return Number.isFinite(e)&&e>0?{kind:`after-messages`,param:e}:null}if(t===`idle`){let e=Number(n);return Number.isFinite(e)&&e>0?{kind:`idle`,param:e}:null}return t===`page-area`&&n?{kind:`page-area`,param:n}:null}function Le(e){let t=e?.callout?.text?{shape:`pill`,position:`auto`,delayMs:1200,autoDismissMs:0,animated:!0,persistent:!0,...e.callout}:null;return{variant:e?.variant??ie.variant,size:e?.size??ie.size,label:e?.label??ie.label,icon:e?.icon??ie.icon,hidden:e?.hidden??ie.hidden,callout:t}}function Re(e,t,n,r){let i=De(t,e.availableLocales,e.defaultLocale);if(i===e.locale&&n===e.themeMode&&r===e.textSize)return e;let a={...e};return i!==e.locale&&(a.locale=i,a.strings=E(i,e.stringsOverride)),n!==e.themeMode&&(a.themeMode=n),r!==e.textSize&&(a.textSize=r),a}const ze=[`presentation`,`behavior`,`theme`,`launcher`,`header`,`composer`,`feedback`,`i18n`,`footer`,`features`,`tracking`,`endpoints`,`history`];function Be(e,t){if(!t)return e;let n={...e};for(let r of ze){let i=t[r];if(i===void 0)continue;let a=e[r];r===`theme`?a===void 0?n[r]=i:typeof a==`string`&&typeof i==`object`&&i&&(n[r]={...i,mode:a}):r!==`i18n`&&(n[r]=Ve(i,a))}t.modules!==void 0&&e.modules===void 0&&(n.modules=t.modules),t.dataApiBaseUrl!==void 0&&e.dataApiBaseUrl===void 0&&(n.dataApiBaseUrl=t.dataApiBaseUrl);let r=e.i18n,i=t.i18n;if(r||i){let e=Ve(i??{},r);i?.availableLocales!==void 0&&(e.availableLocales=i.availableLocales),i?.defaultLocale!==void 0&&(e.defaultLocale=i.defaultLocale);let t=r?.strings,a=i?.strings;(t||a)&&(e.strings=He(a,t)),n.i18n=e}return n}function Ve(e,t){if(!t)return e;let n={...e};for(let[e,r]of Object.entries(t))r!==void 0&&(n[e]=r);return n}function He(e,t){if(!e)return t;if(!t)return e;let n=j(e),r=j(t);if(!n&&!r)return{...e,...t};let i={},a=n?e:{en:e},o=r?t:{en:t};for(let[e,t]of Object.entries(a))i[e]={...t};for(let[e,t]of Object.entries(o))i[e]={...i[e],...t};return i}const Ue=[`clear`,`expand`,`fullscreen`,`popOut`,`sound`,`history`,`language`,`theme`,`textSize`,`close`];function We(e){return e!==`false`}function Ge(e){return e.split(`,`).map(e=>e.trim()).filter(Boolean)}const Ke=[[`public-key`,`publicKey`],[`ai-agent-deployment-id`,`aiAgentDeploymentId`],[`base-url`,`baseUrl`],[`agent-api-base-url`,`agentApiBaseUrl`],[`data-api-base-url`,`dataApiBaseUrl`],[`theme`,`theme`,e=>e]],qe=[[`mode`,`mode`,e=>e],[`position`,`position`,e=>e],[`iframe`,`iframe`,We]],Je=[[`width`,`width`],[`height`,`height`]],Ye=[[`response-mode`,`responseMode`,e=>e],[`start-minimized`,`startMinimized`,We],[`show-reasoning`,`showReasoning`,We],[`show-tool-calls`,`showToolCalls`,We],[`show-sources`,`showSources`,We],[`disable-message-feedback`,`disableMessageFeedback`,We],[`auto-send-suggestions`,`autoSendSuggestions`,We],[`pop-out-url`,`popOutUrl`]],Xe=[[`locale`,`locale`]],Ze=new Set(Ue);function Qe(e){return Ge(e).filter(e=>Ze.has(e))}const $e=[[`launcher-variant`,`variant`,e=>e],[`launcher-size`,`size`,e=>e],[`launcher-icon`,`icon`],[`launcher-hidden`,`hidden`,We]],R=[[`features-disable-file-upload`,`disableFileUpload`,We],[`features-voice`,`voice`,e=>e]],et=[[`endpoint-upload`,`upload`],[`endpoint-transcribe`,`transcribe`]],tt=[[`user-id`,`id`],[`user-email`,`email`],[`user-name`,`name`]],nt=[[`page-area`,`area`],[`page-url`,`url`],[`page-path`,`path`],[`page-title`,`title`]],rt=[`launcher-label`,`callout-text`,`callout-delay`,`actions`,`user-context`,`page-context`],it=[Ke,qe,Je,Ye,Xe,$e,R,et,tt,nt],at=/* @__PURE__ */ new Set([`iframe`,`start-minimized`]),ot=[...it.flatMap(e=>e.map(([e])=>e).filter(e=>!at.has(e))),...rt];function st(e){let t={};function n(t){let n=e(t);return n===null||n===``?void 0:n}for(let[e,r,i]of Ke){let a=n(e);a!==void 0&&(t[r]=i?i(a):a)}let r=ct(n,qe),i=ct(n,Je);(r||i)&&(t.presentation={...r,...i?{size:i}:{}});let a=ct(n,Ye);a&&(t.behavior=a);let o=ct(n,Xe);o&&(t.i18n=o);let s=ut(e,n);s&&(t.launcher=s);let c=ct(n,R);c&&(t.features=c);let l=ct(n,et);l&&(t.endpoints=l);let u=lt(n,tt,`user-context`);u&&(t.userContext=u);let d=lt(n,nt,`page-context`);d&&(t.pageContext=d);let f=n(`actions`);return f!==void 0&&(t.header={actions:Qe(f)}),t}function ct(e,t){let n={};for(let[r,i,a]of t){let t=e(r);t!==void 0&&(n[i]=a?a(t):t)}return Object.keys(n).length>0?n:null}function lt(e,t,n){let r={};for(let[n,i]of t){let t=e(n);t!==void 0&&(r[i]=t)}let i={},a=e(n);if(a)try{let e=JSON.parse(a);e&&typeof e==`object`&&!Array.isArray(e)&&(i=e)}catch{}let o={...i,...r};return Object.keys(o).length>0?o:null}function ut(e,t){let n=ct(t,$e)??{},r=e(`launcher-label`);r!==null&&(n.label=r);let i=t(`callout-text`);if(i){let e=Number.parseInt(t(`callout-delay`)??``,10);n.callout={text:i,...Number.isFinite(e)?{delayMs:e}:{}}}return Object.keys(n).length>0?n:null}const dt=L.scope(`track`);function ft(e,t){let n=typeof e==`string`?e.trim():``;if(!n||n.length>64){dt.warn(`track: ignored an event without a name of 1–64 characters`,{name:e});return}let r=Object.fromEntries(Object.entries(typeof t==`object`&&t?t:{}).filter(e=>typeof e[1]==`string`||typeof e[1]==`boolean`||Number.isFinite(e[1])));return JSON.stringify(r).length>256?(dt.warn(`track: sent the event without its data, which is over 256 characters`,{name:n}),{name:n}):Object.keys(r).length>0?{name:n,data:r}:{name:n}}function pt(e){let t=[];return e.on(`hostEvent`,e=>{t.push({...e,at:Date.now()}),t.length>10&&t.shift()}),t}function mt(){let e=Date.now(),t=/* @__PURE__ */ new Uint8Array(16);t[0]=Math.floor(e/2**40)&255,t[1]=Math.floor(e/2**32)&255,t[2]=e>>>24&255,t[3]=e>>>16&255,t[4]=e>>>8&255,t[5]=e&255,ht(t.subarray(6)),t[6]=t[6]&15|112,t[8]=t[8]&63|128;let n=Array.from(t,e=>e.toString(16).padStart(2,`0`)).join(``);return`${n.slice(0,8)}-${n.slice(8,12)}-${n.slice(12,16)}-${n.slice(16,20)}-${n.slice(20)}`}function ht(e){if(typeof crypto<`u`&&typeof crypto.getRandomValues==`function`)crypto.getRandomValues(e);else for(let t=0;t<e.length;t++)e[t]=Math.floor(Math.random()*256)}const gt=L.scope(`persistence`);function _t(e,t=ee,n){let r=n?`${e}.${n}`:e,i=`${M.cssPrefix}.storageVersion`,a=t.get(i)??void 0,o=a?`.v${a}`:``,s=`${M.cssPrefix}.${r}${o}`,c=`${M.cssPrefix}${o}.visitorId`,l=`${s}.conversationId`,u=`${s}.userPrefs`,d=`${s}.panelOpen`,f=`${s}.panelSize`,p=`${s}.calloutDismissed`,m=`${s}.sidebarCollapsed`,h=`${s}.activeModule`,g=`${s}.seenNewsId`,_=`${s}.historyCount`,v=`${s}.formsDone`,y={getVisitorId(){let e=t.get(c);if(e)return e;let n=mt();return t.set(c,n),n},loadConversationId(){return t.get(l)??void 0},saveConversationId(e){gt.trace(`saveConversationId`,{id:e,scope:r}),e?t.set(l,e):t.remove(l)},loadDraft(e){return t.get(`${s}.draft.${e}`)??``},saveDraft(e,n){let r=`${s}.draft.${e}`;n?t.set(r,n):t.remove(r)},loadMessageQueue(e){let n=t.get(`${s}.messageQueue.${e}`);if(!n)return[];try{let e=JSON.parse(n);return!Array.isArray(e)||!e.every(yt)?[]:e}catch(e){return gt.warn(`loadMessageQueue parse failed`,{error:e}),[]}},saveMessageQueue(e,n){let r=`${s}.messageQueue.${e}`;if(n.length===0)t.remove(r);else try{t.set(r,JSON.stringify(n))}catch(e){gt.warn(`saveMessageQueue serialise failed`,{error:e})}},loadUserPrefs(){let e=t.get(u);if(!e)return{};try{return bt(JSON.parse(e))}catch(e){return gt.warn(`loadUserPrefs parse failed`,{error:e}),{}}},saveUserPrefs(e){try{t.set(u,JSON.stringify(e))}catch(e){gt.warn(`saveUserPrefs serialise failed`,{error:e})}},patchUserPrefs(e){let t=y.loadUserPrefs();y.saveUserPrefs({...t,...e})},loadPanelOpen(){let e=t.get(d);return e===`1`||e!==`0`&&null},savePanelOpen(e){t.set(d,e?`1`:`0`)},loadPanelSize(){let e=t.get(f);return e===`normal`||e===`expanded`||e===`fullscreen`?e:null},savePanelSize(e){t.set(f,e)},loadCalloutDismissed(e){if(!e)return!1;let n=t.get(p);return!!n&&n===e},saveCalloutDismissed(e){e?t.set(p,e):t.remove(p)},loadSidebarCollapsed(){let e=t.get(m);return e===`1`||e!==`0`&&null},saveSidebarCollapsed(e){t.set(m,e?`1`:`0`)},loadActiveModule(){return t.get(h)||null},saveActiveModule(e){t.set(h,e)},loadSeenNewsId(){return t.get(g)||null},saveSeenNewsId(e){t.set(g,e)},loadHistoryCount(){let e=t.get(_);if(!e)return null;let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=0?n:null},saveHistoryCount(e){t.set(_,String(e))},loadFormsDone(){let e=t.get(v);if(!e)return{};try{let t=JSON.parse(e);return vt(t)?Object.fromEntries(Object.entries(t).filter(e=>typeof e[1]==`number`)):{}}catch(e){return gt.warn(`loadFormsDone parse failed`,{error:e}),{}}},saveFormDone(e){try{let n=y.loadFormsDone();n[e]=Date.now(),t.set(v,JSON.stringify(n))}catch(e){gt.warn(`saveFormDone serialise failed`,{error:e})}},rememberStorageVersion(e){e&&e!==t.get(i)&&(gt.debug(`rememberStorageVersion (force-reset on next load)`,{version:e}),t.set(i,e))},clearConversation(){t.remove(l)},reset(){let e=t.get(l);e&&(t.remove(`${s}.draft.${e}`),t.remove(`${s}.messageQueue.${e}`));for(let e of[c,l,u,d,f,p,m,h,g,_,v])t.remove(e);gt.info(`reset: forgot the visitor`,{scope:r})}};return y}function vt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function yt(e){return vt(e)&&typeof e.id==`string`&&e.id.length>0&&typeof e.text==`string`}function bt(e){if(!vt(e))return{};let t={};return typeof e.locale==`string`&&(t.locale=e.locale),typeof e.soundMuted==`boolean`&&(t.soundMuted=e.soundMuted),(e.themeMode===`auto`||e.themeMode===`light`||e.themeMode===`dark`)&&(t.themeMode=e.themeMode),(e.textSize===`small`||e.textSize===`normal`||e.textSize===`large`)&&(t.textSize=e.textSize),vt(e.widgetSize)&&typeof e.widgetSize.width==`number`&&typeof e.widgetSize.height==`number`&&(t.widgetSize={width:e.widgetSize.width,height:e.widgetSize.height}),t}const xt=`1.12.3`,St={open:()=>void 0,close:()=>void 0,expand:e=>({on:e}),fullscreen:e=>({on:e}),send:e=>({attachments:e.attachmentCount}),message:e=>({role:e.role}),stop:()=>void 0,clear:()=>void 0,suggestion:()=>void 0,toggleHistory:e=>({view:e.view}),handshake:()=>void 0,formSubmit:e=>({formId:e.formId,skipped:e.skipped}),toolResult:()=>void 0,toolDecision:e=>({approved:e.approved}),hostEvent:e=>({name:e.name,data:e.data&&JSON.stringify(e.data)}),messageFeedback:e=>({value:e.value??`none`}),contentView:e=>({section:e.section,count:e.count}),contentOpen:e=>({contentId:e.contentId,contentCollectionId:e.contentCollectionId}),contentSearch:e=>({qlen:e.queryLength,hits:e.hitCount}),contentRead:e=>({contentId:e.contentId}),contentLinkClick:e=>({contentId:e.contentId}),attach:e=>({count:e.count,bytes:e.totalBytes}),voiceStart:()=>void 0,voiceStop:e=>({ms:e.durationMs}),voiceCancel:()=>void 0,localeChange:e=>({locale:e}),themeChange:e=>({theme:e}),textSizeChange:e=>({size:e}),soundToggle:e=>({muted:e.muted}),sidebarToggle:e=>({collapsed:e.collapsed}),calloutDismiss:()=>void 0,error:()=>void 0};function Ct(){let e=navigator;return e.globalPrivacyControl===!0||e.doNotTrack===`1`}function wt(){return location.origin+location.pathname}function Tt(){try{return document.referrer?new URL(document.referrer).origin:``}catch{return``}}function Et(e,t){let n=Math.random(),r=0,i=0,a=/* @__PURE__ */ new Set;function o(e,o){let{tracking:s,publicKey:c,aiAgentDeploymentId:l,mode:u,themeMode:d}=t.getOptions();if(!s.enabled||Ct()||n>=s.sampleRate)return;let f=performance.now();if(f-r>6e4&&(r=f,i=0),++i>60)return;let p=new URLSearchParams;p.set(`v`,`1`),p.set(`_ev`,xt),p.set(`e`,e),s.token&&p.set(`tk`,s.token),c&&p.set(`pk`,c),l&&p.set(`dep`,l),p.set(`vid`,t.getVisitorId());let m=t.getConversationId();m&&p.set(`cid`,m),p.set(`url`,wt());let h=Tt();h&&p.set(`ref`,h),p.set(`sw`,String(screen.width)),p.set(`sh`,String(screen.height)),p.set(`vw`,String(innerWidth)),p.set(`vh`,String(innerHeight)),p.set(`dpr`,String(devicePixelRatio)),p.set(`lang`,navigator.language);try{p.set(`tz`,Intl.DateTimeFormat().resolvedOptions().timeZone)}catch{}if(p.set(`m`,u),p.set(`th`,d),o)for(let[e,t]of Object.entries(o))t!==void 0&&p.set(e,String(t));p.set(`ts`,String(Date.now()));let g=`${s.endpoint}?${p}`;if(g.length>2e3)return;let _=new Image(1,1);a.add(_);function v(){return a.delete(_)}_.addEventListener(`load`,v,{once:!0}),_.addEventListener(`error`,v,{once:!0}),_.src=g}let s=[];function c(e,t){if(s&&e!==`handshake`){s.length<60&&s.push([e,t]);return}let n=s??[];s=void 0;for(let[e,t]of n)o(e,t);o(e,t)}let l=Object.keys(St).map(t=>e.on(t,e=>c(t,St[t]?.(e))));return()=>{for(let e of l)e();a.clear()}}const Dt=`:host{--__P__-accent-user: __BRAND_ACCENT__;--__P__-accent: var(--__P__-accent-user);--__P__-accent-text-user: __BRAND_ACCENT_TEXT__;--__P__-accent-text: var(--__P__-accent-text-user);--__P__-accent-fg: var(--__P__-accent);--__P__-radius: __BRAND_RADIUS__;--__P__-radius-sm: 8px;--__P__-radius-md: 10px;--__P__-radius-lg: 16px;--__P__-font: __BRAND_FONT__;--__P__-font-display: var(--__P__-font);--__P__-font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--__P__-bg: oklch(1 0 0);--__P__-bg-elevated: oklch(.9789 .0029 278.3);--__P__-surface: var(--__P__-bg-elevated);--__P__-muted: var(--__P__-fg-muted);--__P__-hover: oklch(.1686 .011 278.3 / .06);--__P__-fg: oklch(.1686 .011 278.3);--__P__-fg-muted: oklch(.4932 .0301 278.3);--__P__-border: oklch(.9312 .0084 278.3);--__P__-border-strong: oklch(.8757 .0131 278.3);--__P__-bubble-user: var(--__P__-accent);--__P__-bubble-user-text: var(--__P__-accent-text);--__P__-bubble-assistant: oklch(.9638 .0058 278.3);--__P__-bubble-assistant-text: var(--__P__-fg);--__P__-on-accent: var(--__P__-accent-text);--__P__-success: oklch(.6456 .1654 151.53);--__P__-warning: oklch(.7135 .1494 74.05);--__P__-danger: oklch(.5966 .1818 24.51);--__P__-danger-text: oklch(.5054 .1905 27.52);--__P__-danger-bg: oklch(.5966 .1818 24.51 / .1);--__P__-neutral: oklch(.7137 .0192 278.3);--__P__-pill-l-min: .3;--__P__-pill-l-max: .46;--__P__-focus: var(--__P__-accent);--__P__-shadow-panel: 0 8px 24px -8px rgba(13, 15, 20, .18), 0 24px 64px -24px rgba(13, 15, 20, .24);--__P__-shadow-card: 0 1px 2px rgba(13, 15, 20, .06), 0 4px 12px -6px rgba(13, 15, 20, .12);--__P__-backdrop: oklch(.1686 .011 278.3 / .55);--__P__-shadow-fab: 0 6px 16px -4px color-mix(in oklch, var(--__P__-accent) 45%, transparent), 0 12px 32px -12px rgba(13, 15, 20, .25);--__P__-z-fab: 2147483600;--__P__-z-panel: 2147483601;--__P__-panel-w: 380px;--__P__-panel-h: 600px;--__P__-fab-size: 56px;--__P__-conversation-max: 768px;--__P__-space-1: 4px;--__P__-space-2: 8px;--__P__-space-3: 12px;--__P__-space-4: 16px;--__P__-space-5: 20px;--__P__-space-6: 24px;--__P__-space-8: 32px;--__P__-text-scale: 1;--__P__-text-xs: calc(12px * var(--__P__-text-scale));--__P__-text-sm: calc(13px * var(--__P__-text-scale));--__P__-text-base: calc(15px * var(--__P__-text-scale));--__P__-text-md: calc(16px * var(--__P__-text-scale));--__P__-text-lg: calc(18px * var(--__P__-text-scale));--__P__-text-xl: calc(22px * var(--__P__-text-scale));--__P__-text-2xl: calc(30px * var(--__P__-text-scale))}:host([data-mode="modal"]),:host([data-mode="drawer"]){--__P__-conversation-max: 100%}:host([data-text-size="small"]){--__P__-text-scale: .9}:host([data-text-size="large"]){--__P__-text-scale: 1.15}:host{--__P__-ease: cubic-bezier(.2, .7, .2, 1);--__P__-ease-out: cubic-bezier(.2, .7, .2, 1);--__P__-ease-in: cubic-bezier(.4, 0, 1, 1);--__P__-ease-in-out: cubic-bezier(.65, 0, .35, 1);--__P__-dur-quick: .12s;--__P__-dur-base: .22s;--__P__-dur-slow: .32s;font-family:var(--__P__-font);color:var(--__P__-fg);color-scheme:light;--__P__-color-scheme: light}:host([data-theme="dark"]){--__P__-bg: oklch(.1783 .0128 278.3);--__P__-bg-elevated: oklch(.2232 .0182 278.3);--__P__-fg: oklch(.9368 .01 278.3);--__P__-fg-muted: oklch(.7048 .0296 278.3);--__P__-border: oklch(.2752 .0266 278.3);--__P__-border-strong: oklch(.335 .0291 278.3);--__P__-hover: oklch(.9368 .01 278.3 / .08);--__P__-bubble-assistant: oklch(.2474 .0311 278.3);--__P__-bubble-assistant-text: var(--__P__-fg);--__P__-danger-text: oklch(.8077 .1035 19.57);--__P__-danger-bg: oklch(.5966 .1818 24.51 / .18);--__P__-shadow-panel: 0 8px 24px -8px rgba(0, 0, 0, .6), 0 24px 64px -24px rgba(0, 0, 0, .7);--__P__-shadow-card: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 12px -6px rgba(0, 0, 0, .5);--__P__-backdrop: rgba(0, 0, 0, .65);--__P__-pill-l-min: .75;--__P__-pill-l-max: .92;color-scheme:dark;--__P__-color-scheme: dark}@media(prefers-color-scheme:dark){:host([data-theme="auto"]){--__P__-bg: oklch(.1783 .0128 278.3);--__P__-bg-elevated: oklch(.2232 .0182 278.3);--__P__-fg: oklch(.9368 .01 278.3);--__P__-fg-muted: oklch(.7048 .0296 278.3);--__P__-border: oklch(.2752 .0266 278.3);--__P__-border-strong: oklch(.335 .0291 278.3);--__P__-hover: oklch(.9368 .01 278.3 / .08);--__P__-bubble-assistant: oklch(.2474 .0311 278.3);--__P__-bubble-assistant-text: var(--__P__-fg);--__P__-pill-l-min: .75;--__P__-pill-l-max: .92;--__P__-shadow-panel: 0 8px 24px -8px rgba(0, 0, 0, .6), 0 24px 64px -24px rgba(0, 0, 0, .7);color-scheme:dark;--__P__-color-scheme: dark}}@supports (color: oklch(from red l c h)){:host{--__P__-accent: oklch(from var(--__P__-accent-user) clamp(.3, l, .62) c h);--__P__-accent-text: oklch(from var(--__P__-accent) clamp(0, (l / .623 - 1) * -infinity, 1) 0 h);--__P__-accent-fg: oklch(from var(--__P__-accent-user) clamp(.3, l, .46) c h)}:host([data-theme="dark"]){--__P__-accent: oklch(from var(--__P__-accent-user) clamp(.65, l, .85) c h);--__P__-accent-fg: var(--__P__-accent)}@media(prefers-color-scheme:dark){:host([data-theme="auto"]){--__P__-accent: oklch(from var(--__P__-accent-user) clamp(.65, l, .85) c h);--__P__-accent-fg: var(--__P__-accent)}}}@media(prefers-reduced-motion:reduce){:host{--__P__-dur-quick: 1ms;--__P__-dur-base: 1ms;--__P__-dur-slow: 1ms}}
|
|
1
|
+
import{Component as e,h as t,render as n}from"preact";import{batch as r,computed as i,effect as a,signal as o,useComputed as s,useSignal as c}from"@preact/signals";import{useCallback as l,useEffect as u,useLayoutEffect as d,useMemo as f,useRef as p,useState as m}from"preact/hooks";import{Fragment as h,jsx as g,jsxs as _}from"preact/jsx-runtime";import*as v from"streaming-markdown";import{memo as y}from"preact/compat";function b(e,t){if(e?.length&&t)return e.find(e=>e.locale===t)}function x(e,t){let{translations:n,defaultLocale:r,...i}=e,a=b(n,t);return a?{...i,title:a.title??i.title,description:a.description??i.description,content:a.content??i.content}:i}function S(e,t){let{translations:n,defaultLocale:r,...i}=e,a=b(n,t);return a?{...i,title:a.title??i.title,description:a.description??i.description}:i}function C(e,t){let{translations:n,defaultLocale:r,...i}=e,a=b(n,t);if(!a)return i;let o=new Map((a.fields??[]).map(e=>[e.name,e])),s=i.fields.map(e=>{let t=o.get(e.name);if(!t)return e;let n=new Map((t.options??[]).map(e=>[e.value,e]));return{...e,label:t.label??e.label,placeholder:t.placeholder??e.placeholder,validationHint:t.validationHint??e.validationHint,options:e.options?.map(e=>{let t=n.get(e.value);return t?{...e,label:t.label??e.label,description:t.description??e.description}:e})}});return{...i,title:a.title??i.title,description:a.description??i.description,submitLabel:a.submitLabel??i.submitLabel,fields:s}}const w={attach:`Attach files`,attachmentMimeRejected:`File type not supported`,attachmentTooLarge:`File is too large`,attachmentTooMany:`Attachment limit reached`,conversationClosed:`This chat is closed`,conversationLoading:`Loading chat…`,loadPreviousMessages:`Load previous messages`,close:`Close`,collapse:`Collapse`,collapseSidebar:`Collapse sidebar`,composerPlaceholder:`Type a message…`,dateLastWeek:`Last 7 days`,dateOlder:`Older`,dateToday:`Today`,dateYesterday:`Yesterday`,dropZone:`Drop files to attach`,errorGeneric:`Something went wrong`,errorRateLimited:`Too many requests — please try again in a moment.`,errorRetry:`Retry`,expand:`Expand`,expandSidebar:`Expand sidebar`,exitFullscreen:`Exit fullscreen`,fullscreen:`Fullscreen`,history:`History`,historyBack:`Back to chat`,historyEmpty:`No previous chats yet`,historyLoading:`Loading your chats…`,historyContinue:`Continue the chat`,historyTitle:`Chat history`,loadMoreConversations:`Load more conversations`,language:`Language`,launcherOpen:`Open chat`,launcherLabel:`Chat with us`,micStart:`Start voice input`,micStop:`Stop voice input`,micUnsupported:`Voice input is not supported in this browser`,moreActions:`More actions`,newConversation:`New chat`,panelTitle:`Chat`,popOut:`Open in new tab`,resizeHandle:`Drag to resize`,scrollToBottom:`Scroll to latest`,send:`Send`,queueMessage:`Queue message`,removeQueuedMessage:`Remove queued message`,compactingContext:`Optimizing conversation context…`,soundOff:`Sound off`,soundOn:`Sound on`,startNewConversation:`Start a new chat`,talkToOperator:`Talk to a person`,connectingOperator:`Connecting you to a person…`,noOperatorAvailable:`No one's available right now — leave your details and we'll follow up.`,chattingWithOperator:`You're chatting with {operator}`,cancelOperatorRequest:`Keep chatting with the AI`,stop:`Stop`,theme:`Theme`,themeAuto:`Auto`,themeDark:`Dark`,themeLight:`Light`,textSize:`Text size`,textSizeSmall:`Small`,textSizeNormal:`Normal`,textSizeLarge:`Large`,loading:`Loading…`,visualPreparing:`Preparing visual…`,visualError:`This visual could not be displayed.`,visualPartial:`Some parts of this visual could not be displayed.`,thinking:`Thinking…`,thoughts:`Thoughts`,toolResult:`Result`,sources:`Sources`,feedbackUp:`Good response`,feedbackDown:`Bad response`,feedbackThanks:`Thanks for your feedback`,copy:`Copy`,copied:`Copied`,tabHome:`Home`,tabConversations:`Chats`,tabHelp:`Help`,tabNews:`News`,modulesEmpty:`Nothing here yet`,moduleBack:`Back`,contentLoading:`Loading…`,contentHelpful:`Was this helpful?`,homeGreeting:`How can we help?`,homeGreetingNamed:`Hi {name} 👋`,homeGreetingLead:`How can we help?`,homeSearchPlaceholder:`Search for help`,homeAskPlaceholder:`Ask a question…`,homeWhatsNew:`What's new`,homeContentTitle:`Popular articles`,homeStatus:`Status`,helpTitle:`Help`,helpSearchPlaceholder:`Search for help`,helpEmpty:`No help articles yet`,helpLoading:`Loading help…`,helpSearchEmpty:`No results for “{query}”`,helpShowMore:`Show more`,newsTitle:`News`,newsEmpty:`No news yet`,newsLoading:`Loading news…`,newsBack:`Back to news`,newsPublishedAt:`Published {date}`,newsShowMore:`Show more`,newsUnseen:`New post`,formSubmit:`Submit`,formSkip:`Maybe later`,formSubmitted:`Completed`,formSkipped:`Maybe later`,formFillOut:`Fill out`,formRequired:`This field is required`,formInvalidEmail:`Enter a valid email address`,formInvalidTel:`Enter a valid phone number`,formInvalidUrl:`Enter a valid URL`,formInvalidNumber:`Enter a valid number`,formTooShort:`Too short (min {min} characters)`,formTooLong:`Too long (max {max} characters)`,formNumberTooSmall:`Must be at least {min}`,formNumberTooLarge:`Must be at most {max}`,formPatternMismatch:`Please match the requested format`,formChooseAtLeast:`Choose at least {min}`,formChooseAtMost:`Choose at most {max}`,formOther:`Other`,formOtherPlaceholder:`Type your answer…`,inputRequired:`Questions for you`,inputBadge:`Questions`,inputAnswered:`Answered`,inputSkipped:`Skipped`,showOptions:`Show options`,hideOptions:`Hide options`,qtypeText:`Your answer`,qtypeEmail:`Email address`,qtypePhone:`Phone number`,qtypeNumber:`Number`,qtypeDate:`Date`,qtypeChooseOne:`Pick one`,qtypeChooseAny:`Pick any`,qtypeBoolean:`Yes / No`,inputSubmit:`Submit answers`,inputSubmitHint:`Enter to send · Shift+Enter = new line`,inputSkip:`Skip`,confirmYes:`Yes`,confirmNo:`No`,approve:`Approve`,reject:`Reject`,approvalPrompt:`{tool} requires your approval to execute.`,approvalBody:`Review the tool input above and decide whether to allow this action.`,approvalYourResponse:`Your response: {decision}`,approvalEditHint:`You can edit this response until this step continues.`,approvalSubmitting:`Response submitted. Request in progress…`,edit:`Edit`,toolParameters:`Parameters`,statusAwaiting:`Awaiting Approval`,statusResponded:`Submitted`,statusRunning:`Running`,statusCompleted:`Completed`,statusDenied:`Denied`,statusError:`Error`,statusSuperseded:`Skipped`,statusIncomplete:`Not completed`},T={en:w,fr:{attach:`Joindre des fichiers`,attachmentMimeRejected:`Type de fichier non pris en charge`,attachmentTooLarge:`Le fichier est trop volumineux`,attachmentTooMany:`Limite de pièces jointes atteinte`,conversationClosed:`Ce chat est fermé`,conversationLoading:`Chargement du chat…`,loadPreviousMessages:`Charger les messages précédents`,close:`Fermer`,collapse:`Réduire`,collapseSidebar:`Réduire la barre latérale`,composerPlaceholder:`Écrivez un message…`,dateLastWeek:`7 derniers jours`,dateOlder:`Plus ancien`,dateToday:`Aujourd'hui`,dateYesterday:`Hier`,dropZone:`Déposez les fichiers à joindre`,errorGeneric:`Une erreur s'est produite`,errorRateLimited:`Trop de requêtes — veuillez réessayer dans un instant.`,errorRetry:`Réessayer`,expand:`Agrandir`,expandSidebar:`Développer la barre latérale`,exitFullscreen:`Quitter le plein écran`,fullscreen:`Plein écran`,history:`Historique`,historyBack:`Retour au chat`,historyEmpty:`Aucun chat pour le moment`,historyContinue:`Poursuivre le chat`,historyLoading:`Chargement de vos chats…`,historyTitle:`Historique des chats`,loadMoreConversations:`Charger plus de conversations`,language:`Langue`,launcherOpen:`Ouvrir le chat`,launcherLabel:`Discuter avec nous`,micStart:`Démarrer la saisie vocale`,micStop:`Arrêter la saisie vocale`,micUnsupported:`La saisie vocale n'est pas prise en charge par ce navigateur`,moreActions:`Plus d'actions`,newConversation:`Nouveau chat`,panelTitle:`Chat`,popOut:`Ouvrir dans un nouvel onglet`,resizeHandle:`Glisser pour redimensionner`,scrollToBottom:`Aller au plus récent`,send:`Envoyer`,queueMessage:`Mettre le message en attente`,removeQueuedMessage:`Retirer le message en attente`,compactingContext:`Optimisation du contexte de la conversation…`,soundOff:`Son désactivé`,soundOn:`Son activé`,startNewConversation:`Démarrer un nouveau chat`,talkToOperator:`Parler à une personne`,connectingOperator:`Mise en relation avec une personne…`,noOperatorAvailable:`Personne n'est disponible pour le moment — laissez vos coordonnées et nous reviendrons vers vous.`,chattingWithOperator:`Vous discutez avec {operator}`,cancelOperatorRequest:`Continuer avec l'IA`,stop:`Arrêter`,theme:`Thème`,themeAuto:`Auto`,themeDark:`Sombre`,themeLight:`Clair`,textSize:`Taille du texte`,textSizeSmall:`Petite`,textSizeNormal:`Normale`,textSizeLarge:`Grande`,loading:`Chargement…`,visualPreparing:`Préparation du visuel…`,visualError:`Ce visuel n’a pas pu être affiché.`,visualPartial:`Certaines parties de ce visuel n’ont pas pu être affichées.`,thinking:`Réflexion…`,thoughts:`Réflexions`,toolResult:`Résultat`,sources:`Sources`,feedbackUp:`Bonne réponse`,feedbackDown:`Mauvaise réponse`,feedbackThanks:`Merci pour votre retour`,copy:`Copier`,copied:`Copié`,tabHome:`Accueil`,tabConversations:`Chats`,tabHelp:`Aide`,tabNews:`Actualités`,modulesEmpty:`Rien pour le moment`,moduleBack:`Retour`,contentLoading:`Chargement…`,contentHelpful:`Cela vous a-t-il aidé ?`,homeGreeting:`Comment pouvons-nous vous aider ?`,homeGreetingNamed:`Bonjour {name} 👋`,homeGreetingLead:`Comment pouvons-nous vous aider ?`,homeSearchPlaceholder:`Rechercher de l'aide`,homeAskPlaceholder:`Posez une question…`,homeWhatsNew:`Nouveautés`,homeContentTitle:`Articles populaires`,homeStatus:`Statut`,helpTitle:`Aide`,helpSearchPlaceholder:`Rechercher de l'aide`,helpEmpty:`Aucun article d'aide pour le moment`,helpLoading:`Chargement de l'aide…`,helpSearchEmpty:`Aucun résultat pour «\xA0{query}\xA0»`,helpShowMore:`Afficher plus`,newsTitle:`Actualités`,newsEmpty:`Aucune actualité pour le moment`,newsLoading:`Chargement des actualités…`,newsBack:`Retour aux actualités`,newsPublishedAt:`Publié le {date}`,newsShowMore:`Afficher plus`,newsUnseen:`Nouvelle publication`,formSubmit:`Envoyer`,formSkip:`Plus tard`,formSubmitted:`Terminé`,formSkipped:`Plus tard`,formFillOut:`Remplir`,formRequired:`Ce champ est obligatoire`,formInvalidEmail:`Saisissez une adresse e-mail valide`,formInvalidTel:`Saisissez un numéro de téléphone valide`,formInvalidUrl:`Saisissez une URL valide`,formInvalidNumber:`Saisissez un nombre valide`,formTooShort:`Trop court (min. {min} caractères)`,formTooLong:`Trop long (max. {max} caractères)`,formNumberTooSmall:`Doit être au moins {min}`,formNumberTooLarge:`Doit être au plus {max}`,formPatternMismatch:`Veuillez respecter le format demandé`,formChooseAtLeast:`Choisissez au moins {min}`,formChooseAtMost:`Choisissez au plus {max}`,formOther:`Autre`,formOtherPlaceholder:`Saisissez votre réponse…`,inputRequired:`Questions pour vous`,inputBadge:`Questions`,inputAnswered:`Répondu`,inputSkipped:`Ignoré`,showOptions:`Afficher les options`,hideOptions:`Masquer les options`,qtypeText:`Votre réponse`,qtypeEmail:`Adresse e-mail`,qtypePhone:`Numéro de téléphone`,qtypeNumber:`Nombre`,qtypeDate:`Date`,qtypeChooseOne:`Choisir une`,qtypeChooseAny:`Choisir plusieurs`,qtypeBoolean:`Oui / Non`,inputSubmit:`Envoyer les réponses`,inputSubmitHint:`Entrée pour envoyer · Maj+Entrée = saut de ligne`,inputSkip:`Ignorer`,confirmYes:`Oui`,confirmNo:`Non`,approve:`Approuver`,reject:`Refuser`,approvalPrompt:`{tool} nécessite votre approbation pour s'exécuter.`,approvalBody:`Vérifiez les paramètres ci-dessus et décidez d'autoriser ou non cette action.`,approvalYourResponse:`Votre réponse : {decision}`,approvalEditHint:`Vous pouvez modifier votre réponse jusqu'à la reprise de cette étape.`,approvalSubmitting:`Réponse envoyée. Traitement en cours…`,edit:`Modifier`,toolParameters:`Paramètres`,statusAwaiting:`En attente d'approbation`,statusResponded:`Envoyé`,statusRunning:`En cours`,statusCompleted:`Terminé`,statusDenied:`Refusé`,statusError:`Erreur`,statusSuperseded:`Ignoré`,statusIncomplete:`Non terminé`},ar:{attach:`إرفاق ملفات`,attachmentMimeRejected:`نوع الملف غير مدعوم`,attachmentTooLarge:`حجم الملف كبير جدًا`,attachmentTooMany:`تم بلوغ الحد الأقصى للمرفقات`,conversationClosed:`تم إغلاق هذه الدردشة`,conversationLoading:`جارٍ تحميل الدردشة…`,loadPreviousMessages:`تحميل الرسائل السابقة`,close:`إغلاق`,collapse:`طيّ`,collapseSidebar:`طيّ الشريط الجانبي`,composerPlaceholder:`اكتب رسالة…`,dateLastWeek:`آخر ٧ أيام`,dateOlder:`أقدم`,dateToday:`اليوم`,dateYesterday:`أمس`,dropZone:`أفلت الملفات لإرفاقها`,errorGeneric:`حدث خطأ ما`,errorRateLimited:`طلبات كثيرة جدًا — يرجى المحاولة بعد لحظة.`,errorRetry:`إعادة المحاولة`,expand:`توسيع`,expandSidebar:`توسيع الشريط الجانبي`,exitFullscreen:`إنهاء ملء الشاشة`,fullscreen:`ملء الشاشة`,history:`السجل`,historyBack:`العودة إلى الدردشة`,historyEmpty:`لا توجد دردشات سابقة بعد`,historyContinue:`متابعة الدردشة`,historyLoading:`جارٍ تحميل دردشاتك…`,historyTitle:`سجل الدردشات`,loadMoreConversations:`تحميل المزيد من المحادثات`,language:`اللغة`,launcherOpen:`فتح الدردشة`,launcherLabel:`تحدث معنا`,micStart:`بدء الإدخال الصوتي`,micStop:`إيقاف الإدخال الصوتي`,micUnsupported:`الإدخال الصوتي غير مدعوم في هذا المتصفح`,moreActions:`إجراءات إضافية`,newConversation:`دردشة جديدة`,panelTitle:`الدردشة`,popOut:`فتح في علامة تبويب جديدة`,resizeHandle:`اسحب لتغيير الحجم`,scrollToBottom:`الانتقال إلى الأحدث`,send:`إرسال`,queueMessage:`إضافة الرسالة إلى قائمة الانتظار`,removeQueuedMessage:`إزالة الرسالة من قائمة الانتظار`,compactingContext:`جارٍ تحسين سياق المحادثة…`,soundOff:`كتم الصوت`,soundOn:`تشغيل الصوت`,startNewConversation:`بدء دردشة جديدة`,talkToOperator:`التحدث إلى شخص`,connectingOperator:`جارٍ توصيلك بشخص…`,noOperatorAvailable:`لا يوجد موظفون متاحون الآن — اترك بياناتك وسنتواصل معك.`,chattingWithOperator:`أنت تتحدث مع {operator}`,cancelOperatorRequest:`متابعة المحادثة مع الذكاء الاصطناعي`,stop:`إيقاف`,theme:`المظهر`,themeAuto:`تلقائي`,themeDark:`داكن`,themeLight:`فاتح`,textSize:`حجم النص`,textSizeSmall:`صغير`,textSizeNormal:`عادي`,textSizeLarge:`كبير`,loading:`جارٍ التحميل…`,visualPreparing:`جارٍ إعداد المحتوى المرئي…`,visualError:`تعذر عرض هذا المحتوى المرئي.`,visualPartial:`تعذر عرض بعض أجزاء هذا المحتوى المرئي.`,thinking:`يفكّر…`,thoughts:`الأفكار`,toolResult:`النتيجة`,sources:`المصادر`,feedbackUp:`رد جيد`,feedbackDown:`رد سيئ`,feedbackThanks:`شكرًا على ملاحظاتك`,copy:`نسخ`,copied:`تم النسخ`,tabHome:`الرئيسية`,tabConversations:`الدردشات`,tabHelp:`المساعدة`,tabNews:`الأخبار`,modulesEmpty:`لا شيء هنا بعد`,moduleBack:`رجوع`,contentLoading:`جارٍ التحميل…`,contentHelpful:`هل كان هذا مفيدًا؟`,homeGreeting:`كيف يمكننا مساعدتك؟`,homeGreetingNamed:`مرحبًا {name} 👋`,homeGreetingLead:`كيف يمكننا مساعدتك؟`,homeSearchPlaceholder:`ابحث عن مساعدة`,homeAskPlaceholder:`اطرح سؤالاً…`,homeWhatsNew:`ما الجديد`,homeContentTitle:`مقالات شائعة`,homeStatus:`الحالة`,helpTitle:`المساعدة`,helpSearchPlaceholder:`ابحث عن مساعدة`,helpEmpty:`لا توجد مقالات مساعدة بعد`,helpLoading:`جارٍ تحميل المساعدة…`,helpSearchEmpty:`لا نتائج لـ «{query}»`,helpShowMore:`عرض المزيد`,newsTitle:`الأخبار`,newsEmpty:`لا توجد أخبار بعد`,newsLoading:`جارٍ تحميل الأخبار…`,newsBack:`العودة إلى الأخبار`,newsPublishedAt:`نُشر في {date}`,newsShowMore:`عرض المزيد`,newsUnseen:`منشور جديد`,formSubmit:`إرسال`,formSkip:`لاحقًا`,formSubmitted:`تم`,formSkipped:`لاحقًا`,formFillOut:`تعبئة`,formRequired:`هذا الحقل مطلوب`,formInvalidEmail:`أدخل بريدًا إلكترونيًا صحيحًا`,formInvalidTel:`أدخل رقم هاتف صحيحًا`,formInvalidUrl:`أدخل رابطًا صحيحًا`,formInvalidNumber:`أدخل رقمًا صحيحًا`,formTooShort:`قصير جدًا (الحد الأدنى {min} حرفًا)`,formTooLong:`طويل جدًا (الحد الأقصى {max} حرفًا)`,formNumberTooSmall:`يجب ألا يقل عن {min}`,formNumberTooLarge:`يجب ألا يزيد عن {max}`,formPatternMismatch:`يرجى مطابقة الصيغة المطلوبة`,formChooseAtLeast:`اختر {min} على الأقل`,formChooseAtMost:`اختر {max} على الأكثر`,formOther:`أخرى`,formOtherPlaceholder:`اكتب إجابتك…`,inputRequired:`أسئلة لك`,inputBadge:`أسئلة`,inputAnswered:`تمت الإجابة`,inputSkipped:`تم التخطي`,showOptions:`إظهار الخيارات`,hideOptions:`إخفاء الخيارات`,qtypeText:`إجابتك`,qtypeEmail:`عنوان البريد الإلكتروني`,qtypePhone:`رقم الهاتف`,qtypeNumber:`رقم`,qtypeDate:`تاريخ`,qtypeChooseOne:`اختر واحدًا`,qtypeChooseAny:`اختر أيًا`,qtypeBoolean:`نعم / لا`,inputSubmit:`إرسال الإجابات`,inputSubmitHint:`Enter للإرسال · Shift+Enter = سطر جديد`,inputSkip:`تخطٍّ`,confirmYes:`نعم`,confirmNo:`لا`,approve:`موافقة`,reject:`رفض`,approvalPrompt:`تتطلب {tool} موافقتك للتنفيذ.`,approvalBody:`راجع مُعطيات الأداة أعلاه وقرّر السماح بهذا الإجراء أو رفضه.`,approvalYourResponse:`ردّك: {decision}`,approvalEditHint:`يمكنك تعديل ردّك حتى تستأنف هذه الخطوة.`,approvalSubmitting:`تم إرسال الرد. جارٍ التنفيذ…`,edit:`تعديل`,toolParameters:`المعطيات`,statusAwaiting:`بانتظار الموافقة`,statusResponded:`تم الإرسال`,statusRunning:`قيد التنفيذ`,statusCompleted:`مكتمل`,statusDenied:`مرفوض`,statusError:`خطأ`,statusSuperseded:`تم التخطي`,statusIncomplete:`لم يكتمل`},es:{attach:`Adjuntar archivos`,attachmentMimeRejected:`Tipo de archivo no admitido`,attachmentTooLarge:`El archivo es demasiado grande`,attachmentTooMany:`Se alcanzó el límite de adjuntos`,conversationClosed:`Este chat está cerrado`,conversationLoading:`Cargando chat…`,loadPreviousMessages:`Cargar mensajes anteriores`,close:`Cerrar`,collapse:`Contraer`,collapseSidebar:`Contraer la barra lateral`,composerPlaceholder:`Escribe un mensaje…`,dateLastWeek:`Últimos 7 días`,dateOlder:`Anteriores`,dateToday:`Hoy`,dateYesterday:`Ayer`,dropZone:`Suelta los archivos para adjuntarlos`,errorGeneric:`Algo salió mal`,errorRateLimited:`Demasiadas solicitudes: inténtalo de nuevo en un momento.`,errorRetry:`Reintentar`,expand:`Ampliar`,expandSidebar:`Expandir la barra lateral`,exitFullscreen:`Salir de pantalla completa`,fullscreen:`Pantalla completa`,history:`Historial`,historyBack:`Volver al chat`,historyEmpty:`Aún no tienes chats`,historyContinue:`Continuar el chat`,historyLoading:`Cargando tus chats…`,historyTitle:`Historial de chats`,loadMoreConversations:`Cargar más conversaciones`,language:`Idioma`,launcherOpen:`Abrir el chat`,launcherLabel:`Chatea con nosotros`,micStart:`Iniciar entrada de voz`,micStop:`Detener entrada de voz`,micUnsupported:`Este navegador no admite la entrada de voz`,moreActions:`Más acciones`,newConversation:`Nuevo chat`,panelTitle:`Chat`,popOut:`Abrir en una pestaña nueva`,resizeHandle:`Arrastra para cambiar el tamaño`,scrollToBottom:`Ir a lo más reciente`,send:`Enviar`,queueMessage:`Poner mensaje en cola`,removeQueuedMessage:`Quitar mensaje de la cola`,compactingContext:`Optimizando el contexto de la conversación…`,soundOff:`Sonido desactivado`,soundOn:`Sonido activado`,startNewConversation:`Iniciar un chat nuevo`,talkToOperator:`Hablar con una persona`,connectingOperator:`Conectándote con una persona…`,noOperatorAvailable:`Nadie está disponible ahora — deja tus datos y te contactaremos.`,chattingWithOperator:`Estás chateando con {operator}`,cancelOperatorRequest:`Seguir con la IA`,stop:`Detener`,theme:`Tema`,themeAuto:`Automático`,themeDark:`Oscuro`,themeLight:`Claro`,textSize:`Tamaño del texto`,textSizeSmall:`Pequeño`,textSizeNormal:`Normal`,textSizeLarge:`Grande`,loading:`Cargando…`,visualPreparing:`Preparando visualización…`,visualError:`No se pudo mostrar esta visualización.`,visualPartial:`No se pudieron mostrar algunas partes de esta visualización.`,thinking:`Pensando…`,thoughts:`Razonamiento`,toolResult:`Resultado`,sources:`Fuentes`,feedbackUp:`Buena respuesta`,feedbackDown:`Mala respuesta`,feedbackThanks:`Gracias por tu opinión`,copy:`Copiar`,copied:`Copiado`,tabHome:`Inicio`,tabConversations:`Chats`,tabHelp:`Ayuda`,tabNews:`Novedades`,modulesEmpty:`Aún no hay nada aquí`,moduleBack:`Atrás`,contentLoading:`Cargando…`,contentHelpful:`¿Te resultó útil?`,homeGreeting:`¿Cómo podemos ayudarte?`,homeGreetingNamed:`Hola, {name} 👋`,homeGreetingLead:`¿Cómo podemos ayudarte?`,homeSearchPlaceholder:`Buscar ayuda`,homeAskPlaceholder:`Haz una pregunta…`,homeWhatsNew:`Lo nuevo`,homeContentTitle:`Artículos populares`,homeStatus:`Estado`,helpTitle:`Ayuda`,helpSearchPlaceholder:`Buscar ayuda`,helpEmpty:`Aún no hay artículos de ayuda`,helpLoading:`Cargando la ayuda…`,helpSearchEmpty:`Sin resultados para «{query}»`,helpShowMore:`Mostrar más`,newsTitle:`Novedades`,newsEmpty:`Aún no hay novedades`,newsLoading:`Cargando novedades…`,newsBack:`Volver a novedades`,newsPublishedAt:`Publicado el {date}`,newsShowMore:`Mostrar más`,newsUnseen:`Publicación nueva`,formSubmit:`Enviar`,formSkip:`Quizá más tarde`,formSubmitted:`Completado`,formSkipped:`Quizá más tarde`,formFillOut:`Completar`,formRequired:`Este campo es obligatorio`,formInvalidEmail:`Introduce un correo electrónico válido`,formInvalidTel:`Introduce un número de teléfono válido`,formInvalidUrl:`Introduce una URL válida`,formInvalidNumber:`Introduce un número válido`,formTooShort:`Demasiado corto (mín. {min} caracteres)`,formTooLong:`Demasiado largo (máx. {max} caracteres)`,formNumberTooSmall:`Debe ser al menos {min}`,formNumberTooLarge:`Debe ser como máximo {max}`,formPatternMismatch:`Respeta el formato solicitado`,formChooseAtLeast:`Elige al menos {min}`,formChooseAtMost:`Elige como máximo {max}`,formOther:`Otro`,formOtherPlaceholder:`Escribe tu respuesta…`,inputRequired:`Preguntas para ti`,inputBadge:`Preguntas`,inputAnswered:`Respondido`,inputSkipped:`Omitido`,showOptions:`Mostrar opciones`,hideOptions:`Ocultar opciones`,qtypeText:`Tu respuesta`,qtypeEmail:`Correo electrónico`,qtypePhone:`Número de teléfono`,qtypeNumber:`Número`,qtypeDate:`Fecha`,qtypeChooseOne:`Elige una`,qtypeChooseAny:`Elige varias`,qtypeBoolean:`Sí / No`,inputSubmit:`Enviar respuestas`,inputSubmitHint:`Enter para enviar · Mayús+Enter = nueva línea`,inputSkip:`Omitir`,confirmYes:`Sí`,confirmNo:`No`,approve:`Aprobar`,reject:`Rechazar`,approvalPrompt:`{tool} requiere tu aprobación para ejecutarse.`,approvalBody:`Revisa los parámetros de arriba y decide si permites esta acción.`,approvalYourResponse:`Tu respuesta: {decision}`,approvalEditHint:`Puedes cambiar tu respuesta hasta que este paso continúe.`,approvalSubmitting:`Respuesta enviada. Procesando…`,edit:`Editar`,toolParameters:`Parámetros`,statusAwaiting:`Esperando aprobación`,statusResponded:`Enviado`,statusRunning:`En curso`,statusCompleted:`Completado`,statusDenied:`Denegado`,statusError:`Error`,statusSuperseded:`Omitido`,statusIncomplete:`No completado`},he:{attach:`צירוף קבצים`,attachmentMimeRejected:`סוג הקובץ אינו נתמך`,attachmentTooLarge:`הקובץ גדול מדי`,attachmentTooMany:`הגעת למספר המרבי של קבצים מצורפים`,conversationClosed:`הצ׳אט הזה נסגר`,conversationLoading:`טוען צ׳אט…`,loadPreviousMessages:`טעינת הודעות קודמות`,close:`סגירה`,collapse:`כיווץ`,collapseSidebar:`כיווץ סרגל הצד`,composerPlaceholder:`כתוב הודעה…`,dateLastWeek:`7 הימים האחרונים`,dateOlder:`ישן יותר`,dateToday:`היום`,dateYesterday:`אתמול`,dropZone:`שחרר קבצים כדי לצרף`,errorGeneric:`משהו השתבש`,errorRateLimited:`יותר מדי בקשות — נסה שוב בעוד רגע.`,errorRetry:`נסה שוב`,expand:`הרחבה`,expandSidebar:`הרחבת סרגל הצד`,exitFullscreen:`יציאה ממסך מלא`,fullscreen:`מסך מלא`,history:`היסטוריה`,historyBack:`חזרה לצ׳אט`,historyEmpty:`אין עדיין צ׳אטים קודמים`,historyContinue:`המשך צ׳אט`,historyLoading:`טוען את הצ׳אטים שלך…`,historyTitle:`היסטוריית צ׳אטים`,loadMoreConversations:`טעינת שיחות נוספות`,language:`שפה`,launcherOpen:`פתיחת צ׳אט`,launcherLabel:`דברו איתנו`,micStart:`התחלת קלט קולי`,micStop:`עצירת קלט קולי`,micUnsupported:`קלט קולי אינו נתמך בדפדפן זה`,moreActions:`פעולות נוספות`,newConversation:`צ׳אט חדש`,panelTitle:`צ׳אט`,popOut:`פתיחה בכרטיסייה חדשה`,resizeHandle:`גרור לשינוי הגודל`,scrollToBottom:`מעבר לחדש ביותר`,send:`שליחה`,queueMessage:`הוספת ההודעה לתור`,removeQueuedMessage:`הסרת ההודעה מהתור`,compactingContext:`מבצע אופטימיזציה להקשר השיחה…`,soundOff:`השתקת הצליל`,soundOn:`הפעלת הצליל`,startNewConversation:`התחלת צ׳אט חדש`,talkToOperator:`דברו עם אדם`,connectingOperator:`מחברים אותך לאדם…`,noOperatorAvailable:`אין נציגים זמינים כעת — השאר את הפרטים שלך ונחזור אליך.`,chattingWithOperator:`אתה מצ׳וטט עם {operator}`,cancelOperatorRequest:`המשך לשוחח עם ה-AI`,stop:`עצירה`,theme:`ערכת נושא`,themeAuto:`אוטומטי`,themeDark:`כהה`,themeLight:`בהיר`,textSize:`גודל טקסט`,textSizeSmall:`קטן`,textSizeNormal:`רגיל`,textSizeLarge:`גדול`,loading:`טוען…`,visualPreparing:`מכין תצוגה…`,visualError:`לא ניתן היה להציג תצוגה זו.`,visualPartial:`לא ניתן היה להציג חלקים מתצוגה זו.`,thinking:`חושב…`,thoughts:`מחשבות`,toolResult:`תוצאה`,sources:`מקורות`,feedbackUp:`תשובה טובה`,feedbackDown:`תשובה גרועה`,feedbackThanks:`תודה על המשוב`,copy:`העתק`,copied:`הועתק`,tabHome:`בית`,tabConversations:`צ׳אטים`,tabHelp:`עזרה`,tabNews:`חדשות`,modulesEmpty:`אין כאן עדיין כלום`,moduleBack:`חזרה`,contentLoading:`טוען…`,contentHelpful:`האם זה עזר?`,homeGreeting:`כיצד נוכל לעזור?`,homeGreetingNamed:`שלום {name} 👋`,homeGreetingLead:`כיצד נוכל לעזור?`,homeSearchPlaceholder:`חיפוש עזרה`,homeAskPlaceholder:`שאלו שאלה…`,homeWhatsNew:`מה חדש`,homeContentTitle:`מאמרים פופולריים`,homeStatus:`סטטוס`,helpTitle:`עזרה`,helpSearchPlaceholder:`חיפוש עזרה`,helpEmpty:`אין עדיין מאמרי עזרה`,helpLoading:`טוען עזרה…`,helpSearchEmpty:`אין תוצאות עבור „{query}”`,helpShowMore:`הצגת עוד`,newsTitle:`חדשות`,newsEmpty:`אין עדיין חדשות`,newsLoading:`טוען חדשות…`,newsBack:`חזרה לחדשות`,newsPublishedAt:`פורסם ב-{date}`,newsShowMore:`הצגת עוד`,newsUnseen:`פוסט חדש`,formSubmit:`שליחה`,formSkip:`אחר כך`,formSubmitted:`נשלח`,formSkipped:`דולג`,formFillOut:`מילוי`,formRequired:`שדה חובה`,formInvalidEmail:`הזן כתובת אימייל תקינה`,formInvalidTel:`הזן מספר טלפון תקין`,formInvalidUrl:`הזן כתובת URL תקינה`,formInvalidNumber:`הזן מספר תקין`,formTooShort:`קצר מדי (לפחות {min} תווים)`,formTooLong:`ארוך מדי (לכל היותר {max} תווים)`,formNumberTooSmall:`חייב להיות לפחות {min}`,formNumberTooLarge:`חייב להיות לכל היותר {max}`,formPatternMismatch:`התאם לתבנית הנדרשת`,formChooseAtLeast:`בחר לפחות {min}`,formChooseAtMost:`בחר לכל היותר {max}`,formOther:`אחר`,formOtherPlaceholder:`כתוב את תשובתך…`,inputRequired:`שאלות עבורך`,inputBadge:`שאלות`,inputAnswered:`נענה`,inputSkipped:`דולג`,showOptions:`הצג אפשרויות`,hideOptions:`הסתר אפשרויות`,qtypeText:`התשובה שלך`,qtypeEmail:`כתובת אימייל`,qtypePhone:`מספר טלפון`,qtypeNumber:`מספר`,qtypeDate:`תאריך`,qtypeChooseOne:`בחר אחת`,qtypeChooseAny:`בחר כמה`,qtypeBoolean:`כן / לא`,inputSubmit:`שליחת תשובות`,inputSubmitHint:`Enter לשליחה · Shift+Enter = שורה חדשה`,inputSkip:`דילוג`,confirmYes:`כן`,confirmNo:`לא`,approve:`אישור`,reject:`דחייה`,approvalPrompt:`הכלי {tool} דורש את אישורך כדי לפעול.`,approvalBody:`בדוק את פרמטרי הכלי שלמעלה והחלט אם לאשר פעולה זו.`,approvalYourResponse:`התגובה שלך: {decision}`,approvalEditHint:`ניתן לערוך את תגובתך עד שהשלב הזה יתחדש.`,approvalSubmitting:`התגובה נשלחה. מבצע…`,edit:`עריכה`,toolParameters:`פרמטרים`,statusAwaiting:`ממתין לאישור`,statusResponded:`נשלח`,statusRunning:`פועל`,statusCompleted:`הושלם`,statusDenied:`נדחה`,statusError:`שגיאה`,statusSuperseded:`דולג`,statusIncomplete:`לא הושלם`}};function E(e,t){let n=D(e),r=j(t),i=n===`en`?{}:T[n]??{},a=r?t[n]??{}:t??{},o=r?t.en??{}:{};return{...w,...i,...o,...a}}function D(e){return(e.split(`-`)[0]??`en`).toLowerCase()}const O=/* @__PURE__ */ new Set([`ar`,`he`,`iw`,`fa`,`ur`,`ps`,`sd`,`ug`,`yi`,`dv`,`ckb`,`ks`,`nqo`,`prs`,`syr`]);function k(e){return O.has(D(e))}function A(e,t){return e[t]??t}function j(e){if(!e)return!1;for(let t of Object.values(e))if(t&&typeof t==`object`)return!0;return!1}const M={id:`help-ai`,name:`@helpai/elements`,global:`HelpAI`,tagName:`web-ai-chat`,cssPrefix:`helpai`,defaultBaseUrl:`https://help.ai`,displayName:`Help AI`,domain:`help.ai`,siteUrl:`https://help.ai`},ee=new class{get(e){try{return localStorage.getItem(e)}catch{return null}}set(e,t){try{localStorage.setItem(e,t)}catch{}}remove(e){try{localStorage.removeItem(e)}catch{}}},te={maxBytes:10485760,maxCount:10,accept:`*/*`},N={voice:`local`},ne={list:[],byTrigger:{}},re={enabled:!0,sampleRate:1},P={upload:`/pai/upload-file`,transcribe:`/pai/transcribe-audio`,submitForm:`/pai/submit-form`},ie={variant:`circle`,size:`md`,label:void 0,icon:`chat`,hidden:!1},ae={floating:[`theme`,`textSize`,`history`,`close`,`clear`,`expand`,`fullscreen`,`popOut`,`sound`,`language`],inline:[`theme`,`textSize`,`history`,`close`,`clear`,`fullscreen`,`popOut`,`sound`,`language`],standalone:[`theme`,`textSize`,`history`,`clear`,`sound`,`language`],page:[`theme`,`textSize`,`history`,`clear`,`sound`,`language`],modal:[`theme`,`textSize`,`history`,`close`,`clear`,`fullscreen`,`popOut`,`sound`,`language`],drawer:[`theme`,`textSize`,`history`,`close`,`clear`,`fullscreen`,`popOut`,`sound`,`language`]},oe={enabled:!0,volume:.3,events:void 0},F={enabled:!0,events:void 0},se=[{label:`tabConversations`,layout:`chat`}],ce=[`off`,`error`,`warn`,`info`,`debug`,`trace`],le=M.cssPrefix,I=`${le}.debug`,ue=`__${M.global}_DEBUG__`,de=`${le}-debug`;let fe=2;function pe(){if(typeof window>`u`)return 2;try{let e=new URLSearchParams(window.location.search).get(de);if(e!==null){let t=me(e);if(t>=0)return t}}catch{}try{let e=window.localStorage?.getItem(I);if(e){let t=me(e);if(t>=0)return t}}catch{}return Reflect.get(window,ue)?4:2}function me(e){if(e===!0||e===`1`||e===`true`)return 4;if(e===!1||e===`0`||e===`false`||e===`off`)return 0;if(typeof e==`number`)return Math.max(0,Math.min(5,Math.floor(e)));if(typeof e==`string`){let t=ce.findIndex(t=>t===e);if(t>=0)return t}return-1}fe=pe();function he(e){let t=`[${le}:${e}]`;function n(e,n,r){return(r,i)=>{fe<e||(i===void 0?console[n](t,r):console[n](t,r,i))}}return{error:n(1,`error`,`error`),warn:n(2,`warn`,`warn`),info:n(3,`info`,`info`),debug:n(4,`debug`,`debug`),trace:n(5,`debug`,`trace`),scope:t=>he(`${e}:${t}`)}}const L=he(`core`),ge=L.scope(`context`),_e=/* @__PURE__ */ new Set([`visitorId`,`conversationId`,`jwt`,`token`,`authorization`,`password`]),ve=1024,ye=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function be(e){return Se(e,`userContext`,!0)}function xe(e){return Se(e,`pageContext`,!1)}function Se(e,t,n){if(e==null)return;if(typeof e!=`object`||Array.isArray(e)){ge.warn(`ignored ${t} — expected an object`,{type:Array.isArray(e)?`array`:typeof e});return}let r={},i=0;for(let[n,a]of Object.entries(e)){if(_e.has(n)){ge.warn(`dropped reserved ${t} key "${n}" — managed by the widget, not host-settable`);continue}if(a==null)continue;if(i>=50){ge.warn(`${t} truncated at 50 keys — dropped "${n}"`);continue}let e=Ce(t,n,a);e!==void 0&&(r[n]=e,i++)}return n&&typeof r.email==`string`&&!ye.test(r.email)&&(ge.warn(`dropped malformed context field`,{field:`${t}.email`,reason:`invalid format`}),delete r.email),Object.keys(r).length>0?r:void 0}function Ce(e,t,n){if(typeof n==`boolean`)return n;if(typeof n==`number`){if(!Number.isFinite(n)){ge.warn(`dropped non-finite ${e}.${t}`);return}return n}if(typeof n==`string`){let r=n.trim();return r===``?void 0:r.length>ve?(ge.warn(`truncated ${e}.${t} to ${ve} chars`),r.slice(0,ve)):r}ge.warn(`dropped ${e}.${t} — only string/number/boolean values are allowed`,{type:typeof n})}function we(e){let t=typeof e==`object`&&e?e:{},n=t.presentation??{},r=t.behavior??{},i=t.i18n??{},a=t.feedback??{},o=t.footer??{},s=t.header??{},c={enabled:t.history?.enabled??!0},{themeMode:l,themeOverrides:u}=Te(t.theme),d=n.mode??`floating`,f=Ee(i.defaultLocale),p=i.availableLocales??[i.locale??f],m=De(i.locale??f,p,f),h=(t.baseUrl??M.defaultBaseUrl).replace(/\/$/,``),g=(t.agentApiBaseUrl??`${h}/api/agent`).replace(/\/$/,``),_=(t.dataApiBaseUrl??`${h}/api/data`).replace(/\/$/,``);return{widgetId:t.widgetId??`default`,publicKey:t.publicKey,aiAgentDeploymentId:t.aiAgentDeploymentId,baseUrl:h,agentApiBaseUrl:g,dataApiBaseUrl:_,userContext:be(t.userContext),pageContext:xe(t.pageContext),position:n.position??`bottom-right`,themeMode:l,textSize:`normal`,themeOverrides:u,mode:d,iframe:n.iframe??!1,responseMode:r.responseMode??`streaming`,showReasoning:r.showReasoning??!1,showToolCalls:r.showToolCalls??!1,showSources:r.showSources??!1,enableMessageFeedback:!(r.disableMessageFeedback??!1),autoSendSuggestions:r.autoSendSuggestions??!1,popOutUrl:r.popOutUrl,features:{voice:t.features?.voice??N.voice,fileUpload:!(t.features?.disableFileUpload??!1),humanInLoop:!(t.features?.disableHumanInLoop??!1),operatorRequest:t.features?.enableOperatorRequest===!0},forms:Fe(t.forms,m),endpoints:{upload:t.endpoints?.upload??P.upload,transcribe:t.endpoints?.transcribe??P.transcribe,submitForm:t.endpoints?.submitForm??P.submitForm},attachments:{accept:t.composer?.attachments?.accept??te.accept,maxBytes:t.composer?.attachments?.maxBytes??te.maxBytes,maxCount:t.composer?.attachments?.maxCount??te.maxCount},locale:m,defaultLocale:f,availableLocales:p,startMinimized:r.startMinimized??!0,actions:Oe(d,s.actions,c.enabled),size:n.size??{},launcher:Le(t.launcher),sound:ke(a.sound),haptics:Ae(a.haptics),strings:E(m,i.strings),stringsOverride:i.strings,composerDisclaimer:o.composerDisclaimer??``,poweredBy:Me(o.poweredBy),composer:Ne(t.composer),modules:Pe(t.modules,c.enabled),tracking:je(t.tracking,_),history:c,storage:t.storage??ee,userToken:t.userToken,tools:t.tools,onMessage:t.onMessage,onOpen:t.onOpen,onClose:t.onClose,onError:t.onError}}function Te(e){if(typeof e==`string`)return{themeMode:e,themeOverrides:{}};if(!e||typeof e!=`object`)return{themeMode:`auto`,themeOverrides:{}};let{mode:t,...n}=e;return{themeMode:t??`auto`,themeOverrides:n}}function Ee(e){return e&&e!==`auto`?e:globalThis.navigator?.language||`en`}function De(e,t,n){return t.length<=1||t.includes(e)?e:t.includes(n)?n:t[0]??e}function Oe(e,t,n){let r=t??ae[e];return n?r:r.filter(e=>e!==`history`)}function ke(e){return{enabled:e?.enabled??oe.enabled,volume:e?.volume??oe.volume,events:e?.events}}function Ae(e){return{enabled:e?.enabled??F.enabled,events:e?.events}}function je(e,t){let n=e?.sampleRate??re.sampleRate;return{enabled:e?.enabled??re.enabled,endpoint:e?.endpoint??`${t}/pai/elements-px.gif`,sampleRate:Math.min(1,Math.max(0,Number.isFinite(n)?n:1)),token:e?.token}}function Me(e){let t={text:`Powered by ${M.displayName}`,href:M.siteUrl,...e};return t.text||t.logoUrl?t:null}function Ne(e){let t=e?.sendButton;return{sendButton:{shape:t?.shape??`circle`,icon:t?.icon??`arrowUp`,variant:t?.variant??`filled`}}}function Pe(e,t){let n=e??se,r=/* @__PURE__ */ new Set,i=[];for(let e of n.slice(0,4)){if(!e?.label||!e?.layout)continue;let n=e.contentCollectionIds?.filter(Boolean),a=e.id??n?.[0]??e.layout;for(;r.has(a);)a=`${a}-${i.length}`;r.add(a);let o={id:a,label:e.label,layout:e.layout};n?.length&&(o.contentCollectionIds=n),e.layout===`home`&&(o.brandName=e.brandName,o.greetingText=e.greetingText,o.showGreeting=!(e.hideGreeting??!1),o.showSearchBar=!(e.hideSearchBar??!1),o.showRecentConversations=t&&!(e.hideRecentConversations??!1),e.userAvatars?.length&&(o.userAvatars=e.userAvatars),e.status&&(o.status=e.status),o.contentBlockTitle=e.contentBlockTitle),i.push(o)}return{list:i,byId:Object.fromEntries(i.map(e=>[e.id,e]))}}function Fe(e,t){if(!e?.length)return ne;let n=[],r=/* @__PURE__ */ new Set;for(let i of e){if(!i?.id||r.has(i.id))continue;let e=C(i,t),a=(e.fields??[]).filter(e=>!!(e?.name&&e.label&&e.type)),o=(Array.isArray(e.on)?e.on:[e.on]).map(Ie).filter(e=>e!==null);a.length!==0&&o.length!==0&&(r.add(e.id),n.push({id:e.id,triggers:o,when:e.when,fields:a,title:e.title,description:e.description,submitLabel:e.submitLabel,skippable:e.skippable??!1,frequency:e.frequency??`once`,mirrorToContext:e.mirrorToContext??!0,reopenable:e.reopenable??!0,reviewable:e.reviewable??!0}))}let i={};for(let e of n){var a;for(let t of e.triggers)(i[a=t.kind]??(i[a]=[])).push(e)}return{list:n,byTrigger:i}}function Ie(e){if(typeof e!=`string`)return null;if(e===`pre-chat`||e===`conversation-closed`||e===`panel-close`||e===`manual`)return{kind:e};let[t,n]=e.split(`:`,2);if(t===`after-messages`){let e=Number(n);return Number.isFinite(e)&&e>0?{kind:`after-messages`,param:e}:null}if(t===`idle`){let e=Number(n);return Number.isFinite(e)&&e>0?{kind:`idle`,param:e}:null}return t===`page-area`&&n?{kind:`page-area`,param:n}:null}function Le(e){let t=e?.callout?.text?{shape:`pill`,position:`auto`,delayMs:1200,autoDismissMs:0,animated:!0,persistent:!0,...e.callout}:null;return{variant:e?.variant??ie.variant,size:e?.size??ie.size,label:e?.label??ie.label,icon:e?.icon??ie.icon,hidden:e?.hidden??ie.hidden,callout:t}}function Re(e,t,n,r){let i=De(t,e.availableLocales,e.defaultLocale);if(i===e.locale&&n===e.themeMode&&r===e.textSize)return e;let a={...e};return i!==e.locale&&(a.locale=i,a.strings=E(i,e.stringsOverride)),n!==e.themeMode&&(a.themeMode=n),r!==e.textSize&&(a.textSize=r),a}const ze=[`presentation`,`behavior`,`theme`,`launcher`,`header`,`composer`,`feedback`,`i18n`,`footer`,`features`,`tracking`,`endpoints`,`history`];function Be(e,t){if(!t)return e;let n={...e};for(let r of ze){let i=t[r];if(i===void 0)continue;let a=e[r];r===`theme`?a===void 0?n[r]=i:typeof a==`string`&&typeof i==`object`&&i&&(n[r]={...i,mode:a}):r!==`i18n`&&(n[r]=Ve(i,a))}t.modules!==void 0&&e.modules===void 0&&(n.modules=t.modules),t.dataApiBaseUrl!==void 0&&e.dataApiBaseUrl===void 0&&(n.dataApiBaseUrl=t.dataApiBaseUrl);let r=e.i18n,i=t.i18n;if(r||i){let e=Ve(i??{},r);i?.availableLocales!==void 0&&(e.availableLocales=i.availableLocales),i?.defaultLocale!==void 0&&(e.defaultLocale=i.defaultLocale);let t=r?.strings,a=i?.strings;(t||a)&&(e.strings=He(a,t)),n.i18n=e}return n}function Ve(e,t){if(!t)return e;let n={...e};for(let[e,r]of Object.entries(t))r!==void 0&&(n[e]=r);return n}function He(e,t){if(!e)return t;if(!t)return e;let n=j(e),r=j(t);if(!n&&!r)return{...e,...t};let i={},a=n?e:{en:e},o=r?t:{en:t};for(let[e,t]of Object.entries(a))i[e]={...t};for(let[e,t]of Object.entries(o))i[e]={...i[e],...t};return i}const Ue=[`clear`,`expand`,`fullscreen`,`popOut`,`sound`,`history`,`language`,`theme`,`textSize`,`close`];function We(e){return e!==`false`}function Ge(e){return e.split(`,`).map(e=>e.trim()).filter(Boolean)}const Ke=[[`public-key`,`publicKey`],[`ai-agent-deployment-id`,`aiAgentDeploymentId`],[`base-url`,`baseUrl`],[`agent-api-base-url`,`agentApiBaseUrl`],[`data-api-base-url`,`dataApiBaseUrl`],[`theme`,`theme`,e=>e]],qe=[[`mode`,`mode`,e=>e],[`position`,`position`,e=>e],[`iframe`,`iframe`,We]],Je=[[`width`,`width`],[`height`,`height`]],Ye=[[`response-mode`,`responseMode`,e=>e],[`start-minimized`,`startMinimized`,We],[`show-reasoning`,`showReasoning`,We],[`show-tool-calls`,`showToolCalls`,We],[`show-sources`,`showSources`,We],[`disable-message-feedback`,`disableMessageFeedback`,We],[`auto-send-suggestions`,`autoSendSuggestions`,We],[`pop-out-url`,`popOutUrl`]],Xe=[[`locale`,`locale`]],Ze=new Set(Ue);function Qe(e){return Ge(e).filter(e=>Ze.has(e))}const $e=[[`launcher-variant`,`variant`,e=>e],[`launcher-size`,`size`,e=>e],[`launcher-icon`,`icon`],[`launcher-hidden`,`hidden`,We]],R=[[`features-disable-file-upload`,`disableFileUpload`,We],[`features-voice`,`voice`,e=>e]],et=[[`endpoint-upload`,`upload`],[`endpoint-transcribe`,`transcribe`]],tt=[[`user-id`,`id`],[`user-email`,`email`],[`user-name`,`name`]],nt=[[`page-area`,`area`],[`page-url`,`url`],[`page-path`,`path`],[`page-title`,`title`]],rt=[`launcher-label`,`callout-text`,`callout-delay`,`actions`,`user-context`,`page-context`],it=[Ke,qe,Je,Ye,Xe,$e,R,et,tt,nt],at=/* @__PURE__ */ new Set([`iframe`,`start-minimized`]),ot=[...it.flatMap(e=>e.map(([e])=>e).filter(e=>!at.has(e))),...rt];function st(e){let t={};function n(t){let n=e(t);return n===null||n===``?void 0:n}for(let[e,r,i]of Ke){let a=n(e);a!==void 0&&(t[r]=i?i(a):a)}let r=ct(n,qe),i=ct(n,Je);(r||i)&&(t.presentation={...r,...i?{size:i}:{}});let a=ct(n,Ye);a&&(t.behavior=a);let o=ct(n,Xe);o&&(t.i18n=o);let s=ut(e,n);s&&(t.launcher=s);let c=ct(n,R);c&&(t.features=c);let l=ct(n,et);l&&(t.endpoints=l);let u=lt(n,tt,`user-context`);u&&(t.userContext=u);let d=lt(n,nt,`page-context`);d&&(t.pageContext=d);let f=n(`actions`);return f!==void 0&&(t.header={actions:Qe(f)}),t}function ct(e,t){let n={};for(let[r,i,a]of t){let t=e(r);t!==void 0&&(n[i]=a?a(t):t)}return Object.keys(n).length>0?n:null}function lt(e,t,n){let r={};for(let[n,i]of t){let t=e(n);t!==void 0&&(r[i]=t)}let i={},a=e(n);if(a)try{let e=JSON.parse(a);e&&typeof e==`object`&&!Array.isArray(e)&&(i=e)}catch{}let o={...i,...r};return Object.keys(o).length>0?o:null}function ut(e,t){let n=ct(t,$e)??{},r=e(`launcher-label`);r!==null&&(n.label=r);let i=t(`callout-text`);if(i){let e=Number.parseInt(t(`callout-delay`)??``,10);n.callout={text:i,...Number.isFinite(e)?{delayMs:e}:{}}}return Object.keys(n).length>0?n:null}const dt=L.scope(`track`);function ft(e,t){let n=typeof e==`string`?e.trim():``;if(!n||n.length>64){dt.warn(`track: ignored an event without a name of 1–64 characters`,{name:e});return}let r=Object.fromEntries(Object.entries(typeof t==`object`&&t?t:{}).filter(e=>typeof e[1]==`string`||typeof e[1]==`boolean`||Number.isFinite(e[1])));return JSON.stringify(r).length>256?(dt.warn(`track: sent the event without its data, which is over 256 characters`,{name:n}),{name:n}):Object.keys(r).length>0?{name:n,data:r}:{name:n}}function pt(e){let t=[];return e.on(`hostEvent`,e=>{t.push({...e,at:Date.now()}),t.length>10&&t.shift()}),t}function mt(){let e=Date.now(),t=/* @__PURE__ */ new Uint8Array(16);t[0]=Math.floor(e/2**40)&255,t[1]=Math.floor(e/2**32)&255,t[2]=e>>>24&255,t[3]=e>>>16&255,t[4]=e>>>8&255,t[5]=e&255,ht(t.subarray(6)),t[6]=t[6]&15|112,t[8]=t[8]&63|128;let n=Array.from(t,e=>e.toString(16).padStart(2,`0`)).join(``);return`${n.slice(0,8)}-${n.slice(8,12)}-${n.slice(12,16)}-${n.slice(16,20)}-${n.slice(20)}`}function ht(e){if(typeof crypto<`u`&&typeof crypto.getRandomValues==`function`)crypto.getRandomValues(e);else for(let t=0;t<e.length;t++)e[t]=Math.floor(Math.random()*256)}const gt=L.scope(`persistence`);function _t(e,t=ee,n){let r=n?`${e}.${n}`:e,i=`${M.cssPrefix}.storageVersion`,a=t.get(i)??void 0,o=a?`.v${a}`:``,s=`${M.cssPrefix}.${r}${o}`,c=`${M.cssPrefix}${o}.visitorId`,l=`${s}.conversationId`,u=`${s}.userPrefs`,d=`${s}.panelOpen`,f=`${s}.panelSize`,p=`${s}.calloutDismissed`,m=`${s}.sidebarCollapsed`,h=`${s}.activeModule`,g=`${s}.seenNewsId`,_=`${s}.historyCount`,v=`${s}.formsDone`,y={getVisitorId(){let e=t.get(c);if(e)return e;let n=mt();return t.set(c,n),n},loadConversationId(){return t.get(l)??void 0},saveConversationId(e){gt.trace(`saveConversationId`,{id:e,scope:r}),e?t.set(l,e):t.remove(l)},loadDraft(e){return t.get(`${s}.draft.${e}`)??``},saveDraft(e,n){let r=`${s}.draft.${e}`;n?t.set(r,n):t.remove(r)},loadMessageQueue(e){let n=t.get(`${s}.messageQueue.${e}`);if(!n)return[];try{let e=JSON.parse(n);return!Array.isArray(e)||!e.every(yt)?[]:e}catch(e){return gt.warn(`loadMessageQueue parse failed`,{error:e}),[]}},saveMessageQueue(e,n){let r=`${s}.messageQueue.${e}`;if(n.length===0)t.remove(r);else try{t.set(r,JSON.stringify(n))}catch(e){gt.warn(`saveMessageQueue serialise failed`,{error:e})}},loadUserPrefs(){let e=t.get(u);if(!e)return{};try{return bt(JSON.parse(e))}catch(e){return gt.warn(`loadUserPrefs parse failed`,{error:e}),{}}},saveUserPrefs(e){try{t.set(u,JSON.stringify(e))}catch(e){gt.warn(`saveUserPrefs serialise failed`,{error:e})}},patchUserPrefs(e){let t=y.loadUserPrefs();y.saveUserPrefs({...t,...e})},loadPanelOpen(){let e=t.get(d);return e===`1`||e!==`0`&&null},savePanelOpen(e){t.set(d,e?`1`:`0`)},loadPanelSize(){let e=t.get(f);return e===`normal`||e===`expanded`||e===`fullscreen`?e:null},savePanelSize(e){t.set(f,e)},loadCalloutDismissed(e){if(!e)return!1;let n=t.get(p);return!!n&&n===e},saveCalloutDismissed(e){e?t.set(p,e):t.remove(p)},loadSidebarCollapsed(){let e=t.get(m);return e===`1`||e!==`0`&&null},saveSidebarCollapsed(e){t.set(m,e?`1`:`0`)},loadActiveModule(){return t.get(h)||null},saveActiveModule(e){t.set(h,e)},loadSeenNewsId(){return t.get(g)||null},saveSeenNewsId(e){t.set(g,e)},loadHistoryCount(){let e=t.get(_);if(!e)return null;let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=0?n:null},saveHistoryCount(e){t.set(_,String(e))},loadFormsDone(){let e=t.get(v);if(!e)return{};try{let t=JSON.parse(e);return vt(t)?Object.fromEntries(Object.entries(t).filter(e=>typeof e[1]==`number`)):{}}catch(e){return gt.warn(`loadFormsDone parse failed`,{error:e}),{}}},saveFormDone(e){try{let n=y.loadFormsDone();n[e]=Date.now(),t.set(v,JSON.stringify(n))}catch(e){gt.warn(`saveFormDone serialise failed`,{error:e})}},rememberStorageVersion(e){e&&e!==t.get(i)&&(gt.debug(`rememberStorageVersion (force-reset on next load)`,{version:e}),t.set(i,e))},clearConversation(){t.remove(l)},reset(){let e=t.get(l);e&&(t.remove(`${s}.draft.${e}`),t.remove(`${s}.messageQueue.${e}`));for(let e of[c,l,u,d,f,p,m,h,g,_,v])t.remove(e);gt.info(`reset: forgot the visitor`,{scope:r})}};return y}function vt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function yt(e){return vt(e)&&typeof e.id==`string`&&e.id.length>0&&typeof e.text==`string`}function bt(e){if(!vt(e))return{};let t={};return typeof e.locale==`string`&&(t.locale=e.locale),typeof e.soundMuted==`boolean`&&(t.soundMuted=e.soundMuted),(e.themeMode===`auto`||e.themeMode===`light`||e.themeMode===`dark`)&&(t.themeMode=e.themeMode),(e.textSize===`small`||e.textSize===`normal`||e.textSize===`large`)&&(t.textSize=e.textSize),vt(e.widgetSize)&&typeof e.widgetSize.width==`number`&&typeof e.widgetSize.height==`number`&&(t.widgetSize={width:e.widgetSize.width,height:e.widgetSize.height}),t}const xt=`1.12.5`,St={open:()=>void 0,close:()=>void 0,expand:e=>({on:e}),fullscreen:e=>({on:e}),send:e=>({attachments:e.attachmentCount}),message:e=>({role:e.role}),stop:()=>void 0,clear:()=>void 0,suggestion:()=>void 0,toggleHistory:e=>({view:e.view}),handshake:()=>void 0,formSubmit:e=>({formId:e.formId,skipped:e.skipped}),toolResult:()=>void 0,toolDecision:e=>({approved:e.approved}),hostEvent:e=>({name:e.name,data:e.data&&JSON.stringify(e.data)}),messageFeedback:e=>({value:e.value??`none`}),contentView:e=>({section:e.section,count:e.count}),contentOpen:e=>({contentId:e.contentId,contentCollectionId:e.contentCollectionId}),contentSearch:e=>({qlen:e.queryLength,hits:e.hitCount}),contentRead:e=>({contentId:e.contentId}),contentLinkClick:e=>({contentId:e.contentId}),attach:e=>({count:e.count,bytes:e.totalBytes}),voiceStart:()=>void 0,voiceStop:e=>({ms:e.durationMs}),voiceCancel:()=>void 0,localeChange:e=>({locale:e}),themeChange:e=>({theme:e}),textSizeChange:e=>({size:e}),soundToggle:e=>({muted:e.muted}),sidebarToggle:e=>({collapsed:e.collapsed}),calloutDismiss:()=>void 0,error:()=>void 0};function Ct(){let e=navigator;return e.globalPrivacyControl===!0||e.doNotTrack===`1`}function wt(){return location.origin+location.pathname}function Tt(){try{return document.referrer?new URL(document.referrer).origin:``}catch{return``}}function Et(e,t){let n=Math.random(),r=0,i=0,a=/* @__PURE__ */ new Set;function o(e,o){let{tracking:s,publicKey:c,aiAgentDeploymentId:l,mode:u,themeMode:d}=t.getOptions();if(!s.enabled||Ct()||n>=s.sampleRate)return;let f=performance.now();if(f-r>6e4&&(r=f,i=0),++i>60)return;let p=new URLSearchParams;p.set(`v`,`1`),p.set(`_ev`,xt),p.set(`e`,e),s.token&&p.set(`tk`,s.token),c&&p.set(`pk`,c),l&&p.set(`dep`,l),p.set(`vid`,t.getVisitorId());let m=t.getConversationId();m&&p.set(`cid`,m),p.set(`url`,wt());let h=Tt();h&&p.set(`ref`,h),p.set(`sw`,String(screen.width)),p.set(`sh`,String(screen.height)),p.set(`vw`,String(innerWidth)),p.set(`vh`,String(innerHeight)),p.set(`dpr`,String(devicePixelRatio)),p.set(`lang`,navigator.language);try{p.set(`tz`,Intl.DateTimeFormat().resolvedOptions().timeZone)}catch{}if(p.set(`m`,u),p.set(`th`,d),o)for(let[e,t]of Object.entries(o))t!==void 0&&p.set(e,String(t));p.set(`ts`,String(Date.now()));let g=`${s.endpoint}?${p}`;if(g.length>2e3)return;let _=new Image(1,1);a.add(_);function v(){return a.delete(_)}_.addEventListener(`load`,v,{once:!0}),_.addEventListener(`error`,v,{once:!0}),_.src=g}let s=[];function c(e,t){if(s&&e!==`handshake`){s.length<60&&s.push([e,t]);return}let n=s??[];s=void 0;for(let[e,t]of n)o(e,t);o(e,t)}let l=Object.keys(St).map(t=>e.on(t,e=>c(t,St[t]?.(e))));return()=>{for(let e of l)e();a.clear()}}const Dt=`:host{--__P__-accent-user: __BRAND_ACCENT__;--__P__-accent: var(--__P__-accent-user);--__P__-accent-text-user: __BRAND_ACCENT_TEXT__;--__P__-accent-text: var(--__P__-accent-text-user);--__P__-accent-fg: var(--__P__-accent);--__P__-radius: __BRAND_RADIUS__;--__P__-radius-sm: 8px;--__P__-radius-md: 10px;--__P__-radius-lg: 16px;--__P__-font: __BRAND_FONT__;--__P__-font-display: var(--__P__-font);--__P__-font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--__P__-bg: oklch(1 0 0);--__P__-bg-elevated: oklch(.9789 .0029 278.3);--__P__-surface: var(--__P__-bg-elevated);--__P__-muted: var(--__P__-fg-muted);--__P__-hover: oklch(.1686 .011 278.3 / .06);--__P__-fg: oklch(.1686 .011 278.3);--__P__-fg-muted: oklch(.4932 .0301 278.3);--__P__-border: oklch(.9312 .0084 278.3);--__P__-border-strong: oklch(.8757 .0131 278.3);--__P__-bubble-user: var(--__P__-accent);--__P__-bubble-user-text: var(--__P__-accent-text);--__P__-bubble-assistant: oklch(.9638 .0058 278.3);--__P__-bubble-assistant-text: var(--__P__-fg);--__P__-on-accent: var(--__P__-accent-text);--__P__-success: oklch(.6456 .1654 151.53);--__P__-warning: oklch(.7135 .1494 74.05);--__P__-danger: oklch(.5966 .1818 24.51);--__P__-danger-text: oklch(.5054 .1905 27.52);--__P__-danger-bg: oklch(.5966 .1818 24.51 / .1);--__P__-neutral: oklch(.7137 .0192 278.3);--__P__-pill-l-min: .3;--__P__-pill-l-max: .46;--__P__-focus: var(--__P__-accent);--__P__-shadow-panel: 0 8px 24px -8px rgba(13, 15, 20, .18), 0 24px 64px -24px rgba(13, 15, 20, .24);--__P__-shadow-card: 0 1px 2px rgba(13, 15, 20, .06), 0 4px 12px -6px rgba(13, 15, 20, .12);--__P__-backdrop: oklch(.1686 .011 278.3 / .55);--__P__-shadow-fab: 0 6px 16px -4px color-mix(in oklch, var(--__P__-accent) 45%, transparent), 0 12px 32px -12px rgba(13, 15, 20, .25);--__P__-z-fab: 2147483600;--__P__-z-panel: 2147483601;--__P__-panel-w: 380px;--__P__-panel-h: 600px;--__P__-fab-size: 56px;--__P__-conversation-max: 768px;--__P__-space-1: 4px;--__P__-space-2: 8px;--__P__-space-3: 12px;--__P__-space-4: 16px;--__P__-space-5: 20px;--__P__-space-6: 24px;--__P__-space-8: 32px;--__P__-text-scale: 1;--__P__-text-xs: calc(12px * var(--__P__-text-scale));--__P__-text-sm: calc(13px * var(--__P__-text-scale));--__P__-text-base: calc(15px * var(--__P__-text-scale));--__P__-text-md: calc(16px * var(--__P__-text-scale));--__P__-text-lg: calc(18px * var(--__P__-text-scale));--__P__-text-xl: calc(22px * var(--__P__-text-scale));--__P__-text-2xl: calc(30px * var(--__P__-text-scale))}:host([data-mode="modal"]),:host([data-mode="drawer"]){--__P__-conversation-max: 100%}:host([data-text-size="small"]){--__P__-text-scale: .9}:host([data-text-size="large"]){--__P__-text-scale: 1.15}:host{--__P__-ease: cubic-bezier(.2, .7, .2, 1);--__P__-ease-out: cubic-bezier(.2, .7, .2, 1);--__P__-ease-in: cubic-bezier(.4, 0, 1, 1);--__P__-ease-in-out: cubic-bezier(.65, 0, .35, 1);--__P__-dur-quick: .12s;--__P__-dur-base: .22s;--__P__-dur-slow: .32s;font-family:var(--__P__-font);color:var(--__P__-fg);color-scheme:light;--__P__-color-scheme: light}:host([data-theme="dark"]){--__P__-bg: oklch(.1783 .0128 278.3);--__P__-bg-elevated: oklch(.2232 .0182 278.3);--__P__-fg: oklch(.9368 .01 278.3);--__P__-fg-muted: oklch(.7048 .0296 278.3);--__P__-border: oklch(.2752 .0266 278.3);--__P__-border-strong: oklch(.335 .0291 278.3);--__P__-hover: oklch(.9368 .01 278.3 / .08);--__P__-bubble-assistant: oklch(.2474 .0311 278.3);--__P__-bubble-assistant-text: var(--__P__-fg);--__P__-danger-text: oklch(.8077 .1035 19.57);--__P__-danger-bg: oklch(.5966 .1818 24.51 / .18);--__P__-shadow-panel: 0 8px 24px -8px rgba(0, 0, 0, .6), 0 24px 64px -24px rgba(0, 0, 0, .7);--__P__-shadow-card: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 12px -6px rgba(0, 0, 0, .5);--__P__-backdrop: rgba(0, 0, 0, .65);--__P__-pill-l-min: .75;--__P__-pill-l-max: .92;color-scheme:dark;--__P__-color-scheme: dark}@media(prefers-color-scheme:dark){:host([data-theme="auto"]){--__P__-bg: oklch(.1783 .0128 278.3);--__P__-bg-elevated: oklch(.2232 .0182 278.3);--__P__-fg: oklch(.9368 .01 278.3);--__P__-fg-muted: oklch(.7048 .0296 278.3);--__P__-border: oklch(.2752 .0266 278.3);--__P__-border-strong: oklch(.335 .0291 278.3);--__P__-hover: oklch(.9368 .01 278.3 / .08);--__P__-bubble-assistant: oklch(.2474 .0311 278.3);--__P__-bubble-assistant-text: var(--__P__-fg);--__P__-pill-l-min: .75;--__P__-pill-l-max: .92;--__P__-shadow-panel: 0 8px 24px -8px rgba(0, 0, 0, .6), 0 24px 64px -24px rgba(0, 0, 0, .7);color-scheme:dark;--__P__-color-scheme: dark}}@supports (color: oklch(from red l c h)){:host{--__P__-accent: oklch(from var(--__P__-accent-user) clamp(.3, l, .62) c h);--__P__-accent-text: oklch(from var(--__P__-accent) clamp(0, (l / .623 - 1) * -infinity, 1) 0 h);--__P__-accent-fg: oklch(from var(--__P__-accent-user) clamp(.3, l, .46) c h)}:host([data-theme="dark"]){--__P__-accent: oklch(from var(--__P__-accent-user) clamp(.65, l, .85) c h);--__P__-accent-fg: var(--__P__-accent)}@media(prefers-color-scheme:dark){:host([data-theme="auto"]){--__P__-accent: oklch(from var(--__P__-accent-user) clamp(.65, l, .85) c h);--__P__-accent-fg: var(--__P__-accent)}}}@media(prefers-reduced-motion:reduce){:host{--__P__-dur-quick: 1ms;--__P__-dur-base: 1ms;--__P__-dur-slow: 1ms}}
|
|
2
2
|
|
|
3
3
|
*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;border:0}button{font:inherit;color:inherit;background:none;cursor:pointer;-webkit-appearance:none;appearance:none;line-height:1}button:focus-visible,[tabindex]:focus-visible,textarea:focus-visible,input:focus-visible{outline:2px solid var(--__P__-accent);outline-offset:2px}textarea,input{font:inherit;color:inherit;background:none;border:0;outline:0;resize:none}a{color:var(--__P__-accent-fg);text-decoration:underline;text-underline-offset:2px}img,svg{display:block;max-width:100%}ul,ol{list-style:none}.__P__-app{display:block;width:100%;height:100%;font-family:var(--__P__-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01","ss03"}.__P__-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
|
|
4
4
|
|
|
@@ -6,7 +6,7 @@ import{Component as e,h as t,render as n}from"preact";import{batch as r,computed
|
|
|
6
6
|
|
|
7
7
|
.__P__-generative-ui{display:grid;gap:var(--__P__-space-3);overflow-wrap:anywhere;white-space:pre-wrap}.__P__-generative-ui p{margin:0}.__P__-generative-ui-grid-container{container:__P__-generative-ui-grid / inline-size;min-width:0}.__P__-generative-ui-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:16px}.__P__-generative-ui-cell{display:grid;align-content:start;min-width:0;gap:16px}@container __P__-generative-ui-grid (min-width: 496px){.__P__-generative-ui-grid:is([data-columns="2"],[data-columns="3"],[data-columns="4"]){grid-template-columns:repeat(2,minmax(0,1fr))}.__P__-generative-ui-grid:is([data-columns="2"],[data-columns="3"],[data-columns="4"])>.__P__-generative-ui-cell:is([data-span="2"],[data-span="3"],[data-span="4"]){grid-column:span 2}}@container __P__-generative-ui-grid (min-width: 752px){.__P__-generative-ui-grid:is([data-columns="3"],[data-columns="4"]){grid-template-columns:repeat(3,minmax(0,1fr))}.__P__-generative-ui-grid:is([data-columns="3"],[data-columns="4"])>.__P__-generative-ui-cell:is([data-span="3"],[data-span="4"]){grid-column:span 3}}@container __P__-generative-ui-grid (min-width: 1008px){.__P__-generative-ui-grid[data-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.__P__-generative-ui-grid[data-columns="4"]>.__P__-generative-ui-cell[data-span="4"]{grid-column:span 4}}.__P__-generative-ui section{display:grid;gap:var(--__P__-space-2);padding:var(--__P__-space-3);border:1px solid var(--__P__-border);border-radius:var(--__P__-radius-md);min-width:0}.__P__-generative-ui-metric{font-size:1.6em;font-weight:700}.__P__-generative-ui-table{overflow-x:auto}.__P__-generative-ui table{width:100%;border-collapse:collapse;white-space:normal}.__P__-generative-ui caption{text-align:start;font-weight:600;padding-bottom:var(--__P__-space-2)}.__P__-generative-ui th,.__P__-generative-ui td{text-align:start;padding:var(--__P__-space-2);border-bottom:1px solid var(--__P__-border)}.__P__-generative-ui-chart{display:block;width:100%;color:var(--__P__-accent)}.__P__-generative-ui-axis{stroke:var(--__P__-border)}.__P__-generative-ui-data{display:flex;flex-wrap:wrap;gap:var(--__P__-space-2);font-size:.85em}
|
|
8
8
|
|
|
9
|
-
:host([data-mode="page"]){min-height:0}:host([data-mode="page"]) .__P__-page-shell{display:grid;grid-template-columns:280px 1fr;width:100%;height:100%;min-height:0;background:var(--__P__-bg);color:var(--__P__-fg);transition:grid-template-columns var(--__P__-dur-base) var(--__P__-ease-in-out)}:host([data-mode="page"]) .__P__-page-shell[data-sidebar-collapsed=true]{grid-template-columns:48px 1fr}:host([data-mode="page"]) .__P__-page-chat{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}:host([data-mode="page"]) .__P__-anchor{position:static;inset:auto;padding:0;align-items:stretch;width:100%;height:100%;min-width:0;min-height:0;flex:1 1 0}:host([data-mode="page"]) .__P__-panel{width:100%;height:100%;min-width:0;min-height:0;max-width:none;max-height:none;border-radius:0;border:0;box-shadow:none;animation:none}:host([data-mode="page"]) .__P__-sidebar{border-inline-end:1px solid var(--__P__-border);display:flex;flex-direction:column;overflow:hidden;background:var(--__P__-surface)}:host([data-mode="page"]) .__P__-sidebar-header{padding:var(--__P__-space-4) var(--__P__-space-5);border-bottom:1px solid var(--__P__-border);display:flex;align-items:center;justify-content:space-between;gap:var(--__P__-space-2);min-height:56px;box-sizing:border-box}:host([data-mode="page"]) .__P__-sidebar[data-collapsed=true] .__P__-sidebar-header{padding:var(--__P__-space-4) var(--__P__-space-2);justify-content:center}:host([data-mode="page"]) .__P__-sidebar[data-collapsed=true] .__P__-sidebar-logo,:host([data-mode="page"]) .__P__-sidebar[data-collapsed=true] .__P__-sidebar-title{display:none}:host([data-mode="page"]) .__P__-sidebar-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--__P__-border);border-radius:6px;background:transparent;color:var(--__P__-fg);cursor:pointer;transition:background .12s,border-color .12s}:host([data-mode="page"]) .__P__-sidebar-toggle:hover{background:var(--__P__-hover);border-color:var(--__P__-accent)}:host([data-mode="page"]) .__P__-sidebar-toggle:focus-visible{outline:2px solid var(--__P__-accent);outline-offset:2px}:host([data-mode="page"]) .__P__-sidebar-logo{height:32px;display:block}:host([data-mode="page"]) .__P__-sidebar-title{font-size:var(--__P__-text-md);font-weight:600}:host([data-mode="page"]) .__P__-sidebar-section{padding:var(--__P__-space-3) var(--__P__-space-4);border-bottom:1px solid var(--__P__-border)}:host([data-mode="page"]) .__P__-sidebar-nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}:host([data-mode="page"]) .__P__-sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:var(--__P__-space-2) var(--__P__-space-3);border-radius:var(--__P__-radius-sm);color:var(--__P__-fg);text-decoration:none;font-size:calc(14px * var(--__P__-text-scale));transition:background var(--__P__-dur-quick) var(--__P__-ease-out)}:host([data-mode="page"]) .__P__-sidebar-nav-item:hover{background:var(--__P__-hover)}:host([data-mode="page"]) .__P__-sidebar-nav-item:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:-2px}:host([data-mode="page"]) .__P__-sidebar-cards{display:grid;grid-template-columns:1fr;gap:var(--__P__-space-2)}:host([data-mode="page"]) .__P__-sidebar-card{display:block;padding:10px 12px;border:1px solid var(--__P__-border);border-radius:var(--__P__-radius-sm);text-decoration:none;color:var(--__P__-fg);transition:border-color var(--__P__-dur-quick) var(--__P__-ease-out)}:host([data-mode="page"]) .__P__-sidebar-card:hover{border-color:var(--__P__-accent)}:host([data-mode="page"]) .__P__-sidebar-card:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px}:host([data-mode="page"]) .__P__-sidebar-card-label{font-weight:600;font-size:calc(14px * var(--__P__-text-scale))}:host([data-mode="page"]) .__P__-sidebar-card-desc{font-size:var(--__P__-text-xs);color:var(--__P__-muted);margin-top:2px}:host([data-mode="page"]) .__P__-sidebar-conversations{flex:1 1 auto;overflow-y:auto;padding:var(--__P__-space-3) var(--__P__-space-4)}:host([data-mode="page"]) .__P__-page-chat{display:flex;flex-direction:column;overflow:hidden}@media(max-width:768px){:host([data-mode="page"]) .__P__-page-shell{grid-template-columns:1fr}:host([data-mode="page"]) .__P__-sidebar{display:none}}
|
|
9
|
+
:host([data-mode="page"]){min-height:0}:host([data-mode="page"]) .__P__-page-shell{display:grid;grid-template-columns:280px 1fr;width:100%;height:100%;min-height:0;background:var(--__P__-bg);color:var(--__P__-fg);transition:grid-template-columns var(--__P__-dur-base) var(--__P__-ease-in-out)}:host([data-mode="page"]) .__P__-page-shell[data-sidebar-collapsed=true]{grid-template-columns:48px 1fr}:host([data-mode="page"]) .__P__-page-chat{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}:host([data-mode="page"]) .__P__-anchor{position:static;inset:auto;padding:0;align-items:stretch;width:100%;height:100%;min-width:0;min-height:0;flex:1 1 0}:host([data-mode="page"]) .__P__-panel{width:100%;height:100%;min-width:0;min-height:0;max-width:none;max-height:none;border-radius:0;border:0;box-shadow:none;animation:none}:host([data-mode="page"]) .__P__-sidebar{border-inline-end:1px solid var(--__P__-border);display:flex;flex-direction:column;overflow:hidden;background:var(--__P__-surface)}:host([data-mode="page"]) .__P__-sidebar-header{padding:var(--__P__-space-4) var(--__P__-space-5);border-bottom:1px solid var(--__P__-border);display:flex;align-items:center;justify-content:space-between;gap:var(--__P__-space-2);min-height:56px;box-sizing:border-box}:host([data-mode="page"]) .__P__-sidebar[data-collapsed=true] .__P__-sidebar-header{padding:var(--__P__-space-4) var(--__P__-space-2);justify-content:center}:host([data-mode="page"]) .__P__-sidebar[data-collapsed=true] .__P__-sidebar-logo,:host([data-mode="page"]) .__P__-sidebar[data-collapsed=true] .__P__-sidebar-title{display:none}:host([data-mode="page"]) .__P__-sidebar-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--__P__-border);border-radius:6px;background:transparent;color:var(--__P__-fg);cursor:pointer;transition:background .12s,border-color .12s}:host([data-mode="page"]) .__P__-sidebar-toggle:hover{background:var(--__P__-hover);border-color:var(--__P__-accent)}:host([data-mode="page"]) .__P__-sidebar-toggle:focus-visible{outline:2px solid var(--__P__-accent);outline-offset:2px}:host([data-mode="page"]) .__P__-sidebar-logo{height:32px;display:block;border-radius:var(--__P__-radius-md)}:host([data-mode="page"]) .__P__-sidebar-title{font-size:var(--__P__-text-md);font-weight:600}:host([data-mode="page"]) .__P__-sidebar-section{padding:var(--__P__-space-3) var(--__P__-space-4);border-bottom:1px solid var(--__P__-border)}:host([data-mode="page"]) .__P__-sidebar-nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}:host([data-mode="page"]) .__P__-sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:var(--__P__-space-2) var(--__P__-space-3);border-radius:var(--__P__-radius-sm);color:var(--__P__-fg);text-decoration:none;font-size:calc(14px * var(--__P__-text-scale));transition:background var(--__P__-dur-quick) var(--__P__-ease-out)}:host([data-mode="page"]) .__P__-sidebar-nav-item:hover{background:var(--__P__-hover)}:host([data-mode="page"]) .__P__-sidebar-nav-item:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:-2px}:host([data-mode="page"]) .__P__-sidebar-cards{display:grid;grid-template-columns:1fr;gap:var(--__P__-space-2)}:host([data-mode="page"]) .__P__-sidebar-card{display:block;padding:10px 12px;border:1px solid var(--__P__-border);border-radius:var(--__P__-radius-sm);text-decoration:none;color:var(--__P__-fg);transition:border-color var(--__P__-dur-quick) var(--__P__-ease-out)}:host([data-mode="page"]) .__P__-sidebar-card:hover{border-color:var(--__P__-accent)}:host([data-mode="page"]) .__P__-sidebar-card:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px}:host([data-mode="page"]) .__P__-sidebar-card-label{font-weight:600;font-size:calc(14px * var(--__P__-text-scale))}:host([data-mode="page"]) .__P__-sidebar-card-desc{font-size:var(--__P__-text-xs);color:var(--__P__-muted);margin-top:2px}:host([data-mode="page"]) .__P__-sidebar-conversations{flex:1 1 auto;overflow-y:auto;padding:var(--__P__-space-3) var(--__P__-space-4)}:host([data-mode="page"]) .__P__-page-chat{display:flex;flex-direction:column;overflow:hidden}@media(max-width:768px){:host([data-mode="page"]) .__P__-page-shell{grid-template-columns:1fr}:host([data-mode="page"]) .__P__-sidebar{display:none}}
|
|
10
10
|
`.replace(/__P__/g,`helpai`).replaceAll(`__BRAND_ACCENT_TEXT__`,`#FFFFFF`).replaceAll(`__BRAND_ACCENT__`,`#5B5BD6`).replaceAll(`__BRAND_RADIUS__`,`12px`).replaceAll(`__BRAND_FONT__`,`Inter, system-ui, -apple-system, 'Segoe UI', sans-serif`),Ot=[`data-theme`,`data-color-scheme`,`data-mode`,`data-bs-theme`];function kt(e){if(e){if(e.classList.contains(`dark`))return`dark`;if(e.classList.contains(`light`))return`light`;for(let t of Ot){let n=e.getAttribute(t);if(n===`dark`||n===`light`)return n}}}function At(e=document){let t=kt(e.documentElement)??kt(e.body);if(t)return t;let n=getComputedStyle(e.documentElement).colorScheme.trim();return n===`dark`||n===`light`?n:typeof matchMedia==`function`&&matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}function jt(e,t=document){let n=At(t);e(n);function r(){let r=At(t);r!==n&&(n=r,e(r))}let i=new MutationObserver(r),a={attributes:!0,attributeFilter:[`class`,`style`,...Ot]};i.observe(t.documentElement,a),t.body&&i.observe(t.body,a);let o=typeof matchMedia==`function`?matchMedia(`(prefers-color-scheme: dark)`):void 0;return o?.addEventListener(`change`,r),()=>{i.disconnect(),o?.removeEventListener(`change`,r)}}const Mt=L.scope(`mount`),Nt=/* @__PURE__ */ new WeakMap,Pt={floating:`all: initial; position: fixed; z-index: 2147483600;`,flow:`all: initial; display: block; position: relative; width: 100%; height: 100%; z-index: 1; contain: size;`,viewport:`all: initial; display: block; position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1;`};function Ft(e,t){e.style.cssText=Pt[t]}function It(e){return e===`floating`||e===`modal`||e===`drawer`?`floating`:e===`standalone`||e===`page`?`viewport`:`flow`}function Lt(e={}){let t=e.position??`flow`;Mt.debug(`createShadowMount`,{position:t,hasTarget:!!e.target,hasHost:!!e.existingHost});let n=`${M.cssPrefix}-chat-host`;typeof customElements<`u`&&!customElements.get(n)&&customElements.define(n,class extends HTMLElement{});let r;e.existingHost?r=e.existingHost:(r=document.createElement(n),(e.target??document.body).appendChild(r)),r.setAttribute(`data-brand`,M.id),r.style.cssText=Pt[t];let i=r.shadowRoot??r.attachShadow({mode:`open`}),a=r.ownerDocument;if(!Rt(i,a)){let e=a.createElement(`style`);e.textContent=Dt,i.appendChild(e)}let o=document.createElement(`div`);return o.className=`${M.cssPrefix}-app`,i.appendChild(o),{appRoot:o,destroy:()=>r.remove(),hostElement:r,shadowRoot:i}}function Rt(e,t){if(!(`adoptedStyleSheets`in e))return!1;let n=t.defaultView;if(!n||typeof n.CSSStyleSheet!=`function`)return!1;let r=Nt.get(t);if(!r)try{r=new n.CSSStyleSheet,r.replaceSync(Dt),Nt.set(t,r)}catch{return!1}try{return e.adoptedStyleSheets=[r],!0}catch{return!1}}function zt(e,t){let n=M.cssPrefix;t.accent&&e.style.setProperty(`--${n}-accent-user`,t.accent),t.accentText&&e.style.setProperty(`--${n}-accent-text-user`,t.accentText),t.radius&&e.style.setProperty(`--${n}-radius`,t.radius),t.fontFamily&&e.style.setProperty(`--${n}-font`,t.fontFamily),t.contentMaxWidth&&e.style.setProperty(`--${n}-conversation-max`,t.contentMaxWidth)}function Bt(e,t){e.dataset.theme=t===`host`?At():t}function Vt(e,t){let n=M.cssPrefix;t.width!==void 0&&e.style.setProperty(`--${n}-panel-w`,t.width),t.height!==void 0&&e.style.setProperty(`--${n}-panel-h`,t.height),t.expanded?.width!==void 0&&e.style.setProperty(`--${n}-expanded-w`,t.expanded.width),t.expanded?.height!==void 0&&e.style.setProperty(`--${n}-expanded-h`,t.expanded.height),t.inset!==void 0&&e.style.setProperty(`--${n}-panel-inset`,t.inset)}function Ht(e,t){e.dataset.position=t}function Ut(e,t){e.dataset.mode=t}function Wt(e,t){Bt(e,t.themeMode),zt(e,t.themeOverrides),Ht(e,t.position),Vt(e,t.size)}function Gt(e){if(!e.aiAgentDeploymentId)throw Error(`aiAgentDeploymentId is required`);return{headers(){let t={"x-ai-agent-deployment-id":e.aiAgentDeploymentId};return e.publicKey&&(t[e.publicKeyHeader??`x-public-key`]=e.publicKey),t}}}const Kt=/* @__PURE__ */ new Set([`home`,`chats`,`help`,`news`]);function qt(e){return typeof e!=`object`||!e||!(`to`in e)||typeof e.to!=`string`||!Kt.has(e.to)?!1:!(`id`in e)||e.id===void 0||typeof e.id==`string`}function Jt(e){let[t=``,...n]=e.trim().split(`/`);if(t===``||t===`open`)return;let r=n.join(`/`);return r?{to:t,id:r}:{to:t}}function Yt(e,t){return{text:e,send:typeof t==`object`&&!!t&&`send`in t&&t.send===!0}}function Xt(e){if(typeof e!=`object`||!e||!(`text`in e)||typeof e.text!=`string`)return;let t=e.text.trim();return t?{text:t,send:`send`in e&&e.send===!0}:void 0}function Zt(e){return`${M.cssPrefix}:${e}`}function Qt(e,t,n){e.dispatchEvent(new CustomEvent(Zt(t),{detail:n}))}function $t(e,t){let n=Object.entries(t).map(([t,n])=>{let r=Zt(t);function i(e){return n(e.detail)}return e.addEventListener(r,i),[r,i]});return()=>{for(let[t,r]of n)e.removeEventListener(t,r)}}function en(e,t){let n=[],r;for(let i of e){let e=new URLSearchParams(i);e.has(t)?r??(r=e.get(t)??``):n.push(i)}return{value:r,rest:n}}function tn(e){let t=new URL(e),n=M.cssPrefix,r=`${M.cssPrefix}-ask`,i=t.search.slice(1).split(`&`).filter(Boolean),a=t.hash.slice(1).split(`&`).filter(Boolean),o=en(i,n),s=en(o.rest,r),c=en(a,n),l=en(c.rest,r),u=o.value??c.value,d=(s.value??l.value)?.trim()||void 0;if(u!==void 0||d!==void 0)return t.search=s.rest.join(`&`),t.hash=l.rest.join(`&`),{target:u===void 0?void 0:Jt(u),...d?{ask:d}:{},url:t.toString()}}function nn(e){"@babel/helpers - typeof";return nn=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},nn(e)}function rn(e,t){if(nn(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(nn(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function an(e){var t=rn(e,`string`);return nn(t)==`symbol`?t:t+``}function z(e,t,n){return(t=an(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const on={open:!1,ready:!1,unread:0};var sn=class{constructor(){z(this,`handlers`,/* @__PURE__ */ new Map)}on(e,t){let n=this.handlers.get(e);return n||(n=/* @__PURE__ */ new Set,this.handlers.set(e,n)),n.add(t),()=>this.handlers.get(e)?.delete(t)}emit(e,t){let n=this.handlers.get(e);if(n)for(let e of n)try{e(t)}catch{}}clear(){this.handlers.clear()}};const cn=L.scope(`feedback:audio`);var ln=class{constructor(){z(this,`ctx`,null),z(this,`master`,null),z(this,`buffers`,/* @__PURE__ */ new Map)}unlock(){if(this.ctx){this.ctx.state===`suspended`&&this.ctx.resume();return}let e=globalThis.AudioContext??globalThis.webkitAudioContext;if(e)try{this.ctx=new e,this.master=this.ctx.createGain(),this.master.gain.value=1,this.master.connect(this.ctx.destination)}catch(e){cn.warn(`AudioContext init failed`,{err:e})}}setVolume(e){if(!this.master||!this.ctx)return;let t=Math.max(0,Math.min(1,e));this.master.gain.setTargetAtTime(t,this.ctx.currentTime,.01)}playTone(e){let t=this.ctx,n=this.master;if(!t||!n||t.state!==`running`)return;let r=t.currentTime,i=e.noteMs/1e3;e.notes.forEach((a,o)=>{let s=t.createOscillator();s.type=e.type,s.frequency.value=a;let c=t.createGain(),l=r+o*i;c.gain.setValueAtTime(1e-4,l),c.gain.exponentialRampToValueAtTime(e.peakGain,l+.005),c.gain.exponentialRampToValueAtTime(1e-4,l+i),s.connect(c).connect(n),s.start(l),s.stop(l+i+.01)})}async playUrl(e){let t=this.ctx,n=this.master;if(!t||!n||t.state!==`running`)return;let r=await this.getBuffer(e);if(!r)return;let i=t.createBufferSource();i.buffer=r,i.connect(n),i.start()}destroy(){this.ctx&&this.ctx.close().catch(()=>void 0),this.ctx=null,this.master=null,this.buffers.clear()}async getBuffer(e){if(!this.ctx)return null;let t=this.buffers.get(e);if(t)return t instanceof Promise,t;let n=this.ctx,r=fetch(e).then(e=>e.ok?e.arrayBuffer():Promise.reject(/* @__PURE__ */ Error(`fetch ${e.status}`))).then(e=>n.decodeAudioData(e)).then(t=>(this.buffers.set(e,t),t)).catch(t=>(cn.warn(`audio fetch/decode failed`,{url:e,err:t}),this.buffers.delete(e),null));return this.buffers.set(e,r),r}};const un={messageReceived:10,messageSent:0,error:[20,40,20],voiceStart:10,voiceStop:0},dn={messageReceived:{notes:[880,1318.51],noteMs:90,type:`sine`,peakGain:.45},messageSent:{notes:[1568],noteMs:60,type:`sine`,peakGain:.25},error:{notes:[523.25,392],noteMs:120,type:`triangle`,peakGain:.55},voiceStart:{notes:[1318.51],noteMs:50,type:`sine`,peakGain:.3},voiceStop:{notes:[880],noteMs:50,type:`sine`,peakGain:.3}};let fn=null,pn=0;function mn(){return typeof navigator<`u`&&typeof navigator.vibrate==`function`}function hn(){if(typeof document>`u`)return null;let e=document.createElement(`input`);e.type=`checkbox`,e.setAttribute(`switch`,``),e.setAttribute(`aria-hidden`,`true`),e.tabIndex=-1,e.id=`__${M.cssPrefix}_haptic_${Math.random().toString(36).slice(2)}`;let t=document.createElement(`label`);t.htmlFor=e.id,t.setAttribute(`aria-hidden`,`true`);let n=`position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;opacity:0!important;pointer-events:none!important;`;return e.style.cssText=n,t.style.cssText=n,document.body.append(e,t),{input:e,label:t}}function gn(e){if(!(e===0||Array.isArray(e)&&e.every(e=>e===0))){if(mn())try{navigator.vibrate(e);return}catch{}if(fn??(fn=hn()),fn)try{fn.label.click()}catch{}}}function B(){pn++;let e=!1;return()=>{e||(e=!0,pn=Math.max(0,pn-1),pn===0&&fn&&(fn.input.remove(),fn.label.remove(),fn=null))}}const _n=L.scope(`feedback`);var vn=class{constructor(e,t){z(this,`mutedSig`,o(!1)),z(this,`audio`,new ln),z(this,`releaseHaptics`,void 0),z(this,`sound`,void 0),z(this,`haptics`,void 0),z(this,`lastPlayed`,/* @__PURE__ */ new Map),z(this,`reducedMotionMq`,null),this.sound=e,this.haptics=t,this.releaseHaptics=B(),this.audio.setVolume(this.effectiveVolume()),typeof matchMedia<`u`&&(this.reducedMotionMq=matchMedia(`(prefers-reduced-motion: reduce)`))}unlock(){this.audio.unlock(),this.audio.setVolume(this.effectiveVolume())}update(e,t){this.sound=e,this.haptics=t,this.audio.setVolume(this.effectiveVolume())}setMuted(e){this.mutedSig.value!==e&&(this.mutedSig.value=e)}toggleMuted(){this.mutedSig.value=!this.mutedSig.value}play(e){this.mutedSig.value||this.isDeduped(e)||(this.lastPlayed.set(e,performance.now()),this.sound.enabled&&this.playSound(e),this.haptics.enabled&&this.isTouchDevice()&&this.playHaptic(e))}destroy(){this.audio.destroy(),this.releaseHaptics()}isDeduped(e){let t=this.lastPlayed.get(e);return t!==void 0&&performance.now()-t<100}playSound(e){let t=this.sound.events?.[e];if(t===!1)return;if(typeof t==`string`){this.audio.playUrl(t).catch(e=>_n.warn(`audio play failed`,{err:e,url:t}));return}let n=dn[e];n&&this.audio.playTone(n)}playHaptic(e){if(this.reducedMotionMq?.matches)return;let t=this.haptics.events?.[e];t!==!1&&gn(t===!0||t===void 0?un[e]:t)}effectiveVolume(){let e=this.sound.volume??.3;return this.reducedMotionMq?.matches?e*.5:e}isTouchDevice(){return typeof window>`u`?!1:matchMedia(`(hover: none) and (pointer: coarse)`).matches}};function yn(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function bn(e){return yn(e)}function xn(e){return!(!yn(e)||e.navigation!==void 0&&!Array.isArray(e.navigation)||e.linkCards!==void 0&&!Array.isArray(e.linkCards))}const Sn={root:`Root`,schema:{$schema:`https://json-schema.org/draft/2020-12/schema`,type:`object`,properties:{Root:{$ref:`#/$defs/Root`},Grid:{$ref:`#/$defs/Grid`},Cell:{$ref:`#/$defs/Cell`},Text:{$ref:`#/$defs/Text`},Card:{$ref:`#/$defs/Card`},Metric:{$ref:`#/$defs/Metric`},Table:{$ref:`#/$defs/Table`},Chart:{$ref:`#/$defs/Chart`}},required:[`Root`,`Grid`,`Cell`,`Text`,`Card`,`Metric`,`Table`,`Chart`],additionalProperties:!1,$defs:{Root:{type:`object`,properties:{children:{type:`array`,items:{anyOf:[{$ref:`#/$defs/Grid`},{$ref:`#/$defs/Text`},{$ref:`#/$defs/Card`},{$ref:`#/$defs/Metric`},{$ref:`#/$defs/Table`},{$ref:`#/$defs/Chart`}]}}},required:[`children`],additionalProperties:!1},Grid:{type:`object`,properties:{columns:{type:`integer`,enum:[1,2,3,4],default:1},children:{type:`array`,items:{anyOf:[{$ref:`#/$defs/Cell`},{$ref:`#/$defs/Text`},{$ref:`#/$defs/Card`},{$ref:`#/$defs/Metric`},{$ref:`#/$defs/Table`},{$ref:`#/$defs/Chart`}]}}},required:[`columns`,`children`],additionalProperties:!1},Cell:{type:`object`,properties:{children:{type:`array`,items:{anyOf:[{$ref:`#/$defs/Text`},{$ref:`#/$defs/Card`},{$ref:`#/$defs/Metric`},{$ref:`#/$defs/Table`},{$ref:`#/$defs/Chart`}]}},span:{type:`integer`,enum:[1,2,3,4],default:1}},required:[`children`],additionalProperties:!1},Text:{type:`object`,properties:{text:{type:`string`}},required:[`text`],additionalProperties:!1},Card:{type:`object`,properties:{title:{type:`string`},body:{type:`string`}},required:[`title`,`body`],additionalProperties:!1},Metric:{type:`object`,properties:{label:{type:`string`},value:{type:`string`},detail:{type:`string`}},required:[`label`,`value`,`detail`],additionalProperties:!1},Table:{type:`object`,properties:{title:{type:`string`},columns:{type:`array`,items:{type:`string`}},rows:{type:`array`,items:{type:`array`,items:{type:`string`}}}},required:[`title`,`columns`,`rows`],additionalProperties:!1},Chart:{type:`object`,properties:{title:{type:`string`},type:{type:`string`,enum:[`bar`,`line`]},data:{type:`array`,items:{type:`object`,properties:{label:{type:`string`},value:{type:`number`}},required:[`label`,`value`],additionalProperties:!1}}},required:[`title`,`type`,`data`],additionalProperties:!1}}}},Cn=An,wn={type:`object`,properties:{typeName:{const:`Grid`},statementId:{type:`string`},props:{type:`object`,properties:{columns:{type:`integer`,enum:[1,2,3,4],default:1},children:{type:`array`,items:{anyOf:[{$ref:`#/$defs/Cell`},{$ref:`#/$defs/Text`},{$ref:`#/$defs/Card`},{$ref:`#/$defs/Metric`},{$ref:`#/$defs/Table`},{$ref:`#/$defs/Chart`}]}}},required:[`columns`,`children`],additionalProperties:!1}},required:[`typeName`,`statementId`,`props`]},Tn={type:`object`,properties:{typeName:{const:`Cell`},statementId:{type:`string`},props:{type:`object`,properties:{children:{type:`array`,items:{anyOf:[{$ref:`#/$defs/Text`},{$ref:`#/$defs/Card`},{$ref:`#/$defs/Metric`},{$ref:`#/$defs/Table`},{$ref:`#/$defs/Chart`}]}},span:{type:`integer`,enum:[1,2,3,4],default:1}},required:[`children`],additionalProperties:!1}},required:[`typeName`,`statementId`,`props`]};function En(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:a={}}={}){let o=En.evaluated;if(o.dynamicProps&&(o.props=void 0),o.dynamicItems&&(o.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){let n;if(e.typeName===void 0&&(n=`typeName`)||e.statementId===void 0&&(n=`statementId`)||e.props===void 0&&(n=`props`))return En.errors=[{instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:n}}],!1;if(e.typeName!==void 0){if(e.typeName!==`Text`)return En.errors=[{instancePath:t+`/typeName`,schemaPath:`#/properties/typeName/const`,keyword:`const`,params:{allowedValue:`Text`}}],!1;var s=!0}else var s=!0;if(s){if(e.statementId!==void 0){if(typeof e.statementId!=`string`)return En.errors=[{instancePath:t+`/statementId`,schemaPath:`#/properties/statementId/type`,keyword:`type`,params:{type:`string`}}],!1;var s=!0}else var s=!0;if(s){if(e.props!==void 0){let n=e.props;if(n&&typeof n==`object`&&!Array.isArray(n)){let e;if(n.text===void 0&&(e=`text`))return En.errors=[{instancePath:t+`/props`,schemaPath:`#/properties/props/required`,keyword:`required`,params:{missingProperty:e}}],!1;for(let e in n)if(e!==`text`)return En.errors=[{instancePath:t+`/props`,schemaPath:`#/properties/props/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e}}],!1;if(n.text!==void 0&&typeof n.text!=`string`)return En.errors=[{instancePath:t+`/props/text`,schemaPath:`#/properties/props/properties/text/type`,keyword:`type`,params:{type:`string`}}],!1}else return En.errors=[{instancePath:t+`/props`,schemaPath:`#/properties/props/type`,keyword:`type`,params:{type:`object`}}],!1;var s=!0}else var s=!0}}}else return En.errors=[{instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`}}],!1;return En.errors=null,!0}En.evaluated={props:{typeName:!0,statementId:!0,props:!0},dynamicProps:!1,dynamicItems:!1};function V(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:a={}}={}){let o=V.evaluated;if(o.dynamicProps&&(o.props=void 0),o.dynamicItems&&(o.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){let n;if(e.typeName===void 0&&(n=`typeName`)||e.statementId===void 0&&(n=`statementId`)||e.props===void 0&&(n=`props`))return V.errors=[{instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:n}}],!1;if(e.typeName!==void 0){if(e.typeName!==`Card`)return V.errors=[{instancePath:t+`/typeName`,schemaPath:`#/properties/typeName/const`,keyword:`const`,params:{allowedValue:`Card`}}],!1;var s=!0}else var s=!0;if(s){if(e.statementId!==void 0){if(typeof e.statementId!=`string`)return V.errors=[{instancePath:t+`/statementId`,schemaPath:`#/properties/statementId/type`,keyword:`type`,params:{type:`string`}}],!1;var s=!0}else var s=!0;if(s){if(e.props!==void 0){let n=e.props;if(n&&typeof n==`object`&&!Array.isArray(n)){let e;if(n.title===void 0&&(e=`title`)||n.body===void 0&&(e=`body`))return V.errors=[{instancePath:t+`/props`,schemaPath:`#/properties/props/required`,keyword:`required`,params:{missingProperty:e}}],!1;for(let e in n)if(e!==`title`&&e!==`body`)return V.errors=[{instancePath:t+`/props`,schemaPath:`#/properties/props/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e}}],!1;if(n.title!==void 0){if(typeof n.title!=`string`)return V.errors=[{instancePath:t+`/props/title`,schemaPath:`#/properties/props/properties/title/type`,keyword:`type`,params:{type:`string`}}],!1;var c=!0}else var c=!0;if(c){if(n.body!==void 0){if(typeof n.body!=`string`)return V.errors=[{instancePath:t+`/props/body`,schemaPath:`#/properties/props/properties/body/type`,keyword:`type`,params:{type:`string`}}],!1;var c=!0}else var c=!0}}else return V.errors=[{instancePath:t+`/props`,schemaPath:`#/properties/props/type`,keyword:`type`,params:{type:`object`}}],!1;var s=!0}else var s=!0}}}else return V.errors=[{instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`}}],!1;return V.errors=null,!0}V.evaluated={props:{typeName:!0,statementId:!0,props:!0},dynamicProps:!1,dynamicItems:!1};function H(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:a={}}={}){let o=H.evaluated;if(o.dynamicProps&&(o.props=void 0),o.dynamicItems&&(o.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){let n;if(e.typeName===void 0&&(n=`typeName`)||e.statementId===void 0&&(n=`statementId`)||e.props===void 0&&(n=`props`))return H.errors=[{instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:n}}],!1;if(e.typeName!==void 0){if(e.typeName!==`Metric`)return H.errors=[{instancePath:t+`/typeName`,schemaPath:`#/properties/typeName/const`,keyword:`const`,params:{allowedValue:`Metric`}}],!1;var s=!0}else var s=!0;if(s){if(e.statementId!==void 0){if(typeof e.statementId!=`string`)return H.errors=[{instancePath:t+`/statementId`,schemaPath:`#/properties/statementId/type`,keyword:`type`,params:{type:`string`}}],!1;var s=!0}else var s=!0;if(s){if(e.props!==void 0){let n=e.props;if(n&&typeof n==`object`&&!Array.isArray(n)){let e;if(n.label===void 0&&(e=`label`)||n.value===void 0&&(e=`value`)||n.detail===void 0&&(e=`detail`))return H.errors=[{instancePath:t+`/props`,schemaPath:`#/properties/props/required`,keyword:`required`,params:{missingProperty:e}}],!1;for(let e in n)if(e!==`label`&&e!==`value`&&e!==`detail`)return H.errors=[{instancePath:t+`/props`,schemaPath:`#/properties/props/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e}}],!1;if(n.label!==void 0){if(typeof n.label!=`string`)return H.errors=[{instancePath:t+`/props/label`,schemaPath:`#/properties/props/properties/label/type`,keyword:`type`,params:{type:`string`}}],!1;var c=!0}else var c=!0;if(c){if(n.value!==void 0){if(typeof n.value!=`string`)return H.errors=[{instancePath:t+`/props/value`,schemaPath:`#/properties/props/properties/value/type`,keyword:`type`,params:{type:`string`}}],!1;var c=!0}else var c=!0;if(c){if(n.detail!==void 0){if(typeof n.detail!=`string`)return H.errors=[{instancePath:t+`/props/detail`,schemaPath:`#/properties/props/properties/detail/type`,keyword:`type`,params:{type:`string`}}],!1;var c=!0}else var c=!0}}}else return H.errors=[{instancePath:t+`/props`,schemaPath:`#/properties/props/type`,keyword:`type`,params:{type:`object`}}],!1;var s=!0}else var s=!0}}}else return H.errors=[{instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`}}],!1;return H.errors=null,!0}H.evaluated={props:{typeName:!0,statementId:!0,props:!0},dynamicProps:!1,dynamicItems:!1};function U(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:a={}}={}){let o=U.evaluated;if(o.dynamicProps&&(o.props=void 0),o.dynamicItems&&(o.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){let n;if(e.typeName===void 0&&(n=`typeName`)||e.statementId===void 0&&(n=`statementId`)||e.props===void 0&&(n=`props`))return U.errors=[{instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:n}}],!1;if(e.typeName!==void 0){if(e.typeName!==`Table`)return U.errors=[{instancePath:t+`/typeName`,schemaPath:`#/properties/typeName/const`,keyword:`const`,params:{allowedValue:`Table`}}],!1;var s=!0}else var s=!0;if(s){if(e.statementId!==void 0){if(typeof e.statementId!=`string`)return U.errors=[{instancePath:t+`/statementId`,schemaPath:`#/properties/statementId/type`,keyword:`type`,params:{type:`string`}}],!1;var s=!0}else var s=!0;if(s){if(e.props!==void 0){let n=e.props;if(n&&typeof n==`object`&&!Array.isArray(n)){let e;if(n.title===void 0&&(e=`title`)||n.columns===void 0&&(e=`columns`)||n.rows===void 0&&(e=`rows`))return U.errors=[{instancePath:t+`/props`,schemaPath:`#/properties/props/required`,keyword:`required`,params:{missingProperty:e}}],!1;for(let e in n)if(e!==`title`&&e!==`columns`&&e!==`rows`)return U.errors=[{instancePath:t+`/props`,schemaPath:`#/properties/props/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e}}],!1;if(n.title!==void 0){if(typeof n.title!=`string`)return U.errors=[{instancePath:t+`/props/title`,schemaPath:`#/properties/props/properties/title/type`,keyword:`type`,params:{type:`string`}}],!1;var c=!0}else var c=!0;if(c){if(n.columns!==void 0){let e=n.columns;if(Array.isArray(e)){let n=e.length;for(let r=0;r<n;r++)if(typeof e[r]!=`string`)return U.errors=[{instancePath:t+`/props/columns/`+r,schemaPath:`#/properties/props/properties/columns/items/type`,keyword:`type`,params:{type:`string`}}],!1}else return U.errors=[{instancePath:t+`/props/columns`,schemaPath:`#/properties/props/properties/columns/type`,keyword:`type`,params:{type:`array`}}],!1;var c=!0}else var c=!0;if(c){if(n.rows!==void 0){let e=n.rows;if(Array.isArray(e)){let n=e.length;for(let r=0;r<n;r++){let n=e[r];if(Array.isArray(n)){let e=n.length;for(let i=0;i<e;i++)if(typeof n[i]!=`string`)return U.errors=[{instancePath:t+`/props/rows/`+r+`/`+i,schemaPath:`#/properties/props/properties/rows/items/items/type`,keyword:`type`,params:{type:`string`}}],!1}else return U.errors=[{instancePath:t+`/props/rows/`+r,schemaPath:`#/properties/props/properties/rows/items/type`,keyword:`type`,params:{type:`array`}}],!1}}else return U.errors=[{instancePath:t+`/props/rows`,schemaPath:`#/properties/props/properties/rows/type`,keyword:`type`,params:{type:`array`}}],!1;var c=!0}else var c=!0}}}else return U.errors=[{instancePath:t+`/props`,schemaPath:`#/properties/props/type`,keyword:`type`,params:{type:`object`}}],!1;var s=!0}else var s=!0}}}else return U.errors=[{instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`}}],!1;return U.errors=null,!0}U.evaluated={props:{typeName:!0,statementId:!0,props:!0},dynamicProps:!1,dynamicItems:!1};const Dn={type:`object`,properties:{typeName:{const:`Chart`},statementId:{type:`string`},props:{type:`object`,properties:{title:{type:`string`},type:{type:`string`,enum:[`bar`,`line`]},data:{type:`array`,items:{type:`object`,properties:{label:{type:`string`},value:{type:`number`}},required:[`label`,`value`],additionalProperties:!1}}},required:[`title`,`type`,`data`],additionalProperties:!1}},required:[`typeName`,`statementId`,`props`]};function W(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:a={}}={}){let o=W.evaluated;if(o.dynamicProps&&(o.props=void 0),o.dynamicItems&&(o.items=void 0),e&&typeof e==`object`&&!Array.isArray(e)){let n;if(e.typeName===void 0&&(n=`typeName`)||e.statementId===void 0&&(n=`statementId`)||e.props===void 0&&(n=`props`))return W.errors=[{instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:n}}],!1;if(e.typeName!==void 0){if(e.typeName!==`Chart`)return W.errors=[{instancePath:t+`/typeName`,schemaPath:`#/properties/typeName/const`,keyword:`const`,params:{allowedValue:`Chart`}}],!1;var s=!0}else var s=!0;if(s){if(e.statementId!==void 0){if(typeof e.statementId!=`string`)return W.errors=[{instancePath:t+`/statementId`,schemaPath:`#/properties/statementId/type`,keyword:`type`,params:{type:`string`}}],!1;var s=!0}else var s=!0;if(s){if(e.props!==void 0){let n=e.props;if(n&&typeof n==`object`&&!Array.isArray(n)){let e;if(n.title===void 0&&(e=`title`)||n.type===void 0&&(e=`type`)||n.data===void 0&&(e=`data`))return W.errors=[{instancePath:t+`/props`,schemaPath:`#/properties/props/required`,keyword:`required`,params:{missingProperty:e}}],!1;for(let e in n)if(e!==`title`&&e!==`type`&&e!==`data`)return W.errors=[{instancePath:t+`/props`,schemaPath:`#/properties/props/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e}}],!1;if(n.title!==void 0){if(typeof n.title!=`string`)return W.errors=[{instancePath:t+`/props/title`,schemaPath:`#/properties/props/properties/title/type`,keyword:`type`,params:{type:`string`}}],!1;var c=!0}else var c=!0;if(c){if(n.type!==void 0){let e=n.type;if(typeof e!=`string`)return W.errors=[{instancePath:t+`/props/type`,schemaPath:`#/properties/props/properties/type/type`,keyword:`type`,params:{type:`string`}}],!1;if(e!==`bar`&&e!==`line`)return W.errors=[{instancePath:t+`/props/type`,schemaPath:`#/properties/props/properties/type/enum`,keyword:`enum`,params:{allowedValues:Dn.properties.props.properties.type.enum}}],!1;var c=!0}else var c=!0;if(c){if(n.data!==void 0){let e=n.data;if(Array.isArray(e)){let n=e.length;for(let r=0;r<n;r++){let n=e[r];if(n&&typeof n==`object`&&!Array.isArray(n)){let e;if(n.label===void 0&&(e=`label`)||n.value===void 0&&(e=`value`))return W.errors=[{instancePath:t+`/props/data/`+r,schemaPath:`#/properties/props/properties/data/items/required`,keyword:`required`,params:{missingProperty:e}}],!1;for(let e in n)if(e!==`label`&&e!==`value`)return W.errors=[{instancePath:t+`/props/data/`+r,schemaPath:`#/properties/props/properties/data/items/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e}}],!1;if(n.label!==void 0){if(typeof n.label!=`string`)return W.errors=[{instancePath:t+`/props/data/`+r+`/label`,schemaPath:`#/properties/props/properties/data/items/properties/label/type`,keyword:`type`,params:{type:`string`}}],!1;var l=!0}else var l=!0;if(l){if(n.value!==void 0){let e=n.value;if(!(typeof e==`number`&&isFinite(e)))return W.errors=[{instancePath:t+`/props/data/`+r+`/value`,schemaPath:`#/properties/props/properties/data/items/properties/value/type`,keyword:`type`,params:{type:`number`}}],!1;var l=!0}else var l=!0}}else return W.errors=[{instancePath:t+`/props/data/`+r,schemaPath:`#/properties/props/properties/data/items/type`,keyword:`type`,params:{type:`object`}}],!1}}else return W.errors=[{instancePath:t+`/props/data`,schemaPath:`#/properties/props/properties/data/type`,keyword:`type`,params:{type:`array`}}],!1;var c=!0}else var c=!0}}}else return W.errors=[{instancePath:t+`/props`,schemaPath:`#/properties/props/type`,keyword:`type`,params:{type:`object`}}],!1;var s=!0}else var s=!0}}}else return W.errors=[{instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`}}],!1;return W.errors=null,!0}W.evaluated={props:{typeName:!0,statementId:!0,props:!0},dynamicProps:!1,dynamicItems:!1};function On(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:a={}}={}){let o=null,s=0,c=On.evaluated;if(c.dynamicProps&&(c.props=void 0),c.dynamicItems&&(c.items=void 0),s===0){if(e&&typeof e==`object`&&!Array.isArray(e)){let n;if(e.typeName===void 0&&(n=`typeName`)||e.statementId===void 0&&(n=`statementId`)||e.props===void 0&&(n=`props`))return On.errors=[{instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:n}}],!1;if(e.typeName!==void 0){let n=s;if(e.typeName!==`Cell`)return On.errors=[{instancePath:t+`/typeName`,schemaPath:`#/properties/typeName/const`,keyword:`const`,params:{allowedValue:`Cell`}}],!1;var l=n===s}else var l=!0;if(l){if(e.statementId!==void 0){let n=s;if(typeof e.statementId!=`string`)return On.errors=[{instancePath:t+`/statementId`,schemaPath:`#/properties/statementId/type`,keyword:`type`,params:{type:`string`}}],!1;var l=n===s}else var l=!0;if(l){if(e.props!==void 0){let n=e.props,r=s;if(s===r){if(n&&typeof n==`object`&&!Array.isArray(n)){let e;if(n.children===void 0&&(e=`children`))return On.errors=[{instancePath:t+`/props`,schemaPath:`#/properties/props/required`,keyword:`required`,params:{missingProperty:e}}],!1;{let e=s;for(let e in n)if(e!==`children`&&e!==`span`)return On.errors=[{instancePath:t+`/props`,schemaPath:`#/properties/props/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e}}],!1;if(e===s){if(n.children!==void 0){let e=n.children,r=s;if(s===r){if(Array.isArray(e)){let n=e.length;for(let r=0;r<n;r++){let n=e[r],c=s,l=s,f=!1,p=s;En(n,{instancePath:t+`/props/children/`+r,parentData:e,parentDataProperty:r,rootData:i,dynamicAnchors:a})||(o=o===null?En.errors:o.concat(En.errors),s=o.length);var u=p===s;if(f=f||u,u){var d={};d.typeName=!0,d.statementId=!0,d.props=!0}let m=s;V(n,{instancePath:t+`/props/children/`+r,parentData:e,parentDataProperty:r,rootData:i,dynamicAnchors:a})||(o=o===null?V.errors:o.concat(V.errors),s=o.length);var u=m===s;f=f||u,u&&d!==!0&&(d=d||{},d.typeName=!0,d.statementId=!0,d.props=!0);let h=s;H(n,{instancePath:t+`/props/children/`+r,parentData:e,parentDataProperty:r,rootData:i,dynamicAnchors:a})||(o=o===null?H.errors:o.concat(H.errors),s=o.length);var u=h===s;f=f||u,u&&d!==!0&&(d=d||{},d.typeName=!0,d.statementId=!0,d.props=!0);let g=s;U(n,{instancePath:t+`/props/children/`+r,parentData:e,parentDataProperty:r,rootData:i,dynamicAnchors:a})||(o=o===null?U.errors:o.concat(U.errors),s=o.length);var u=g===s;f=f||u,u&&d!==!0&&(d=d||{},d.typeName=!0,d.statementId=!0,d.props=!0);let _=s;W(n,{instancePath:t+`/props/children/`+r,parentData:e,parentDataProperty:r,rootData:i,dynamicAnchors:a})||(o=o===null?W.errors:o.concat(W.errors),s=o.length);var u=_===s;if(f=f||u,u&&d!==!0&&(d=d||{},d.typeName=!0,d.statementId=!0,d.props=!0),f)s=l,o!==null&&(l?o.length=l:o=null);else{let e={instancePath:t+`/props/children/`+r,schemaPath:`#/properties/props/properties/children/items/anyOf`,keyword:`anyOf`,params:{}};return o===null?o=[e]:o.push(e),s++,On.errors=o,!1}if(c!==s)break}}else return On.errors=[{instancePath:t+`/props/children`,schemaPath:`#/properties/props/properties/children/type`,keyword:`type`,params:{type:`array`}}],!1}var f=r===s}else var f=!0;if(f){if(n.span!==void 0){let e=n.span,r=s;if(typeof e!=`number`||e%1||isNaN(e)||!isFinite(e))return On.errors=[{instancePath:t+`/props/span`,schemaPath:`#/properties/props/properties/span/type`,keyword:`type`,params:{type:`integer`}}],!1;if(e!==1&&e!==2&&e!==3&&e!==4)return On.errors=[{instancePath:t+`/props/span`,schemaPath:`#/properties/props/properties/span/enum`,keyword:`enum`,params:{allowedValues:Tn.properties.props.properties.span.enum}}],!1;var f=r===s}else var f=!0}}}}else return On.errors=[{instancePath:t+`/props`,schemaPath:`#/properties/props/type`,keyword:`type`,params:{type:`object`}}],!1}var l=r===s}else var l=!0}}}else return On.errors=[{instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`}}],!1}return On.errors=o,s===0}On.evaluated={props:{typeName:!0,statementId:!0,props:!0},dynamicProps:!1,dynamicItems:!1};function kn(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:a={}}={}){let o=null,s=0,c=kn.evaluated;if(c.dynamicProps&&(c.props=void 0),c.dynamicItems&&(c.items=void 0),s===0){if(e&&typeof e==`object`&&!Array.isArray(e)){let n;if(e.typeName===void 0&&(n=`typeName`)||e.statementId===void 0&&(n=`statementId`)||e.props===void 0&&(n=`props`))return kn.errors=[{instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:n}}],!1;if(e.typeName!==void 0){let n=s;if(e.typeName!==`Grid`)return kn.errors=[{instancePath:t+`/typeName`,schemaPath:`#/properties/typeName/const`,keyword:`const`,params:{allowedValue:`Grid`}}],!1;var l=n===s}else var l=!0;if(l){if(e.statementId!==void 0){let n=s;if(typeof e.statementId!=`string`)return kn.errors=[{instancePath:t+`/statementId`,schemaPath:`#/properties/statementId/type`,keyword:`type`,params:{type:`string`}}],!1;var l=n===s}else var l=!0;if(l){if(e.props!==void 0){let n=e.props,r=s;if(s===r){if(n&&typeof n==`object`&&!Array.isArray(n)){let e;if(n.columns===void 0&&(e=`columns`)||n.children===void 0&&(e=`children`))return kn.errors=[{instancePath:t+`/props`,schemaPath:`#/properties/props/required`,keyword:`required`,params:{missingProperty:e}}],!1;{let e=s;for(let e in n)if(e!==`columns`&&e!==`children`)return kn.errors=[{instancePath:t+`/props`,schemaPath:`#/properties/props/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e}}],!1;if(e===s){if(n.columns!==void 0){let e=n.columns,r=s;if(typeof e!=`number`||e%1||isNaN(e)||!isFinite(e))return kn.errors=[{instancePath:t+`/props/columns`,schemaPath:`#/properties/props/properties/columns/type`,keyword:`type`,params:{type:`integer`}}],!1;if(e!==1&&e!==2&&e!==3&&e!==4)return kn.errors=[{instancePath:t+`/props/columns`,schemaPath:`#/properties/props/properties/columns/enum`,keyword:`enum`,params:{allowedValues:wn.properties.props.properties.columns.enum}}],!1;var u=r===s}else var u=!0;if(u){if(n.children!==void 0){let e=n.children,r=s;if(s===r){if(Array.isArray(e)){let n=e.length;for(let r=0;r<n;r++){let n=e[r],c=s,l=s,u=!1,p=s;On(n,{instancePath:t+`/props/children/`+r,parentData:e,parentDataProperty:r,rootData:i,dynamicAnchors:a})||(o=o===null?On.errors:o.concat(On.errors),s=o.length);var d=p===s;if(u=u||d,d){var f={};f.typeName=!0,f.statementId=!0,f.props=!0}let m=s;En(n,{instancePath:t+`/props/children/`+r,parentData:e,parentDataProperty:r,rootData:i,dynamicAnchors:a})||(o=o===null?En.errors:o.concat(En.errors),s=o.length);var d=m===s;u=u||d,d&&f!==!0&&(f=f||{},f.typeName=!0,f.statementId=!0,f.props=!0);let h=s;V(n,{instancePath:t+`/props/children/`+r,parentData:e,parentDataProperty:r,rootData:i,dynamicAnchors:a})||(o=o===null?V.errors:o.concat(V.errors),s=o.length);var d=h===s;u=u||d,d&&f!==!0&&(f=f||{},f.typeName=!0,f.statementId=!0,f.props=!0);let g=s;H(n,{instancePath:t+`/props/children/`+r,parentData:e,parentDataProperty:r,rootData:i,dynamicAnchors:a})||(o=o===null?H.errors:o.concat(H.errors),s=o.length);var d=g===s;u=u||d,d&&f!==!0&&(f=f||{},f.typeName=!0,f.statementId=!0,f.props=!0);let _=s;U(n,{instancePath:t+`/props/children/`+r,parentData:e,parentDataProperty:r,rootData:i,dynamicAnchors:a})||(o=o===null?U.errors:o.concat(U.errors),s=o.length);var d=_===s;u=u||d,d&&f!==!0&&(f=f||{},f.typeName=!0,f.statementId=!0,f.props=!0);let v=s;W(n,{instancePath:t+`/props/children/`+r,parentData:e,parentDataProperty:r,rootData:i,dynamicAnchors:a})||(o=o===null?W.errors:o.concat(W.errors),s=o.length);var d=v===s;if(u=u||d,d&&f!==!0&&(f=f||{},f.typeName=!0,f.statementId=!0,f.props=!0),u)s=l,o!==null&&(l?o.length=l:o=null);else{let e={instancePath:t+`/props/children/`+r,schemaPath:`#/properties/props/properties/children/items/anyOf`,keyword:`anyOf`,params:{}};return o===null?o=[e]:o.push(e),s++,kn.errors=o,!1}if(c!==s)break}}else return kn.errors=[{instancePath:t+`/props/children`,schemaPath:`#/properties/props/properties/children/type`,keyword:`type`,params:{type:`array`}}],!1}var u=r===s}else var u=!0}}}}else return kn.errors=[{instancePath:t+`/props`,schemaPath:`#/properties/props/type`,keyword:`type`,params:{type:`object`}}],!1}var l=r===s}else var l=!0}}}else return kn.errors=[{instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`}}],!1}return kn.errors=o,s===0}kn.evaluated={props:{typeName:!0,statementId:!0,props:!0},dynamicProps:!1,dynamicItems:!1};function An(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e,dynamicAnchors:a={}}={}){let o=null,s=0,c=An.evaluated;c.dynamicProps&&(c.props=void 0),c.dynamicItems&&(c.items=void 0);let l=s,u=!1,d=s;kn(e,{instancePath:t,parentData:n,parentDataProperty:r,rootData:i,dynamicAnchors:a})||(o=o===null?kn.errors:o.concat(kn.errors),s=o.length);var f=d===s;if(u=u||f,f){var p={};p.typeName=!0,p.statementId=!0,p.props=!0}let m=s;On(e,{instancePath:t,parentData:n,parentDataProperty:r,rootData:i,dynamicAnchors:a})||(o=o===null?On.errors:o.concat(On.errors),s=o.length);var f=m===s;u=u||f,f&&p!==!0&&(p=p||{},p.typeName=!0,p.statementId=!0,p.props=!0);let h=s;En(e,{instancePath:t,parentData:n,parentDataProperty:r,rootData:i,dynamicAnchors:a})||(o=o===null?En.errors:o.concat(En.errors),s=o.length);var f=h===s;u=u||f,f&&p!==!0&&(p=p||{},p.typeName=!0,p.statementId=!0,p.props=!0);let g=s;V(e,{instancePath:t,parentData:n,parentDataProperty:r,rootData:i,dynamicAnchors:a})||(o=o===null?V.errors:o.concat(V.errors),s=o.length);var f=g===s;u=u||f,f&&p!==!0&&(p=p||{},p.typeName=!0,p.statementId=!0,p.props=!0);let _=s;H(e,{instancePath:t,parentData:n,parentDataProperty:r,rootData:i,dynamicAnchors:a})||(o=o===null?H.errors:o.concat(H.errors),s=o.length);var f=_===s;u=u||f,f&&p!==!0&&(p=p||{},p.typeName=!0,p.statementId=!0,p.props=!0);let v=s;U(e,{instancePath:t,parentData:n,parentDataProperty:r,rootData:i,dynamicAnchors:a})||(o=o===null?U.errors:o.concat(U.errors),s=o.length);var f=v===s;u=u||f,f&&p!==!0&&(p=p||{},p.typeName=!0,p.statementId=!0,p.props=!0);let y=s;W(e,{instancePath:t,parentData:n,parentDataProperty:r,rootData:i,dynamicAnchors:a})||(o=o===null?W.errors:o.concat(W.errors),s=o.length);var f=y===s;if(u=u||f,f&&p!==!0&&(p=p||{},p.typeName=!0,p.statementId=!0,p.props=!0),u)s=l,o!==null&&(l?o.length=l:o=null);else{let e={instancePath:t,schemaPath:`#/anyOf`,keyword:`anyOf`,params:{}};return o===null?o=[e]:o.push(e),s++,An.errors=o,!1}return An.errors=o,c.props=p,s===0}An.evaluated={dynamicProps:!0,dynamicItems:!1};function jn(e){switch(e.k){case`StateRef`:case`RuntimeRef`:case`BinOp`:case`UnaryOp`:case`Ternary`:case`Member`:case`Index`:case`Assign`:return!0;default:return!1}}const Mn=/* @__PURE__ */ new Set([`Comp`,`Ref`,`StateRef`,`RuntimeRef`,`BinOp`,`UnaryOp`,`Ternary`,`Member`,`Index`,`Assign`,`Str`,`Num`,`Bool`,`Null`,`Arr`,`Obj`,`Ph`]);function Nn(e){return!e||typeof e!=`object`||Array.isArray(e)?!1:Mn.has(e.k)}function Pn(e,t){let n=e=>{switch(t(e),e.k){case`Comp`:e.args.forEach(n),Object.values(e.mappedProps??{}).forEach(n);break;case`Arr`:e.els.forEach(n);break;case`Obj`:e.entries.forEach(([,e])=>n(e));break;case`BinOp`:n(e.left),n(e.right);break;case`UnaryOp`:n(e.operand);break;case`Ternary`:n(e.cond),n(e.then),n(e.else);break;case`Member`:n(e.obj);break;case`Index`:n(e.obj),n(e.index);break;case`Assign`:n(e.value)}};n(e)}function Fn(e){return e==null?{k:`Null`}:typeof e==`string`?{k:`Str`,v:e}:typeof e==`number`?{k:`Num`,v:e}:typeof e==`boolean`?{k:`Bool`,v:e}:Array.isArray(e)?{k:`Arr`,els:e.map(Fn)}:typeof e==`object`?{k:`Obj`,entries:Object.entries(e).map(([e,t])=>[e,Fn(t)])}:{k:`Null`}}function In(e){switch(e.k){case`Str`:case`Num`:case`Bool`:return{v:e.v};case`Null`:return{v:null};case`Arr`:{let t=[];for(let n of e.els){let e=In(n);if(!e)return;t.push(e.v)}return{v:t}}case`Obj`:{let t={};for(let[n,r]of e.entries){let e=In(r);if(!e)return;t[n]=e.v}return{v:t}}default:return}}const Ln=/* @__PURE__ */ new Map([[`Count`,{kind:`function`,params:[{name:`array`,required:!1}],builtin:!0}],[`First`,{kind:`function`,params:[{name:`array`,required:!1}],builtin:!0}],[`Last`,{kind:`function`,params:[{name:`array`,required:!1}],builtin:!0}],[`Sum`,{kind:`function`,params:[{name:`numbers`,required:!1}],builtin:!0}],[`Avg`,{kind:`function`,params:[{name:`numbers`,required:!1}],builtin:!0}],[`Min`,{kind:`function`,params:[{name:`numbers`,required:!1}],builtin:!0}],[`Max`,{kind:`function`,params:[{name:`numbers`,required:!1}],builtin:!0}],[`Sort`,{kind:`function`,params:[{name:`array`,required:!1},{name:`field`,required:!1},{name:`direction`,required:!1}],builtin:!0}],[`Filter`,{kind:`function`,params:[{name:`array`,required:!1},{name:`field`,required:!1},{name:`operator`,required:!1},{name:`value`,required:!1}],builtin:!0}],[`Round`,{kind:`function`,params:[{name:`number`,required:!1},{name:`decimals`,required:!1}],builtin:!0}],[`Abs`,{kind:`function`,params:[{name:`number`,required:!1}],builtin:!0}],[`Floor`,{kind:`function`,params:[{name:`number`,required:!1}],builtin:!0}],[`Ceil`,{kind:`function`,params:[{name:`number`,required:!1}],builtin:!0}],[`Each`,{kind:`function`,params:[{name:`array`,required:!1},{name:`varName`,required:!1},{name:`template`,required:!1}],builtin:!0,lazy:!0}],[`Run`,{kind:`action`,params:[{name:`ref`,required:!1}],builtin:!0,lazy:!0}],[`ToAssistant`,{kind:`action`,params:[{name:`message`,required:!1},{name:`context`,required:!1}],builtin:!0}],[`OpenUrl`,{kind:`action`,params:[{name:`url`,required:!1}],builtin:!0}],[`Set`,{kind:`action`,params:[{name:`variable`,required:!1},{name:`value`,required:!1}],builtin:!0,lazy:!0}],[`Reset`,{kind:`action`,params:[{name:`variable`,required:!1}],builtin:!0,lazy:!0}],[`Action`,{kind:`action`,params:[{name:`steps`,required:!0}],builtin:!0,lazy:!0}]]),Rn={ActionExpression:!0,OpenUrl:!0,ToAssistant:!0},zn={Query:`Query`,Mutation:`Mutation`};function Bn(e){return e?.callDefs??Ln}function Vn(e){return Ln.has(e)}function Hn(e){return e in zn}var G;(function(e){e[e.Newline=0]=`Newline`,e[e.LParen=1]=`LParen`,e[e.RParen=2]=`RParen`,e[e.LBrack=3]=`LBrack`,e[e.RBrack=4]=`RBrack`,e[e.LBrace=5]=`LBrace`,e[e.RBrace=6]=`RBrace`,e[e.Comma=7]=`Comma`,e[e.Colon=8]=`Colon`,e[e.Equals=9]=`Equals`,e[e.True=10]=`True`,e[e.False=11]=`False`,e[e.Null=12]=`Null`,e[e.EOF=13]=`EOF`,e[e.Str=14]=`Str`,e[e.Num=15]=`Num`,e[e.Ident=16]=`Ident`,e[e.Type=17]=`Type`,e[e.StateVar=18]=`StateVar`,e[e.Dot=19]=`Dot`,e[e.Plus=20]=`Plus`,e[e.Minus=21]=`Minus`,e[e.Star=22]=`Star`,e[e.Slash=23]=`Slash`,e[e.Percent=24]=`Percent`,e[e.EqEq=25]=`EqEq`,e[e.NotEq=26]=`NotEq`,e[e.Greater=27]=`Greater`,e[e.Less=28]=`Less`,e[e.GreaterEq=29]=`GreaterEq`,e[e.LessEq=30]=`LessEq`,e[e.And=31]=`And`,e[e.Or=32]=`Or`,e[e.Not=33]=`Not`,e[e.Question=34]=`Question`,e[e.BuiltinCall=35]=`BuiltinCall`})(G||(G={}));function Un(e){let t=0,n=()=>e[t]??{t:G.EOF},r=()=>{let e=n();return t++,e},i=e=>{n().t===e&&t++};function a(e){switch(e.t){case G.Question:return 1;case G.Or:return 2;case G.And:return 3;case G.EqEq:case G.NotEq:return 4;case G.Greater:case G.Less:case G.GreaterEq:case G.LessEq:return 5;case G.Plus:case G.Minus:return 6;case G.Star:case G.Slash:case G.Percent:return 7;case G.Dot:case G.LBrack:return 9;default:return 0}}function o(e=0){let t=s();for(;a(n())>e;)t=c(t);return t}function s(){let a=n();if(a.t===G.Str)return r(),{k:`Str`,v:a.v};if(a.t===G.Num)return r(),{k:`Num`,v:a.v};if(a.t===G.True)return r(),{k:`Bool`,v:!0};if(a.t===G.False)return r(),{k:`Bool`,v:!1};if(a.t===G.Null)return r(),{k:`Null`};if(a.t===G.LBrack)return u();if(a.t===G.LBrace)return d();if(a.t===G.StateVar){let e=a.v;return r(),n().t===G.Equals?(r(),{k:`Assign`,target:e,value:o(0)}):{k:`StateRef`,n:e}}if(a.t===G.Type){let n=a.v;return e[t+1]?.t===G.LParen&&(!Vn(n)||n===`Action`)?l():(r(),{k:`Ref`,n})}if(a.t===G.BuiltinCall){if(e[t+1]?.t===G.LParen){let e=l();return e.k===`Comp`&&!Vn(e.name)&&(e.fn=!0),e}return r(),{k:`Ref`,n:a.v}}if(a.t===G.Ident)return r(),{k:`Ref`,n:a.v};if(a.t===G.Not)return r(),{k:`UnaryOp`,op:`!`,operand:o(8)};if(a.t===G.Minus)return r(),{k:`UnaryOp`,op:`-`,operand:o(8)};if(a.t===G.LParen){r();let e=o(0);return i(G.RParen),e}return r(),{k:`Null`}}function c(e){let t=n();if(t.t===G.Plus)return r(),{k:`BinOp`,op:`+`,left:e,right:o(6)};if(t.t===G.Minus)return r(),{k:`BinOp`,op:`-`,left:e,right:o(6)};if(t.t===G.Star)return r(),{k:`BinOp`,op:`*`,left:e,right:o(7)};if(t.t===G.Slash)return r(),{k:`BinOp`,op:`/`,left:e,right:o(7)};if(t.t===G.Percent)return r(),{k:`BinOp`,op:`%`,left:e,right:o(7)};if(t.t===G.EqEq)return r(),{k:`BinOp`,op:`==`,left:e,right:o(4)};if(t.t===G.NotEq)return r(),{k:`BinOp`,op:`!=`,left:e,right:o(4)};if(t.t===G.Greater)return r(),{k:`BinOp`,op:`>`,left:e,right:o(5)};if(t.t===G.Less)return r(),{k:`BinOp`,op:`<`,left:e,right:o(5)};if(t.t===G.GreaterEq)return r(),{k:`BinOp`,op:`>=`,left:e,right:o(5)};if(t.t===G.LessEq)return r(),{k:`BinOp`,op:`<=`,left:e,right:o(5)};if(t.t===G.And)return r(),{k:`BinOp`,op:`&&`,left:e,right:o(3)};if(t.t===G.Or)return r(),{k:`BinOp`,op:`||`,left:e,right:o(2)};if(t.t===G.Question){r();let t=o(0);return i(G.Colon),{k:`Ternary`,cond:e,then:t,else:o(0)}}if(t.t===G.Dot){r();let t=n();return{k:`Member`,obj:e,field:t.t===G.Ident||t.t===G.Type||t.t===G.Str||t.t===G.Num?(r(),String(t.v)):t.t===G.StateVar?(r(),t.v.replace(/^\$/,``)):(r(),`?`)}}if(t.t===G.LBrack){r();let t=o(0);return i(G.RBrack),{k:`Index`,obj:e,index:t}}return e}function l(){let e=n().v;r(),i(G.LParen);let t=[];for(;n().t!==G.RParen&&n().t!==G.EOF;)t.push(o(0)),n().t===G.Comma&&r();return i(G.RParen),{k:`Comp`,name:e,args:t}}function u(){r();let e=[];for(;n().t!==G.RBrack&&n().t!==G.EOF;)e.push(o(0)),n().t===G.Comma&&r();return i(G.RBrack),{k:`Arr`,els:e}}function d(){r();let e=[];for(;n().t!==G.RBrace&&n().t!==G.EOF;){let t=n(),a=t.t===G.Ident||t.t===G.Str||t.t===G.Type||t.t===G.Num?(r(),String(t.v)):t.t===G.StateVar?(r(),t.v.replace(/^\$/,``)):(r(),`?`);i(G.Colon),e.push([a,o(0)]),n().t===G.Comma&&r()}return i(G.RBrace),{k:`Obj`,entries:e}}return o(0)}function Wn(e){let t=[],n=0,r=e.length;for(;n<r;){for(;n<r&&(e[n]===` `||e[n]===` `||e[n]===`\r`);)n++;if(n>=r)break;let i=e[n];if(i===`
|
|
11
11
|
`){t.push({t:G.Newline}),n++;continue}if(i===`(`){t.push({t:G.LParen}),n++;continue}if(i===`)`){t.push({t:G.RParen}),n++;continue}if(i===`[`){t.push({t:G.LBrack}),n++;continue}if(i===`]`){t.push({t:G.RBrack}),n++;continue}if(i===`{`){t.push({t:G.LBrace}),n++;continue}if(i===`}`){t.push({t:G.RBrace}),n++;continue}if(i===`,`){t.push({t:G.Comma}),n++;continue}if(i===`:`){t.push({t:G.Colon}),n++;continue}if(i===`=`){n+1<r&&e[n+1]===`=`?(t.push({t:G.EqEq}),n+=2):(t.push({t:G.Equals}),n++);continue}if(i===`!`){n+1<r&&e[n+1]===`=`?(t.push({t:G.NotEq}),n+=2):(t.push({t:G.Not}),n++);continue}if(i===`>`){n+1<r&&e[n+1]===`=`?(t.push({t:G.GreaterEq}),n+=2):(t.push({t:G.Greater}),n++);continue}if(i===`<`){n+1<r&&e[n+1]===`=`?(t.push({t:G.LessEq}),n+=2):(t.push({t:G.Less}),n++);continue}if(i===`&`){n+1<r&&e[n+1]===`&`?(t.push({t:G.And}),n+=2):(t.push({t:G.And}),n++);continue}if(i===`|`){n+1<r&&e[n+1]===`|`?(t.push({t:G.Or}),n+=2):(t.push({t:G.Or}),n++);continue}if(i===`.`){t.push({t:G.Dot}),n++;continue}if(i===`?`){t.push({t:G.Question}),n++;continue}if(i===`+`){t.push({t:G.Plus}),n++;continue}if(i===`*`){t.push({t:G.Star}),n++;continue}if(i===`/`){t.push({t:G.Slash}),n++;continue}if(i===`%`){t.push({t:G.Percent}),n++;continue}if(i===`"`){let i=n;n++;let a=!1;for(;n<r;)if(e[n]===`\\`)n+=2;else if(e[n]===`"`){n++,a=!0;break}else n++;let o=e.slice(i,n);try{let e=a?o:o+`"`;t.push({t:G.Str,v:JSON.parse(e)})}catch{let e=o.replace(/^"|"$/g,``);t.push({t:G.Str,v:e})}continue}if(i===`'`){n++;let i=``;for(;n<r;)if(e[n]===`\\`){if(n++,n<r){let t=e[n];i+=t===`'`?`'`:t===`\\`?`\\`:t===`n`?`
|
|
12
12
|
`:t===`t`?` `:t,n++}}else if(e[n]===`'`){n++;break}else i+=e[n],n++;t.push({t:G.Str,v:i});continue}if(i===`-`){let i=t.length>0?t[t.length-1]:null;if(!((i==null||i.t!==G.Num&&i.t!==G.Str&&i.t!==G.Ident&&i.t!==G.Type&&i.t!==G.RParen&&i.t!==G.RBrack&&i.t!==G.True&&i.t!==G.False&&i.t!==G.Null&&i.t!==G.StateVar&&i.t!==G.BuiltinCall)&&n+1<r&&e[n+1]>=`0`&&e[n+1]<=`9`)){t.push({t:G.Minus}),n++;continue}}let a=i>=`0`&&i<=`9`,o=i===`-`&&n+1<r&&e[n+1]>=`0`&&e[n+1]<=`9`;if(a||o){let i=n;for(e[n]===`-`&&n++;n<r&&e[n]>=`0`&&e[n]<=`9`;)n++;if(n<r&&e[n]===`.`&&n+1<r&&e[n+1]>=`0`&&e[n+1]<=`9`)for(n++;n<r&&e[n]>=`0`&&e[n]<=`9`;)n++;if(n<r&&(e[n]===`e`||e[n]===`E`))for(n++,n<r&&(e[n]===`+`||e[n]===`-`)&&n++;n<r&&e[n]>=`0`&&e[n]<=`9`;)n++;t.push({t:G.Num,v:+e.slice(i,n)})}else if(i===`$`&&n+1<r&&(e[n+1]>=`a`&&e[n+1]<=`z`||e[n+1]>=`A`&&e[n+1]<=`Z`||e[n+1]===`_`)){let i=n;for(n++;n<r&&(e[n]>=`a`&&e[n]<=`z`||e[n]>=`A`&&e[n]<=`Z`||e[n]>=`0`&&e[n]<=`9`||e[n]===`_`);)n++;t.push({t:G.StateVar,v:e.slice(i,n)})}else if(i>=`a`&&i<=`z`||i>=`A`&&i<=`Z`||i===`_`){let a=n;for(;n<r&&(e[n]>=`a`&&e[n]<=`z`||e[n]>=`A`&&e[n]<=`Z`||e[n]>=`0`&&e[n]<=`9`||e[n]===`_`);)n++;let o=e.slice(a,n);if(o===`true`){t.push({t:G.True});continue}if(o===`false`){t.push({t:G.False});continue}if(o===`null`){t.push({t:G.Null});continue}let s=i>=`A`&&i<=`Z`?G.Type:G.Ident;t.push({t:s,v:o})}else if(i===`@`&&n+1<r&&(e[n+1]>=`a`&&e[n+1]<=`z`||e[n+1]>=`A`&&e[n+1]<=`Z`||e[n+1]===`_`)){n++;let i=n;for(;n<r&&(e[n]>=`a`&&e[n]<=`z`||e[n]>=`A`&&e[n]<=`Z`||e[n]>=`0`&&e[n]<=`9`||e[n]===`_`);)n++;t.push({t:G.BuiltinCall,v:e.slice(i,n)})}else n++}return t.push({t:G.EOF}),t}function Gn(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return t.type===`element`&&typeof t.typeName==`string`&&typeof t.props==`object`&&t.props!==null&&typeof t.partial==`boolean`}var Kn;(function(e){e.ContinueConversation=`continue_conversation`,e.OpenUrl=`open_url`})(Kn||(Kn={}));const qn={},Jn=[];function Yn(e){return Array.isArray(e)?`array`:typeof e}function Xn(e){return typeof e.$ref==`string`?e.$ref.split(`/`).pop():void 0}function Zn(e){return`$ref`in e||`anyOf`in e||`oneOf`in e||`allOf`in e}function Qn(e){if(Array.isArray(e.enum))return{enumValues:e.enum};if(`const`in e)return{enumValues:[e.const]};switch(e.type){case`string`:return{expectedType:`string`};case`number`:case`integer`:return{expectedType:`number`};case`boolean`:return{expectedType:`boolean`};default:return{}}}function $n(e){if(e&&typeof e==`object`&&!Array.isArray(e))return e.default}function er(e){if(!e||typeof e!=`object`||Array.isArray(e))return;let t=e,n=Xn(t);if(n)return n;let r=Qn(t);return r.enumValues?r.enumValues.map(e=>JSON.stringify(e)).join(`|`):r.expectedType?r.expectedType:typeof t.type==`string`?t.type:void 0}function tr(e,t){return`${e}(${t.map(e=>{let t=er(e.schema),n=e.required?`${e.name}*`:e.name;return t?`${n}: ${t}`:n}).join(`, `)})`}function nr(e,t){let n=typeof e;return t.enumValues?t.enumValues.includes(e)?null:{expected:`one of [${t.enumValues.map(e=>JSON.stringify(e)).join(`, `)}]`,actual:Yn(e)}:t.expectedType&&t.expectedType!==n?{expected:t.expectedType,actual:Yn(e)}:null}function rr(e,t,n){switch(n.code){case`type-mismatch`:return`field "${t}" expects ${n.expected} but got ${n.actual}`;case`pruned-value`:return`field "${t}" lost an unresolved or invalid value`;case`missing-required`:return`missing required field "${t}"${n.signature?` — signature: ${n.signature}`:``}`;case`null-required`:return`required field "${t}" cannot be null${n.signature?` — signature: ${n.signature}`:``}`;case`unknown-component`:return`Unknown component "${e}" — not found in catalog or builtins${n.available?.length?`. Available components: ${n.available.join(`, `)}`:``}`;case`inline-reserved`:return`${e}() must be declared as a top-level statement, not used inline as a value`;case`excess-args`:return`${e} takes ${n.declared} arg(s), got ${n.got} (${n.got-n.declared} excess dropped)`;case`unknown-function`:return`Unknown function "@${e}": not a built-in or action step. The call evaluates to null`;case`no-root`:return n.reason===`not-component`?`root does not evaluate to a component`:n.reason===`fallback`?`No root statement. Rendering the first statement that calls the root component ${e}`:e?`No root statement, and no statement calls the root component ${e}`:`No root statement`}}function K(e,t,n,r){e.errors.push({code:r.code,component:t,path:n,message:rr(t,n,r),statementId:e.currentStatementId,...r.code===`no-root`&&r.reason===`fallback`&&{severity:`warning`}})}const ir=Symbol(`invalid`);function ar(e,t){return t===void 0?e?ir:void 0:t}function or(e,t,n,r,i){return Zn(t)?!1:typeof t.type==`string`||Array.isArray(t.enum)||`const`in t?(K(i,n,r,{code:`type-mismatch`,expected:typeof t.type==`string`?t.type:`a literal value`,actual:`component "${e.typeName}"`}),!0):!1}function sr(e){return(e.anyOf??e.oneOf??[e]).map(Xn)}function cr(e,t){let n=sr(e);return n.length>0&&n.every(e=>e!==void 0&&t.cat?.has(e))}function lr(e,t,n,r,i){if(typeof e!=`object`||Array.isArray(e))return K(i,n,r,{code:`type-mismatch`,expected:`object`,actual:Yn(e)}),ir;let a=e,o,s=t.properties&&typeof t.properties==`object`?t.properties:qn,c=Array.isArray(t.required)?t.required:Jn,l=!1;if(!i.partial)for(let e of c){let t=e in a;if(!t||a[e]==null){let c=$n(s[e]);if(c!==void 0){(o??(o={...a}))[e]=c;continue}K(i,n,`${r}/${e}`,{code:t?`null-required`:`missing-required`}),l=!0}}for(let e of Object.keys(s)){if(!(e in a))continue;let t=s[e],u=fr(a[e],t,n,`${r}/${e}`,i);u===ir&&(u=ar(c.includes(e),$n(t)),u===ir)?l=!0:u!==a[e]&&(o??(o={...a}),u===void 0?delete o[e]:o[e]=u)}return l?ir:o??a}function ur(e,t,n,r,i){if(!Array.isArray(e))return K(i,n,r,{code:`type-mismatch`,expected:`array`,actual:Yn(e)}),ir;let a=t.items;if(!a||typeof a!=`object`||Array.isArray(a))return e;let o;for(let t=0;t<e.length;t++){let s=fr(e[t],a,n,`${r}/${t}`,i);s!==e[t]&&!o&&(o=e.slice(0,t)),o&&s!==ir&&o.push(s)}return o??e}function dr(e,t,n,r,i){let a=Qn(t);if(a.expectedType==null&&a.enumValues==null||a.enumValues&&i.partial)return!1;let o=nr(e,a);return o?(K(i,n,r,{code:`type-mismatch`,...o}),!0):!1}function fr(e,t,n,r,i){if(!t||typeof t!=`object`||Array.isArray(t))return e;let a=t;if(e==null||Nn(e))return e;if(Gn(e))return or(e,a,n,r,i)?ir:e;if(Zn(a))return cr(a,i)?(K(i,n,r,{code:`type-mismatch`,expected:sr(a).join(` | `),actual:Array.isArray(e)?`array`:typeof e==`object`?`plain object`:typeof e}),ir):e;let o=a.type;return o===`object`?lr(e,a,n,r,i):o===`array`?ur(e,a,n,r,i):dr(e,a,n,r,i)?ir:e}function pr(e){if(typeof e!=`object`||!e)return!1;if(Nn(e))return!0;if(Array.isArray(e))return e.some(pr);if(Gn(e))return Object.values(e.props).some(pr);let t=e;return Array.isArray(t.steps)?!0:Object.values(t).some(pr)}function mr(e,t,n){if(t.visited.has(e)||!t.syms.has(e))return t.unres.push(e),n===`expr`?{k:`Ph`,n:e}:null;let r=t.syms.get(e);if(t.unreached?.delete(e),r.k===`Comp`&&Hn(r.name))return{k:`RuntimeRef`,n:e,refType:r.name===zn.Mutation?`mutation`:`query`};t.visited.add(e);let i=t.currentStatementId;t.currentStatementId=e;try{let i=n===`value`?Cr(r,t):Sr(r,t);return n===`value`&&Gn(i)&&(i.statementId=e),i}finally{t.currentStatementId=i,t.visited.delete(e)}}function hr(e,t){return Bn(t.cat).has(e)||Hn(e)}function gr(e,t){let n={};for(let r=0;r<t.length&&r<e.length;r++)n[t[r].name]=e[r];return n}function _r(e,t,n,r){let{params:i}=n;t.length>i.length&&K(r,e,``,{code:`excess-args`,declared:i.length,got:t.length});let a=gr(t,i),o=!1,s=r.errors.length;for(let t of i){let n=a[t.name],s=n?In(n):{v:void 0};if(!s)continue;if(s.v==null){if(!t.required||t.defaultValue!==void 0)continue;K(r,e,`/${t.name}`,{code:n?`null-required`:`missing-required`,signature:tr(e,i)}),o=!0;continue}let c=fr(s.v,t.schema,e,`/${t.name}`,r);c===ir&&(c=ar(t.required,t.defaultValue)),c===ir?o=!0:c===void 0?delete a[t.name]:c!==s.v&&(a[t.name]=Fn(c))}return n.kind===`action`&&r.errors.length>s&&(o=!0),o?null:a}function vr(e,t,n){let r=e.args.map(n),i=Bn(t.cat).get(e.name);if(!i||i.lazy)return{...e,args:r};let a=i.builtin?gr(r,i.params):_r(e.name,r,i,t);return a?{...e,args:r,mappedProps:a}:i.kind===`action`?{k:`Comp`,name:`Action`,args:[{k:`Arr`,els:[]}]}:{k:`Null`}}function yr(e,t,n){let r=t.currentStatementId;t.currentStatementId=n;let i=/* @__PURE__ */ new Set;for(let n of e)Pn(n,e=>{if(e.k!==`Comp`||i.has(e))return;i.add(e);let n=Bn(t.cat).get(e.name);n&&!n.lazy&&(e.mappedProps=(n.builtin?null:_r(e.name,e.args,n,t))??gr(e.args,n.params))});t.currentStatementId=r}function br(e,t,n){let r=Bn(t.cat).get(e.name);if(r?.kind!==`function`||!r.lazy||e.args.length<3)return null;let i=e.args[1],a=i.k===`Ref`?i.n:i.k===`Str`?i.v:null;if(!a)return null;let o=new Set(n);o.add(a);let s=e.args.map((e,n)=>n===1?e:xr(e,t,o));return{...e,args:s}}function xr(e,t,n){switch(e.k){case`Ref`:return n.has(e.n)?e:mr(e.n,t,`expr`);case`Ph`:return e;case`Comp`:{if(e.fn&&!hr(e.name,t))return K(t,e.name,``,{code:`unknown-function`}),{k:`Null`};let r=br(e,t,n);if(r)return r;if(hr(e.name,t))return vr(e,t,e=>xr(e,t,n));let i=e.args.map(e=>xr(e,t,n)),a=t.cat?.get(e.name);if(a){let t={};for(let e=0;e<a.params.length&&e<i.length;e++)t[a.params[e].name]=i[e];return{...e,args:i,mappedProps:t}}return K(t,e.name,``,{code:`unknown-component`,available:t.cat&&[...t.cat.keys()]}),{...e,args:i}}case`Arr`:return{...e,els:e.els.map(e=>xr(e,t,n))};case`Obj`:return{...e,entries:e.entries.map(([e,r])=>[e,xr(r,t,n)])};case`BinOp`:return{...e,left:xr(e.left,t,n),right:xr(e.right,t,n)};case`UnaryOp`:return{...e,operand:xr(e.operand,t,n)};case`Ternary`:return{...e,cond:xr(e.cond,t,n),then:xr(e.then,t,n),else:xr(e.else,t,n)};case`Member`:return{...e,obj:xr(e.obj,t,n)};case`Index`:return{...e,obj:xr(e.obj,t,n),index:xr(e.index,t,n)};case`Assign`:return{...e,value:xr(e.value,t,n)};default:return e}}function Sr(e,t){return xr(e,t,/* @__PURE__ */ new Set)}function Cr(e,t){switch(e.k){case`Ref`:return mr(e.n,t,`value`);case`Str`:return e.v;case`Num`:return e.v;case`Bool`:return e.v;case`Null`:return null;case`Ph`:return null;case`Arr`:{let n=[];for(let r of e.els){if(r.k===`Ph`){t.prunedValues++;continue}let e=Cr(r,t);e===null&&(r.k===`Comp`||r.k===`Ref`)?t.prunedValues++:n.push(e)}return n}case`Obj`:{let n={};for(let[r,i]of e.entries)n[r]=Cr(i,t);return n}case`Comp`:{let{name:n,args:r}=e;if(e.fn&&!hr(n,t))return K(t,n,``,{code:`unknown-function`}),null;if(Hn(n))return K(t,n,``,{code:`inline-reserved`}),null;if(hr(n,t))return br(e,t,/* @__PURE__ */ new Set)||vr(e,t,e=>Sr(e,t));let i=t.cat?.get(n),a={};if(i){let e=!1;for(let o=0;o<i.params.length&&o<r.length;o++){let s=i.params[o],c=t.prunedValues,l=Cr(r[o],t);if(t.prunedValues>c&&K(t,n,`/${s.name}`,{code:`pruned-value`}),a[s.name]=l,s.schema===void 0)continue;if(l==null&&s.defaultValue!==void 0){K(t,n,`/${s.name}`,{code:`type-mismatch`,expected:er(s.schema)??`a defined value`,actual:l===null?`null`:`undefined`}),a[s.name]=s.defaultValue,t.prunedValues=c;continue}let u=fr(l,s.schema,n,`/${s.name}`,t);u===ir&&(u=ar(s.required,s.defaultValue),s.defaultValue!==void 0&&(t.prunedValues=c),u===ir?e=!0:u===void 0&&delete a[s.name]),u!==ir&&u!==void 0&&(a[s.name]=u)}r.length>i.params.length&&K(t,n,``,{code:`excess-args`,declared:i.params.length,got:r.length});let o=i.params.filter(e=>e.required&&(!(e.name in a)||a[e.name]===null));if(o.length){let e=o.filter(e=>e.defaultValue===void 0||(K(t,n,`/${e.name}`,{code:e.name in a?`null-required`:`missing-required`}),a[e.name]=e.defaultValue,!1));if(e.length){for(let r of e)K(t,n,`/${r.name}`,{code:r.name in a?`null-required`:`missing-required`,signature:tr(n,i.params)});return null}}if(e)return null}else return K(t,n,``,{code:`unknown-component`,available:t.cat&&[...t.cat.keys()]}),null;let o=Object.values(a).some(e=>pr(e));return{type:`element`,typeName:n,props:a,partial:t.partial,hasDynamicProps:o}}default:return jn(e)?Sr(e,t):e}}function wr(e){let t=[],n=!1,r=!1;for(let i=0;i<e.length;i++){let a=e[i];r?r=!1:a===`\\`&&n?r=!0:n?a===n&&(n=!1):a===`"`||a===`'`?n=a:a===`(`||a===`[`||a===`{`?t.push(a):(a===`)`&&t[t.length-1]===`(`||a===`]`&&t[t.length-1]===`[`||a===`}`&&t[t.length-1]===`{`)&&t.pop()}if(!(n||t.length>0))return{text:e,wasIncomplete:!1};let i=e;n&&(r&&(i+=`\\`),i+=n);for(let e=t.length-1;e>=0;e--)i+=t[e]===`(`?`)`:t[e]===`[`?`]`:`}`;return{text:i,wasIncomplete:!0}}function Tr(e){let t=[],n=0;for(;n<e.length;){for(;n<e.length&&e[n].t===G.Newline;)n++;if(n>=e.length||e[n].t===G.EOF)break;let r=e[n];if(r.t!==G.Ident&&r.t!==G.Type&&r.t!==G.StateVar){for(;n<e.length&&e[n].t!==G.Newline&&e[n].t!==G.EOF;)n++;continue}let i=r.v,a=r.t;if(n++,n>=e.length||e[n].t!==G.Equals){for(;n<e.length&&e[n].t!==G.Newline&&e[n].t!==G.EOF;)n++;continue}n++;let o=[],s=0,c=0;for(;n<e.length&&e[n].t!==G.EOF;){let t=e[n].t;if(t===G.Newline&&s<=0&&c<=0){let t=n+1;for(;t<e.length&&e[t].t===G.Newline;)t++;let r=t<e.length?e[t].t:G.EOF;if(r===G.Question||r===G.Colon&&c>0){n++;continue}break}t===G.Newline?n++:(t===G.LParen||t===G.LBrack||t===G.LBrace?s++:(t===G.RParen||t===G.RBrack||t===G.RBrace)&&s>0?s--:t===G.Question&&s===0?c++:t===G.Colon&&s===0&&c>0&&c--,o.push(e[n++]))}o.length&&t.push({id:i,idTokenType:a,tokens:o})}return t}function Er(e=!0){return{root:null,meta:{incomplete:e,unresolved:[],orphaned:[],statementCount:0,errors:[]},stateDeclarations:{},queryStatements:[],mutationStatements:[]}}function Dr(e){if(!Nn(e))return[];let t=/* @__PURE__ */ new Set;return Pn(e,e=>{e.k===`StateRef`&&t.add(e.n)}),[...t]}function Or(e,t){if(t.k===`Comp`&&t.name===zn.Query){let n=Dr(t.args[1]);return{kind:`query`,id:e.id,call:{callee:zn.Query,args:t.args},expr:t,deps:n.length>0?n:void 0}}return t.k===`Comp`&&t.name===zn.Mutation?{kind:`mutation`,id:e.id,call:{callee:zn.Mutation,args:t.args},expr:t}:e.idTokenType===G.StateVar?{kind:`state`,id:e.id,init:t}:{kind:`value`,id:e.id,expr:t}}function kr(e,t,n){let r={},i=[],a=[];for(let n of e)switch(n.kind){case`state`:r[n.id]=Cr(n.init,t);break;case`query`:yr(n.call.args,t,n.id),i.push({statementId:n.id,toolAST:n.call.args[0]??null,argsAST:n.call.args[1]??null,defaultsAST:n.call.args[2]??null,refreshAST:n.call.args[3]??null,deps:n.deps,complete:!0});break;case`mutation`:yr(n.call.args,t,n.id),a.push({statementId:n.id,toolAST:n.call.args[0]??null,argsAST:n.call.args[1]??null})}for(let t of e){let e=t.kind===`state`?[t.init]:t.kind===`value`?[t.expr]:t.kind===`query`||t.kind===`mutation`?t.call.args:[];for(let i of e)for(let e of Dr(i))e===n?.name&&n.stmts.has(t)||e in r||(r[e]=null)}return{stateDeclarations:r,queryStatements:i,mutationStatements:a}}const Ar=`root`;function jr(e){return e?.k===`Comp`&&!e.fn&&!Vn(e.name)&&!Hn(e.name)}function Mr(e,t){if(e.has(Ar))return{id:Ar,fallback:!1};for(let n of e.values())if(n.kind===`value`&&jr(n.expr)&&n.expr.name===t)return{id:n.id,fallback:!0};return null}function Nr(e,t){let n=/* @__PURE__ */ new Set;for(;e?.k===`Ref`&&!n.has(e.n);)n.add(e.n),e=t.get(e.n);return jr(e)}function Pr(e){let t=!1;return Pn(e,e=>{jr(e)&&(t=!0)}),t}function Fr(e,t,n,r,i,a,o){let s=Mr(e,a),c=/* @__PURE__ */ new Map;for(let[t,n]of e)c.set(t,n.kind===`state`?n.init:n.expr);let l=[],u=[],d=/* @__PURE__ */ new Set;for(let[t,n]of e)t!==s?.id&&n.kind!==`state`&&n.kind!==`query`&&n.kind!==`mutation`&&d.add(t);let f={syms:c,cat:i,errors:u,unres:l,prunedValues:0,visited:/* @__PURE__ */ new Set,partial:n,currentStatementId:s?.id,unreached:d},p=null,m;if(s){let e=Cr(c.get(s.id),f);Gn(e)?(p=e,p.statementId=s.id):Nn(e)&&Pr(e)&&(m=e)}let{stateDeclarations:h,queryStatements:g,mutationStatements:_}=kr(t,f,o);f.currentStatementId=s?.id;let v=a??``;s?!p&&!m&&!Nr(c.get(s.id),c)?K(f,v,``,{code:`no-root`,reason:`not-component`}):s.fallback&&K(f,v,``,{code:`no-root`,reason:p?`fallback`:`missing`}):K(f,v,``,{code:`no-root`,reason:`missing`});let y=s?[...d]:[];return{root:p,...m?{rootExpression:m}:{},meta:{incomplete:n,unresolved:l,orphaned:y,statementCount:r,errors:u},stateDeclarations:h,queryStatements:g,mutationStatements:_}}function Ir(e,t){if(e[t]!==`"`)return t;let n=t+1;for(;n<e.length;){let t=e[n];if(t===`\\`)n+=2;else if(t===`"`)return n+1;else n++}return n}function Lr(e){let t=[],n=0;for(;n<e.length;){let r=-1;for(;n<e.length;){let t=Ir(e,n);if(t>n)n=t;else{if(e[n]==="`"&&n+1<e.length&&e[n+1]==="`"&&n+2<e.length&&e[n+2]==="`"){r=n;break}n++}}if(r===-1)break;let i=r+3;for(;i<e.length&&e[i]!==`
|