@helpai/elements 0.72.1 → 0.73.0

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/index.mjs CHANGED
@@ -1,13 +1,13 @@
1
- import{Component as e,h as t,render as n}from"preact";import{useCallback as r,useEffect as i,useLayoutEffect as a,useMemo as o,useRef as s,useState as c}from"preact/hooks";import{batch as l,effect as u,signal as d,useComputed as f,useSignal as p}from"@preact/signals";import{Fragment as m,jsx as h,jsxs as g}from"preact/jsx-runtime";import{memo as _}from"preact/compat";import*as v from"streaming-markdown";const y={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`},b=`0.72.1`,x={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…`,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`,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`,resizeHandle:`Drag to resize`,scrollToBottom:`Scroll to latest`,send:`Send`,soundOff:`Sound off`,soundOn:`Sound on`,startNewConversation:`Start a new chat`,talkToOperator:`Talk to an operator`,connectingOperator:`Connecting you to an operator…`,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…`,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…`,homeGreeting:`How can we help?`,homeGreetingNamed:`Hi {name} 👋`,homeGreetingLead:`How can we help?`,homeSearchPlaceholder:`Search for help`,homeContentTitle:`Popular articles`,homeStatus:`Status`,helpTitle:`Help`,helpSearchPlaceholder:`Search for help`,helpEmpty:`No help articles yet`,helpLoading:`Loading help…`,helpSearchEmpty:`No results found`,newsTitle:`News`,newsEmpty:`No news yet`,newsLoading:`Loading news…`,newsBack:`Back to news`,newsPublishedAt:`Published {date}`,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`},S={en:x,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…`,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`,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`,resizeHandle:`Glisser pour redimensionner`,scrollToBottom:`Aller au plus récent`,send:`Envoyer`,soundOff:`Son désactivé`,soundOn:`Son activé`,startNewConversation:`Démarrer un nouveau chat`,talkToOperator:`Parler à un opérateur`,connectingOperator:`Mise en relation avec un opérateur…`,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…`,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…`,homeGreeting:`Comment pouvons-nous vous aider ?`,homeGreetingNamed:`Bonjour {name} 👋`,homeGreetingLead:`Comment pouvons-nous vous aider ?`,homeSearchPlaceholder:`Rechercher de l'aide`,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 trouvé`,newsTitle:`Actualités`,newsEmpty:`Aucune actualité pour le moment`,newsLoading:`Chargement des actualités…`,newsBack:`Retour aux actualités`,newsPublishedAt:`Publié le {date}`,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é`},ar:{attach:`إرفاق ملفات`,attachmentMimeRejected:`نوع الملف غير مدعوم`,attachmentTooLarge:`حجم الملف كبير جدًا`,attachmentTooMany:`تم بلوغ الحد الأقصى للمرفقات`,conversationClosed:`تم إغلاق هذه الدردشة`,conversationLoading:`جارٍ تحميل الدردشة…`,close:`إغلاق`,collapse:`طيّ`,collapseSidebar:`طيّ الشريط الجانبي`,composerPlaceholder:`اكتب رسالة…`,dateLastWeek:`آخر ٧ أيام`,dateOlder:`أقدم`,dateToday:`اليوم`,dateYesterday:`أمس`,dropZone:`أفلت الملفات لإرفاقها`,errorGeneric:`حدث خطأ ما`,errorRateLimited:`طلبات كثيرة جدًا — يرجى المحاولة بعد لحظة.`,errorRetry:`إعادة المحاولة`,expand:`توسيع`,expandSidebar:`توسيع الشريط الجانبي`,exitFullscreen:`إنهاء ملء الشاشة`,fullscreen:`ملء الشاشة`,history:`السجل`,historyBack:`العودة إلى الدردشة`,historyEmpty:`لا توجد دردشات سابقة بعد`,historyContinue:`متابعة الدردشة`,historyLoading:`جارٍ تحميل دردشاتك…`,historyTitle:`سجل الدردشات`,language:`اللغة`,launcherOpen:`فتح الدردشة`,launcherLabel:`تحدث معنا`,micStart:`بدء الإدخال الصوتي`,micStop:`إيقاف الإدخال الصوتي`,micUnsupported:`الإدخال الصوتي غير مدعوم في هذا المتصفح`,moreActions:`إجراءات إضافية`,newConversation:`دردشة جديدة`,panelTitle:`الدردشة`,resizeHandle:`اسحب لتغيير الحجم`,scrollToBottom:`الانتقال إلى الأحدث`,send:`إرسال`,soundOff:`كتم الصوت`,soundOn:`تشغيل الصوت`,startNewConversation:`بدء دردشة جديدة`,talkToOperator:`التحدث إلى موظف`,connectingOperator:`جاري توصيلك بأحد الموظفين…`,noOperatorAvailable:`لا يوجد موظفون متاحون الآن — اترك بياناتك وسنتواصل معك.`,chattingWithOperator:`أنت تتحدث مع {operator}`,cancelOperatorRequest:`متابعة المحادثة مع الذكاء الاصطناعي`,stop:`إيقاف`,theme:`المظهر`,themeAuto:`تلقائي`,themeDark:`داكن`,themeLight:`فاتح`,textSize:`حجم النص`,textSizeSmall:`صغير`,textSizeNormal:`عادي`,textSizeLarge:`كبير`,loading:`جارٍ التحميل…`,thinking:`يفكّر…`,thoughts:`الأفكار`,toolResult:`النتيجة`,sources:`المصادر`,feedbackUp:`رد جيد`,feedbackDown:`رد سيئ`,feedbackThanks:`شكرًا على ملاحظاتك`,copy:`نسخ`,copied:`تم النسخ`,tabHome:`الرئيسية`,tabConversations:`الدردشات`,tabHelp:`المساعدة`,tabNews:`الأخبار`,modulesEmpty:`لا شيء هنا بعد`,moduleBack:`رجوع`,contentLoading:`جارٍ التحميل…`,homeGreeting:`كيف يمكننا مساعدتك؟`,homeGreetingNamed:`مرحبًا {name} 👋`,homeGreetingLead:`كيف يمكننا مساعدتك؟`,homeSearchPlaceholder:`ابحث عن مساعدة`,homeContentTitle:`مقالات شائعة`,homeStatus:`الحالة`,helpTitle:`المساعدة`,helpSearchPlaceholder:`ابحث عن مساعدة`,helpEmpty:`لا توجد مقالات مساعدة بعد`,helpLoading:`جارٍ تحميل المساعدة…`,helpSearchEmpty:`لا توجد نتائج`,newsTitle:`الأخبار`,newsEmpty:`لا توجد أخبار بعد`,newsLoading:`جارٍ تحميل الأخبار…`,newsBack:`العودة إلى الأخبار`,newsPublishedAt:`نُشر في {date}`,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:`تم التخطي`},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…`,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`,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`,resizeHandle:`Arrastra para cambiar el tamaño`,scrollToBottom:`Ir a lo más reciente`,send:`Enviar`,soundOff:`Sonido desactivado`,soundOn:`Sonido activado`,startNewConversation:`Iniciar un chat nuevo`,talkToOperator:`Hablar con un operador`,connectingOperator:`Conectándote con un operador…`,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…`,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…`,homeGreeting:`¿Cómo podemos ayudarte?`,homeGreetingNamed:`Hola, {name} 👋`,homeGreetingLead:`¿Cómo podemos ayudarte?`,homeSearchPlaceholder:`Buscar ayuda`,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:`No se encontraron resultados`,newsTitle:`Novedades`,newsEmpty:`Aún no hay novedades`,newsLoading:`Cargando novedades…`,newsBack:`Volver a novedades`,newsPublishedAt:`Publicado el {date}`,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`},he:{attach:`צירוף קבצים`,attachmentMimeRejected:`סוג הקובץ אינו נתמך`,attachmentTooLarge:`הקובץ גדול מדי`,attachmentTooMany:`הגעת למספר המרבי של קבצים מצורפים`,conversationClosed:`הצ׳אט הזה נסגר`,conversationLoading:`טוען צ׳אט…`,close:`סגירה`,collapse:`כיווץ`,collapseSidebar:`כיווץ סרגל הצד`,composerPlaceholder:`כתוב הודעה…`,dateLastWeek:`7 הימים האחרונים`,dateOlder:`ישן יותר`,dateToday:`היום`,dateYesterday:`אתמול`,dropZone:`שחרר קבצים כדי לצרף`,errorGeneric:`משהו השתבש`,errorRateLimited:`יותר מדי בקשות — נסה שוב בעוד רגע.`,errorRetry:`נסה שוב`,expand:`הרחבה`,expandSidebar:`הרחבת סרגל הצד`,exitFullscreen:`יציאה ממסך מלא`,fullscreen:`מסך מלא`,history:`היסטוריה`,historyBack:`חזרה לצ׳אט`,historyEmpty:`אין עדיין צ׳אטים קודמים`,historyContinue:`המשך צ׳אט`,historyLoading:`טוען את הצ׳אטים שלך…`,historyTitle:`היסטוריית צ׳אטים`,language:`שפה`,launcherOpen:`פתיחת צ׳אט`,launcherLabel:`דברו איתנו`,micStart:`התחלת קלט קולי`,micStop:`עצירת קלט קולי`,micUnsupported:`קלט קולי אינו נתמך בדפדפן זה`,moreActions:`פעולות נוספות`,newConversation:`צ׳אט חדש`,panelTitle:`צ׳אט`,resizeHandle:`גרור לשינוי הגודל`,scrollToBottom:`מעבר לחדש ביותר`,send:`שליחה`,soundOff:`השתקת הצליל`,soundOn:`הפעלת הצליל`,startNewConversation:`התחלת צ׳אט חדש`,talkToOperator:`דבר עם נציג`,connectingOperator:`מחבר אותך לנציג…`,noOperatorAvailable:`אין נציגים זמינים כעת — השאר את הפרטים שלך ונחזור אליך.`,chattingWithOperator:`אתה מצ׳וטט עם {operator}`,cancelOperatorRequest:`המשך לשוחח עם ה-AI`,stop:`עצירה`,theme:`ערכת נושא`,themeAuto:`אוטומטי`,themeDark:`כהה`,themeLight:`בהיר`,textSize:`גודל טקסט`,textSizeSmall:`קטן`,textSizeNormal:`רגיל`,textSizeLarge:`גדול`,loading:`טוען…`,thinking:`חושב…`,thoughts:`מחשבות`,toolResult:`תוצאה`,sources:`מקורות`,feedbackUp:`תשובה טובה`,feedbackDown:`תשובה גרועה`,feedbackThanks:`תודה על המשוב`,copy:`העתק`,copied:`הועתק`,tabHome:`בית`,tabConversations:`צ׳אטים`,tabHelp:`עזרה`,tabNews:`חדשות`,modulesEmpty:`אין כאן עדיין כלום`,moduleBack:`חזרה`,contentLoading:`טוען…`,homeGreeting:`כיצד נוכל לעזור?`,homeGreetingNamed:`שלום {name} 👋`,homeGreetingLead:`כיצד נוכל לעזור?`,homeSearchPlaceholder:`חיפוש עזרה`,homeContentTitle:`מאמרים פופולריים`,homeStatus:`סטטוס`,helpTitle:`עזרה`,helpSearchPlaceholder:`חיפוש עזרה`,helpEmpty:`אין עדיין מאמרי עזרה`,helpLoading:`טוען עזרה…`,helpSearchEmpty:`לא נמצאו תוצאות`,newsTitle:`חדשות`,newsEmpty:`אין עדיין חדשות`,newsLoading:`טוען חדשות…`,newsBack:`חזרה לחדשות`,newsPublishedAt:`פורסם ב-{date}`,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:`דולג`}};function C(e,t){let n=w(e),r=O(t),i=n===`en`?{}:S[n]??{},a=r?t[n]??{}:t??{},o=r?t.en??{}:{};return{...x,...i,...o,...a}}function w(e){return(e.split(`-`)[0]??`en`).toLowerCase()}const T=new Set([`ar`,`he`,`iw`,`fa`,`ur`,`ps`,`sd`,`ug`,`yi`,`dv`,`ckb`,`ks`,`nqo`,`prs`,`syr`]);function E(e){return T.has(w(e))}function D(e,t){return e[t]??t}function O(e){if(!e)return!1;for(let t of Object.values(e))if(t&&typeof t==`object`)return!0;return!1}function k(e,t){if(!(!e?.length||!t))return e.find(e=>e.locale===t)}function A(e,t){let{translations:n,defaultLocale:r,...i}=e,a=k(n,t);return a?{...i,title:a.title??i.title,description:a.description??i.description,content:a.content??i.content}:i}function j(e,t){let{translations:n,defaultLocale:r,...i}=e,a=k(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 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=[`off`,`error`,`warn`,`info`,`debug`,`trace`],M=y.cssPrefix,N=`${M}.debug`,ne=`__${y.global}_DEBUG__`,re=`${M}-debug`;let ie=2,ae=null;function oe(){if(typeof window>`u`)return 2;try{let e=new URLSearchParams(window.location.search).get(re);if(e!==null){let t=se(e);if(t>=0)return t}}catch{}try{let e=window.localStorage?.getItem(N);if(e){let t=se(e);if(t>=0)return t}}catch{}return Reflect.get(window,ne)?4:2}function se(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=te.indexOf(e);if(t>=0)return t}return-1}function ce(e){let t=se(e);if(!(t<0)){ie=t;try{window.localStorage?.setItem(N,te[t])}catch{}}}function le(){return te[ie]}ie=oe();function ue(e){let t=`[${M}:${e}]`,n=(n,r,i)=>(a,o)=>{if(!(ie<n)&&(o===void 0?console[r](t,a):console[r](t,a,o),ae))try{ae({level:i,scope:e,message:a,payload:o})}catch{}};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=>ue(`${e}:${t}`)}}const P=ue(`core`);function F(e){ae=e}const de=P.scope(`context`),fe=new Set([`visitorId`,`conversationId`,`conversationId`,`jwt`,`token`,`authorization`,`password`]),pe=1024,me=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function he(e){return _e(e,`userContext`,!0)}function ge(e){return _e(e,`pageContext`,!1)}function _e(e,t,n){if(e==null)return;if(typeof e!=`object`||Array.isArray(e)){de.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(fe.has(n)){de.warn(`dropped reserved ${t} key "${n}" — managed by the widget, not host-settable`);continue}if(a==null)continue;if(i>=50){de.warn(`${t} truncated at 50 keys — dropped "${n}"`);continue}let e=ve(t,n,a);e!==void 0&&(r[n]=e,i++)}return n&&typeof r.email==`string`&&!me.test(r.email)&&(de.warn(`dropped malformed ${t}.email "${r.email}"`),delete r.email),Object.keys(r).length>0?r:void 0}function ve(e,t,n){if(typeof n==`boolean`)return n;if(typeof n==`number`){if(!Number.isFinite(n)){de.warn(`dropped non-finite ${e}.${t}`);return}return n}if(typeof n==`string`){let r=n.trim();return r===``?void 0:r.length>pe?(de.warn(`truncated ${e}.${t} to ${pe} chars`),r.slice(0,pe)):r}de.warn(`dropped ${e}.${t} — only string/number/boolean values are allowed`,{type:typeof n})}const ye={maxBytes:10*1024*1024,maxCount:10,accept:`*/*`},be={voice:`local`},xe={list:[],byTrigger:{}},Se={enabled:!0,sampleRate:1},I={upload:`/pai/upload-file`,transcribe:`/pai/transcribe-audio`,submitForm:`/pai/submit-form`},Ce={variant:`circle`,size:`md`,label:void 0,icon:`chat`,hidden:!1},we={floating:[`theme`,`textSize`,`history`,`close`,`clear`,`expand`,`fullscreen`,`sound`,`language`],inline:[`theme`,`textSize`,`history`,`close`,`clear`,`fullscreen`,`sound`,`language`],standalone:[`theme`,`textSize`,`history`,`clear`,`sound`,`language`],page:[`theme`,`textSize`,`history`,`clear`,`sound`,`language`],modal:[`theme`,`textSize`,`history`,`close`,`clear`,`fullscreen`,`sound`,`language`],drawer:[`theme`,`textSize`,`history`,`close`,`clear`,`fullscreen`,`sound`,`language`]},Te={enabled:!0,volume:.3,events:void 0},Ee={enabled:!0,events:void 0},De=[{label:`tabConversations`,layout:`chat`}];function Oe(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??{},{themeMode:c,themeOverrides:l}=ke(t.theme),u=n.mode??`floating`,d=Ae(i.defaultLocale),f=i.availableLocales??[i.locale??d],p=je(i.locale??d,f,d),m=(t.baseUrl??y.defaultBaseUrl).replace(/\/$/,``),h=(t.agentApiBaseUrl??`${m}/api/agent`).replace(/\/$/,``),g=(t.dataApiBaseUrl??`${m}/api/data`).replace(/\/$/,``);return{widgetId:t.widgetId??`default`,publicKey:t.publicKey,aiAgentDeploymentId:t.aiAgentDeploymentId,baseUrl:m,agentApiBaseUrl:h,dataApiBaseUrl:g,userContext:he(t.userContext),pageContext:ge(t.pageContext),position:n.position??`bottom-right`,themeMode:c,textSize:`normal`,themeOverrides:l,mode:u,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,features:{voice:t.features?.voice??be.voice,fileUpload:!(t.features?.disableFileUpload??!1),humanInLoop:!(t.features?.disableHumanInLoop??!1),operatorRequest:t.features?.enableOperatorRequest===!0,tools:t.features?.tools},forms:ze(t.forms,p),endpoints:{upload:t.endpoints?.upload??I.upload,transcribe:t.endpoints?.transcribe??I.transcribe,submitForm:t.endpoints?.submitForm??I.submitForm},attachments:{accept:t.composer?.attachments?.accept??ye.accept,maxBytes:t.composer?.attachments?.maxBytes??ye.maxBytes,maxCount:t.composer?.attachments?.maxCount??ye.maxCount},locale:p,defaultLocale:d,availableLocales:f,startMinimized:r.startMinimized??!0,actions:Me(u,s.actions),size:n.size??{},launcher:Ve(t.launcher),sound:Ne(a.sound),haptics:Pe(a.haptics),strings:C(p,i.strings),stringsOverride:i.strings,composerDisclaimer:o.composerDisclaimer??``,poweredBy:Ie(o.poweredBy),composer:Le(t.composer),modules:Re(t.modules),tracking:Fe(t.tracking,g),storage:t.storage??ee,onMessage:t.onMessage,onOpen:t.onOpen,onClose:t.onClose,onError:t.onError}}function ke(e){return typeof e==`string`?{themeMode:e,themeOverrides:{}}:e&&typeof e==`object`?{themeMode:`auto`,themeOverrides:e}:{themeMode:`auto`,themeOverrides:{}}}function Ae(e){return e&&e!==`auto`?e:typeof navigator<`u`&&navigator.language?navigator.language:`en`}function je(e,t,n){return t.length<=1||t.includes(e)?e:t.includes(n)?n:t[0]??e}function Me(e,t){return t??we[e]}function Ne(e){return{enabled:e?.enabled??Te.enabled,volume:e?.volume??Te.volume,events:e?.events}}function Pe(e){return{enabled:e?.enabled??Ee.enabled,events:e?.events}}function Fe(e,t){let n=e?.sampleRate??Se.sampleRate;return{enabled:e?.enabled??Se.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 Ie(e){let t={text:`Powered by ${y.displayName}`,href:y.siteUrl,...e};return t.text||t.logoUrl?t:null}function Le(e){let t=e?.sendButton;return{sendButton:{shape:t?.shape??`circle`,icon:t?.icon??`arrowUp`,variant:t?.variant??`filled`}}}function Re(e){let t=e===void 0?De:e,n=new Set,r=[];for(let e of t.slice(0,4)){if(!e?.label||!e?.layout)continue;let t=e.contentTags?.filter(Boolean),i=e.id??t?.[0]??e.layout;for(;n.has(i);)i=`${i}-${r.length}`;n.add(i);let a={id:i,label:e.label,layout:e.layout};t&&t.length>0&&(a.contentTags=t),e.layout===`home`&&(a.brandName=e.brandName,a.greetingText=e.greetingText,a.showGreeting=!(e.hideGreeting??!1),a.showSearchBar=!(e.hideSearchBar??!1),a.showRecentConversations=!(e.hideRecentConversations??!1),e.userAvatars&&e.userAvatars.length>0&&(a.userAvatars=e.userAvatars),e.status&&(a.status=e.status),a.contentBlockTitle=e.contentBlockTitle),r.push(a)}return{list:r,byId:Object.fromEntries(r.map(e=>[e.id,e]))}}function ze(e,t){if(!e?.length)return xe;let n=[],r=new Set;for(let i of e){if(!i?.id||r.has(i.id))continue;let e=j(i,t),a=(e.fields??[]).filter(e=>!!(e&&e.name&&e.label&&e.type)),o=(Array.isArray(e.on)?e.on:[e.on]).map(Be).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 Be(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 Ve(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??Ce.variant,size:e?.size??Ce.size,label:e?.label??Ce.label,icon:e?.icon??Ce.icon,hidden:e?.hidden??Ce.hidden,callout:t}}function He(e,t,n,r){let i=je(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=C(i,e.stringsOverride)),n!==e.themeMode&&(a.themeMode=n),r!==e.textSize&&(a.textSize=r),a}const L=[`presentation`,`behavior`,`theme`,`launcher`,`header`,`composer`,`feedback`,`i18n`,`footer`,`features`,`tracking`,`endpoints`];function R(e,t){if(!t)return e;let n={...e};for(let r of L){let i=t[r];if(i===void 0)continue;let a=e[r];if(r===`theme`){a===void 0&&(n[r]=i);continue}r!==`i18n`&&(n[r]=Ue(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=Ue(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=We(a,t)),n.i18n=e}return n}function Ue(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 We(e,t){if(!e)return t;if(!t)return e;let n=O(e),r=O(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 Ge=[`clear`,`expand`,`fullscreen`,`sound`,`history`,`language`,`theme`,`textSize`,`close`],z=e=>e!==`false`,Ke=e=>e.split(`,`).map(e=>e.trim()).filter(Boolean),qe=[[`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]],Je=[[`mode`,`mode`,e=>e],[`position`,`position`,e=>e],[`iframe`,`iframe`,z]],Ye=[[`width`,`width`],[`height`,`height`]],Xe=[[`response-mode`,`responseMode`,e=>e],[`start-minimized`,`startMinimized`,z],[`show-reasoning`,`showReasoning`,z],[`show-tool-calls`,`showToolCalls`,z],[`show-sources`,`showSources`,z],[`disable-message-feedback`,`disableMessageFeedback`,z],[`auto-send-suggestions`,`autoSendSuggestions`,z]],Ze=[[`locale`,`locale`]];new Set(Ge);const Qe=[[`launcher-variant`,`variant`,e=>e],[`launcher-size`,`size`,e=>e],[`launcher-icon`,`icon`],[`launcher-hidden`,`hidden`,z]],$e=[[`features-disable-file-upload`,`disableFileUpload`,z],[`features-voice`,`voice`,e=>e],[`features-tools`,`tools`,Ke]],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-main`,`actions-overflow`,`user-context`,`page-context`],it=[qe,Je,Ye,Xe,Ze,Qe,$e,et,tt,nt],at=new Set([`iframe`,`start-minimized`]);[...it.flatMap(e=>e.map(([e])=>e).filter(e=>!at.has(e))),...rt];function ot(e){return`${y.cssPrefix}:${e}`}function st(e,t,n){e.dispatchEvent(new CustomEvent(ot(t),{detail:n}))}function ct(e,t){let n=Object.entries(t).map(([t,n])=>{let r=ot(t),i=e=>n(e.detail);return e.addEventListener(r,i),[r,i]});return()=>{for(let[t,r]of n)e.removeEventListener(t,r)}}function lt(){let e=Date.now(),t=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,ut(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 ut(e){if(typeof crypto<`u`&&typeof crypto.getRandomValues==`function`){crypto.getRandomValues(e);return}for(let t=0;t<e.length;t++)e[t]=Math.floor(Math.random()*256)}const dt=P.scope(`persistence`);function ft(e,t=ee,n){let r=n?`${e}.${n}`:e,i=`${y.cssPrefix}.storageVersion`,a=t.get(i)??void 0,o=a?`.v${a}`:``,s=`${y.cssPrefix}.${r}${o}`,c=`${y.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}.historyCount`,_=`${s}.formsDone`,v={getVisitorId(){let e=t.get(c);if(e)return e;let n=lt();return t.set(c,n),n},setVisitorId(e){dt.debug(`setVisitorId (rebind)`,{id:e,scope:r}),t.set(c,e)},loadConversationId(){return t.get(l)??void 0},saveConversationId(e){dt.trace(`saveConversationId`,{id:e,scope:r}),e?t.set(l,e):t.remove(l)},loadUserPrefs(){let e=t.get(u);if(!e)return{};try{let t=JSON.parse(e);return pt(t)?t:{}}catch(e){return dt.warn(`loadUserPrefs parse failed`,{error:e}),{}}},saveUserPrefs(e){try{t.set(u,JSON.stringify(e))}catch(e){dt.warn(`saveUserPrefs serialise failed`,{error:e})}},patchUserPrefs(e){let t=v.loadUserPrefs();v.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)},loadHistoryCount(){let e=t.get(g);if(!e)return null;let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=0?n:null},saveHistoryCount(e){t.set(g,String(e))},loadFormsDone(){let e=t.get(_);if(!e)return{};try{let t=JSON.parse(e);return pt(t)?t:{}}catch(e){return dt.warn(`loadFormsDone parse failed`,{error:e}),{}}},saveFormDone(e){try{let n=v.loadFormsDone();n[e]=Date.now(),t.set(_,JSON.stringify(n))}catch(e){dt.warn(`saveFormDone serialise failed`,{error:e})}},rememberStorageVersion(e){e&&e!==t.get(i)&&(dt.debug(`rememberStorageVersion (force-reset on next load)`,{version:e}),t.set(i,e))},clearConversation(){t.remove(l)}};return v}function pt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const mt=[`: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{useCallback as r,useEffect as i,useLayoutEffect as a,useMemo as o,useRef as s,useState as c}from"preact/hooks";import{batch as l,computed as u,effect as d,signal as f,useComputed as p,useSignal as m}from"@preact/signals";import{Fragment as h,jsx as g,jsxs as _}from"preact/jsx-runtime";import{memo as v}from"preact/compat";import*as y from"streaming-markdown";const b={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`},x=`0.73.0`,S={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…`,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`,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`,resizeHandle:`Drag to resize`,scrollToBottom:`Scroll to latest`,send:`Send`,soundOff:`Sound off`,soundOn:`Sound on`,startNewConversation:`Start a new chat`,talkToOperator:`Talk to an operator`,connectingOperator:`Connecting you to an operator…`,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…`,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…`,homeGreeting:`How can we help?`,homeGreetingNamed:`Hi {name} 👋`,homeGreetingLead:`How can we help?`,homeSearchPlaceholder:`Search for help`,homeContentTitle:`Popular articles`,homeStatus:`Status`,helpTitle:`Help`,helpSearchPlaceholder:`Search for help`,helpEmpty:`No help articles yet`,helpLoading:`Loading help…`,helpSearchEmpty:`No results found`,newsTitle:`News`,newsEmpty:`No news yet`,newsLoading:`Loading news…`,newsBack:`Back to news`,newsPublishedAt:`Published {date}`,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`},C={en:S,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…`,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`,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`,resizeHandle:`Glisser pour redimensionner`,scrollToBottom:`Aller au plus récent`,send:`Envoyer`,soundOff:`Son désactivé`,soundOn:`Son activé`,startNewConversation:`Démarrer un nouveau chat`,talkToOperator:`Parler à un opérateur`,connectingOperator:`Mise en relation avec un opérateur…`,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…`,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…`,homeGreeting:`Comment pouvons-nous vous aider ?`,homeGreetingNamed:`Bonjour {name} 👋`,homeGreetingLead:`Comment pouvons-nous vous aider ?`,homeSearchPlaceholder:`Rechercher de l'aide`,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 trouvé`,newsTitle:`Actualités`,newsEmpty:`Aucune actualité pour le moment`,newsLoading:`Chargement des actualités…`,newsBack:`Retour aux actualités`,newsPublishedAt:`Publié le {date}`,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é`},ar:{attach:`إرفاق ملفات`,attachmentMimeRejected:`نوع الملف غير مدعوم`,attachmentTooLarge:`حجم الملف كبير جدًا`,attachmentTooMany:`تم بلوغ الحد الأقصى للمرفقات`,conversationClosed:`تم إغلاق هذه الدردشة`,conversationLoading:`جارٍ تحميل الدردشة…`,close:`إغلاق`,collapse:`طيّ`,collapseSidebar:`طيّ الشريط الجانبي`,composerPlaceholder:`اكتب رسالة…`,dateLastWeek:`آخر ٧ أيام`,dateOlder:`أقدم`,dateToday:`اليوم`,dateYesterday:`أمس`,dropZone:`أفلت الملفات لإرفاقها`,errorGeneric:`حدث خطأ ما`,errorRateLimited:`طلبات كثيرة جدًا — يرجى المحاولة بعد لحظة.`,errorRetry:`إعادة المحاولة`,expand:`توسيع`,expandSidebar:`توسيع الشريط الجانبي`,exitFullscreen:`إنهاء ملء الشاشة`,fullscreen:`ملء الشاشة`,history:`السجل`,historyBack:`العودة إلى الدردشة`,historyEmpty:`لا توجد دردشات سابقة بعد`,historyContinue:`متابعة الدردشة`,historyLoading:`جارٍ تحميل دردشاتك…`,historyTitle:`سجل الدردشات`,language:`اللغة`,launcherOpen:`فتح الدردشة`,launcherLabel:`تحدث معنا`,micStart:`بدء الإدخال الصوتي`,micStop:`إيقاف الإدخال الصوتي`,micUnsupported:`الإدخال الصوتي غير مدعوم في هذا المتصفح`,moreActions:`إجراءات إضافية`,newConversation:`دردشة جديدة`,panelTitle:`الدردشة`,resizeHandle:`اسحب لتغيير الحجم`,scrollToBottom:`الانتقال إلى الأحدث`,send:`إرسال`,soundOff:`كتم الصوت`,soundOn:`تشغيل الصوت`,startNewConversation:`بدء دردشة جديدة`,talkToOperator:`التحدث إلى موظف`,connectingOperator:`جاري توصيلك بأحد الموظفين…`,noOperatorAvailable:`لا يوجد موظفون متاحون الآن — اترك بياناتك وسنتواصل معك.`,chattingWithOperator:`أنت تتحدث مع {operator}`,cancelOperatorRequest:`متابعة المحادثة مع الذكاء الاصطناعي`,stop:`إيقاف`,theme:`المظهر`,themeAuto:`تلقائي`,themeDark:`داكن`,themeLight:`فاتح`,textSize:`حجم النص`,textSizeSmall:`صغير`,textSizeNormal:`عادي`,textSizeLarge:`كبير`,loading:`جارٍ التحميل…`,thinking:`يفكّر…`,thoughts:`الأفكار`,toolResult:`النتيجة`,sources:`المصادر`,feedbackUp:`رد جيد`,feedbackDown:`رد سيئ`,feedbackThanks:`شكرًا على ملاحظاتك`,copy:`نسخ`,copied:`تم النسخ`,tabHome:`الرئيسية`,tabConversations:`الدردشات`,tabHelp:`المساعدة`,tabNews:`الأخبار`,modulesEmpty:`لا شيء هنا بعد`,moduleBack:`رجوع`,contentLoading:`جارٍ التحميل…`,homeGreeting:`كيف يمكننا مساعدتك؟`,homeGreetingNamed:`مرحبًا {name} 👋`,homeGreetingLead:`كيف يمكننا مساعدتك؟`,homeSearchPlaceholder:`ابحث عن مساعدة`,homeContentTitle:`مقالات شائعة`,homeStatus:`الحالة`,helpTitle:`المساعدة`,helpSearchPlaceholder:`ابحث عن مساعدة`,helpEmpty:`لا توجد مقالات مساعدة بعد`,helpLoading:`جارٍ تحميل المساعدة…`,helpSearchEmpty:`لا توجد نتائج`,newsTitle:`الأخبار`,newsEmpty:`لا توجد أخبار بعد`,newsLoading:`جارٍ تحميل الأخبار…`,newsBack:`العودة إلى الأخبار`,newsPublishedAt:`نُشر في {date}`,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:`تم التخطي`},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…`,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`,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`,resizeHandle:`Arrastra para cambiar el tamaño`,scrollToBottom:`Ir a lo más reciente`,send:`Enviar`,soundOff:`Sonido desactivado`,soundOn:`Sonido activado`,startNewConversation:`Iniciar un chat nuevo`,talkToOperator:`Hablar con un operador`,connectingOperator:`Conectándote con un operador…`,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…`,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…`,homeGreeting:`¿Cómo podemos ayudarte?`,homeGreetingNamed:`Hola, {name} 👋`,homeGreetingLead:`¿Cómo podemos ayudarte?`,homeSearchPlaceholder:`Buscar ayuda`,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:`No se encontraron resultados`,newsTitle:`Novedades`,newsEmpty:`Aún no hay novedades`,newsLoading:`Cargando novedades…`,newsBack:`Volver a novedades`,newsPublishedAt:`Publicado el {date}`,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`},he:{attach:`צירוף קבצים`,attachmentMimeRejected:`סוג הקובץ אינו נתמך`,attachmentTooLarge:`הקובץ גדול מדי`,attachmentTooMany:`הגעת למספר המרבי של קבצים מצורפים`,conversationClosed:`הצ׳אט הזה נסגר`,conversationLoading:`טוען צ׳אט…`,close:`סגירה`,collapse:`כיווץ`,collapseSidebar:`כיווץ סרגל הצד`,composerPlaceholder:`כתוב הודעה…`,dateLastWeek:`7 הימים האחרונים`,dateOlder:`ישן יותר`,dateToday:`היום`,dateYesterday:`אתמול`,dropZone:`שחרר קבצים כדי לצרף`,errorGeneric:`משהו השתבש`,errorRateLimited:`יותר מדי בקשות — נסה שוב בעוד רגע.`,errorRetry:`נסה שוב`,expand:`הרחבה`,expandSidebar:`הרחבת סרגל הצד`,exitFullscreen:`יציאה ממסך מלא`,fullscreen:`מסך מלא`,history:`היסטוריה`,historyBack:`חזרה לצ׳אט`,historyEmpty:`אין עדיין צ׳אטים קודמים`,historyContinue:`המשך צ׳אט`,historyLoading:`טוען את הצ׳אטים שלך…`,historyTitle:`היסטוריית צ׳אטים`,language:`שפה`,launcherOpen:`פתיחת צ׳אט`,launcherLabel:`דברו איתנו`,micStart:`התחלת קלט קולי`,micStop:`עצירת קלט קולי`,micUnsupported:`קלט קולי אינו נתמך בדפדפן זה`,moreActions:`פעולות נוספות`,newConversation:`צ׳אט חדש`,panelTitle:`צ׳אט`,resizeHandle:`גרור לשינוי הגודל`,scrollToBottom:`מעבר לחדש ביותר`,send:`שליחה`,soundOff:`השתקת הצליל`,soundOn:`הפעלת הצליל`,startNewConversation:`התחלת צ׳אט חדש`,talkToOperator:`דבר עם נציג`,connectingOperator:`מחבר אותך לנציג…`,noOperatorAvailable:`אין נציגים זמינים כעת — השאר את הפרטים שלך ונחזור אליך.`,chattingWithOperator:`אתה מצ׳וטט עם {operator}`,cancelOperatorRequest:`המשך לשוחח עם ה-AI`,stop:`עצירה`,theme:`ערכת נושא`,themeAuto:`אוטומטי`,themeDark:`כהה`,themeLight:`בהיר`,textSize:`גודל טקסט`,textSizeSmall:`קטן`,textSizeNormal:`רגיל`,textSizeLarge:`גדול`,loading:`טוען…`,thinking:`חושב…`,thoughts:`מחשבות`,toolResult:`תוצאה`,sources:`מקורות`,feedbackUp:`תשובה טובה`,feedbackDown:`תשובה גרועה`,feedbackThanks:`תודה על המשוב`,copy:`העתק`,copied:`הועתק`,tabHome:`בית`,tabConversations:`צ׳אטים`,tabHelp:`עזרה`,tabNews:`חדשות`,modulesEmpty:`אין כאן עדיין כלום`,moduleBack:`חזרה`,contentLoading:`טוען…`,homeGreeting:`כיצד נוכל לעזור?`,homeGreetingNamed:`שלום {name} 👋`,homeGreetingLead:`כיצד נוכל לעזור?`,homeSearchPlaceholder:`חיפוש עזרה`,homeContentTitle:`מאמרים פופולריים`,homeStatus:`סטטוס`,helpTitle:`עזרה`,helpSearchPlaceholder:`חיפוש עזרה`,helpEmpty:`אין עדיין מאמרי עזרה`,helpLoading:`טוען עזרה…`,helpSearchEmpty:`לא נמצאו תוצאות`,newsTitle:`חדשות`,newsEmpty:`אין עדיין חדשות`,newsLoading:`טוען חדשות…`,newsBack:`חזרה לחדשות`,newsPublishedAt:`פורסם ב-{date}`,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:`דולג`}};function w(e,t){let n=T(e),r=O(t),i=n===`en`?{}:C[n]??{},a=r?t[n]??{}:t??{},o=r?t.en??{}:{};return{...S,...i,...o,...a}}function T(e){return(e.split(`-`)[0]??`en`).toLowerCase()}const ee=new Set([`ar`,`he`,`iw`,`fa`,`ur`,`ps`,`sd`,`ug`,`yi`,`dv`,`ckb`,`ks`,`nqo`,`prs`,`syr`]);function E(e){return ee.has(T(e))}function D(e,t){return e[t]??t}function O(e){if(!e)return!1;for(let t of Object.values(e))if(t&&typeof t==`object`)return!0;return!1}function k(e,t){if(!(!e?.length||!t))return e.find(e=>e.locale===t)}function A(e,t){let{translations:n,defaultLocale:r,...i}=e,a=k(n,t);return a?{...i,title:a.title??i.title,description:a.description??i.description,content:a.content??i.content}:i}function j(e,t){let{translations:n,defaultLocale:r,...i}=e,a=k(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 te=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{}}},ne=[`off`,`error`,`warn`,`info`,`debug`,`trace`],M=b.cssPrefix,N=`${M}.debug`,re=`__${b.global}_DEBUG__`,P=`${M}-debug`;let F=2,ie=null;function I(){if(typeof window>`u`)return 2;try{let e=new URLSearchParams(window.location.search).get(P);if(e!==null){let t=ae(e);if(t>=0)return t}}catch{}try{let e=window.localStorage?.getItem(N);if(e){let t=ae(e);if(t>=0)return t}}catch{}return Reflect.get(window,re)?4:2}function ae(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=ne.indexOf(e);if(t>=0)return t}return-1}function oe(e){let t=ae(e);if(!(t<0)){F=t;try{window.localStorage?.setItem(N,ne[t])}catch{}}}function se(){return ne[F]}F=I();function ce(e){let t=`[${M}:${e}]`,n=(n,r,i)=>(a,o)=>{if(!(F<n)&&(o===void 0?console[r](t,a):console[r](t,a,o),ie))try{ie({level:i,scope:e,message:a,payload:o})}catch{}};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=>ce(`${e}:${t}`)}}const L=ce(`core`);function R(e){ie=e}const le=L.scope(`context`),ue=new Set([`visitorId`,`conversationId`,`conversationId`,`jwt`,`token`,`authorization`,`password`]),de=1024,fe=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function pe(e){return he(e,`userContext`,!0)}function me(e){return he(e,`pageContext`,!1)}function he(e,t,n){if(e==null)return;if(typeof e!=`object`||Array.isArray(e)){le.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(ue.has(n)){le.warn(`dropped reserved ${t} key "${n}" — managed by the widget, not host-settable`);continue}if(a==null)continue;if(i>=50){le.warn(`${t} truncated at 50 keys — dropped "${n}"`);continue}let e=ge(t,n,a);e!==void 0&&(r[n]=e,i++)}return n&&typeof r.email==`string`&&!fe.test(r.email)&&(le.warn(`dropped malformed ${t}.email "${r.email}"`),delete r.email),Object.keys(r).length>0?r:void 0}function ge(e,t,n){if(typeof n==`boolean`)return n;if(typeof n==`number`){if(!Number.isFinite(n)){le.warn(`dropped non-finite ${e}.${t}`);return}return n}if(typeof n==`string`){let r=n.trim();return r===``?void 0:r.length>de?(le.warn(`truncated ${e}.${t} to ${de} chars`),r.slice(0,de)):r}le.warn(`dropped ${e}.${t} — only string/number/boolean values are allowed`,{type:typeof n})}const _e={maxBytes:10*1024*1024,maxCount:10,accept:`*/*`},ve={voice:`local`},ye={list:[],byTrigger:{}},be={enabled:!0,sampleRate:1},xe={upload:`/pai/upload-file`,transcribe:`/pai/transcribe-audio`,submitForm:`/pai/submit-form`},Se={variant:`circle`,size:`md`,label:void 0,icon:`chat`,hidden:!1},Ce={floating:[`theme`,`textSize`,`history`,`close`,`clear`,`expand`,`fullscreen`,`sound`,`language`],inline:[`theme`,`textSize`,`history`,`close`,`clear`,`fullscreen`,`sound`,`language`],standalone:[`theme`,`textSize`,`history`,`clear`,`sound`,`language`],page:[`theme`,`textSize`,`history`,`clear`,`sound`,`language`],modal:[`theme`,`textSize`,`history`,`close`,`clear`,`fullscreen`,`sound`,`language`],drawer:[`theme`,`textSize`,`history`,`close`,`clear`,`fullscreen`,`sound`,`language`]},we={enabled:!0,volume:.3,events:void 0},Te={enabled:!0,events:void 0},Ee=[{label:`tabConversations`,layout:`chat`}];function De(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??{},{themeMode:c,themeOverrides:l}=Oe(t.theme),u=n.mode??`floating`,d=ke(i.defaultLocale),f=i.availableLocales??[i.locale??d],p=Ae(i.locale??d,f,d),m=(t.baseUrl??b.defaultBaseUrl).replace(/\/$/,``),h=(t.agentApiBaseUrl??`${m}/api/agent`).replace(/\/$/,``),g=(t.dataApiBaseUrl??`${m}/api/data`).replace(/\/$/,``);return{widgetId:t.widgetId??`default`,publicKey:t.publicKey,aiAgentDeploymentId:t.aiAgentDeploymentId,baseUrl:m,agentApiBaseUrl:h,dataApiBaseUrl:g,userContext:pe(t.userContext),pageContext:me(t.pageContext),position:n.position??`bottom-right`,themeMode:c,textSize:`normal`,themeOverrides:l,mode:u,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,features:{voice:t.features?.voice??ve.voice,fileUpload:!(t.features?.disableFileUpload??!1),humanInLoop:!(t.features?.disableHumanInLoop??!1),operatorRequest:t.features?.enableOperatorRequest===!0},forms:Re(t.forms,p),endpoints:{upload:t.endpoints?.upload??xe.upload,transcribe:t.endpoints?.transcribe??xe.transcribe,submitForm:t.endpoints?.submitForm??xe.submitForm},attachments:{accept:t.composer?.attachments?.accept??_e.accept,maxBytes:t.composer?.attachments?.maxBytes??_e.maxBytes,maxCount:t.composer?.attachments?.maxCount??_e.maxCount},locale:p,defaultLocale:d,availableLocales:f,startMinimized:r.startMinimized??!0,actions:je(u,s.actions),size:n.size??{},launcher:Be(t.launcher),sound:Me(a.sound),haptics:Ne(a.haptics),strings:w(p,i.strings),stringsOverride:i.strings,composerDisclaimer:o.composerDisclaimer??``,poweredBy:Fe(o.poweredBy),composer:Ie(t.composer),modules:Le(t.modules),tracking:Pe(t.tracking,g),storage:t.storage??te,onMessage:t.onMessage,onOpen:t.onOpen,onClose:t.onClose,onError:t.onError}}function Oe(e){return typeof e==`string`?{themeMode:e,themeOverrides:{}}:e&&typeof e==`object`?{themeMode:`auto`,themeOverrides:e}:{themeMode:`auto`,themeOverrides:{}}}function ke(e){return e&&e!==`auto`?e:typeof navigator<`u`&&navigator.language?navigator.language:`en`}function Ae(e,t,n){return t.length<=1||t.includes(e)?e:t.includes(n)?n:t[0]??e}function je(e,t){return t??Ce[e]}function Me(e){return{enabled:e?.enabled??we.enabled,volume:e?.volume??we.volume,events:e?.events}}function Ne(e){return{enabled:e?.enabled??Te.enabled,events:e?.events}}function Pe(e,t){let n=e?.sampleRate??be.sampleRate;return{enabled:e?.enabled??be.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 Fe(e){let t={text:`Powered by ${b.displayName}`,href:b.siteUrl,...e};return t.text||t.logoUrl?t:null}function Ie(e){let t=e?.sendButton;return{sendButton:{shape:t?.shape??`circle`,icon:t?.icon??`arrowUp`,variant:t?.variant??`filled`}}}function Le(e){let t=e===void 0?Ee:e,n=new Set,r=[];for(let e of t.slice(0,4)){if(!e?.label||!e?.layout)continue;let t=e.contentTags?.filter(Boolean),i=e.id??t?.[0]??e.layout;for(;n.has(i);)i=`${i}-${r.length}`;n.add(i);let a={id:i,label:e.label,layout:e.layout};t&&t.length>0&&(a.contentTags=t),e.layout===`home`&&(a.brandName=e.brandName,a.greetingText=e.greetingText,a.showGreeting=!(e.hideGreeting??!1),a.showSearchBar=!(e.hideSearchBar??!1),a.showRecentConversations=!(e.hideRecentConversations??!1),e.userAvatars&&e.userAvatars.length>0&&(a.userAvatars=e.userAvatars),e.status&&(a.status=e.status),a.contentBlockTitle=e.contentBlockTitle),r.push(a)}return{list:r,byId:Object.fromEntries(r.map(e=>[e.id,e]))}}function Re(e,t){if(!e?.length)return ye;let n=[],r=new Set;for(let i of e){if(!i?.id||r.has(i.id))continue;let e=j(i,t),a=(e.fields??[]).filter(e=>!!(e&&e.name&&e.label&&e.type)),o=(Array.isArray(e.on)?e.on:[e.on]).map(ze).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 ze(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 Be(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??Se.variant,size:e?.size??Se.size,label:e?.label??Se.label,icon:e?.icon??Se.icon,hidden:e?.hidden??Se.hidden,callout:t}}function Ve(e,t,n,r){let i=Ae(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=w(i,e.stringsOverride)),n!==e.themeMode&&(a.themeMode=n),r!==e.textSize&&(a.textSize=r),a}const He=[`presentation`,`behavior`,`theme`,`launcher`,`header`,`composer`,`feedback`,`i18n`,`footer`,`features`,`tracking`,`endpoints`];function z(e,t){if(!t)return e;let n={...e};for(let r of He){let i=t[r];if(i===void 0)continue;let a=e[r];if(r===`theme`){a===void 0&&(n[r]=i);continue}r!==`i18n`&&(n[r]=Ue(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=Ue(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=We(a,t)),n.i18n=e}return n}function Ue(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 We(e,t){if(!e)return t;if(!t)return e;let n=O(e),r=O(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 Ge=[`clear`,`expand`,`fullscreen`,`sound`,`history`,`language`,`theme`,`textSize`,`close`],Ke=e=>e!==`false`,qe=[[`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]],Je=[[`mode`,`mode`,e=>e],[`position`,`position`,e=>e],[`iframe`,`iframe`,Ke]],Ye=[[`width`,`width`],[`height`,`height`]],Xe=[[`response-mode`,`responseMode`,e=>e],[`start-minimized`,`startMinimized`,Ke],[`show-reasoning`,`showReasoning`,Ke],[`show-tool-calls`,`showToolCalls`,Ke],[`show-sources`,`showSources`,Ke],[`disable-message-feedback`,`disableMessageFeedback`,Ke],[`auto-send-suggestions`,`autoSendSuggestions`,Ke]],Ze=[[`locale`,`locale`]];new Set(Ge);const Qe=[[`launcher-variant`,`variant`,e=>e],[`launcher-size`,`size`,e=>e],[`launcher-icon`,`icon`],[`launcher-hidden`,`hidden`,Ke]],$e=[[`features-disable-file-upload`,`disableFileUpload`,Ke],[`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=[qe,Je,Ye,Xe,Ze,Qe,$e,et,tt,nt],at=new Set([`iframe`,`start-minimized`]);[...it.flatMap(e=>e.map(([e])=>e).filter(e=>!at.has(e))),...rt];function ot(e){return`${b.cssPrefix}:${e}`}function st(e,t,n){e.dispatchEvent(new CustomEvent(ot(t),{detail:n}))}function ct(e,t){let n=Object.entries(t).map(([t,n])=>{let r=ot(t),i=e=>n(e.detail);return e.addEventListener(r,i),[r,i]});return()=>{for(let[t,r]of n)e.removeEventListener(t,r)}}function lt(){let e=Date.now(),t=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,ut(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 ut(e){if(typeof crypto<`u`&&typeof crypto.getRandomValues==`function`){crypto.getRandomValues(e);return}for(let t=0;t<e.length;t++)e[t]=Math.floor(Math.random()*256)}const dt=L.scope(`persistence`);function ft(e,t=te,n){let r=n?`${e}.${n}`:e,i=`${b.cssPrefix}.storageVersion`,a=t.get(i)??void 0,o=a?`.v${a}`:``,s=`${b.cssPrefix}.${r}${o}`,c=`${b.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}.historyCount`,_=`${s}.formsDone`,v={getVisitorId(){let e=t.get(c);if(e)return e;let n=lt();return t.set(c,n),n},setVisitorId(e){dt.debug(`setVisitorId (rebind)`,{id:e,scope:r}),t.set(c,e)},loadConversationId(){return t.get(l)??void 0},saveConversationId(e){dt.trace(`saveConversationId`,{id:e,scope:r}),e?t.set(l,e):t.remove(l)},loadUserPrefs(){let e=t.get(u);if(!e)return{};try{let t=JSON.parse(e);return pt(t)?t:{}}catch(e){return dt.warn(`loadUserPrefs parse failed`,{error:e}),{}}},saveUserPrefs(e){try{t.set(u,JSON.stringify(e))}catch(e){dt.warn(`saveUserPrefs serialise failed`,{error:e})}},patchUserPrefs(e){let t=v.loadUserPrefs();v.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)},loadHistoryCount(){let e=t.get(g);if(!e)return null;let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=0?n:null},saveHistoryCount(e){t.set(g,String(e))},loadFormsDone(){let e=t.get(_);if(!e)return{};try{let t=JSON.parse(e);return pt(t)?t:{}}catch(e){return dt.warn(`loadFormsDone parse failed`,{error:e}),{}}},saveFormDone(e){try{let n=v.loadFormsDone();n[e]=Date.now(),t.set(_,JSON.stringify(n))}catch(e){dt.warn(`saveFormDone serialise failed`,{error:e})}},rememberStorageVersion(e){e&&e!==t.get(i)&&(dt.debug(`rememberStorageVersion (force-reset on next load)`,{version:e}),t.set(i,e))},clearConversation(){t.remove(l)}};return v}function pt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const mt=[`: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
  `,`*,*: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}
3
- `,`.__P__-anchor{color-scheme:var(--__P__-color-scheme, light);right:16px;bottom:16px}.__P__-surface{display:contents}.__P__-surface[hidden]{display:none}:host([data-position="bottom-left"]) .__P__-anchor,:host([data-position="top-left"]) .__P__-anchor{right:auto;left:16px}:host([data-position="top-right"]) .__P__-anchor,:host([data-position="top-left"]) .__P__-anchor{bottom:auto;top:16px}.__P__-anchor{position:fixed;display:flex;flex-direction:column;align-items:flex-end;gap:var(--__P__-space-3);pointer-events:none}.__P__-anchor{--__P__-fab-size: 56px}.__P__-anchor[data-launcher-size=sm]{--__P__-fab-size: 44px}.__P__-anchor[data-launcher-size=md]{--__P__-fab-size: 56px}.__P__-anchor[data-launcher-size=lg]{--__P__-fab-size: 68px}.__P__-anchor>*{pointer-events:auto}.__P__-fab[data-size=sm]{--__P__-fab-size: 44px;font-size:var(--__P__-text-sm)}.__P__-fab[data-size=md]{--__P__-fab-size: 56px;font-size:calc(14px * var(--__P__-text-scale))}.__P__-fab[data-size=lg]{--__P__-fab-size: 68px;font-size:var(--__P__-text-base)}.__P__-fab{display:inline-flex;align-items:center;justify-content:center;gap:var(--__P__-space-2);color:var(--__P__-accent-text);background:var(--__P__-accent);box-shadow:var(--__P__-shadow-fab);font-weight:600;line-height:1;transform-origin:bottom right;animation:__P__-fab-in var(--__P__-dur-base) var(--__P__-ease) both;transition:transform var(--__P__-dur-base) var(--__P__-ease),opacity var(--__P__-dur-base) var(--__P__-ease),box-shadow var(--__P__-dur-base) var(--__P__-ease)}.__P__-fab:hover{transform:translateY(-2px)}.__P__-fab:active{transform:translateY(0)}.__P__-fab:focus-visible{outline:2px solid var(--__P__-on-accent);outline-offset:3px}.__P__-fab svg{width:24px;height:24px;flex-shrink:0}@keyframes __P__-fab-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}.__P__-fab[data-leaving]{position:absolute;right:0;bottom:0;animation:__P__-fab-out var(--__P__-dur-quick) var(--__P__-ease) forwards;pointer-events:none}:host([data-position^="top-"]) .__P__-fab[data-leaving]{bottom:auto;top:0}:host([data-position$="-left"]) .__P__-fab[data-leaving]{right:auto;left:0}@keyframes __P__-fab-out{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.85)}}.__P__-fab[data-variant=circle]{width:var(--__P__-fab-size);height:var(--__P__-fab-size);border-radius:999px}.__P__-fab[data-variant=circle] .__P__-fab-label{display:none}.__P__-fab[data-variant=pill]{height:var(--__P__-fab-size);padding:0 18px 0 16px;border-radius:999px}.__P__-fab[data-variant=bar]{height:var(--__P__-fab-size);padding:0 22px;border-radius:var(--__P__-radius)}.__P__-fab[data-variant=minimal]{height:var(--__P__-fab-size);padding:0 var(--__P__-space-4);border-radius:999px;background:transparent;color:var(--__P__-accent-fg);box-shadow:none;border:1px solid currentColor}.__P__-fab[data-variant=minimal]:hover{background:color-mix(in srgb,var(--__P__-accent) 12%,transparent)}.__P__-callout{--__P__-callout-fab-h: var(--__P__-fab-size, 56px);--__P__-callout-gap: clamp(12px, calc(var(--__P__-callout-fab-h) * .25), 22px);--__P__-callout-nudge-direction: -1;position:absolute;display:inline-flex;align-items:center;gap:var(--__P__-space-2);padding:10px 14px;background:var(--__P__-fg);color:var(--__P__-bg);border-radius:999px;font-size:var(--__P__-text-sm);font-weight:600;line-height:1.2;box-shadow:0 10px 30px -8px #00000059;pointer-events:auto;animation:__P__-callout-in var(--__P__-dur-slow) var(--__P__-ease);z-index:1;max-width:240px;white-space:nowrap}.__P__-callout[data-position=left]{right:calc(100% + var(--__P__-callout-gap));bottom:calc(var(--__P__-callout-fab-h) / 2);transform:translateY(50%)}.__P__-callout[data-position=right]{left:calc(100% + var(--__P__-callout-gap));bottom:calc(var(--__P__-callout-fab-h) / 2);transform:translateY(50%);--__P__-callout-nudge-direction: 1}.__P__-callout[data-position=top]{bottom:calc(100% + var(--__P__-callout-gap));right:0;max-width:min(280px,calc(100vw - 32px))}.__P__-callout[data-position=bottom]{top:calc(100% + var(--__P__-callout-gap));right:0;max-width:min(280px,calc(100vw - 32px))}:host([data-position$="-left"]) .__P__-callout[data-position=top],:host([data-position$="-left"]) .__P__-callout[data-position=bottom]{right:auto;left:0}.__P__-callout[data-shape=bubble]{border-radius:var(--__P__-radius-md);white-space:normal;width:max-content;max-width:min(280px,calc(100vw - 32px))}.__P__-callout[data-shape=callout]{padding:12px 18px;font-size:calc(14px * var(--__P__-text-scale));background:var(--__P__-accent);color:var(--__P__-accent-text)}.__P__-callout:after{content:"";position:absolute;width:12px;height:12px;background:inherit;border-radius:2px;transform:rotate(45deg)}.__P__-callout[data-position=left]:after{right:-5px;top:50%;margin-top:-6px}.__P__-callout[data-position=right]:after{left:-5px;top:50%;margin-top:-6px}.__P__-callout[data-position=top]:after{bottom:-5px;right:calc(var(--__P__-fab-size, 56px) / 2 - 6px)}.__P__-callout[data-position=bottom]:after{top:-5px;right:calc(var(--__P__-fab-size, 56px) / 2 - 6px)}:host([data-position$="-left"]) .__P__-callout[data-position=top]:after,:host([data-position$="-left"]) .__P__-callout[data-position=bottom]:after{right:auto;left:calc(var(--__P__-fab-size, 56px) / 2 - 6px)}.__P__-callout[data-animated]{animation:__P__-callout-in var(--__P__-dur-slow) var(--__P__-ease),__P__-callout-nudge 1.6s var(--__P__-ease-in-out) var(--__P__-dur-slow) infinite}@keyframes __P__-callout-in{0%{opacity:0}to{opacity:1}}@keyframes __P__-callout-nudge{0%,to{margin-left:0;margin-right:0}50%{margin-left:calc(6px * var(--__P__-callout-nudge-direction));margin-right:calc(-6px * var(--__P__-callout-nudge-direction))}}@media(prefers-reduced-motion:reduce){.__P__-callout[data-animated]{animation:__P__-callout-in 1ms var(--__P__-ease)}.__P__-icon-btn[data-recording=true],.__P__-typing span{animation:none}}.__P__-callout-close{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;color:inherit;opacity:.7;cursor:pointer}.__P__-callout-close:hover{opacity:1;background:color-mix(in srgb,currentColor 15%,transparent)}.__P__-callout-close:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px}.__P__-callout-close svg{width:12px;height:12px}.__P__-panel{width:var(--__P__-panel-w);height:var(--__P__-panel-h);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);background:var(--__P__-bg);color:var(--__P__-fg);border-radius:var(--__P__-radius-lg);box-shadow:var(--__P__-shadow-panel);display:flex;flex-direction:column;overflow:hidden;transform-origin:bottom right;animation:__P__-panel-in var(--__P__-dur-slow) var(--__P__-ease);border:1px solid var(--__P__-border)}@media(prefers-reduced-motion:no-preference){.__P__-panel{transition:width var(--__P__-dur-base) var(--__P__-ease),height var(--__P__-dur-base) var(--__P__-ease),max-width var(--__P__-dur-base) var(--__P__-ease),max-height var(--__P__-dur-base) var(--__P__-ease)}.__P__-panel[data-resizing]{transition:none}}:host([data-mode="open"]) .__P__-panel{width:var(--__P__-widget-w, var(--__P__-panel-w));height:var(--__P__-widget-h, var(--__P__-panel-h));min-width:var(--__P__-resize-min-w, auto);min-height:var(--__P__-resize-min-h, auto);max-width:var(--__P__-resize-max-w, calc(100vw - 32px) );max-height:var(--__P__-resize-max-h, calc(100dvh - 32px) )}@keyframes __P__-panel-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}:host([data-mode="expanded"]) .__P__-panel{width:var(--__P__-expanded-w, 640px);height:var(--__P__-expanded-h, 820px);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px)}:host([data-mode="fullscreen"]){z-index:var(--__P__-z-panel)!important}:host([data-mode="fullscreen"]) .__P__-anchor{inset:0;padding:0;justify-content:flex-end;align-items:flex-end}:host([data-mode="fullscreen"][data-position*="top"]) .__P__-anchor{justify-content:flex-start}:host([data-mode="fullscreen"][data-position*="left"]) .__P__-anchor{align-items:flex-start}:host([data-mode="fullscreen"]) .__P__-panel{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;border:0}:host([data-mode="fullscreen"]) .__P__-fab{display:none}@media(max-width:640px){:host([data-mode="open"]) .__P__-anchor,:host([data-mode="expanded"]) .__P__-anchor{inset:0;align-items:stretch;padding:0}:host([data-mode="open"]) .__P__-panel,:host([data-mode="expanded"]) .__P__-panel{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;border:0}}:host([data-mode="inline"]) .__P__-anchor,:host([data-mode="standalone"]) .__P__-anchor{position:static;inset:auto;padding:0;align-items:stretch;width:100%;height:100%;min-height:0}:host([data-mode="inline"]) .__P__-panel,:host([data-mode="standalone"]) .__P__-panel{width:100%;height:100%;min-width:0;min-height:0;max-width:none;max-height:none;animation:none}:host([data-mode="inline"]) .__P__-fab,:host([data-mode="standalone"]) .__P__-fab{display:none}:host([data-mode="inline"]){min-height:320px}:host([data-mode="inline"]) .__P__-panel{border-radius:var(--__P__-radius)}:host([data-mode="standalone"]) .__P__-panel{border-radius:0;border:0;box-shadow:none}:host([data-mode="modal"]){position:fixed!important;inset:0!important;z-index:var(--__P__-z-panel)!important;display:block!important;width:100vw;height:100dvh;background:var(--__P__-modal-backdrop, var(--__P__-backdrop));animation:__P__-backdrop-in var(--__P__-dur-base) var(--__P__-ease) both;--__P__-panel-w: min(960px, 92vw);--__P__-panel-h: min(720px, 88dvh)}:host([data-mode="modal"]) .__P__-anchor{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--__P__-space-6);pointer-events:none}:host([data-mode="modal"]) .__P__-panel{pointer-events:auto;width:var(--__P__-widget-w, var(--__P__-panel-w));height:var(--__P__-widget-h, var(--__P__-panel-h));max-width:calc(100vw - 48px);max-height:calc(100dvh - 48px);min-width:0;min-height:0;border-radius:var(--__P__-radius);box-shadow:var(--__P__-shadow-panel);animation:__P__-modal-in var(--__P__-dur-base) var(--__P__-ease);translate:var(--__P__-modal-dx, 0px) var(--__P__-modal-dy, 0px)}:host([data-mode="modal"]) .__P__-header,:host([data-mode="modal"]) .__P__-back-header,:host([data-mode="modal"]) .__P__-home-hero{cursor:grab;touch-action:none}:host([data-mode="modal"]) .__P__-panel[data-dragging]{cursor:grabbing;user-select:none}:host([data-mode="modal"]) .__P__-panel[data-dragging] *{cursor:grabbing}:host([data-mode="modal"]) .__P__-fab{display:none}@keyframes __P__-backdrop-in{0%{background:#0000}to{background:var(--__P__-modal-backdrop, var(--__P__-backdrop))}}@keyframes __P__-modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}:host([data-mode="drawer"]){--__P__-panel-w: min(440px, calc(100vw - 32px) );--__P__-panel-h: 100dvh}:host([data-mode="drawer"]) .__P__-anchor{position:fixed;--__P__-inset-x: var(--__P__-panel-inset, 12px);--__P__-inset-y: var(--__P__-panel-inset, 3dvh);top:var(--__P__-inset-y);bottom:auto;right:var(--__P__-inset-x);left:auto;width:min(var(--__P__-widget-w, var(--__P__-panel-w)),calc(100vw - var(--__P__-inset-x) * 2));height:min(var(--__P__-widget-h, var(--__P__-panel-h)),calc(100dvh - var(--__P__-inset-y) * 2));padding:0;display:block;pointer-events:auto}:host([data-mode="drawer"][data-position$="-left"]) .__P__-anchor{right:auto;left:var(--__P__-inset-x)}:host([data-mode="drawer"][data-position^="bottom-"]) .__P__-anchor{top:auto;bottom:var(--__P__-inset-y)}:host([data-mode="drawer"]) .__P__-panel{width:100%;height:100%;max-width:none;max-height:none;min-width:0;min-height:0;border-radius:var(--__P__-radius, 12px);border:1px solid var(--__P__-border);box-shadow:-8px 16px 32px -12px #00000038;animation:__P__-drawer-in var(--__P__-dur-base) var(--__P__-ease)}:host([data-mode="drawer"][data-position$="-left"]) .__P__-panel{box-shadow:8px 16px 32px -12px #00000038;animation:__P__-drawer-in-left var(--__P__-dur-base) var(--__P__-ease)}.__P__-fab[data-edge-tab]{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--__P__-space-2);position:fixed;top:50%;height:140px;width:auto;min-width:0;padding:10px 8px;writing-mode:vertical-rl;text-orientation:mixed;transform:translateY(-50%);transform-origin:center;animation:__P__-edge-tab-in var(--__P__-dur-base) var(--__P__-ease) both}.__P__-fab[data-edge-tab] svg{writing-mode:horizontal-tb}.__P__-fab[data-edge-tab]:hover{transform:translateY(-50%) scale(1.03)}.__P__-fab[data-edge-tab]:active{transform:translateY(-50%) scale(.97)}:host([data-position$="-right"]) .__P__-fab[data-edge-tab]{right:0;left:auto;border-radius:12px 0 0 12px;box-shadow:-6px 0 18px -8px #0000004d}:host([data-position$="-left"]) .__P__-fab[data-edge-tab]{left:0;right:auto;border-radius:0 12px 12px 0;box-shadow:6px 0 18px -8px #0000004d}.__P__-fab[data-edge-tab][data-leaving]{position:fixed;top:50%;bottom:auto;animation:__P__-edge-tab-out var(--__P__-dur-quick) var(--__P__-ease) forwards}@keyframes __P__-edge-tab-in{0%{opacity:0;transform:translateY(-50%) scale(.9)}to{opacity:1;transform:translateY(-50%) scale(1)}}@keyframes __P__-edge-tab-out{0%{opacity:1;transform:translateY(-50%) scale(1)}to{opacity:0;transform:translateY(-50%) scale(.85)}}@keyframes __P__-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes __P__-drawer-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){:host([data-mode="drawer"]) .__P__-panel,.__P__-fab[data-edge-tab]{animation:none}}.__P__-header{display:flex;align-items:center;gap:var(--__P__-space-2);padding:10px 12px;border-bottom:1px solid var(--__P__-border);background:var(--__P__-bg)}.__P__-header h1{font-size:calc(14px * var(--__P__-text-scale));font-weight:600;flex:1;letter-spacing:-.01em}.__P__-header-actions{margin-inline-start:auto;display:flex;align-items:center;gap:var(--__P__-space-1);flex-shrink:0}.__P__-agent{flex:1;display:inline-flex;align-items:center;gap:10px;min-width:0}.__P__-agent-avatar{position:relative;width:32px;height:32px;border-radius:999px;background:var(--__P__-bg-elevated);color:var(--__P__-fg-muted);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--__P__-text-xs);overflow:hidden;flex-shrink:0}.__P__-agent-avatar img{width:100%;height:100%;object-fit:cover}.__P__-agent-avatar:after{content:"";position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:999px;border:2px solid var(--__P__-bg);background:var(--__P__-neutral)}.__P__-agent-avatar[data-status=online]:after{background:var(--__P__-success)}.__P__-agent-avatar[data-status=away]:after{background:var(--__P__-warning)}.__P__-agent-avatar[data-status=offline]:after{background:var(--__P__-neutral)}.__P__-agent-meta{display:flex;flex-direction:column;line-height:1.15;min-width:0}.__P__-agent-meta strong{font-size:calc(14px * var(--__P__-text-scale));font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.__P__-agent-meta span{font-size:var(--__P__-text-xs);color:var(--__P__-fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.__P__-suggestions{display:flex;flex-wrap:nowrap;gap:var(--__P__-space-2);padding:6px 14px 10px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;min-width:0}.__P__-suggestions::-webkit-scrollbar{display:none}.__P__-suggestions:before,.__P__-suggestions:after{content:"";flex:1 1 0;min-width:0}.__P__-suggestion{flex:0 0 auto;scroll-snap-align:center;padding:7px 14px;border-radius:999px;background:var(--__P__-bg-elevated);border:1px solid var(--__P__-border);color:var(--__P__-fg);font-size:var(--__P__-text-sm);font-weight:500;white-space:nowrap;transition:background var(--__P__-dur-quick) var(--__P__-ease),border-color var(--__P__-dur-quick) var(--__P__-ease),transform var(--__P__-dur-quick) var(--__P__-ease)}.__P__-suggestion:hover{border-color:var(--__P__-accent);color:var(--__P__-accent-fg);transform:translateY(-1px)}.__P__-suggestion:focus-visible{outline:2px solid var(--__P__-accent);outline-offset:2px;border-color:var(--__P__-accent)}.__P__-suggestion:active{transform:translateY(0)}.__P__-icon-btn{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--__P__-fg-muted);transition:background var(--__P__-dur-quick) var(--__P__-ease),color var(--__P__-dur-quick) var(--__P__-ease)}.__P__-icon-btn:hover{background:var(--__P__-bg-elevated);color:var(--__P__-fg)}.__P__-icon-btn:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px}.__P__-icon-btn:active{background:var(--__P__-border)}.__P__-icon-btn:disabled{opacity:.45;cursor:not-allowed}.__P__-icon-btn:before{content:"";position:absolute;inset:-6px}.__P__-icon-btn{position:relative}.__P__-icon-btn svg{width:18px;height:18px}.__P__-icon-btn[data-recording=true]{color:var(--__P__-accent-fg);background:color-mix(in srgb,var(--__P__-accent) 12%,transparent);animation:__P__-pulse 1.2s var(--__P__-ease) infinite}@keyframes __P__-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--__P__-accent) 40%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--__P__-accent) 0%,transparent)}}.__P__-list,.__P__-history,.__P__-module-scroll,.__P__-home-scroll,.__P__-help-list,.__P__-toolui-code,.__P__-sidebar-conversations{scrollbar-width:thin;scrollbar-color:var(--__P__-border-strong) transparent;overscroll-behavior:contain;scrollbar-gutter:stable}.__P__-list::-webkit-scrollbar,.__P__-history::-webkit-scrollbar,.__P__-module-scroll::-webkit-scrollbar,.__P__-home-scroll::-webkit-scrollbar,.__P__-help-list::-webkit-scrollbar,.__P__-toolui-code::-webkit-scrollbar,.__P__-sidebar-conversations::-webkit-scrollbar{width:8px}.__P__-list::-webkit-scrollbar-thumb,.__P__-history::-webkit-scrollbar-thumb,.__P__-module-scroll::-webkit-scrollbar-thumb,.__P__-home-scroll::-webkit-scrollbar-thumb,.__P__-help-list::-webkit-scrollbar-thumb,.__P__-toolui-code::-webkit-scrollbar-thumb,.__P__-sidebar-conversations::-webkit-scrollbar-thumb{background:var(--__P__-border-strong);border-radius:8px}.__P__-list-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.__P__-jump{position:absolute;inset-inline-end:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid var(--__P__-border);background:var(--__P__-bg-elevated);color:var(--__P__-fg);box-shadow:var(--__P__-shadow-panel);cursor:pointer;opacity:.85;transition:opacity var(--__P__-dur-quick) var(--__P__-ease),transform var(--__P__-dur-quick) var(--__P__-ease);animation:__P__-bubble-in var(--__P__-dur-base) var(--__P__-ease)}.__P__-jump:hover{opacity:1}.__P__-jump:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px;opacity:1}.__P__-jump:active{transform:translateY(1px)}.__P__-jump svg{width:18px;height:18px}.__P__-list{flex:1;min-height:0;overflow-y:auto;padding:var(--__P__-space-4);padding-bottom:var(--__P__-space-8);display:flex;flex-direction:column;gap:14px}.__P__-list--fade{--__P__-fade-size: 20px;--__P__-fade-top: 0px;--__P__-fade-bottom: 0px;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 var(--__P__-fade-top),#000 calc(100% - var(--__P__-fade-bottom)),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 var(--__P__-fade-top),#000 calc(100% - var(--__P__-fade-bottom)),transparent 100%)}.__P__-list--fade[data-fade-top=true]{--__P__-fade-top: var(--__P__-fade-size)}.__P__-list--fade[data-fade-bottom=true]{--__P__-fade-bottom: var(--__P__-fade-size)}.__P__-list>*{width:100%;max-width:var(--__P__-conversation-max, 768px);margin-inline:auto}.__P__-date-divider{display:flex;justify-content:center;margin-block:var(--__P__-space-3)}.__P__-date-pill{padding:3px 10px;border-radius:999px;font-size:calc(11px * var(--__P__-text-scale));font-weight:600;color:var(--__P__-fg-muted);background:var(--__P__-bg-elevated);border:1px solid var(--__P__-border);box-shadow:var(--__P__-shadow-card)}.__P__-bubble-row{display:flex}.__P__-bubble-row[data-role=user]{justify-content:flex-end}.__P__-bubble-row[data-role=assistant]{justify-content:flex-start}.__P__-bubble{max-width:100%;min-width:0;padding:var(--__P__-space-3) var(--__P__-space-4);border-radius:var(--__P__-radius);line-height:1.6;font-size:calc(14px * var(--__P__-text-scale));word-wrap:break-word;overflow-wrap:break-word;box-shadow:0 1px 2px #0000000a,0 1px 8px -4px #0000000f;animation:__P__-bubble-in var(--__P__-dur-base) var(--__P__-ease)}.__P__-bubble ::selection{background:color-mix(in srgb,var(--__P__-accent) 30%,transparent)}.__P__-bubble-row[data-role=user] .__P__-bubble ::selection{background:#fff6;color:var(--__P__-bubble-user-text)}@keyframes __P__-bubble-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.__P__-bubble-row[data-role=user] .__P__-bubble{background:var(--__P__-bubble-user);color:var(--__P__-bubble-user-text);border-end-end-radius:5px}.__P__-bubble-row[data-role=assistant] .__P__-bubble{background:var(--__P__-bubble-assistant);color:var(--__P__-bubble-assistant-text);border:1px solid var(--__P__-border);border-end-start-radius:5px}.__P__-bubble-row[data-role=operator] .__P__-bubble{display:flex;align-items:stretch;padding:0;overflow:hidden;background:var(--__P__-bubble-assistant);color:var(--__P__-bubble-assistant-text);border-end-start-radius:5px}.__P__-bubble-row[data-role=operator] .__P__-bubble-col{align-items:flex-start}.__P__-bubble-author{display:flex;flex:0 0 auto;align-items:center;padding:0 .875rem;border-inline-end:1px solid color-mix(in oklab,var(--__P__-accent),transparent 60%);color:var(--__P__-accent);font-size:calc(13px * var(--__P__-text-scale));font-weight:600;letter-spacing:.025em;user-select:none}.__P__-bubble-row[data-role=operator] .__P__-bubble-body{flex:1 1 auto;min-width:0;padding:var(--__P__-space-3) var(--__P__-space-4)}.__P__-bubble-col{display:flex;flex-direction:column;max-width:85%;min-width:0}.__P__-bubble-row[data-role=user] .__P__-bubble-col{align-items:flex-end}.__P__-bubble-row[data-role=assistant] .__P__-bubble-col{align-items:flex-start}.__P__-bubble-row[data-role=assistant] .__P__-bubble-col:has(.__P__-toolui){width:100%}.__P__-bubble-row[data-role=assistant] .__P__-bubble-col:has(.__P__-toolui) .__P__-bubble{width:100%}@media(max-width:640px){.__P__-bubble-col{max-width:92%}.__P__-toolui:not(.__P__-toolui-collapsible){padding:var(--__P__-space-3);gap:var(--__P__-space-2)}details.__P__-toolui-collapsible>summary{padding:var(--__P__-space-2) var(--__P__-space-3)}details.__P__-toolui-collapsible>.__P__-toolui-section{margin:var(--__P__-space-3)}.__P__-toolui-section,.__P__-toolui-desc{padding:var(--__P__-space-2) var(--__P__-space-3)}}.__P__-bubble-meta{display:flex;align-items:center;gap:8px;margin-top:2px;padding:0 2px;min-height:24px}.__P__-bubble-actions{display:flex;align-items:center;gap:2px}.__P__-bubble-time{font-size:calc(11px * var(--__P__-text-scale));line-height:1;color:var(--__P__-fg-muted);user-select:none}.__P__-feedback{display:flex;align-items:center;gap:2px}.__P__-msg-action{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;border-radius:var(--__P__-radius-sm);background:transparent;color:var(--__P__-fg-muted);cursor:pointer;opacity:.65;transition:opacity var(--__P__-dur-quick) var(--__P__-ease),background var(--__P__-dur-quick) var(--__P__-ease),color var(--__P__-dur-quick) var(--__P__-ease)}.__P__-msg-action:hover{opacity:1;background:var(--__P__-bg-elevated);color:var(--__P__-fg)}.__P__-msg-action:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px;opacity:1}.__P__-msg-action[data-active=true]{opacity:1;color:var(--__P__-accent-fg)}.__P__-msg-action svg{width:15px;height:15px}.__P__-md>*:first-child{margin-top:0}.__P__-md>*:last-child{margin-bottom:0}.__P__-md p{margin:10px 0}.__P__-md h1,.__P__-md h2,.__P__-md h3,.__P__-md h4,.__P__-md h5,.__P__-md h6{margin:18px 0 8px;line-height:1.3;letter-spacing:-.01em;font-weight:700}.__P__-md h1{font-size:1.4em}.__P__-md h2{font-size:1.22em}.__P__-md h3{font-size:1.08em}.__P__-md h4,.__P__-md h5,.__P__-md h6{font-size:1em}.__P__-md>h1:first-child,.__P__-md>h2:first-child,.__P__-md>h3:first-child,.__P__-md>h4:first-child,.__P__-md>h5:first-child,.__P__-md>h6:first-child{margin-top:0}.__P__-md ul,.__P__-md ol{padding-inline-start:1.5em;margin:10px 0}.__P__-md ul{list-style:disc}.__P__-md ol{list-style:decimal}.__P__-md li{margin:6px 0;padding-inline-start:2px}.__P__-md li::marker{color:var(--__P__-fg-muted)}.__P__-md li>p{margin:6px 0}.__P__-md li>ul,.__P__-md li>ol{margin:6px 0}.__P__-md strong,.__P__-md b{font-weight:650;letter-spacing:-.005em}.__P__-md em,.__P__-md i{font-style:italic}.__P__-md code{font-family:var(--__P__-font-mono);font-size:.86em;padding:1px 6px;border-radius:5px;background:color-mix(in srgb,var(--__P__-accent) 10%,transparent);color:var(--__P__-fg);border:1px solid color-mix(in srgb,var(--__P__-accent) 16%,transparent)}.__P__-md pre{font-family:var(--__P__-font-mono);font-size:calc(12.5px * var(--__P__-text-scale));padding:12px 14px;border-radius:var(--__P__-radius-sm);background:#7f7f7f1f;overflow-x:auto;margin:var(--__P__-space-3) 0;line-height:1.5}.__P__-md pre code{padding:0;background:none}.__P__-md a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.__P__-md a:hover{text-decoration-thickness:2px}.__P__-md blockquote{margin:14px 0;padding:6px 14px;border-inline-start:3px solid color-mix(in srgb,var(--__P__-accent) 50%,transparent);background:color-mix(in srgb,var(--__P__-accent) 5%,transparent);border-start-end-radius:var(--__P__-radius-sm);border-end-end-radius:var(--__P__-radius-sm);color:var(--__P__-fg-muted)}.__P__-md blockquote>:first-child{margin-top:0}.__P__-md blockquote>:last-child{margin-bottom:0}.__P__-md hr{border:0;height:1px;background:color-mix(in srgb,currentColor 18%,transparent);margin:var(--__P__-space-4) 0}.__P__-md table{border-collapse:collapse;margin:var(--__P__-space-3) 0;font-size:.95em;display:block;overflow-x:auto;max-width:100%;font-variant-numeric:tabular-nums}.__P__-md th,.__P__-md td{padding:6px 10px;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent);text-align:start}.__P__-md th{font-weight:700;background:color-mix(in srgb,currentColor 6%,transparent)}.__P__-md h1+ul,.__P__-md h1+ol,.__P__-md h2+ul,.__P__-md h2+ol,.__P__-md h3+ul,.__P__-md h3+ol,.__P__-md h4+ul,.__P__-md h4+ol{margin-top:var(--__P__-space-1)}.__P__-loading{display:inline-flex;align-items:center;gap:var(--__P__-space-2);color:var(--__P__-fg-muted);font-size:var(--__P__-text-sm)}.__P__-loading-spinner{width:14px;height:14px;border-radius:999px;border:2px solid currentColor;border-top-color:transparent;animation:__P__-spin .8s linear infinite}@keyframes __P__-spin{to{transform:rotate(1turn)}}.__P__-typing{display:inline-flex;gap:var(--__P__-space-1);padding:var(--__P__-space-1) 0}.__P__-typing span{width:5px;height:5px;border-radius:999px;background:currentColor;opacity:.4;animation:__P__-blink 1.2s var(--__P__-ease) infinite}.__P__-typing span:nth-child(2){animation-delay:.2s}.__P__-typing span:nth-child(3){animation-delay:.4s}@keyframes __P__-blink{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.__P__-reasoning{margin:var(--__P__-space-1) 0 var(--__P__-space-2);padding-inline-start:var(--__P__-space-3);border-inline-start:2px solid var(--__P__-border-strong)}.__P__-reasoning-summary{display:inline-flex;align-items:center;gap:var(--__P__-space-1);cursor:pointer;list-style:none;user-select:none;color:var(--__P__-fg-muted);font-size:var(--__P__-text-xs);font-weight:600}.__P__-reasoning-summary:hover{color:var(--__P__-fg)}.__P__-reasoning-summary:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px;border-radius:var(--__P__-radius-sm)}.__P__-reasoning-summary::-webkit-details-marker{display:none}.__P__-reasoning-summary:before{content:"";width:5px;height:5px;border-inline-end:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);opacity:.7;transition:transform var(--__P__-dur-quick) var(--__P__-ease)}.__P__-reasoning[open] .__P__-reasoning-summary:before{transform:rotate(45deg)}.__P__-reasoning[data-active=true] .__P__-reasoning-label{animation:__P__-reasoning-pulse 1.4s var(--__P__-ease) infinite}@keyframes __P__-reasoning-pulse{0%,to{opacity:.5}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.__P__-reasoning[data-active=true] .__P__-reasoning-label{animation:none}}.__P__-reasoning-body{margin-top:var(--__P__-space-1);color:var(--__P__-fg-muted);font-size:var(--__P__-text-sm)}.__P__-reasoning-body>:first-child{margin-top:0}.__P__-reasoning-body>:last-child{margin-bottom:0}.__P__-source{display:inline-flex;align-items:center;gap:6px;max-width:100%;margin-top:6px;margin-inline-end:6px;padding:var(--__P__-space-1) var(--__P__-space-2);border-radius:999px;background:var(--__P__-bg-elevated);border:1px solid var(--__P__-border);color:var(--__P__-fg-muted);font-size:var(--__P__-text-xs);text-decoration:none}a.__P__-source:hover{color:var(--__P__-fg);border-color:var(--__P__-accent)}.__P__-source-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.__P__-composer{border-top:1px solid var(--__P__-border);padding:10px 12px;background:var(--__P__-bg);display:flex;flex-direction:column;gap:var(--__P__-space-2)}.__P__-composer>*{width:100%;max-width:var(--__P__-conversation-max, 768px);margin-inline:auto}.__P__-composer-row{display:flex;align-items:flex-end;gap:6px}.__P__-textarea{flex:1;height:40px;max-height:160px;padding:10px 12px;border-radius:var(--__P__-radius);background:var(--__P__-bg-elevated);border:1px solid transparent;font-size:calc(14px * var(--__P__-text-scale));line-height:1.4;transition:height var(--__P__-dur-quick) var(--__P__-ease),border-color var(--__P__-dur-quick) var(--__P__-ease),box-shadow var(--__P__-dur-quick) var(--__P__-ease)}.__P__-textarea:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:1px;border-color:var(--__P__-focus)}@media(pointer:coarse){.__P__-textarea,.__P__-home-search-input{font-size:max(16px,calc(16px * var(--__P__-text-scale)))}.__P__-textarea{height:44px}}.__P__-send{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;transition:opacity var(--__P__-dur-quick) var(--__P__-ease),transform var(--__P__-dur-quick) var(--__P__-ease),background var(--__P__-dur-quick) var(--__P__-ease)}.__P__-send[data-shape=circle]{border-radius:999px}.__P__-send[data-shape=square]{border-radius:var(--__P__-radius-sm)}.__P__-send[data-shape=pill]{width:auto;padding:0 18px;border-radius:999px}.__P__-send[data-variant=filled]{background:var(--__P__-accent);color:var(--__P__-accent-text)}.__P__-send[data-variant=outline]{background:transparent;color:var(--__P__-accent-fg);border-color:var(--__P__-accent)}.__P__-send[data-variant=outline]:not(:disabled):hover{background:color-mix(in srgb,var(--__P__-accent) 10%,transparent)}.__P__-send[data-variant=ghost]{background:transparent;color:var(--__P__-accent-fg)}.__P__-send[data-variant=ghost]:not(:disabled):hover{background:color-mix(in srgb,var(--__P__-accent) 8%,transparent)}.__P__-send:disabled{opacity:.4;cursor:not-allowed}.__P__-send:not(:disabled):hover{transform:translateY(-1px)}.__P__-send:not(:disabled):active{transform:translateY(0)}.__P__-send:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px}.__P__-send svg{width:18px;height:18px}.__P__-composer-actions{display:flex;gap:var(--__P__-space-1);flex-wrap:wrap}.__P__-attachments{display:flex;flex-wrap:wrap;gap:6px}.__P__-attachment-chip{display:inline-flex;align-items:center;gap:6px;padding:var(--__P__-space-1) var(--__P__-space-2) var(--__P__-space-1) var(--__P__-space-1);border-radius:999px;background:var(--__P__-bg-elevated);border:1px solid var(--__P__-border);font-size:var(--__P__-text-xs);max-width:200px}.__P__-attachment-thumb{width:24px;height:24px;border-radius:999px;object-fit:cover;background:var(--__P__-border)}.__P__-attachment-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.__P__-attachment-remove{width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--__P__-fg-muted)}.__P__-attachment-remove:hover{background:var(--__P__-border);color:var(--__P__-fg)}.__P__-dropzone{position:absolute;inset:8px;border:2px dashed var(--__P__-accent);border-radius:var(--__P__-radius);background:color-mix(in srgb,var(--__P__-accent) 8%,transparent);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--__P__-accent-fg);pointer-events:none;z-index:10;animation:__P__-fade-in var(--__P__-dur-quick) var(--__P__-ease)}@keyframes __P__-fade-in{0%{opacity:0}to{opacity:1}}.__P__-error{margin-top:var(--__P__-space-1);padding:8px 12px;border-radius:var(--__P__-radius-sm);background:color-mix(in oklab,var(--__P__-danger) 8%,var(--__P__-bg-elevated));border:1px solid color-mix(in oklab,var(--__P__-danger) 20%,transparent);color:var(--__P__-fg-muted);font-size:var(--__P__-text-sm);display:flex;align-items:center;gap:var(--__P__-space-2)}.__P__-error span{min-width:0}.__P__-error button{margin-inline-start:auto;flex-shrink:0;border:0;background:none;padding:0;color:var(--__P__-accent-fg);font:inherit;font-size:var(--__P__-text-sm);font-weight:600;text-decoration:underline;white-space:nowrap;cursor:pointer}.__P__-history{flex:1;overflow-y:auto;padding:var(--__P__-space-2) var(--__P__-space-1) var(--__P__-space-3)}.__P__-history-footer{flex:none;padding:var(--__P__-space-2) var(--__P__-space-3) var(--__P__-space-3);border-top:1px solid var(--__P__-border);background:var(--__P__-surface)}.__P__-history-new{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--__P__-space-2);padding:var(--__P__-space-2) var(--__P__-space-3);border:none;border-radius:var(--__P__-radius-md);background:var(--__P__-accent);color:var(--__P__-on-accent);cursor:pointer;font-size:var(--__P__-text-sm);font-weight:600;transition:filter var(--__P__-dur-quick) var(--__P__-ease-out),transform var(--__P__-dur-quick) var(--__P__-ease-out)}.__P__-history-new svg{width:16px;height:16px}.__P__-history-new:hover{filter:brightness(1.08)}.__P__-history-new:active{transform:translateY(1px)}.__P__-history-new:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px}.__P__-history-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 16px;color:var(--__P__-fg-muted);font-size:calc(14px * var(--__P__-text-scale));text-align:center}.__P__-history-group{display:flex;flex-direction:column;padding:0 var(--__P__-space-3)}.__P__-history-heading{font-size:var(--__P__-text-xs);font-weight:600;color:var(--__P__-fg-muted);padding:14px 4px 8px;text-transform:uppercase;letter-spacing:.04em}.__P__-history-card{display:flex;flex-direction:column;background:var(--__P__-surface);border:1px solid var(--__P__-border);border-radius:var(--__P__-radius-lg, 14px);overflow:hidden}.__P__-history-item{all:unset;display:flex;align-items:center;gap:var(--__P__-space-3);padding:12px var(--__P__-space-3);cursor:pointer;transition:background var(--__P__-dur-base) var(--__P__-ease)}.__P__-history-item+.__P__-history-item{border-top:1px solid var(--__P__-border)}.__P__-history-item:hover{background:var(--__P__-bg-elevated)}.__P__-history-item:focus-visible{background:var(--__P__-bg-elevated);outline:2px solid var(--__P__-focus);outline-offset:-2px}.__P__-history-avatar{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:color-mix(in oklab,var(--__P__-accent) 12%,transparent);color:var(--__P__-accent-fg)}.__P__-history-avatar svg{width:18px;height:18px}.__P__-history-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.__P__-history-row{display:flex;align-items:center;justify-content:space-between;gap:var(--__P__-space-2)}.__P__-history-title{flex:1;min-width:0;font-size:calc(14px * var(--__P__-text-scale));font-weight:500;color:var(--__P__-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.__P__-history-time{flex:none;font-size:var(--__P__-text-xs);color:var(--__P__-fg-muted)}.__P__-history-preview{flex:1;min-width:0;font-size:var(--__P__-text-xs);color:var(--__P__-fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.__P__-history-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--__P__-accent)}.__P__-history-item[data-unread=true] .__P__-history-title{font-weight:600}.__P__-history-item[data-closed=true] .__P__-history-title{color:var(--__P__-fg-muted)}.__P__-history-item-skeleton{cursor:default;pointer-events:none}.__P__-skeleton{display:block;border-radius:4px;background:linear-gradient(90deg,color-mix(in oklab,var(--__P__-fg) 9%,transparent) 30%,color-mix(in oklab,var(--__P__-fg) 17%,transparent),color-mix(in oklab,var(--__P__-fg) 9%,transparent) 70%);background-size:200% 100%;animation:__P__-skeleton-shimmer 1.8s ease-in-out infinite}.__P__-history-avatar.__P__-skeleton{border-radius:50%}.__P__-skeleton-heading{width:52px;height:8px}.__P__-skeleton-title{width:55%;height:12px}.__P__-skeleton-time{width:34px;height:10px}.__P__-skeleton-preview{width:80%;height:10px}@keyframes __P__-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.__P__-skeleton{animation:none}}.__P__-list-loading{margin:auto;padding:var(--__P__-space-6) var(--__P__-space-4);color:var(--__P__-fg-muted);font-size:var(--__P__-text-sm);text-align:center}.__P__-readonly-banner{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 12px;margin:0 var(--__P__-space-3) var(--__P__-space-3);border-radius:var(--__P__-radius-md);background:var(--__P__-bg-elevated);color:var(--__P__-fg-muted);text-align:center;font-size:var(--__P__-text-sm)}.__P__-readonly-label{line-height:1.4}.__P__-readonly-cta{appearance:none;border:0;cursor:pointer;padding:var(--__P__-space-2) var(--__P__-space-4);border-radius:999px;background:var(--__P__-accent);color:var(--__P__-accent-text, #fff);font:inherit;font-weight:600;font-size:var(--__P__-text-sm);transition:filter var(--__P__-dur-quick) var(--__P__-ease-out)}.__P__-readonly-cta:hover,.__P__-readonly-cta:focus-visible{filter:brightness(1.1)}.__P__-operator-banner{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 var(--__P__-space-3) var(--__P__-space-1);padding:8px 12px;border-radius:var(--__P__-radius-md);background:color-mix(in oklab,var(--__P__-bg-elevated),var(--__P__-accent) 6%);color:var(--__P__-fg-muted);font-size:var(--__P__-text-sm);line-height:1.3;text-align:center}.__P__-operator-pulse{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--__P__-accent)}.__P__-operator-banner[data-mode=awaiting_operator] .__P__-operator-pulse{animation:__P__-operator-pulse 1.4s var(--__P__-ease-out) infinite}.__P__-operator-cancel{flex:0 0 auto;padding:0;border:0;background:none;color:var(--__P__-accent);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.__P__-operator-cancel:hover{opacity:.8}.__P__-operator-cancel:focus-visible{outline:2px solid var(--__P__-accent);outline-offset:2px;border-radius:var(--__P__-radius-sm)}@keyframes __P__-operator-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.__P__-readonly-cta:focus-visible{outline:2px solid var(--__P__-accent);outline-offset:2px}.__P__-composer-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 16px;margin:0 var(--__P__-space-3);border-top:1px solid var(--__P__-border);text-align:center;font-size:calc(11px * var(--__P__-text-scale));line-height:1.4;color:var(--__P__-fg-muted)}.__P__-disclaimer{max-width:320px;margin:0 auto;opacity:.9;letter-spacing:.01em}.__P__-poweredby{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:inherit;text-decoration:none;opacity:.7;transition:opacity var(--__P__-dur-base) var(--__P__-ease);font-size:calc(11px * var(--__P__-text-scale));letter-spacing:.02em}.__P__-poweredby:hover{opacity:1}.__P__-poweredby-logo{height:12px;width:auto;display:inline-block;vertical-align:middle}.__P__-poweredby-bar{flex:none;display:flex;align-items:center;justify-content:center;padding:6px 16px;border-top:1px solid var(--__P__-border);background:var(--__P__-bg-elevated)}.__P__-menu-wrap{position:relative;display:inline-flex}.__P__-menu{position:absolute;top:100%;inset-inline-end:0;margin-top:6px;min-width:200px;padding:6px;background:var(--__P__-bg);border:1px solid var(--__P__-border);border-radius:var(--__P__-radius-md);box-shadow:var(--__P__-shadow-panel);z-index:10;display:flex;flex-direction:column;gap:2px;animation:__P__-menu-in var(--__P__-dur-base) var(--__P__-ease)}@media(prefers-reduced-motion:reduce){.__P__-menu{animation:none}}@keyframes __P__-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98);transform-origin:top right}to{opacity:1;transform:none}}.__P__-menu-item{all:unset;display:flex;align-items:center;gap:10px;padding:8px 10px;font-size:var(--__P__-text-sm);color:var(--__P__-fg);border-radius:var(--__P__-radius-sm);cursor:pointer;user-select:none}.__P__-menu-item:hover{background:var(--__P__-bg-elevated)}.__P__-menu-item:focus-visible{background:var(--__P__-bg-elevated);outline:2px solid var(--__P__-focus);outline-offset:-2px}.__P__-menu-item[disabled]{opacity:.45;cursor:not-allowed}.__P__-menu-icon{display:inline-flex;width:16px;height:16px;color:var(--__P__-fg-muted)}.__P__-menu-icon svg{width:16px;height:16px}.__P__-menu-label{flex:1}.__P__-menu-check{display:inline-flex;color:var(--__P__-accent-fg)}.__P__-menu-check svg{width:14px;height:14px}.__P__-menu-item-segmented{cursor:default}.__P__-menu-item-segmented:hover{background:transparent}.__P__-segmented{display:inline-flex;gap:2px;padding:2px;background:var(--__P__-bg-elevated);border-radius:var(--__P__-radius-sm)}.__P__-segment{all:unset;min-width:26px;padding:3px 8px;font-size:var(--__P__-text-xs);font-weight:600;letter-spacing:.02em;text-align:center;color:var(--__P__-fg-muted);border-radius:calc(var(--__P__-radius-sm) - 2px);cursor:pointer;transition:color .12s ease,background .12s ease}.__P__-segment:hover{color:var(--__P__-fg)}.__P__-segment[data-on=true]{background:var(--__P__-bg);color:var(--__P__-accent-fg);box-shadow:var(--__P__-shadow-card)}.__P__-segment:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:-2px}.__P__-resize-grip{position:absolute;width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--__P__-fg-muted);opacity:.45;transition:opacity var(--__P__-dur-base) var(--__P__-ease);z-index:2;touch-action:none;user-select:none}.__P__-resize-grip:hover,.__P__-resize-grip:focus-visible{opacity:1}.__P__-resize-grip svg{width:10px;height:10px}.__P__-resize-grip--bottom-left{bottom:2px;left:2px;cursor:nesw-resize;transform:scaleX(-1)}.__P__-resize-grip--bottom-right{bottom:2px;right:2px;cursor:nwse-resize}.__P__-resize-grip--top-left{top:2px;left:2px;cursor:nwse-resize;transform:rotate(180deg)}.__P__-resize-grip--top-right{top:2px;right:2px;cursor:nesw-resize;transform:scaleY(-1)}:host(:not([data-mode="open"])) .__P__-resize-grip{display:none}.__P__-messenger{display:flex;flex-direction:column;overflow:hidden}.__P__-messenger-body,.__P__-messenger-pane{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.__P__-messenger-pane[hidden]{display:none}@keyframes __P__-view-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.__P__-module{display:flex;flex-direction:column;height:100%;min-height:0}@media(prefers-reduced-motion:no-preference){.__P__-module,.__P__-history{animation:__P__-view-in .18s var(--__P__-ease-out)}}.__P__-module-scroll{flex:1;min-height:0;overflow-y:auto;padding:var(--__P__-space-3);display:flex;flex-direction:column;gap:var(--__P__-space-3)}.__P__-home{container-type:inline-size;background:radial-gradient(125% 65% at 88% 0%,color-mix(in srgb,#fff 16%,transparent),transparent 55%),linear-gradient(180deg,var(--__P__-accent) 0%,var(--__P__-accent) 22%,color-mix(in srgb,var(--__P__-accent) 28%,var(--__P__-surface)) 44%,var(--__P__-surface) 70%);border-radius:var(--__P__-radius-lg) var(--__P__-radius-lg) 0 0}.__P__-home-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;background:transparent}.__P__-home-cards{display:flex;flex-direction:column;gap:var(--__P__-space-3);padding:4px 14px 16px}.__P__-module-pad{padding:var(--__P__-space-3) var(--__P__-space-3) 0}.__P__-module-empty{display:flex;flex-direction:column;align-items:center;gap:var(--__P__-space-3);padding:var(--__P__-space-8) var(--__P__-space-4);text-align:center;color:var(--__P__-fg-muted);font-size:var(--__P__-text-base)}.__P__-module-retry{padding:var(--__P__-space-2) var(--__P__-space-4);border:1px solid var(--__P__-border-strong);border-radius:var(--__P__-radius-sm);color:var(--__P__-fg);font-weight:600;cursor:pointer;transition:background var(--__P__-dur-quick) var(--__P__-ease-out),border-color var(--__P__-dur-quick) var(--__P__-ease-out)}.__P__-module-retry:hover{background:var(--__P__-hover);border-color:var(--__P__-accent)}.__P__-module-retry:active{background:var(--__P__-border)}.__P__-module-retry:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px}.__P__-help-list{flex:1;min-height:0;overflow-y:auto;padding-bottom:var(--__P__-space-3)}.__P__-help-group{display:flex;flex-direction:column}.__P__-help-section-title{position:sticky;top:0;z-index:1;margin:0;padding:var(--__P__-space-3) var(--__P__-space-5) var(--__P__-space-2);font-size:var(--__P__-text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--__P__-fg-muted);background:var(--__P__-bg)}.__P__-help-card{margin:0 var(--__P__-space-3) var(--__P__-space-3);background:var(--__P__-surface);border:1px solid var(--__P__-border);border-radius:var(--__P__-radius);overflow:hidden}.__P__-help-card .__P__-list-row{border-bottom:0;border-radius:0}.__P__-help-card .__P__-list-row+.__P__-list-row{border-top:1px solid var(--__P__-border)}.__P__-tabbar{display:flex;border-top:1px solid var(--__P__-border);background:var(--__P__-bg-elevated);flex-shrink:0}.__P__-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--__P__-space-1);min-height:48px;padding:var(--__P__-space-2) var(--__P__-space-1);color:var(--__P__-fg-muted);font-size:var(--__P__-text-xs);font-weight:600;transition:color var(--__P__-dur-quick) var(--__P__-ease-out)}.__P__-tab:hover{color:var(--__P__-fg)}.__P__-tab[aria-selected=true]{color:var(--__P__-accent-fg)}.__P__-tab:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:-2px}.__P__-tab:active{background:var(--__P__-hover)}.__P__-tab-icon{position:relative;display:inline-flex}.__P__-tab-icon svg{width:22px;height:22px}.__P__-tab-badge{position:absolute;top:-2px;left:calc(50% + 6px);width:8px;height:8px;border-radius:50%;background:var(--__P__-accent);box-shadow:0 0 0 2px var(--__P__-bg-elevated)}.__P__-home-hero{flex-shrink:0;padding:var(--__P__-space-5) var(--__P__-space-5) var(--__P__-space-3);color:var(--__P__-on-accent);--__P__-focus: var(--__P__-on-accent)}.__P__-home-hero-top{display:flex;align-items:center;justify-content:space-between;gap:var(--__P__-space-3);min-height:32px}.__P__-home-brand{font-size:clamp(calc(12px * var(--__P__-text-scale)),calc(3.2cqi * var(--__P__-text-scale)),calc(14px * var(--__P__-text-scale)));font-weight:600;letter-spacing:.01em;color:color-mix(in srgb,#fff 82%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.__P__-home-brand-spacer{flex:1}.__P__-home-hero-actions{display:flex;align-items:center;gap:var(--__P__-space-2);flex-shrink:0}.__P__-home-hero-actions .__P__-icon-btn{color:#fff}.__P__-home-hero-actions .__P__-icon-btn:hover{background:color-mix(in srgb,#fff 18%,transparent);color:#fff}.__P__-home-hero-actions .__P__-icon-btn:active{background:color-mix(in srgb,#fff 26%,transparent)}.__P__-home-greeting{margin:28px 0 0;font-family:var(--__P__-font-display);font-size:clamp(calc(19px * var(--__P__-text-scale)),calc(5.5cqi * var(--__P__-text-scale)),var(--__P__-text-2xl));font-weight:800;line-height:1.18;letter-spacing:-.01em;overflow-wrap:anywhere}.__P__-home-lead{margin:10px 0 0;font-family:var(--__P__-font-display);font-size:clamp(calc(15px * var(--__P__-text-scale)),calc(4.2cqi * var(--__P__-text-scale)),var(--__P__-text-xl));font-weight:600;line-height:1.25;letter-spacing:-.005em;color:color-mix(in srgb,var(--__P__-on-accent) 78%,transparent);overflow-wrap:anywhere}.__P__-home-avatars{display:flex}.__P__-home-avatar{width:30px;height:30px;border-radius:999px;overflow:hidden;margin-inline-start:-10px;border:2px solid color-mix(in srgb,#fff 92%,transparent);box-shadow:0 1px 3px #0000002e;background:var(--__P__-surface);display:inline-flex;align-items:center;justify-content:center;font-size:var(--__P__-text-xs);font-weight:700;color:var(--__P__-fg)}.__P__-home-avatar:first-child{margin-inline-start:0}.__P__-home-avatar img{width:100%;height:100%;object-fit:cover}.__P__-home-content{background:var(--__P__-surface);border:1px solid var(--__P__-border);border-radius:var(--__P__-radius);box-shadow:var(--__P__-shadow-card);overflow:hidden}.__P__-home-content-title{padding:var(--__P__-space-4) var(--__P__-space-4) var(--__P__-space-3);font-size:var(--__P__-text-sm);font-weight:700}.__P__-home-content-list{display:flex;flex-direction:column;padding:0 var(--__P__-space-2) var(--__P__-space-2)}.__P__-home-content-list .__P__-list-row+.__P__-list-row{border-top:1px solid var(--__P__-border)}.__P__-home-card{display:block;width:100%;text-align:start;background:var(--__P__-surface);border:1px solid var(--__P__-border);border-radius:var(--__P__-radius);padding:var(--__P__-space-4);box-shadow:var(--__P__-shadow-card)}.__P__-home-card[data-interactive=true]{cursor:pointer;transition:background var(--__P__-dur-quick) var(--__P__-ease-out),transform var(--__P__-dur-quick) var(--__P__-ease-out)}.__P__-home-card[data-interactive=true]:hover{background:var(--__P__-bg-elevated)}.__P__-home-card[data-interactive=true]:active{transform:translateY(1px)}.__P__-home-card[data-interactive=true]:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px}.__P__-home-recent-row{display:flex;align-items:center;gap:var(--__P__-space-3)}.__P__-home-recent-avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:999px;background:color-mix(in oklch,var(--__P__-accent) 14%,transparent);color:var(--__P__-accent-fg)}.__P__-home-recent-avatar svg{width:20px;height:20px}.__P__-home-recent-body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.__P__-home-recent-title{font-weight:600;font-size:calc(14px * var(--__P__-text-scale))}.__P__-home-recent-preview{color:var(--__P__-fg-muted);font-size:var(--__P__-text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.__P__-home-recent-dot{width:8px;height:8px;border-radius:999px;background:var(--__P__-accent);flex-shrink:0}.__P__-home-recent-row[data-unread=true] .__P__-home-recent-title{font-weight:700}.__P__-home-status{display:flex;align-items:center;gap:var(--__P__-space-3)}.__P__-home-status-icon svg{width:22px;height:22px;color:var(--__P__-success)}.__P__-home-status[data-level=degraded] .__P__-home-status-icon svg{color:var(--__P__-warning)}.__P__-home-status[data-level=down] .__P__-home-status-icon svg{color:var(--__P__-danger)}.__P__-home-status-text{font-weight:600;font-size:calc(14px * var(--__P__-text-scale))}.__P__-home-search{display:flex;align-items:center;gap:var(--__P__-space-2);width:100%;padding:var(--__P__-space-3) var(--__P__-space-4);border-radius:var(--__P__-radius);border:1px solid var(--__P__-border);background:var(--__P__-surface);text-align:start}.__P__-home-search[data-input=true]{background:var(--__P__-bg-elevated)}.__P__-home-search:hover{border-color:var(--__P__-border-strong)}.__P__-home-search:focus-visible,.__P__-home-search:focus-within{outline:2px solid var(--__P__-focus);outline-offset:2px}.__P__-home-search-text{flex:1;color:var(--__P__-fg-muted);font-size:calc(14px * var(--__P__-text-scale))}.__P__-home-search-input{flex:1;border:0;background:transparent;font-size:calc(14px * var(--__P__-text-scale));color:var(--__P__-fg);outline:none}.__P__-home-search-icon svg{width:18px;height:18px;color:var(--__P__-accent-fg)}.__P__-list-row{display:flex;align-items:center;gap:var(--__P__-space-3);width:100%;min-height:44px;text-align:start;padding:var(--__P__-space-3) var(--__P__-space-2);border-radius:var(--__P__-radius-sm)}.__P__-list-row:hover{background:var(--__P__-hover)}.__P__-list-row:active{background:var(--__P__-border)}.__P__-list-row:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:-2px}.__P__-list-row-body{display:flex;flex-direction:column;min-width:0;flex:1}.__P__-list-row-title{font-weight:600;font-size:var(--__P__-text-md);line-height:1.35}.__P__-list-row-sub{color:var(--__P__-fg-muted);font-size:var(--__P__-text-sm);margin-top:var(--__P__-space-1);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.__P__-list-row-chevron svg{width:18px;height:18px;color:var(--__P__-accent-fg);flex-shrink:0}.__P__-back-header{display:flex;align-items:center;gap:var(--__P__-space-2);padding:10px 12px;border-bottom:1px solid var(--__P__-border);flex-shrink:0}.__P__-back-title{flex:1;text-align:center;font-size:var(--__P__-text-md);font-weight:700;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.__P__-back-spacer{width:32px;height:1px}.__P__-history>*,.__P__-home-scroll>*,.__P__-module-scroll>*,.__P__-help-list>*,.__P__-history-footer>*,.__P__-module-pad{width:100%;max-width:var(--__P__-conversation-max, 768px);margin-inline:auto}.__P__-header,.__P__-back-header{padding-inline:max(12px,calc((100% - var(--__P__-conversation-max, 768px)) / 2))}.__P__-tabbar{padding-inline:max(0px,calc((100% - var(--__P__-conversation-max, 768px)) / 2))}.__P__-content{display:flex;flex-direction:column;gap:14px;width:100%;max-width:68ch;margin:0 auto}.__P__-content-hero{width:100%;border-radius:var(--__P__-radius)}.__P__-content-subtitle{color:var(--__P__-fg-muted);margin:0}.__P__-content-frame{flex:1;min-height:0;width:100%;border:0;background:#fff}.__P__-news-list{display:flex;flex-direction:column;gap:var(--__P__-space-3)}.__P__-news-card{display:block;width:100%;text-align:start;border:1px solid var(--__P__-border);border-radius:var(--__P__-radius);overflow:hidden;background:var(--__P__-surface)}.__P__-news-card{transition:background var(--__P__-dur-quick) var(--__P__-ease-out),transform var(--__P__-dur-quick) var(--__P__-ease-out)}.__P__-news-card:hover{background:var(--__P__-bg-elevated)}.__P__-news-card:active{transform:translateY(1px)}.__P__-news-card:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px}.__P__-news-hero{width:100%;display:block}.__P__-news-body{display:flex;flex-direction:column;gap:6px;padding:14px 16px}.__P__-news-title{font-weight:700;font-size:var(--__P__-text-md)}.__P__-news-summary{color:var(--__P__-fg-muted);font-size:calc(14px * var(--__P__-text-scale));display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.__P__-modules-empty{display:flex;align-items:center;justify-content:center;position:relative}.__P__-modules-empty-close{position:absolute;top:12px;inset-inline-end:12px}.__P__-modules-empty-text{color:var(--__P__-fg-muted);font-size:var(--__P__-text-base)}.__P__-form{display:flex;flex-direction:column;gap:var(--__P__-space-4)}.__P__-field{display:flex;flex-direction:column;gap:6px}.__P__-field-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--__P__-space-2)}.__P__-field-label{font-size:var(--__P__-text-sm);font-weight:600;color:var(--__P__-fg)}.__P__-field-req{color:var(--__P__-danger)}.__P__-field-type{flex-shrink:0;align-self:center;margin-inline-start:auto;border:1px solid var(--__P__-border);border-radius:5px;background:color-mix(in oklab,var(--__P__-fg-muted) 9%,transparent);padding:1px 7px;font-size:var(--__P__-text-xs);font-weight:600;color:var(--__P__-fg-muted);white-space:nowrap}.__P__-field-input{width:100%;min-width:0;max-width:100%;box-sizing:border-box;padding:10px var(--__P__-space-3);border:1px solid var(--__P__-border);border-radius:var(--__P__-radius-md);background:var(--__P__-bg);color:var(--__P__-fg);font:inherit;font-size:var(--__P__-text-sm);resize:vertical;transition:border-color var(--__P__-dur-quick) var(--__P__-ease-out)}.__P__-field-input:focus-visible{outline:none;border-color:var(--__P__-accent)}.__P__-field[data-invalid=true] .__P__-field-input{border-color:var(--__P__-danger)}.__P__-field-input[type=date],.__P__-field-input[type=time]{appearance:none;-webkit-appearance:none}@media(pointer:coarse){.__P__-field-input{font-size:max(16px,calc(16px * var(--__P__-text-scale)))}}.__P__-field-hint{font-size:var(--__P__-text-xs);color:var(--__P__-fg-muted)}.__P__-field-error{font-size:var(--__P__-text-xs);color:var(--__P__-danger)}.__P__-field-choices{display:flex;flex-direction:column;gap:10px;padding-top:2px}.__P__-choice{display:flex;align-items:flex-start;gap:10px;font-size:var(--__P__-text-sm);color:var(--__P__-fg);cursor:pointer}.__P__-choice input{margin-top:2px;accent-color:var(--__P__-accent)}.__P__-form-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--__P__-space-2);margin-top:var(--__P__-space-2)}.__P__-form-hint{flex:1 1 auto;min-width:6rem;margin-inline-end:auto;font-size:var(--__P__-text-xs);color:var(--__P__-fg-muted)}.__P__-form-submit{padding:var(--__P__-space-2) var(--__P__-space-4);border:none;border-radius:var(--__P__-radius-md);background:var(--__P__-accent);color:var(--__P__-accent-text, #fff);font:inherit;font-weight:600;font-size:var(--__P__-text-sm);white-space:nowrap;flex-shrink:0;cursor:pointer;transition:filter var(--__P__-dur-quick) var(--__P__-ease-out)}.__P__-form-submit:hover:not(:disabled){filter:brightness(1.06)}.__P__-form-submit:disabled{opacity:.6;cursor:default}.__P__-form-skip{padding:var(--__P__-space-2) var(--__P__-space-4);border:1px solid var(--__P__-border);border-radius:var(--__P__-radius-md);background:transparent;color:var(--__P__-fg-muted);font:inherit;font-size:var(--__P__-text-sm);white-space:nowrap;flex-shrink:0;cursor:pointer;transition:background var(--__P__-dur-quick) var(--__P__-ease-out)}.__P__-form-skip:hover:not(:disabled){background:var(--__P__-bg-elevated)}@media(max-width:640px){.__P__-form-hint{flex-basis:100%;margin-inline-end:0;font-size:var(--__P__-text-xs)}.__P__-form-submit,.__P__-form-skip{flex:1 1 0;text-align:center}}.__P__-form-gate{display:flex;flex-direction:column;gap:var(--__P__-space-3);padding:var(--__P__-space-4);border:1px solid var(--__P__-border);border-radius:var(--__P__-radius-md);background:var(--__P__-bg-elevated)}.__P__-form-gate-title{margin:0;font-size:var(--__P__-text-base);font-weight:700;color:var(--__P__-fg)}.__P__-form-gate-desc{margin:0 0 var(--__P__-space-1);font-size:var(--__P__-text-sm);color:var(--__P__-fg-muted)}.__P__-form-done{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border:1px dashed var(--__P__-border);border-radius:999px;align-self:center;font-size:var(--__P__-text-xs);font-weight:600;color:var(--__P__-fg-muted)}.__P__-form-done svg{width:14px;height:14px;color:var(--__P__-success, #22c55e)}.__P__-form-done[data-outcome=skipped] svg{color:var(--__P__-fg-muted)}.__P__-form-done-fill{border:0;background:none;padding:0 2px;cursor:pointer;font:inherit;font-weight:600;color:var(--__P__-accent-fg)}.__P__-form-done-fill:hover{text-decoration:underline}details.__P__-form-done{display:block;padding:0;border-radius:var(--__P__-radius-md)}details[open].__P__-form-done{width:min(100%,420px);background:var(--__P__-surface)}.__P__-form-done-summary{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;cursor:pointer;list-style:none}.__P__-form-done-summary::-webkit-details-marker{display:none}.__P__-form-done-summary>svg:last-child{color:var(--__P__-fg-muted);transition:transform .15s var(--__P__-ease)}details[open]>.__P__-form-done-summary>svg:last-child{transform:rotate(90deg)}.__P__-form-answers{margin:0;padding:var(--__P__-space-2) var(--__P__-space-3) var(--__P__-space-3);display:grid;gap:var(--__P__-space-3);text-align:start}.__P__-form-answer{display:grid;gap:6px}.__P__-form-answer dt{font-size:var(--__P__-text-sm);font-weight:600;color:var(--__P__-fg)}.__P__-form-answer dd{margin:0;padding:10px var(--__P__-space-3);border:1px solid var(--__P__-border);border-radius:var(--__P__-radius-md);background:var(--__P__-bg);font-size:var(--__P__-text-sm);font-weight:400;color:var(--__P__-fg);overflow-wrap:anywhere}.__P__-toolui{margin-block:var(--__P__-space-3);border:1px solid var(--__P__-border);border-radius:var(--__P__-radius-lg, 14px);background:var(--__P__-bg-elevated);font-size:var(--__P__-text-sm)}.__P__-toolui:not(.__P__-toolui-collapsible){display:flex;flex-direction:column;gap:var(--__P__-space-3);padding:var(--__P__-space-4)}.__P__-toolui-group{display:flex;flex-direction:column;gap:var(--__P__-space-3);margin-block:var(--__P__-space-3)}.__P__-toolui-group>.__P__-toolui{margin-block:0}.__P__-toolui-stale{opacity:.7}details.__P__-toolui-collapsible>summary{display:flex;align-items:center;gap:var(--__P__-space-2);padding:var(--__P__-space-3) var(--__P__-space-4);cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent;user-select:none}details.__P__-toolui-collapsible>summary::-webkit-details-marker{display:none}details.__P__-toolui-collapsible[open]>summary{border-bottom:1px solid var(--__P__-border)}details.__P__-toolui-collapsible>.__P__-toolui-section{margin:var(--__P__-space-4)}details.__P__-toolui-collapsible>.__P__-toolui-section~.__P__-toolui-section{margin-top:calc(-1 * var(--__P__-space-2))}.__P__-toolui-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.__P__-toolui-chevron{display:inline-flex;color:var(--__P__-fg-muted);transition:transform var(--__P__-dur-quick) var(--__P__-ease-out)}details.__P__-toolui-collapsible>summary .__P__-toolui-status{margin-inline-start:auto}.__P__-toolui-chevron svg{width:16px;height:16px}details.__P__-toolui-collapsible[open]>summary .__P__-toolui-chevron{transform:rotate(180deg)}.__P__-toolui-badge,.__P__-toolui-name-pill,.__P__-toolui-q-pill{--__P__-pill: var(--__P__-fg-muted);display:inline-flex;min-width:0;align-items:center;gap:5px;padding:3px 7px;border-radius:5px;border:1px solid var(--__P__-border);background:color-mix(in oklab,var(--__P__-fg-muted) 9%,transparent);color:var(--__P__-pill);font-size:var(--__P__-text-xs);font-weight:600;white-space:nowrap}.__P__-toolui-badge svg,.__P__-toolui-name-pill svg,.__P__-toolui-q-pill svg{flex-shrink:0;width:14px;height:14px}.__P__-toolui-status-icon{display:inline-flex}.__P__-toolui-name-pill{--__P__-pill: oklch(.68 .13 233)}.__P__-toolui-q-pill{--__P__-pill: oklch(.66 .12 195)}.__P__-toolui-status[data-status=completed]{--__P__-pill: var(--__P__-success, #16a34a)}.__P__-toolui-status[data-status=responded]{--__P__-pill: oklch(.62 .15 255)}.__P__-toolui-status[data-status=awaiting]{--__P__-pill: var(--__P__-warning, #f59e0b)}.__P__-toolui-status[data-status=denied]{--__P__-pill: oklch(.66 .16 45)}.__P__-toolui-status[data-status=error]{--__P__-pill: var(--__P__-danger, #dc2626)}.__P__-toolui-status[data-status=superseded]{--__P__-pill: var(--__P__-fg-muted)}@supports (color: oklch(from red l c h)){.__P__-toolui-badge,.__P__-toolui-name-pill,.__P__-toolui-q-pill{color:oklch(from var(--__P__-pill) clamp(var(--__P__-pill-l-min),l,var(--__P__-pill-l-max)) c h)}}.__P__-toolui-head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--__P__-space-2)}.__P__-toolui-head-end{display:inline-flex;align-items:center;gap:var(--__P__-space-2);margin-inline-start:auto}.__P__-toolui-collapse-body{display:flex;flex-direction:column;gap:var(--__P__-space-3);padding:var(--__P__-space-4)}.__P__-toolui-summary{display:flex;flex-direction:column;gap:var(--__P__-space-4)}.__P__-toolui-answer{margin:0;font-size:var(--__P__-text-sm);color:var(--__P__-fg);overflow-wrap:anywhere;white-space:pre-wrap}.__P__-toolui-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--__P__-space-3);margin-inline:calc(-1 * var(--__P__-space-4));padding:var(--__P__-space-3) var(--__P__-space-4) 0;border-top:1px solid var(--__P__-border)}.__P__-toolui-options-toggle{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;padding:0;cursor:pointer;font-size:var(--__P__-text-xs);font-weight:600;color:var(--__P__-fg-muted);transition:color var(--__P__-dur-quick) var(--__P__-ease)}.__P__-toolui-options-toggle:hover{color:var(--__P__-fg)}.__P__-toolui-options-chevron{display:inline-flex;transition:transform var(--__P__-dur-quick) var(--__P__-ease-out)}.__P__-toolui-options-chevron svg{width:14px;height:14px}.__P__-toolui-options-chevron.__P__-open{transform:rotate(180deg)}.__P__-toolui-desc{margin:0;padding:var(--__P__-space-3);border-radius:var(--__P__-radius-md);background:var(--__P__-bg);border:1px solid var(--__P__-border);color:var(--__P__-fg-muted);line-height:1.5}.__P__-toolui-section{display:flex;flex-direction:column;gap:8px;padding:var(--__P__-space-3);border-radius:var(--__P__-radius-md);background:var(--__P__-bg);border:1px solid var(--__P__-border)}.__P__-toolui:not(.__P__-toolui-collapsible) .__P__-toolui-section,.__P__-toolui:not(.__P__-toolui-collapsible) .__P__-toolui-desc{padding:0;background:none;border:0;border-radius:0}.__P__-toolui-label{font-size:var(--__P__-text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--__P__-fg-muted)}.__P__-toolui-code{margin:0;max-height:240px;overflow:auto;color:var(--__P__-fg);font-family:var(--__P__-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:var(--__P__-text-xs);line-height:1.5;white-space:pre-wrap;word-break:break-word}.__P__-toolui-code[data-error=true]{color:var(--__P__-danger, #dc2626)}.__P__-toolui-body{gap:6px}.__P__-toolui-prompt{margin:0;font-weight:600;color:var(--__P__-fg);overflow-wrap:anywhere}.__P__-toolui-subtle{margin:0;font-size:var(--__P__-text-xs);color:var(--__P__-fg-muted);line-height:1.5}.__P__-toolui-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--__P__-space-2);margin-top:var(--__P__-space-2)}:host([dir="rtl"]) .__P__-icon-dir{transform:scaleX(-1)}:host([dir="rtl"]) .__P__-field-input[type=date],:host([dir="rtl"]) .__P__-field-input[type=time]{position:relative;text-align:right;padding-left:34px}:host([dir="rtl"]) .__P__-field-input[type=date]::-webkit-datetime-edit,:host([dir="rtl"]) .__P__-field-input[type=time]::-webkit-datetime-edit{text-align:right}:host([dir="rtl"]) .__P__-field-input[type=date]::-webkit-calendar-picker-indicator,:host([dir="rtl"]) .__P__-field-input[type=time]::-webkit-calendar-picker-indicator{position:absolute;left:var(--__P__-space-3);margin:0}
3
+ `,`.__P__-anchor{color-scheme:var(--__P__-color-scheme, light);right:16px;bottom:16px}.__P__-surface{display:contents}.__P__-surface[hidden]{display:none}:host([data-position="bottom-left"]) .__P__-anchor,:host([data-position="top-left"]) .__P__-anchor{right:auto;left:16px}:host([data-position="top-right"]) .__P__-anchor,:host([data-position="top-left"]) .__P__-anchor{bottom:auto;top:16px}.__P__-anchor{position:fixed;display:flex;flex-direction:column;align-items:flex-end;gap:var(--__P__-space-3);pointer-events:none}.__P__-anchor{--__P__-fab-size: 56px}.__P__-anchor[data-launcher-size=sm]{--__P__-fab-size: 44px}.__P__-anchor[data-launcher-size=md]{--__P__-fab-size: 56px}.__P__-anchor[data-launcher-size=lg]{--__P__-fab-size: 68px}.__P__-anchor>*{pointer-events:auto}.__P__-fab[data-size=sm]{--__P__-fab-size: 44px;font-size:var(--__P__-text-sm)}.__P__-fab[data-size=md]{--__P__-fab-size: 56px;font-size:calc(14px * var(--__P__-text-scale))}.__P__-fab[data-size=lg]{--__P__-fab-size: 68px;font-size:var(--__P__-text-base)}.__P__-fab{display:inline-flex;align-items:center;justify-content:center;gap:var(--__P__-space-2);color:var(--__P__-accent-text);background:var(--__P__-accent);box-shadow:var(--__P__-shadow-fab);font-weight:600;line-height:1;transform-origin:bottom right;animation:__P__-fab-in var(--__P__-dur-base) var(--__P__-ease) both;transition:transform var(--__P__-dur-base) var(--__P__-ease),opacity var(--__P__-dur-base) var(--__P__-ease),box-shadow var(--__P__-dur-base) var(--__P__-ease)}.__P__-fab:hover{transform:translateY(-2px)}.__P__-fab:active{transform:translateY(0)}.__P__-fab:focus-visible{outline:2px solid var(--__P__-on-accent);outline-offset:3px}.__P__-fab svg{width:24px;height:24px;flex-shrink:0}@keyframes __P__-fab-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}.__P__-fab[data-leaving]{position:absolute;right:0;bottom:0;animation:__P__-fab-out var(--__P__-dur-quick) var(--__P__-ease) forwards;pointer-events:none}:host([data-position^="top-"]) .__P__-fab[data-leaving]{bottom:auto;top:0}:host([data-position$="-left"]) .__P__-fab[data-leaving]{right:auto;left:0}@keyframes __P__-fab-out{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.85)}}.__P__-fab[data-variant=circle]{width:var(--__P__-fab-size);height:var(--__P__-fab-size);border-radius:999px}.__P__-fab[data-variant=circle] .__P__-fab-label{display:none}.__P__-fab[data-variant=pill]{height:var(--__P__-fab-size);padding:0 18px 0 16px;border-radius:999px}.__P__-fab[data-variant=bar]{height:var(--__P__-fab-size);padding:0 22px;border-radius:var(--__P__-radius)}.__P__-fab[data-variant=minimal]{height:var(--__P__-fab-size);padding:0 var(--__P__-space-4);border-radius:999px;background:transparent;color:var(--__P__-accent-fg);box-shadow:none;border:1px solid currentColor}.__P__-fab[data-variant=minimal]:hover{background:color-mix(in srgb,var(--__P__-accent) 12%,transparent)}.__P__-callout{--__P__-callout-fab-h: var(--__P__-fab-size, 56px);--__P__-callout-gap: clamp(12px, calc(var(--__P__-callout-fab-h) * .25), 22px);--__P__-callout-nudge-direction: -1;position:absolute;display:inline-flex;align-items:center;gap:var(--__P__-space-2);padding:10px 14px;background:var(--__P__-fg);color:var(--__P__-bg);border-radius:999px;font-size:var(--__P__-text-sm);font-weight:600;line-height:1.2;box-shadow:0 10px 30px -8px #00000059;pointer-events:auto;animation:__P__-callout-in var(--__P__-dur-slow) var(--__P__-ease);z-index:1;max-width:240px;white-space:nowrap}.__P__-callout[data-position=left]{right:calc(100% + var(--__P__-callout-gap));bottom:calc(var(--__P__-callout-fab-h) / 2);transform:translateY(50%)}.__P__-callout[data-position=right]{left:calc(100% + var(--__P__-callout-gap));bottom:calc(var(--__P__-callout-fab-h) / 2);transform:translateY(50%);--__P__-callout-nudge-direction: 1}.__P__-callout[data-position=top]{bottom:calc(100% + var(--__P__-callout-gap));right:0;max-width:min(280px,calc(100vw - 32px))}.__P__-callout[data-position=bottom]{top:calc(100% + var(--__P__-callout-gap));right:0;max-width:min(280px,calc(100vw - 32px))}:host([data-position$="-left"]) .__P__-callout[data-position=top],:host([data-position$="-left"]) .__P__-callout[data-position=bottom]{right:auto;left:0}.__P__-callout[data-shape=bubble]{border-radius:var(--__P__-radius-md);white-space:normal;width:max-content;max-width:min(280px,calc(100vw - 32px))}.__P__-callout[data-shape=callout]{padding:12px 18px;font-size:calc(14px * var(--__P__-text-scale));background:var(--__P__-accent);color:var(--__P__-accent-text)}.__P__-callout:after{content:"";position:absolute;width:12px;height:12px;background:inherit;border-radius:2px;transform:rotate(45deg)}.__P__-callout[data-position=left]:after{right:-5px;top:50%;margin-top:-6px}.__P__-callout[data-position=right]:after{left:-5px;top:50%;margin-top:-6px}.__P__-callout[data-position=top]:after{bottom:-5px;right:calc(var(--__P__-fab-size, 56px) / 2 - 6px)}.__P__-callout[data-position=bottom]:after{top:-5px;right:calc(var(--__P__-fab-size, 56px) / 2 - 6px)}:host([data-position$="-left"]) .__P__-callout[data-position=top]:after,:host([data-position$="-left"]) .__P__-callout[data-position=bottom]:after{right:auto;left:calc(var(--__P__-fab-size, 56px) / 2 - 6px)}.__P__-callout[data-animated]{animation:__P__-callout-in var(--__P__-dur-slow) var(--__P__-ease),__P__-callout-nudge 1.6s var(--__P__-ease-in-out) var(--__P__-dur-slow) infinite}@keyframes __P__-callout-in{0%{opacity:0}to{opacity:1}}@keyframes __P__-callout-nudge{0%,to{margin-left:0;margin-right:0}50%{margin-left:calc(6px * var(--__P__-callout-nudge-direction));margin-right:calc(-6px * var(--__P__-callout-nudge-direction))}}@media(prefers-reduced-motion:reduce){.__P__-callout[data-animated]{animation:__P__-callout-in 1ms var(--__P__-ease)}.__P__-icon-btn[data-recording=true],.__P__-typing span{animation:none}}.__P__-callout-close{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;color:inherit;opacity:.7;cursor:pointer}.__P__-callout-close:hover{opacity:1;background:color-mix(in srgb,currentColor 15%,transparent)}.__P__-callout-close:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px}.__P__-callout-close svg{width:12px;height:12px}.__P__-panel{width:var(--__P__-panel-w);height:var(--__P__-panel-h);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);background:var(--__P__-bg);color:var(--__P__-fg);border-radius:var(--__P__-radius-lg);box-shadow:var(--__P__-shadow-panel);display:flex;flex-direction:column;overflow:hidden;transform-origin:bottom right;animation:__P__-panel-in var(--__P__-dur-slow) var(--__P__-ease);border:1px solid var(--__P__-border)}@media(prefers-reduced-motion:no-preference){.__P__-panel{transition:width var(--__P__-dur-base) var(--__P__-ease),height var(--__P__-dur-base) var(--__P__-ease),max-width var(--__P__-dur-base) var(--__P__-ease),max-height var(--__P__-dur-base) var(--__P__-ease)}.__P__-panel[data-resizing]{transition:none}}:host([data-mode="open"]) .__P__-panel{width:var(--__P__-widget-w, var(--__P__-panel-w));height:var(--__P__-widget-h, var(--__P__-panel-h));min-width:var(--__P__-resize-min-w, auto);min-height:var(--__P__-resize-min-h, auto);max-width:var(--__P__-resize-max-w, calc(100vw - 32px) );max-height:var(--__P__-resize-max-h, calc(100dvh - 32px) )}@keyframes __P__-panel-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}:host([data-mode="expanded"]) .__P__-panel{width:var(--__P__-expanded-w, 640px);height:var(--__P__-expanded-h, 820px);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px)}:host([data-mode="fullscreen"]){z-index:var(--__P__-z-panel)!important}:host([data-mode="fullscreen"]) .__P__-anchor{inset:0;padding:0;justify-content:flex-end;align-items:flex-end}:host([data-mode="fullscreen"][data-position*="top"]) .__P__-anchor{justify-content:flex-start}:host([data-mode="fullscreen"][data-position*="left"]) .__P__-anchor{align-items:flex-start}:host([data-mode="fullscreen"]) .__P__-panel{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;border:0}:host([data-mode="fullscreen"]) .__P__-fab{display:none}@media(max-width:640px){:host([data-mode="open"]) .__P__-anchor,:host([data-mode="expanded"]) .__P__-anchor{inset:0;align-items:stretch;padding:0}:host([data-mode="open"]) .__P__-panel,:host([data-mode="expanded"]) .__P__-panel{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;border:0}}:host([data-mode="inline"]) .__P__-anchor,:host([data-mode="standalone"]) .__P__-anchor{position:static;inset:auto;padding:0;align-items:stretch;width:100%;height:100%;min-height:0}:host([data-mode="inline"]) .__P__-panel,:host([data-mode="standalone"]) .__P__-panel{width:100%;height:100%;min-width:0;min-height:0;max-width:none;max-height:none;animation:none}:host([data-mode="inline"]) .__P__-fab,:host([data-mode="standalone"]) .__P__-fab{display:none}:host([data-mode="inline"]){min-height:320px}:host([data-mode="inline"]) .__P__-panel{border-radius:var(--__P__-radius)}:host([data-mode="standalone"]) .__P__-panel{border-radius:0;border:0;box-shadow:none}:host([data-mode="modal"]){position:fixed!important;inset:0!important;z-index:var(--__P__-z-panel)!important;display:block!important;width:100vw;height:100dvh;background:var(--__P__-modal-backdrop, var(--__P__-backdrop));animation:__P__-backdrop-in var(--__P__-dur-base) var(--__P__-ease) both;--__P__-panel-w: min(960px, 92vw);--__P__-panel-h: min(720px, 88dvh)}:host([data-mode="modal"]) .__P__-anchor{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--__P__-space-6);pointer-events:none}:host([data-mode="modal"]) .__P__-panel{pointer-events:auto;width:var(--__P__-widget-w, var(--__P__-panel-w));height:var(--__P__-widget-h, var(--__P__-panel-h));max-width:calc(100vw - 48px);max-height:calc(100dvh - 48px);min-width:0;min-height:0;border-radius:var(--__P__-radius);box-shadow:var(--__P__-shadow-panel);animation:__P__-modal-in var(--__P__-dur-base) var(--__P__-ease);translate:var(--__P__-modal-dx, 0px) var(--__P__-modal-dy, 0px)}:host([data-mode="modal"]) .__P__-header,:host([data-mode="modal"]) .__P__-back-header,:host([data-mode="modal"]) .__P__-home-hero{cursor:grab;touch-action:none}:host([data-mode="modal"]) .__P__-panel[data-dragging]{cursor:grabbing;user-select:none}:host([data-mode="modal"]) .__P__-panel[data-dragging] *{cursor:grabbing}:host([data-mode="modal"]) .__P__-fab{display:none}@keyframes __P__-backdrop-in{0%{background:#0000}to{background:var(--__P__-modal-backdrop, var(--__P__-backdrop))}}@keyframes __P__-modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}:host([data-mode="drawer"]){--__P__-panel-w: min(440px, calc(100vw - 32px) );--__P__-panel-h: 100dvh}:host([data-mode="drawer"]) .__P__-anchor{position:fixed;--__P__-inset-x: var(--__P__-panel-inset, 12px);--__P__-inset-y: var(--__P__-panel-inset, 3dvh);top:var(--__P__-inset-y);bottom:auto;right:var(--__P__-inset-x);left:auto;width:min(var(--__P__-widget-w, var(--__P__-panel-w)),calc(100vw - var(--__P__-inset-x) * 2));height:min(var(--__P__-widget-h, var(--__P__-panel-h)),calc(100dvh - var(--__P__-inset-y) * 2));padding:0;display:block;pointer-events:auto}:host([data-mode="drawer"][data-position$="-left"]) .__P__-anchor{right:auto;left:var(--__P__-inset-x)}:host([data-mode="drawer"][data-position^="bottom-"]) .__P__-anchor{top:auto;bottom:var(--__P__-inset-y)}:host([data-mode="drawer"]) .__P__-panel{width:100%;height:100%;max-width:none;max-height:none;min-width:0;min-height:0;border-radius:var(--__P__-radius, 12px);border:1px solid var(--__P__-border);box-shadow:-8px 16px 32px -12px #00000038;animation:__P__-drawer-in var(--__P__-dur-base) var(--__P__-ease)}:host([data-mode="drawer"][data-position$="-left"]) .__P__-panel{box-shadow:8px 16px 32px -12px #00000038;animation:__P__-drawer-in-left var(--__P__-dur-base) var(--__P__-ease)}.__P__-fab[data-edge-tab]{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--__P__-space-2);position:fixed;top:50%;height:140px;width:auto;min-width:0;padding:10px 8px;writing-mode:vertical-rl;text-orientation:mixed;transform:translateY(-50%);transform-origin:center;animation:__P__-edge-tab-in var(--__P__-dur-base) var(--__P__-ease) both}.__P__-fab[data-edge-tab] svg{writing-mode:horizontal-tb}.__P__-fab[data-edge-tab]:hover{transform:translateY(-50%) scale(1.03)}.__P__-fab[data-edge-tab]:active{transform:translateY(-50%) scale(.97)}:host([data-position$="-right"]) .__P__-fab[data-edge-tab]{right:0;left:auto;border-radius:12px 0 0 12px;box-shadow:-6px 0 18px -8px #0000004d}:host([data-position$="-left"]) .__P__-fab[data-edge-tab]{left:0;right:auto;border-radius:0 12px 12px 0;box-shadow:6px 0 18px -8px #0000004d}.__P__-fab[data-edge-tab][data-leaving]{position:fixed;top:50%;bottom:auto;animation:__P__-edge-tab-out var(--__P__-dur-quick) var(--__P__-ease) forwards}@keyframes __P__-edge-tab-in{0%{opacity:0;transform:translateY(-50%) scale(.9)}to{opacity:1;transform:translateY(-50%) scale(1)}}@keyframes __P__-edge-tab-out{0%{opacity:1;transform:translateY(-50%) scale(1)}to{opacity:0;transform:translateY(-50%) scale(.85)}}@keyframes __P__-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes __P__-drawer-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){:host([data-mode="drawer"]) .__P__-panel,.__P__-fab[data-edge-tab]{animation:none}}.__P__-header{display:flex;align-items:center;gap:var(--__P__-space-2);padding:10px 12px;border-bottom:1px solid var(--__P__-border);background:var(--__P__-bg)}.__P__-header h1{font-size:calc(14px * var(--__P__-text-scale));font-weight:600;flex:1;letter-spacing:-.01em}.__P__-header-actions{margin-inline-start:auto;display:flex;align-items:center;gap:var(--__P__-space-1);flex-shrink:0}.__P__-agent{flex:1;display:inline-flex;align-items:center;gap:10px;min-width:0}.__P__-agent-avatar{position:relative;width:32px;height:32px;border-radius:999px;background:var(--__P__-bg-elevated);color:var(--__P__-fg-muted);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--__P__-text-xs);overflow:hidden;flex-shrink:0}.__P__-agent-avatar img{width:100%;height:100%;object-fit:cover}.__P__-agent-avatar:after{content:"";position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:999px;border:2px solid var(--__P__-bg);background:var(--__P__-neutral)}.__P__-agent-avatar[data-status=online]:after{background:var(--__P__-success)}.__P__-agent-avatar[data-status=away]:after{background:var(--__P__-warning)}.__P__-agent-avatar[data-status=offline]:after{background:var(--__P__-neutral)}.__P__-agent-meta{display:flex;flex-direction:column;line-height:1.15;min-width:0}.__P__-agent-meta strong{font-size:calc(14px * var(--__P__-text-scale));font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.__P__-agent-meta span{font-size:var(--__P__-text-xs);color:var(--__P__-fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.__P__-suggestions{display:flex;flex-wrap:nowrap;gap:var(--__P__-space-2);padding:6px 14px 10px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;min-width:0}.__P__-suggestions::-webkit-scrollbar{display:none}.__P__-suggestions:before,.__P__-suggestions:after{content:"";flex:1 1 0;min-width:0}.__P__-suggestion{flex:0 0 auto;scroll-snap-align:center;padding:7px 14px;border-radius:999px;background:var(--__P__-bg-elevated);border:1px solid var(--__P__-border);color:var(--__P__-fg);font-size:var(--__P__-text-sm);font-weight:500;white-space:nowrap;transition:background var(--__P__-dur-quick) var(--__P__-ease),border-color var(--__P__-dur-quick) var(--__P__-ease),transform var(--__P__-dur-quick) var(--__P__-ease)}.__P__-suggestion:hover{border-color:var(--__P__-accent);color:var(--__P__-accent-fg);transform:translateY(-1px)}.__P__-suggestion:focus-visible{outline:2px solid var(--__P__-accent);outline-offset:2px;border-color:var(--__P__-accent)}.__P__-suggestion:active{transform:translateY(0)}.__P__-icon-btn{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--__P__-fg-muted);transition:background var(--__P__-dur-quick) var(--__P__-ease),color var(--__P__-dur-quick) var(--__P__-ease)}.__P__-icon-btn:hover{background:var(--__P__-bg-elevated);color:var(--__P__-fg)}.__P__-icon-btn:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px}.__P__-icon-btn:active{background:var(--__P__-border)}.__P__-icon-btn:disabled{opacity:.45;cursor:not-allowed}.__P__-icon-btn:before{content:"";position:absolute;inset:-6px}.__P__-icon-btn{position:relative}.__P__-icon-btn svg{width:18px;height:18px}.__P__-icon-btn[data-recording=true]{color:var(--__P__-accent-fg);background:color-mix(in srgb,var(--__P__-accent) 12%,transparent);animation:__P__-pulse 1.2s var(--__P__-ease) infinite}@keyframes __P__-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--__P__-accent) 40%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--__P__-accent) 0%,transparent)}}.__P__-list,.__P__-history,.__P__-module-scroll,.__P__-home-scroll,.__P__-help-list,.__P__-toolui-code,.__P__-sidebar-conversations{scrollbar-width:thin;scrollbar-color:var(--__P__-border-strong) transparent;overscroll-behavior:contain;scrollbar-gutter:stable}.__P__-list::-webkit-scrollbar,.__P__-history::-webkit-scrollbar,.__P__-module-scroll::-webkit-scrollbar,.__P__-home-scroll::-webkit-scrollbar,.__P__-help-list::-webkit-scrollbar,.__P__-toolui-code::-webkit-scrollbar,.__P__-sidebar-conversations::-webkit-scrollbar{width:8px}.__P__-list::-webkit-scrollbar-thumb,.__P__-history::-webkit-scrollbar-thumb,.__P__-module-scroll::-webkit-scrollbar-thumb,.__P__-home-scroll::-webkit-scrollbar-thumb,.__P__-help-list::-webkit-scrollbar-thumb,.__P__-toolui-code::-webkit-scrollbar-thumb,.__P__-sidebar-conversations::-webkit-scrollbar-thumb{background:var(--__P__-border-strong);border-radius:8px}.__P__-list-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.__P__-jump{position:absolute;inset-inline-end:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid var(--__P__-border);background:var(--__P__-bg-elevated);color:var(--__P__-fg);box-shadow:var(--__P__-shadow-panel);cursor:pointer;opacity:.85;transition:opacity var(--__P__-dur-quick) var(--__P__-ease),transform var(--__P__-dur-quick) var(--__P__-ease);animation:__P__-bubble-in var(--__P__-dur-base) var(--__P__-ease)}.__P__-jump:hover{opacity:1}.__P__-jump:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px;opacity:1}.__P__-jump:active{transform:translateY(1px)}.__P__-jump svg{width:18px;height:18px}.__P__-list{flex:1;min-height:0;overflow-y:auto;padding:var(--__P__-space-4);padding-bottom:var(--__P__-space-8);display:flex;flex-direction:column;gap:14px}.__P__-list--fade{--__P__-fade-size: 20px;--__P__-fade-top: 0px;--__P__-fade-bottom: 0px;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 var(--__P__-fade-top),#000 calc(100% - var(--__P__-fade-bottom)),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 var(--__P__-fade-top),#000 calc(100% - var(--__P__-fade-bottom)),transparent 100%)}.__P__-list--fade[data-fade-top=true]{--__P__-fade-top: var(--__P__-fade-size)}.__P__-list--fade[data-fade-bottom=true]{--__P__-fade-bottom: var(--__P__-fade-size)}.__P__-list>*{width:100%;max-width:var(--__P__-conversation-max, 768px);margin-inline:auto}.__P__-date-divider{display:flex;justify-content:center;margin-block:var(--__P__-space-3)}.__P__-date-pill{padding:3px 10px;border-radius:999px;font-size:calc(11px * var(--__P__-text-scale));font-weight:600;color:var(--__P__-fg-muted);background:var(--__P__-bg-elevated);border:1px solid var(--__P__-border);box-shadow:var(--__P__-shadow-card)}.__P__-bubble-row{display:flex}.__P__-bubble-row[data-role=user]{justify-content:flex-end}.__P__-bubble-row[data-role=assistant]{justify-content:flex-start}.__P__-bubble{max-width:100%;min-width:0;padding:var(--__P__-space-3) var(--__P__-space-4);border-radius:var(--__P__-radius);line-height:1.6;font-size:calc(14px * var(--__P__-text-scale));word-wrap:break-word;overflow-wrap:break-word;box-shadow:0 1px 2px #0000000a,0 1px 8px -4px #0000000f;animation:__P__-bubble-in var(--__P__-dur-base) var(--__P__-ease)}.__P__-bubble ::selection{background:color-mix(in srgb,var(--__P__-accent) 30%,transparent)}.__P__-bubble-row[data-role=user] .__P__-bubble ::selection{background:#fff6;color:var(--__P__-bubble-user-text)}@keyframes __P__-bubble-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.__P__-bubble-row[data-role=user] .__P__-bubble{background:var(--__P__-bubble-user);color:var(--__P__-bubble-user-text);border-end-end-radius:5px}.__P__-bubble-row[data-role=assistant] .__P__-bubble{background:var(--__P__-bubble-assistant);color:var(--__P__-bubble-assistant-text);border:1px solid var(--__P__-border);border-end-start-radius:5px}.__P__-bubble-row[data-role=operator] .__P__-bubble{display:flex;align-items:stretch;padding:0;overflow:hidden;background:var(--__P__-bubble-assistant);color:var(--__P__-bubble-assistant-text);border-end-start-radius:5px}.__P__-bubble-row[data-role=operator] .__P__-bubble-col{align-items:flex-start}.__P__-bubble-author{display:flex;flex:0 0 auto;align-items:center;padding:0 .875rem;border-inline-end:1px solid color-mix(in oklab,var(--__P__-accent),transparent 60%);color:var(--__P__-accent);font-size:calc(13px * var(--__P__-text-scale));font-weight:600;letter-spacing:.025em;user-select:none}.__P__-bubble-row[data-role=operator] .__P__-bubble-body{flex:1 1 auto;min-width:0;padding:var(--__P__-space-3) var(--__P__-space-4)}.__P__-bubble-col{display:flex;flex-direction:column;max-width:85%;min-width:0}.__P__-bubble-row[data-role=user] .__P__-bubble-col{align-items:flex-end}.__P__-bubble-row[data-role=assistant] .__P__-bubble-col{align-items:flex-start}.__P__-bubble-row[data-role=assistant] .__P__-bubble-col:has(.__P__-toolui){width:100%}.__P__-bubble-row[data-role=assistant] .__P__-bubble-col:has(.__P__-toolui) .__P__-bubble{width:100%}@media(max-width:640px){.__P__-bubble-col{max-width:92%}.__P__-toolui:not(.__P__-toolui-collapsible){padding:var(--__P__-space-3);gap:var(--__P__-space-2)}details.__P__-toolui-collapsible>summary{padding:var(--__P__-space-2) var(--__P__-space-3)}details.__P__-toolui-collapsible>.__P__-toolui-section{margin:var(--__P__-space-3)}.__P__-toolui-section,.__P__-toolui-desc{padding:var(--__P__-space-2) var(--__P__-space-3)}}.__P__-bubble-meta{display:flex;align-items:center;gap:8px;margin-top:2px;padding:0 2px;min-height:24px}.__P__-bubble-actions{display:flex;align-items:center;gap:2px}.__P__-bubble-time{font-size:calc(11px * var(--__P__-text-scale));line-height:1;color:var(--__P__-fg-muted);user-select:none}.__P__-feedback{display:flex;align-items:center;gap:2px}.__P__-msg-action{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;border-radius:var(--__P__-radius-sm);background:transparent;color:var(--__P__-fg-muted);cursor:pointer;opacity:.65;transition:opacity var(--__P__-dur-quick) var(--__P__-ease),background var(--__P__-dur-quick) var(--__P__-ease),color var(--__P__-dur-quick) var(--__P__-ease)}.__P__-msg-action:hover{opacity:1;background:var(--__P__-bg-elevated);color:var(--__P__-fg)}.__P__-msg-action:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px;opacity:1}.__P__-msg-action[data-active=true]{opacity:1;color:var(--__P__-accent-fg)}.__P__-msg-action svg{width:15px;height:15px}.__P__-md>*:first-child{margin-top:0}.__P__-md>*:last-child{margin-bottom:0}.__P__-md p{margin:10px 0}.__P__-md h1,.__P__-md h2,.__P__-md h3,.__P__-md h4,.__P__-md h5,.__P__-md h6{margin:18px 0 8px;line-height:1.3;letter-spacing:-.01em;font-weight:700}.__P__-md h1{font-size:1.4em}.__P__-md h2{font-size:1.22em}.__P__-md h3{font-size:1.08em}.__P__-md h4,.__P__-md h5,.__P__-md h6{font-size:1em}.__P__-md>h1:first-child,.__P__-md>h2:first-child,.__P__-md>h3:first-child,.__P__-md>h4:first-child,.__P__-md>h5:first-child,.__P__-md>h6:first-child{margin-top:0}.__P__-md ul,.__P__-md ol{padding-inline-start:1.5em;margin:10px 0}.__P__-md ul{list-style:disc}.__P__-md ol{list-style:decimal}.__P__-md li{margin:6px 0;padding-inline-start:2px}.__P__-md li::marker{color:var(--__P__-fg-muted)}.__P__-md li>p{margin:6px 0}.__P__-md li>ul,.__P__-md li>ol{margin:6px 0}.__P__-md strong,.__P__-md b{font-weight:650;letter-spacing:-.005em}.__P__-md em,.__P__-md i{font-style:italic}.__P__-md code{font-family:var(--__P__-font-mono);font-size:.86em;padding:1px 6px;border-radius:5px;background:color-mix(in srgb,var(--__P__-accent) 10%,transparent);color:var(--__P__-fg);border:1px solid color-mix(in srgb,var(--__P__-accent) 16%,transparent)}.__P__-md pre{font-family:var(--__P__-font-mono);font-size:calc(12.5px * var(--__P__-text-scale));padding:12px 14px;border-radius:var(--__P__-radius-sm);background:#7f7f7f1f;overflow-x:auto;margin:var(--__P__-space-3) 0;line-height:1.5}.__P__-md pre code{padding:0;background:none}.__P__-md a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.__P__-md a:hover{text-decoration-thickness:2px}.__P__-md blockquote{margin:14px 0;padding:6px 14px;border-inline-start:3px solid color-mix(in srgb,var(--__P__-accent) 50%,transparent);background:color-mix(in srgb,var(--__P__-accent) 5%,transparent);border-start-end-radius:var(--__P__-radius-sm);border-end-end-radius:var(--__P__-radius-sm);color:var(--__P__-fg-muted)}.__P__-md blockquote>:first-child{margin-top:0}.__P__-md blockquote>:last-child{margin-bottom:0}.__P__-md hr{border:0;height:1px;background:color-mix(in srgb,currentColor 18%,transparent);margin:var(--__P__-space-4) 0}.__P__-md table{border-collapse:collapse;margin:var(--__P__-space-3) 0;font-size:.95em;display:block;overflow-x:auto;max-width:100%;font-variant-numeric:tabular-nums}.__P__-md th,.__P__-md td{padding:6px 10px;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent);text-align:start}.__P__-md th{font-weight:700;background:color-mix(in srgb,currentColor 6%,transparent)}.__P__-md h1+ul,.__P__-md h1+ol,.__P__-md h2+ul,.__P__-md h2+ol,.__P__-md h3+ul,.__P__-md h3+ol,.__P__-md h4+ul,.__P__-md h4+ol{margin-top:var(--__P__-space-1)}.__P__-loading{display:inline-flex;align-items:center;gap:var(--__P__-space-2);color:var(--__P__-fg-muted);font-size:var(--__P__-text-sm)}.__P__-loading-spinner{width:14px;height:14px;border-radius:999px;border:2px solid currentColor;border-top-color:transparent;animation:__P__-spin .8s linear infinite}@keyframes __P__-spin{to{transform:rotate(1turn)}}.__P__-typing{display:inline-flex;gap:var(--__P__-space-1);padding:var(--__P__-space-1) 0}.__P__-typing span{width:5px;height:5px;border-radius:999px;background:currentColor;opacity:.4;animation:__P__-blink 1.2s var(--__P__-ease) infinite}.__P__-typing span:nth-child(2){animation-delay:.2s}.__P__-typing span:nth-child(3){animation-delay:.4s}@keyframes __P__-blink{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.__P__-reasoning{margin:var(--__P__-space-1) 0 var(--__P__-space-2);padding-inline-start:var(--__P__-space-3);border-inline-start:2px solid var(--__P__-border-strong)}.__P__-reasoning-summary{display:inline-flex;align-items:center;gap:var(--__P__-space-1);cursor:pointer;list-style:none;user-select:none;color:var(--__P__-fg-muted);font-size:var(--__P__-text-xs);font-weight:600}.__P__-reasoning-summary:hover{color:var(--__P__-fg)}.__P__-reasoning-summary:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px;border-radius:var(--__P__-radius-sm)}.__P__-reasoning-summary::-webkit-details-marker{display:none}.__P__-reasoning-summary:before{content:"";width:5px;height:5px;border-inline-end:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);opacity:.7;transition:transform var(--__P__-dur-quick) var(--__P__-ease)}.__P__-reasoning[open] .__P__-reasoning-summary:before{transform:rotate(45deg)}.__P__-reasoning[data-active=true] .__P__-reasoning-label{animation:__P__-reasoning-pulse 1.4s var(--__P__-ease) infinite}@keyframes __P__-reasoning-pulse{0%,to{opacity:.5}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.__P__-reasoning[data-active=true] .__P__-reasoning-label{animation:none}}.__P__-reasoning-body{margin-top:var(--__P__-space-1);color:var(--__P__-fg-muted);font-size:var(--__P__-text-sm)}.__P__-reasoning-body>:first-child{margin-top:0}.__P__-reasoning-body>:last-child{margin-bottom:0}.__P__-source{display:inline-flex;align-items:center;gap:6px;max-width:100%;margin-top:6px;margin-inline-end:6px;padding:var(--__P__-space-1) var(--__P__-space-2);border-radius:999px;background:var(--__P__-bg-elevated);border:1px solid var(--__P__-border);color:var(--__P__-fg-muted);font-size:var(--__P__-text-xs);text-decoration:none}a.__P__-source:hover{color:var(--__P__-fg);border-color:var(--__P__-accent)}.__P__-source-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.__P__-composer{border-top:1px solid var(--__P__-border);padding:10px 12px;background:var(--__P__-bg);display:flex;flex-direction:column;gap:var(--__P__-space-2)}.__P__-composer>*{width:100%;max-width:var(--__P__-conversation-max, 768px);margin-inline:auto}.__P__-composer-row{display:flex;align-items:flex-end;gap:6px}.__P__-textarea{flex:1;height:40px;max-height:160px;padding:10px 12px;border-radius:var(--__P__-radius);background:var(--__P__-bg-elevated);border:1px solid transparent;font-size:calc(14px * var(--__P__-text-scale));line-height:1.4;transition:height var(--__P__-dur-quick) var(--__P__-ease),border-color var(--__P__-dur-quick) var(--__P__-ease),box-shadow var(--__P__-dur-quick) var(--__P__-ease)}.__P__-textarea:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:1px;border-color:var(--__P__-focus)}@media(pointer:coarse){.__P__-textarea,.__P__-home-search-input{font-size:max(16px,calc(16px * var(--__P__-text-scale)))}.__P__-textarea{height:44px}}.__P__-send{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;transition:opacity var(--__P__-dur-quick) var(--__P__-ease),transform var(--__P__-dur-quick) var(--__P__-ease),background var(--__P__-dur-quick) var(--__P__-ease)}.__P__-send[data-shape=circle]{border-radius:999px}.__P__-send[data-shape=square]{border-radius:var(--__P__-radius-sm)}.__P__-send[data-shape=pill]{width:auto;padding:0 18px;border-radius:999px}.__P__-send[data-variant=filled]{background:var(--__P__-accent);color:var(--__P__-accent-text)}.__P__-send[data-variant=outline]{background:transparent;color:var(--__P__-accent-fg);border-color:var(--__P__-accent)}.__P__-send[data-variant=outline]:not(:disabled):hover{background:color-mix(in srgb,var(--__P__-accent) 10%,transparent)}.__P__-send[data-variant=ghost]{background:transparent;color:var(--__P__-accent-fg)}.__P__-send[data-variant=ghost]:not(:disabled):hover{background:color-mix(in srgb,var(--__P__-accent) 8%,transparent)}.__P__-send:disabled{opacity:.4;cursor:not-allowed}.__P__-send:not(:disabled):hover{transform:translateY(-1px)}.__P__-send:not(:disabled):active{transform:translateY(0)}.__P__-send:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px}.__P__-send svg{width:18px;height:18px}.__P__-composer-actions{display:flex;gap:var(--__P__-space-1);flex-wrap:wrap}.__P__-attachments{display:flex;flex-wrap:wrap;gap:6px}.__P__-attachment-chip{display:inline-flex;align-items:center;gap:6px;padding:var(--__P__-space-1) var(--__P__-space-2) var(--__P__-space-1) var(--__P__-space-1);border-radius:999px;background:var(--__P__-bg-elevated);border:1px solid var(--__P__-border);font-size:var(--__P__-text-xs);max-width:200px}.__P__-attachment-thumb{width:24px;height:24px;border-radius:999px;object-fit:cover;background:var(--__P__-border)}.__P__-attachment-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.__P__-attachment-remove{width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--__P__-fg-muted)}.__P__-attachment-remove:hover{background:var(--__P__-border);color:var(--__P__-fg)}.__P__-dropzone{position:absolute;inset:8px;border:2px dashed var(--__P__-accent);border-radius:var(--__P__-radius);background:color-mix(in srgb,var(--__P__-accent) 8%,transparent);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--__P__-accent-fg);pointer-events:none;z-index:10;animation:__P__-fade-in var(--__P__-dur-quick) var(--__P__-ease)}@keyframes __P__-fade-in{0%{opacity:0}to{opacity:1}}.__P__-error{margin-top:var(--__P__-space-1);padding:8px 12px;border-radius:var(--__P__-radius-sm);background:color-mix(in oklab,var(--__P__-danger) 8%,var(--__P__-bg-elevated));border:1px solid color-mix(in oklab,var(--__P__-danger) 20%,transparent);color:var(--__P__-fg-muted);font-size:var(--__P__-text-sm);display:flex;align-items:center;gap:var(--__P__-space-2)}.__P__-error span{min-width:0}.__P__-error button{margin-inline-start:auto;flex-shrink:0;border:0;background:none;padding:0;color:var(--__P__-accent-fg);font:inherit;font-size:var(--__P__-text-sm);font-weight:600;text-decoration:underline;white-space:nowrap;cursor:pointer}.__P__-history{flex:1;overflow-y:auto;padding:var(--__P__-space-2) var(--__P__-space-1) var(--__P__-space-3)}.__P__-history-footer{flex:none;padding:var(--__P__-space-2) var(--__P__-space-3) var(--__P__-space-3);border-top:1px solid var(--__P__-border);background:var(--__P__-surface)}.__P__-history-new{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--__P__-space-2);padding:var(--__P__-space-2) var(--__P__-space-3);border:none;border-radius:var(--__P__-radius-md);background:var(--__P__-accent);color:var(--__P__-on-accent);cursor:pointer;font-size:var(--__P__-text-sm);font-weight:600;transition:filter var(--__P__-dur-quick) var(--__P__-ease-out),transform var(--__P__-dur-quick) var(--__P__-ease-out)}.__P__-history-new svg{width:16px;height:16px}.__P__-history-new:hover{filter:brightness(1.08)}.__P__-history-new:active{transform:translateY(1px)}.__P__-history-new:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px}.__P__-history-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 16px;color:var(--__P__-fg-muted);font-size:calc(14px * var(--__P__-text-scale));text-align:center}.__P__-history-group{display:flex;flex-direction:column;padding:0 var(--__P__-space-3)}.__P__-history-heading{font-size:var(--__P__-text-xs);font-weight:600;color:var(--__P__-fg-muted);padding:14px 4px 8px;text-transform:uppercase;letter-spacing:.04em}.__P__-history-card{display:flex;flex-direction:column;background:var(--__P__-surface);border:1px solid var(--__P__-border);border-radius:var(--__P__-radius-lg, 14px);overflow:hidden}.__P__-history-item{all:unset;display:flex;align-items:center;gap:var(--__P__-space-3);padding:12px var(--__P__-space-3);cursor:pointer;transition:background var(--__P__-dur-base) var(--__P__-ease)}.__P__-history-item+.__P__-history-item{border-top:1px solid var(--__P__-border)}.__P__-history-item:hover{background:var(--__P__-bg-elevated)}.__P__-history-item:focus-visible{background:var(--__P__-bg-elevated);outline:2px solid var(--__P__-focus);outline-offset:-2px}.__P__-history-avatar{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:color-mix(in oklab,var(--__P__-accent) 12%,transparent);color:var(--__P__-accent-fg)}.__P__-history-avatar svg{width:18px;height:18px}.__P__-history-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.__P__-history-row{display:flex;align-items:center;justify-content:space-between;gap:var(--__P__-space-2)}.__P__-history-title{flex:1;min-width:0;font-size:calc(14px * var(--__P__-text-scale));font-weight:500;color:var(--__P__-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.__P__-history-time{flex:none;font-size:var(--__P__-text-xs);color:var(--__P__-fg-muted)}.__P__-history-preview{flex:1;min-width:0;font-size:var(--__P__-text-xs);color:var(--__P__-fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.__P__-history-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--__P__-accent)}.__P__-history-item[data-unread=true] .__P__-history-title{font-weight:600}.__P__-history-item[data-closed=true] .__P__-history-title{color:var(--__P__-fg-muted)}.__P__-history-item-skeleton{cursor:default;pointer-events:none}.__P__-skeleton{display:block;border-radius:4px;background:linear-gradient(90deg,color-mix(in oklab,var(--__P__-fg) 9%,transparent) 30%,color-mix(in oklab,var(--__P__-fg) 17%,transparent),color-mix(in oklab,var(--__P__-fg) 9%,transparent) 70%);background-size:200% 100%;animation:__P__-skeleton-shimmer 1.8s ease-in-out infinite}.__P__-history-avatar.__P__-skeleton{border-radius:50%}.__P__-skeleton-heading{width:52px;height:8px}.__P__-skeleton-title{width:55%;height:12px}.__P__-skeleton-time{width:34px;height:10px}.__P__-skeleton-preview{width:80%;height:10px}@keyframes __P__-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.__P__-skeleton{animation:none}}.__P__-list-loading{margin:auto;padding:var(--__P__-space-6) var(--__P__-space-4);color:var(--__P__-fg-muted);font-size:var(--__P__-text-sm);text-align:center}.__P__-readonly-banner{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 12px;margin:0 var(--__P__-space-3) var(--__P__-space-3);border-radius:var(--__P__-radius-md);background:var(--__P__-bg-elevated);color:var(--__P__-fg-muted);text-align:center;font-size:var(--__P__-text-sm)}.__P__-readonly-label{line-height:1.4}.__P__-readonly-cta{appearance:none;border:0;cursor:pointer;padding:var(--__P__-space-2) var(--__P__-space-4);border-radius:999px;background:var(--__P__-accent);color:var(--__P__-accent-text, #fff);font:inherit;font-weight:600;font-size:var(--__P__-text-sm);transition:filter var(--__P__-dur-quick) var(--__P__-ease-out)}.__P__-readonly-cta:hover,.__P__-readonly-cta:focus-visible{filter:brightness(1.1)}.__P__-operator-banner{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 var(--__P__-space-3) var(--__P__-space-1);padding:8px 12px;border-radius:var(--__P__-radius-md);background:color-mix(in oklab,var(--__P__-bg-elevated),var(--__P__-accent) 6%);color:var(--__P__-fg-muted);font-size:var(--__P__-text-sm);line-height:1.3;text-align:center}.__P__-operator-pulse{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--__P__-accent)}.__P__-operator-banner[data-mode=awaiting_operator] .__P__-operator-pulse{animation:__P__-operator-pulse 1.4s var(--__P__-ease-out) infinite}.__P__-cancel-operator-request{flex:0 0 auto;padding:0;border:0;background:none;color:var(--__P__-accent);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.__P__-cancel-operator-request:hover{opacity:.8}.__P__-cancel-operator-request:focus-visible{outline:2px solid var(--__P__-accent);outline-offset:2px;border-radius:var(--__P__-radius-sm)}@keyframes __P__-operator-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.__P__-readonly-cta:focus-visible{outline:2px solid var(--__P__-accent);outline-offset:2px}.__P__-composer-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 16px;margin:0 var(--__P__-space-3);border-top:1px solid var(--__P__-border);text-align:center;font-size:calc(11px * var(--__P__-text-scale));line-height:1.4;color:var(--__P__-fg-muted)}.__P__-disclaimer{max-width:320px;margin:0 auto;opacity:.9;letter-spacing:.01em}.__P__-poweredby{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:inherit;text-decoration:none;opacity:.7;transition:opacity var(--__P__-dur-base) var(--__P__-ease);font-size:calc(11px * var(--__P__-text-scale));letter-spacing:.02em}.__P__-poweredby:hover{opacity:1}.__P__-poweredby-logo{height:12px;width:auto;display:inline-block;vertical-align:middle}.__P__-poweredby-bar{flex:none;display:flex;align-items:center;justify-content:center;padding:6px 16px;border-top:1px solid var(--__P__-border);background:var(--__P__-bg-elevated)}.__P__-menu-wrap{position:relative;display:inline-flex}.__P__-menu{position:absolute;top:100%;inset-inline-end:0;margin-top:6px;min-width:200px;padding:6px;background:var(--__P__-bg);border:1px solid var(--__P__-border);border-radius:var(--__P__-radius-md);box-shadow:var(--__P__-shadow-panel);z-index:10;display:flex;flex-direction:column;gap:2px;animation:__P__-menu-in var(--__P__-dur-base) var(--__P__-ease)}@media(prefers-reduced-motion:reduce){.__P__-menu{animation:none}}@keyframes __P__-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98);transform-origin:top right}to{opacity:1;transform:none}}.__P__-menu-item{all:unset;display:flex;align-items:center;gap:10px;padding:8px 10px;font-size:var(--__P__-text-sm);color:var(--__P__-fg);border-radius:var(--__P__-radius-sm);cursor:pointer;user-select:none}.__P__-menu-item:hover{background:var(--__P__-bg-elevated)}.__P__-menu-item:focus-visible{background:var(--__P__-bg-elevated);outline:2px solid var(--__P__-focus);outline-offset:-2px}.__P__-menu-item[disabled]{opacity:.45;cursor:not-allowed}.__P__-menu-icon{display:inline-flex;width:16px;height:16px;color:var(--__P__-fg-muted)}.__P__-menu-icon svg{width:16px;height:16px}.__P__-menu-label{flex:1}.__P__-menu-check{display:inline-flex;color:var(--__P__-accent-fg)}.__P__-menu-check svg{width:14px;height:14px}.__P__-menu-item-segmented{cursor:default}.__P__-menu-item-segmented:hover{background:transparent}.__P__-segmented{display:inline-flex;gap:2px;padding:2px;background:var(--__P__-bg-elevated);border-radius:var(--__P__-radius-sm)}.__P__-segment{all:unset;min-width:26px;padding:3px 8px;font-size:var(--__P__-text-xs);font-weight:600;letter-spacing:.02em;text-align:center;color:var(--__P__-fg-muted);border-radius:calc(var(--__P__-radius-sm) - 2px);cursor:pointer;transition:color .12s ease,background .12s ease}.__P__-segment:hover{color:var(--__P__-fg)}.__P__-segment[data-on=true]{background:var(--__P__-bg);color:var(--__P__-accent-fg);box-shadow:var(--__P__-shadow-card)}.__P__-segment:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:-2px}.__P__-resize-grip{position:absolute;width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--__P__-fg-muted);opacity:.45;transition:opacity var(--__P__-dur-base) var(--__P__-ease);z-index:2;touch-action:none;user-select:none}.__P__-resize-grip:hover,.__P__-resize-grip:focus-visible{opacity:1}.__P__-resize-grip svg{width:10px;height:10px}.__P__-resize-grip--bottom-left{bottom:2px;left:2px;cursor:nesw-resize;transform:scaleX(-1)}.__P__-resize-grip--bottom-right{bottom:2px;right:2px;cursor:nwse-resize}.__P__-resize-grip--top-left{top:2px;left:2px;cursor:nwse-resize;transform:rotate(180deg)}.__P__-resize-grip--top-right{top:2px;right:2px;cursor:nesw-resize;transform:scaleY(-1)}:host(:not([data-mode="open"])) .__P__-resize-grip{display:none}.__P__-messenger{display:flex;flex-direction:column;overflow:hidden}.__P__-messenger-body,.__P__-messenger-pane{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.__P__-messenger-pane[hidden]{display:none}@keyframes __P__-view-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.__P__-module{display:flex;flex-direction:column;height:100%;min-height:0}@media(prefers-reduced-motion:no-preference){.__P__-module,.__P__-history{animation:__P__-view-in .18s var(--__P__-ease-out)}}.__P__-module-scroll{flex:1;min-height:0;overflow-y:auto;padding:var(--__P__-space-3);display:flex;flex-direction:column;gap:var(--__P__-space-3)}.__P__-home{container-type:inline-size;background:radial-gradient(125% 65% at 88% 0%,color-mix(in srgb,#fff 16%,transparent),transparent 55%),linear-gradient(180deg,var(--__P__-accent) 0%,var(--__P__-accent) 22%,color-mix(in srgb,var(--__P__-accent) 28%,var(--__P__-surface)) 44%,var(--__P__-surface) 70%);border-radius:var(--__P__-radius-lg) var(--__P__-radius-lg) 0 0}.__P__-home-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;background:transparent}.__P__-home-cards{display:flex;flex-direction:column;gap:var(--__P__-space-3);padding:4px 14px 16px}.__P__-module-pad{padding:var(--__P__-space-3) var(--__P__-space-3) 0}.__P__-module-empty{display:flex;flex-direction:column;align-items:center;gap:var(--__P__-space-3);padding:var(--__P__-space-8) var(--__P__-space-4);text-align:center;color:var(--__P__-fg-muted);font-size:var(--__P__-text-base)}.__P__-module-retry{padding:var(--__P__-space-2) var(--__P__-space-4);border:1px solid var(--__P__-border-strong);border-radius:var(--__P__-radius-sm);color:var(--__P__-fg);font-weight:600;cursor:pointer;transition:background var(--__P__-dur-quick) var(--__P__-ease-out),border-color var(--__P__-dur-quick) var(--__P__-ease-out)}.__P__-module-retry:hover{background:var(--__P__-hover);border-color:var(--__P__-accent)}.__P__-module-retry:active{background:var(--__P__-border)}.__P__-module-retry:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px}.__P__-help-list{flex:1;min-height:0;overflow-y:auto;padding-bottom:var(--__P__-space-3)}.__P__-help-group{display:flex;flex-direction:column}.__P__-help-section-title{position:sticky;top:0;z-index:1;margin:0;padding:var(--__P__-space-3) var(--__P__-space-5) var(--__P__-space-2);font-size:var(--__P__-text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--__P__-fg-muted);background:var(--__P__-bg)}.__P__-help-card{margin:0 var(--__P__-space-3) var(--__P__-space-3);background:var(--__P__-surface);border:1px solid var(--__P__-border);border-radius:var(--__P__-radius);overflow:hidden}.__P__-help-card .__P__-list-row{border-bottom:0;border-radius:0}.__P__-help-card .__P__-list-row+.__P__-list-row{border-top:1px solid var(--__P__-border)}.__P__-tabbar{display:flex;border-top:1px solid var(--__P__-border);background:var(--__P__-bg-elevated);flex-shrink:0}.__P__-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--__P__-space-1);min-height:48px;padding:var(--__P__-space-2) var(--__P__-space-1);color:var(--__P__-fg-muted);font-size:var(--__P__-text-xs);font-weight:600;transition:color var(--__P__-dur-quick) var(--__P__-ease-out)}.__P__-tab:hover{color:var(--__P__-fg)}.__P__-tab[aria-selected=true]{color:var(--__P__-accent-fg)}.__P__-tab:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:-2px}.__P__-tab:active{background:var(--__P__-hover)}.__P__-tab-icon{position:relative;display:inline-flex}.__P__-tab-icon svg{width:22px;height:22px}.__P__-tab-badge{position:absolute;top:-2px;left:calc(50% + 6px);width:8px;height:8px;border-radius:50%;background:var(--__P__-accent);box-shadow:0 0 0 2px var(--__P__-bg-elevated)}.__P__-home-hero{flex-shrink:0;padding:var(--__P__-space-5) var(--__P__-space-5) var(--__P__-space-3);color:var(--__P__-on-accent);--__P__-focus: var(--__P__-on-accent)}.__P__-home-hero-top{display:flex;align-items:center;justify-content:space-between;gap:var(--__P__-space-3);min-height:32px}.__P__-home-brand{font-size:clamp(calc(12px * var(--__P__-text-scale)),calc(3.2cqi * var(--__P__-text-scale)),calc(14px * var(--__P__-text-scale)));font-weight:600;letter-spacing:.01em;color:color-mix(in srgb,#fff 82%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.__P__-home-brand-spacer{flex:1}.__P__-home-hero-actions{display:flex;align-items:center;gap:var(--__P__-space-2);flex-shrink:0}.__P__-home-hero-actions .__P__-icon-btn{color:#fff}.__P__-home-hero-actions .__P__-icon-btn:hover{background:color-mix(in srgb,#fff 18%,transparent);color:#fff}.__P__-home-hero-actions .__P__-icon-btn:active{background:color-mix(in srgb,#fff 26%,transparent)}.__P__-home-greeting{margin:28px 0 0;font-family:var(--__P__-font-display);font-size:clamp(calc(19px * var(--__P__-text-scale)),calc(5.5cqi * var(--__P__-text-scale)),var(--__P__-text-2xl));font-weight:800;line-height:1.18;letter-spacing:-.01em;overflow-wrap:anywhere}.__P__-home-lead{margin:10px 0 0;font-family:var(--__P__-font-display);font-size:clamp(calc(15px * var(--__P__-text-scale)),calc(4.2cqi * var(--__P__-text-scale)),var(--__P__-text-xl));font-weight:600;line-height:1.25;letter-spacing:-.005em;color:color-mix(in srgb,var(--__P__-on-accent) 78%,transparent);overflow-wrap:anywhere}.__P__-home-avatars{display:flex}.__P__-home-avatar{width:30px;height:30px;border-radius:999px;overflow:hidden;margin-inline-start:-10px;border:2px solid color-mix(in srgb,#fff 92%,transparent);box-shadow:0 1px 3px #0000002e;background:var(--__P__-surface);display:inline-flex;align-items:center;justify-content:center;font-size:var(--__P__-text-xs);font-weight:700;color:var(--__P__-fg)}.__P__-home-avatar:first-child{margin-inline-start:0}.__P__-home-avatar img{width:100%;height:100%;object-fit:cover}.__P__-home-content{background:var(--__P__-surface);border:1px solid var(--__P__-border);border-radius:var(--__P__-radius);box-shadow:var(--__P__-shadow-card);overflow:hidden}.__P__-home-content-title{padding:var(--__P__-space-4) var(--__P__-space-4) var(--__P__-space-3);font-size:var(--__P__-text-sm);font-weight:700}.__P__-home-content-list{display:flex;flex-direction:column;padding:0 var(--__P__-space-2) var(--__P__-space-2)}.__P__-home-content-list .__P__-list-row+.__P__-list-row{border-top:1px solid var(--__P__-border)}.__P__-home-card{display:block;width:100%;text-align:start;background:var(--__P__-surface);border:1px solid var(--__P__-border);border-radius:var(--__P__-radius);padding:var(--__P__-space-4);box-shadow:var(--__P__-shadow-card)}.__P__-home-card[data-interactive=true]{cursor:pointer;transition:background var(--__P__-dur-quick) var(--__P__-ease-out),transform var(--__P__-dur-quick) var(--__P__-ease-out)}.__P__-home-card[data-interactive=true]:hover{background:var(--__P__-bg-elevated)}.__P__-home-card[data-interactive=true]:active{transform:translateY(1px)}.__P__-home-card[data-interactive=true]:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px}.__P__-home-recent-row{display:flex;align-items:center;gap:var(--__P__-space-3)}.__P__-home-recent-avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:999px;background:color-mix(in oklch,var(--__P__-accent) 14%,transparent);color:var(--__P__-accent-fg)}.__P__-home-recent-avatar svg{width:20px;height:20px}.__P__-home-recent-body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.__P__-home-recent-title{font-weight:600;font-size:calc(14px * var(--__P__-text-scale))}.__P__-home-recent-preview{color:var(--__P__-fg-muted);font-size:var(--__P__-text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.__P__-home-recent-dot{width:8px;height:8px;border-radius:999px;background:var(--__P__-accent);flex-shrink:0}.__P__-home-recent-row[data-unread=true] .__P__-home-recent-title{font-weight:700}.__P__-home-status{display:flex;align-items:center;gap:var(--__P__-space-3)}.__P__-home-status-icon svg{width:22px;height:22px;color:var(--__P__-success)}.__P__-home-status[data-level=degraded] .__P__-home-status-icon svg{color:var(--__P__-warning)}.__P__-home-status[data-level=down] .__P__-home-status-icon svg{color:var(--__P__-danger)}.__P__-home-status-text{font-weight:600;font-size:calc(14px * var(--__P__-text-scale))}.__P__-home-search{display:flex;align-items:center;gap:var(--__P__-space-2);width:100%;padding:var(--__P__-space-3) var(--__P__-space-4);border-radius:var(--__P__-radius);border:1px solid var(--__P__-border);background:var(--__P__-surface);text-align:start}.__P__-home-search[data-input=true]{background:var(--__P__-bg-elevated)}.__P__-home-search:hover{border-color:var(--__P__-border-strong)}.__P__-home-search:focus-visible,.__P__-home-search:focus-within{outline:2px solid var(--__P__-focus);outline-offset:2px}.__P__-home-search-text{flex:1;color:var(--__P__-fg-muted);font-size:calc(14px * var(--__P__-text-scale))}.__P__-home-search-input{flex:1;border:0;background:transparent;font-size:calc(14px * var(--__P__-text-scale));color:var(--__P__-fg);outline:none}.__P__-home-search-icon svg{width:18px;height:18px;color:var(--__P__-accent-fg)}.__P__-list-row{display:flex;align-items:center;gap:var(--__P__-space-3);width:100%;min-height:44px;text-align:start;padding:var(--__P__-space-3) var(--__P__-space-2);border-radius:var(--__P__-radius-sm)}.__P__-list-row:hover{background:var(--__P__-hover)}.__P__-list-row:active{background:var(--__P__-border)}.__P__-list-row:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:-2px}.__P__-list-row-body{display:flex;flex-direction:column;min-width:0;flex:1}.__P__-list-row-title{font-weight:600;font-size:var(--__P__-text-md);line-height:1.35}.__P__-list-row-sub{color:var(--__P__-fg-muted);font-size:var(--__P__-text-sm);margin-top:var(--__P__-space-1);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.__P__-list-row-chevron svg{width:18px;height:18px;color:var(--__P__-accent-fg);flex-shrink:0}.__P__-back-header{display:flex;align-items:center;gap:var(--__P__-space-2);padding:10px 12px;border-bottom:1px solid var(--__P__-border);flex-shrink:0}.__P__-back-title{flex:1;text-align:center;font-size:var(--__P__-text-md);font-weight:700;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.__P__-back-spacer{width:32px;height:1px}.__P__-history>*,.__P__-home-scroll>*,.__P__-module-scroll>*,.__P__-help-list>*,.__P__-history-footer>*,.__P__-module-pad{width:100%;max-width:var(--__P__-conversation-max, 768px);margin-inline:auto}.__P__-header,.__P__-back-header{padding-inline:max(12px,calc((100% - var(--__P__-conversation-max, 768px)) / 2))}.__P__-tabbar{padding-inline:max(0px,calc((100% - var(--__P__-conversation-max, 768px)) / 2))}.__P__-content{display:flex;flex-direction:column;gap:14px;width:100%;max-width:68ch;margin:0 auto}.__P__-content-hero{width:100%;border-radius:var(--__P__-radius)}.__P__-content-subtitle{color:var(--__P__-fg-muted);margin:0}.__P__-content-frame{flex:1;min-height:0;width:100%;border:0;background:#fff}.__P__-news-list{display:flex;flex-direction:column;gap:var(--__P__-space-3)}.__P__-news-card{display:block;width:100%;text-align:start;border:1px solid var(--__P__-border);border-radius:var(--__P__-radius);overflow:hidden;background:var(--__P__-surface)}.__P__-news-card{transition:background var(--__P__-dur-quick) var(--__P__-ease-out),transform var(--__P__-dur-quick) var(--__P__-ease-out)}.__P__-news-card:hover{background:var(--__P__-bg-elevated)}.__P__-news-card:active{transform:translateY(1px)}.__P__-news-card:focus-visible{outline:2px solid var(--__P__-focus);outline-offset:2px}.__P__-news-hero{width:100%;display:block}.__P__-news-body{display:flex;flex-direction:column;gap:6px;padding:14px 16px}.__P__-news-title{font-weight:700;font-size:var(--__P__-text-md)}.__P__-news-summary{color:var(--__P__-fg-muted);font-size:calc(14px * var(--__P__-text-scale));display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.__P__-modules-empty{display:flex;align-items:center;justify-content:center;position:relative}.__P__-modules-empty-close{position:absolute;top:12px;inset-inline-end:12px}.__P__-modules-empty-text{color:var(--__P__-fg-muted);font-size:var(--__P__-text-base)}.__P__-form{display:flex;flex-direction:column;gap:var(--__P__-space-4)}.__P__-field{display:flex;flex-direction:column;gap:6px}.__P__-field-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--__P__-space-2)}.__P__-field-label{font-size:var(--__P__-text-sm);font-weight:600;color:var(--__P__-fg)}.__P__-field-req{color:var(--__P__-danger)}.__P__-field-type{flex-shrink:0;align-self:center;margin-inline-start:auto;border:1px solid var(--__P__-border);border-radius:5px;background:color-mix(in oklab,var(--__P__-fg-muted) 9%,transparent);padding:1px 7px;font-size:var(--__P__-text-xs);font-weight:600;color:var(--__P__-fg-muted);white-space:nowrap}.__P__-field-input{width:100%;min-width:0;max-width:100%;box-sizing:border-box;padding:10px var(--__P__-space-3);border:1px solid var(--__P__-border);border-radius:var(--__P__-radius-md);background:var(--__P__-bg);color:var(--__P__-fg);font:inherit;font-size:var(--__P__-text-sm);resize:vertical;transition:border-color var(--__P__-dur-quick) var(--__P__-ease-out)}.__P__-field-input:focus-visible{outline:none;border-color:var(--__P__-accent)}.__P__-field[data-invalid=true] .__P__-field-input{border-color:var(--__P__-danger)}.__P__-field-input[type=date],.__P__-field-input[type=time]{appearance:none;-webkit-appearance:none}@media(pointer:coarse){.__P__-field-input{font-size:max(16px,calc(16px * var(--__P__-text-scale)))}}.__P__-field-hint{font-size:var(--__P__-text-xs);color:var(--__P__-fg-muted)}.__P__-field-error{font-size:var(--__P__-text-xs);color:var(--__P__-danger)}.__P__-field-choices{display:flex;flex-direction:column;gap:10px;padding-top:2px}.__P__-choice{display:flex;align-items:flex-start;gap:10px;font-size:var(--__P__-text-sm);color:var(--__P__-fg);cursor:pointer}.__P__-choice input{margin-top:2px;accent-color:var(--__P__-accent)}.__P__-form-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--__P__-space-2);margin-top:var(--__P__-space-2)}.__P__-form-hint{flex:1 1 auto;min-width:6rem;margin-inline-end:auto;font-size:var(--__P__-text-xs);color:var(--__P__-fg-muted)}.__P__-form-submit{padding:var(--__P__-space-2) var(--__P__-space-4);border:none;border-radius:var(--__P__-radius-md);background:var(--__P__-accent);color:var(--__P__-accent-text, #fff);font:inherit;font-weight:600;font-size:var(--__P__-text-sm);white-space:nowrap;flex-shrink:0;cursor:pointer;transition:filter var(--__P__-dur-quick) var(--__P__-ease-out)}.__P__-form-submit:hover:not(:disabled){filter:brightness(1.06)}.__P__-form-submit:disabled{opacity:.6;cursor:default}.__P__-form-skip{padding:var(--__P__-space-2) var(--__P__-space-4);border:1px solid var(--__P__-border);border-radius:var(--__P__-radius-md);background:transparent;color:var(--__P__-fg-muted);font:inherit;font-size:var(--__P__-text-sm);white-space:nowrap;flex-shrink:0;cursor:pointer;transition:background var(--__P__-dur-quick) var(--__P__-ease-out)}.__P__-form-skip:hover:not(:disabled){background:var(--__P__-bg-elevated)}@media(max-width:640px){.__P__-form-hint{flex-basis:100%;margin-inline-end:0;font-size:var(--__P__-text-xs)}.__P__-form-submit,.__P__-form-skip{flex:1 1 0;text-align:center}}.__P__-form-gate{display:flex;flex-direction:column;gap:var(--__P__-space-3);padding:var(--__P__-space-4);border:1px solid var(--__P__-border);border-radius:var(--__P__-radius-md);background:var(--__P__-bg-elevated)}.__P__-form-gate-title{margin:0;font-size:var(--__P__-text-base);font-weight:700;color:var(--__P__-fg)}.__P__-form-gate-desc{margin:0 0 var(--__P__-space-1);font-size:var(--__P__-text-sm);color:var(--__P__-fg-muted)}.__P__-form-done{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border:1px dashed var(--__P__-border);border-radius:999px;align-self:center;font-size:var(--__P__-text-xs);font-weight:600;color:var(--__P__-fg-muted)}.__P__-form-done svg{width:14px;height:14px;color:var(--__P__-success, #22c55e)}.__P__-form-done[data-outcome=skipped] svg{color:var(--__P__-fg-muted)}.__P__-form-done-fill{border:0;background:none;padding:0 2px;cursor:pointer;font:inherit;font-weight:600;color:var(--__P__-accent-fg)}.__P__-form-done-fill:hover{text-decoration:underline}details.__P__-form-done{display:block;padding:0;border-radius:var(--__P__-radius-md)}details[open].__P__-form-done{width:min(100%,420px);background:var(--__P__-surface)}.__P__-form-done-summary{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;cursor:pointer;list-style:none}.__P__-form-done-summary::-webkit-details-marker{display:none}.__P__-form-done-summary>svg:last-child{color:var(--__P__-fg-muted);transition:transform .15s var(--__P__-ease)}details[open]>.__P__-form-done-summary>svg:last-child{transform:rotate(90deg)}.__P__-form-answers{margin:0;padding:var(--__P__-space-2) var(--__P__-space-3) var(--__P__-space-3);display:grid;gap:var(--__P__-space-3);text-align:start}.__P__-form-answer{display:grid;gap:6px}.__P__-form-answer dt{font-size:var(--__P__-text-sm);font-weight:600;color:var(--__P__-fg)}.__P__-form-answer dd{margin:0;padding:10px var(--__P__-space-3);border:1px solid var(--__P__-border);border-radius:var(--__P__-radius-md);background:var(--__P__-bg);font-size:var(--__P__-text-sm);font-weight:400;color:var(--__P__-fg);overflow-wrap:anywhere}.__P__-toolui{margin-block:var(--__P__-space-3);border:1px solid var(--__P__-border);border-radius:var(--__P__-radius-lg, 14px);background:var(--__P__-bg-elevated);font-size:var(--__P__-text-sm)}.__P__-toolui:not(.__P__-toolui-collapsible){display:flex;flex-direction:column;gap:var(--__P__-space-3);padding:var(--__P__-space-4)}.__P__-toolui-group{display:flex;flex-direction:column;gap:var(--__P__-space-3);margin-block:var(--__P__-space-3)}.__P__-toolui-group>.__P__-toolui{margin-block:0}.__P__-toolui-stale{opacity:.7}details.__P__-toolui-collapsible>summary{display:flex;align-items:center;gap:var(--__P__-space-2);padding:var(--__P__-space-3) var(--__P__-space-4);cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent;user-select:none}details.__P__-toolui-collapsible>summary::-webkit-details-marker{display:none}details.__P__-toolui-collapsible[open]>summary{border-bottom:1px solid var(--__P__-border)}details.__P__-toolui-collapsible>.__P__-toolui-section{margin:var(--__P__-space-4)}details.__P__-toolui-collapsible>.__P__-toolui-section~.__P__-toolui-section{margin-top:calc(-1 * var(--__P__-space-2))}.__P__-toolui-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.__P__-toolui-chevron{display:inline-flex;color:var(--__P__-fg-muted);transition:transform var(--__P__-dur-quick) var(--__P__-ease-out)}details.__P__-toolui-collapsible>summary .__P__-toolui-status{margin-inline-start:auto}.__P__-toolui-chevron svg{width:16px;height:16px}details.__P__-toolui-collapsible[open]>summary .__P__-toolui-chevron{transform:rotate(180deg)}.__P__-toolui-badge,.__P__-toolui-name-pill,.__P__-toolui-q-pill{--__P__-pill: var(--__P__-fg-muted);display:inline-flex;min-width:0;align-items:center;gap:5px;padding:3px 7px;border-radius:5px;border:1px solid var(--__P__-border);background:color-mix(in oklab,var(--__P__-fg-muted) 9%,transparent);color:var(--__P__-pill);font-size:var(--__P__-text-xs);font-weight:600;white-space:nowrap}.__P__-toolui-badge svg,.__P__-toolui-name-pill svg,.__P__-toolui-q-pill svg{flex-shrink:0;width:14px;height:14px}.__P__-toolui-status-icon{display:inline-flex}.__P__-toolui-name-pill{--__P__-pill: oklch(.68 .13 233)}.__P__-toolui-q-pill{--__P__-pill: oklch(.66 .12 195)}.__P__-toolui-status[data-status=completed]{--__P__-pill: var(--__P__-success, #16a34a)}.__P__-toolui-status[data-status=responded]{--__P__-pill: oklch(.62 .15 255)}.__P__-toolui-status[data-status=awaiting]{--__P__-pill: var(--__P__-warning, #f59e0b)}.__P__-toolui-status[data-status=denied]{--__P__-pill: oklch(.66 .16 45)}.__P__-toolui-status[data-status=error]{--__P__-pill: var(--__P__-danger, #dc2626)}.__P__-toolui-status[data-status=superseded]{--__P__-pill: var(--__P__-fg-muted)}@supports (color: oklch(from red l c h)){.__P__-toolui-badge,.__P__-toolui-name-pill,.__P__-toolui-q-pill{color:oklch(from var(--__P__-pill) clamp(var(--__P__-pill-l-min),l,var(--__P__-pill-l-max)) c h)}}.__P__-toolui-head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--__P__-space-2)}.__P__-toolui-head-end{display:inline-flex;align-items:center;gap:var(--__P__-space-2);margin-inline-start:auto}.__P__-toolui-collapse-body{display:flex;flex-direction:column;gap:var(--__P__-space-3);padding:var(--__P__-space-4)}.__P__-toolui-summary{display:flex;flex-direction:column;gap:var(--__P__-space-4)}.__P__-toolui-answer{margin:0;font-size:var(--__P__-text-sm);color:var(--__P__-fg);overflow-wrap:anywhere;white-space:pre-wrap}.__P__-toolui-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--__P__-space-3);margin-inline:calc(-1 * var(--__P__-space-4));padding:var(--__P__-space-3) var(--__P__-space-4) 0;border-top:1px solid var(--__P__-border)}.__P__-toolui-options-toggle{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;padding:0;cursor:pointer;font-size:var(--__P__-text-xs);font-weight:600;color:var(--__P__-fg-muted);transition:color var(--__P__-dur-quick) var(--__P__-ease)}.__P__-toolui-options-toggle:hover{color:var(--__P__-fg)}.__P__-toolui-options-chevron{display:inline-flex;transition:transform var(--__P__-dur-quick) var(--__P__-ease-out)}.__P__-toolui-options-chevron svg{width:14px;height:14px}.__P__-toolui-options-chevron.__P__-open{transform:rotate(180deg)}.__P__-toolui-desc{margin:0;padding:var(--__P__-space-3);border-radius:var(--__P__-radius-md);background:var(--__P__-bg);border:1px solid var(--__P__-border);color:var(--__P__-fg-muted);line-height:1.5}.__P__-toolui-section{display:flex;flex-direction:column;gap:8px;padding:var(--__P__-space-3);border-radius:var(--__P__-radius-md);background:var(--__P__-bg);border:1px solid var(--__P__-border)}.__P__-toolui:not(.__P__-toolui-collapsible) .__P__-toolui-section,.__P__-toolui:not(.__P__-toolui-collapsible) .__P__-toolui-desc{padding:0;background:none;border:0;border-radius:0}.__P__-toolui-label{font-size:var(--__P__-text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--__P__-fg-muted)}.__P__-toolui-code{margin:0;max-height:240px;overflow:auto;color:var(--__P__-fg);font-family:var(--__P__-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:var(--__P__-text-xs);line-height:1.5;white-space:pre-wrap;word-break:break-word}.__P__-toolui-code[data-error=true]{color:var(--__P__-danger, #dc2626)}.__P__-toolui-body{gap:6px}.__P__-toolui-prompt{margin:0;font-weight:600;color:var(--__P__-fg);overflow-wrap:anywhere}.__P__-toolui-subtle{margin:0;font-size:var(--__P__-text-xs);color:var(--__P__-fg-muted);line-height:1.5}.__P__-toolui-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--__P__-space-2);margin-top:var(--__P__-space-2)}:host([dir="rtl"]) .__P__-icon-dir{transform:scaleX(-1)}:host([dir="rtl"]) .__P__-field-input[type=date],:host([dir="rtl"]) .__P__-field-input[type=time]{position:relative;text-align:right;padding-left:34px}:host([dir="rtl"]) .__P__-field-input[type=date]::-webkit-datetime-edit,:host([dir="rtl"]) .__P__-field-input[type=time]::-webkit-datetime-edit{text-align:right}:host([dir="rtl"]) .__P__-field-input[type=date]::-webkit-calendar-picker-indicator,:host([dir="rtl"]) .__P__-field-input[type=time]::-webkit-calendar-picker-indicator{position:absolute;left:var(--__P__-space-3);margin:0}
4
4
  `,`.__P__-standalone-page{margin:0;height:100vh;background:var(--__P__-bg, #fff);display:grid;place-items:stretch}
5
5
  `,`: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}}
6
6
  `].join(`
7
- `).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`),ht=P.scope(`mount`),gt=new WeakMap,_t={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 vt(e,t){e.style.cssText=_t[t]}function yt(e){return e===`floating`||e===`modal`||e===`drawer`?`floating`:e===`standalone`||e===`page`?`viewport`:`flow`}function bt(e={}){let t=e.position??`flow`;ht.debug(`createShadowMount`,{position:t,hasTarget:!!e.target,hasHost:!!e.existingHost});let n=`${y.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`,y.id),r.style.cssText=_t[t];let i=r.shadowRoot??r.attachShadow({mode:`open`}),a=r.ownerDocument;if(!xt(i,a)){let e=a.createElement(`style`);e.textContent=mt,i.appendChild(e)}let o=document.createElement(`div`);return o.className=`${y.cssPrefix}-app`,i.appendChild(o),{appRoot:o,destroy:()=>r.remove(),hostElement:r,shadowRoot:i}}function xt(e,t){if(!(`adoptedStyleSheets`in e))return!1;let n=t.defaultView;if(!n||typeof n.CSSStyleSheet!=`function`)return!1;let r=gt.get(t);if(!r)try{r=new n.CSSStyleSheet,r.replaceSync(mt),gt.set(t,r)}catch{return!1}try{return e.adoptedStyleSheets=[r],!0}catch{return!1}}function St(e,t){let n=y.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 Ct(e,t){e.dataset.theme=t}function wt(e,t){let n=y.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 Tt(e,t){e.dataset.position=t}function Et(e,t){e.dataset.mode=t}function Dt(e,t){Ct(e,t.themeMode),St(e,t.themeOverrides),Tt(e,t.position),wt(e,t.size)}const Ot=P.scope(`iframe`);function kt(e,t,n=`closed`,r=`floating`,i=null){Ot.debug(`createIframeMount`,{position:t,initialMode:n,layoutMode:r,hasTarget:!!i});let a=document.createElement(`iframe`);a.title=`${y.name} chat`,a.setAttribute(`allow`,`microphone; clipboard-write`),Mt(a,t,n,r),(r===`inline`&&i?i:document.body).appendChild(a);let o=a.contentDocument;if(!o)throw Error(`iframe contentDocument unavailable (cross-origin?)`);o.open(),o.write(`<!doctype html><html><head><meta charset="utf-8"><style>html,body{margin:0;padding:0;background:transparent;overflow:hidden}</style></head><body></body></html>`),o.close();let s=bt({...e,target:o.body}),c=new MutationObserver(()=>{Mt(a,t,s.hostElement.dataset.mode??`closed`,r)});return c.observe(s.hostElement,{attributes:!0,attributeFilter:[`data-mode`]}),{...s,iframeElement:a,destroy(){c.disconnect(),s.destroy(),a.remove()}}}const At=`border:0;background:transparent;z-index:2147483647;pointer-events:auto;`,jt={closed:{w:`88px`,h:`88px`},expanded:{w:`min(calc(100vw - 32px), 680px)`,h:`min(calc(100vh - 32px), 860px)`},open:{w:`min(calc(100vw - 32px), 440px)`,h:`min(calc(100vh - 32px), 700px)`}};function Mt(e,t,n,r){if(n===`fullscreen`||r===`standalone`){e.style.cssText=`${At}position:fixed;inset:0;width:100vw;height:100vh;`;return}if(r===`inline`){e.style.cssText=`${At}position:static;display:block;width:100%;height:100%;`;return}if(typeof matchMedia==`function`&&matchMedia(`(max-width: 640px)`).matches&&(n===`open`||n===`expanded`)){e.style.cssText=`${At}position:fixed;inset:0;width:100vw;height:100vh;`;return}let i=t.startsWith(`top-`)?`top`:`bottom`,a=t.endsWith(`-left`)?`left`:`right`,{w:o,h:s}=jt[n]??jt.open;e.style.cssText=`${At}position:fixed;${i}:16px;${a}:16px;width:${o};height:${s};`}function Nt(e){"@babel/helpers - typeof";return Nt=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},Nt(e)}function B(e,t){if(Nt(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Nt(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Pt(e){var t=B(e,`string`);return Nt(t)==`symbol`?t:t+``}function V(e,t,n){return(t=Pt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ft=class{constructor(){V(this,`handlers`,new Map)}on(e,t){let n=this.handlers.get(e);return n||(n=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()}};function It(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function Lt(e){return It(e)}function Rt(e){return!(!It(e)||e.navigation!==void 0&&!Array.isArray(e.navigation)||e.linkCards!==void 0&&!Array.isArray(e.linkCards))}function zt(e,t,n){return e===`page`?`page`:e===`standalone`?`standalone`:e===`inline`?t===`fullscreen`?`fullscreen`:`inline`:e===`modal`||e===`drawer`?n?t===`fullscreen`?`fullscreen`:e:`closed`:n?t===`fullscreen`?`fullscreen`:t===`expanded`?`expanded`:`open`:`closed`}function Bt(e,t,n){if(e===`standalone`||e===`page`)return`fullscreen`;let r=t.initialSize;return r===`expanded`||r===`fullscreen`||r===`normal`?r:n>0&&n<640?`fullscreen`:n>=(t.autoSizeBreakpoint??900)?`expanded`:`normal`}function Vt(e,t,n,r=null){return{panelOpen:e.mode===`inline`||e.mode===`standalone`||e.mode===`page`||(n??!e.startMinimized),panelSize:e.mode!==`standalone`&&e.mode!==`page`&&e.mode!==`inline`&&r?r:Bt(e.mode,e.size,t)}}function Ht(){return typeof window>`u`?0:window.innerWidth}function Ut(e){return{headers(){let t={};return e.aiAgentDeploymentId&&(t[`x-ai-agent-deployment-id`]=e.aiAgentDeploymentId),e.publicKey&&(t[e.publicKeyHeader??`x-public-key`]=e.publicKey),t}}}function Wt(e,t){return new Promise(n=>{if(t?.aborted)return n();let r=setTimeout(a,e),i=()=>a();t?.addEventListener(`abort`,i,{once:!0});function a(){clearTimeout(r),t?.removeEventListener(`abort`,i),n()}})}var Gt=class extends Error{constructor(e,t,n,r){super(e),this.code=t,this.status=n,this.cause=r,this.name=`StreamError`}};const Kt=P.scope(`parser`);async function*qt(e,t){if(!e.ok){let t=await e.text().catch(()=>``);throw new Gt(`server responded ${e.status}: ${t.slice(0,200)}`,`server`,e.status)}for await(let n of Jt(e,t)){let e=Yt(n);if(e===`done`)return;e&&(yield e)}}async function*Jt(e,t){if(!e.body)throw new Gt(`response has no body`,`no-body`);let n=e.body.pipeThrough(new TextDecoderStream).getReader(),r=``;try{for(;;){if(t.aborted)throw new DOMException(`aborted`,`AbortError`);let{done:e,value:i}=await n.read();if(e){let e=r.trim();e&&(yield e);return}r+=i;let a;for(;(a=r.indexOf(`
7
+ `).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`),ht=L.scope(`mount`),gt=new WeakMap,_t={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 vt(e,t){e.style.cssText=_t[t]}function yt(e){return e===`floating`||e===`modal`||e===`drawer`?`floating`:e===`standalone`||e===`page`?`viewport`:`flow`}function bt(e={}){let t=e.position??`flow`;ht.debug(`createShadowMount`,{position:t,hasTarget:!!e.target,hasHost:!!e.existingHost});let n=`${b.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`,b.id),r.style.cssText=_t[t];let i=r.shadowRoot??r.attachShadow({mode:`open`}),a=r.ownerDocument;if(!xt(i,a)){let e=a.createElement(`style`);e.textContent=mt,i.appendChild(e)}let o=document.createElement(`div`);return o.className=`${b.cssPrefix}-app`,i.appendChild(o),{appRoot:o,destroy:()=>r.remove(),hostElement:r,shadowRoot:i}}function xt(e,t){if(!(`adoptedStyleSheets`in e))return!1;let n=t.defaultView;if(!n||typeof n.CSSStyleSheet!=`function`)return!1;let r=gt.get(t);if(!r)try{r=new n.CSSStyleSheet,r.replaceSync(mt),gt.set(t,r)}catch{return!1}try{return e.adoptedStyleSheets=[r],!0}catch{return!1}}function St(e,t){let n=b.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 Ct(e,t){e.dataset.theme=t}function wt(e,t){let n=b.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 Tt(e,t){e.dataset.position=t}function Et(e,t){e.dataset.mode=t}function Dt(e,t){Ct(e,t.themeMode),St(e,t.themeOverrides),Tt(e,t.position),wt(e,t.size)}const Ot=L.scope(`iframe`);function kt(e,t,n=`closed`,r=`floating`,i=null){Ot.debug(`createIframeMount`,{position:t,initialMode:n,layoutMode:r,hasTarget:!!i});let a=document.createElement(`iframe`);a.title=`${b.name} chat`,a.setAttribute(`allow`,`microphone; clipboard-write`),Mt(a,t,n,r),(r===`inline`&&i?i:document.body).appendChild(a);let o=a.contentDocument;if(!o)throw Error(`iframe contentDocument unavailable (cross-origin?)`);o.open(),o.write(`<!doctype html><html><head><meta charset="utf-8"><style>html,body{margin:0;padding:0;background:transparent;overflow:hidden}</style></head><body></body></html>`),o.close();let s=bt({...e,target:o.body}),c=new MutationObserver(()=>{Mt(a,t,s.hostElement.dataset.mode??`closed`,r)});return c.observe(s.hostElement,{attributes:!0,attributeFilter:[`data-mode`]}),{...s,iframeElement:a,destroy(){c.disconnect(),s.destroy(),a.remove()}}}const At=`border:0;background:transparent;z-index:2147483647;pointer-events:auto;`,jt={closed:{w:`88px`,h:`88px`},expanded:{w:`min(calc(100vw - 32px), 680px)`,h:`min(calc(100vh - 32px), 860px)`},open:{w:`min(calc(100vw - 32px), 440px)`,h:`min(calc(100vh - 32px), 700px)`}};function Mt(e,t,n,r){if(n===`fullscreen`||r===`standalone`){e.style.cssText=`${At}position:fixed;inset:0;width:100vw;height:100vh;`;return}if(r===`inline`){e.style.cssText=`${At}position:static;display:block;width:100%;height:100%;`;return}if(typeof matchMedia==`function`&&matchMedia(`(max-width: 640px)`).matches&&(n===`open`||n===`expanded`)){e.style.cssText=`${At}position:fixed;inset:0;width:100vw;height:100vh;`;return}let i=t.startsWith(`top-`)?`top`:`bottom`,a=t.endsWith(`-left`)?`left`:`right`,{w:o,h:s}=jt[n]??jt.open;e.style.cssText=`${At}position:fixed;${i}:16px;${a}:16px;width:${o};height:${s};`}function Nt(e){"@babel/helpers - typeof";return Nt=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},Nt(e)}function Pt(e,t){if(Nt(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Nt(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Ft(e){var t=Pt(e,`string`);return Nt(t)==`symbol`?t:t+``}function B(e,t,n){return(t=Ft(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var V=class{constructor(){B(this,`handlers`,new Map)}on(e,t){let n=this.handlers.get(e);return n||(n=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()}};function It(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function Lt(e){return It(e)}function Rt(e){return!(!It(e)||e.navigation!==void 0&&!Array.isArray(e.navigation)||e.linkCards!==void 0&&!Array.isArray(e.linkCards))}function zt(e,t,n){return e===`page`?`page`:e===`standalone`?`standalone`:e===`inline`?t===`fullscreen`?`fullscreen`:`inline`:e===`modal`||e===`drawer`?n?t===`fullscreen`?`fullscreen`:e:`closed`:n?t===`fullscreen`?`fullscreen`:t===`expanded`?`expanded`:`open`:`closed`}function Bt(e,t,n){if(e===`standalone`||e===`page`)return`fullscreen`;let r=t.initialSize;return r===`expanded`||r===`fullscreen`||r===`normal`?r:n>0&&n<640?`fullscreen`:n>=(t.autoSizeBreakpoint??900)?`expanded`:`normal`}function Vt(e,t,n,r=null){return{panelOpen:e.mode===`inline`||e.mode===`standalone`||e.mode===`page`||(n??!e.startMinimized),panelSize:e.mode!==`standalone`&&e.mode!==`page`&&e.mode!==`inline`&&r?r:Bt(e.mode,e.size,t)}}function Ht(){return typeof window>`u`?0:window.innerWidth}function Ut(e){return{headers(){let t={};return e.aiAgentDeploymentId&&(t[`x-ai-agent-deployment-id`]=e.aiAgentDeploymentId),e.publicKey&&(t[e.publicKeyHeader??`x-public-key`]=e.publicKey),t}}}function Wt(e,t){return new Promise(n=>{if(t?.aborted)return n();let r=setTimeout(a,e),i=()=>a();t?.addEventListener(`abort`,i,{once:!0});function a(){clearTimeout(r),t?.removeEventListener(`abort`,i),n()}})}var Gt=class extends Error{constructor(e,t,n,r){super(e),this.code=t,this.status=n,this.cause=r,this.name=`StreamError`}};const Kt=L.scope(`parser`);async function*qt(e,t){if(!e.ok){let t=await e.text().catch(()=>``);throw new Gt(`server responded ${e.status}: ${t.slice(0,200)}`,`server`,e.status)}for await(let n of Jt(e,t)){let e=Yt(n);if(e===`done`)return;e&&(yield e)}}async function*Jt(e,t){if(!e.body)throw new Gt(`response has no body`,`no-body`);let n=e.body.pipeThrough(new TextDecoderStream).getReader(),r=``;try{for(;;){if(t.aborted)throw new DOMException(`aborted`,`AbortError`);let{done:e,value:i}=await n.read();if(e){let e=r.trim();e&&(yield e);return}r+=i;let a;for(;(a=r.indexOf(`
8
8
 
9
9
  `))!==-1;){let e=r.slice(0,a);r=r.slice(a+2),yield e}}}finally{n.releaseLock()}}function Yt(e){let t=``,n;for(let r of e.split(`
10
- `))if(!(r===``||r.startsWith(`:`))){if(r.startsWith(`data:`)){let e=r.slice(5).replace(/^ /,``);t=t?`${t}\n${e}`:e;continue}r.startsWith(`id:`)&&(n=r.slice(3).trim())}if(t===`[DONE]`)return`done`;if(!t)return null;try{let e=JSON.parse(t);return Kt.trace(`chunk`,{type:e.type,eventId:n}),{chunk:e,eventId:n}}catch(e){return Kt.trace(`frame parse failed`,{err:e,payload:t.slice(0,200)}),null}}function Xt(e){let t=new TextEncoder().encode(e),n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}const Zt=e=>e&&Object.keys(e).length>0?e:void 0;function Qt(e,t){let n=Zt(e),r=Zt(t);if(!n&&!r)return;let i={};return n&&(i.user=n),r&&(i.page=r),Xt(JSON.stringify(i))}function $t(e){if(!e)return;let t=Date.parse(e);return Number.isFinite(t)?t:void 0}function en(e){return`tool-${e.startsWith(`tool:`)?e.slice(5):e}`}function tn(e){return e.startsWith(`tool-`)?e.slice(5):e}const H={handshake:`/pai/handshake`,streamMessage:`/pai/stream-message`,streamResume:`/pai/stream-resume`,cancelStream:`/pai/cancel-stream`,listConversations:`/pai/list-conversations`,listMessages:`/pai/list-messages`,updateSettings:`/pai/update-settings`,markRead:`/pai/mark-read`,messageFeedback:`/pai/message-feedback`,requestOperator:`/pai/request-operator`,cancelRequestOperator:`/pai/cancel-request-operator`,bootstrap:`/pai/bootstrap`,content:`/pai/content`,submitForm:`/pai/submit-form`};function nn(e){let t=e??{},n=t.controlMode;return{controlMode:n===`awaiting_operator`||n===`operator`?n:`ai-agent`,assignedOperatorInitials:typeof t.assignedOperatorInitials==`string`&&t.assignedOperatorInitials?t.assignedOperatorInitials:void 0,operatorAvailable:typeof t.operatorAvailable==`boolean`?t.operatorAvailable:void 0}}function rn(e){let t=e?.suggestions;if(!Array.isArray(t))return[];let n=[];for(let e of t){if(!e||typeof e!=`object`)continue;let{id:t,label:r,text:i}=e;typeof r!=`string`||!r||n.push({id:typeof t==`string`&&t?t:`s${n.length}`,label:r,text:typeof i==`string`&&i?i:r})}return n}function an(e){let t=e.messages.map(e=>({id:e.serverMessageId??e.id,parts:sn(e),role:e.role,createdAt:e.createdAt===void 0?void 0:new Date(e.createdAt).toISOString()})),n={messages:t,conversationId:e.conversationId,trigger:e.trigger??`submit-message`,responseType:`ack`},r=t.at(-1)?.id;r&&(n.messageId=r),e.visitorId&&(n.visitorId=e.visitorId),e.userPrefs&&(n.userPrefs=e.userPrefs);let i=e.tools?.map(U).filter(e=>e!==null);return i?.length&&(n.data={tools:i}),n}function on(e){return e.state===`output-available`||e.state===`output-error`||e.state===`output-denied`||e.approval?.approved!==void 0}function U(e){return typeof e==`string`?e?{code:e}:null:e?.code?e:null}function sn(e){let t=[];for(let n of e.parts)if(n.kind===`step-start`&&t.push({type:`step-start`}),n.kind===`reasoning`&&n.text&&t.push({type:`reasoning`,text:n.text,state:n.done?`done`:`streaming`}),n.kind===`text`&&n.text&&t.push({text:n.text,type:`text`}),n.kind===`file`&&n.url&&t.push({mediaType:n.mediaType,type:`file`,url:n.url}),n.kind===`tool`&&on(n)){let e={type:en(n.toolName),toolCallId:n.toolCallId,state:n.state};n.input!==void 0&&(e.input=n.input),n.output!==void 0&&(e.output=n.output),n.error!==void 0&&(e.errorText=n.error),n.approval&&n.approval.approved!==void 0&&(e.approval=n.approval),t.push(e)}for(let n of e.attachments??[])n.url&&t.push({type:`file`,url:n.url,mediaType:n.mediaType,filename:n.name,fileId:n.id,fileSize:n.size});return t}const W=P.scope(`transport`),cn=new Set([408,425,429,500,502,503,504]);function ln(e){return 400*2**e+Math.floor(Math.random()*250)}function un(e){let t=e.get(`retry-after`);if(!t)return null;let n=Number(t),r=Number.isFinite(n)?n*1e3:Date.parse(t)-Date.now();return Number.isFinite(r)&&r>=0?Math.min(r,3e4):null}var dn=class{constructor(e){this.ttlMs=e,V(this,`map`,new Map)}getOrFetch(e,t){let n=this.map.get(e);if(n&&Date.now()-n.at<this.ttlMs)return n.result;let r={at:Date.now(),result:t().then(e=>(r.value=e,e)).catch(t=>{throw this.map.delete(e),t})};return this.map.set(e,r),r.result}peek(e){let t=this.map.get(e);if(t?.value!==void 0&&Date.now()-t.at<this.ttlMs)return t.value}clear(){this.map.clear()}},fn=class{constructor(e){this.opts=e,V(this,`visitorId`,void 0),V(this,`conversationId`,void 0),V(this,`userContext`,void 0),V(this,`pageContext`,void 0),V(this,`locale`,void 0),V(this,`conversationsCache`,new dn(1e4)),V(this,`loadConversationInflight`,new Map),V(this,`contentCache`,new dn(6e4))}setContext(e,t){this.userContext=e,this.pageContext=t}setLocale(e){this.locale=e}primeIdentity(e,t){e&&(this.visitorId=e),t&&(this.conversationId=t)}envelope(){let e={_ev:b};this.visitorId&&(e.visitorId=this.visitorId),this.conversationId&&(e.conversationId=this.conversationId),this.locale&&(e.locale=this.locale);let t=Qt(this.userContext,this.pageContext);return t&&(e.context=t),e}withEnvelope(e){return{...this.envelope(),...e}}appendEnvelope(e){for(let[t,n]of Object.entries(this.envelope()))e.append(t,n);return e}withEnvelopeQuery(e){let t=new URL(this.url(e));for(let[e,n]of Object.entries(this.envelope()))t.searchParams.has(e)||t.searchParams.set(e,n);return t.toString()}async handshake(e){W.debug(`handshake →`,{visitorId:e.visitorId,conversationId:e.conversationId,locale:e.locale});let t=await this.postJson(H.handshake,e,`handshake`);return W.debug(`handshake ←`,{visitorId:t.visitorId,conversationId:t.conversationId,hasWelcome:!!t.welcome,hasConfig:!!t.config,rebind:t.rebind}),hn(t)||W.warn(`handshake response did not match expected shape; using raw response`,{response:t}),this.visitorId=t.visitorId??e.visitorId,this.conversationId=t.conversationId,t}async uploadFile(e){W.debug(`uploadFile →`,{name:e.name,size:e.size,type:e.type});let t=new FormData;t.append(`file`,e,e.name);let n=await this.postForm(this.uploadPath,t,`upload`);return W.debug(`uploadFile ←`,{id:n.id,url:n.url}),n}async transcribe(e,t=`audio/webm`){W.debug(`transcribe →`,{size:e.size,mimeType:t});let n=new FormData;n.append(`audio`,e,`voice.${mn(t)}`),n.append(`mimeType`,t);let r=await this.postForm(this.transcribePath,n,`transcribe`);return W.debug(`transcribe ←`,{textLen:r.text.length}),r}localeCacheKey(e){return`${this.locale??``}|${JSON.stringify(e,Object.keys(e).toSorted())}`}peekConversations(e={}){return this.conversationsCache.peek(this.localeCacheKey(e))}listConversations(e={}){return this.conversationsCache.getOrFetch(this.localeCacheKey(e),()=>this.fetchConversations(e))}async fetchConversations(e){let t=new URL(this.url(H.listConversations));e.visitorId&&t.searchParams.set(`visitorId`,e.visitorId),e.limit&&t.searchParams.set(`limit`,String(e.limit)),e.cursor&&t.searchParams.set(`cursor`,e.cursor),W.debug(`listConversations →`,{visitorId:e.visitorId??this.visitorId,limit:e.limit,cursor:e.cursor});let n=await this.getJson(t.toString(),`listConversations`),r=n.conversations??[];return W.debug(`listConversations ←`,{count:r.length,nextCursor:n.nextCursor}),{conversations:r,nextCursor:n.nextCursor}}async loadConversation(e){let t=this.loadConversationInflight.get(e);if(t)return t;let n=this.loadConversationDirect(e).finally(()=>this.loadConversationInflight.delete(e));return this.loadConversationInflight.set(e,n),n}async loadConversationDirect(e){let t=new URL(this.url(H.listMessages));t.searchParams.set(`conversationId`,e),W.debug(`loadConversation →`,{conversationId:e,visitorId:this.visitorId});let n=await this.getJson(t.toString(),`loadConversation`),r=n.messages??[];return W.debug(`loadConversation ←`,{conversationId:n.conversationId,canContinue:n.canContinue,messageCount:r.length,hasSuggestions:!!n.suggestions}),{...n,messages:r,canContinue:n.canContinue??!0}}async markRead(e){if(!(!this.visitorId||!e)){this.conversationsCache.clear(),W.debug(`markRead →`,{conversationId:e,visitorId:this.visitorId});try{await this.postJson(H.markRead,{conversationId:e},`markRead`)}catch(e){W.debug(`markRead failed (non-fatal)`,{err:e})}}}async requestOperator(){if(!(!this.visitorId||!this.conversationId)){W.debug(`requestOperator →`,{conversationId:this.conversationId,visitorId:this.visitorId});try{return(await this.postJson(H.requestOperator,{},`requestOperator`)).controlState}catch(e){W.debug(`requestOperator failed (non-fatal)`,{err:e});return}}}async cancelRequestOperator(){if(!(!this.visitorId||!this.conversationId)){W.debug(`cancelRequestOperator →`,{conversationId:this.conversationId,visitorId:this.visitorId});try{return(await this.postJson(H.cancelRequestOperator,{},`cancelRequestOperator`)).controlState}catch(e){W.debug(`cancelRequestOperator failed (non-fatal)`,{err:e});return}}}listContent(e={}){return this.contentCache.getOrFetch(this.localeCacheKey(e),()=>this.fetchContent(e))}async fetchContent(e){let t=new URL(this.dataUrl(H.content));for(let[n,r]of Object.entries(e))r!==void 0&&t.searchParams.set(n,Array.isArray(r)?r.join(`,`):String(r));W.debug(`listContent →`,e);let n=await this.getJson(t.toString(),`listContent`),r=(n.items??[]).map(e=>A(e,this.locale));return W.debug(`listContent ←`,{count:r.length,total:n.pagination?.total}),{...n,items:r}}async bootstrap(e){let t=new URL(this.dataUrl(H.bootstrap));e&&t.searchParams.set(`conversationId`,e),W.debug(`bootstrap →`,{conversationId:e??this.conversationId});let n=await this.getJson(t.toString(),`bootstrap`),r=n.forms??[],i=n.formSubmissions??[];return W.debug(`bootstrap ←`,{forms:r.length,formSubmissions:i.length}),{forms:r,formSubmissions:i}}async saveUserPrefs(e){W.debug(`saveUserPrefs →`,{visitorId:this.visitorId,conversationId:this.conversationId,settingsKeys:Object.keys(e)});let t=await this.postJson(H.updateSettings,{userPrefs:e},`saveUserPrefs`);return W.debug(`saveUserPrefs ←`,{success:t.success}),t}get uploadPath(){return this.opts.endpoints?.upload??`/pai/upload-file`}get transcribePath(){return this.opts.endpoints?.transcribe??`/pai/transcribe-audio`}get submitFormPath(){return this.opts.endpoints?.submitForm??H.submitForm}async submitForm(e){W.debug(`submitForm →`,{formId:e.formId,trigger:e.trigger,fields:Object.keys(e.values).length});try{await this.postJson(this.dataUrl(this.submitFormPath),e,`submitForm`)}catch(e){W.debug(`submitForm failed (non-fatal)`,{err:e})}}async submitFeedback(e){W.debug(`submitFeedback →`,{messageId:e.messageId,value:e.value});try{await this.postJson(H.messageFeedback,{messageId:e.messageId,set:{feedback:e.value}},`submitFeedback`)}catch(e){W.debug(`submitFeedback failed (non-fatal)`,{err:e})}}async sendTurn(e){this.conversationsCache.clear(),W.debug(`message →`,{conversationId:e.conversationId,visitorId:e.visitorId,messageId:e.messageId,messageCount:e.messages.length,trigger:e.trigger,tools:e.data?.tools?.map(e=>e.code)});let t=await this.fetchImpl(this.url(H.streamMessage),{method:`POST`,credentials:`omit`,headers:{accept:`application/json`,"content-type":`application/json`,...this.opts.auth.headers()},body:JSON.stringify(this.withEnvelope(e))});if(t.status===409){let n=await t.json().catch(()=>void 0);if(pn(n))return W.debug(`message conflict already owned by server — awaiting resume`,{error:n.error,originalStreamId:n.originalStreamId}),{status:`accepted`,conversationId:e.conversationId}}return{status:`accepted`,conversationId:(await this.assertOk(t,`sendTurn`)).conversationId??e.conversationId}}cancelTurn(e){!this.visitorId||!e||(W.debug(`cancel stream`,{conversationId:e,visitorId:this.visitorId}),this.fetchImpl(this.url(H.cancelStream),{method:`POST`,credentials:`omit`,headers:{"content-type":`application/json`,...this.opts.auth.headers()},body:JSON.stringify(this.withEnvelope({conversationId:e})),keepalive:!0}).catch(e=>W.debug(`cancel POST failed (non-fatal)`,{err:e})))}async connectResumeStream(e){let t;try{t=await this.fetchImpl(this.resumeUrl(),{method:`GET`,credentials:`omit`,headers:{accept:`text/event-stream`,...this.opts.auth.headers()},signal:e.signal})}catch(t){return e.signal.aborted||W.debug(`resume-stream fetch failed — reconnecting`,{err:t}),`held`}if(!t.ok||!t.body)return W.debug(`resume-stream → endpoint unavailable`,{status:t.status}),`unavailable`;if(!(t.headers.get(`content-type`)??``).includes(`text/event-stream`))return W.debug(`resume-stream → non-SSE response; stopping`),`unavailable`;e.onConnected();try{for await(let{chunk:n}of qt(t,e.signal)){if(e.signal.aborted)return`held`;e.onChunk(n)}}catch(t){if(e.signal.aborted)return`held`;W.debug(`resume-stream segment dropped — reconnecting`,{err:t})}return`held`}resumeUrl(){return this.withEnvelopeQuery(H.streamResume)}async postJson(e,t,n){let r=await this.fetchWithRetry(()=>[this.url(e),{method:`POST`,credentials:`omit`,headers:{"content-type":`application/json`,...this.opts.auth.headers()},body:JSON.stringify(this.withEnvelope(t))}],n);return this.assertOk(r,n)}async postForm(e,t,n){let r=await this.fetchImpl(this.url(e),{method:`POST`,credentials:`omit`,headers:this.opts.auth.headers(),body:this.appendEnvelope(t)});return this.assertOk(r,n)}async getJson(e,t){let n=await this.fetchWithRetry(()=>[this.withEnvelopeQuery(e),{method:`GET`,credentials:`omit`,headers:{accept:`application/json`,...this.opts.auth.headers()}}],t);return this.assertOk(n,t)}async fetchWithRetry(e,t){for(let n=0;;n++){let[r,i]=e(),a;try{a=await this.fetchImpl(r,i)}catch(e){if(n>=3)throw new Gt(`${t} failed: network error`,`network`,void 0,e);W.debug(`request network error — retrying`,{label:t,attempt:n}),await Wt(ln(n));continue}if(a.ok||!cn.has(a.status)||n>=3)return a;let o=un(a.headers)??ln(n);W.debug(`request retryable status — retrying`,{label:t,status:a.status,attempt:n,wait:o}),await Wt(o)}}async assertOk(e,t){if(!e.ok)throw new Gt(`${t} failed: ${e.status}`,`server`,e.status);return await e.json()}url(e){return/^https?:\/\//i.test(e)?e:`${this.opts.agentApiBaseUrl}${e}`}dataUrl(e){return/^https?:\/\//i.test(e)?e:`${this.opts.dataApiBaseUrl}${e}`}get fetchImpl(){return this.opts.fetchImpl??globalThis.fetch.bind(globalThis)}};function pn(e){if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`error`),n=Reflect.get(e,`message`);return(t===`DUPLICATE_REQUEST`||t===`TOOL_APPROVAL_CONFLICT`)&&typeof n==`string`}function mn(e){return e.includes(`webm`)?`webm`:e.includes(`ogg`)?`ogg`:e.includes(`mp4`)||e.includes(`m4a`)?`m4a`:e.includes(`mpeg`)?`mp3`:e.includes(`wav`)?`wav`:`bin`}function hn(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.visitorId==`string`&&typeof t.conversationId==`string`}function gn(e,t){let n=e?[{kind:`text`,id:`t0`,textSig:d(e),doneSig:d(!0)}]:[];return{id:lt(),role:`user`,createdAt:Date.now(),status:`complete`,attachments:t,partsSig:d(n)}}function _n(){return{id:lt(),role:`assistant`,createdAt:Date.now(),status:`streaming`,partsSig:d([])}}function vn(e){let t=lt();return yn({id:t,role:e.role,createdAt:Date.now(),status:`complete`,ephemeral:!0,parts:[{kind:`text`,id:`${t}-t0`,text:e.text,done:!0}]})}function yn(e){return{id:e.id,role:e.role,createdAt:e.createdAt,status:e.status,canceled:e.canceled,errorText:e.errorText,finishReason:e.finishReason,serverMessageId:e.serverMessageId,ephemeral:e.ephemeral,attachments:e.attachments,feedback:e.feedback,partsSig:d(e.parts.map(Xn))}}const bn=new Set([`completed`,`failed`,`canceled`]);function xn(e){return e.status===`failed`?`error`:e.role===`assistant`&&e.status!=null&&!bn.has(e.status)?`streaming`:`complete`}function Sn(e){let t=new Set,n=e.parts.map((t,n)=>t.type===`text`?{kind:`text`,id:`${e.id}-t${n}`,textSig:d(t.text),doneSig:d(!0)}:t.type===`reasoning`?{kind:`reasoning`,id:`${e.id}-r${n}`,textSig:d(t.text),doneSig:d(t.state!==`streaming`)}:t.type===`step-start`?{kind:`step-start`,id:`${e.id}-ss${n}`}:t.type===`file`?{kind:`file`,url:t.url,mediaType:t.mediaType}:t.type===`source-url`?{kind:`source`,sourceId:t.sourceId,url:t.url,title:t.title}:t.type===`source-document`?{kind:`source`,sourceId:t.sourceId,title:t.title,filename:t.filename,mediaType:t.mediaType}:t.type===`data-suggestions`?null:t.type.startsWith(`tool-`)?{kind:`tool`,toolCallId:t.toolCallId,toolName:tn(t.type),inputPartialSig:d(``),inputSig:d(t.input),outputSig:d(t.output),errorSig:d(t.errorText),stateSig:d(t.state),approvalSig:d(t.approval)}:null).filter(e=>e!==null).filter(e=>e.kind===`source`?t.has(e.sourceId)?!1:(t.add(e.sourceId),!0):!0),r=e.parts.find(e=>e.type===`data-suggestions`);return{id:e.id,role:e.role,operatorInitials:e.operatorInitials,suggestions:r?.type===`data-suggestions`?rn(r.data):void 0,serverMessageId:e.id,createdAt:$t(e.createdAt)??Date.now(),status:xn(e),canceled:e.status===`canceled`,feedback:e.feedback??null,partsSig:d(n)}}function Cn(e){return!e.parts.some(e=>e.type===`text`&&e.text.trim()!==``||e.type.startsWith(`tool-`)||e.type===`file`||e.type===`source-url`||e.type===`source-document`)}function wn(e){return e.role===`assistant`&&e.status!=null&&!bn.has(e.status)&&Cn(e)}function Tn(e){let t=e.length-1;return e.filter((e,n)=>n===t||!wn(e)).map(Sn)}function En(e,t){return(!t&&e.at(-1)?.role===`assistant`?e.slice(0,-1):e).filter(e=>!e.ephemeral)}function Dn(e){return{id:e.id,role:e.role,createdAt:e.createdAt,status:e.status,canceled:e.canceled,errorText:e.errorText,finishReason:e.finishReason,serverMessageId:e.serverMessageId,ephemeral:e.ephemeral,attachments:e.attachments,parts:e.partsSig.value.map(Zn)}}function On(e){let t=``;for(let n of e.partsSig.value)n.kind===`text`&&(t+=n.textSig.value);return t}function kn(e){return On(e).trim()!==``||e.partsSig.value.some(e=>e.kind===`tool`||e.kind===`file`||e.kind===`source`)}function An(e){return On(e).trim()!==``||e.partsSig.value.some(e=>e.kind===`tool`||e.kind===`file`)}function jn(e){return e.status!==`streaming`&&kn(e)}function Mn(e){return e===`approval-responded`||e===`output-available`||e===`output-denied`||e===`output-error`}const Nn=e=>e.kind===`tool`,Pn=e=>e.kind===`text`&&e.textSig.value.trim()!==``||e.kind===`file`||e.kind===`source`;function Fn(e){let t=e.partsSig.value,n=t.findLastIndex(e=>e.kind===`tool`);return t.slice(n+1).some(Pn)}function In(e){if(e.role!==`assistant`)return!1;let t=e.partsSig.value.filter(Nn);return t.length>0&&t.every(e=>Mn(e.stateSig.value))}function Ln(e){return e.role===`assistant`&&e.partsSig.value.some(e=>e.kind===`tool`)&&!Fn(e)}function Rn(e,t){return!e.partsSig.value.slice(t+1).some(e=>e.kind===`step-start`||Pn(e))}function zn(e){return e.partsSig.value.some(e=>Nn(e)&&!Mn(e.stateSig.value))}function Bn(e){return e!==void 0&&e.role!==`user`&&!e.ephemeral&&(e.status===`streaming`||e.continuationStreaming===!0||kn(e)&&On(e).trim()===``||zn(e))}function Vn(e){return In(e)&&!Fn(e)}function Hn(e,t){let n=t.filter(e=>!e.ephemeral&&(e.status===`streaming`||kn(e))),r=new Map(n.filter(e=>e.serverMessageId!==void 0).map(e=>[e.serverMessageId,e])),i=new Set,a=e.map(e=>{let t=e.serverMessageId===void 0?void 0:r.get(e.serverMessageId);return t===void 0||(i.add(e.serverMessageId),t.role!==e.role)?e:t.status===`streaming`||On(t).length>=On(e).length?t:(e.id=t.id,e)}),o=n.filter(e=>e.serverMessageId===void 0||!i.has(e.serverMessageId));return[...a,...o]}function Un(e,t){let n=new Map(t.filter(e=>e.serverMessageId!==void 0).map(e=>[e.serverMessageId,e])),r=new Set(e.flatMap(e=>[e.serverMessageId,e.id].filter(e=>e!==void 0))),i=!1,a=e.map(e=>{if(e.serverMessageId===void 0)return e;let t=n.get(e.serverMessageId);if(t===void 0||t.role!==e.role)return e;let r=On(t),a=On(e),o=t.status!==`streaming`&&r.length>=a.length&&Kn(e,t);if(r.length>a.length||r===a&&t.partsSig.value.length>e.partsSig.value.length||o)return i=!0,t.id=e.id,t;if(e.status===`streaming`&&t.status!==`streaming`&&Wn(e,t)){if(e.continuationStreaming&&zn(t))return e;if(!Kn(t,e))return i=!0,t.id=e.id,t}return e}),o=[...n.values()].filter(e=>!r.has(e.serverMessageId)),s=a.at(-1),c=o.at(-1);return s?.role===`assistant`&&s.status===`streaming`&&s.serverMessageId===void 0&&c?.role===`assistant`&&c.status!==`streaming`&&On(c).length>=On(s).length&&(c.id=s.id,a.splice(-1,1,...o),o.length=0,i=!0),{messages:i||o.length?[...a,...o]:e,changed:i||o.length>0}}function Wn(e,t){let n=e.partsSig.value,r=t.partsSig.value;return n.length===r.length&&n.every((e,t)=>{let n=r[t];switch(e.kind){case`text`:return n?.kind===`text`&&n.textSig.value===e.textSig.value;case`reasoning`:return n?.kind===`reasoning`&&n.textSig.value===e.textSig.value;case`step-start`:return n?.kind===`step-start`;case`tool`:return n?.kind===`tool`&&n.toolCallId===e.toolCallId&&n.toolName===e.toolName;case`file`:return n?.kind===`file`&&n.url===e.url&&n.mediaType===e.mediaType;case`source`:return n?.kind===`source`&&n.sourceId===e.sourceId&&n.url===e.url&&n.title===e.title&&n.filename===e.filename&&n.mediaType===e.mediaType;default:return e}})}const Gn={"input-streaming":0,"input-available":1,"approval-requested":2,"approval-responded":3,"output-available":4,"output-denied":4,"output-error":4};function Kn(e,t){let n=new Map(e.partsSig.value.filter(Nn).map(e=>[e.toolCallId,e]));return t.partsSig.value.filter(Nn).some(e=>{let t=n.get(e.toolCallId);if(!t||Gn[e.stateSig.value]>Gn[t.stateSig.value])return!0;let r=e.approvalSig.value?.approved;return r!==void 0&&r!==t.approvalSig.value?.approved})}function qn(e){return e.role===`assistant`&&e.status!==`streaming`&&!kn(e)}function Jn(e){return e.canceled===!0&&e.role===`assistant`&&e.status!==`streaming`&&!An(e)}function Yn(e,t){return e.operatorRoutedTurn?qn(e)?`drop`:`complete-operator-routed`:t||qn(e)?`error`:`complete`}function Xn(e){return e.kind===`text`||e.kind===`reasoning`?{kind:e.kind,id:e.id,textSig:d(e.text),doneSig:d(e.done)}:e.kind===`tool`?{kind:`tool`,toolCallId:e.toolCallId,toolName:e.toolName,inputPartialSig:d(e.inputPartial),inputSig:d(e.input),outputSig:d(e.output),errorSig:d(e.error),stateSig:d(e.state),approvalSig:d(e.approval)}:e}function Zn(e){return e.kind===`text`||e.kind===`reasoning`?{kind:e.kind,id:e.id,text:e.textSig.value,done:e.doneSig.value}:e.kind===`tool`?{kind:`tool`,toolCallId:e.toolCallId,toolName:e.toolName,inputPartial:e.inputPartialSig.value,input:e.inputSig.value,output:e.outputSig.value,error:e.errorSig.value,state:e.stateSig.value,approval:e.approvalSig.value}:e}const Qn=P.scope(`feedback:audio`);var $n=class{constructor(){V(this,`ctx`,null),V(this,`master`,null),V(this,`buffers`,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){Qn.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(Error(`fetch ${e.status}`))).then(e=>n.decodeAudioData(e)).then(t=>(this.buffers.set(e,t),t)).catch(t=>(Qn.warn(`audio fetch/decode failed`,{url:e,err:t}),this.buffers.delete(e),null));return this.buffers.set(e,r),r}};const er={messageReceived:10,messageSent:0,error:[20,40,20],voiceStart:10,voiceStop:0},tr={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 nr=null,rr=0;function ir(){return typeof navigator<`u`&&typeof navigator.vibrate==`function`}function ar(){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=`__${y.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 or(e){if(!(e===0||Array.isArray(e)&&e.every(e=>e===0))){if(ir())try{navigator.vibrate(e);return}catch{}if(nr||(nr=ar()),nr)try{nr.label.click()}catch{}}}function sr(){rr++;let e=!1;return()=>{e||(e=!0,rr=Math.max(0,rr-1),rr===0&&nr&&(nr.input.remove(),nr.label.remove(),nr=null))}}const cr=P.scope(`feedback`);var lr=class{constructor(e,t){V(this,`mutedSig`,d(!1)),V(this,`audio`,new $n),V(this,`releaseHaptics`,void 0),V(this,`sound`,void 0),V(this,`haptics`,void 0),V(this,`lastPlayed`,new Map),V(this,`reducedMotionMq`,null),this.sound=e,this.haptics=t,this.releaseHaptics=sr(),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=>cr.warn(`audio play failed`,{err:e,url:t}));return}let n=tr[e];n&&this.audio.playTone(n)}playHaptic(e){if(this.reducedMotionMq?.matches)return;let t=this.haptics.events?.[e];t!==!1&&or(t===!0||t===void 0?er[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}};const G={fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,viewBox:`0 0 24 24`},ur=`${y.cssPrefix}-icon-dir`,dr=()=>h(`svg`,{...G,"aria-hidden":`true`,children:h(`path`,{d:`M21 12a8 8 0 0 1-12 6.93L3 21l1.65-5.16A8 8 0 1 1 21 12Z`})}),fr=()=>h(`svg`,{...G,"aria-hidden":`true`,children:h(`path`,{d:`M18 6 6 18M6 6l12 12`})}),pr=()=>h(`svg`,{...G,"aria-hidden":`true`,children:h(`path`,{d:`M12 5v14M5 12h14`})}),mr=()=>g(`svg`,{...G,class:ur,"aria-hidden":`true`,children:[h(`path`,{d:`m22 2-7 20-4-9-9-4Z`}),h(`path`,{d:`M22 2 11 13`})]}),hr=()=>h(`svg`,{...G,"aria-hidden":`true`,children:h(`path`,{d:`M12 19V5M5 12l7-7 7 7`})}),gr=()=>h(`svg`,{...G,class:ur,"aria-hidden":`true`,children:h(`path`,{d:`M3 20V4l18 8-18 8Z`})}),_r=()=>h(`svg`,{...G,class:ur,"aria-hidden":`true`,children:h(`path`,{d:`m9 18 6-6-6-6`})}),vr=()=>h(`svg`,{...G,"aria-hidden":`true`,children:h(`rect`,{x:`6`,y:`6`,width:`12`,height:`12`,rx:`2`})}),yr=()=>h(`svg`,{...G,"aria-hidden":`true`,children:h(`path`,{d:`m21 11-9 9a5.5 5.5 0 0 1-7.78-7.78l8.49-8.49a3.67 3.67 0 0 1 5.19 5.19l-8.49 8.49a1.83 1.83 0 0 1-2.6-2.6l7.78-7.78`})}),br=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`rect`,{x:`9`,y:`2`,width:`6`,height:`12`,rx:`3`}),h(`path`,{d:`M5 10a7 7 0 0 0 14 0M12 19v3`})]}),xr=()=>h(`svg`,{...G,"aria-hidden":`true`,children:h(`path`,{d:`M3 8V3h5M21 8V3h-5M3 16v5h5M21 16v5h-5`})}),Sr=()=>h(`svg`,{...G,"aria-hidden":`true`,children:h(`path`,{d:`M8 3v5H3M16 3v5h5M8 21v-5H3M16 21v-5h5`})}),Cr=()=>h(`svg`,{...G,"aria-hidden":`true`,children:h(`path`,{d:`M3 3h7v2H5v5H3zM21 3h-7v2h5v5h2zM3 21h7v-2H5v-5H3zM21 21h-7v-2h5v-5h2z`})}),wr=()=>h(`svg`,{...G,"aria-hidden":`true`,children:h(`path`,{d:`M10 3v5H3M14 3v5h7M10 21v-5H3M14 21v-5h7`})}),Tr=()=>h(`svg`,{...G,"aria-hidden":`true`,viewBox:`0 0 10 10`,children:h(`path`,{d:`M9 1L1 9M9 5L5 9M9 9H9`,strokeWidth:`1.5`})}),Er=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`circle`,{cx:`12`,cy:`5`,r:`1.5`,fill:`currentColor`,stroke:`none`}),h(`circle`,{cx:`12`,cy:`12`,r:`1.5`,fill:`currentColor`,stroke:`none`}),h(`circle`,{cx:`12`,cy:`19`,r:`1.5`,fill:`currentColor`,stroke:`none`})]}),Dr=()=>h(`svg`,{...G,"aria-hidden":`true`,children:h(`path`,{d:`M11 5 6 9H2v6h4l5 4zM15 9a5 5 0 0 1 0 6M18 7a9 9 0 0 1 0 10`})}),Or=()=>h(`svg`,{...G,"aria-hidden":`true`,children:h(`path`,{d:`M11 5 6 9H2v6h4l5 4zM22 9l-6 6M16 9l6 6`})}),kr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`path`,{d:`M3 18 8 6l5 12M4.7 14h6.6`}),h(`path`,{d:`M14.5 18l3.2-7 3.2 7M15.6 15.8h4.2`})]}),Ar=()=>h(`svg`,{...G,class:ur,"aria-hidden":`true`,children:h(`path`,{d:`m5 6 6 6-6 6M13 6l6 6-6 6`})}),jr=()=>h(`svg`,{...G,"aria-hidden":`true`,children:h(`path`,{d:`M20 6 9 17l-5-5`})}),Mr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`path`,{d:`M3 3v6h6`}),h(`path`,{d:`M3.05 13A9 9 0 1 0 6 5.3L3 9`}),h(`path`,{d:`M12 7v5l3 2`})]}),Nr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`circle`,{cx:`12`,cy:`12`,r:`10`}),h(`path`,{d:`M2 12h20`}),h(`path`,{d:`M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z`})]}),Pr=()=>h(`svg`,{...G,class:ur,"aria-hidden":`true`,children:h(`path`,{d:`M19 12H5M12 19l-7-7 7-7`})}),Fr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`path`,{d:`M12 20h9`}),h(`path`,{d:`M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z`})]}),Ir=()=>h(`svg`,{...G,"aria-hidden":`true`,children:h(`path`,{d:`m6 9 6 6 6-6`})}),Lr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`path`,{d:`M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z`}),h(`path`,{d:`M14 2v6h6`})]}),Rr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`path`,{d:`m12 3-1.5 4.5L6 9l4.5 1.5L12 15l1.5-4.5L18 9l-4.5-1.5Z`}),h(`path`,{d:`M19 15v4M17 17h4M5 3v2M4 4h2`})]}),zr=()=>h(`svg`,{...G,"aria-hidden":`true`,children:h(`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2Z`})}),Br=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`circle`,{cx:`12`,cy:`12`,r:`10`}),h(`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`}),h(`path`,{d:`M12 17h.01`})]}),Vr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`path`,{d:`m15 4 3 3-9 9-3-3z`}),h(`path`,{d:`M18 2v2M20 4h2M3 20l3-3M3 16h2M5 14v2`})]}),Hr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`rect`,{x:`4`,y:`8`,width:`16`,height:`12`,rx:`2`}),h(`path`,{d:`M12 8V4`}),h(`circle`,{cx:`12`,cy:`3`,r:`1`}),h(`path`,{d:`M2 14h2M20 14h2M9 13h.01M15 13h.01M9.5 17h5`})]}),Ur=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`path`,{d:`M4 14v-2a8 8 0 0 1 16 0v2`}),h(`rect`,{x:`2`,y:`14`,width:`4`,height:`6`,rx:`1.5`}),h(`rect`,{x:`18`,y:`14`,width:`4`,height:`6`,rx:`1.5`}),h(`path`,{d:`M20 20v1a3 3 0 0 1-3 3h-5`})]}),Wr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`circle`,{cx:`12`,cy:`12`,r:`10`}),h(`circle`,{cx:`12`,cy:`12`,r:`4`}),h(`path`,{d:`m4.93 4.93 4.24 4.24M14.83 14.83l4.24 4.24M14.83 9.17l4.24-4.24M4.93 19.07l4.24-4.24`})]}),Gr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`circle`,{cx:`11`,cy:`11`,r:`7`}),h(`path`,{d:`m21 21-4.3-4.3`})]}),Kr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`circle`,{cx:`12`,cy:`12`,r:`9`}),h(`path`,{d:`m8.5 12 2.5 2.5 4.5-5`})]}),qr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`path`,{d:`M3 9.5 12 3l9 6.5`}),h(`path`,{d:`M5 9v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9`})]}),Jr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`path`,{d:`m3 11 15-5v12L3 13z`}),h(`path`,{d:`M3 11v2a2 2 0 0 0 2 2h1V9H5a2 2 0 0 0-2 2z`}),h(`path`,{d:`M7 15v3a2 2 0 0 0 4 0v-2`}),h(`path`,{d:`M21 10a3 3 0 0 1 0 4`})]}),Yr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`path`,{d:`M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z`}),h(`path`,{d:`M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1`})]}),Xr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`circle`,{cx:`12`,cy:`12`,r:`4`}),h(`path`,{d:`M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41`})]}),Zr=()=>h(`svg`,{...G,"aria-hidden":`true`,children:h(`path`,{d:`M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z`})}),Qr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`circle`,{cx:`12`,cy:`12`,r:`9`}),h(`path`,{d:`M12 3v18`}),h(`path`,{d:`M12 3a9 9 0 0 1 0 18z`,fill:`currentColor`,stroke:`none`})]}),$r=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`circle`,{cx:`10.5`,cy:`10.5`,r:`6.5`}),h(`path`,{d:`M8 11a2.5 2.5 0 0 0 5 0`}),h(`path`,{d:`m20 20-4.4-4.4`})]}),ei=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`path`,{d:`M12 3.5 13.6 9 19 10.5 13.6 12 12 17.5 10.4 12 5 10.5 10.4 9z`}),h(`path`,{d:`M18.5 4v3M20 5.5h-3M5.5 16v2.5M6.75 17.25h-2.5`})]}),ti=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`path`,{d:`M4 18h16`}),h(`path`,{d:`M5 18a7 7 0 0 1 14 0`}),h(`path`,{d:`M12 8V6`}),h(`path`,{d:`M10 6h4`})]}),ni=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`path`,{d:`M7 11V6.5a1.5 1.5 0 0 1 3 0V10`}),h(`path`,{d:`M10 10V5.5a1.5 1.5 0 0 1 3 0V10`}),h(`path`,{d:`M13 10V6.5a1.5 1.5 0 0 1 3 0V12`}),h(`path`,{d:`M16 9.5a1.5 1.5 0 0 1 3 0v2.5a7 7 0 0 1-7 7 7 7 0 0 1-6.4-4.2L4 12.5a1.5 1.5 0 0 1 2.6-1.5L7 11`})]}),ri=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`rect`,{x:`9`,y:`9`,width:`11`,height:`11`,rx:`2`}),h(`path`,{d:`M5 15a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2`})]}),ii=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`path`,{d:`M7 10v11H4a1 1 0 0 1-1-1v-9a1 1 0 0 1 1-1z`}),h(`path`,{d:`M7 10l4-7a2.5 2.5 0 0 1 2.5 2.5V8h5a2 2 0 0 1 2 2.3l-1.2 8A2 2 0 0 1 17.3 20H7`})]}),ai=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`path`,{d:`M17 14V3h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1z`}),h(`path`,{d:`M17 14l-4 7a2.5 2.5 0 0 1-2.5-2.5V16h-5a2 2 0 0 1-2-2.3l1.2-8A2 2 0 0 1 6.7 4H17`})]}),oi=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`circle`,{cx:`12`,cy:`12`,r:`3.5`}),h(`path`,{d:`M12 2v3M12 19v3M2 12h3M19 12h3M4.9 4.9l2.1 2.1M17 17l2.1 2.1M19.1 4.9l-2.1 2.1M7 17l-2.1 2.1`})]}),si=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`circle`,{cx:`12`,cy:`12`,r:`9`}),h(`path`,{d:`M12 7v5l3 2`})]}),ci=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`circle`,{cx:`12`,cy:`12`,r:`9`}),h(`path`,{d:`m8.5 12 2.5 2.5 4.5-5`})]}),li=()=>g(`svg`,{...G,"aria-hidden":`true`,children:[h(`circle`,{cx:`12`,cy:`12`,r:`9`}),h(`path`,{d:`m15 9-6 6M9 9l6 6`})]}),ui={chat:dr,message:zr,bubbles:Yr,spark:Rr,wand:Vr,bot:Hr,help:Br,lifebuoy:Wr,headset:Ur,search:$r,sparkles:ei,concierge:ti,wave:ni},K=y.cssPrefix,q={launcher:`${K}-launcher`,callout:`${K}-callout`,calloutDismiss:`${K}-callout-dismiss`,panel:`${K}-panel`,panelHeader:`${K}-panel-header`,resizeGrip:`${K}-resize-grip`,scrollToBottom:`${K}-scroll-to-bottom`,actionHistory:`${K}-action-history`,actionClose:`${K}-action-close`,langSegment:`${K}-lang-segment`,composer:`${K}-composer`,composerInput:`${K}-composer-input`,composerSend:`${K}-composer-send`,composerStop:`${K}-composer-stop`,composerAttach:`${K}-composer-attach`,composerFileInput:`${K}-composer-file-input`,composerVoice:`${K}-composer-voice`,attachmentChip:`${K}-attachment-chip`,attachmentRemove:`${K}-attachment-remove`,suggestion:`${K}-suggestion`,messageBubble:`${K}-message`,messageRetry:`${K}-message-retry`,messageFeedback:`${K}-message-feedback`,feedbackUp:`${K}-feedback-up`,feedbackDown:`${K}-feedback-down`,messageCopy:`${K}-message-copy`,historyPane:`${K}-history-pane`,historyBack:`${K}-history-back`,historyItem:`${K}-history-item`,sidebar:`${K}-sidebar`,sidebarToggle:`${K}-sidebar-toggle`,sidebarNewConversation:`${K}-sidebar-new-conversation`,sidebarItem:`${K}-sidebar-item`,messengerHome:`${K}-messenger-home`,modulesEmpty:`${K}-modules-empty`,tab:`${K}-tab`,tabBadge:`${K}-tab-badge`,homeView:`${K}-home-view`,homeGreeting:`${K}-home-greeting`,homeBrand:`${K}-home-brand`,backHeader:`${K}-back-header`,contentView:`${K}-content-view`,contentScroll:`${K}-content-scroll`,homeSearch:`${K}-home-search`,helpSearch:`${K}-help-search`,homeRecent:`${K}-home-recent`,homeContentRow:`${K}-home-content-row`,helpArticle:`${K}-help-article`,newsItem:`${K}-news-item`,formGate:`${K}-form-gate`,formDone:`${K}-form-done`,formDoneToggle:`${K}-form-done-toggle`,formAnswers:`${K}-form-answers`,formFill:`${K}-form-fill`,formSubmit:`${K}-form-submit`,formSkip:`${K}-form-skip`,formField:`${K}-form-field`,toolAskQuestions:`${K}-tool-ask-questions`,toolInputSubmit:`${K}-tool-input-submit`,toolInputSkip:`${K}-tool-input-skip`,toolApproval:`${K}-tool-approval`,toolApprove:`${K}-tool-approve`,toolReject:`${K}-tool-reject`,toolEdit:`${K}-tool-edit`,toolDecision:`${K}-tool-decision`,typingDots:`${K}-typing-dots`,reasoning:`${K}-reasoning`,toolAskSummary:`${K}-ask-questions-summary`,toolAskOptions:`${K}-ask-questions-options-toggle`,toolCall:`${K}-tool-call`,source:`${K}-source`,operatorRequest:`${K}-operator-request`,operatorBanner:`${K}-operator-banner`,operatorCancelRequest:`${K}-operator-cancel-request`};function di(e,t){return`${e}-${t}`}const fi=y.cssPrefix;function pi({onToggle:e,launcher:t,strings:n,leaving:r,edgeTab:i}){let a=t.variant!==`circle`&&!!t.label;return g(`button`,{type:`button`,class:`${fi}-fab`,"data-variant":t.variant,"data-size":t.size,"data-edge-tab":i?`true`:void 0,"data-leaving":r?`true`:void 0,"data-testid":q.launcher,onClick:e,"aria-label":n.launcherOpen,children:[mi(t.icon),a?h(`span`,{class:`${fi}-fab-label`,children:D(n,t.label??``)}):null]})}function mi(e){let t=ui[e];return t?h(t,{}):h(hi,{source:e})}function hi({source:e}){return h(`span`,{ref:t=>{t&&gi(t,e)},"aria-hidden":`true`})}function gi(e,t){if(e.dataset.svgMounted!==t)try{let n=new DOMParser().parseFromString(t,`image/svg+xml`).documentElement;n&&n.tagName.toLowerCase()===`svg`&&(e.replaceChildren(document.importNode(n,!0)),e.dataset.svgMounted=t)}catch{}}function _i({callout:e,launcherPosition:t,strings:n,closeLabel:r,onDismiss:a}){let[o,s]=c(!1);return i(()=>{let t=setTimeout(()=>s(!0),e.delayMs);return()=>clearTimeout(t)},[e.delayMs]),i(()=>{if(!o||e.autoDismissMs<=0)return;let t=setTimeout(a,e.autoDismissMs);return()=>clearTimeout(t)},[o,e.autoDismissMs,a]),o?g(`div`,{class:`${fi}-callout`,role:`status`,"data-shape":e.shape,"data-position":vi(e.position,t),"data-animated":e.animated?`true`:void 0,"data-testid":q.callout,children:[h(`span`,{children:D(n,e.text)}),h(`button`,{type:`button`,class:`${fi}-callout-close`,onClick:a,"aria-label":r,title:r,"data-testid":q.calloutDismiss,children:h(fr,{})})]}):null}function vi(e,t){let n=t.endsWith(`-right`),r=t.startsWith(`bottom-`);return e===`vertical`?r?`top`:`bottom`:n?`left`:`right`}function yi({panelEl:e,resize:t,position:n,initialSize:r,onSizeChange:a,strings:o}){let c=y.cssPrefix,l=s(null);if(i(()=>{if(!e)return;let n=e.style;t.minWidth&&n.setProperty(`--${c}-resize-min-w`,t.minWidth),t.maxWidth&&n.setProperty(`--${c}-resize-max-w`,t.maxWidth),t.minHeight&&n.setProperty(`--${c}-resize-min-h`,t.minHeight),t.maxHeight&&n.setProperty(`--${c}-resize-max-h`,t.maxHeight),r&&(n.setProperty(`--${c}-widget-w`,`${r.width}px`),n.setProperty(`--${c}-widget-h`,`${r.height}px`))},[e,t.minWidth,t.maxWidth,t.minHeight,t.maxHeight,c,r]),!e)return null;let u=n.startsWith(`top-`),d=n.endsWith(`-right`),f=`${c}-resize-grip ${c}-resize-grip--${u?`bottom`:`top`}-${d?`left`:`right`}`,p=t=>{if(!e)return;let n=t.currentTarget,r=e.getBoundingClientRect();l.current={pointerId:t.pointerId,startX:t.clientX,startY:t.clientY,startW:r.width,startH:r.height,dirX:d?-1:1,dirY:u?1:-1},n.setPointerCapture(t.pointerId),e.setAttribute(`data-resizing`,``),t.preventDefault()},m=t=>{let n=l.current;if(!n||t.pointerId!==n.pointerId||!e)return;let r=(t.clientX-n.startX)*n.dirX,i=(t.clientY-n.startY)*n.dirY;e.style.setProperty(`--${c}-widget-w`,`${n.startW+r}px`),e.style.setProperty(`--${c}-widget-h`,`${n.startH+i}px`)},g=t=>{let n=l.current;if(!n||t.pointerId!==n.pointerId||!e)return;t.currentTarget.releasePointerCapture(t.pointerId),e.removeAttribute(`data-resizing`);let r=e.getBoundingClientRect();a({width:Math.round(r.width),height:Math.round(r.height)}),l.current=null};return h(`div`,{class:f,role:`separator`,"aria-orientation":`vertical`,"aria-label":o.resizeHandle,title:o.resizeHandle,onPointerDown:p,onPointerMove:m,onPointerUp:g,onPointerCancel:g,"data-testid":q.resizeGrip,children:h(Tr,{})})}const bi=y.cssPrefix,xi=`.${bi}-header, .${bi}-back-header, .${bi}-home-hero`;function Si(e,t){i(()=>{if(!t||!e)return;let n=e=>Number.parseFloat(e)||0,r=(e,t)=>Math.min(t,Math.max(-t,e)),i=null,a=t=>{let r=t.target;if(!(r instanceof Element)||!r.closest(xi)||r.closest(`button, a, input, textarea, select, [role="tab"], [contenteditable]`))return;let a=e.getBoundingClientRect();i={id:t.pointerId,x:t.clientX,y:t.clientY,dx:n(e.style.getPropertyValue(`--${bi}-modal-dx`)),dy:n(e.style.getPropertyValue(`--${bi}-modal-dy`)),maxX:(window.innerWidth+a.width)/2-56,maxY:(window.innerHeight+a.height)/2-56},e.dataset.dragging=`true`,t.preventDefault()},o=t=>{if(!i||t.pointerId!==i.id)return;let n=r(i.dx+t.clientX-i.x,i.maxX),a=r(i.dy+t.clientY-i.y,i.maxY);e.style.setProperty(`--${bi}-modal-dx`,`${n}px`),e.style.setProperty(`--${bi}-modal-dy`,`${a}px`)},s=t=>{!i||t.pointerId!==i.id||(i=null,delete e.dataset.dragging)};return e.addEventListener(`pointerdown`,a),window.addEventListener(`pointermove`,o),window.addEventListener(`pointerup`,s),window.addEventListener(`pointercancel`,s),()=>{e.removeEventListener(`pointerdown`,a),window.removeEventListener(`pointermove`,o),window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,s)}},[e,t])}function Ci(e,t,n){switch(e){case`clear`:case`sound`:case`history`:case`language`:case`theme`:case`textSize`:return!0;case`expand`:return t===`floating`;case`fullscreen`:return t!==`standalone`;case`close`:return t===`standalone`||t===`page`?!1:t!==`inline`||n===`fullscreen`}}function wi(e,t,n){return Ci(`close`,e,t)?n.includes(`close`):!1}function Ti(e,t){return e===`inline`&&t===`fullscreen`?`exit-fullscreen`:`close`}function Ei(e){let t=t=>{if(t.key!==`Tab`)return;let n=[...e.querySelectorAll(`a[href],button:not([disabled]),textarea:not([disabled]),input:not([disabled]):not([type="hidden"]),select:not([disabled]),[tabindex]:not([tabindex="-1"])`)].filter(e=>e.offsetParent!==null||e===document.activeElement);if(n.length===0){t.preventDefault();return}let r=n[0],i=n[n.length-1];if(!r||!i)return;let a=e.getRootNode().activeElement;t.shiftKey&&a===r?(t.preventDefault(),i.focus()):!t.shiftKey&&a===i&&(t.preventDefault(),r.focus())};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)}function Di(e){return e.trim().split(/\s+/).slice(0,2).map(e=>e.charAt(0).toUpperCase()).join(``)}const Oi=y.cssPrefix;function ki({agent:e,strings:t}){let n=e.status??`online`,r=D(t,e.name),i=e.title?D(t,e.title):null;return g(`div`,{class:`${Oi}-agent`,children:[h(`div`,{class:`${Oi}-agent-avatar`,"data-status":n,children:e.avatar?h(`img`,{src:e.avatar,alt:``}):h(`span`,{children:Di(r)})}),g(`div`,{class:`${Oi}-agent-meta`,children:[h(`strong`,{children:r}),i?h(`span`,{children:i}):null]})]})}const Ai=P.scope(`attachments`);function ji(e,t,n){let r=Pi(e),i=[],a=[],o=Li(n.accept),s=t.reduce((e,t)=>e+t.size,0),c=t.length;for(let e of r){let t=Ni(e,c,s,n,o);if(t){a.push({file:e,reason:t});continue}i.push(Ii(e)),s+=e.size,c+=1}return(i.length||a.length)&&Ai.debug(`ingest`,{accepted:i.length,rejected:a.map(e=>({name:e.file.name,reason:e.reason}))}),{accepted:i,rejected:a}}function Mi(e){try{URL.revokeObjectURL(e.previewUrl)}catch(e){Ai.debug(`revokeObjectURL failed`,{error:e})}}function Ni(e,t,n,r,i){return t>=r.maxCount?`count`:n+e.size>r.maxBytes?`bytes`:Ri(e,i)?null:`mime`}function Pi(e){return e?Array.isArray(e)?e.filter(e=>e instanceof File):[...e].map(e=>e instanceof File?e:Fi(e)).filter(e=>e!==null):[]}function Fi(e){let t=e;return!t?.getAsFile||t.kind!==`file`?null:t.getAsFile()}function Ii(e){return{file:e,id:lt(),mediaType:e.type||`application/octet-stream`,name:e.name||`pasted-file`,previewUrl:URL.createObjectURL(e),size:e.size}}function Li(e){return e.split(`,`).map(e=>e.trim().toLowerCase()).filter(Boolean).map(e=>{if(e.startsWith(`.`))return{kind:`ext`,ext:e};let[t=`*`,n=`*`]=e.split(`/`);return{kind:`mime`,type:t,subtype:n}})}function Ri(e,t){if(t.length===0)return!0;let[n=`*`,r=`*`]=(e.type||``).toLowerCase().split(`/`),i=(e.name||``).toLowerCase();return t.some(e=>e.kind===`ext`?i.endsWith(e.ext):(e.type===`*`||e.type===n)&&(e.subtype===`*`||e.subtype===r))}const zi=y.cssPrefix;function Bi({attachment:e,onRemove:t}){let n=e.mediaType.startsWith(`image/`);return g(`span`,{class:`${zi}-attachment-chip`,title:e.name,"data-testid":di(q.attachmentChip,e.id),children:[n?h(`img`,{class:`${zi}-attachment-thumb`,src:e.previewUrl,alt:``}):h(`span`,{class:`${zi}-attachment-thumb`,"aria-hidden":`true`,children:h(Lr,{})}),h(`span`,{class:`${zi}-attachment-name`,children:e.name}),h(`button`,{type:`button`,class:`${zi}-attachment-remove`,onClick:t,"aria-label":`Remove ${e.name}`,"data-testid":di(q.attachmentRemove,e.id),children:h(fr,{})})]})}const Vi={isSupported:!1,start:()=>void 0,stop:()=>void 0};function Hi(e,t,n){return e===`disabled`?Vi:e===`server`?Ki(n):Ui(t)}function Ui(e){let t=Wi();if(!t)return Vi;let n=null;return{isSupported:!0,start(r,i){n=new t,n.continuous=!0,n.interimResults=!0,n.lang=e,n.addEventListener(`result`,e=>{let t=e,n=``,i=!1;for(let e=t.resultIndex;e<t.results.length;e++){let r=t.results[e];r&&(n+=r[0].transcript,r.isFinal&&(i=!0))}r(n,i)});let a=()=>{n=null,i()};n.addEventListener(`end`,a),n.addEventListener(`error`,a),n.start()},stop(){n?.stop()}}}function Wi(){return window.SpeechRecognition??window.webkitSpeechRecognition}const Gi=[`audio/webm;codecs=opus`,`audio/webm`,`audio/ogg;codecs=opus`,`audio/mp4`];function Ki(e){if(typeof MediaRecorder>`u`||!navigator?.mediaDevices?.getUserMedia)return Vi;let t=null,n=null,r=[],i=()=>{for(let e of n?.getTracks()??[])e.stop();n=null};return{isSupported:!0,async start(a,o){try{n=await navigator.mediaDevices.getUserMedia({audio:!0});let s=qi();t=new MediaRecorder(n,s?{mimeType:s}:void 0),r=[],t.addEventListener(`dataavailable`,e=>{e.data.size>0&&r.push(e.data)}),t.addEventListener(`stop`,async()=>{let n=t?.mimeType??`audio/webm`;i();let s=new Blob(r,{type:n});r=[];try{let{text:t}=await e(s,n);t&&a(t,!0)}catch{}finally{o()}}),t.start()}catch{i(),o()}},stop(){t?.stop()}}}function qi(){for(let e of Gi)if(MediaRecorder.isTypeSupported(e))return e}const Ji=y.cssPrefix,Yi=P.scope(`composer`);function Xi(e){return e.reduce((e,t)=>e+t.size,0)}const Zi={arrowUp:hr,paperPlane:mr,send:gr,chevron:_r};function Qi({options:e,transport:t,feedback:n,bus:r,isStreaming:a,operatorRequestEnabled:o,controlMode:l,onRequestOperator:u,onSend:d,onStop:f,attachApiRef:p}){let m=e.strings,[_,v]=c(``),[y,b]=c([]),[x,S]=c(!1),C=s(null),w=s(null),T=e.features.fileUpload,E=e.features.voice,[D,O]=c(()=>Hi(E,e.locale,(e,n)=>t.transcribe(e,n)));i(()=>{x||E===`disabled`||O(Hi(E,e.locale,(e,n)=>t.transcribe(e,n)))},[e.locale,E,t,x]),i(()=>{let e=C.current;if(!e)return;let t=e.getRootNode(),n=`activeElement`in t?t.activeElement:null;n&&e.closest(`.${Ji}-panel`)?.contains(n)||e.focus({preventScroll:!0})},[]),i(()=>{let e=C.current;if(!e)return;if(_.length===0){e.style.height=``;return}e.style.height=`auto`;let t=parseFloat(getComputedStyle(e).fontSize)*.7,n=Math.min(e.scrollHeight,160);e.style.height=`${n<40+t?40:n}px`},[_]);let k=s(y);k.current=y,i(()=>()=>k.current.forEach(Mi),[]),i(()=>{if(p)return p.current={attachFromDrop:t=>{let n=ji(t,k.current,e.attachments);n.accepted.length!==0&&(Yi.info(`attach (drop)`,{count:n.accepted.length,totalBytes:Xi(n.accepted)}),r.emit(`attach`,{count:n.accepted.length,totalBytes:Xi(n.accepted)}),b(e=>[...e,...n.accepted]))},fill:e=>{v(e);let t=C.current;t&&(t.focus({preventScroll:!0}),requestAnimationFrame(()=>t.setSelectionRange(t.value.length,t.value.length)))}},()=>{p.current&&(p.current=null)}},[p,e.attachments]),i(()=>{let t=C.current;if(!t)return;let n=t.closest(`.${Ji}-panel`);if(!n)return;let i=n=>{let i=n.clipboardData;if(!i)return;let a=n.target?.closest?.(`input, textarea, [contenteditable]:not([contenteditable='false'])`);if(a&&a!==t)return;if(T){let t=ji(i.items,k.current,e.attachments);if(t.accepted.length>0){n.preventDefault(),Yi.info(`attach (paste)`,{count:t.accepted.length,totalBytes:Xi(t.accepted)}),r.emit(`attach`,{count:t.accepted.length,totalBytes:Xi(t.accepted)}),b(e=>[...e,...t.accepted]);return}}if(a===t)return;let o=i.getData(`text/plain`);o&&(n.preventDefault(),v(e=>e+o),t.focus())};return n.addEventListener(`paste`,i),()=>n.removeEventListener(`paste`,i)},[T,e.attachments,Ji]);let A=()=>{let e=_.trim();!e&&y.length===0||a||(d(e,y),v(``),b([]))},j=e=>{e.key!==`Enter`||e.shiftKey||e.isComposing||(e.preventDefault(),a?f():A())},ee=t=>{let n=t.target,i=ji(n.files,y,e.attachments);i.accepted.length>0&&(Yi.info(`attach (file picker)`,{count:i.accepted.length,totalBytes:Xi(i.accepted)}),r.emit(`attach`,{count:i.accepted.length,totalBytes:Xi(i.accepted)}),b(e=>[...e,...i.accepted])),n.value=``},te=e=>{Yi.info(`removeAttachment`,{id:e}),r.emit(`removeAttachment`,{id:e}),b(t=>{let n=t.find(t=>t.id===e);return n&&Mi(n),t.filter(t=>t.id!==e)})},M=s(null),N=()=>{if(D.isSupported){if(x){let e=M.current?Date.now()-M.current:0;Yi.info(`voiceStop`,{durationMs:e}),r.emit(`voiceStop`,{durationMs:e}),D.stop(),S(!1),n.play(`voiceStop`),M.current=null;return}M.current=Date.now(),Yi.info(`voiceStart`),r.emit(`voiceStart`,void 0),S(!0),n.play(`voiceStart`),D.start((e,t)=>v(n=>t?`${n}${e} `:n),()=>{if(S(!1),M.current){let e=Date.now()-M.current;Yi.debug(`voiceStop (auto)`,{durationMs:e}),r.emit(`voiceStop`,{durationMs:e}),M.current=null}})}},ne=Zi[e.composer.sendButton.icon];return g(`div`,{class:`${Ji}-composer`,"data-testid":q.composer,children:[y.length>0?h(`div`,{class:`${Ji}-attachments`,children:y.map(e=>h(Bi,{attachment:e,onRemove:()=>te(e.id)},e.id))}):null,g(`div`,{class:`${Ji}-composer-row`,children:[g(`div`,{class:`${Ji}-composer-actions`,children:[T?h(`button`,{type:`button`,class:`${Ji}-icon-btn`,onClick:()=>w.current?.click(),"aria-label":m.attach,"data-testid":q.composerAttach,children:h(yr,{})}):null,D.isSupported?h(`button`,{type:`button`,class:`${Ji}-icon-btn`,onClick:N,"aria-label":x?m.micStop:m.micStart,"aria-pressed":x,"data-recording":x?`true`:void 0,"data-testid":q.composerVoice,children:h(br,{})}):null,o&&l===`ai-agent`&&u?h(`button`,{type:`button`,class:`${Ji}-icon-btn`,onClick:u,"aria-label":m.talkToOperator,title:m.talkToOperator,"data-testid":q.operatorRequest,children:h(Ur,{})}):null]}),h(`textarea`,{ref:C,class:`${Ji}-textarea`,rows:1,value:_,placeholder:m.composerPlaceholder,onInput:e=>v(e.target.value),onKeyDown:j,"aria-label":m.composerPlaceholder,"data-testid":q.composerInput}),a?h(`button`,{type:`button`,class:`${Ji}-send`,onClick:f,"aria-label":m.stop,"data-testid":q.composerStop,children:h(vr,{})}):h(`button`,{type:`button`,class:`${Ji}-send`,"data-shape":e.composer.sendButton.shape,"data-variant":e.composer.sendButton.variant,onClick:A,disabled:!_.trim()&&y.length===0,"aria-label":m.send,"data-testid":q.composerSend,children:h(ne,{})})]}),h(`input`,{ref:w,type:`file`,multiple:!0,accept:e.attachments.accept,onChange:ee,class:`${Ji}-sr-only`,"data-testid":q.composerFileInput})]})}const $i=y.cssPrefix;function ea({visible:e,strings:t}){return e?h(`div`,{class:`${$i}-dropzone`,role:`status`,"aria-live":`polite`,children:t.dropZone}):null}function ta({containerRef:e,onDrop:t}){let[n,r]=c(!1);return i(()=>{let n=e.current;if(!n)return;let i=0,a=e=>{i+=1,e.dataTransfer?.types.includes(`Files`)&&(e.preventDefault(),r(!0))},o=()=>{--i,!(i>0)&&(i=0,r(!1))},s=e=>{e.dataTransfer?.types.includes(`Files`)&&e.preventDefault()},c=e=>{i=0,r(!1),e.dataTransfer&&(e.preventDefault(),t(e.dataTransfer.items))};return n.addEventListener(`dragenter`,a),n.addEventListener(`dragleave`,o),n.addEventListener(`dragover`,s),n.addEventListener(`drop`,c),()=>{n.removeEventListener(`dragenter`,a),n.removeEventListener(`dragleave`,o),n.removeEventListener(`dragover`,s),n.removeEventListener(`drop`,c)}},[e,t]),{visible:n}}function na({itemCount:e,initialFocusIndex:t}){let[n,a]=c(!1),o=s(null),l=s(null),[u,d]=c(-1),f=r(()=>{a(!1),d(-1),o.current?.focus()},[]),p=r(()=>a(e=>!e),[]);return i(()=>{if(!n)return;let e=e=>{let t=l.current,n=o.current;if(!t||!n)return;let r=e.composedPath();r.includes(t)||r.includes(n)||(a(!1),d(-1))};return document.addEventListener(`click`,e,!0),()=>document.removeEventListener(`click`,e,!0)},[n]),i(()=>{if(!n||e===0)return;let r=t?.()??0;d(r<0||r>=e?0:r)},[n,e,t]),i(()=>{!n||u<0||(l.current?.querySelectorAll(`[role='menuitem']`))?.[u]?.focus()},[n,u]),{open:n,focusIndex:u,triggerRef:o,menuRef:l,toggle:p,close:f,onTriggerKey:r(e=>{(e.key===`ArrowDown`||e.key===`Enter`||e.key===` `)&&(e.preventDefault(),a(!0))},[]),onMenuKey:r(t=>{if(e!==0)switch(t.key){case`Escape`:t.preventDefault(),f();return;case`ArrowDown`:t.preventDefault(),d(t=>(t+1)%e);return;case`ArrowUp`:t.preventDefault(),d(t=>(t-1+e)%e);return;case`Home`:t.preventDefault(),d(0);return;case`End`:t.preventDefault(),d(e-1)}},[e,f])}}function ra({items:e,triggerLabel:t}){let n=y.cssPrefix,r=na({itemCount:e.length}),i=e=>{e.disabled||(e.onSelect?.(),e.keepOpen||r.close())},a=(e,t)=>e.onSelectValue?.(t),o=(e,t)=>{let n=t.segments;if(!n?.length)return;let r=Math.max(0,n.findIndex(e=>e.value===t.value)),i=-1;if(e.key===`ArrowRight`||e.key===`Enter`||e.key===` `)i=(r+1)%n.length;else if(e.key===`ArrowLeft`)i=(r-1+n.length)%n.length;else return;e.preventDefault(),e.stopPropagation(),a(t,n[i].value)};return g(`div`,{class:`${n}-menu-wrap`,children:[h(`button`,{ref:r.triggerRef,type:`button`,class:`${n}-icon-btn`,"aria-label":t,"aria-haspopup":`menu`,"aria-expanded":r.open,title:t,onClick:r.toggle,onKeyDown:r.onTriggerKey,children:h(Er,{})}),r.open?h(`div`,{ref:r.menuRef,class:`${n}-menu`,role:`menu`,"aria-label":t,onKeyDown:r.onMenuKey,tabIndex:-1,children:e.map(e=>e.segments?g(`div`,{role:`menuitem`,class:`${n}-menu-item ${n}-menu-item-segmented`,"aria-label":e.label,tabIndex:-1,onKeyDown:t=>o(t,e),children:[e.icon?h(`span`,{class:`${n}-menu-icon`,children:e.icon}):null,h(`span`,{class:`${n}-menu-label`,children:e.label}),h(`span`,{class:`${n}-segmented`,role:`group`,"aria-label":e.label,children:e.segments.map(t=>{let r=t.value===e.value;return h(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":r,class:`${n}-segment`,"data-on":r?`true`:void 0,lang:t.lang,title:t.value,tabIndex:-1,"data-testid":`${q.langSegment}-${t.value}`,onClick:()=>a(e,t.value),children:t.label},t.value)})})]},e.id):g(`button`,{type:`button`,role:`menuitem`,class:`${n}-menu-item`,"aria-pressed":e.type===`switch`?e.on:void 0,disabled:e.disabled,onClick:()=>i(e),children:[e.icon?h(`span`,{class:`${n}-menu-icon`,children:e.icon}):null,h(`span`,{class:`${n}-menu-label`,children:e.label}),e.type===`switch`&&e.on?h(`span`,{class:`${n}-menu-check`,"aria-hidden":`true`,children:h(jr,{})}):null]},e.id))}):null]})}const ia=y.cssPrefix;function aa(e){let t=typeof matchMedia!=`function`||matchMedia(`(prefers-color-scheme: dark)`).matches;return e===`auto`?t?`light`:`dark`:t?e===`light`?`dark`:`auto`:e===`dark`?`light`:`auto`}const oa={normal:`large`,large:`small`,small:`normal`};function sa(e){return h(e===`light`?Xr:e===`dark`?Zr:Qr,{})}function ca(e){return(e.split(`-`)[0]??e).toUpperCase()}function la({panelProps:e,variant:t}){let{options:n,panelSize:r,feedback:i,onClose:a,onClear:o,onExpand:s,onFullscreen:c,onSoundToggle:l}=e,{onToggleHistory:u,onLocaleChange:d,onThemeChange:p,onTextSizeChange:m}=e,_=n.strings,v=n.mode,y=t===`chat`,b=f(()=>i.mutedSig.value).value,x=new Set(n.actions),S=e=>x.has(e),C=typeof matchMedia==`function`&&matchMedia(`(max-width: 640px)`).matches,w=e=>!C&&Ci(e,v,r),T=n.themeMode,E={auto:_.themeAuto,light:_.themeLight,dark:_.themeDark},D=n.textSize,O={small:_.textSizeSmall,normal:_.textSizeNormal,large:_.textSizeLarge},k=[];if(y&&S(`clear`)&&k.push({id:`clear`,icon:h(Fr,{}),label:_.newConversation,onSelect:o}),S(`expand`)&&w(`expand`)){let e=r===`expanded`;k.push({id:`expand`,icon:h(e?Sr:xr,{}),label:e?_.collapse:_.expand,type:`switch`,on:e,onSelect:s})}if(S(`fullscreen`)&&w(`fullscreen`)){let e=r===`fullscreen`;k.push({id:`fullscreen`,icon:h(e?wr:Cr,{}),label:e?_.exitFullscreen:_.fullscreen,type:`switch`,on:e,onSelect:c})}y&&S(`sound`)&&k.push({id:`sound`,icon:h(b?Or:Dr,{}),label:b?_.soundOff:_.soundOn,type:`switch`,on:!b,onSelect:l}),S(`theme`)&&k.push({id:`theme`,icon:sa(T),label:`${_.theme}: ${E[T]}`,onSelect:()=>p(aa(T)),keepOpen:!0}),S(`textSize`)&&k.push({id:`textSize`,icon:h(kr,{}),label:`${_.textSize}: ${O[D]}`,onSelect:()=>m(oa[D]),keepOpen:!0}),S(`language`)&&n.availableLocales.length>1&&k.push({id:`language`,icon:h(Nr,{}),label:_.language,segments:n.availableLocales.map(e=>({value:e,label:ca(e),lang:e})),value:n.locale,onSelectValue:d});let A=!!a&&wi(v,r,n.actions),j=y&&S(`history`);return g(`div`,{class:`${ia}-header-actions`,children:[j?h(`button`,{type:`button`,class:`${ia}-icon-btn`,onClick:u,"aria-label":_.history,title:_.history,"data-testid":q.actionHistory,children:h(Mr,{})}):null,k.length>0?h(ra,{items:k,triggerLabel:_.moreActions}):null,A?h(`button`,{type:`button`,class:`${ia}-icon-btn`,onClick:a,"aria-label":_.close,title:_.close,"data-testid":q.actionClose,children:h(fr,{})}):null]})}const ua=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,da=/^https?:\/\/[^\s.]+\.[^\s]+$/i,fa=/^[+]?[\d\s().-]{6,}$/;function pa(e,t){return e.replace(/\{(\w+)\}/g,(e,n)=>String(t[n]??`{${n}}`))}function ma(e){return Array.isArray(e)?e.length:e&&e.trim()?1:0}function ha(e,t,n){let r=e.required??!0,i=e.validation;if(e.type===`multiselect`){let e=ma(t);return r&&e===0?n.formRequired:e===0?void 0:i?.minSelections!=null&&e<i.minSelections?pa(n.formChooseAtLeast,{min:i.minSelections}):i?.maxSelections!=null&&e>i.maxSelections?pa(n.formChooseAtMost,{max:i.maxSelections}):void 0}let a=typeof t==`string`?t.trim():``;if(!a)return r?n.formRequired:void 0;switch(e.type){case`email`:if(!ua.test(a))return n.formInvalidEmail;break;case`url`:if(!da.test(a))return n.formInvalidUrl;break;case`tel`:if(!fa.test(a))return n.formInvalidTel;break;case`number`:{let e=Number(a);if(!Number.isFinite(e))return n.formInvalidNumber;if(i?.min!=null&&e<i.min)return pa(n.formNumberTooSmall,{min:i.min});if(i?.max!=null&&e>i.max)return pa(n.formNumberTooLarge,{max:i.max});break}default:break}if(i?.minLength!=null&&a.length<i.minLength)return pa(n.formTooShort,{min:i.minLength});if(i?.maxLength!=null&&a.length>i.maxLength)return pa(n.formTooLong,{max:i.maxLength});if(i?.pattern)try{if(!new RegExp(i.pattern).test(a))return n.formPatternMismatch}catch{}}function ga(e,t,n){let r={};for(let i of e){let e=ha(i,t[i.name],n);e&&(r[i.name]=e)}return r}function _a(e){let t={};for(let[n,r]of Object.entries(e)){let e=Array.isArray(r)?r.join(`, `):r;e&&e.trim()&&(t[n]=e.trim())}return t}const J=y.cssPrefix,va=`__other__`;function ya({fields:e,strings:t,submitLabel:n,onSubmit:r,skipLabel:i,onSkip:a,footerHint:o,submitOnEnter:s,disabled:l,initialValues:u,hideActions:d,fieldTypeLabels:f,rootTestId:p,submitTestId:m,skipTestId:_}){let[v,y]=c(()=>({...Ca(e),...u})),[b,x]=c({}),[S,C]=c({}),w=e=>{S[e]&&C(t=>({...t,[e]:``}))},T=(e,t)=>{y(n=>({...n,[e]:t})),w(e)},E=(e,t)=>{x(n=>({...n,[e]:t})),w(e)},D=n=>{if(n.preventDefault(),l)return;let i=wa(e,v,b),a=ga(e,i,t);if(Object.keys(a).length>0){C(a);return}r(_a(i))};return g(`form`,{class:`${J}-form`,onSubmit:D,onKeyDown:e=>{!s||e.key!==`Enter`||e.shiftKey||e.isComposing||e.target?.tagName===`TEXTAREA`&&D(e)},"data-testid":p,noValidate:!0,children:[e.map(e=>h(ba,{field:e,value:v[e.name],otherText:b[e.name]??``,error:S[e.name],disabled:l,typeLabel:f?.[e.name],strings:t,onChange:t=>T(e.name,t),onOtherChange:t=>E(e.name,t)},e.name)),d?null:g(`div`,{class:`${J}-form-actions`,children:[o?h(`span`,{class:`${J}-form-hint`,children:o}):null,i&&a?h(`button`,{type:`button`,class:`${J}-form-skip`,onClick:a,disabled:l,"data-testid":_,children:i}):null,h(`button`,{type:`submit`,class:`${J}-form-submit`,disabled:l,"data-testid":m,children:n})]})]})}function ba({field:e,value:t,otherText:n,error:r,disabled:i,typeLabel:a,strings:o,onChange:s,onOtherChange:c}){let l=xa({field:e,value:t,otherText:n,disabled:i,strings:o,onChange:s,onOtherChange:c,fieldTid:di(q.formField,e.name)});return g(`label`,{class:`${J}-field`,"data-field":e.name,"data-invalid":r?`true`:void 0,children:[g(`span`,{class:`${J}-field-head`,children:[g(`span`,{class:`${J}-field-label`,children:[e.label,e.required??!0?h(`span`,{class:`${J}-field-req`,"aria-hidden":`true`,children:` *`}):null]}),a?h(`span`,{class:`${J}-field-type`,children:a}):null]}),l,e.validationHint&&!r?h(`span`,{class:`${J}-field-hint`,children:e.validationHint}):null,r?h(`span`,{class:`${J}-field-error`,role:`alert`,children:r}):null]})}function xa(e){let{field:t,value:n,otherText:r,disabled:i,strings:a,onChange:o,onOtherChange:s,fieldTid:c}=e,l=typeof n==`string`?n:``;switch(t.type){case`textarea`:return h(`textarea`,{class:`${J}-field-input`,rows:3,value:l,placeholder:t.placeholder,disabled:i,onInput:e=>o(e.target.value),"data-testid":c});case`select`:return g(`select`,{class:`${J}-field-input`,value:l,disabled:i,onChange:e=>o(e.target.value),"data-testid":c,children:[h(`option`,{value:``,children:t.placeholder??`—`}),(t.options??[]).map(e=>h(`option`,{value:e.value,children:e.label??e.value},e.value))]});case`radio`:{let e=t.allowOther&&l===va;return g(`div`,{class:`${J}-field-choices`,role:`radiogroup`,"data-testid":c,children:[(t.options??[]).map(e=>g(`label`,{class:`${J}-choice`,children:[h(`input`,{type:`radio`,name:`${J}-${t.name}`,checked:l===e.value,disabled:i,onChange:()=>o(e.value)}),h(`span`,{children:e.label??e.value})]},e.value)),t.allowOther?g(`label`,{class:`${J}-choice`,children:[h(`input`,{type:`radio`,name:`${J}-${t.name}`,checked:l===va,disabled:i,onChange:()=>o(va)}),h(`span`,{children:a.formOther})]}):null,e?h(`input`,{class:`${J}-field-input`,value:r,placeholder:t.placeholder??a.formOtherPlaceholder,disabled:i,onInput:e=>s(e.target.value)}):null]})}case`checkbox`:return g(`label`,{class:`${J}-choice`,children:[h(`input`,{type:`checkbox`,checked:l===`true`,disabled:i,onChange:e=>o(e.target.checked?`true`:``),"data-testid":c}),h(`span`,{children:t.placeholder??t.label})]});case`multiselect`:{let e=Array.isArray(n)?n:[],l=(t,n)=>o(n?[...e,t]:e.filter(e=>e!==t));return g(`div`,{class:`${J}-field-choices`,"data-testid":c,children:[(t.options??[]).map(t=>g(`label`,{class:`${J}-choice`,children:[h(`input`,{type:`checkbox`,checked:e.includes(t.value),disabled:i,onChange:e=>l(t.value,e.target.checked)}),h(`span`,{children:t.label??t.value})]},t.value)),t.allowOther||(t.options??[]).length===0?h(`textarea`,{class:`${J}-field-input`,rows:2,value:r,placeholder:t.placeholder??a.formOtherPlaceholder,disabled:i,onInput:e=>s(e.target.value)}):null]})}default:return h(`input`,{class:`${J}-field-input`,type:Sa(t.type),value:l,placeholder:t.placeholder,disabled:i,onInput:e=>o(e.target.value),"data-testid":c})}}function Sa(e){switch(e){case`number`:case`email`:case`tel`:case`url`:case`date`:case`time`:return e;default:return`text`}}function Ca(e){let t={};for(let n of e)n.defaultValue!=null&&(t[n.name]=n.type===`multiselect`?n.defaultValue.split(`,`).map(e=>e.trim()).filter(Boolean):n.defaultValue);return t}function wa(e,t,n){let r={...t};for(let i of e){let e=n[i.name]?.trim();if(i.type===`radio`&&i.allowOther&&t[i.name]===va)r[i.name]=e??``;else if(i.type===`multiselect`&&e){let n=e.split(/[,\n;]+/).map(e=>e.trim()).filter(Boolean),a=Array.isArray(t[i.name])?t[i.name]:[];r[i.name]=[...a,...n]}}return r}const Ta=y.cssPrefix;function Ea({form:e,strings:t,onSubmit:n,onSkip:r}){return g(`div`,{class:`${Ta}-form-gate`,"data-testid":q.formGate,children:[e.title?h(`h3`,{class:`${Ta}-form-gate-title`,children:e.title}):null,e.description?h(`p`,{class:`${Ta}-form-gate-desc`,children:e.description}):null,h(ya,{fields:e.fields,strings:t,submitLabel:e.submitLabel??t.formSubmit,onSubmit:n,skipLabel:e.skippable?t.formSkip:void 0,onSkip:e.skippable?r:void 0,submitTestId:q.formSubmit,skipTestId:q.formSkip})]})}function Da({marker:e,strings:t,onFill:n}){let r=e.outcome===`skipped`,i=r?t.formSkipped:t.formSubmitted,a=e.title?g(m,{children:[h(`span`,{children:e.title}),h(`span`,{class:`${Ta}-sr-only`,children:i})]}):h(`span`,{children:i}),o=e.form?.reviewable??!1,s=!r&&o&&e.values&&Object.keys(e.values).length>0?e.values:null;if(s){let t=t=>e.form?.fields.find(e=>e.name===t)?.label??t;return g(`details`,{class:`${Ta}-form-done`,"data-outcome":e.outcome,"data-testid":q.formDone,children:[g(`summary`,{class:`${Ta}-form-done-summary`,"data-testid":q.formDoneToggle,children:[h(jr,{}),a,h(_r,{})]}),h(`dl`,{class:`${Ta}-form-answers`,"data-testid":q.formAnswers,children:Object.entries(s).map(([e,n])=>g(`div`,{class:`${Ta}-form-answer`,children:[h(`dt`,{children:t(e)}),h(`dd`,{children:n})]},e))})]})}return g(`div`,{class:`${Ta}-form-done`,"data-outcome":e.outcome,"data-testid":q.formDone,role:`status`,children:[h(r?Ar:jr,{}),a,r&&e.form?.reopenable&&n?h(`button`,{type:`button`,class:`${Ta}-form-done-fill`,"data-testid":q.formFill,onClick:n,children:t.formFillOut}):null]})}function Oa(e){if(!e)return!1;let t=e.startsWith(`tool:`)?e.slice(5):e;return t===`ask-user-questions`||t===`ask_user_questions`}const ka=y.cssPrefix;function Aa(e){return e.startsWith(`tool:`)||e.startsWith(`tool-`)?e.slice(5):e}function ja(e,t){let n=e===`output-available`||e===`output-error`||e===`output-denied`,r=e===`approval-responded`||t?.approved!==void 0;return{terminal:n,responded:r,decided:n||r}}function Ma({status:e,icon:t,label:n}){return g(`span`,{class:`${ka}-toolui-badge ${ka}-toolui-status`,"data-status":e,children:[h(`span`,{class:`${ka}-toolui-status-icon`,children:t}),n]})}function Na(e,t){return e===`output-error`?`error`:e===`output-denied`||t?.approved===!1?`denied`:e===`output-available`?`completed`:e===`approval-responded`||t?.approved===!0?`responded`:e===`approval-requested`?`awaiting`:`running`}function Pa(e,t,n={}){return n.submitted?`responded`:La(Na(e,t),n.superseded,n.live??!0)}function Fa({status:e}){return h(e===`denied`||e===`error`||e===`superseded`?li:e===`completed`||e===`responded`?ci:si,{})}function Ia(e,t){switch(e){case`awaiting`:return t.statusAwaiting;case`responded`:return t.statusResponded;case`completed`:return t.statusCompleted;case`denied`:return t.statusDenied;case`error`:return t.statusError;case`superseded`:return t.statusSuperseded;default:return t.statusRunning}}function La(e,t,n){return t&&(e===`awaiting`||e===`running`)?`superseded`:!n&&e===`running`?`error`:e}function Ra({state:e,approval:t,strings:n,superseded:r,live:i=!0,submitted:a=!1}){let o=Pa(e,t,{superseded:r,live:i,submitted:a});return h(Ma,{status:o,icon:h(Fa,{status:o}),label:Ia(o,n)})}function za({name:e,state:t,approval:n,strings:r,superseded:i,live:a,submitted:o}){return g(m,{children:[g(`span`,{class:`${ka}-toolui-name-pill`,children:[h(oi,{}),h(`span`,{class:`${ka}-toolui-name-text`,children:e})]}),h(Ra,{state:t,approval:n,strings:r,superseded:i,live:a,submitted:o}),h(`span`,{class:`${ka}-toolui-chevron`,children:h(Ir,{})})]})}function Ba({part:e,strings:t,testid:n,superseded:r,live:i,submitted:a}){let o=f(()=>e.inputSig.value),s=f(()=>e.outputSig.value),c=f(()=>e.errorSig.value),l=f(()=>e.stateSig.value),u=f(()=>e.approvalSig.value);return g(`details`,{class:`${ka}-toolui ${ka}-toolui-collapsible`,"data-testid":n,children:[h(`summary`,{class:`${ka}-toolui-head`,children:h(za,{name:Aa(e.toolName),state:l.value,approval:u.value,strings:t,superseded:r,live:i,submitted:a})}),h(Va,{label:t.toolParameters,value:o.value}),s.value===void 0?null:h(Va,{label:t.toolResult,value:s.value}),c.value?h(Va,{label:t.statusError,value:c.value,error:!0}):null]})}function Va({label:e,value:t,error:n}){let r=n?String(t??``):Ua(Ha(t));return r?g(`div`,{class:`${ka}-toolui-section`,children:[h(`span`,{class:`${ka}-toolui-label`,children:e}),h(`pre`,{class:`${ka}-toolui-code`,"data-error":n?`true`:void 0,children:r})]}):null}function Ha(e){if(e&&typeof e==`object`){let t=e;if(t.storage===`tool-result-ref`&&`summary`in t)return t.summary}return e}function Ua(e){if(e==null)return``;try{let t=typeof e==`string`?e:JSON.stringify(e,null,2);return!t||t===`{}`||t===`[]`||t===`""`?``:t.length>800?`${t.slice(0,800)}…`:t}catch{return``}}function Wa(e){return e.partsSig.value.some(e=>e.kind===`text`&&e.textSig.value.length>0)}function Ga(e){return e.partsSig.value.some(e=>e.kind===`reasoning`)}function Ka(e){return e.streaming&&!e.bufferedHold&&!(e.reasoningVisible&&e.working)}function qa(e){let{streaming:t,reasoningVisible:n,emptyReply:r,hidden:i}=e,a=e.responseMode===`buffered`&&t,o=t&&!e.hasAnswerText;return{streaming:t,bufferedHold:a,reasoningVisible:n,working:o,showStreamDots:Ka({streaming:t,bufferedHold:a,reasoningVisible:n,working:o}),emptyReply:r,hidden:i}}function Ja(e,t){let n=e.stateSig.value,r=e.approvalSig.value,{terminal:i,responded:a,decided:o}=ja(n,r),s=t.continuationStreaming===!0&&!o,c=t.superseded&&!o&&!s;return{pill:Pa(n,r,{superseded:c,live:t.live,submitted:s}),state:n,terminal:i,decided:o||s,showApproveReject:!o&&!t.superseded&&!s,showAnswered:a&&!i&&!c,showSubmitted:s,showEdit:a&&t.active&&!i,skipped:c,answeredApproved:r?.approved}}function Ya({textSig:e,doneSig:t}){let n=s(null);return a(()=>{let r=n.current;if(!r)return;r.classList.add(`${y.cssPrefix}-md`);let i=v.default_renderer(r),a=v.parser(i),o=0,s=u(()=>{let n=e.value,s=t.value;n.length<o&&(r.replaceChildren(),i=v.default_renderer(r),a=v.parser(i),o=0);let c=n.slice(o);c&&v.parser_write(a,c),o=n.length,s&&v.parser_end(a)}),c=new MutationObserver(e=>{for(let t of e)for(let e of t.addedNodes){if(!(e instanceof HTMLElement))continue;let t=e.matches?.(`a`)?[e]:[...e.querySelectorAll?.(`a`)??[]];for(let e of t)Za(e)}});c.observe(r,{childList:!0,subtree:!0});for(let e of r.querySelectorAll(`a`))Za(e);let l=e=>{let t=e.target?.closest?.(`a`);if(!t||!(t instanceof HTMLAnchorElement))return;let n=t.getAttribute(`href`)??``;!n||n.startsWith(`#`)||(e.preventDefault(),window.open(n,`_blank`,`noopener,noreferrer`))};return r.addEventListener(`click`,l),()=>{s(),c.disconnect(),r.removeEventListener(`click`,l)}},[e,t]),h(`div`,{ref:n})}function Xa({text:e}){return h(Ya,{textSig:o(()=>d(e),[e]),doneSig:o(()=>d(!0),[])})}function Za(e){let t=e.getAttribute(`href`)??``;if(!t||t.startsWith(`#`))return;e.target!==`_blank`&&(e.target=`_blank`);let n=new Set((e.rel||``).split(/\s+/).filter(Boolean));n.add(`noopener`),n.add(`noreferrer`),e.rel=[...n].join(` `)}const Qa=y.cssPrefix;function $a({messageId:e,initial:t,strings:n,onFeedback:r}){let[i,a]=c(t),o=t=>{let n=i===t?null:t;a(n),r(e,n)};return g(`div`,{class:`${Qa}-feedback`,role:`group`,"data-testid":q.messageFeedback,children:[h(`button`,{type:`button`,class:`${Qa}-msg-action`,"data-active":i===`up`?`true`:void 0,"aria-pressed":i===`up`,"aria-label":n.feedbackUp,title:n.feedbackUp,onClick:()=>o(`up`),"data-testid":q.feedbackUp,children:h(ii,{})}),h(`button`,{type:`button`,class:`${Qa}-msg-action`,"data-active":i===`down`?`true`:void 0,"aria-pressed":i===`down`,"aria-label":n.feedbackDown,title:n.feedbackDown,onClick:()=>o(`down`),"data-testid":q.feedbackDown,children:h(ai,{})}),h(`span`,{class:`${Qa}-sr-only`,role:`status`,"aria-live":`polite`,children:i?n.feedbackThanks:``})]})}const eo=y.cssPrefix;function to({part:e,strings:t}){let n=e.title||e.filename||e.url||t.sources;return e.url?g(`a`,{class:`${eo}-source`,href:e.url,target:`_blank`,rel:`noreferrer noopener`,"data-testid":q.source,children:[h(`span`,{class:`${eo}-source-icon`,"aria-hidden":`true`,children:`🔗`}),h(`span`,{class:`${eo}-source-label`,children:n})]}):g(`span`,{class:`${eo}-source`,"data-testid":q.source,children:[h(`span`,{class:`${eo}-source-icon`,"aria-hidden":`true`,children:`📄`}),h(`span`,{class:`${eo}-source-label`,children:n})]})}const no=y.cssPrefix;function ro({part:e,strings:t,active:n,superseded:r=!1,continuationStreaming:i=!1,onDecision:a,onEdit:o}){let s=f(()=>e.approvalSig.value),c=f(()=>Ja(e,{active:n,superseded:r,continuationStreaming:i})).value,{terminal:l,showApproveReject:u,showAnswered:d,showSubmitted:p,showEdit:_,skipped:v}=c,y=Aa(e.toolName),b=c.answeredApproved,x=e.toolCallId,S=g(m,{children:[h(`p`,{class:`${no}-toolui-prompt`,children:t.approvalPrompt.replace(`{tool}`,y)}),h(`p`,{class:`${no}-toolui-subtle`,children:t.approvalBody})]});p?S=h(`p`,{class:`${no}-toolui-subtle`,children:t.approvalSubmitting}):d&&b!==!1?S=g(m,{children:[g(`p`,{class:`${no}-toolui-prompt`,children:[t.approvalYourResponse.replace(`{decision}`,b?t.approve:t.reject),s.value?.reason?` — ${s.value.reason}`:``]}),_?h(`p`,{class:`${no}-toolui-subtle`,children:t.approvalEditHint}):null,_?null:h(`p`,{class:`${no}-toolui-subtle`,children:t.approvalSubmitting})]}):d&&(S=h(m,{}));let C=u||p||_||d&&b!==!1;return g(`div`,{class:`${no}-toolui-group`,"data-testid":c.decided?q.toolDecision:q.toolApproval,children:[h(Ba,{part:e,strings:t,superseded:v,submitted:p}),v||l||!C?null:g(`div`,{class:`${no}-toolui ${no}-toolui-body`,children:[S,u?g(`div`,{class:`${no}-toolui-actions`,children:[h(`button`,{type:`button`,class:`${no}-form-skip`,disabled:!n,onClick:()=>a(x,!1),"data-testid":q.toolReject,children:t.reject}),h(`button`,{type:`button`,class:`${no}-form-submit`,disabled:!n,onClick:()=>a(x,!0),"data-testid":q.toolApprove,children:t.approve})]}):null,_?h(`div`,{class:`${no}-toolui-actions`,children:h(`button`,{type:`button`,class:`${no}-form-skip`,onClick:()=>o(x),"data-testid":q.toolEdit,children:t.edit})}):null]})]})}const io=new Set([`text`,`email`,`phone`,`number`,`date`,`single-select`,`multi-select`,`boolean`]);function ao(e){let t=e&&typeof e==`object`?e:{},n=(Array.isArray(t.questions)?t.questions:[]).map(oo).filter(e=>e!==null);return{intro:lo(t.intro),questions:n}}function oo(e,t){if(!e||typeof e!=`object`)return null;let n=e,r=io.has(n.type)?n.type:`text`;return{key:lo(n.key)??`q${t+1}`,question:lo(n.question)??`Please provide the missing information.`,type:r,options:Array.isArray(n.options)?n.options.filter(e=>typeof e==`string`&&e.trim().length>0):void 0,required:typeof n.required==`boolean`?n.required:void 0,helpText:lo(n.helpText)}}function so(e){switch(e){case`text`:return`textarea`;case`phone`:return`tel`;case`single-select`:case`boolean`:return`radio`;case`multi-select`:return`multiselect`;default:return e}}function co(e,t,n){return e.questions.map(e=>{let r=so(e.type),i=e.type===`boolean`?[{value:`yes`,label:t},{value:`no`,label:n}]:(e.options??[]).map(e=>({value:e,label:e}));return{name:e.key,label:e.question,type:r,required:e.required??!1,options:i.length>0?i:void 0,validationHint:e.helpText}})}function lo(e){return typeof e==`string`&&e.trim()?e.trim():void 0}const Y=y.cssPrefix,uo={text:`qtypeText`,email:`qtypeEmail`,phone:`qtypePhone`,number:`qtypeNumber`,date:`qtypeDate`,"single-select":`qtypeChooseOne`,"multi-select":`qtypeChooseAny`,boolean:`qtypeBoolean`};function fo(e,t){let n={};for(let r of e)n[r.key]=t[uo[r.type]];return n}function po({part:e,strings:t,active:n,superseded:r=!1,continuationStreaming:i=!1,onDecision:a,onEdit:o}){let s=f(()=>e.stateSig.value).value,l=f(()=>e.approvalSig.value).value,u=f(()=>ao(e.inputSig.value)).value,{terminal:d,decided:p}=ja(s,l),m=p&&l?.approved===!0,_=i&&!p,v=!p&&!r&&!_,y=!v&&!m&&!_,b=m&&n&&!d,x=u.questions,[S,C]=c(null),w=S??(v||m||_),[T,E]=c(!1),D=x.length>1?dr:Br,O=v?t.inputRequired:t.inputBadge,k=_?h(`p`,{class:`${Y}-toolui-subtle`,children:t.approvalSubmitting}):v?h(mo,{req:u,strings:t,active:n,resolve:(t,n)=>a(e.toolCallId,n,t)}):T?h(ya,{fields:co(u,t.confirmYes,t.confirmNo),strings:t,submitLabel:t.inputSubmit,onSubmit:()=>{},disabled:!0,hideActions:!0,fieldTypeLabels:fo(x,t),initialValues:m?bo(x,l?.reason):void 0}):h(ho,{questions:x,answers:m?yo(l?.reason):{},strings:t}),A=`completed`,j=t.inputAnswered;return y?(A=`superseded`,j=t.inputSkipped):_&&(A=`responded`,j=t.statusResponded),g(`details`,{class:`${Y}-toolui ${Y}-toolui-collapsible${r?` ${Y}-toolui-stale`:``}`,open:w,onToggle:e=>{let t=e.currentTarget.open;t!==w&&C(t)},"data-testid":v?q.toolAskQuestions:q.toolDecision,children:[g(`summary`,{class:`${Y}-toolui-head`,children:[g(`span`,{class:`${Y}-toolui-q-pill`,children:[h(D,{}),O]}),g(`span`,{class:`${Y}-toolui-head-end`,children:[v?null:h(Ma,{status:A,icon:h(y?li:ci,{}),label:j}),h(`span`,{class:`${Y}-toolui-chevron`,children:h(Ir,{})})]})]}),g(`div`,{class:`${Y}-toolui-collapse-body`,children:[u.intro?h(`div`,{class:`${Y}-toolui-desc`,children:u.intro}):null,k,v||_?null:g(`div`,{class:`${Y}-toolui-footer`,children:[g(`button`,{type:`button`,class:`${Y}-toolui-options-toggle`,onClick:()=>E(e=>!e),"data-testid":q.toolAskOptions,children:[h(`span`,{class:`${Y}-toolui-options-chevron${T?` ${Y}-open`:``}`,children:h(Ir,{})}),T?t.hideOptions:t.showOptions]}),b?h(`button`,{type:`button`,class:`${Y}-form-skip`,onClick:()=>o(e.toolCallId),"data-testid":q.toolEdit,children:t.edit}):null]})]})]})}function mo({req:e,strings:t,active:n,resolve:r}){let i=co(e,t.confirmYes,t.confirmNo),a=e.questions.length===1&&e.questions[0]?.type===`text`;return h(ya,{fields:i,strings:t,disabled:!n,submitLabel:t.inputSubmit,footerHint:a?t.inputSubmitHint:void 0,onSubmit:t=>r(_o(e.questions,t),!0),skipLabel:t.inputSkip,onSkip:()=>r(void 0,!1),submitOnEnter:a,fieldTypeLabels:fo(e.questions,t),submitTestId:q.toolInputSubmit,skipTestId:q.toolInputSkip})}function ho({questions:e,answers:t,strings:n}){return h(`div`,{class:`${Y}-toolui-summary`,"data-testid":q.toolAskSummary,children:e.map(e=>g(`div`,{class:`${Y}-field`,children:[h(`span`,{class:`${Y}-field-head`,children:g(`span`,{class:`${Y}-field-label`,children:[e.question,e.required?h(`span`,{class:`${Y}-field-req`,"aria-hidden":`true`,children:` *`}):null]})}),h(`p`,{class:`${Y}-toolui-answer`,children:go(e,t[e.key],n)||`—`})]},e.key))})}function go(e,t,n){return e.type===`boolean`?t===`yes`?n.confirmYes:t===`no`?n.confirmNo:t??``:t??``}function _o(e,t){let n=e.flatMap(e=>{let n=t[e.key];if(n==null||n.trim()===``)return[];let r=e.type===`multi-select`?n.split(`,`).map(e=>e.trim()).filter(Boolean):n;return[{key:e.key,value:r}]});return JSON.stringify({answers:n})}function vo(e){if(!e)return{};let t=(()=>{try{return JSON.parse(e)}catch{return}})()?.answers;if(!Array.isArray(t))return{};let n={};for(let e of t)if(e&&typeof e==`object`&&`key`in e){let{key:t,value:r}=e;if(typeof t!=`string`)continue;typeof r==`string`?n[t]=r:Array.isArray(r)&&(n[t]=r.filter(e=>typeof e==`string`))}return n}function yo(e){let t=vo(e),n={};for(let[e,r]of Object.entries(t))n[e]=Array.isArray(r)?r.join(`, `):r;return n}function bo(e,t){let n=vo(t),r={};for(let t of e){let e=n[t.key];e!==void 0&&(t.type===`multi-select`?r[t.key]=Array.isArray(e)?e:[e]:r[t.key]=Array.isArray(e)?e[0]??``:e)}return r}function xo({part:e,strings:t,live:n}){let r=f(()=>e.inputSig.value),i=f(()=>e.outputSig.value),a=f(()=>e.errorSig.value);return f(()=>!!Ua(r.value)||!!a.value||!!Ua(Ha(i.value))).value?h(Ba,{part:e,strings:t,testid:q.toolCall,live:n}):null}const X=y.cssPrefix,So=_(Co);function Co({message:e,strings:t,responseMode:n,showReasoning:r,showToolCalls:i,showSources:a,interactive:o=!1,superseded:s=!1,tool:c,onRetry:l,enableMessageFeedback:u=!1,onFeedback:d}){let p=f(()=>e.partsSig.value).value,m=f(()=>qn(e)),_=f(()=>Jn(e)),v=f(()=>Wa(e)),y=f(()=>r&&Ga(e)),b=e.role===`assistant`&&e.status===`streaming`,x=qa({streaming:b,responseMode:n,reasoningVisible:y.value,hasAnswerText:v.value,emptyReply:m.value,hidden:_.value}),{bufferedHold:S,working:C,showStreamDots:w}=x;if(x.hidden)return null;let T=To(e.createdAt),E=e.role===`assistant`||e.role===`operator`,D=u&&!!d&&!!e.serverMessageId&&E&&!b&&e.status!==`error`&&!m.value,O=p.filter(e=>e.kind===`text`).map(e=>e.textSig.value).join(`
10
+ `))if(!(r===``||r.startsWith(`:`))){if(r.startsWith(`data:`)){let e=r.slice(5).replace(/^ /,``);t=t?`${t}\n${e}`:e;continue}r.startsWith(`id:`)&&(n=r.slice(3).trim())}if(t===`[DONE]`)return`done`;if(!t)return null;try{let e=JSON.parse(t);return Kt.trace(`chunk`,{type:e.type,eventId:n}),{chunk:e,eventId:n}}catch(e){return Kt.trace(`frame parse failed`,{err:e,payload:t.slice(0,200)}),null}}function Xt(e){let t=new TextEncoder().encode(e),n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}const Zt=e=>e&&Object.keys(e).length>0?e:void 0;function Qt(e,t){let n=Zt(e),r=Zt(t);if(!n&&!r)return;let i={};return n&&(i.user=n),r&&(i.page=r),Xt(JSON.stringify(i))}function $t(e){if(!e)return;let t=Date.parse(e);return Number.isFinite(t)?t:void 0}function en(e){return`tool-${e.startsWith(`tool:`)?e.slice(5):e}`}function tn(e){return e.startsWith(`tool-`)?e.slice(5):e}const nn={handshake:`/pai/handshake`,streamMessage:`/pai/stream-message`,streamResume:`/pai/stream-resume`,cancelStream:`/pai/cancel-stream`,listConversations:`/pai/list-conversations`,listMessages:`/pai/list-messages`,updateSettings:`/pai/update-settings`,markRead:`/pai/mark-read`,messageFeedback:`/pai/message-feedback`,requestOperator:`/pai/request-operator`,cancelOperatorRequest:`/pai/cancel-request-operator`,bootstrap:`/pai/bootstrap`,content:`/pai/content`,submitForm:`/pai/submit-form`};function rn(e){let t=e??{},n=t.controlMode;return{controlMode:n===`awaiting_operator`||n===`operator`?n:`ai-agent`,controlRevision:typeof t.controlRevision==`number`&&Number.isSafeInteger(t.controlRevision)&&t.controlRevision>=0?t.controlRevision:void 0,assignedOperatorInitials:typeof t.assignedOperatorInitials==`string`&&t.assignedOperatorInitials?t.assignedOperatorInitials:void 0,operatorAvailable:typeof t.operatorAvailable==`boolean`?t.operatorAvailable:void 0}}function an(e){let t=e?.suggestions;if(!Array.isArray(t))return[];let n=[];for(let e of t){if(!e||typeof e!=`object`)continue;let{id:t,label:r,text:i}=e;typeof r!=`string`||!r||n.push({id:typeof t==`string`&&t?t:`s${n.length}`,label:r,text:typeof i==`string`&&i?i:r})}return n}function on(e){let t={messages:e.messages.map(e=>({id:e.serverMessageId??e.id,parts:cn(e),role:e.role,createdAt:e.createdAt===void 0?void 0:new Date(e.createdAt).toISOString()})),conversationId:e.conversationId,responseType:`ack`};return e.visitorId&&(t.visitorId=e.visitorId),e.userPrefs&&(t.userPrefs=e.userPrefs),t}function sn(e){return e.state===`output-available`||e.state===`output-error`||e.state===`output-denied`||e.approval?.approved!==void 0}function cn(e){let t=[];for(let n of e.parts)if(n.kind===`step-start`&&t.push({type:`step-start`}),n.kind===`reasoning`&&n.text&&t.push({type:`reasoning`,text:n.text,state:n.done?`done`:`streaming`}),n.kind===`text`&&n.text&&t.push({text:n.text,type:`text`}),n.kind===`file`&&n.url&&t.push({mediaType:n.mediaType,type:`file`,url:n.url}),n.kind===`tool`&&sn(n)){let e=n.dynamic?{type:`dynamic-tool`,toolName:n.toolName,toolCallId:n.toolCallId,state:n.state}:{type:en(n.toolName),toolCallId:n.toolCallId,state:n.state};n.input!==void 0&&(e.input=n.input),n.output!==void 0&&(e.output=n.output),n.error!==void 0&&(e.errorText=n.error),n.approval&&n.approval.approved!==void 0&&(e.approval=n.approval),t.push(e)}for(let n of e.attachments??[])n.url&&t.push({type:`file`,url:n.url,mediaType:n.mediaType,filename:n.name,fileId:n.id,fileSize:n.size});return t}const H=L.scope(`transport`),ln=new Set([408,425,429,500,502,503,504]);function U(e){return 400*2**e+Math.floor(Math.random()*250)}function un(e){return 6e4+Math.ceil(e/1048576)*15e3}function dn(e){let t=e.get(`retry-after`);if(!t)return null;let n=Number(t),r=Number.isFinite(n)?n*1e3:Date.parse(t)-Date.now();return Number.isFinite(r)&&r>=0?Math.min(r,3e4):null}var fn=class{constructor(e){this.ttlMs=e,B(this,`map`,new Map)}getOrFetch(e,t){let n=this.map.get(e);if(n&&Date.now()-n.at<this.ttlMs)return n.result;let r={at:Date.now(),result:t().then(e=>(r.value=e,e)).catch(t=>{throw this.map.delete(e),t})};return this.map.set(e,r),r.result}peek(e){let t=this.map.get(e);if(t?.value!==void 0&&Date.now()-t.at<this.ttlMs)return t.value}clear(){this.map.clear()}},pn=class{constructor(e){this.opts=e,B(this,`visitorId`,void 0),B(this,`conversationId`,void 0),B(this,`userContext`,void 0),B(this,`pageContext`,void 0),B(this,`locale`,void 0),B(this,`conversationsCache`,new fn(1e4)),B(this,`loadConversationInflight`,new Map),B(this,`contentCache`,new fn(6e4))}setContext(e,t){this.userContext=e,this.pageContext=t}setLocale(e){this.locale=e}primeIdentity(e,t){e&&(this.visitorId=e),t&&(this.conversationId=t)}envelope(){let e={_ev:x};this.visitorId&&(e.visitorId=this.visitorId),this.conversationId&&(e.conversationId=this.conversationId),this.locale&&(e.locale=this.locale);let t=Qt(this.userContext,this.pageContext);return t&&(e.context=t),e}withEnvelope(e){return{...this.envelope(),...e}}appendEnvelope(e){for(let[t,n]of Object.entries(this.envelope()))e.append(t,n);return e}withEnvelopeQuery(e){let t=new URL(this.url(e));for(let[e,n]of Object.entries(this.envelope()))t.searchParams.has(e)||t.searchParams.set(e,n);return t.toString()}async handshake(e){H.debug(`handshake →`,{visitorId:e.visitorId,conversationId:e.conversationId,locale:e.locale});let t=await this.postJson(nn.handshake,e,`handshake`);return H.debug(`handshake ←`,{visitorId:t.visitorId,conversationId:t.conversationId,hasWelcome:!!t.welcome,hasConfig:!!t.config,rebind:t.rebind}),gn(t)||H.warn(`handshake response did not match expected shape; using raw response`,{response:t}),this.visitorId=t.visitorId??e.visitorId,this.conversationId=t.conversationId,t}async uploadFile(e,t){H.debug(`uploadFile →`,{name:e.name,size:e.size,type:e.type});let n=new FormData;n.append(`file`,e,e.name);let r=await this.postForm(this.uploadPath,n,`upload`,t,un(e.size));return H.debug(`uploadFile ←`,{id:r.id,url:r.url}),r}async transcribe(e,t=`audio/webm`){H.debug(`transcribe →`,{size:e.size,mimeType:t});let n=new FormData;n.append(`audio`,e,`voice.${mn(t)}`),n.append(`mimeType`,t);let r=await this.postForm(this.transcribePath,n,`transcribe`);return H.debug(`transcribe ←`,{textLen:r.text.length}),r}localeCacheKey(e){return`${this.locale??``}|${JSON.stringify(e,Object.keys(e).toSorted())}`}peekConversations(e={}){return this.conversationsCache.peek(this.localeCacheKey(e))}listConversations(e={}){return this.conversationsCache.getOrFetch(this.localeCacheKey(e),()=>this.fetchConversations(e))}async fetchConversations(e){let t=new URL(this.url(nn.listConversations));e.visitorId&&t.searchParams.set(`visitorId`,e.visitorId),e.limit&&t.searchParams.set(`limit`,String(e.limit)),e.cursor&&t.searchParams.set(`cursor`,e.cursor),H.debug(`listConversations →`,{visitorId:e.visitorId??this.visitorId,limit:e.limit,cursor:e.cursor});let n=await this.getJson(t.toString(),`listConversations`),r=n.conversations??[];return H.debug(`listConversations ←`,{count:r.length,nextCursor:n.nextCursor}),{conversations:r,nextCursor:n.nextCursor}}async loadConversation(e,t=[]){let n=`${e}\0${t.join(`,`)}`,r=this.loadConversationInflight.get(n);if(r)return r;let i=this.loadConversationDirect(e,t).finally(()=>this.loadConversationInflight.delete(n));return this.loadConversationInflight.set(n,i),i}async loadConversationDirect(e,t){let n=new URL(this.url(nn.listMessages));n.searchParams.set(`conversationId`,e),t.length>0&&n.searchParams.set(`ids`,t.join(`,`)),H.debug(`loadConversation →`,{conversationId:e,visitorId:this.visitorId,ids:t.length>0?t:void 0});let r=await this.getJson(n.toString(),`loadConversation`),i=r.messages??[];return H.debug(`loadConversation ←`,{conversationId:r.conversationId,canContinue:r.canContinue,messageCount:i.length,hasSuggestions:!!r.suggestions}),{...r,messages:i,canContinue:r.canContinue??!0}}async markRead(e){if(!(!this.visitorId||!e)){this.conversationsCache.clear(),H.debug(`markRead →`,{conversationId:e,visitorId:this.visitorId});try{await this.postJson(nn.markRead,{conversationId:e},`markRead`)}catch(e){H.debug(`markRead failed (non-fatal)`,{err:e})}}}async requestOperator(){if(!(!this.visitorId||!this.conversationId)){H.debug(`requestOperator →`,{conversationId:this.conversationId,visitorId:this.visitorId});try{return(await this.postJson(nn.requestOperator,{},`requestOperator`)).controlState}catch(e){H.debug(`requestOperator failed (non-fatal)`,{err:e});return}}}async cancelOperatorRequest(){if(!(!this.visitorId||!this.conversationId)){H.debug(`cancelOperatorRequest →`,{conversationId:this.conversationId,visitorId:this.visitorId});try{return(await this.postJson(nn.cancelOperatorRequest,{},`cancelOperatorRequest`)).controlState}catch(e){H.debug(`cancelOperatorRequest failed (non-fatal)`,{err:e});return}}}listContent(e={}){return this.contentCache.getOrFetch(this.localeCacheKey(e),()=>this.fetchContent(e))}async fetchContent(e){let t=new URL(this.dataUrl(nn.content));for(let[n,r]of Object.entries(e))r!==void 0&&t.searchParams.set(n,Array.isArray(r)?r.join(`,`):String(r));H.debug(`listContent →`,e);let n=await this.getJson(t.toString(),`listContent`),r=(n.items??[]).map(e=>A(e,this.locale));return H.debug(`listContent ←`,{count:r.length,total:n.pagination?.total}),{...n,items:r}}async bootstrap(e){let t=new URL(this.dataUrl(nn.bootstrap));e&&t.searchParams.set(`conversationId`,e),H.debug(`bootstrap →`,{conversationId:e??this.conversationId});let n=await this.getJson(t.toString(),`bootstrap`),r=n.forms??[],i=n.formSubmissions??[];return H.debug(`bootstrap ←`,{forms:r.length,formSubmissions:i.length}),{forms:r,formSubmissions:i}}async saveUserPrefs(e){H.debug(`saveUserPrefs →`,{visitorId:this.visitorId,conversationId:this.conversationId,settingsKeys:Object.keys(e)});let t=await this.postJson(nn.updateSettings,{userPrefs:e},`saveUserPrefs`);return H.debug(`saveUserPrefs ←`,{success:t.success}),t}get uploadPath(){return this.opts.endpoints?.upload??`/pai/upload-file`}get transcribePath(){return this.opts.endpoints?.transcribe??`/pai/transcribe-audio`}get submitFormPath(){return this.opts.endpoints?.submitForm??nn.submitForm}async submitForm(e){H.debug(`submitForm →`,{formId:e.formId,trigger:e.trigger,fields:Object.keys(e.values).length});try{await this.postJson(this.dataUrl(this.submitFormPath),e,`submitForm`)}catch(e){H.debug(`submitForm failed (non-fatal)`,{err:e})}}async submitFeedback(e){H.debug(`submitFeedback →`,{messageId:e.messageId,value:e.value});try{await this.postJson(nn.messageFeedback,{messageId:e.messageId,set:{feedback:e.value}},`submitFeedback`)}catch(e){H.debug(`submitFeedback failed (non-fatal)`,{err:e})}}async sendTurn(e){this.conversationsCache.clear(),H.debug(`message →`,{conversationId:e.conversationId,visitorId:e.visitorId,messageCount:e.messages.length});try{return await this.runWithAbort(async t=>{let n=await this.fetchImpl(this.url(nn.streamMessage),{method:`POST`,credentials:`omit`,headers:{accept:`application/json`,"content-type":`application/json`,...this.opts.auth.headers()},body:JSON.stringify(this.withEnvelope(e)),signal:t});if(n.status!==202)throw new Gt(`sendTurn failed: expected 202, received ${n.status}`,`server`,n.status);let r;try{r=await n.json()}catch(e){throw t?.aborted?e:new Gt(`sendTurn failed: invalid acknowledgement`,`server`,n.status,e)}if(!hn(r))throw new Gt(`sendTurn failed: invalid acknowledgement`,`server`,n.status);return r},void 0,3e4)}catch(e){throw e instanceof Gt?e:new Gt(`sendTurn failed: network error`,`network`,void 0,e)}}cancelTurn(e,t){!this.visitorId||!e||!t||(H.debug(`cancel stream`,{conversationId:e,runId:t,visitorId:this.visitorId}),this.fetchImpl(this.url(nn.cancelStream),{method:`POST`,credentials:`omit`,headers:{"content-type":`application/json`,...this.opts.auth.headers()},body:JSON.stringify(this.withEnvelope({conversationId:e,runId:t})),keepalive:!0}).catch(e=>H.debug(`cancel POST failed (non-fatal)`,{err:e})))}async connectResumeStream(e){let t;try{t=await this.fetchImpl(this.resumeUrl(),{method:`GET`,credentials:`omit`,headers:{accept:`text/event-stream`,...this.opts.auth.headers()},signal:e.signal})}catch(t){return e.signal.aborted||H.debug(`resume-stream fetch failed — reconnecting`,{err:t}),`held`}if(!t.ok)return t.status===409||ln.has(t.status)?(H.debug(`resume-stream → transient response; reconnecting`,{status:t.status}),`held`):(H.debug(`resume-stream → endpoint unavailable`,{status:t.status}),`unavailable`);if(!t.body)return H.debug(`resume-stream → bodyless response; stopping`,{status:t.status}),`unavailable`;if(!(t.headers.get(`content-type`)??``).includes(`text/event-stream`))return H.debug(`resume-stream → non-SSE response; stopping`),`unavailable`;e.onConnected();try{for await(let{chunk:n}of qt(t,e.signal)){if(e.signal.aborted)return`held`;e.onChunk(n)}}catch(t){if(e.signal.aborted)return`held`;H.debug(`resume-stream segment dropped — reconnecting`,{err:t})}return`held`}resumeUrl(){return this.withEnvelopeQuery(nn.streamResume)}async postJson(e,t,n){let r=await this.fetchWithRetry(()=>[this.url(e),{method:`POST`,credentials:`omit`,headers:{"content-type":`application/json`,...this.opts.auth.headers()},body:JSON.stringify(this.withEnvelope(t))}],n);return this.assertOk(r,n)}async postForm(e,t,n,r,i){return this.runWithAbort(async r=>{let i=await this.fetchImpl(this.url(e),{method:`POST`,credentials:`omit`,headers:this.opts.auth.headers(),body:this.appendEnvelope(t),signal:r});return this.assertOk(i,n)},r,i)}async runWithAbort(e,t,n){if(!t&&n===void 0)return e();let r=new AbortController,i=()=>r.abort(t?.reason);t?.aborted?i():t?.addEventListener(`abort`,i,{once:!0});let a=n===void 0?void 0:setTimeout(()=>r.abort(),n);try{return await e(r.signal)}finally{a!==void 0&&clearTimeout(a),t?.removeEventListener(`abort`,i)}}async getJson(e,t){let n=await this.fetchWithRetry(()=>[this.withEnvelopeQuery(e),{method:`GET`,credentials:`omit`,headers:{accept:`application/json`,...this.opts.auth.headers()}}],t);return this.assertOk(n,t)}async fetchWithRetry(e,t){for(let n=0;;n++){let[r,i]=e(),a;try{a=await this.fetchImpl(r,i)}catch(e){if(n>=3)throw new Gt(`${t} failed: network error`,`network`,void 0,e);H.debug(`request network error — retrying`,{label:t,attempt:n}),await Wt(U(n));continue}if(a.ok||!ln.has(a.status)||n>=3)return a;let o=dn(a.headers)??U(n);H.debug(`request retryable status — retrying`,{label:t,status:a.status,attempt:n,wait:o}),await Wt(o)}}async assertOk(e,t){if(!e.ok)throw new Gt(`${t} failed: ${e.status}`,`server`,e.status);return await e.json()}url(e){return/^https?:\/\//i.test(e)?e:`${this.opts.agentApiBaseUrl}${e}`}dataUrl(e){return/^https?:\/\//i.test(e)?e:`${this.opts.dataApiBaseUrl}${e}`}get fetchImpl(){return this.opts.fetchImpl??globalThis.fetch.bind(globalThis)}};function mn(e){return e.includes(`webm`)?`webm`:e.includes(`ogg`)?`ogg`:e.includes(`mp4`)||e.includes(`m4a`)?`m4a`:e.includes(`mpeg`)?`mp3`:e.includes(`wav`)?`wav`:`bin`}function hn(e){if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`status`),n=Reflect.get(e,`conversationId`),r=Reflect.get(e,`runId`);return t===`accepted`&&typeof n==`string`&&n.length>0&&(r===void 0||typeof r==`string`&&r.length>0)}function gn(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.visitorId==`string`&&typeof t.conversationId==`string`}function _n(e,t){let n=e?[{kind:`text`,id:`t0`,textSig:f(e),doneSig:f(!0)}]:[];return{id:lt(),role:`user`,createdAt:Date.now(),status:`complete`,attachments:t,partsSig:f(n)}}function vn(){return{id:lt(),role:`assistant`,createdAt:Date.now(),status:`streaming`,partsSig:f([])}}function yn(e){let t=lt();return bn({id:t,role:e.role,createdAt:Date.now(),status:`complete`,ephemeral:!0,parts:[{kind:`text`,id:`${t}-t0`,text:e.text,done:!0}]})}function bn(e){return{id:e.id,role:e.role,createdAt:e.createdAt,status:e.status,canceled:e.canceled,errorText:e.errorText,finishReason:e.finishReason,serverMessageId:e.serverMessageId,ephemeral:e.ephemeral,attachments:e.attachments,feedback:e.feedback,partsSig:f(e.parts.map(er))}}const xn=new Set([`completed`,`failed`,`canceled`]);function Sn(e){return e.status===`failed`?`error`:e.role===`assistant`&&e.status!=null&&!xn.has(e.status)?`streaming`:`complete`}function Cn(e){let t=new Set,n=e.parts.map((t,n)=>t.type===`text`?{kind:`text`,id:`${e.id}-t${n}`,textSig:f(t.text),doneSig:f(!0)}:t.type===`reasoning`?{kind:`reasoning`,id:`${e.id}-r${n}`,textSig:f(t.text),doneSig:f(t.state!==`streaming`)}:t.type===`step-start`?{kind:`step-start`,id:`${e.id}-ss${n}`}:t.type===`file`?{kind:`file`,url:t.url,mediaType:t.mediaType}:t.type===`source-url`?{kind:`source`,sourceId:t.sourceId,url:t.url,title:t.title}:t.type===`source-document`?{kind:`source`,sourceId:t.sourceId,title:t.title,filename:t.filename,mediaType:t.mediaType}:t.type===`data-suggestions`?null:t.type===`dynamic-tool`||t.type.startsWith(`tool-`)?{kind:`tool`,toolCallId:t.toolCallId,toolName:t.type===`dynamic-tool`?t.toolName:tn(t.type),dynamic:t.type===`dynamic-tool`||void 0,inputPartialSig:f(``),inputSig:f(t.input),outputSig:f(t.output),errorSig:f(t.errorText),stateSig:f(t.state),approvalSig:f(t.approval)}:null).filter(e=>e!==null).filter(e=>e.kind===`source`?t.has(e.sourceId)?!1:(t.add(e.sourceId),!0):!0),r=e.parts.find(e=>e.type===`data-suggestions`);return{id:e.id,role:e.role,operatorInitials:e.operatorInitials,suggestions:r?.type===`data-suggestions`?an(r.data):void 0,serverMessageId:e.id,createdAt:$t(e.createdAt)??Date.now(),status:Sn(e),canceled:e.status===`canceled`,feedback:e.feedback??null,partsSig:f(n)}}function wn(e){return!e.parts.some(e=>e.type===`text`&&e.text.trim()!==``||e.type===`dynamic-tool`||e.type.startsWith(`tool-`)||e.type===`file`||e.type===`source-url`||e.type===`source-document`)}function Tn(e){return e.role===`assistant`&&e.status!=null&&!xn.has(e.status)&&wn(e)}function En(e){let t=e.length-1;return e.filter((e,n)=>n===t||!Tn(e)).map(Cn)}function Dn(e,t){let n=!t&&e.at(-1)?.role===`assistant`?-2:-1,r=e.at(n);return!r||r.ephemeral?[]:[r]}function On(e){return{id:e.id,role:e.role,createdAt:e.createdAt,status:e.status,canceled:e.canceled,errorText:e.errorText,finishReason:e.finishReason,serverMessageId:e.serverMessageId,ephemeral:e.ephemeral,attachments:e.attachments,parts:e.partsSig.value.map(tr)}}function W(e){let t=``;for(let n of e.partsSig.value)n.kind===`text`&&(t+=n.textSig.value);return t}function kn(e){return W(e).trim()!==``||e.partsSig.value.some(e=>e.kind===`tool`||e.kind===`file`||e.kind===`source`)}function An(e){return W(e).trim()!==``||e.partsSig.value.some(e=>e.kind===`tool`||e.kind===`file`)}function jn(e){return e===`approval-responded`||e===`output-available`||e===`output-denied`||e===`output-error`}const Mn=e=>e.kind===`tool`,Nn=e=>e.kind===`text`&&e.textSig.value.trim()!==``||e.kind===`file`||e.kind===`source`;function Pn(e){let t=e.partsSig.value,n=t.findLastIndex(e=>e.kind===`tool`);return t.slice(n+1).some(Nn)}function Fn(e){if(e.role!==`assistant`)return!1;let t=e.partsSig.value.filter(Mn);return t.length>0&&t.every(e=>jn(e.stateSig.value))}function In(e){return e.role===`assistant`&&e.partsSig.value.some(e=>e.kind===`tool`)&&!Pn(e)}function Ln(e,t){return!e.partsSig.value.slice(t+1).some(e=>e.kind===`step-start`||Nn(e))}function Rn(e){return e.partsSig.value.some(e=>Mn(e)&&!jn(e.stateSig.value))}function zn(e){return e!==void 0&&e.role!==`user`&&!e.ephemeral&&(e.status===`streaming`||e.continuationStreaming===!0)}function Bn(e,t){return t.id=e.id,e.canceled&&(t.canceled=!0),e.feedback!==void 0&&(t.feedback=e.feedback),t.suggestions??(t.suggestions=e.suggestions),t}function Vn(e,t,n,r){if(!Hn(e))return;if(t.length===0){let t=Math.max(...r.values());return n.find(n=>n.role===`assistant`&&r.get(n.serverMessageId??n.id)===t&&W(n).length>=W(e).length)}let i=t.at(-1);if(i?.role!==`user`)return;let a=r.get(i.serverMessageId??i.id);if(a!==void 0)return n.find(t=>t.role===`assistant`&&r.get(t.serverMessageId??t.id)===a+1&&W(t).length>=W(e).length)}function Hn(e){return e?.role===`assistant`&&e.status===`streaming`&&e.serverMessageId===void 0}function Un(e,t){let n=t.filter(e=>!e.ephemeral&&(e.status===`streaming`||e.status===`pending`||e.status===`error`||e.retryAction!==void 0||(e.attachments?.length??0)>0||kn(e))),r=new Map;for(let e of n)r.set(e.id,e),e.serverMessageId!==void 0&&r.set(e.serverMessageId,e);let i=new Set,a=[],o=e.map(e=>{let t=(e.serverMessageId===void 0?void 0:r.get(e.serverMessageId))??r.get(e.id);return t===void 0?(a.push(e),e):(i.add(t),t.role===e.role?t.role===`user`&&t.serverMessageId===void 0&&(t.status===`pending`||t.status===`error`)?Bn(t,e):t.status===`streaming`||W(t).length>=W(e).length?(t.suggestions??(t.suggestions=e.suggestions),t.feedback===void 0&&(t.feedback=e.feedback),e.canceled&&(t.canceled=!0),t):Bn(t,e):e)}),s=n.filter(e=>!i.has(e)),c=s.findLast(Hn),l=new Map;e.forEach((e,t)=>{l.set(e.id,t),e.serverMessageId!==void 0&&l.set(e.serverMessageId,t)});let u=Vn(c,c?n.slice(0,n.indexOf(c)):[],a,l);if(c&&u){let e=o.indexOf(u);e>=0&&(o[e]=Bn(c,u)),s=s.filter(e=>e!==c)}return[...o,...s]}function Wn(e,t){let n=new Map(t.filter(e=>e.serverMessageId!==void 0).map(e=>[e.serverMessageId,e])),r=new Map;t.forEach((e,t)=>{r.set(e.id,t),e.serverMessageId!==void 0&&r.set(e.serverMessageId,t)});let i=new Set(e.flatMap(e=>[e.serverMessageId,e.id].filter(e=>e!==void 0))),a=!1,o=e.map(e=>{let t=n.get(e.serverMessageId??e.id);if(t===void 0||t.role!==e.role)return e;if(e.role===`user`&&e.serverMessageId===void 0)return a=!0,Bn(e,t);if(e.serverMessageId===void 0)return e;let r=W(t),i=W(e),o=t.status!==`streaming`&&r.length>=i.length&&Yn(e,t);if(r.length>i.length||r===i&&t.partsSig.value.length>e.partsSig.value.length||o)return a=!0,Bn(e,t);if(e.status===`streaming`&&t.status!==`streaming`&&Kn(e,t)){if(e.continuationStreaming&&Rn(t))return e;if(!Yn(t,e))return a=!0,Bn(e,t)}return e}),s=[...n.values()].filter(e=>!i.has(e.serverMessageId)),c=o.findLastIndex(Hn),l=o[c],u=Vn(l,o.slice(0,c),s,r);if(l!==void 0&&u!==void 0&&W(u).length>=W(l).length&&(Bn(l,u),o[c]=u,s.splice(s.indexOf(u),1),a=!0),s.length===0)return{messages:a?o:e,changed:a};for(let e of s){let t=r.get(e.serverMessageId??e.id),n=!1,i=o.findIndex(e=>{let i=r.get(e.serverMessageId??e.id);return t===void 0?!1:i===void 0?n:i>t?!0:(n=!0,!1)});i===-1?o.push(e):o.splice(i,0,e)}return{messages:o,changed:!0}}function Gn(e,t){if(e.role!==t.role)return!1;let n=W(t),r=W(e);return n.length>r.length||t.partsSig.value.length>e.partsSig.value.length||Yn(e,t)}function Kn(e,t){let n=e.partsSig.value,r=t.partsSig.value;return n.length===r.length&&n.every((e,t)=>{let n=r[t];switch(e.kind){case`text`:return n?.kind===`text`&&n.textSig.value===e.textSig.value;case`reasoning`:return n?.kind===`reasoning`&&n.textSig.value===e.textSig.value;case`step-start`:return n?.kind===`step-start`;case`tool`:return n?.kind===`tool`&&n.toolCallId===e.toolCallId&&qn(n.toolName,e.toolName);case`file`:return n?.kind===`file`&&n.url===e.url&&n.mediaType===e.mediaType;case`source`:return n?.kind===`source`&&n.sourceId===e.sourceId&&n.url===e.url&&n.title===e.title&&n.filename===e.filename&&n.mediaType===e.mediaType;default:return e}})}function qn(e,t){return(e.startsWith(`tool:`)?e.slice(5):e)===(t.startsWith(`tool:`)?t.slice(5):t)}const Jn={"input-streaming":0,"input-available":1,"approval-requested":2,"approval-responded":3,"output-available":4,"output-denied":4,"output-error":4};function Yn(e,t){let n=new Map(e.partsSig.value.filter(Mn).map(e=>[e.toolCallId,e]));return t.partsSig.value.filter(Mn).some(e=>{let t=n.get(e.toolCallId);if(!t||Jn[e.stateSig.value]>Jn[t.stateSig.value])return!0;let r=e.approvalSig.value?.approved;return r!==void 0&&r!==t.approvalSig.value?.approved})}function Xn(e){return e.role===`assistant`&&e.status!==`streaming`&&!kn(e)}function Zn(e,t){if(!e.includes(t)||t.retryAction===null)return;if(t.retryAction)return t.retryAction;if(t!==e.at(-1)||t.role!==`assistant`||t.serverMessageId===void 0||t.status!==`error`&&!Xn(t))return;let n=e.indexOf(t);for(let t=n-1;t>=0;t--){let n=e[t];if(n?.role===`user`&&!n.ephemeral)return{kind:`repeat-user`,messageId:n.id}}}function Qn(e){return e.canceled===!0&&e.role===`assistant`&&e.status!==`streaming`&&!An(e)}function $n(e,t){return e.operatorRoutedTurn?Xn(e)?`drop`:`complete-operator-routed`:t||Xn(e)?`error`:`complete`}function er(e){return e.kind===`text`||e.kind===`reasoning`?{kind:e.kind,id:e.id,textSig:f(e.text),doneSig:f(e.done)}:e.kind===`tool`?{kind:`tool`,toolCallId:e.toolCallId,toolName:e.toolName,dynamic:e.dynamic,inputPartialSig:f(e.inputPartial),inputSig:f(e.input),outputSig:f(e.output),errorSig:f(e.error),stateSig:f(e.state),approvalSig:f(e.approval)}:e}function tr(e){return e.kind===`text`||e.kind===`reasoning`?{kind:e.kind,id:e.id,text:e.textSig.value,done:e.doneSig.value}:e.kind===`tool`?{kind:`tool`,toolCallId:e.toolCallId,toolName:e.toolName,dynamic:e.dynamic,inputPartial:e.inputPartialSig.value,input:e.inputSig.value,output:e.outputSig.value,error:e.errorSig.value,state:e.stateSig.value,approval:e.approvalSig.value}:e}const nr=L.scope(`feedback:audio`);var rr=class{constructor(){B(this,`ctx`,null),B(this,`master`,null),B(this,`buffers`,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){nr.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(Error(`fetch ${e.status}`))).then(e=>n.decodeAudioData(e)).then(t=>(this.buffers.set(e,t),t)).catch(t=>(nr.warn(`audio fetch/decode failed`,{url:e,err:t}),this.buffers.delete(e),null));return this.buffers.set(e,r),r}};const ir={messageReceived:10,messageSent:0,error:[20,40,20],voiceStart:10,voiceStop:0},ar={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 or=null,sr=0;function cr(){return typeof navigator<`u`&&typeof navigator.vibrate==`function`}function lr(){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=`__${b.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 ur(e){if(!(e===0||Array.isArray(e)&&e.every(e=>e===0))){if(cr())try{navigator.vibrate(e);return}catch{}if(or||(or=lr()),or)try{or.label.click()}catch{}}}function dr(){sr++;let e=!1;return()=>{e||(e=!0,sr=Math.max(0,sr-1),sr===0&&or&&(or.input.remove(),or.label.remove(),or=null))}}const fr=L.scope(`feedback`);var pr=class{constructor(e,t){B(this,`mutedSig`,f(!1)),B(this,`audio`,new rr),B(this,`releaseHaptics`,void 0),B(this,`sound`,void 0),B(this,`haptics`,void 0),B(this,`lastPlayed`,new Map),B(this,`reducedMotionMq`,null),this.sound=e,this.haptics=t,this.releaseHaptics=dr(),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=>fr.warn(`audio play failed`,{err:e,url:t}));return}let n=ar[e];n&&this.audio.playTone(n)}playHaptic(e){if(this.reducedMotionMq?.matches)return;let t=this.haptics.events?.[e];t!==!1&&ur(t===!0||t===void 0?ir[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}};const G={fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,viewBox:`0 0 24 24`},mr=`${b.cssPrefix}-icon-dir`,hr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M21 12a8 8 0 0 1-12 6.93L3 21l1.65-5.16A8 8 0 1 1 21 12Z`})}),gr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M18 6 6 18M6 6l12 12`})}),_r=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M12 5v14M5 12h14`})}),vr=()=>_(`svg`,{...G,class:mr,"aria-hidden":`true`,children:[g(`path`,{d:`m22 2-7 20-4-9-9-4Z`}),g(`path`,{d:`M22 2 11 13`})]}),yr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M12 19V5M5 12l7-7 7 7`})}),br=()=>g(`svg`,{...G,class:mr,"aria-hidden":`true`,children:g(`path`,{d:`M3 20V4l18 8-18 8Z`})}),xr=()=>g(`svg`,{...G,class:mr,"aria-hidden":`true`,children:g(`path`,{d:`m9 18 6-6-6-6`})}),Sr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`rect`,{x:`6`,y:`6`,width:`12`,height:`12`,rx:`2`})}),Cr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`m21 11-9 9a5.5 5.5 0 0 1-7.78-7.78l8.49-8.49a3.67 3.67 0 0 1 5.19 5.19l-8.49 8.49a1.83 1.83 0 0 1-2.6-2.6l7.78-7.78`})}),wr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`rect`,{x:`9`,y:`2`,width:`6`,height:`12`,rx:`3`}),g(`path`,{d:`M5 10a7 7 0 0 0 14 0M12 19v3`})]}),Tr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M3 8V3h5M21 8V3h-5M3 16v5h5M21 16v5h-5`})}),Er=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M8 3v5H3M16 3v5h5M8 21v-5H3M16 21v-5h5`})}),Dr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M3 3h7v2H5v5H3zM21 3h-7v2h5v5h2zM3 21h7v-2H5v-5H3zM21 21h-7v-2h5v-5h2z`})}),Or=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M10 3v5H3M14 3v5h7M10 21v-5H3M14 21v-5h7`})}),kr=()=>g(`svg`,{...G,"aria-hidden":`true`,viewBox:`0 0 10 10`,children:g(`path`,{d:`M9 1L1 9M9 5L5 9M9 9H9`,strokeWidth:`1.5`})}),Ar=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`5`,r:`1.5`,fill:`currentColor`,stroke:`none`}),g(`circle`,{cx:`12`,cy:`12`,r:`1.5`,fill:`currentColor`,stroke:`none`}),g(`circle`,{cx:`12`,cy:`19`,r:`1.5`,fill:`currentColor`,stroke:`none`})]}),jr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M11 5 6 9H2v6h4l5 4zM15 9a5 5 0 0 1 0 6M18 7a9 9 0 0 1 0 10`})}),Mr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M11 5 6 9H2v6h4l5 4zM22 9l-6 6M16 9l6 6`})}),Nr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M3 18 8 6l5 12M4.7 14h6.6`}),g(`path`,{d:`M14.5 18l3.2-7 3.2 7M15.6 15.8h4.2`})]}),Pr=()=>g(`svg`,{...G,class:mr,"aria-hidden":`true`,children:g(`path`,{d:`m5 6 6 6-6 6M13 6l6 6-6 6`})}),Fr=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M20 6 9 17l-5-5`})}),Ir=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M3 3v6h6`}),g(`path`,{d:`M3.05 13A9 9 0 1 0 6 5.3L3 9`}),g(`path`,{d:`M12 7v5l3 2`})]}),Lr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`12`,r:`10`}),g(`path`,{d:`M2 12h20`}),g(`path`,{d:`M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z`})]}),Rr=()=>g(`svg`,{...G,class:mr,"aria-hidden":`true`,children:g(`path`,{d:`M19 12H5M12 19l-7-7 7-7`})}),zr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M12 20h9`}),g(`path`,{d:`M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z`})]}),Br=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`m6 9 6 6 6-6`})}),Vr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z`}),g(`path`,{d:`M14 2v6h6`})]}),Hr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`m12 3-1.5 4.5L6 9l4.5 1.5L12 15l1.5-4.5L18 9l-4.5-1.5Z`}),g(`path`,{d:`M19 15v4M17 17h4M5 3v2M4 4h2`})]}),Ur=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2Z`})}),Wr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`12`,r:`10`}),g(`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`}),g(`path`,{d:`M12 17h.01`})]}),Gr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`m15 4 3 3-9 9-3-3z`}),g(`path`,{d:`M18 2v2M20 4h2M3 20l3-3M3 16h2M5 14v2`})]}),Kr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`rect`,{x:`4`,y:`8`,width:`16`,height:`12`,rx:`2`}),g(`path`,{d:`M12 8V4`}),g(`circle`,{cx:`12`,cy:`3`,r:`1`}),g(`path`,{d:`M2 14h2M20 14h2M9 13h.01M15 13h.01M9.5 17h5`})]}),qr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M4 14v-2a8 8 0 0 1 16 0v2`}),g(`rect`,{x:`2`,y:`14`,width:`4`,height:`6`,rx:`1.5`}),g(`rect`,{x:`18`,y:`14`,width:`4`,height:`6`,rx:`1.5`}),g(`path`,{d:`M20 20v1a3 3 0 0 1-3 3h-5`})]}),Jr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`12`,r:`10`}),g(`circle`,{cx:`12`,cy:`12`,r:`4`}),g(`path`,{d:`m4.93 4.93 4.24 4.24M14.83 14.83l4.24 4.24M14.83 9.17l4.24-4.24M4.93 19.07l4.24-4.24`})]}),Yr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`11`,cy:`11`,r:`7`}),g(`path`,{d:`m21 21-4.3-4.3`})]}),Xr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`12`,r:`9`}),g(`path`,{d:`m8.5 12 2.5 2.5 4.5-5`})]}),Zr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M3 9.5 12 3l9 6.5`}),g(`path`,{d:`M5 9v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9`})]}),Qr=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`m3 11 15-5v12L3 13z`}),g(`path`,{d:`M3 11v2a2 2 0 0 0 2 2h1V9H5a2 2 0 0 0-2 2z`}),g(`path`,{d:`M7 15v3a2 2 0 0 0 4 0v-2`}),g(`path`,{d:`M21 10a3 3 0 0 1 0 4`})]}),$r=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z`}),g(`path`,{d:`M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1`})]}),ei=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`12`,r:`4`}),g(`path`,{d:`M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41`})]}),ti=()=>g(`svg`,{...G,"aria-hidden":`true`,children:g(`path`,{d:`M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z`})}),ni=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`12`,r:`9`}),g(`path`,{d:`M12 3v18`}),g(`path`,{d:`M12 3a9 9 0 0 1 0 18z`,fill:`currentColor`,stroke:`none`})]}),ri=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`10.5`,cy:`10.5`,r:`6.5`}),g(`path`,{d:`M8 11a2.5 2.5 0 0 0 5 0`}),g(`path`,{d:`m20 20-4.4-4.4`})]}),ii=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M12 3.5 13.6 9 19 10.5 13.6 12 12 17.5 10.4 12 5 10.5 10.4 9z`}),g(`path`,{d:`M18.5 4v3M20 5.5h-3M5.5 16v2.5M6.75 17.25h-2.5`})]}),ai=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M4 18h16`}),g(`path`,{d:`M5 18a7 7 0 0 1 14 0`}),g(`path`,{d:`M12 8V6`}),g(`path`,{d:`M10 6h4`})]}),oi=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M7 11V6.5a1.5 1.5 0 0 1 3 0V10`}),g(`path`,{d:`M10 10V5.5a1.5 1.5 0 0 1 3 0V10`}),g(`path`,{d:`M13 10V6.5a1.5 1.5 0 0 1 3 0V12`}),g(`path`,{d:`M16 9.5a1.5 1.5 0 0 1 3 0v2.5a7 7 0 0 1-7 7 7 7 0 0 1-6.4-4.2L4 12.5a1.5 1.5 0 0 1 2.6-1.5L7 11`})]}),si=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`rect`,{x:`9`,y:`9`,width:`11`,height:`11`,rx:`2`}),g(`path`,{d:`M5 15a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2`})]}),ci=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M7 10v11H4a1 1 0 0 1-1-1v-9a1 1 0 0 1 1-1z`}),g(`path`,{d:`M7 10l4-7a2.5 2.5 0 0 1 2.5 2.5V8h5a2 2 0 0 1 2 2.3l-1.2 8A2 2 0 0 1 17.3 20H7`})]}),li=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`path`,{d:`M17 14V3h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1z`}),g(`path`,{d:`M17 14l-4 7a2.5 2.5 0 0 1-2.5-2.5V16h-5a2 2 0 0 1-2-2.3l1.2-8A2 2 0 0 1 6.7 4H17`})]}),ui=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`12`,r:`3.5`}),g(`path`,{d:`M12 2v3M12 19v3M2 12h3M19 12h3M4.9 4.9l2.1 2.1M17 17l2.1 2.1M19.1 4.9l-2.1 2.1M7 17l-2.1 2.1`})]}),di=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`12`,r:`9`}),g(`path`,{d:`M12 7v5l3 2`})]}),fi=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`12`,r:`9`}),g(`path`,{d:`m8.5 12 2.5 2.5 4.5-5`})]}),pi=()=>_(`svg`,{...G,"aria-hidden":`true`,children:[g(`circle`,{cx:`12`,cy:`12`,r:`9`}),g(`path`,{d:`m15 9-6 6M9 9l6 6`})]}),mi={chat:hr,message:Ur,bubbles:$r,spark:Hr,wand:Gr,bot:Kr,help:Wr,lifebuoy:Jr,headset:qr,search:ri,sparkles:ii,concierge:ai,wave:oi},K=b.cssPrefix,q={launcher:`${K}-launcher`,callout:`${K}-callout`,calloutDismiss:`${K}-callout-dismiss`,panel:`${K}-panel`,panelHeader:`${K}-panel-header`,resizeGrip:`${K}-resize-grip`,scrollToBottom:`${K}-scroll-to-bottom`,actionHistory:`${K}-action-history`,actionClose:`${K}-action-close`,langSegment:`${K}-lang-segment`,composer:`${K}-composer`,composerInput:`${K}-composer-input`,composerSend:`${K}-composer-send`,composerStop:`${K}-composer-stop`,composerAttach:`${K}-composer-attach`,composerFileInput:`${K}-composer-file-input`,composerVoice:`${K}-composer-voice`,attachmentChip:`${K}-attachment-chip`,attachmentRemove:`${K}-attachment-remove`,suggestion:`${K}-suggestion`,messageBubble:`${K}-message`,messageRetry:`${K}-message-retry`,messageFeedback:`${K}-message-feedback`,feedbackUp:`${K}-feedback-up`,feedbackDown:`${K}-feedback-down`,messageCopy:`${K}-message-copy`,historyPane:`${K}-history-pane`,historyBack:`${K}-history-back`,historyItem:`${K}-history-item`,sidebar:`${K}-sidebar`,sidebarToggle:`${K}-sidebar-toggle`,sidebarNewConversation:`${K}-sidebar-new-conversation`,sidebarItem:`${K}-sidebar-item`,messengerHome:`${K}-messenger-home`,modulesEmpty:`${K}-modules-empty`,tab:`${K}-tab`,tabBadge:`${K}-tab-badge`,homeView:`${K}-home-view`,homeGreeting:`${K}-home-greeting`,homeBrand:`${K}-home-brand`,backHeader:`${K}-back-header`,contentView:`${K}-content-view`,contentScroll:`${K}-content-scroll`,homeSearch:`${K}-home-search`,helpSearch:`${K}-help-search`,homeRecent:`${K}-home-recent`,homeContentRow:`${K}-home-content-row`,helpArticle:`${K}-help-article`,newsItem:`${K}-news-item`,formGate:`${K}-form-gate`,formDone:`${K}-form-done`,formDoneToggle:`${K}-form-done-toggle`,formAnswers:`${K}-form-answers`,formFill:`${K}-form-fill`,formSubmit:`${K}-form-submit`,formSkip:`${K}-form-skip`,formField:`${K}-form-field`,toolAskQuestions:`${K}-tool-ask-questions`,toolInputSubmit:`${K}-tool-input-submit`,toolInputSkip:`${K}-tool-input-skip`,toolApproval:`${K}-tool-approval`,toolApprove:`${K}-tool-approve`,toolReject:`${K}-tool-reject`,toolEdit:`${K}-tool-edit`,toolDecision:`${K}-tool-decision`,typingDots:`${K}-typing-dots`,reasoning:`${K}-reasoning`,toolAskSummary:`${K}-ask-questions-summary`,toolAskOptions:`${K}-ask-questions-options-toggle`,toolCall:`${K}-tool-call`,source:`${K}-source`,operatorRequest:`${K}-operator-request`,operatorBanner:`${K}-operator-banner`,cancelOperatorRequest:`${K}-cancel-operator-request`};function hi(e,t){return`${e}-${t}`}const gi=b.cssPrefix;function _i({onToggle:e,launcher:t,strings:n,leaving:r,edgeTab:i}){let a=t.variant!==`circle`&&!!t.label;return _(`button`,{type:`button`,class:`${gi}-fab`,"data-variant":t.variant,"data-size":t.size,"data-edge-tab":i?`true`:void 0,"data-leaving":r?`true`:void 0,"data-testid":q.launcher,onClick:e,"aria-label":n.launcherOpen,children:[vi(t.icon),a?g(`span`,{class:`${gi}-fab-label`,children:D(n,t.label??``)}):null]})}function vi(e){let t=mi[e];return t?g(t,{}):g(yi,{source:e})}function yi({source:e}){return g(`span`,{ref:t=>{t&&bi(t,e)},"aria-hidden":`true`})}function bi(e,t){if(e.dataset.svgMounted!==t)try{let n=new DOMParser().parseFromString(t,`image/svg+xml`).documentElement;n&&n.tagName.toLowerCase()===`svg`&&(e.replaceChildren(document.importNode(n,!0)),e.dataset.svgMounted=t)}catch{}}function xi({callout:e,launcherPosition:t,strings:n,closeLabel:r,onDismiss:a}){let[o,s]=c(!1);return i(()=>{let t=setTimeout(()=>s(!0),e.delayMs);return()=>clearTimeout(t)},[e.delayMs]),i(()=>{if(!o||e.autoDismissMs<=0)return;let t=setTimeout(a,e.autoDismissMs);return()=>clearTimeout(t)},[o,e.autoDismissMs,a]),o?_(`div`,{class:`${gi}-callout`,role:`status`,"data-shape":e.shape,"data-position":Si(e.position,t),"data-animated":e.animated?`true`:void 0,"data-testid":q.callout,children:[g(`span`,{children:D(n,e.text)}),g(`button`,{type:`button`,class:`${gi}-callout-close`,onClick:a,"aria-label":r,title:r,"data-testid":q.calloutDismiss,children:g(gr,{})})]}):null}function Si(e,t){let n=t.endsWith(`-right`),r=t.startsWith(`bottom-`);return e===`vertical`?r?`top`:`bottom`:n?`left`:`right`}function Ci({panelEl:e,resize:t,position:n,initialSize:r,onSizeChange:a,strings:o}){let c=b.cssPrefix,l=s(null);if(i(()=>{if(!e)return;let n=e.style;t.minWidth&&n.setProperty(`--${c}-resize-min-w`,t.minWidth),t.maxWidth&&n.setProperty(`--${c}-resize-max-w`,t.maxWidth),t.minHeight&&n.setProperty(`--${c}-resize-min-h`,t.minHeight),t.maxHeight&&n.setProperty(`--${c}-resize-max-h`,t.maxHeight),r&&(n.setProperty(`--${c}-widget-w`,`${r.width}px`),n.setProperty(`--${c}-widget-h`,`${r.height}px`))},[e,t.minWidth,t.maxWidth,t.minHeight,t.maxHeight,c,r]),!e)return null;let u=n.startsWith(`top-`),d=n.endsWith(`-right`),f=`${c}-resize-grip ${c}-resize-grip--${u?`bottom`:`top`}-${d?`left`:`right`}`,p=t=>{if(!e)return;let n=t.currentTarget,r=e.getBoundingClientRect();l.current={pointerId:t.pointerId,startX:t.clientX,startY:t.clientY,startW:r.width,startH:r.height,dirX:d?-1:1,dirY:u?1:-1},n.setPointerCapture(t.pointerId),e.setAttribute(`data-resizing`,``),t.preventDefault()},m=t=>{let n=l.current;if(!n||t.pointerId!==n.pointerId||!e)return;let r=(t.clientX-n.startX)*n.dirX,i=(t.clientY-n.startY)*n.dirY;e.style.setProperty(`--${c}-widget-w`,`${n.startW+r}px`),e.style.setProperty(`--${c}-widget-h`,`${n.startH+i}px`)},h=t=>{let n=l.current;if(!n||t.pointerId!==n.pointerId||!e)return;t.currentTarget.releasePointerCapture(t.pointerId),e.removeAttribute(`data-resizing`);let r=e.getBoundingClientRect();a({width:Math.round(r.width),height:Math.round(r.height)}),l.current=null};return g(`div`,{class:f,role:`separator`,"aria-orientation":`vertical`,"aria-label":o.resizeHandle,title:o.resizeHandle,onPointerDown:p,onPointerMove:m,onPointerUp:h,onPointerCancel:h,"data-testid":q.resizeGrip,children:g(kr,{})})}const wi=b.cssPrefix,Ti=`.${wi}-header, .${wi}-back-header, .${wi}-home-hero`;function Ei(e,t){i(()=>{if(!t||!e)return;let n=e=>Number.parseFloat(e)||0,r=(e,t)=>Math.min(t,Math.max(-t,e)),i=null,a=t=>{let r=t.target;if(!(r instanceof Element)||!r.closest(Ti)||r.closest(`button, a, input, textarea, select, [role="tab"], [contenteditable]`))return;let a=e.getBoundingClientRect();i={id:t.pointerId,x:t.clientX,y:t.clientY,dx:n(e.style.getPropertyValue(`--${wi}-modal-dx`)),dy:n(e.style.getPropertyValue(`--${wi}-modal-dy`)),maxX:(window.innerWidth+a.width)/2-56,maxY:(window.innerHeight+a.height)/2-56},e.dataset.dragging=`true`,t.preventDefault()},o=t=>{if(!i||t.pointerId!==i.id)return;let n=r(i.dx+t.clientX-i.x,i.maxX),a=r(i.dy+t.clientY-i.y,i.maxY);e.style.setProperty(`--${wi}-modal-dx`,`${n}px`),e.style.setProperty(`--${wi}-modal-dy`,`${a}px`)},s=t=>{!i||t.pointerId!==i.id||(i=null,delete e.dataset.dragging)};return e.addEventListener(`pointerdown`,a),window.addEventListener(`pointermove`,o),window.addEventListener(`pointerup`,s),window.addEventListener(`pointercancel`,s),()=>{e.removeEventListener(`pointerdown`,a),window.removeEventListener(`pointermove`,o),window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,s)}},[e,t])}function Di(e,t,n){switch(e){case`clear`:case`sound`:case`history`:case`language`:case`theme`:case`textSize`:return!0;case`expand`:return t===`floating`;case`fullscreen`:return t!==`standalone`;case`close`:return t===`standalone`||t===`page`?!1:t!==`inline`||n===`fullscreen`}}function Oi(e,t,n){return Di(`close`,e,t)?n.includes(`close`):!1}function ki(e,t){return e===`inline`&&t===`fullscreen`?`exit-fullscreen`:`close`}function Ai(e){let t=t=>{if(t.key!==`Tab`)return;let n=[...e.querySelectorAll(`a[href],button:not([disabled]),textarea:not([disabled]),input:not([disabled]):not([type="hidden"]),select:not([disabled]),[tabindex]:not([tabindex="-1"])`)].filter(e=>e.offsetParent!==null||e===document.activeElement);if(n.length===0){t.preventDefault();return}let r=n[0],i=n[n.length-1];if(!r||!i)return;let a=e.getRootNode().activeElement;t.shiftKey&&a===r?(t.preventDefault(),i.focus()):!t.shiftKey&&a===i&&(t.preventDefault(),r.focus())};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)}function ji(e){return e.trim().split(/\s+/).slice(0,2).map(e=>e.charAt(0).toUpperCase()).join(``)}const Mi=b.cssPrefix;function Ni({agent:e,strings:t}){let n=e.status??`online`,r=D(t,e.name),i=e.title?D(t,e.title):null;return _(`div`,{class:`${Mi}-agent`,children:[g(`div`,{class:`${Mi}-agent-avatar`,"data-status":n,children:e.avatar?g(`img`,{src:e.avatar,alt:``}):g(`span`,{children:ji(r)})}),_(`div`,{class:`${Mi}-agent-meta`,children:[g(`strong`,{children:r}),i?g(`span`,{children:i}):null]})]})}const Pi=L.scope(`attachments`);function Fi(e,t,n){let r=Ri(e),i=[],a=[],o=Vi(n.accept),s=t.reduce((e,t)=>e+t.size,0),c=t.length;for(let e of r){let t=Li(e,c,s,n,o);if(t){a.push({file:e,reason:t});continue}i.push(Bi(e)),s+=e.size,c+=1}return(i.length||a.length)&&Pi.debug(`ingest`,{accepted:i.length,rejected:a.map(e=>({name:e.file.name,reason:e.reason}))}),{accepted:i,rejected:a}}function Ii(e){try{URL.revokeObjectURL(e.previewUrl)}catch(e){Pi.debug(`revokeObjectURL failed`,{error:e})}}function Li(e,t,n,r,i){return t>=r.maxCount?`count`:n+e.size>r.maxBytes?`bytes`:Hi(e,i)?null:`mime`}function Ri(e){return e?Array.isArray(e)?e.filter(e=>e instanceof File):[...e].map(e=>e instanceof File?e:zi(e)).filter(e=>e!==null):[]}function zi(e){let t=e;return!t?.getAsFile||t.kind!==`file`?null:t.getAsFile()}function Bi(e){return{file:e,id:lt(),mediaType:e.type||`application/octet-stream`,name:e.name||`pasted-file`,previewUrl:URL.createObjectURL(e),size:e.size}}function Vi(e){return e.split(`,`).map(e=>e.trim().toLowerCase()).filter(Boolean).map(e=>{if(e.startsWith(`.`))return{kind:`ext`,ext:e};let[t=`*`,n=`*`]=e.split(`/`);return{kind:`mime`,type:t,subtype:n}})}function Hi(e,t){if(t.length===0)return!0;let[n=`*`,r=`*`]=(e.type||``).toLowerCase().split(`/`),i=(e.name||``).toLowerCase();return t.some(e=>e.kind===`ext`?i.endsWith(e.ext):(e.type===`*`||e.type===n)&&(e.subtype===`*`||e.subtype===r))}const Ui=b.cssPrefix;function Wi({attachment:e,onRemove:t,disabled:n=!1}){let r=e.mediaType.startsWith(`image/`);return _(`span`,{class:`${Ui}-attachment-chip`,title:e.name,"data-testid":hi(q.attachmentChip,e.id),children:[r?g(`img`,{class:`${Ui}-attachment-thumb`,src:e.previewUrl,alt:``}):g(`span`,{class:`${Ui}-attachment-thumb`,"aria-hidden":`true`,children:g(Vr,{})}),g(`span`,{class:`${Ui}-attachment-name`,children:e.name}),g(`button`,{type:`button`,class:`${Ui}-attachment-remove`,onClick:t,disabled:n,"aria-label":`Remove ${e.name}`,"data-testid":hi(q.attachmentRemove,e.id),children:g(gr,{})})]})}const Gi={isSupported:!1,start:()=>void 0,stop:()=>void 0,cancel:()=>void 0};function Ki(e,t,n){return e===`disabled`?Gi:e===`server`?Xi(n):qi(t)}function qi(e){let t=Ji();if(!t)return Gi;let n=null,r=0;return{isSupported:!0,start(i,a){let o=n,s=++r;n=null,o?.abort();let c=new t;n=c,c.continuous=!0,c.interimResults=!0,c.lang=e;let l=!1;c.addEventListener(`result`,e=>{if(r!==s||n!==c)return;let t=e,a=``,o=!1;for(let e=t.resultIndex;e<t.results.length;e++){let n=t.results[e];n&&(a+=n[0].transcript,n.isFinal&&(o=!0))}i(a,o)});let u=()=>{l||r!==s||n!==c||(l=!0,n=null,a())};c.addEventListener(`end`,u),c.addEventListener(`error`,u);try{c.start()}catch{u()}},stop(){n?.stop()},cancel(){r++;let e=n;n=null,e?.abort()}}}function Ji(){return window.SpeechRecognition??window.webkitSpeechRecognition}const Yi=[`audio/webm;codecs=opus`,`audio/webm`,`audio/ogg;codecs=opus`,`audio/mp4`];function Xi(e){if(typeof MediaRecorder>`u`||!navigator?.mediaDevices?.getUserMedia)return Gi;let t=0,n=null,r=e=>{for(let t of e.stream?.getTracks()??[])t.stop();e.stream=null},i=()=>{t++;let e=n;n=null,e&&(r(e),e.recorder?.state!==`inactive`&&e.recorder?.stop())},a=async i=>{if(i.finishing)return;i.finishing=!0;let a=i.recorder?.mimeType??`audio/webm`;r(i);let o=new Blob(i.chunks,{type:a});i.chunks=[];try{let{text:r}=await e(o,a);n===i&&t===i.generation&&r&&i.onText(r,!0)}catch{}finally{n===i&&t===i.generation&&(n=null,i.onEnd())}};return{isSupported:!0,async start(e,o){i();let s={generation:t,recorder:null,stream:null,chunks:[],onText:e,onEnd:o,finishing:!1};n=s;try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});if(n!==s||t!==s.generation){for(let t of e.getTracks())t.stop();return}s.stream=e;let r=Zi(),i=new MediaRecorder(e,r?{mimeType:r}:void 0);s.recorder=i,i.addEventListener(`dataavailable`,e=>{n===s&&t===s.generation&&e.data.size>0&&s.chunks.push(e.data)}),i.addEventListener(`stop`,()=>{n===s&&t===s.generation&&a(s)}),i.start()}catch{r(s),n===s&&t===s.generation&&(n=null,o())}},stop(){let e=n;if(e){if(!e.recorder){i();return}e.recorder.state!==`inactive`&&e.recorder.stop()}},cancel(){i()}}}function Zi(){for(let e of Yi)if(MediaRecorder.isTypeSupported(e))return e}const Qi=b.cssPrefix,$i=L.scope(`composer`);function ea(e){return e.reduce((e,t)=>e+t.size,0)}const ta={arrowUp:yr,paperPlane:vr,send:br,chevron:xr};function na({options:e,transport:t,feedback:n,bus:a,isStreaming:o,active:l=!0,isPreparing:u=!1,operatorRequestEnabled:d,controlMode:f,onRequestOperator:p,onSend:m,onStop:h,attachApiRef:v}){let y=e.strings,[b,x]=c(``),[S,C]=c([]),[w,T]=c(!1),[ee,E]=c(!1),D=s(!1),O=s(null),k=s(null),A=s(null),j=s(0),te=s(l);te.current=l;let ne=s(u);ne.current=u;let M=ee||u||!l,N=e.features.fileUpload,re=e.features.voice,[P,F]=c(()=>Ki(re,e.locale,(e,n)=>t.transcribe(e,n))),ie=s(P);ie.current=P;let I=s({mode:re,locale:e.locale,transport:t});i(()=>{let n=I.current;n.mode===re&&n.locale===e.locale&&n.transport===t||(I.current={mode:re,locale:e.locale,transport:t},j.current++,ie.current.cancel(),A.current=null,T(!1),F(Ki(re,e.locale,(e,n)=>t.transcribe(e,n))))},[e.locale,re,t]),i(()=>()=>{j.current++,P.cancel()},[P]);let ae=r(e=>{let t=A.current;if(t===null)return!1;let n=Date.now()-t;return $i[e](`voiceStop`,{durationMs:n}),a.emit(`voiceStop`,{durationMs:n}),A.current=null,!0},[a]),oe=r(()=>{A.current!==null&&(P.stop(),T(!1),ae(`info`)&&n.play(`voiceStop`))},[ae,n,P]),se=r(()=>{j.current++,P.cancel(),T(!1),ae(`info`)&&n.play(`voiceStop`)},[ae,n,P]);i(()=>{(u||!l)&&se()},[l,se,u]),i(()=>{let e=O.current;if(!e)return;let t=e.getRootNode(),n=`activeElement`in t?t.activeElement:null;n&&e.closest(`.${Qi}-panel`)?.contains(n)||e.focus({preventScroll:!0})},[]),i(()=>{let e=O.current;if(!e)return;if(b.length===0){e.style.height=``;return}e.style.height=`auto`;let t=parseFloat(getComputedStyle(e).fontSize)*.7,n=Math.min(e.scrollHeight,160);e.style.height=`${n<40+t?40:n}px`},[b]);let ce=s(S);ce.current=S,i(()=>()=>ce.current.forEach(Ii),[]),i(()=>{if(v)return v.current={attachFromDrop:t=>{if(!N||!te.current||D.current||ne.current)return;let n=Fi(t,ce.current,e.attachments);n.accepted.length!==0&&($i.info(`attach (drop)`,{count:n.accepted.length,totalBytes:ea(n.accepted)}),a.emit(`attach`,{count:n.accepted.length,totalBytes:ea(n.accepted)}),C(e=>[...e,...n.accepted]))},fill:e=>{if(!te.current||D.current||ne.current)return;x(e);let t=O.current;t&&(t.focus({preventScroll:!0}),requestAnimationFrame(()=>t.setSelectionRange(t.value.length,t.value.length)))}},()=>{v.current&&(v.current=null)}},[v,N,u,e.attachments]),i(()=>{let t=O.current;if(!t)return;let n=t.closest(`.${Qi}-panel`);if(!n)return;let r=n=>{if(!te.current||D.current||ne.current)return;let r=n.clipboardData;if(!r)return;let i=n.target?.closest?.(`input, textarea, [contenteditable]:not([contenteditable='false'])`);if(i&&i!==t)return;if(N){let t=Fi(r.items,ce.current,e.attachments);if(t.accepted.length>0){n.preventDefault(),$i.info(`attach (paste)`,{count:t.accepted.length,totalBytes:ea(t.accepted)}),a.emit(`attach`,{count:t.accepted.length,totalBytes:ea(t.accepted)}),C(e=>[...e,...t.accepted]);return}}if(i===t)return;let o=r.getData(`text/plain`);o&&(n.preventDefault(),x(e=>e+o),t.focus())};return n.addEventListener(`paste`,r),()=>n.removeEventListener(`paste`,r)},[N,e.attachments,Qi]);let L=async()=>{let e=b.trim();if(!e&&S.length===0||!l||o||D.current||u)return;se(),D.current=!0,E(!0);let t=b,n=S;try{await m(e,n)&&(x(e=>e===t?``:e),C(e=>e===n?(n.forEach(Ii),ce.current=[],[]):e))}finally{D.current=!1,E(!1)}},R=e=>{e.key!==`Enter`||e.shiftKey||e.isComposing||(e.preventDefault(),o?h():L())},le=t=>{let n=t.target;if(!l||D.current||u){n.value=``;return}let r=Fi(n.files,S,e.attachments);r.accepted.length>0&&($i.info(`attach (file picker)`,{count:r.accepted.length,totalBytes:ea(r.accepted)}),a.emit(`attach`,{count:r.accepted.length,totalBytes:ea(r.accepted)}),C(e=>[...e,...r.accepted])),n.value=``},ue=e=>{!l||D.current||u||($i.info(`removeAttachment`,{id:e}),a.emit(`removeAttachment`,{id:e}),C(t=>{let n=t.find(t=>t.id===e);return n&&Ii(n),t.filter(t=>t.id!==e)}))},de=()=>{if(w){oe();return}if(!l||!P.isSupported||D.current||u)return;let e=++j.current;A.current=Date.now(),$i.info(`voiceStart`),a.emit(`voiceStart`,void 0),T(!0),n.play(`voiceStart`),P.start((t,n)=>{j.current!==e||!te.current||ne.current||D.current||!n||x(e=>`${e}${t} `)},()=>{j.current!==e||!te.current||(T(!1),ae(`debug`))})},fe=ta[e.composer.sendButton.icon];return _(`div`,{class:`${Qi}-composer`,"data-testid":q.composer,children:[S.length>0?g(`div`,{class:`${Qi}-attachments`,children:S.map(e=>g(Wi,{attachment:e,onRemove:()=>ue(e.id),disabled:M},e.id))}):null,_(`div`,{class:`${Qi}-composer-row`,children:[_(`div`,{class:`${Qi}-composer-actions`,children:[N?g(`button`,{type:`button`,class:`${Qi}-icon-btn`,onClick:()=>k.current?.click(),disabled:M,"aria-label":y.attach,"data-testid":q.composerAttach,children:g(Cr,{})}):null,P.isSupported?g(`button`,{type:`button`,class:`${Qi}-icon-btn`,onClick:de,disabled:M,"aria-label":w?y.micStop:y.micStart,"aria-pressed":w,"data-recording":w?`true`:void 0,"data-testid":q.composerVoice,children:g(wr,{})}):null,d&&f===`ai-agent`&&p?g(`button`,{type:`button`,class:`${Qi}-icon-btn`,onClick:p,disabled:M,"aria-label":y.talkToOperator,title:y.talkToOperator,"data-testid":q.operatorRequest,children:g(qr,{})}):null]}),g(`textarea`,{ref:O,name:`message`,class:`${Qi}-textarea`,rows:1,value:b,placeholder:y.composerPlaceholder,onInput:e=>x(e.target.value),onKeyDown:R,disabled:M,"aria-label":y.composerPlaceholder,"data-testid":q.composerInput}),o?g(`button`,{type:`button`,class:`${Qi}-send`,onClick:h,disabled:M,"aria-label":y.stop,"data-testid":q.composerStop,children:g(Sr,{})}):g(`button`,{type:`button`,class:`${Qi}-send`,"data-shape":e.composer.sendButton.shape,"data-variant":e.composer.sendButton.variant,onClick:()=>void L(),disabled:M||!b.trim()&&S.length===0,"aria-label":y.send,"data-testid":q.composerSend,children:g(fe,{})})]}),g(`input`,{ref:k,name:`attachments`,type:`file`,multiple:!0,accept:e.attachments.accept,onChange:le,disabled:M,class:`${Qi}-sr-only`,"data-testid":q.composerFileInput})]})}const ra=b.cssPrefix;function ia({visible:e,strings:t}){return e?g(`div`,{class:`${ra}-dropzone`,role:`status`,"aria-live":`polite`,children:t.dropZone}):null}function aa({containerRef:e,onDrop:t,disabled:n=!1}){let[r,a]=c(!1);return i(()=>{if(n){a(!1);return}let r=e.current;if(!r)return;let i=0,o=e=>{i+=1,e.dataTransfer?.types.includes(`Files`)&&(e.preventDefault(),a(!0))},s=()=>{--i,!(i>0)&&(i=0,a(!1))},c=e=>{e.dataTransfer?.types.includes(`Files`)&&e.preventDefault()},l=e=>{i=0,a(!1),e.dataTransfer&&(e.preventDefault(),t(e.dataTransfer.items))};return r.addEventListener(`dragenter`,o),r.addEventListener(`dragleave`,s),r.addEventListener(`dragover`,c),r.addEventListener(`drop`,l),()=>{r.removeEventListener(`dragenter`,o),r.removeEventListener(`dragleave`,s),r.removeEventListener(`dragover`,c),r.removeEventListener(`drop`,l)}},[e,n,t]),{visible:!n&&r}}function oa({itemCount:e,initialFocusIndex:t}){let[n,a]=c(!1),o=s(null),l=s(null),[u,d]=c(-1),f=r(()=>{a(!1),d(-1),o.current?.focus()},[]),p=r(()=>a(e=>!e),[]);return i(()=>{if(!n)return;let e=e=>{let t=l.current,n=o.current;if(!t||!n)return;let r=e.composedPath();r.includes(t)||r.includes(n)||(a(!1),d(-1))};return document.addEventListener(`click`,e,!0),()=>document.removeEventListener(`click`,e,!0)},[n]),i(()=>{if(!n||e===0)return;let r=t?.()??0;d(r<0||r>=e?0:r)},[n,e,t]),i(()=>{!n||u<0||(l.current?.querySelectorAll(`[role='menuitem']`))?.[u]?.focus()},[n,u]),{open:n,focusIndex:u,triggerRef:o,menuRef:l,toggle:p,close:f,onTriggerKey:r(e=>{(e.key===`ArrowDown`||e.key===`Enter`||e.key===` `)&&(e.preventDefault(),a(!0))},[]),onMenuKey:r(t=>{if(e!==0)switch(t.key){case`Escape`:t.preventDefault(),f();return;case`ArrowDown`:t.preventDefault(),d(t=>(t+1)%e);return;case`ArrowUp`:t.preventDefault(),d(t=>(t-1+e)%e);return;case`Home`:t.preventDefault(),d(0);return;case`End`:t.preventDefault(),d(e-1)}},[e,f])}}function sa({items:e,triggerLabel:t}){let n=b.cssPrefix,r=oa({itemCount:e.length}),i=e=>{e.disabled||(e.onSelect?.(),e.keepOpen||r.close())},a=(e,t)=>e.onSelectValue?.(t),o=(e,t)=>{let n=t.segments;if(!n?.length)return;let r=Math.max(0,n.findIndex(e=>e.value===t.value)),i=-1;if(e.key===`ArrowRight`||e.key===`Enter`||e.key===` `)i=(r+1)%n.length;else if(e.key===`ArrowLeft`)i=(r-1+n.length)%n.length;else return;e.preventDefault(),e.stopPropagation(),a(t,n[i].value)};return _(`div`,{class:`${n}-menu-wrap`,children:[g(`button`,{ref:r.triggerRef,type:`button`,class:`${n}-icon-btn`,"aria-label":t,"aria-haspopup":`menu`,"aria-expanded":r.open,title:t,onClick:r.toggle,onKeyDown:r.onTriggerKey,children:g(Ar,{})}),r.open?g(`div`,{ref:r.menuRef,class:`${n}-menu`,role:`menu`,"aria-label":t,onKeyDown:r.onMenuKey,tabIndex:-1,children:e.map(e=>e.segments?_(`div`,{role:`menuitem`,class:`${n}-menu-item ${n}-menu-item-segmented`,"aria-label":e.label,tabIndex:-1,onKeyDown:t=>o(t,e),children:[e.icon?g(`span`,{class:`${n}-menu-icon`,children:e.icon}):null,g(`span`,{class:`${n}-menu-label`,children:e.label}),g(`span`,{class:`${n}-segmented`,role:`group`,"aria-label":e.label,children:e.segments.map(t=>{let r=t.value===e.value;return g(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":r,class:`${n}-segment`,"data-on":r?`true`:void 0,lang:t.lang,title:t.value,tabIndex:-1,"data-testid":`${q.langSegment}-${t.value}`,onClick:()=>a(e,t.value),children:t.label},t.value)})})]},e.id):_(`button`,{type:`button`,role:`menuitem`,class:`${n}-menu-item`,"aria-pressed":e.type===`switch`?e.on:void 0,disabled:e.disabled,onClick:()=>i(e),children:[e.icon?g(`span`,{class:`${n}-menu-icon`,children:e.icon}):null,g(`span`,{class:`${n}-menu-label`,children:e.label}),e.type===`switch`&&e.on?g(`span`,{class:`${n}-menu-check`,"aria-hidden":`true`,children:g(Fr,{})}):null]},e.id))}):null]})}const ca=b.cssPrefix;function la(e){let t=typeof matchMedia!=`function`||matchMedia(`(prefers-color-scheme: dark)`).matches;return e===`auto`?t?`light`:`dark`:t?e===`light`?`dark`:`auto`:e===`dark`?`light`:`auto`}const ua={normal:`large`,large:`small`,small:`normal`};function da(e){return g(e===`light`?ei:e===`dark`?ti:ni,{})}function fa(e){return(e.split(`-`)[0]??e).toUpperCase()}function pa({panelProps:e,variant:t}){let{options:n,panelSize:r,feedback:i,onClose:a,onClear:o,onExpand:s,onFullscreen:c,onSoundToggle:l}=e,{onToggleHistory:u,onLocaleChange:d,onThemeChange:f,onTextSizeChange:m}=e,h=n.strings,v=n.mode,y=t===`chat`,b=p(()=>i.mutedSig.value).value,x=new Set(n.actions),S=e=>x.has(e),C=typeof matchMedia==`function`&&matchMedia(`(max-width: 640px)`).matches,w=e=>!C&&Di(e,v,r),T=n.themeMode,ee={auto:h.themeAuto,light:h.themeLight,dark:h.themeDark},E=n.textSize,D={small:h.textSizeSmall,normal:h.textSizeNormal,large:h.textSizeLarge},O=[];if(y&&S(`clear`)&&O.push({id:`clear`,icon:g(zr,{}),label:h.newConversation,onSelect:o}),S(`expand`)&&w(`expand`)){let e=r===`expanded`;O.push({id:`expand`,icon:g(e?Er:Tr,{}),label:e?h.collapse:h.expand,type:`switch`,on:e,onSelect:s})}if(S(`fullscreen`)&&w(`fullscreen`)){let e=r===`fullscreen`;O.push({id:`fullscreen`,icon:g(e?Or:Dr,{}),label:e?h.exitFullscreen:h.fullscreen,type:`switch`,on:e,onSelect:c})}y&&S(`sound`)&&O.push({id:`sound`,icon:g(b?Mr:jr,{}),label:b?h.soundOff:h.soundOn,type:`switch`,on:!b,onSelect:l}),S(`theme`)&&O.push({id:`theme`,icon:da(T),label:`${h.theme}: ${ee[T]}`,onSelect:()=>f(la(T)),keepOpen:!0}),S(`textSize`)&&O.push({id:`textSize`,icon:g(Nr,{}),label:`${h.textSize}: ${D[E]}`,onSelect:()=>m(ua[E]),keepOpen:!0}),S(`language`)&&n.availableLocales.length>1&&O.push({id:`language`,icon:g(Lr,{}),label:h.language,segments:n.availableLocales.map(e=>({value:e,label:fa(e),lang:e})),value:n.locale,onSelectValue:d});let k=!!a&&Oi(v,r,n.actions),A=y&&S(`history`);return _(`div`,{class:`${ca}-header-actions`,children:[A?g(`button`,{type:`button`,class:`${ca}-icon-btn`,onClick:u,"aria-label":h.history,title:h.history,"data-testid":q.actionHistory,children:g(Ir,{})}):null,O.length>0?g(sa,{items:O,triggerLabel:h.moreActions}):null,k?g(`button`,{type:`button`,class:`${ca}-icon-btn`,onClick:a,"aria-label":h.close,title:h.close,"data-testid":q.actionClose,children:g(gr,{})}):null]})}const ma=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,ha=/^https?:\/\/[^\s.]+\.[^\s]+$/i,ga=/^[+]?[\d\s().-]{6,}$/;function _a(e,t){return e.replace(/\{(\w+)\}/g,(e,n)=>String(t[n]??`{${n}}`))}function va(e){return Array.isArray(e)?e.length:e&&e.trim()?1:0}function ya(e,t,n){let r=e.required??!0,i=e.validation;if(e.type===`multiselect`){let e=va(t);return r&&e===0?n.formRequired:e===0?void 0:i?.minSelections!=null&&e<i.minSelections?_a(n.formChooseAtLeast,{min:i.minSelections}):i?.maxSelections!=null&&e>i.maxSelections?_a(n.formChooseAtMost,{max:i.maxSelections}):void 0}let a=typeof t==`string`?t.trim():``;if(!a)return r?n.formRequired:void 0;switch(e.type){case`email`:if(!ma.test(a))return n.formInvalidEmail;break;case`url`:if(!ha.test(a))return n.formInvalidUrl;break;case`tel`:if(!ga.test(a))return n.formInvalidTel;break;case`number`:{let e=Number(a);if(!Number.isFinite(e))return n.formInvalidNumber;if(i?.min!=null&&e<i.min)return _a(n.formNumberTooSmall,{min:i.min});if(i?.max!=null&&e>i.max)return _a(n.formNumberTooLarge,{max:i.max});break}default:break}if(i?.minLength!=null&&a.length<i.minLength)return _a(n.formTooShort,{min:i.minLength});if(i?.maxLength!=null&&a.length>i.maxLength)return _a(n.formTooLong,{max:i.maxLength});if(i?.pattern)try{if(!new RegExp(i.pattern).test(a))return n.formPatternMismatch}catch{}}function ba(e,t,n){let r={};for(let i of e){let e=ya(i,t[i.name],n);e&&(r[i.name]=e)}return r}function xa(e){let t={};for(let[n,r]of Object.entries(e)){let e=Array.isArray(r)?r.join(`, `):r;e&&e.trim()&&(t[n]=e.trim())}return t}const J=b.cssPrefix,Sa=`__other__`;function Ca({fields:e,strings:t,submitLabel:n,onSubmit:r,skipLabel:i,onSkip:a,footerHint:o,submitOnEnter:s,disabled:l,initialValues:u,hideActions:d,fieldTypeLabels:f,rootTestId:p,submitTestId:m,skipTestId:h}){let[v,y]=c(()=>({...Da(e),...u})),[b,x]=c({}),[S,C]=c({}),w=e=>{S[e]&&C(t=>({...t,[e]:``}))},T=(e,t)=>{y(n=>({...n,[e]:t})),w(e)},ee=(e,t)=>{x(n=>({...n,[e]:t})),w(e)},E=n=>{if(n.preventDefault(),l)return;let i=Oa(e,v,b),a=ba(e,i,t);if(Object.keys(a).length>0){C(a);return}r(xa(i))};return _(`form`,{class:`${J}-form`,onSubmit:E,onKeyDown:e=>{!s||e.key!==`Enter`||e.shiftKey||e.isComposing||e.target?.tagName===`TEXTAREA`&&E(e)},"data-testid":p,noValidate:!0,children:[e.map(e=>g(wa,{field:e,value:v[e.name],otherText:b[e.name]??``,error:S[e.name],disabled:l,typeLabel:f?.[e.name],strings:t,onChange:t=>T(e.name,t),onOtherChange:t=>ee(e.name,t)},e.name)),d?null:_(`div`,{class:`${J}-form-actions`,children:[o?g(`span`,{class:`${J}-form-hint`,children:o}):null,i&&a?g(`button`,{type:`button`,class:`${J}-form-skip`,onClick:a,disabled:l,"data-testid":h,children:i}):null,g(`button`,{type:`submit`,class:`${J}-form-submit`,disabled:l,"data-testid":m,children:n})]})]})}function wa({field:e,value:t,otherText:n,error:r,disabled:i,typeLabel:a,strings:o,onChange:s,onOtherChange:c}){let l=Ta({field:e,value:t,otherText:n,disabled:i,strings:o,onChange:s,onOtherChange:c,fieldTid:hi(q.formField,e.name)});return _(`label`,{class:`${J}-field`,"data-field":e.name,"data-invalid":r?`true`:void 0,children:[_(`span`,{class:`${J}-field-head`,children:[_(`span`,{class:`${J}-field-label`,children:[e.label,e.required??!0?g(`span`,{class:`${J}-field-req`,"aria-hidden":`true`,children:` *`}):null]}),a?g(`span`,{class:`${J}-field-type`,children:a}):null]}),l,e.validationHint&&!r?g(`span`,{class:`${J}-field-hint`,children:e.validationHint}):null,r?g(`span`,{class:`${J}-field-error`,role:`alert`,children:r}):null]})}function Ta(e){let{field:t,value:n,otherText:r,disabled:i,strings:a,onChange:o,onOtherChange:s,fieldTid:c}=e,l=typeof n==`string`?n:``;switch(t.type){case`textarea`:return g(`textarea`,{class:`${J}-field-input`,rows:3,value:l,placeholder:t.placeholder,disabled:i,onInput:e=>o(e.target.value),"data-testid":c});case`select`:return _(`select`,{class:`${J}-field-input`,value:l,disabled:i,onChange:e=>o(e.target.value),"data-testid":c,children:[g(`option`,{value:``,children:t.placeholder??`—`}),(t.options??[]).map(e=>g(`option`,{value:e.value,children:e.label??e.value},e.value))]});case`radio`:{let e=t.allowOther&&l===Sa;return _(`div`,{class:`${J}-field-choices`,role:`radiogroup`,"data-testid":c,children:[(t.options??[]).map(e=>_(`label`,{class:`${J}-choice`,children:[g(`input`,{type:`radio`,name:`${J}-${t.name}`,checked:l===e.value,disabled:i,onChange:()=>o(e.value)}),g(`span`,{children:e.label??e.value})]},e.value)),t.allowOther?_(`label`,{class:`${J}-choice`,children:[g(`input`,{type:`radio`,name:`${J}-${t.name}`,checked:l===Sa,disabled:i,onChange:()=>o(Sa)}),g(`span`,{children:a.formOther})]}):null,e?g(`input`,{class:`${J}-field-input`,value:r,placeholder:t.placeholder??a.formOtherPlaceholder,disabled:i,onInput:e=>s(e.target.value)}):null]})}case`checkbox`:return _(`label`,{class:`${J}-choice`,children:[g(`input`,{type:`checkbox`,checked:l===`true`,disabled:i,onChange:e=>o(e.target.checked?`true`:``),"data-testid":c}),g(`span`,{children:t.placeholder??t.label})]});case`multiselect`:{let e=Array.isArray(n)?n:[],l=(t,n)=>o(n?[...e,t]:e.filter(e=>e!==t));return _(`div`,{class:`${J}-field-choices`,"data-testid":c,children:[(t.options??[]).map(t=>_(`label`,{class:`${J}-choice`,children:[g(`input`,{type:`checkbox`,checked:e.includes(t.value),disabled:i,onChange:e=>l(t.value,e.target.checked)}),g(`span`,{children:t.label??t.value})]},t.value)),t.allowOther||(t.options??[]).length===0?g(`textarea`,{class:`${J}-field-input`,rows:2,value:r,placeholder:t.placeholder??a.formOtherPlaceholder,disabled:i,onInput:e=>s(e.target.value)}):null]})}default:return g(`input`,{class:`${J}-field-input`,type:Ea(t.type),value:l,placeholder:t.placeholder,disabled:i,onInput:e=>o(e.target.value),"data-testid":c})}}function Ea(e){switch(e){case`number`:case`email`:case`tel`:case`url`:case`date`:case`time`:return e;default:return`text`}}function Da(e){let t={};for(let n of e)n.defaultValue!=null&&(t[n.name]=n.type===`multiselect`?n.defaultValue.split(`,`).map(e=>e.trim()).filter(Boolean):n.defaultValue);return t}function Oa(e,t,n){let r={...t};for(let i of e){let e=n[i.name]?.trim();if(i.type===`radio`&&i.allowOther&&t[i.name]===Sa)r[i.name]=e??``;else if(i.type===`multiselect`&&e){let n=e.split(/[,\n;]+/).map(e=>e.trim()).filter(Boolean),a=Array.isArray(t[i.name])?t[i.name]:[];r[i.name]=[...a,...n]}}return r}const ka=b.cssPrefix;function Aa({form:e,strings:t,onSubmit:n,onSkip:r}){return _(`div`,{class:`${ka}-form-gate`,"data-testid":q.formGate,children:[e.title?g(`h3`,{class:`${ka}-form-gate-title`,children:e.title}):null,e.description?g(`p`,{class:`${ka}-form-gate-desc`,children:e.description}):null,g(Ca,{fields:e.fields,strings:t,submitLabel:e.submitLabel??t.formSubmit,onSubmit:n,skipLabel:e.skippable?t.formSkip:void 0,onSkip:e.skippable?r:void 0,submitTestId:q.formSubmit,skipTestId:q.formSkip})]})}function ja({marker:e,strings:t,onFill:n}){let r=e.outcome===`skipped`,i=r?t.formSkipped:t.formSubmitted,a=e.title?_(h,{children:[g(`span`,{children:e.title}),g(`span`,{class:`${ka}-sr-only`,children:i})]}):g(`span`,{children:i}),o=e.form?.reviewable??!1,s=!r&&o&&e.values&&Object.keys(e.values).length>0?e.values:null;if(s){let t=t=>e.form?.fields.find(e=>e.name===t)?.label??t;return _(`details`,{class:`${ka}-form-done`,"data-outcome":e.outcome,"data-testid":q.formDone,children:[_(`summary`,{class:`${ka}-form-done-summary`,"data-testid":q.formDoneToggle,children:[g(Fr,{}),a,g(xr,{})]}),g(`dl`,{class:`${ka}-form-answers`,"data-testid":q.formAnswers,children:Object.entries(s).map(([e,n])=>_(`div`,{class:`${ka}-form-answer`,children:[g(`dt`,{children:t(e)}),g(`dd`,{children:n})]},e))})]})}return _(`div`,{class:`${ka}-form-done`,"data-outcome":e.outcome,"data-testid":q.formDone,role:`status`,children:[g(r?Pr:Fr,{}),a,r&&e.form?.reopenable&&n?g(`button`,{type:`button`,class:`${ka}-form-done-fill`,"data-testid":q.formFill,onClick:n,children:t.formFillOut}):null]})}function Ma(e){if(!e)return!1;let t=e.startsWith(`tool:`)?e.slice(5):e;return t===`ask-user-questions`||t===`ask_user_questions`}const Na=b.cssPrefix;function Pa(e){return e.startsWith(`tool:`)||e.startsWith(`tool-`)?e.slice(5):e}function Fa(e,t){let n=e===`output-available`||e===`output-error`||e===`output-denied`,r=e===`approval-responded`||t?.approved!==void 0;return{terminal:n,responded:r,decided:n||r}}function Ia({status:e,icon:t,label:n}){return _(`span`,{class:`${Na}-toolui-badge ${Na}-toolui-status`,"data-status":e,children:[g(`span`,{class:`${Na}-toolui-status-icon`,children:t}),n]})}function La(e,t){return e===`output-error`?`error`:e===`output-denied`||t?.approved===!1?`denied`:e===`output-available`?`completed`:e===`approval-responded`||t?.approved===!0?`responded`:e===`approval-requested`?`awaiting`:`running`}function Ra(e,t,n={}){return n.submitted?`responded`:Va(La(e,t),n.superseded,n.live??!0)}function za({status:e}){return g(e===`denied`||e===`error`||e===`superseded`?pi:e===`completed`||e===`responded`?fi:di,{})}function Ba(e,t){switch(e){case`awaiting`:return t.statusAwaiting;case`responded`:return t.statusResponded;case`completed`:return t.statusCompleted;case`denied`:return t.statusDenied;case`error`:return t.statusError;case`superseded`:return t.statusSuperseded;default:return t.statusRunning}}function Va(e,t,n){return t&&(e===`awaiting`||e===`running`)?`superseded`:!n&&e===`running`?`error`:e}function Ha({state:e,approval:t,strings:n,superseded:r,live:i=!0,submitted:a=!1}){let o=Ra(e,t,{superseded:r,live:i,submitted:a});return g(Ia,{status:o,icon:g(za,{status:o}),label:Ba(o,n)})}function Ua({name:e,state:t,approval:n,strings:r,superseded:i,live:a,submitted:o}){return _(h,{children:[_(`span`,{class:`${Na}-toolui-name-pill`,children:[g(ui,{}),g(`span`,{class:`${Na}-toolui-name-text`,children:e})]}),g(Ha,{state:t,approval:n,strings:r,superseded:i,live:a,submitted:o}),g(`span`,{class:`${Na}-toolui-chevron`,children:g(Br,{})})]})}function Wa({part:e,strings:t,testid:n,superseded:r,live:i,submitted:a}){let s=o(()=>u(()=>e.inputSig.value),[e]),c=o(()=>u(()=>e.outputSig.value),[e]),l=o(()=>u(()=>e.errorSig.value),[e]),d=o(()=>u(()=>e.stateSig.value),[e]),f=o(()=>u(()=>e.approvalSig.value),[e]);return _(`details`,{class:`${Na}-toolui ${Na}-toolui-collapsible`,"data-testid":n,children:[g(`summary`,{class:`${Na}-toolui-head`,children:g(Ua,{name:Pa(e.toolName),state:d.value,approval:f.value,strings:t,superseded:r,live:i,submitted:a})}),g(Ga,{label:t.toolParameters,value:s.value}),c.value===void 0?null:g(Ga,{label:t.toolResult,value:c.value}),l.value?g(Ga,{label:t.statusError,value:l.value,error:!0}):null]})}function Ga({label:e,value:t,error:n}){let r=n?String(t??``):qa(Ka(t));return r?_(`div`,{class:`${Na}-toolui-section`,children:[g(`span`,{class:`${Na}-toolui-label`,children:e}),g(`pre`,{class:`${Na}-toolui-code`,"data-error":n?`true`:void 0,children:r})]}):null}function Ka(e){if(e&&typeof e==`object`){let t=e;if(t.storage===`tool-result-ref`&&`summary`in t)return t.summary}return e}function qa(e){if(e==null)return``;try{let t=typeof e==`string`?e:JSON.stringify(e,null,2);return!t||t===`{}`||t===`[]`||t===`""`?``:t.length>800?`${t.slice(0,800)}…`:t}catch{return``}}function Ja(e){return e.partsSig.value.some(e=>e.kind===`text`&&e.textSig.value.length>0)}function Ya(e){return e.partsSig.value.some(e=>e.kind===`reasoning`)}function Xa(e){return e.streaming&&!e.bufferedHold&&!(e.reasoningVisible&&e.working)}function Za(e){let{streaming:t,reasoningVisible:n,emptyReply:r,hidden:i}=e,a=e.responseMode===`buffered`&&t,o=t&&!e.hasAnswerText;return{streaming:t,bufferedHold:a,reasoningVisible:n,working:o,showStreamDots:Xa({streaming:t,bufferedHold:a,reasoningVisible:n,working:o}),emptyReply:r,hidden:i}}function Qa(e,t){let n=e.stateSig.value,r=e.approvalSig.value,{terminal:i,responded:a,decided:o}=Fa(n,r),s=t.continuationStreaming===!0&&!o,c=t.superseded&&!o&&!s;return{pill:Ra(n,r,{superseded:c,live:t.live,submitted:s}),state:n,terminal:i,decided:o||s,showApproveReject:!o&&!t.superseded&&!s,showAnswered:a&&!i&&!c,showSubmitted:s,showEdit:a&&t.active&&!i,skipped:c,answeredApproved:r?.approved}}function $a({textSig:e,doneSig:t}){let n=s(null);return a(()=>{let r=n.current;if(!r)return;r.classList.add(`${b.cssPrefix}-md`);let i=y.default_renderer(r),a=y.parser(i),o=0,s=d(()=>{let n=e.value,s=t.value;n.length<o&&(r.replaceChildren(),i=y.default_renderer(r),a=y.parser(i),o=0);let c=n.slice(o);c&&y.parser_write(a,c),o=n.length,s&&y.parser_end(a)}),c=new MutationObserver(e=>{for(let t of e)for(let e of t.addedNodes){if(!(e instanceof HTMLElement))continue;let t=e.matches?.(`a`)?[e]:[...e.querySelectorAll?.(`a`)??[]];for(let e of t)to(e)}});c.observe(r,{childList:!0,subtree:!0});for(let e of r.querySelectorAll(`a`))to(e);let l=e=>{let t=e.target?.closest?.(`a`);if(!t||!(t instanceof HTMLAnchorElement))return;let n=t.getAttribute(`href`)??``;!n||n.startsWith(`#`)||(e.preventDefault(),window.open(n,`_blank`,`noopener,noreferrer`))};return r.addEventListener(`click`,l),()=>{s(),c.disconnect(),r.removeEventListener(`click`,l)}},[e,t]),g(`div`,{ref:n})}function eo({text:e}){return g($a,{textSig:o(()=>f(e),[e]),doneSig:o(()=>f(!0),[])})}function to(e){let t=e.getAttribute(`href`)??``;if(!t||t.startsWith(`#`))return;e.target!==`_blank`&&(e.target=`_blank`);let n=new Set((e.rel||``).split(/\s+/).filter(Boolean));n.add(`noopener`),n.add(`noreferrer`),e.rel=[...n].join(` `)}const no=b.cssPrefix;function ro({messageId:e,initial:t,strings:n,onFeedback:r}){let[a,o]=c(t);i(()=>o(t),[e,t]);let s=t=>{let n=a===t?null:t;o(n),r(e,n)};return _(`div`,{class:`${no}-feedback`,role:`group`,"data-testid":q.messageFeedback,children:[g(`button`,{type:`button`,class:`${no}-msg-action`,"data-active":a===`up`?`true`:void 0,"aria-pressed":a===`up`,"aria-label":n.feedbackUp,title:n.feedbackUp,onClick:()=>s(`up`),"data-testid":q.feedbackUp,children:g(ci,{})}),g(`button`,{type:`button`,class:`${no}-msg-action`,"data-active":a===`down`?`true`:void 0,"aria-pressed":a===`down`,"aria-label":n.feedbackDown,title:n.feedbackDown,onClick:()=>s(`down`),"data-testid":q.feedbackDown,children:g(li,{})}),g(`span`,{class:`${no}-sr-only`,role:`status`,"aria-live":`polite`,children:a?n.feedbackThanks:``})]})}const io=b.cssPrefix;function ao({part:e,strings:t}){let n=e.title||e.filename||e.url||t.sources;return e.url?_(`a`,{class:`${io}-source`,href:e.url,target:`_blank`,rel:`noreferrer noopener`,"data-testid":q.source,children:[g(`span`,{class:`${io}-source-icon`,"aria-hidden":`true`,children:`🔗`}),g(`span`,{class:`${io}-source-label`,children:n})]}):_(`span`,{class:`${io}-source`,"data-testid":q.source,children:[g(`span`,{class:`${io}-source-icon`,"aria-hidden":`true`,children:`📄`}),g(`span`,{class:`${io}-source-label`,children:n})]})}const oo=b.cssPrefix;function so({part:e,strings:t,active:n,superseded:r=!1,continuationStreaming:i=!1,onDecision:a,onEdit:s}){let c=o(()=>u(()=>e.approvalSig.value),[e]),l=o(()=>u(()=>Qa(e,{active:n,superseded:r,continuationStreaming:i})),[e,n,r,i]).value,{terminal:d,showApproveReject:f,showAnswered:p,showSubmitted:m,showEdit:v,skipped:y}=l,b=Pa(e.toolName),x=l.answeredApproved,S=e.toolCallId,C=_(h,{children:[g(`p`,{class:`${oo}-toolui-prompt`,children:t.approvalPrompt.replace(`{tool}`,b)}),g(`p`,{class:`${oo}-toolui-subtle`,children:t.approvalBody})]});m?C=g(`p`,{class:`${oo}-toolui-subtle`,children:t.approvalSubmitting}):p&&x!==!1?C=_(h,{children:[_(`p`,{class:`${oo}-toolui-prompt`,children:[t.approvalYourResponse.replace(`{decision}`,x?t.approve:t.reject),c.value?.reason?` — ${c.value.reason}`:``]}),v?g(`p`,{class:`${oo}-toolui-subtle`,children:t.approvalEditHint}):null,v?null:g(`p`,{class:`${oo}-toolui-subtle`,children:t.approvalSubmitting})]}):p&&(C=g(h,{}));let w=f||m||v||p&&x!==!1;return _(`div`,{class:`${oo}-toolui-group`,"data-testid":l.decided?q.toolDecision:q.toolApproval,children:[g(Wa,{part:e,strings:t,superseded:y,submitted:m}),y||d||!w?null:_(`div`,{class:`${oo}-toolui ${oo}-toolui-body`,children:[C,f?_(`div`,{class:`${oo}-toolui-actions`,children:[g(`button`,{type:`button`,class:`${oo}-form-skip`,disabled:!n,onClick:()=>a(S,!1),"data-testid":q.toolReject,children:t.reject}),g(`button`,{type:`button`,class:`${oo}-form-submit`,disabled:!n,onClick:()=>a(S,!0),"data-testid":q.toolApprove,children:t.approve})]}):null,v?g(`div`,{class:`${oo}-toolui-actions`,children:g(`button`,{type:`button`,class:`${oo}-form-skip`,onClick:()=>s(S),"data-testid":q.toolEdit,children:t.edit})}):null]})]})}const co=new Set([`text`,`email`,`phone`,`number`,`date`,`single-select`,`multi-select`,`boolean`]);function lo(e){let t=e&&typeof e==`object`?e:{},n=(Array.isArray(t.questions)?t.questions:[]).map(uo).filter(e=>e!==null);return{intro:mo(t.intro),questions:n}}function uo(e,t){if(!e||typeof e!=`object`)return null;let n=e,r=co.has(n.type)?n.type:`text`;return{key:mo(n.key)??`q${t+1}`,question:mo(n.question)??`Please provide the missing information.`,type:r,options:Array.isArray(n.options)?n.options.filter(e=>typeof e==`string`&&e.trim().length>0):void 0,required:typeof n.required==`boolean`?n.required:void 0,helpText:mo(n.helpText)}}function fo(e){switch(e){case`text`:return`textarea`;case`phone`:return`tel`;case`single-select`:case`boolean`:return`radio`;case`multi-select`:return`multiselect`;default:return e}}function po(e,t,n){return e.questions.map(e=>{let r=fo(e.type),i=e.type===`boolean`?[{value:`yes`,label:t},{value:`no`,label:n}]:(e.options??[]).map(e=>({value:e,label:e}));return{name:e.key,label:e.question,type:r,required:e.required??!1,options:i.length>0?i:void 0,validationHint:e.helpText}})}function mo(e){return typeof e==`string`&&e.trim()?e.trim():void 0}const Y=b.cssPrefix,ho={text:`qtypeText`,email:`qtypeEmail`,phone:`qtypePhone`,number:`qtypeNumber`,date:`qtypeDate`,"single-select":`qtypeChooseOne`,"multi-select":`qtypeChooseAny`,boolean:`qtypeBoolean`};function go(e,t){let n={};for(let r of e)n[r.key]=t[ho[r.type]];return n}function _o({part:e,strings:t,active:n,superseded:r=!1,continuationStreaming:i=!1,onDecision:a,onEdit:s}){let l=o(()=>u(()=>e.stateSig.value),[e]).value,d=o(()=>u(()=>e.approvalSig.value),[e]).value,f=o(()=>u(()=>lo(e.inputSig.value)),[e]).value,{terminal:p,decided:m}=Fa(l,d),h=m&&d?.approved===!0,v=i&&!m,y=!m&&!r&&!v,b=!y&&!h&&!v,x=h&&n&&!p,S=f.questions,[C,w]=c(null),T=C??(y||h||v),[ee,E]=c(!1),D=S.length>1?hr:Wr,O=y?t.inputRequired:t.inputBadge,k=v?g(`p`,{class:`${Y}-toolui-subtle`,children:t.approvalSubmitting}):y?g(vo,{req:f,strings:t,active:n,resolve:(t,n)=>a(e.toolCallId,n,t)}):ee?g(Ca,{fields:po(f,t.confirmYes,t.confirmNo),strings:t,submitLabel:t.inputSubmit,onSubmit:()=>{},disabled:!0,hideActions:!0,fieldTypeLabels:go(S,t),initialValues:h?wo(S,d?.reason):void 0}):g(yo,{questions:S,answers:h?Co(d?.reason):{},strings:t}),A=`completed`,j=t.inputAnswered;return b?(A=`superseded`,j=t.inputSkipped):v&&(A=`responded`,j=t.statusResponded),_(`details`,{class:`${Y}-toolui ${Y}-toolui-collapsible${r?` ${Y}-toolui-stale`:``}`,open:T,onToggle:e=>{let t=e.currentTarget.open;t!==T&&w(t)},"data-testid":y?q.toolAskQuestions:q.toolDecision,children:[_(`summary`,{class:`${Y}-toolui-head`,children:[_(`span`,{class:`${Y}-toolui-q-pill`,children:[g(D,{}),O]}),_(`span`,{class:`${Y}-toolui-head-end`,children:[y?null:g(Ia,{status:A,icon:g(b?pi:fi,{}),label:j}),g(`span`,{class:`${Y}-toolui-chevron`,children:g(Br,{})})]})]}),_(`div`,{class:`${Y}-toolui-collapse-body`,children:[f.intro?g(`div`,{class:`${Y}-toolui-desc`,children:f.intro}):null,k,y||v?null:_(`div`,{class:`${Y}-toolui-footer`,children:[_(`button`,{type:`button`,class:`${Y}-toolui-options-toggle`,onClick:()=>E(e=>!e),"data-testid":q.toolAskOptions,children:[g(`span`,{class:`${Y}-toolui-options-chevron${ee?` ${Y}-open`:``}`,children:g(Br,{})}),ee?t.hideOptions:t.showOptions]}),x?g(`button`,{type:`button`,class:`${Y}-form-skip`,onClick:()=>s(e.toolCallId),"data-testid":q.toolEdit,children:t.edit}):null]})]})]})}function vo({req:e,strings:t,active:n,resolve:r}){let i=po(e,t.confirmYes,t.confirmNo),a=e.questions.length===1&&e.questions[0]?.type===`text`;return g(Ca,{fields:i,strings:t,disabled:!n,submitLabel:t.inputSubmit,footerHint:a?t.inputSubmitHint:void 0,onSubmit:t=>r(xo(e.questions,t),!0),skipLabel:t.inputSkip,onSkip:()=>r(void 0,!1),submitOnEnter:a,fieldTypeLabels:go(e.questions,t),submitTestId:q.toolInputSubmit,skipTestId:q.toolInputSkip})}function yo({questions:e,answers:t,strings:n}){return g(`div`,{class:`${Y}-toolui-summary`,"data-testid":q.toolAskSummary,children:e.map(e=>_(`div`,{class:`${Y}-field`,children:[g(`span`,{class:`${Y}-field-head`,children:_(`span`,{class:`${Y}-field-label`,children:[e.question,e.required?g(`span`,{class:`${Y}-field-req`,"aria-hidden":`true`,children:` *`}):null]})}),g(`p`,{class:`${Y}-toolui-answer`,children:bo(e,t[e.key],n)||`—`})]},e.key))})}function bo(e,t,n){return e.type===`boolean`?t===`yes`?n.confirmYes:t===`no`?n.confirmNo:t??``:t??``}function xo(e,t){let n=e.flatMap(e=>{let n=t[e.key];if(n==null||n.trim()===``)return[];let r=e.type===`multi-select`?n.split(`,`).map(e=>e.trim()).filter(Boolean):n;return[{key:e.key,value:r}]});return JSON.stringify({answers:n})}function So(e){if(!e)return{};let t=(()=>{try{return JSON.parse(e)}catch{return}})()?.answers;if(!Array.isArray(t))return{};let n={};for(let e of t)if(e&&typeof e==`object`&&`key`in e){let{key:t,value:r}=e;if(typeof t!=`string`)continue;typeof r==`string`?n[t]=r:Array.isArray(r)&&(n[t]=r.filter(e=>typeof e==`string`))}return n}function Co(e){let t=So(e),n={};for(let[e,r]of Object.entries(t))n[e]=Array.isArray(r)?r.join(`, `):r;return n}function wo(e,t){let n=So(t),r={};for(let t of e){let e=n[t.key];e!==void 0&&(t.type===`multi-select`?r[t.key]=Array.isArray(e)?e:[e]:r[t.key]=Array.isArray(e)?e[0]??``:e)}return r}function To({part:e,strings:t,live:n}){let r=o(()=>u(()=>e.inputSig.value),[e]),i=o(()=>u(()=>e.outputSig.value),[e]),a=o(()=>u(()=>e.errorSig.value),[e]);return o(()=>u(()=>!!qa(r.value)||!!a.value||!!qa(Ka(i.value))),[r,i,a]).value?g(Wa,{part:e,strings:t,testid:q.toolCall,live:n}):null}const X=b.cssPrefix,Eo=v(Do);function Do({message:e,status:t,strings:n,responseMode:r,showReasoning:i,showToolCalls:a,showSources:s,interactive:c=!1,superseded:l=!1,tool:d,onRetry:f,enableMessageFeedback:p=!1,onFeedback:m}){let h=o(()=>u(()=>e.partsSig.value),[e]).value,v=o(()=>u(()=>Xn(e)),[e]),y=o(()=>u(()=>Qn(e)),[e]),b=o(()=>u(()=>Ja(e)),[e]),x=o(()=>u(()=>i&&Ya(e)),[e,i]),S=t===`streaming`,C=e.role===`assistant`&&S,w=Za({streaming:C,responseMode:r,reasoningVisible:x.value,hasAnswerText:b.value,emptyReply:v.value,hidden:y.value}),{bufferedHold:T,working:ee,showStreamDots:E}=w;if(w.hidden)return null;let D=ko(e.createdAt),O=e.role===`assistant`||e.role===`operator`,k=p&&!!m&&!!e.serverMessageId&&O&&!S&&t!==`error`&&!v.value,A=S?``:h.filter(e=>e.kind===`text`).map(e=>e.textSig.peek()).join(`
11
11
 
12
- `).trim(),k=!b&&e.status!==`error`&&!m.value&&O.length>0,A=D||k;return h(`div`,{class:`${X}-bubble-row`,"data-role":e.role,"data-testid":di(q.messageBubble,e.serverMessageId??e.id),children:g(`div`,{class:`${X}-bubble-col`,children:[g(`div`,{class:`${X}-bubble`,children:[e.role===`operator`&&e.operatorInitials?h(`span`,{class:`${X}-bubble-author`,children:e.operatorInitials}):null,g(`div`,{class:`${X}-bubble-body`,children:[S?h(jo,{label:t.loading}):p.map((n,l)=>h(Eo,{part:n,active:C,live:b,strings:t,showReasoning:r,showToolCalls:i,showSources:a,interactive:o&&(n.kind!==`tool`||Rn(e,l)),superseded:s,continuationStreaming:e.continuationStreaming===!0,tool:c},`${ko(n)}#${l}`)),w&&h(Ao,{}),e.status===`error`&&e.errorText||m.value?g(`div`,{class:`${X}-error`,role:`alert`,children:[h(`span`,{children:e.errorText??t.errorGeneric}),l?h(`button`,{type:`button`,class:`${X}-error-retry`,onClick:l,"data-testid":q.messageRetry,children:t.errorRetry}):null]}):null]})]}),T||A?g(`div`,{class:`${X}-bubble-meta`,children:[T?h(`time`,{class:`${X}-bubble-time`,dateTime:T.iso,title:T.full,children:T.short}):null,A?g(`div`,{class:`${X}-bubble-actions`,children:[D&&e.serverMessageId?h($a,{messageId:e.serverMessageId,initial:e.feedback??null,strings:t,onFeedback:d}):null,k?h(wo,{text:O,strings:t}):null]}):null]}):null]})})}function wo({text:e,strings:t}){let[n,r]=c(!1),i=()=>{navigator.clipboard?.writeText(e).then(()=>{r(!0),setTimeout(()=>r(!1),1500)}).catch(()=>{})},a=n?t.copied:t.copy;return h(`button`,{type:`button`,class:`${X}-msg-action`,"data-active":n?`true`:void 0,"aria-label":a,title:a,onClick:i,"data-testid":q.messageCopy,children:h(n?jr:ri,{})})}function To(e){if(typeof e!=`number`||!Number.isFinite(e))return null;try{let t=new Date(e);return{short:t.toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`}),full:t.toLocaleString(void 0,{dateStyle:`full`,timeStyle:`short`}),iso:t.toISOString()}}catch{return null}}function Eo({part:e,active:t,live:n,strings:r,showReasoning:i,showToolCalls:a,showSources:o,interactive:s,superseded:c,continuationStreaming:l,tool:u}){switch(e.kind){case`step-start`:return null;case`text`:return h(Ya,{textSig:e.textSig,doneSig:e.doneSig});case`reasoning`:return i?h(Oo,{part:e,active:t,strings:r}):null;case`tool`:return h(Do,{part:e,strings:r,showToolCalls:a,interactive:s,superseded:c,continuationStreaming:l,live:n,tool:u});case`file`:return e.mediaType.startsWith(`image/`)?h(`img`,{src:e.url,alt:``,loading:`lazy`}):h(`a`,{href:e.url,target:`_blank`,rel:`noreferrer noopener`,children:e.url});case`source`:return o?h(to,{part:e,strings:r}):null}}function Do({part:e,strings:t,showToolCalls:n,interactive:r,superseded:i,continuationStreaming:a,live:o,tool:s}){let c=f(()=>e.approvalSig.value!==void 0);if(s?.humanInLoop){if(Oa(e.toolName))return h(po,{part:e,strings:t,active:r,superseded:i,continuationStreaming:a,onDecision:s.onDecision,onEdit:s.onEdit});if(c.value)return h(ro,{part:e,strings:t,active:r,superseded:i,continuationStreaming:a,onDecision:s.onDecision,onEdit:s.onEdit})}return n?h(xo,{part:e,strings:t,live:o}):null}function Oo({part:e,active:t,strings:n}){return g(`details`,{class:`${X}-reasoning`,"data-testid":q.reasoning,open:t,"data-active":t?`true`:void 0,children:[h(`summary`,{class:`${X}-reasoning-summary`,children:h(`span`,{class:`${X}-reasoning-label`,children:t?n.thinking:n.thoughts})}),h(`div`,{class:`${X}-reasoning-body`,children:h(Ya,{textSig:e.textSig,doneSig:e.doneSig})})]})}function ko(e){switch(e.kind){case`text`:case`reasoning`:case`step-start`:return`${e.kind}:${e.id}`;case`tool`:return`tool:${e.toolCallId}`;case`file`:return`file:${e.url}`;case`source`:return`source:${e.sourceId}`}}function Ao(){return g(`span`,{class:`${X}-typing`,"data-testid":q.typingDots,"aria-hidden":`true`,children:[h(`span`,{}),h(`span`,{}),h(`span`,{})]})}function jo({label:e}){return g(`span`,{class:`${X}-loading`,role:`status`,children:[h(`span`,{class:`${X}-loading-spinner`,"aria-hidden":`true`}),h(`span`,{class:`${X}-loading-label`,children:e})]})}const Mo=y.cssPrefix;function No({messagesSig:e,strings:t,responseMode:n,showReasoning:r,showToolCalls:o,showSources:l,enableMessageFeedback:u,onFeedback:d,loading:p,idle:m,tool:_,onRetry:v,form:y,formMarkers:b,onFillForm:x}){let S=s(null),C=f(()=>e.value),[w,T]=c(!1),E=s(!1),D=s(!1),O=s(!1),k=s(0),A=()=>O.current||performance.now()-k.current<350,j=s(0),ee=e=>{let t=e.scrollHeight-e.clientHeight>1;e.dataset.fadeTop=t&&e.scrollTop>1?`true`:`false`,e.dataset.fadeBottom=t&&e.scrollHeight-e.scrollTop-e.clientHeight>1?`true`:`false`},te=e=>T(e.scrollHeight-e.scrollTop-e.clientHeight>240),M=e=>{j.current=performance.now(),e.scrollTop=e.scrollHeight,ee(e)},N=(e,t)=>{M(e);let n=t,r=0,i=()=>{D.current||A()||(M(e),--n>0&&(r=requestAnimationFrame(i)))};return t>0&&(r=requestAnimationFrame(i)),()=>cancelAnimationFrame(r)},ne=(e,t)=>{let n,r,i,a=-1,o=()=>{n.disconnect(),r.disconnect(),clearTimeout(i)},s=()=>{if(D.current||A()||a>=0&&e.scrollTop<a-4)return o();M(e),a=e.scrollTop};return n=new ResizeObserver(s),r=new MutationObserver(s),s(),n.observe(e),r.observe(e,{childList:!0,subtree:!0,characterData:!0}),i=setTimeout(o,t),o},re=C.value[0]?.id;a(()=>{let e=S.current;if(e&&C.value.length!==0&&(E.current=!0,C.value.some(e=>e.role===`user`)))return ne(e,300)},[re]);let ie=s(0);i(()=>{let e=S.current,t=C.value,n=ie.current;if(ie.current=t.length,e&&E.current){if(t.slice(n).some(e=>e.role===`user`))return D.current=!1,N(e,3);t.some(e=>e.role===`user`)&&(D.current||A()||e.scrollHeight-e.scrollTop-e.clientHeight<120&&M(e))}},[C.value.length]);let ae=s(null);i(()=>{let e=S.current,t=C.value.at(-1),n=ae.current;if(ae.current=t?{id:t.id,streaming:t.status===`streaming`}:null,e&&E.current&&!(!t||t.id!==n?.id||n.streaming||t.status!==`streaming`))return D.current=!1,N(e,3)},[C.value]),i(()=>{let e=S.current;if(!e)return;let t=C.value.at(-1);if(!t||t.status!==`streaming`&&!C.value.some(e=>e.role===`user`))return;let n=()=>{D.current||A()||e.scrollHeight-e.scrollTop-e.clientHeight<240&&M(e)};if(t.status!==`streaming`)return ne(e,300);n();let r=new MutationObserver(n);return r.observe(e,{childList:!0,subtree:!0,characterData:!0}),()=>r.disconnect()},[C.value]);let oe=y?.form.id,se=!!y&&(b??[]).some(e=>e.formId===y.form.id);a(()=>{let e=S.current;!e||!oe||D.current||C.value.some(e=>e.role===`user`)&&(se?e.querySelector(`[data-testid="${q.formGate}"]`)?.scrollIntoView({block:`nearest`}):M(e))},[oe,se]),i(()=>{let e=S.current;if(!e)return;let t=()=>{te(e),ee(e),performance.now()-j.current>150&&(D.current=e.scrollHeight-e.scrollTop-e.clientHeight>8)},n=()=>{D.current=!0},r=e=>{e.deltaY<0&&n()},i=0,a=e=>{i=e.touches[0]?.clientY??0,O.current=!0},o=e=>{(e.touches[0]?.clientY??0)>i+4&&n()},s=()=>{O.current=!1,k.current=performance.now()},c=()=>{O.current=!0};return e.addEventListener(`scroll`,t,{passive:!0}),e.addEventListener(`wheel`,r,{passive:!0}),e.addEventListener(`touchstart`,a,{passive:!0}),e.addEventListener(`touchmove`,o,{passive:!0}),e.addEventListener(`touchend`,s,{passive:!0}),e.addEventListener(`touchcancel`,s,{passive:!0}),e.addEventListener(`pointerdown`,c,{passive:!0}),window.addEventListener(`pointerup`,s,{passive:!0}),window.addEventListener(`pointercancel`,s,{passive:!0}),te(e),()=>{e.removeEventListener(`scroll`,t),e.removeEventListener(`wheel`,r),e.removeEventListener(`touchstart`,a),e.removeEventListener(`touchmove`,o),e.removeEventListener(`touchend`,s),e.removeEventListener(`touchcancel`,s),e.removeEventListener(`pointerdown`,c),window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,s)}},[]);let ce=()=>{let e=S.current;e&&(D.current=!1,M(e))},le=[],ue=``,P=C.value.at(-1)?.id,F=[...b??[]].toSorted((e,t)=>(e.createdAt??1/0)-(t.createdAt??1/0)),de=e=>y&&e.formId===y.form.id?h(Ea,{form:y.form,strings:t,onSubmit:y.onSubmit,onSkip:y.onSkip},`gate:${e.formId}`):h(Da,{marker:e,strings:t,onFill:!y&&x?()=>x(e.formId):void 0},e.key),fe=e=>{for(let t=F[0];t?.createdAt!==void 0&&!(e!==void 0&&t.createdAt>e);t=F[0])F.shift(),le.push(de(t))};for(let e of C.value){if(e.role===`assistant`&&e.id!==P&&qn(e))continue;fe(e.createdAt);let i=Po(e.createdAt);i&&i!==ue&&(le.push(h(`div`,{class:`${Mo}-date-divider`,children:h(`span`,{class:`${Mo}-date-pill`,title:Fo(e.createdAt),children:Io(e.createdAt,t)})},`day:${i}`)),ue=i),le.push(h(So,{message:e,strings:t,responseMode:n,showReasoning:r,showToolCalls:o,showSources:l,interactive:!!m&&e.id===P,superseded:e.id!==P,tool:_,onRetry:m&&e.id===P?v:void 0,enableMessageFeedback:u,onFeedback:d},e.id))}for(let e of F)le.push(de(e));return g(`div`,{class:`${Mo}-list-wrap`,children:[g(`div`,{ref:S,class:`${Mo}-list ${Mo}-list--fade`,role:`log`,"aria-live":`polite`,"aria-relevant":`additions text`,children:[p&&C.value.length===0?h(`div`,{class:`${Mo}-list-loading`,role:`status`,children:t.conversationLoading}):null,le,y&&!se?h(Ea,{form:y.form,strings:t,onSubmit:y.onSubmit,onSkip:y.onSkip}):null]}),w?h(`button`,{type:`button`,class:`${Mo}-jump`,onClick:ce,"aria-label":t.scrollToBottom,title:t.scrollToBottom,"data-testid":q.scrollToBottom,children:h(Ir,{})}):null]})}function Po(e){if(typeof e!=`number`||!Number.isFinite(e))return``;let t=new Date(e);return`${t.getFullYear()}-${t.getMonth()}-${t.getDate()}`}function Fo(e){if(typeof e!=`number`||!Number.isFinite(e))return``;try{return new Date(e).toLocaleDateString(void 0,{dateStyle:`full`})}catch{return``}}function Io(e,t){let n=new Date(e),r=e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime(),i=Math.round((r(new Date)-r(n))/864e5);return i<=0?t.dateToday:i===1?t.dateYesterday:i<7?n.toLocaleDateString(void 0,{weekday:`long`}):n.toLocaleDateString(void 0,{month:`long`,day:`numeric`,year:`numeric`})}const Lo=[`today`,`yesterday`,`lastWeek`,`older`];function Ro(e,t){let n=Date.parse(t);if(!Number.isFinite(n))return`older`;let r=Math.floor((Bo(e)-Bo(n))/(1440*60*1e3));return r<=0?`today`:r===1?`yesterday`:r<7?`lastWeek`:`older`}function zo(e,t){let n=new Map;for(let r of t){let t=Ro(e,r.lastMessageAt),i=n.get(t);i?i.push(r):n.set(t,[r])}return Lo.filter(e=>n.has(e)).map(e=>({bucket:e,conversations:n.get(e)}))}function Bo(e){let t=new Date(e);return t.setUTCHours(0,0,0,0),t.getTime()}const Vo=P.scope(`history`),Ho={today:`dateToday`,yesterday:`dateYesterday`,lastWeek:`dateLastWeek`,older:`dateOlder`};function Uo(e,t,n){let r=Date.parse(e);return Number.isFinite(r)?new Date(r).toDateString()===new Date(t).toDateString()?new Intl.DateTimeFormat(n,{hour:`numeric`,minute:`2-digit`}).format(r):t-r<10080*60*1e3?new Intl.DateTimeFormat(n,{weekday:`short`}).format(r):new Intl.DateTimeFormat(n,{month:`short`,day:`numeric`}).format(r):``}function Wo({transport:e,strings:t,locale:n,persistence:r,visitorId:a,onSelect:o,onNewConversation:s}){let l=y.cssPrefix,u=e.peekConversations({visitorId:a}),[d,f]=c(u?`loaded`:`loading`),[p,_]=c(u?.conversations??[]);i(()=>{let t=!1;return e.listConversations({visitorId:a}).then(e=>{if(t)return;let n=e.conversations??[];_(n),f(`loaded`),r.saveHistoryCount(n.length)}).catch(e=>{t||(Vo.warn(`listConversations failed`,{err:e}),f(`error`))}),()=>{t=!0}},[e,a,r]);let v=s?h(`div`,{class:`${l}-history-footer`,children:g(`button`,{type:`button`,class:`${l}-history-new`,onClick:s,"data-testid":q.sidebarNewConversation,children:[h(pr,{}),t.newConversation]})}):null;if(d===`loading`){let e=Math.min(r.loadHistoryCount()??3,6);return g(m,{children:[h(`div`,{class:`${l}-history`,"aria-busy":`true`,"aria-label":t.historyLoading,children:g(`div`,{class:`${l}-history-group`,"aria-hidden":`true`,children:[h(`div`,{class:`${l}-history-heading`,children:h(`span`,{class:`${l}-skeleton ${l}-skeleton-heading`})}),h(`div`,{class:`${l}-history-card`,children:Array.from({length:Math.max(1,e)},(e,t)=>g(`div`,{class:`${l}-history-item ${l}-history-item-skeleton`,children:[h(`span`,{class:`${l}-history-avatar ${l}-skeleton`}),g(`span`,{class:`${l}-history-body`,children:[g(`span`,{class:`${l}-history-row`,children:[h(`span`,{class:`${l}-history-title`,children:h(`span`,{class:`${l}-skeleton ${l}-skeleton-title`})}),h(`span`,{class:`${l}-history-time`,children:h(`span`,{class:`${l}-skeleton ${l}-skeleton-time`})})]}),h(`span`,{class:`${l}-history-row`,children:h(`span`,{class:`${l}-history-preview`,children:h(`span`,{class:`${l}-skeleton ${l}-skeleton-preview`})})})]})]},t))})]})}),v]})}if(d===`error`||p.length===0)return g(m,{children:[h(`div`,{class:`${l}-history-empty`,children:t.historyEmpty}),v]});let b=Date.now(),x=zo(b,p);return g(m,{children:[h(`div`,{class:`${l}-history`,role:`list`,children:x.map(e=>g(`div`,{class:`${l}-history-group`,children:[h(`div`,{class:`${l}-history-heading`,children:t[Ho[e.bucket]]}),h(`div`,{class:`${l}-history-card`,children:e.conversations.map(e=>g(`button`,{type:`button`,role:`listitem`,class:`${l}-history-item`,onClick:()=>o(e),"data-closed":e.canContinue?void 0:`true`,"data-unread":e.hasUnread?`true`:void 0,"data-testid":di(q.historyItem,e.conversationId),children:[h(`span`,{class:`${l}-history-avatar`,"aria-hidden":`true`,children:h(zr,{})}),g(`span`,{class:`${l}-history-body`,children:[g(`span`,{class:`${l}-history-row`,children:[h(`span`,{class:`${l}-history-title`,children:e.title}),h(`span`,{class:`${l}-history-time`,children:Uo(e.lastMessageAt,b,n)})]}),g(`span`,{class:`${l}-history-row`,children:[h(`span`,{class:`${l}-history-preview`,children:e.preview??(e.canContinue?t.historyContinue:t.conversationClosed)}),e.hasUnread?h(`span`,{class:`${l}-history-dot`}):null]})]})]},e.conversationId))})]},e.bucket))}),v]})}const Go=y.cssPrefix;function Ko({suggestions:e,onPick:t}){return e.length===0?null:h(`div`,{class:`${Go}-suggestions`,role:`group`,"aria-label":`Suggested replies`,children:e.map((e,n)=>h(`button`,{type:`button`,class:`${Go}-suggestion`,onClick:()=>t(e),"data-testid":di(q.suggestion,n),children:e.label},e.id))})}const Z=y.cssPrefix;function qo(e){let{options:t,onClose:n}=e,a=t.strings,o=s(null);i(()=>{let e=o.current;if(!e)return;let t=Ei(e),r=e=>{e.key===`Escape`&&n?.()};return e.addEventListener(`keydown`,r),()=>{t(),e.removeEventListener(`keydown`,r)}},[n]);let c=e.composerApiRef,{visible:l}=ta({containerRef:o,onDrop:r(e=>{c.current?.attachFromDrop(e)},[c])});return Si(o.current,t.mode===`modal`),g(`div`,{ref:o,class:`${Z}-panel`,role:`dialog`,"aria-modal":`false`,"aria-label":a.panelTitle,style:{position:`relative`},"data-testid":q.panel,children:[h(Jo,{...e,containerEl:o.current,dragOver:l,composerAttachApiRef:c}),h(es,{poweredBy:e.options.poweredBy})]})}function Jo(e){let{options:t,transport:n,feedback:r,bus:i,persistence:a,panelSize:o,view:s,canSend:c,isStreaming:l,controlMode:u,assignedOperatorInitials:d,operatorAvailable:f,operatorRequestEnabled:p,onRequestOperator:_,onCancelRequest:v,loadingMessages:y,messagesSig:b,agent:x,suggestions:S,initialWidgetSize:C,visitorId:w,onClose:T,onBack:E,onClear:D,onToggleHistory:O,onSelectHistoryConversation:k,onNewConversation:A,onWidgetSizeChange:j,onSend:ee,onStop:te,onSuggestion:M,activeForm:N,formMarkers:ne,onFormSubmit:re,onFormSkip:ie,onFormFill:ae,tool:oe,onRetry:se,onMessageFeedback:ce,containerEl:le,dragOver:ue,composerAttachApiRef:P}=e,F=t.strings,de;return de=N?null:c?g(m,{children:[u&&u!==`ai-agent`?h(Zo,{controlMode:u,operatorInitials:d,operatorAvailable:f,onCancelRequest:v,strings:F}):null,!l&&u===`ai-agent`&&h(Ko,{suggestions:S,onPick:M}),h(Qi,{options:t,transport:n,feedback:r,bus:i,isStreaming:l,operatorRequestEnabled:p,controlMode:u,onRequestOperator:_,onSend:ee,onStop:te,attachApiRef:P})]}):h(Xo,{label:F.conversationClosed,ctaLabel:F.startNewConversation,onNewConversation:D}),g(m,{children:[s===`history`?h(Yo,{strings:F,onBack:O,onClose:T,showClose:wi(t.mode,o,t.actions)}):g(`header`,{class:`${Z}-header`,"data-testid":q.panelHeader,children:[E?h(`button`,{type:`button`,class:`${Z}-icon-btn`,onClick:E,"aria-label":F.moduleBack,title:F.moduleBack,children:h(Pr,{})}):null,x?h(ki,{agent:x,strings:F}):h(`h1`,{children:F.panelTitle}),h(la,{panelProps:e,variant:`chat`})]}),s===`history`?h(Wo,{transport:n,strings:F,locale:t.locale,persistence:a,visitorId:w,onSelect:e=>k(e.conversationId),onNewConversation:A}):g(m,{children:[h(ea,{visible:ue,strings:F}),h(No,{messagesSig:b,strings:F,responseMode:t.responseMode,showReasoning:t.showReasoning,showToolCalls:t.showToolCalls,showSources:t.showSources,enableMessageFeedback:t.enableMessageFeedback,onFeedback:ce,loading:y,idle:!l,tool:oe,onRetry:se,form:N?{form:N,onSubmit:re,onSkip:ie}:null,formMarkers:ne,onFillForm:ae}),de,h($o,{disclaimer:t.composerDisclaimer})]}),t.size.resize?.enabled?h(yi,{panelEl:le,resize:t.size.resize,position:t.position,initialSize:C,onSizeChange:j,strings:F}):null]})}function Yo({strings:e,onBack:t,onClose:n,showClose:r}){return g(`header`,{class:`${Z}-header`,children:[h(`button`,{type:`button`,class:`${Z}-icon-btn`,onClick:t,"aria-label":e.historyBack,title:e.historyBack,children:h(Pr,{})}),h(`h1`,{children:e.historyTitle}),r?h(`button`,{type:`button`,class:`${Z}-icon-btn`,onClick:n,"aria-label":e.close,title:e.close,children:h(fr,{})}):null]})}function Xo({label:e,ctaLabel:t,onNewConversation:n}){return g(`div`,{class:`${Z}-readonly-banner`,role:`note`,children:[h(`span`,{class:`${Z}-readonly-label`,children:e}),h(`button`,{type:`button`,class:`${Z}-readonly-cta`,onClick:n,children:t})]})}function Zo({controlMode:e,operatorInitials:t,operatorAvailable:n,onCancelRequest:r,strings:i}){let a=Qo(e,t,n,i);return g(`div`,{class:`${Z}-operator-banner`,role:`status`,"data-mode":e,"data-testid":q.operatorBanner,children:[h(`span`,{class:`${Z}-operator-pulse`,"aria-hidden":`true`}),h(`span`,{class:`${Z}-operator-label`,children:a}),e===`awaiting_operator`&&r?h(`button`,{type:`button`,class:`${Z}-operator-cancel`,"data-testid":q.operatorCancelRequest,onClick:r,children:i.cancelOperatorRequest}):null]})}function Qo(e,t,n,r){return e===`operator`?r.chattingWithOperator.replace(`{operator}`,t??``):n===!1?r.noOperatorAvailable:r.connectingOperator}function $o({disclaimer:e}){return e?h(`div`,{class:`${Z}-composer-footer`,children:h(`div`,{class:`${Z}-disclaimer`,children:e})}):null}function es({poweredBy:e}){return e?h(`div`,{class:`${Z}-poweredby-bar`,children:h(ts,{logoUrl:e.logoUrl,text:e.text,href:e.href})}):null}function ts({logoUrl:e,text:t,href:n}){let r=g(m,{children:[e?h(`img`,{class:`${Z}-poweredby-logo`,src:e,alt:``,loading:`lazy`}):null,t?h(`span`,{children:t}):null]});return n?h(`a`,{class:`${Z}-poweredby`,href:n,target:`_blank`,rel:`noopener noreferrer`,children:r}):h(`span`,{class:`${Z}-poweredby`,children:r})}function ns(e){let t=s(e);t.current=e;let n=s(null);return n.current??(n.current=rs(t)),n.current}function rs(e){let t=d(null),n=new Set,r=t=>`${e.current.conversationId()??``}:${t}`,i=t=>t.frequency===`always`?!1:t.frequency===`conversation`?n.has(r(t.id)):t.id in e.current.persistence.loadFormsDone(),a=(n,r)=>{if(t.value)return;let a=e.current;if(n===`manual`){let e=a.forms.list.find(e=>e.id===r);e&&(t.value={form:e,trigger:`manual`});return}for(let e of a.forms.byTrigger[n]??[]){let r=e.triggers.find(e=>e.kind===n);if(!(!r||!is(r,a)||i(e)||!as(e,a))){t.value={form:e,trigger:n};return}}},o=(i,a)=>{let o=t.value;if(!o)return;t.value=null;let{form:s,trigger:c}=o;s.frequency===`conversation`?n.add(r(s.id)):s.frequency!==`always`&&e.current.persistence.saveFormDone(s.id),e.current.onComplete(s,c,i,a)};return{activeForm:t,fire:a,refresh:()=>{let n=t.value;if(!n)return;let r=e.current.forms.list.find(e=>e.id===n.form.id);r&&r!==n.form&&(t.value={form:r,trigger:n.trigger})},complete:e=>o(e,!1),skip:()=>o({},!0)}}function is(e,t){return e.kind===`after-messages`?t.messageCount()>=Number(e.param??0):e.kind!==`page-area`||t.pageArea()===e.param}function as(e,t){let n=e.when;if(!n)return!0;if(n.missingContext?.length){let e=t.userContext()??{};if(n.missingContext.some(t=>e[t]!==void 0&&e[t]!==``))return!1}if(n.pageArea&&!(Array.isArray(n.pageArea)?n.pageArea:[n.pageArea]).includes(t.pageArea()??``))return!1;let r=t.messageCount();return!(n.minMessages!=null&&r<n.minMessages||n.maxMessages!=null&&r>n.maxMessages)}function os(e){let t=y.cssPrefix,{site:n,blocks:r,strings:i,collapsed:a}=e,o=r?.navigation??[],s=r?.linkCards??[],c=a?i.expandSidebar:i.collapseSidebar;return g(`aside`,{class:`${t}-sidebar`,"data-collapsed":a?`true`:`false`,"data-testid":q.sidebar,children:[g(`div`,{class:`${t}-sidebar-header`,children:[h(ss,{site:n}),h(`button`,{type:`button`,class:`${t}-sidebar-toggle`,"aria-label":c,"aria-expanded":a?`false`:`true`,title:c,onClick:e.onToggleCollapsed,"data-testid":q.sidebarToggle,children:h(cs,{collapsed:a})})]}),a?null:g(m,{children:[o.length>0?h(`nav`,{class:`${t}-sidebar-section`,"data-section":`navigation`,children:h(ls,{items:o})}):null,s.length>0?h(`div`,{class:`${t}-sidebar-section`,"data-section":`link-cards`,children:h(us,{items:s})}):null,e.showConversations?h(`div`,{class:`${t}-sidebar-conversations`,children:h(Wo,{transport:e.transport,strings:e.strings,locale:e.locale,persistence:e.persistence,visitorId:e.visitorId,onSelect:e.onSelectConversation,onNewConversation:e.onNewConversation})}):null]})]})}function ss({site:e}){let t=y.cssPrefix;if(e?.logo?.url){let n=e.logo.alt??e.title??`Logo`;return g(`picture`,{children:[e.logoDark?.url?h(`source`,{srcset:e.logoDark.url,media:`(prefers-color-scheme: dark)`}):null,h(`img`,{class:`${t}-sidebar-logo`,src:e.logo.url,alt:n})]})}return h(`div`,{class:`${t}-sidebar-title`,children:e?.title??y.name})}function cs({collapsed:e}){return h(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"aria-hidden":`true`,children:e?h(`polyline`,{points:`9 6 15 12 9 18`}):h(`polyline`,{points:`15 6 9 12 15 18`})})}function ls({items:e}){let t=y.cssPrefix;return h(`ul`,{class:`${t}-sidebar-nav`,children:e.map(e=>h(`li`,{children:g(`a`,{class:`${t}-sidebar-nav-item`,href:e.href,target:e.href?`_blank`:void 0,rel:e.href?`noreferrer`:void 0,children:[e.icon?h(`span`,{class:`${t}-sidebar-nav-icon`,"data-icon":e.icon}):null,h(`span`,{class:`${t}-sidebar-nav-label`,children:e.label})]})},e.id??e.label))})}function us({items:e}){let t=y.cssPrefix;return h(`div`,{class:`${t}-sidebar-cards`,children:e.map(e=>g(`a`,{class:`${t}-sidebar-card`,href:e.href,target:e.href?`_blank`:void 0,rel:e.href?`noreferrer`:void 0,children:[h(`div`,{class:`${t}-sidebar-card-label`,children:e.label}),e.description?h(`div`,{class:`${t}-sidebar-card-desc`,children:e.description}):null]},e.id??e.label))})}const ds=y.cssPrefix;function fs(e){return g(`main`,{class:`${ds}-page-shell`,"data-sidebar-collapsed":e.sidebarCollapsed?`true`:`false`,children:[h(os,{site:e.site,blocks:e.blocks,transport:e.transport,strings:e.strings,locale:e.locale,persistence:e.persistence,visitorId:e.visitorId,showConversations:e.showConversations,onSelectConversation:e.onSelectConversation,onNewConversation:e.onNewConversation,collapsed:e.sidebarCollapsed,onToggleCollapsed:e.onToggleSidebarCollapsed}),h(`section`,{class:`${ds}-page-chat`,"aria-label":`Chat`,children:e.children})]})}const ps=e=>Object.fromEntries(e.map(e=>[e,[]]));function ms(e,t,n){return e.includes(t)?t:e.includes(n)?n:e[0]??``}function hs(e,t,n){let r=[...new Set(t)],i=d({activeTab:ms(r,e,``),stacks:ps(r)});return{sig:i,reconcile(e,t){let a=[...new Set(e)],o=i.value,s=ms(a,o.activeTab,t),c=Object.fromEntries(a.map(e=>[e,o.stacks[e]??[]])),l=s===o.activeTab&&a.length===Object.keys(o.stacks).length&&a.every(e=>o.stacks[e]===c[e]);r=a,!l&&(i.value={activeTab:s,stacks:c},s!==o.activeTab&&s&&n?.(s))},switchTab(e){!(e in i.value.stacks)||i.value.activeTab===e||(i.value={...i.value,activeTab:e},n?.(e))},push(e){let t=i.value,n=t.stacks[t.activeTab]??[];i.value={...t,stacks:{...t.stacks,[t.activeTab]:[...n,e]}}},pop(){let e=i.value,t=e.stacks[e.activeTab]??[];t.length!==0&&(i.value={...e,stacks:{...e.stacks,[e.activeTab]:t.slice(0,-1)}})},reset(e){i.value={activeTab:ms(r,e,``),stacks:ps(r)}}}}const gs=e=>e.stacks[e.activeTab]??[],_s=e=>gs(e).at(-1),vs=e=>gs(e).length===0,ys={Icon:Yr},bs=y.cssPrefix;function xs({title:e,actions:t}){return g(`header`,{class:`${bs}-back-header`,"data-variant":`title`,children:[h(`span`,{class:`${bs}-back-spacer`,"aria-hidden":`true`}),h(`h1`,{class:`${bs}-back-title`,children:e}),t??h(`span`,{class:`${bs}-back-spacer`,"aria-hidden":`true`})]})}function Ss({title:e,backLabel:t,onBack:n,actions:r,testid:i}){return g(`header`,{class:`${bs}-back-header`,"data-testid":i,children:[h(`button`,{type:`button`,class:`${bs}-icon-btn`,onClick:n,"aria-label":t,title:t,children:h(Pr,{})}),h(`h1`,{class:`${bs}-back-title`,children:e}),r??h(`span`,{class:`${bs}-back-spacer`,"aria-hidden":`true`})]})}function Cs(e,t){return e instanceof Gt&&e.status===429?t.errorRateLimited:t.errorGeneric}const ws=y.cssPrefix;function Ts({placeholder:e,onActivate:t}){return g(`button`,{type:`button`,class:`${ws}-home-search`,onClick:t,"data-testid":q.homeSearch,children:[h(`span`,{class:`${ws}-home-search-text`,children:e}),h(`span`,{class:`${ws}-home-search-icon`,"aria-hidden":`true`,children:h(Gr,{})})]})}function Es({placeholder:e,value:t,onInput:n}){return g(`div`,{class:`${ws}-home-search`,"data-input":`true`,children:[h(`input`,{type:`search`,class:`${ws}-home-search-input`,placeholder:e,value:t,onInput:e=>n(e.currentTarget.value),"data-testid":q.helpSearch}),h(`span`,{class:`${ws}-home-search-icon`,"aria-hidden":`true`,children:h(Gr,{})})]})}const Ds=y.cssPrefix;function Os({title:e,subtitle:t,onClick:n,testid:r}){return g(`button`,{type:`button`,class:`${Ds}-list-row`,onClick:n,"data-testid":r,children:[g(`span`,{class:`${Ds}-list-row-body`,children:[h(`span`,{class:`${Ds}-list-row-title`,children:e}),t?h(`span`,{class:`${Ds}-list-row-sub`,children:t}):null]}),h(`span`,{class:`${Ds}-list-row-chevron`,"aria-hidden":`true`,children:h(_r,{})})]})}const ks=y.cssPrefix;function As({tone:e=`info`,message:t,onRetry:n,strings:r}){return g(`div`,{class:`${ks}-module-empty`,role:e===`error`?`alert`:`status`,"aria-live":`polite`,children:[h(`span`,{children:t}),n?h(`button`,{type:`button`,class:`${ks}-module-retry`,onClick:n,children:r.errorRetry}):null]})}const js=y.cssPrefix,Ms=P.scope(`help`),Ns=(e,t)=>t.url?e.push({kind:`iframe`,url:t.url,title:t.title}):e.push({kind:`content`,id:t.id,title:t.title});function Ps(e){let t=new Map;for(let n of e){let e=n.categories?.[0]??``;(t.get(e)??t.set(e,[]).get(e)).push(n)}return[...t.entries()]}function Fs(e,t){let n=t.toLowerCase(),r=n.indexOf(e);if(r!==-1)return 100-Math.min(r,99);let i=0;for(let t of e){if(i=n.indexOf(t,i),i===-1)return 0;i+=1}return 1}function Is(e,t){let n=t.toLowerCase().trim();return n?e.map(e=>({item:e,score:Math.max(Fs(n,e.title)*2,Fs(n,e.description??``))})).filter(e=>e.score>0).toSorted((e,t)=>t.score-e.score).map(e=>e.item):[]}function Ls({article:e,nav:t}){return h(Os,{title:e.title,subtitle:e.description,onClick:()=>Ns(t,e),testid:di(q.helpArticle,e.id)})}function Rs({transport:e,strings:t,config:n,nav:r,bus:a,panelProps:s}){let l=n.contentTags,[u,d]=c(`loading`),[f,p]=c(t.errorGeneric),[m,_]=c([]),[v,y]=c(``),[b,x]=c(0);i(()=>{let n=!1;return d(`loading`),e.listContent({tags:l,sortBy:`order`,limit:100}).then(e=>{if(n)return;let t=e.items??[];_(t),d(`loaded`),a.emit(`contentView`,{section:`help`,tags:l?.join(`,`),count:t.length})}).catch(e=>{n||(Ms.warn(`listContent (help) failed`,{err:e}),p(Cs(e,t)),d(`error`))}),()=>{n=!0}},[e,l,b,a]);let S=o(()=>Is(m,v),[m,v]);i(()=>{let e=v.trim();if(!e)return;let t=setTimeout(()=>a.emit(`contentSearch`,{queryLength:e.length,hitCount:S.length}),600);return()=>clearTimeout(t)},[v,S,a]);function C(){return v.trim().length>0?S.length===0?h(As,{message:t.helpSearchEmpty,strings:t}):h(`div`,{class:`${js}-help-card`,children:S.map(e=>h(Ls,{article:e,nav:r},e.id))}):u===`loading`?h(As,{message:t.helpLoading,strings:t}):u===`error`?h(As,{tone:`error`,message:f,onRetry:()=>x(e=>e+1),strings:t}):m.length===0?h(As,{message:t.helpEmpty,strings:t}):Ps(m).map(([e,t])=>g(`section`,{class:`${js}-help-group`,children:[e?h(`h2`,{class:`${js}-help-section-title`,children:e}):null,h(`div`,{class:`${js}-help-card`,children:t.map(e=>h(Ls,{article:e,nav:r},e.id))})]},e))}return g(`div`,{class:`${js}-module`,children:[h(xs,{title:t.helpTitle,actions:h(la,{panelProps:s,variant:`plain`})}),h(`div`,{class:`${js}-module-pad`,children:h(Es,{placeholder:t.helpSearchPlaceholder,value:v,onInput:y})}),h(`div`,{class:`${js}-help-list`,children:C()})]})}const zs={Icon:Br,Root:e=>h(Rs,{...e})},Bs=y.cssPrefix;function Vs({onClick:e,children:t,testid:n}){return e?h(`button`,{type:`button`,class:`${Bs}-home-card`,"data-interactive":`true`,onClick:e,"data-testid":n,children:t}):h(`div`,{class:`${Bs}-home-card`,"data-testid":n,children:t})}const Q=y.cssPrefix,Hs=P.scope(`home`);function Us(e){let t=e.options.userContext?.name,n=e.config.greetingText?D(e.strings,e.config.greetingText):void 0;return n?{title:t?n.replace(`{name}`,t):n.replace(/\s*\{name\}\s*/,` `).trim(),subtitle:e.strings.homeGreetingLead}:t?{title:e.strings.homeGreetingNamed.replace(`{name}`,t),subtitle:e.strings.homeGreetingLead}:{title:e.strings.homeGreeting}}const Ws=(e,t)=>t.url?e.push({kind:`iframe`,url:t.url,title:t.title}):e.push({kind:`content`,id:t.id,title:t.title});function Gs(e){let{transport:t,strings:n,config:r,nav:a,bus:o,panelProps:s}=e,[l,u]=c(null),[d,f]=c([]),p=r.contentTags?.join(`,`);i(()=>{if(r.showRecentConversations===!1)return;let e=!1;return t.listConversations({limit:1}).then(t=>!e&&u(t.conversations?.[0]??null)).catch(t=>!e&&Hs.warn(`listConversations (home) failed`,{err:t})),()=>{e=!0}},[t,r.showRecentConversations]),i(()=>{if(!r.contentTags?.length)return;let e=!1;return t.listContent({tags:r.contentTags,limit:6}).then(t=>{if(e)return;let n=t.items??[];f(n),o.emit(`contentView`,{section:`home`,tags:p,count:n.length})}).catch(t=>!e&&Hs.warn(`listContent (home) failed`,{err:t})),()=>{e=!0}},[t,p,o]);let _=Us(e),v=r.userAvatars??[],y=r.status,b=y?.text?D(n,y.text):n.homeStatus,x=r.contentBlockTitle?D(n,r.contentBlockTitle):n.homeContentTitle;return h(`div`,{class:`${Q}-module ${Q}-home`,"data-testid":q.homeView,children:g(`div`,{class:`${Q}-home-scroll`,children:[g(`div`,{class:`${Q}-home-hero`,children:[g(`div`,{class:`${Q}-home-hero-top`,children:[r.brandName?h(`span`,{class:`${Q}-home-brand`,"data-testid":q.homeBrand,children:r.brandName}):h(`span`,{class:`${Q}-home-brand-spacer`,"aria-hidden":`true`}),g(`div`,{class:`${Q}-home-hero-actions`,children:[v.length>0?h(`div`,{class:`${Q}-home-avatars`,children:v.map(e=>h(`span`,{class:`${Q}-home-avatar`,title:e.role?`${e.name} · ${e.role}`:e.name,children:e.avatar?h(`img`,{src:e.avatar,alt:``,loading:`lazy`}):h(`span`,{children:Di(e.name)})},e.name))}):null,h(la,{panelProps:s,variant:`plain`})]})]}),r.showGreeting===!1?null:g(m,{children:[h(`h1`,{class:`${Q}-home-greeting`,"data-testid":q.homeGreeting,children:_.title}),_.subtitle?h(`p`,{class:`${Q}-home-lead`,children:_.subtitle}):null]})]}),g(`div`,{class:`${Q}-home-cards`,children:[r.showSearchBar===!1?null:h(Ts,{placeholder:n.homeSearchPlaceholder,onActivate:()=>a.switchToLayout(`help`)}),l?h(Vs,{onClick:()=>a.selectConversation(l.conversationId),testid:q.homeRecent,children:g(`div`,{class:`${Q}-home-recent-row`,"data-unread":l.hasUnread?`true`:void 0,children:[h(`span`,{class:`${Q}-home-recent-avatar`,"aria-hidden":`true`,children:h(Yr,{})}),g(`span`,{class:`${Q}-home-recent-body`,children:[h(`span`,{class:`${Q}-home-recent-title`,children:l.title}),l.preview?h(`span`,{class:`${Q}-home-recent-preview`,children:l.preview}):null]}),l.hasUnread?h(`span`,{class:`${Q}-home-recent-dot`,"aria-label":`Unread`}):null]})}):null,y?h(Vs,{onClick:y.url?()=>a.push({kind:`iframe`,url:y.url,title:b}):void 0,children:g(`div`,{class:`${Q}-home-status`,"data-level":y.level??`operational`,children:[h(`span`,{class:`${Q}-home-status-icon`,"aria-hidden":`true`,children:h(Kr,{})}),h(`span`,{class:`${Q}-home-status-text`,children:b})]})}):null,d.length>0?g(`section`,{class:`${Q}-home-content`,children:[h(`div`,{class:`${Q}-home-content-title`,children:x}),h(`div`,{class:`${Q}-home-content-list`,children:d.map(e=>h(Os,{title:e.title,subtitle:e.description,onClick:()=>Ws(a,e),testid:di(q.homeContentRow,e.id)},e.id))})]}):null]})]})})}const Ks={Icon:qr,Root:e=>h(Gs,{...e})},qs=y.cssPrefix,Js=P.scope(`news`);function Ys({transport:e,strings:t,config:n,nav:r,bus:a,panelProps:o}){let s=n.contentTags,[l,u]=c(`loading`),[d,f]=c(t.errorGeneric),[p,m]=c([]),[_,v]=c(0);i(()=>{let n=!1;return u(`loading`),e.listContent({tags:s,sortBy:`publishedAt`,sortOrder:`desc`}).then(e=>{if(n)return;let t=e.items??[];m(t),u(`loaded`),a.emit(`contentView`,{section:`news`,tags:s?.join(`,`),count:t.length})}).catch(e=>{n||(Js.warn(`listContent (news) failed`,{err:e}),f(Cs(e,t)),u(`error`))}),()=>{n=!0}},[e,s,_,a]);function y(){return l===`loading`?h(As,{message:t.newsLoading,strings:t}):l===`error`?h(As,{tone:`error`,message:d,onRetry:()=>v(e=>e+1),strings:t}):p.length===0?h(As,{message:t.newsEmpty,strings:t}):h(`div`,{class:`${qs}-news-list`,children:p.map(e=>g(`button`,{type:`button`,class:`${qs}-news-card`,onClick:()=>r.push({kind:`content`,id:e.id,title:e.title}),"data-testid":di(q.newsItem,e.id),children:[e.image?h(`img`,{class:`${qs}-news-hero`,src:e.image,alt:``,loading:`lazy`}):null,g(`span`,{class:`${qs}-news-body`,children:[h(`span`,{class:`${qs}-news-title`,children:e.title}),e.description?h(`span`,{class:`${qs}-news-summary`,children:e.description}):null]})]},e.id))})}return g(`div`,{class:`${qs}-module`,children:[h(xs,{title:t.newsTitle,actions:h(la,{panelProps:o,variant:`plain`})}),h(`div`,{class:`${qs}-module-scroll`,children:y()})]})}const Xs={chat:ys,home:Ks,help:zs,news:{Icon:Jr,Root:e=>h(Ys,{...e})}},Zs=y.cssPrefix;function Qs({modules:e,activeTab:t,strings:n,hasUnread:r,onSelect:i}){return h(`nav`,{class:`${Zs}-tabbar`,role:`tablist`,"aria-label":n.panelTitle,children:e.map(e=>{let a=Xs[e.layout].Icon,o=e.id===t,s=e.layout===`chat`&&r;return g(`button`,{type:`button`,role:`tab`,"aria-selected":o,class:`${Zs}-tab`,onClick:()=>i(e.id),"data-testid":di(q.tab,e.id),children:[g(`span`,{class:`${Zs}-tab-icon`,"aria-hidden":`true`,children:[h(a,{}),s?h(`span`,{class:`${Zs}-tab-badge`,"data-testid":q.tabBadge,"aria-label":`Unread`}):null]}),h(`span`,{class:`${Zs}-tab-label`,children:D(n,e.label)})]},e.id)})})}const $s=y.cssPrefix;function ec({url:e,title:t,strings:n,onBack:r,actions:i}){return g(`div`,{class:`${$s}-module`,children:[h(Ss,{title:t||n.moduleBack,backLabel:n.moduleBack,onBack:r,actions:i}),h(`iframe`,{class:`${$s}-content-frame`,src:e,title:t||`content`,sandbox:`allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-downloads`,referrerpolicy:`no-referrer`,loading:`lazy`,allow:`fullscreen`})]})}const tc=y.cssPrefix,nc=P.scope(`content`);function rc({id:e,title:t,transport:n,strings:a,bus:o,onBack:s,actions:l}){let[u,d]=c(null),[f,p]=c(!1),[m,_]=c(0),v=r(()=>{p(!1),d(null),_(e=>e+1)},[]);i(()=>{let t=!1;return n.listContent({ids:[e],limit:1}).then(n=>{if(t)return;let r=n.items[0];r?(d(r),o.emit(`contentOpen`,{contentId:e,tags:r.tags?.length?r.tags.join(`,`):void 0})):p(!0)}).catch(e=>{t||(nc.warn(`listContent (reader) failed`,{err:e}),p(!0))}),()=>{t=!0}},[n,e,m,o]),i(()=>{if(!u)return;let t=setTimeout(()=>o.emit(`contentRead`,{contentId:e}),5e3);return()=>clearTimeout(t)},[u,e,o]);let y=r(t=>{let n=(t.target?.closest?.(`a`))?.getAttribute(`href`)??``;n&&!n.startsWith(`#`)&&o.emit(`contentLinkClick`,{contentId:e})},[o,e]);function b(){return f?h(As,{tone:`error`,message:a.errorGeneric,onRetry:v,strings:a}):u===null?h(As,{message:a.contentLoading,strings:a}):g(`article`,{class:`${tc}-content`,"data-testid":q.contentView,onClick:y,children:[u.image?h(`img`,{class:`${tc}-content-hero`,src:u.image,alt:``,loading:`lazy`}):null,u.description?h(`p`,{class:`${tc}-content-subtitle`,children:u.description}):null,h(Xa,{text:u.content??``})]})}return g(`div`,{class:`${tc}-module`,children:[h(Ss,{title:u?.title||t||a.moduleBack,backLabel:a.moduleBack,onBack:s,actions:l,testid:q.backHeader}),h(`div`,{class:`${tc}-module-scroll`,"data-testid":q.contentScroll,children:b()})]})}const ic=y.cssPrefix;function ac({panelProps:e,enabledModules:t,nav:n,bus:a,hasUnread:o,onSelectConversation:c,onStartNewConversation:l,onSetPanelSize:u}){let d=e.options,p=d.strings,m=s(null),_=s(new Set);i(()=>{let t=m.current;if(!t)return;let n=Ei(t),r=t=>{t.key===`Escape`&&e.onClose?.()};return t.addEventListener(`keydown`,r),()=>{n(),t.removeEventListener(`keydown`,r)}},[e.onClose]);let v=e.composerApiRef,{visible:y}=ta({containerRef:m,onDrop:r(e=>{v.current?.attachFromDrop(e)},[v])});Si(m.current,d.mode===`modal`);let b=f(()=>n.sig.value).value,x=_s(b),S=d.modules.byId[b.activeTab],C=x?.kind===`iframe`||x?.kind===`content`,w=t.length>1&&(vs(b)||!C),T=s(null);i(()=>{if(C&&T.current===null)T.current=e.panelSize,e.panelSize===`normal`&&u(`expanded`);else if(!C&&T.current!==null){let e=T.current;T.current=null,u(e)}},[C]);let E={push:n.push,pop:n.pop,switchTab:n.switchTab,switchToLayout:e=>{let r=t.find(t=>t.layout===e);r&&n.switchTab(r.id)},selectConversation:c,startNewConversation:l},D=t=>({options:d,transport:e.transport,strings:p,config:t,visitorId:e.visitorId,nav:E,bus:a,panelProps:e}),O=h(la,{panelProps:e,variant:`plain`});S&&_.current.add(S.id);let k=t.filter(e=>_.current.has(e.id)),A=t=>{if(t.layout===`chat`)return h(Jo,{...e,containerEl:m.current,dragOver:y,composerAttachApiRef:v});let n=Xs[t.layout].Root;return n?h(n,{...D(t)}):null};return g(`div`,{ref:m,class:`${ic}-panel ${ic}-messenger`,role:`dialog`,"aria-modal":`false`,"aria-label":p.panelTitle,style:{position:`relative`},"data-testid":q.messengerHome,children:[g(`div`,{class:`${ic}-messenger-body`,children:[k.map(e=>h(`div`,{class:`${ic}-messenger-pane`,hidden:C||e.id!==S?.id,children:A(e)},e.id)),x?.kind===`iframe`?h(ec,{url:x.url,title:x.title,strings:p,onBack:n.pop,actions:O}):x?.kind===`content`?h(rc,{id:x.id,title:x.title,transport:e.transport,strings:p,bus:a,onBack:n.pop,actions:O}):null]}),w?h(Qs,{modules:t,activeTab:b.activeTab,strings:p,hasUnread:o,onSelect:n.switchTab}):null,h(es,{poweredBy:d.poweredBy}),d.size.resize?.enabled&&!(S?.layout===`chat`&&!x)?h(yi,{panelEl:m.current,resize:d.size.resize,position:d.position,initialSize:e.initialWidgetSize,onSizeChange:e.onWidgetSizeChange,strings:p}):null]})}const oc=y.cssPrefix;function sc({strings:e,onClose:t}){return g(`div`,{class:`${oc}-panel ${oc}-modules-empty`,role:`dialog`,"aria-label":e.panelTitle,"data-testid":q.modulesEmpty,children:[t?h(`button`,{type:`button`,class:`${oc}-icon-btn ${oc}-modules-empty-close`,onClick:t,"aria-label":e.close,title:e.close,children:h(fr,{})}):null,h(`p`,{class:`${oc}-modules-empty-text`,children:e.modulesEmpty})]})}function cc(e,t,n,r){let i={role:n,text:r};e.emit(`message`,i),t.onMessage?.(i)}const lc=P.scope(`hitl`);function uc(e){let{streaming:t,messagesSig:n,sendAiTurn:i,bus:a,humanInLoop:s}=e,c=r((e,r)=>{if(t)return;let a=n.value.at(-1),o=a?.partsSig.value.find(t=>t.kind===`tool`&&t.toolCallId===e);if(!a||!o){lc.warn(`decideTool: tool part not found`,{toolCallId:e});return}r(o),a.partsSig.value=[...a.partsSig.value],In(a)&&(a.status=`streaming`,a.awaitingContinuation=!0,n.value=[...n.value],i({continueExisting:!0}))},[t,n,i]),l=r((e,t)=>{lc.info(`toolResult`,{toolCallId:e}),a.emit(`toolResult`,{toolCallId:e}),c(e,e=>{e.outputSig.value=t,e.stateSig.value=`output-available`})},[a,c]),u=r((e,t,n)=>{lc.info(`toolDecision`,{toolCallId:e,approved:t}),a.emit(`toolDecision`,{toolCallId:e,approved:t}),c(e,r=>{let i=r.approvalSig.value?.id??e;r.approvalSig.value={id:i,approved:t,reason:n},r.stateSig.value=`approval-responded`})},[a,c]),d=r(e=>{if(t)return;let r=n.value.at(-1),i=r?.partsSig.value.find(t=>t.kind===`tool`&&t.toolCallId===e);if(!r||!i)return;let a=i.approvalSig.value?.id??e;i.approvalSig.value={id:a},i.stateSig.value=`approval-requested`,r.partsSig.value=[...r.partsSig.value]},[t,n]);return{toolInteraction:o(()=>({humanInLoop:s,onResult:l,onDecision:u,onEdit:d}),[s,l,u,d])}}function dc({callout:e,persistence:t}){let n=e?.text??``,a=e?.persistent??!0,[o,s]=c(()=>!a&&t.loadCalloutDismissed(n));return i(()=>{s(!a&&t.loadCalloutDismissed(n))},[n,a,t]),{dismissed:o,dismissCallout:r(()=>{s(!0),a||t.saveCalloutDismissed(n)},[t,n,a])}}function fc(e){let{transport:t}=e,n=p(`ai-agent`),i=p(void 0),a=p(void 0),o=r(e=>{n.value=e.controlMode,i.value=e.assignedOperatorInitials,e.operatorAvailable!==void 0&&(a.value=e.operatorAvailable)},[n,i,a]);return{controlModeSig:n,assignedOperatorInitialsSig:i,operatorAvailableSig:a,applyControlState:o,adoptControlStateChunk:r(e=>{e.type===`data-control-state`&&o(nn(e.data))},[o]),requestOperator:r(async()=>{if(n.value!==`ai-agent`)return;let e=await t.requestOperator();e&&o(nn(e))},[t,n,o]),cancelRequestOperator:r(async()=>{if(n.value!==`awaiting_operator`)return;let e=await t.cancelRequestOperator();e&&o(nn(e))},[t,n,o])}}function pc(e){let{hostElement:t,mode:n,panelSize:r,isOpen:o,setIsOpen:s}=e;a(()=>{Et(t,zt(n,r,o))},[t,o,r,n]),i(()=>{if(n!==`modal`||!o)return;let e=e=>{e.composedPath().some(e=>e instanceof HTMLElement&&e.classList.contains(`${y.cssPrefix}-panel`))||s(!1)};return t.addEventListener(`click`,e),()=>t.removeEventListener(`click`,e)},[t,o,n,s]),i(()=>{if(n!==`drawer`||!o)return;let e=e=>{e.key===`Escape`&&s(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[o,n,s])}const mc=P.scope(`reducer`);var hc=class{constructor(e,t){this.messagesSig=e,this.onReconcileNeeded=t,V(this,`active`,null),V(this,`openTextParts`,new Map),V(this,`partSeq`,0),V(this,`resumeIgnore`,!1)}attach(e){this.active=e,this.openTextParts.clear()}resetForReplay(e){e.partsSig.value=[],e.status=`streaming`,e.finishReason=void 0,e.errorText=void 0,e.suggestions=void 0,this.openTextParts.clear(),this.messagesSig.value=[...this.messagesSig.value]}truncateAfterLastTool(e){let t=e.partsSig.value,n=t.findLastIndex(e=>e.kind===`tool`);e.partsSig.value=t.slice(0,n+1),e.status=`streaming`,e.finishReason=void 0,e.errorText=void 0,e.suggestions=void 0,this.openTextParts.clear(),this.messagesSig.value=[...this.messagesSig.value]}detach(){this.active=null,this.openTextParts.clear()}applyResume(e){if(e.type===`data-conversation-rebind`)return null;if(e.type===`start`){let t=e.messageId,n=t===void 0?void 0:this.messagesSig.value.find(e=>e.serverMessageId===t||e.id===t),r=n!==void 0&&n.status!==`streaming`&&zn(n)&&Ln(n),i=n!==void 0&&(n.awaitingContinuation===!0||Vn(n)||r);if(n!==void 0&&!i&&jn(n))return n!==void 0&&Ln(n)&&this.onReconcileNeeded?.(),this.resumeIgnore=!0,this.detach(),null;if(this.resumeIgnore=!1,n!==void 0)return i?(n.awaitingContinuation=!1,n.continuationStreaming=r,n.status=`streaming`,this.messagesSig.value=[...this.messagesSig.value]):n.status===`streaming`&&In(n)?this.truncateAfterLastTool(n):this.resetForReplay(n),this.attach(n),this.apply(e),null;let a=e.messageMetadata?.senderRole,o=this.messagesSig.value.at(-1);if(a===void 0&&o?.role===`assistant`&&o.status===`streaming`&&o.serverMessageId===void 0&&!kn(o))return this.attach(o),this.apply(e),null;let s=_n();return this.attach(s),this.messagesSig.value=[...this.messagesSig.value,s],this.apply(e),null}if(this.resumeIgnore||!this.active)return null;if(this.apply(e),e.type===`finish`||e.type===`error`||e.type===`abort`){let t=this.active;return t.continuationStreaming&&(e.type===`finish`?this.onReconcileNeeded?.(t.serverMessageId??t.id):t.continuationStreaming=!1),this.detach(),t}return null}ensureTextPart(e,t,n){let r=`${t}:${n}`,i=this.openTextParts.get(r);if(i)return i;let a={kind:t,id:`${n}#${this.partSeq++}`,textSig:d(``),doneSig:d(!1)};return this.openTextParts.set(r,a),_c(e,a),a}apply(e){let t=this.active;if(t)switch(e.type){case`start`:{e.messageId&&(t.serverMessageId=e.messageId);let n=e.messageMetadata;n?.senderRole===`operator`?(t.role=`operator`,n.operatorInitials&&(t.operatorInitials=n.operatorInitials)):n?.senderRole===`visitor`&&(t.role=`user`);return}case`finish-step`:this.openTextParts.clear();return;case`start-step`:_c(t,{kind:`step-start`,id:`ss-${this.partSeq++}`});return;case`finish`:mc.debug(`finish`,{reason:e.finishReason,canContinue:e.canContinue}),t.status=`complete`,e.finishReason&&(t.finishReason=e.finishReason),this.bumpDone(t);return;case`error`:mc.warn(`stream error chunk`,{errorText:e.errorText}),t.status=`error`,t.errorText=e.errorText,this.bumpDone(t);return;case`abort`:mc.debug(`stream abort chunk (canceled)`),t.status=`complete`,t.canceled=!0,this.bumpDone(t);return;case`text-start`:this.ensureTextPart(t,`text`,e.id);return;case`text-delta`:{let n=this.ensureTextPart(t,`text`,e.id);n.textSig.value+=e.delta;return}case`text-end`:this.ensureTextPart(t,`text`,e.id).doneSig.value=!0;return;case`reasoning-start`:this.ensureTextPart(t,`reasoning`,e.id).doneSig.value=!1;return;case`reasoning-delta`:{let n=this.ensureTextPart(t,`reasoning`,e.id);n.textSig.value+=e.delta;return}case`reasoning-end`:this.ensureTextPart(t,`reasoning`,e.id).doneSig.value=!0;return;case`tool-input-start`:case`tool-input-delta`:case`tool-input-available`:case`tool-output-available`:case`tool-output-error`:case`tool-output-denied`:case`tool-approval-request`:yc(t,e);return;case`file`:_c(t,{kind:`file`,url:e.url,mediaType:e.mediaType});return;case`source-url`:vc(t,{kind:`source`,sourceId:e.sourceId,url:e.url,title:e.title});return;case`source-document`:vc(t,{kind:`source`,sourceId:e.sourceId,title:e.title,filename:e.filename,mediaType:e.mediaType});return;case`data-notification`:return;case`data-conversation-rebind`:return;case`data-suggestions`:t.suggestions=rn(e.data);return;case`data-control-state`:t.operatorRoutedTurn=!0;return;default:}}bumpDone(e){e.partsSig.value=[...e.partsSig.value],this.messagesSig.value=[...this.messagesSig.value]}};function gc(e,t,n){let r=e.partsSig.value.find(e=>e.kind===`tool`&&e.toolCallId===t);if(r)return r;let i={kind:`tool`,toolCallId:t,toolName:n??`tool`,inputPartialSig:d(``),inputSig:d(void 0),outputSig:d(void 0),errorSig:d(void 0),stateSig:d(`input-streaming`),approvalSig:d(void 0)};return _c(e,i),i}function _c(e,t){e.partsSig.value=[...e.partsSig.value,t]}function vc(e,t){e.partsSig.value.some(e=>e.kind===`source`&&e.sourceId===t.sourceId)||_c(e,t)}function yc(e,t){switch(t.type){case`tool-input-start`:gc(e,t.toolCallId,t.toolName);return;case`tool-input-delta`:{let n=gc(e,t.toolCallId);n.inputPartialSig.value+=t.inputTextDelta;return}case`tool-input-available`:{let n=gc(e,t.toolCallId,t.toolName);n.inputSig.value=t.input,n.stateSig.value=`input-available`;return}case`tool-approval-request`:{let n=gc(e,t.toolCallId,t.toolName);n.approvalSig.value={id:t.approvalId},n.stateSig.value=`approval-requested`;return}case`tool-output-available`:{let n=gc(e,t.toolCallId);n.outputSig.value=t.output,n.stateSig.value=`output-available`;return}case`tool-output-error`:{let n=gc(e,t.toolCallId);n.errorSig.value=t.errorText,n.stateSig.value=`output-error`;return}case`tool-output-denied`:{let n=gc(e,t.toolCallId);n.stateSig.value=`output-denied`;return}default:return}}const bc=1e3;async function xc(e){let t=bc;for(;!e.signal.aborted;){let n,r=`held`;try{r=await e.connect(()=>{n=e.now(),e.backfill()})}catch{}if(e.signal.aborted||r===`unavailable`)return;n!==void 0&&e.now()-n>=1e3&&(t=bc),await e.sleep(t),t=Math.min(t*2,15e3)}}const Sc=P.scope(`resume-stream`);function Cc(e){let{activated:t,conversationReady:n,conversationIdSig:r,messagesSig:a,streamingRef:o,optionsRef:s,isChatActiveRef:c,transport:l,visitorId:u,adoptControlStateChunk:d,settleSuggestions:f,markActiveConversationRead:p,onReplyLanded:m,setStreaming:h,setActiveCancel:g,setCanSend:_,feedback:v,bus:y,homeNav:b}=e;i(()=>{if(!t||!n||!r.value)return;let e=r.value,i=new AbortController,x=e=>{},S=new hc(a,e=>x(e));l.primeIdentity(u,e),Sc.debug(`resume stream opened`,{conversationId:e});let C=()=>{h(!1),g(null),p(),m()},w=(e,t=[])=>{let n=o.current,r=s.current;if(e.canceled){n&&C(),a.value=[...a.value];return}let i=e.status===`error`;switch(Yn(e,i)){case`drop`:a.value=a.value.filter(t=>t!==e);break;case`complete-operator-routed`:e.status=`complete`,n&&(v.play(`messageReceived`),cc(y,r,`assistant`,On(e)));break;case`error`:if(e.status=`error`,e.errorText=r.strings.errorGeneric,n){v.play(`error`);let e=Error(i?`stream error chunk`:`empty reply`);y.emit(`error`,e),r.onError?.(e)}break;case`complete`:e.status=`complete`,n&&(v.play(`messageReceived`),cc(y,r,`assistant`,On(e))),f(e,t);break}n&&C(),a.value=[...a.value]},T=t=>{d(t);let n=a.value.length,r=S.applyResume(t);if(t.type===`finish`&&t.canContinue===!1&&_(!1),a.value.length>n){let e=s.current.modules.list.find(e=>e.layout===`chat`)?.id;e&&b?.switchTab(e)}if(r){if(r.role===`operator`){v.play(`messageReceived`),cc(y,s.current,`operator`,On(r)),!document.hidden&&c.current()&&l.markRead(e).catch(()=>void 0);return}w(r)}},E=async()=>{let t=await l.loadConversation(e).catch(()=>null);if(i.signal.aborted||!t||(_(t.canContinue??!0),!t.messages?.length))return!1;let n=a.value,r=n.at(-1),{messages:o,changed:s}=Un(n,Tn(t.messages));if(!s)return!1;a.value=o;let c=o.at(-1);return r?.role===`assistant`&&r.status===`streaming`&&c?.role===`assistant`&&c.status!==`streaming`&&c.id===r.id?w(c,t.suggestions??[]):c?.role===`assistant`&&c.status!==`streaming`&&f(c,t.suggestions??[]),!0};x=t=>{(async()=>{for(let e=0;e<8&&!i.signal.aborted;e++){let n=await E(),r=t===void 0?void 0:a.value.find(e=>e.serverMessageId===t||e.id===t);if(t===void 0&&n||!r?.continuationStreaming||i.signal.aborted)return;await Wt(Math.min(400+e*200,1200),i.signal)}!i.signal.aborted&&t!==void 0&&Sc.warn(`durable HITL reconcile did not land; keeping stale controls locked`,{conversationId:e,messageId:t})})()};let D=-1/0;xc({signal:i.signal,now:()=>performance.now(),sleep:e=>Wt(e,i.signal),connect:e=>l.connectResumeStream({signal:i.signal,onChunk:T,onConnected:e}),backfill:()=>{let e=performance.now();e-D<2e3||(D=e,E())}});let O=e=>e.partsSig.value.reduce((e,t)=>e+(t.kind===`text`||t.kind===`reasoning`?t.textSig.value.length:1),0),k=0,A=-1,j=setInterval(()=>{let e=a.value.at(-1);if(o.current&&e&&e.role!==`user`&&e.status!==`streaming`&&(h(!1),g(null)),!(!o.current&&Bn(e))){k=0,A=-1;return}let t=O(e);if(t!==A){A=t,k=0;return}k++>=30||E().then(e=>{e&&(k=0)})},2500);return()=>{i.abort(),clearInterval(j),S.detach(),Sc.debug(`resume stream closed`,{conversationId:e})}},[t,n,r,r.value,u,l,d,f,p,m,h,g,_,a,y,v,b])}const wc=P.scope(`send`);function Tc(e){let{transport:t,messagesSig:n,conversationIdSig:i,options:a,bus:o,feedback:s,persistence:c,visitorId:l,adoptConversationId:u,setStreaming:d,setActiveCancel:f}=e,p=r(()=>{let e=i.value??lt();return i.value||(i.value=e,c.saveConversationId(e)),e},[i,c]);return{sendAiTurn:r(async({continueExisting:e})=>{let r=p(),m=an({messages:En(n.value,e).map(Dn),conversationId:r,tools:a.features.tools,visitorId:l,userPrefs:c.loadUserPrefs()});d(!0),f(()=>()=>t.cancelTurn(i.value));try{let e=await t.sendTurn(m);u(e.conversationId)}catch(t){let r=Cs(t,a.strings),i=n.value.at(-1);if(e&&i?.role===`assistant`)i.status=`error`,i.errorText=r,n.value=[...n.value];else{let e=_n();e.status=`error`,e.errorText=r,n.value=[...n.value,e]}d(!1),f(null),s.play(`error`),o.emit(`error`,t),a.onError?.(t)}},[t,n,i,a,o,s,c,l,u,p,d,f]),sendRoutedTurn:r(async e=>{let n=p(),r=an({messages:[Dn(e)],conversationId:n,tools:a.features.tools,visitorId:l,userPrefs:c.loadUserPrefs()});try{let e=await t.sendTurn(r);u(e.conversationId)}catch(e){wc.debug(`operator-routed send failed (non-fatal)`,{error:e});let t=e instanceof Error?e:Error(String(e));o.emit(`error`,t),a.onError?.(t)}},[t,a,o,c,l,u,p])}}const Ec=P.scope(`unread`);function Dc(e){let{transport:t,options:n,conversationIdSig:a,isChatActiveRef:o,activated:c,conversationReady:l}=e,u=p(!1),d=s(new Set),f=s();i(()=>()=>clearTimeout(f.current),[]);let m=r(()=>{let e=o.current()?a.value:void 0;u.value=[...d.current].some(t=>t!==e)},[u,a,o]),h=r(()=>{n.modules.list.some(e=>e.layout===`chat`)&&t.listConversations({limit:50}).then(e=>{d.current=new Set(e.conversations.filter(e=>e.hasUnread).map(e=>e.conversationId)),m()}).catch(e=>Ec.debug(`refreshUnread failed (non-fatal)`,{err:e}))},[t,n.modules,m]),g=r(e=>{d.current.delete(e),m()},[m]),_=r(()=>{if(!o.current())return;let e=a.value;e&&(clearTimeout(f.current),f.current=setTimeout(()=>{g(e),t.markRead(e)},300))},[t,a,g,o]),v=s(!1);return i(()=>{!c||!l||v.current||(v.current=!0,h())},[c,l,h]),i(()=>{if(!c)return;let e=()=>{document.visibilityState===`visible`&&h()};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[c,h]),{hasUnreadSig:u,refreshUnread:h,clearUnread:g,markActiveConversationRead:_}}const Oc=P.scope(`settings`);function kc(e){let{options:t,persistence:n,transport:a,feedback:o,hostElement:s,bus:l}=e,u=n.loadUserPrefs(),[d,f]=c(()=>u.locale??t.locale),[p,m]=c(()=>u.themeMode??t.themeMode),[h,g]=c(()=>u.textSize??t.textSize),_=r(e=>{n.patchUserPrefs(e),a.saveUserPrefs(n.loadUserPrefs()).catch(e=>Oc.warn(`saveUserPrefs failed`,{err:e}))},[n,a]);i(()=>{u.soundMuted!==void 0&&o.setMuted(u.soundMuted)},[]),i(()=>{s.dataset.theme=p},[s,p,t]),i(()=>{s.dataset.textSize=h},[s,h,t]),i(()=>{let e=!0;return o.mutedSig.subscribe(t=>{if(e){e=!1;return}_({soundMuted:t})})},[o,_]);let v=je(d,t.availableLocales,t.defaultLocale);return i(()=>{a.setLocale(v)},[a,v]),i(()=>{s.dir=E(v)?`rtl`:`ltr`},[s,v]),i(()=>{v!==d&&f(v)},[v,d]),{activeLocale:d,activeThemeMode:p,activeTextSize:h,effectiveLocale:v,setActiveLocale:f,setActiveThemeMode:m,setActiveTextSize:g,patchAndSync:_,handleLocaleChange:r(e=>{Oc.info(`localeChange`,{locale:e}),f(e),_({locale:e}),l.emit(`localeChange`,e)},[_,l]),handleThemeChange:r(e=>{Oc.info(`themeChange`,{mode:e}),m(e),s.dataset.theme=e,_({themeMode:e}),l.emit(`themeChange`,e)},[s,_,l]),handleTextSizeChange:r(e=>{Oc.info(`textSizeChange`,{size:e}),g(e),s.dataset.textSize=e,_({textSize:e}),l.emit(`textSizeChange`,e)},[s,_,l]),handleSoundToggle:r(()=>{o.toggleMuted();let e=o.mutedSig.value;Oc.info(`soundToggle`,{muted:e}),l.emit(`soundToggle`,{muted:e})},[o,l])}}const $=P.scope(`app`),Ac=y.cssPrefix;function jc(e,t){return vn({...e,text:D(t,e.text)})}function Mc({options:e,hostElement:t,bus:n}){let[u]=c(()=>ft(e.widgetId,e.storage,e.aiAgentDeploymentId)),[d,m]=c(()=>u.getVisitorId()),_=u.loadUserPrefs(),v=p(u.loadConversationId()),y=p([]),[b,x]=c(!1),[S,C]=c([]);function w(){let t=e.modules.list,n=new Set(t.map(e=>e.id)),r=u.loadActiveModule();return r&&n.has(r)?r:t[0]?.id??``}function T(){return e.modules.list.find(e=>e.layout===`chat`)?.id}function E(){let t=T();return t?e.modules.list.length===1||A.sig.value.activeTab===t:!1}let O=s(E);O.current=E;let k=s();if(!k.current){let t=e.modules.list.map(e=>e.id);k.current=hs(w(),t,e=>u.saveActiveModule(e))}let A=k.current,[j,ee]=c(!1),[te,M]=c(null),[N,ne]=c(!1),re=e.mode===`standalone`||e.mode===`inline`,ie=s(Vt(e,Ht(),u.loadPanelOpen(),u.loadPanelSize())),[ae,oe]=c(ie.current.panelOpen),[se,ce]=c(ie.current.panelOpen),le=s(!1),ue=s(void 0);i(()=>{ae&&ce(!0)},[ae]);let P=s(!1),[F,de]=c(!1),{dismissed:fe,dismissCallout:pe}=dc({callout:e.launcher.callout,persistence:u}),me=e.launcher.callout?.persistent??!0,he=r(()=>{$.info(`calloutDismiss`),n.emit(`calloutDismiss`,void 0),pe()},[n,pe]),[ge,_e]=c(ie.current.panelSize),ve=s(!1),[ye,be]=c(`chat`),[xe,Se]=c(!0),[I,Ce]=c(!1),we=s(I);we.current=I;let[Te,Ee]=c(null),[De,Oe]=c([]),[ke,Ae]=c(null),je=s(e.strings),Me=s(e);Me.current=e;let[Ne,Pe]=c(void 0),[Fe,Ie]=c(void 0),[Le,Re]=c(()=>u.loadSidebarCollapsed()??!1),[Be,Ve]=c({}),[L]=c(()=>new fn({agentApiBaseUrl:e.agentApiBaseUrl,dataApiBaseUrl:e.dataApiBaseUrl,auth:Ut({publicKey:e.publicKey,aiAgentDeploymentId:e.aiAgentDeploymentId,publicKeyHeader:`x-public-key`}),endpoints:e.endpoints})),[R]=c(()=>new lr(e.sound,e.haptics)),{activeLocale:Ue,activeThemeMode:We,activeTextSize:Ge,effectiveLocale:z,setActiveLocale:Ke,setActiveThemeMode:qe,setActiveTextSize:Je,patchAndSync:Ye,handleLocaleChange:Xe,handleThemeChange:Ze,handleTextSizeChange:Qe,handleSoundToggle:$e}=kc({options:e,persistence:u,transport:L,feedback:R,hostElement:t,bus:n}),{controlModeSig:et,assignedOperatorInitialsSig:tt,operatorAvailableSig:nt,applyControlState:rt,adoptControlStateChunk:it,requestOperator:at,cancelRequestOperator:ot}=fc({transport:L}),{hasUnreadSig:st,refreshUnread:ut,clearUnread:dt,markActiveConversationRead:pt}=Dc({transport:L,options:e,conversationIdSig:v,isChatActiveRef:O,activated:se,conversationReady:j});i(()=>{R.update(e.sound,e.haptics)},[R,e.sound,e.haptics]),i(()=>()=>R.destroy(),[R]),i(()=>{ve.current||!e.size.initialSize||(ve.current=!0,!u.loadPanelSize()&&_e(Bt(e.mode,e.size,Ht())))},[e.mode,e.size,u]),i(()=>{if(!j||P.current)return;P.current=!0;let t=Vt(e,Ht(),u.loadPanelOpen(),u.loadPanelSize());oe(t.panelOpen),_e(t.panelSize)},[j,e,u]);let mt=s(null);i(()=>{j&&A.reconcile(e.modules.list.map(e=>e.id),w())},[j,e.modules.list,A]);let ht=r(e=>{!e||e.length===0||(y.value=e.map(e=>jc(e,je.current)))},[y]),gt=s(null),_t=r(async e=>{try{let{formSubmissions:t}=await(e?L.bootstrap(e):gt.current??L.bootstrap()),n=new Map;return t.forEach((e,t)=>n.set(e.formId,t)),t.filter((e,t)=>!e.skipped||n.get(e.formId)===t).map((e,t)=>({key:`wire:${e.formId}:${e.createdAt??t}`,formId:e.formId,outcome:e.skipped?`skipped`:`submitted`,createdAt:$t(e.createdAt),values:e.values}))}catch(e){return $.debug(`bootstrap failed — no form markers (non-fatal)`,{err:e}),[]}},[L]),vt=s(0),yt=r((e,t)=>{let n=[...e.map(e=>e.createdAt),...t.map(e=>e.createdAt)].filter(e=>e!==void 0),r=(n.length?Math.min(...n):Date.now())-1;return[...(ue.current?.messages??[]).map(e=>{let t=jc(e,je.current);return t.createdAt=r,t}),...e]},[]),bt=r(async e=>{let t=vt.current,n=()=>t!==vt.current;x(!0);try{let[t,r]=await Promise.all([L.loadConversation(e),_t()]);if(n())return;let i=Tn(t.messages??[]);if(C(r),y.value=yt(Hn(i,y.value),r),Se(t.canContinue??!0),i.length){rt(nn(t.controlState));let e=i.findLast(e=>e.role===`assistant`&&!e.ephemeral);Oe(e?.suggestions??t.suggestions??[])}}catch(t){if(n())return;$.warn(`loadThread failed; resetting conversationId`,{err:t,conversationId:e}),v.value=void 0,u.saveConversationId(void 0)}finally{n()||x(!1)}},[L,_t,y,v,u,yt]),xt=r(async({newConversation:t})=>{let r=++vt.current,i=()=>r!==vt.current,a=v.value,o=t||!a?lt():a;o!==a&&(v.value=o,u.saveConversationId(o));let s;try{s=await L.handshake({visitorId:d,conversationId:o,userPrefs:u.loadUserPrefs(),locale:Ue})}catch(r){if(i())return;n.emit(`error`,r),e.onError?.(r),t||ee(!0);return}if(!i()){if(s.visitorId&&s.visitorId!==d&&($.info(`visitor rebound`,{previous:d,current:s.visitorId,reason:s.rebind?.visitorId}),u.setVisitorId(s.visitorId),m(s.visitorId),n.emit(`visitorRebound`,{previous:d,current:s.visitorId,reason:s.rebind?.visitorId})),s.conversationId&&s.conversationId!==o&&($.info(`conversation rebound`,{previous:o,current:s.conversationId,reason:s.rebind?.conversationId}),n.emit(`conversationRebound`,{previous:o,current:s.conversationId,reason:s.rebind?.conversationId})),s.agent&&Ee(s.agent),rt(nn(s.controlState)),e.mode===`page`&&(s.site&&Lt(s.site)?Pe(s.site):s.site&&$.warn(`invalid site config, using fallback`,{site:s.site}),s.blocks&&Rt(s.blocks)?Ie(s.blocks):s.blocks&&$.warn(`invalid blocks config, using fallback`,{blocks:s.blocks})),s.userPrefs&&!t&&(u.saveUserPrefs(s.userPrefs),s.userPrefs.locale&&Ke(s.userPrefs.locale),s.userPrefs.soundMuted!==void 0&&R.setMuted(s.userPrefs.soundMuted),s.userPrefs.themeMode&&qe(s.userPrefs.themeMode),s.userPrefs.textSize&&Je(s.userPrefs.textSize)),ue.current=s.welcome,t||n.emit(`handshake`,s),s.welcome?.suggestions){let e=je.current;Oe(s.welcome.suggestions.map(t=>({...t,label:D(e,t.label),...t.text===void 0?{}:{text:D(e,t.text)}})))}!t&&a&&s.conversationId===a?le.current=!0:(v.value=s.conversationId,u.saveConversationId(s.conversationId),ht(s.welcome?.messages)),t||ee(!0)}},[L,d,u,e,n,v,R,ht,bt,Ue]),St=JSON.stringify(e.userContext??null);i(()=>{let t=Object.keys(Be).length?{...Be,...e.userContext}:e.userContext;L.setContext(t,Nc(e.pageContext))},[L,St,JSON.stringify(e.pageContext??null),JSON.stringify(Be)]);let Ct=r((e,t=[])=>Oe(e.suggestions??t),[]),wt=r(e=>{if(!e||e===v.value)return;let t=v.value;v.value=e,u.saveConversationId(e),L.primeIdentity(void 0,e),$.info(`conversation rebound`,{previous:t,current:e}),t&&n.emit(`conversationRebound`,{previous:t,current:e,reason:e})},[v,u,L,n]);i(()=>(L.primeIdentity(d,v.value),xt({newConversation:!1}),()=>{vt.current++}),[]);let Tt=s(!1);i(()=>{if(!(!se||!j||Tt.current)&&(Tt.current=!0,gt.current=L.bootstrap(),(async()=>{try{let e=await gt.current;M(ze((e??{forms:[]}).forms,z))}catch(e){$.debug(`bootstrap failed — treating as no forms`,{err:e})}finally{ne(!0)}})(),le.current)){le.current=!1;let e=v.value;e&&bt(e)}},[se,j]);let Et=s(null);i(()=>{if(!se||!j)return;if(Et.current===null){Et.current=z;return}if(Et.current===z)return;Et.current=z;let e=!1;return L.bootstrap().then(t=>{e||M(ze((t??{forms:[]}).forms,z))}).catch(e=>$.debug(`forms re-localize failed — keeping current copy`,{err:e})),()=>{e=!0}},[se,j,z,L]);let Dt=s(St);i(()=>{!j||Dt.current===St||(Dt.current=St,xt({newConversation:!1}))},[St,j,xt]),pc({hostElement:t,mode:e.mode,panelSize:ge,isOpen:ae,setIsOpen:oe});let{sendAiTurn:Ot,sendRoutedTurn:kt}=Tc({transport:L,messagesSig:y,conversationIdSig:v,options:e,bus:n,feedback:R,persistence:u,visitorId:d,adoptConversationId:wt,setStreaming:Ce,setActiveCancel:Ae}),{toolInteraction:At}=uc({streaming:I,messagesSig:y,sendAiTurn:Ot,bus:n,humanInLoop:e.features.humanInLoop}),jt=r((e,t)=>{$.info(`messageFeedback`,{messageId:e,value:t}),n.emit(`messageFeedback`,{messageId:e,value:t}),L.submitFeedback({messageId:e,value:t})},[n,L]),Mt=()=>y.value.reduce((e,t)=>e+ +(t.role===`user`),0),Nt=e.forms.list.length>0?e.forms:te??e.forms,B=ns({forms:Nt,persistence:u,userContext:()=>e.userContext,messageCount:Mt,pageArea:()=>e.pageContext?.area?String(e.pageContext.area):void 0,conversationId:()=>v.value,onComplete:(e,t,r,i)=>{$.info(`formSubmit`,{formId:e.id,trigger:t,skipped:i}),n.emit(`formSubmit`,{formId:e.id,values:r,skipped:i}),C(t=>{let n=t.find(t=>t.formId===e.id&&t.outcome===`skipped`)?.createdAt??Date.now();return[...t.filter(t=>!(t.formId===e.id&&t.outcome===`skipped`)),{key:`local:${e.id}:${n}`,formId:e.id,outcome:i?`skipped`:`submitted`,createdAt:n,...i?{}:{values:r}}]});let a=v.value??lt();v.value||(v.value=a,u.saveConversationId(a),L.primeIdentity(void 0,a)),!i&&e.mirrorToContext&&Ve(e=>({...e,...r})),L.submitForm({formId:e.id,conversationId:a,trigger:t,values:r,skipped:i})}}),Pt=f(()=>B.activeForm.value);Cc({activated:se,conversationReady:j,conversationIdSig:v,messagesSig:y,streamingRef:we,optionsRef:Me,isChatActiveRef:O,transport:L,visitorId:d,adoptControlStateChunk:it,settleSuggestions:Ct,markActiveConversationRead:pt,onReplyLanded:r(()=>B.fire(`after-messages`),[B]),setStreaming:Ce,setActiveCancel:Ae,setCanSend:Se,feedback:R,bus:n,homeNav:A}),i(()=>{B.refresh()},[Nt,B]);let V=e.pageContext?.area?String(e.pageContext.area):void 0,Ft=f(()=>y.value.length);i(()=>{j&&N&&B.fire(`pre-chat`)},[j,N,B]),i(()=>{N&&!xe&&B.fire(`conversation-closed`)},[N,xe,B]),i(()=>{j&&N&&V&&B.fire(`page-area`)},[j,N,V,B]);let It=o(()=>{let e=Nt.list.flatMap(e=>e.triggers).filter(e=>e.kind===`idle`).map(e=>Number(e.param));return e.length?Math.min(...e)*1e3:0},[Nt]);i(()=>{if(!It||!ae)return;let e=setTimeout(()=>B.fire(`idle`),It);return()=>clearTimeout(e)},[It,ae,B,Ft.value]);let zt=r(async(t,r)=>{let i=et.value!==`ai-agent`;if($.info(`send`,{textLen:t.length,attachments:r.length,streaming:I,routedToOperator:i}),I&&!i)return;n.emit(`send`,{text:t,attachmentCount:r.length}),De.length>0&&Oe([]);let a=await Fc(L,r,t=>{$.warn(`upload failed`,{err:t}),n.emit(`error`,t),e.onError?.(t)});R.unlock(),R.play(`messageSent`);let o=gn(t,a);if(cc(n,e,`user`,t),i){y.value=[...y.value,o],kt(o);return}y.value=[...y.value,o,_n()],Ot({continueExisting:!1})},[I,L,n,e,De.length,y,Ot,kt,et]),Wt=r(()=>{$.info(`stop`),n.emit(`stop`,void 0);let e=y.value.at(-1);e&&e.role!==`user`&&e.status===`streaming`&&(e.canceled=!0,y.value=[...y.value]),ke?.()},[ke,n,y]),Gt=r(()=>{if(I)return;let e=y.value,t=e.at(-1);!t||t.role!==`assistant`||t.status!==`error`&&!qn(t)||(y.value=[...e.slice(0,-1),_n()],$.info(`retry`),Ot({continueExisting:!1}))},[I,y,Ot]),Kt=r(()=>{if(Ti(e.mode,ge)===`exit-fullscreen`){$.info(`close → exit-fullscreen`,{mode:e.mode}),_e(`normal`),n.emit(`fullscreen`,!1);return}$.info(`close → panel closed`,{mode:e.mode}),B.fire(`panel-close`),oe(!1),u.savePanelOpen(!1),n.emit(`close`,void 0),e.onClose?.()},[n,e,u,ge,B]),qt=r(()=>{$.info(`open`,{mode:e.mode}),R.unlock(),de(!0),oe(!0),u.savePanelOpen(!0),!fe&&!me&&he(),setTimeout(()=>de(!1),Pc),ut(),n.emit(`open`,void 0),e.onOpen?.()},[n,e,R,u,fe,me,he,ut]),Jt=r(()=>{if(!y.value.some(e=>e.role===`user`)&&xe&&v.value){$.info(`clear → reusing empty conversation`,{conversationId:v.value}),y.value.length===0&&ht(ue.current?.messages);return}$.info(`clear → new conversation`,{wasStreaming:I}),n.emit(`clear`,void 0),I&&Ce(!1),l(()=>{y.value=[],v.value=void 0}),u.clearConversation(),Se(!0),C([]),xt({newConversation:!0})},[I,y,v,u,xt,n,xe,ht]),Yt=r(()=>{Jt(),be(`chat`);let t=e.modules.list.find(e=>e.layout===`chat`)?.id;t&&A.switchTab(t)},[Jt,A,e]),Xt=r(()=>{let e=ge===`expanded`?`normal`:`expanded`;$.info(`expand`,{from:ge,expanded:e===`expanded`}),_e(e),u.savePanelSize(e),n.emit(`expand`,e===`expanded`)},[n,ge,u]),Zt=r(()=>{let e=ge===`fullscreen`?`normal`:`fullscreen`;$.info(`fullscreen`,{from:ge,fullscreen:e===`fullscreen`}),_e(e),u.savePanelSize(e),n.emit(`fullscreen`,e===`fullscreen`)},[n,ge,u]),Qt=r(()=>{be(e=>{let t=e===`history`?`chat`:`history`;return $.info(`toggleHistory`,{view:t}),n.emit(`toggleHistory`,{view:t}),t})},[n]),en=r(()=>{Re(e=>{let t=!e;return $.info(`sidebarToggle`,{collapsed:t}),u.saveSidebarCollapsed(t),n.emit(`sidebarToggle`,{collapsed:t}),t})},[u,n]),tn=r(e=>{$.info(`resize`,e),Ye({widgetSize:e}),n.emit(`resize`,e)},[Ye,n]),H=r(async t=>{$.info(`selectConversation`,{conversationId:t,wasStreaming:I}),n.emit(`selectConversation`,{conversationId:t}),I&&Ce(!1);try{let[e,n]=await Promise.all([L.loadConversation(t),_t(t)]),r=Tn(e.messages);l(()=>{y.value=yt(r,n),v.value=e.conversationId}),C(n),u.saveConversationId(e.conversationId),L.primeIdentity(d,e.conversationId),e.agent&&Ee(e.agent),Se(e.canContinue),rt(nn(e.controlState));let i=r.findLast(e=>e.role===`assistant`&&!e.ephemeral);Oe(i?.suggestions??e.suggestions??[]),be(`chat`),await L.markRead(t),dt(t)}catch(t){n.emit(`error`,t),e.onError?.(t)}},[L,y,v,n,e,u,dt,_t,yt,I,d]),rn=s(null),an=r(e=>{typeof e==`string`&&(N?B.fire(`manual`,e):rn.current=e)},[N,B]);i(()=>{!N||!rn.current||(B.fire(`manual`,rn.current),rn.current=null)},[N,B]);let on=s({handleOpen:qt,handleClose:Kt,handleExpand:Xt,handleFullscreen:Zt,openForm:an});on.current={handleOpen:qt,handleClose:Kt,handleExpand:Xt,handleFullscreen:Zt,openForm:an},a(()=>ct(t,{open:()=>on.current.handleOpen(),close:()=>on.current.handleClose(),expand:()=>on.current.handleExpand(),fullscreen:()=>on.current.handleFullscreen(),openForm:e=>on.current.openForm(e)}),[t]);let U=o(()=>He(e,Ue,We,Ge),[e,Ue,We,Ge]);je.current=U.strings;let sn=o(()=>S.map(e=>{let t=Nt.list.find(t=>t.id===e.formId);return{...e,title:t?.title,form:t}}),[S,Nt]),W={options:U,transport:L,feedback:R,bus:n,persistence:u,composerApiRef:mt,view:ye,canSend:xe,isStreaming:I,controlMode:et.value,assignedOperatorInitials:tt.value,operatorAvailable:nt.value,operatorRequestEnabled:e.features.operatorRequest,onRequestOperator:at,onCancelRequest:ot,loadingMessages:b,messagesSig:y,agent:Te,suggestions:De,initialWidgetSize:_.widgetSize??null,visitorId:d,onClose:Kt,onClear:Jt,onExpand:Xt,onFullscreen:Zt,onSoundToggle:$e,onToggleHistory:Qt,onSelectHistoryConversation:H,onNewConversation:Yt,onLocaleChange:Xe,onThemeChange:Ze,onTextSizeChange:Qe,onWidgetSizeChange:tn,onSend:zt,onStop:Wt,onSuggestion:t=>{let r=t.text??t.label;$.info(`suggestion`,{text:r,autoSend:e.autoSendSuggestions}),n.emit(`suggestion`,{text:r}),e.autoSendSuggestions?zt(r,[]):mt.current?.fill(r)},activeForm:Pt.value?.form??null,formMarkers:sn,onFormSubmit:B.complete,onFormSkip:B.skip,onFormFill:e=>B.fire(`manual`,e),tool:At,onRetry:Gt,onMessageFeedback:jt},cn=e=>{H(e);let t=T();t&&A.switchTab(t)};if(!j)return null;let ln=U.modules.list,un=e=>{let t=Ci(`close`,U.mode,e);return ln.length===0?h(sc,{strings:U.strings,onClose:t?Kt:void 0}):ln.length===1&&ln[0]?.layout===`chat`?h(qo,{...W,panelSize:e}):h(ac,{panelProps:{...W,panelSize:e,onClose:t?Kt:void 0},enabledModules:ln,nav:A,bus:n,hasUnread:st.value,onSelectConversation:cn,onStartNewConversation:Yt,onSetPanelSize:_e})};if(e.mode===`page`){let e=e=>{H(e.conversationId)},t=ln.some(e=>e.layout===`chat`);return h(`div`,{class:`${Ac}-anchor`,children:h(fs,{site:Ne,blocks:Fe,transport:L,strings:U.strings,locale:U.locale,persistence:u,visitorId:d,showConversations:t,onSelectConversation:e,onNewConversation:Yt,sidebarCollapsed:Le,onToggleSidebarCollapsed:en,children:un(`fullscreen`)})})}if(re){let t=e.mode===`standalone`?`fullscreen`:ge;return h(`div`,{class:`${Ac}-anchor`,children:un(t)})}let dn=e.mode===`drawer`,pn=e.mode!==`modal`&&!e.launcher.hidden&&(!ae||F),mn=pn&&!F&&!fe&&!dn?U.launcher.callout:null;return g(`div`,{class:`${Ac}-anchor`,"data-launcher-size":U.launcher.size,children:[ae||se?h(`div`,{class:`${Ac}-surface`,hidden:!ae,children:un(ge)}):null,pn?h(pi,{onToggle:qt,launcher:U.launcher,strings:U.strings,leaving:F,edgeTab:dn}):null,mn?h(_i,{callout:mn,launcherPosition:U.position,strings:U.strings,closeLabel:U.strings.close,onDismiss:he}):null]})}function Nc(e){let t=e?.url??(typeof location<`u`?location.href:void 0);if(!(!e&&!t))return{...e,...t?{url:t}:{}}}const Pc=120;async function Fc(e,t,n){let r=[];for(let i of t)try{let{id:t,url:n}=await e.uploadFile(i.file);r.push({id:t,name:i.name,mediaType:i.mediaType,size:i.size,url:n})}catch(e){n(e)}return r}const Ic=P.scope(`error-boundary`);var Lc=class extends e{constructor(...e){super(...e),V(this,`state`,{crashed:!1})}componentDidCatch(e,t){Ic.error(`widget render crashed`,{error:e,componentStack:t?.componentStack}),this.setState({crashed:!0}),this.props.onError(e,t?.componentStack)}render(){return this.state.crashed?this.props.fallback:this.props.children}};const Rc={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}),messageFeedback:e=>({value:e.value??`none`}),contentView:e=>({section:e.section,tags:e.tags,count:e.count}),contentOpen:e=>({contentId:e.contentId,tags:e.tags}),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 zc(){let e=navigator;return e.globalPrivacyControl===!0||e.doNotTrack===`1`}function Bc(){return location.origin+location.pathname}function Vc(){try{return document.referrer?new URL(document.referrer).origin:``}catch{return``}}function Hc(e,t){let n=Math.random(),r=0,i=0,a=new Set,o=(e,o)=>{let{tracking:s,publicKey:c,aiAgentDeploymentId:l,mode:u,themeMode:d}=t.getOptions();if(!s.enabled||zc()||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`,b),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`,Bc());let h=Vc();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(_);let v=()=>a.delete(_);_.addEventListener(`load`,v,{once:!0}),_.addEventListener(`error`,v,{once:!0}),_.src=g},s=Object.keys(Rc).map(t=>e.on(t,e=>o(t,Rc[t]?.(e))));return()=>{for(let e of s)e();a.clear()}}function Uc(e){let{bus:r,host:i,appRoot:a,persistence:o,reportError:s}=e,c=e.initialRaw,l,u=Oe(c),d=!0,f=()=>{u=Oe(l?R(c,l):c)},p=()=>{vt(i,yt(u.mode));let e=o.loadUserPrefs().themeMode;Dt(i,e?{...u,themeMode:e}:u),d&&(Et(i,Wc(u)),d=!1)},m=()=>{p(),n(t(Lc,{onError:s},t(Mc,{bus:r,hostElement:i,options:u})),a)};r.on(`handshake`,e=>{e.config&&(e.config.storageVersion&&o.rememberStorageVersion(e.config.storageVersion),l=e.config,f(),m())});let h=Hc(r,{getOptions:()=>u,getVisitorId:()=>o.getVisitorId(),getConversationId:()=>o.loadConversationId()});return{getOptions:()=>u,getUserOptions:()=>c,render:m,setUserOptions:e=>{c=e,f(),m()},patchUserOptions:e=>{c={...c,...e},f(),m()},destroy:()=>h()}}function Wc(e){if(e.mode===`standalone`)return`standalone`;if(e.mode===`inline`)return`inline`;let t=ft(e.widgetId,e.storage,e.aiAgentDeploymentId),{panelOpen:n,panelSize:r}=Vt(e,Ht(),t.loadPanelOpen(),t.loadPanelSize());return zt(e.mode,r,n)}const Gc=P.scope(`hooks`),Kc=`*`,qc=new Set;function Jc(e,t,n){let r={widgetId:e,event:t,listener:n};return qc.add(r),()=>{qc.delete(r)}}function Yc(e,t,n){let r=[...qc];for(let i of r)if(Zc(i.widgetId,e.widgetId)&&!(i.event!==`*`&&i.event!==t))try{i.listener(e,t,n)}catch(e){Gc.warn(`hook listener threw`,{event:t,error:e})}}function Xc(e,t){let n=[];for(let r of Qc)n.push(t.on(r,t=>{Yc(e,r,t)}));return()=>{for(let e of n)e()}}function Zc(e,t){return e===`*`||e===t}const Qc=`open.close.expand.fullscreen.resize.message.send.stop.clear.selectConversation.suggestion.toggleHistory.formSubmit.toolResult.toolDecision.messageFeedback.contentView.contentOpen.contentSearch.contentRead.contentLinkClick.attach.removeAttachment.voiceStart.voiceStop.voiceCancel.localeChange.themeChange.textSizeChange.soundToggle.sidebarToggle.calloutDismiss.error.handshake.visitorRebound.conversationRebound`.split(`.`),$c=new Map;function el(e){e.debug!==void 0&&ce(e.debug);let t=P.scope(`mount`);t.info(`mount`,{widgetId:e.widgetId,publicKey:e.publicKey,mode:e.presentation?.mode});let r=Oe(e),i=r.widgetId,a=$c.get(i);a&&(t.debug(`destroy existing instance at slot`,{widgetId:i}),a.destroy());let o=Wc(r),s=r.iframe?kt({position:yt(r.mode)},r.position,o,r.mode,e.target??null):bt({position:yt(r.mode),target:e.target??null});s.hostElement.dataset.widgetId=i;let c=new Ft,l=ft(i,r.storage,r.aiAgentDeploymentId),u=Uc({bus:c,host:s.hostElement,appRoot:s.appRoot,persistence:l,initialRaw:e,reportError:e=>{c.emit(`error`,e),u.getOptions().onError?.(e)}});u.render();let d=s.hostElement,f=null,p=e=>{e.debug!==void 0&&ce(e.debug),u.patchUserOptions(e)},m={widgetId:i,open:()=>st(d,`open`),close:()=>st(d,`close`),expand:()=>st(d,`expand`),openForm:e=>st(d,`openForm`,e),on:(e,t)=>c.on(e,t),update:e=>{t.debug(`update`,{patch:e}),p(e)},setUserContext:e=>{t.debug(`setUserContext`,{keys:Object.keys(e)}),p({userContext:{...u.getUserOptions().userContext,...e}})},clearUserContext:()=>{t.debug(`clearUserContext`),p({userContext:void 0})},setPageContext:e=>{t.debug(`setPageContext`,{keys:Object.keys(e)}),p({pageContext:{...u.getUserOptions().pageContext,...e}})},clearPageContext:()=>{t.debug(`clearPageContext`),p({pageContext:void 0})},setDebug:e=>{ce(e),t.info(`debug level set`,{level:le()})},debugLevel:()=>le(),onLog:e=>F(e),destroy:()=>{t.info(`destroy`,{widgetId:i}),f?.(),u.destroy(),c.clear(),n(null,s.appRoot),s.destroy(),$c.get(i)===m&&$c.delete(i)}};return f=Xc(m,c),$c.set(i,m),m}function tl(e){let t=e.widgetId??`default`,n=$c.get(t);return n?(n.update(e),n):el(e)}function nl(e){if(e!==void 0){$c.get(e)?.destroy();return}let t=[...$c.values()];for(let e of t)e.destroy()}function rl(e=`default`){return $c.get(e)??null}function il(){return[...$c.values()]}function al(e,t,n){return Jc(e,t,n)}const ol=b,sl=y;export{Kc as HOOK_WILDCARD,sl as brand,nl as destroy,il as getAllInstances,rl as getInstance,al as hook,tl as init,el as mount,Wc as resolveInitialHostMode,ol as version};
12
+ `).trim(),j=!S&&t!==`error`&&!v.value&&A.length>0,te=k||j;return g(`div`,{class:`${X}-bubble-row`,"data-role":e.role,"data-testid":hi(q.messageBubble,e.serverMessageId??e.id),children:_(`div`,{class:`${X}-bubble-col`,children:[_(`div`,{class:`${X}-bubble`,children:[e.role===`operator`&&e.operatorInitials?g(`span`,{class:`${X}-bubble-author`,children:e.operatorInitials}):null,_(`div`,{class:`${X}-bubble-body`,children:[T?g(Fo,{label:n.loading}):h.map((r,o)=>g(Ao,{part:r,active:ee,live:C,strings:n,showReasoning:i,showToolCalls:a,showSources:s,interactive:c&&t===`complete`&&(r.kind!==`tool`||Ln(e,o)),superseded:l,continuationStreaming:e.continuationStreaming===!0,tool:d},`${No(r)}#${o}`)),E&&g(Po,{}),t===`error`||v.value?_(`div`,{class:`${X}-error`,role:`alert`,children:[g(`span`,{children:e.errorText??n.errorGeneric}),f?g(`button`,{type:`button`,class:`${X}-error-retry`,onClick:()=>f(e),"data-testid":q.messageRetry,children:n.errorRetry}):null]}):null]})]}),D||te?_(`div`,{class:`${X}-bubble-meta`,children:[D?g(`time`,{class:`${X}-bubble-time`,dateTime:D.iso,title:D.full,children:D.short}):null,te?_(`div`,{class:`${X}-bubble-actions`,children:[k&&e.serverMessageId?g(ro,{messageId:e.serverMessageId,initial:e.feedback??null,strings:n,onFeedback:m}):null,j?g(Oo,{text:A,strings:n}):null]}):null]}):null]})})}function Oo({text:e,strings:t}){let[n,r]=c(!1),i=()=>{navigator.clipboard?.writeText(e).then(()=>{r(!0),setTimeout(()=>r(!1),1500)}).catch(()=>{})},a=n?t.copied:t.copy;return g(`button`,{type:`button`,class:`${X}-msg-action`,"data-active":n?`true`:void 0,"aria-label":a,title:a,onClick:i,"data-testid":q.messageCopy,children:g(n?Fr:si,{})})}function ko(e){if(typeof e!=`number`||!Number.isFinite(e))return null;try{let t=new Date(e);return{short:t.toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`}),full:t.toLocaleString(void 0,{dateStyle:`full`,timeStyle:`short`}),iso:t.toISOString()}}catch{return null}}function Ao({part:e,active:t,live:n,strings:r,showReasoning:i,showToolCalls:a,showSources:o,interactive:s,superseded:c,continuationStreaming:l,tool:u}){switch(e.kind){case`step-start`:return null;case`text`:return g($a,{textSig:e.textSig,doneSig:e.doneSig});case`reasoning`:return i?g(Mo,{part:e,active:t,strings:r}):null;case`tool`:return g(jo,{part:e,strings:r,showToolCalls:a,interactive:s,superseded:c,continuationStreaming:l,live:n,tool:u});case`file`:return e.mediaType.startsWith(`image/`)?g(`img`,{src:e.url,alt:``,loading:`lazy`}):g(`a`,{href:e.url,target:`_blank`,rel:`noreferrer noopener`,children:e.url});case`source`:return o?g(ao,{part:e,strings:r}):null}}function jo({part:e,strings:t,showToolCalls:n,interactive:r,superseded:i,continuationStreaming:a,live:s,tool:c}){let l=o(()=>u(()=>e.approvalSig.value!==void 0),[e]);return c?.humanInLoop&&l.value?Ma(e.toolName)?g(_o,{part:e,strings:t,active:r,superseded:i,continuationStreaming:a,onDecision:c.onDecision,onEdit:c.onEdit}):g(so,{part:e,strings:t,active:r,superseded:i,continuationStreaming:a,onDecision:c.onDecision,onEdit:c.onEdit}):n?g(To,{part:e,strings:t,live:s}):null}function Mo({part:e,active:t,strings:n}){return _(`details`,{class:`${X}-reasoning`,"data-testid":q.reasoning,open:t,"data-active":t?`true`:void 0,children:[g(`summary`,{class:`${X}-reasoning-summary`,children:g(`span`,{class:`${X}-reasoning-label`,children:t?n.thinking:n.thoughts})}),g(`div`,{class:`${X}-reasoning-body`,children:g($a,{textSig:e.textSig,doneSig:e.doneSig})})]})}function No(e){switch(e.kind){case`text`:case`reasoning`:case`step-start`:return`${e.kind}:${e.id}`;case`tool`:return`tool:${e.toolCallId}`;case`file`:return`file:${e.url}`;case`source`:return`source:${e.sourceId}`}}function Po(){return _(`span`,{class:`${X}-typing`,"data-testid":q.typingDots,"aria-hidden":`true`,children:[g(`span`,{}),g(`span`,{}),g(`span`,{})]})}function Fo({label:e}){return _(`span`,{class:`${X}-loading`,role:`status`,children:[g(`span`,{class:`${X}-loading-spinner`,"aria-hidden":`true`}),g(`span`,{class:`${X}-loading-label`,children:e})]})}const Io=b.cssPrefix;function Lo({messagesSig:e,strings:t,responseMode:n,showReasoning:r,showToolCalls:o,showSources:l,enableMessageFeedback:u,onFeedback:d,loading:f,idle:m,controlMode:h=`ai-agent`,tool:v,onRetry:y,form:b,formMarkers:x,onFillForm:S}){let C=s(null),w=p(()=>e.value),[T,ee]=c(!1),E=s(!1),D=s(!1),O=s(!1),k=s(0),A=()=>O.current||performance.now()-k.current<350,j=s(0),te=e=>{let t=e.scrollHeight-e.clientHeight>1;e.dataset.fadeTop=t&&e.scrollTop>1?`true`:`false`,e.dataset.fadeBottom=t&&e.scrollHeight-e.scrollTop-e.clientHeight>1?`true`:`false`},ne=e=>ee(e.scrollHeight-e.scrollTop-e.clientHeight>240),M=e=>{j.current=performance.now(),e.scrollTop=e.scrollHeight,te(e)},N=(e,t)=>{M(e);let n=t,r=0,i=()=>{D.current||A()||(M(e),--n>0&&(r=requestAnimationFrame(i)))};return t>0&&(r=requestAnimationFrame(i)),()=>cancelAnimationFrame(r)},re=(e,t)=>{let n,r,i,a=-1,o=()=>{n.disconnect(),r.disconnect(),clearTimeout(i)},s=()=>{if(D.current||A()||a>=0&&e.scrollTop<a-4)return o();M(e),a=e.scrollTop};return n=new ResizeObserver(s),r=new MutationObserver(s),s(),n.observe(e),r.observe(e,{childList:!0,subtree:!0,characterData:!0}),i=setTimeout(o,t),o},P=w.value[0]?.id;a(()=>{let e=C.current;if(e&&w.value.length!==0&&(E.current=!0,w.value.some(e=>e.role===`user`)))return re(e,300)},[P]);let F=s(0);i(()=>{let e=C.current,t=w.value,n=F.current;if(F.current=t.length,e&&E.current){if(t.slice(n).some(e=>e.role===`user`))return D.current=!1,N(e,3);t.some(e=>e.role===`user`)&&(D.current||A()||e.scrollHeight-e.scrollTop-e.clientHeight<120&&M(e))}},[w.value.length]);let ie=s(null);i(()=>{let e=C.current,t=w.value.at(-1),n=ie.current;if(ie.current=t?{id:t.id,streaming:t.status===`streaming`}:null,e&&E.current&&!(!t||t.id!==n?.id||n.streaming||t.status!==`streaming`))return D.current=!1,N(e,3)},[w.value]),i(()=>{let e=C.current;if(!e)return;let t=w.value.at(-1);if(!t||t.status!==`streaming`&&!w.value.some(e=>e.role===`user`))return;let n=()=>{D.current||A()||e.scrollHeight-e.scrollTop-e.clientHeight<240&&M(e)};if(t.status!==`streaming`)return re(e,300);n();let r=new MutationObserver(n);return r.observe(e,{childList:!0,subtree:!0,characterData:!0}),()=>r.disconnect()},[w.value]);let I=b?.form.id,ae=!!b&&(x??[]).some(e=>e.formId===b.form.id);a(()=>{let e=C.current;!e||!I||D.current||w.value.some(e=>e.role===`user`)&&(ae?e.querySelector(`[data-testid="${q.formGate}"]`)?.scrollIntoView({block:`nearest`}):M(e))},[I,ae]),i(()=>{let e=C.current;if(!e)return;let t=()=>{ne(e),te(e),performance.now()-j.current>150&&(D.current=e.scrollHeight-e.scrollTop-e.clientHeight>8)},n=()=>{D.current=!0},r=e=>{e.deltaY<0&&n()},i=0,a=e=>{i=e.touches[0]?.clientY??0,O.current=!0},o=e=>{(e.touches[0]?.clientY??0)>i+4&&n()},s=()=>{O.current=!1,k.current=performance.now()},c=()=>{O.current=!0};return e.addEventListener(`scroll`,t,{passive:!0}),e.addEventListener(`wheel`,r,{passive:!0}),e.addEventListener(`touchstart`,a,{passive:!0}),e.addEventListener(`touchmove`,o,{passive:!0}),e.addEventListener(`touchend`,s,{passive:!0}),e.addEventListener(`touchcancel`,s,{passive:!0}),e.addEventListener(`pointerdown`,c,{passive:!0}),window.addEventListener(`pointerup`,s,{passive:!0}),window.addEventListener(`pointercancel`,s,{passive:!0}),ne(e),()=>{e.removeEventListener(`scroll`,t),e.removeEventListener(`wheel`,r),e.removeEventListener(`touchstart`,a),e.removeEventListener(`touchmove`,o),e.removeEventListener(`touchend`,s),e.removeEventListener(`touchcancel`,s),e.removeEventListener(`pointerdown`,c),window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,s)}},[]);let oe=()=>{let e=C.current;e&&(D.current=!1,M(e))},se=[],ce=``,L=w.value.at(-1)?.id,R=[...x??[]].toSorted((e,t)=>(e.createdAt??1/0)-(t.createdAt??1/0)),le=e=>b&&e.formId===b.form.id?g(Aa,{form:b.form,strings:t,onSubmit:b.onSubmit,onSkip:b.onSkip},`gate:${e.formId}`):g(ja,{marker:e,strings:t,onFill:!b&&S?()=>S(e.formId):void 0},e.key),ue=e=>{for(let t=R[0];t?.createdAt!==void 0&&!(e!==void 0&&t.createdAt>e);t=R[0])R.shift(),se.push(le(t))};for(let e of w.value){if(e.role===`assistant`&&e.id!==L&&Xn(e))continue;ue(e.createdAt);let i=Ro(e.createdAt);i&&i!==ce&&(se.push(g(`div`,{class:`${Io}-date-divider`,children:g(`span`,{class:`${Io}-date-pill`,title:zo(e.createdAt),children:Bo(e.createdAt,t)})},`day:${i}`)),ce=i);let a=e.retryAction!==void 0||e.role===`assistant`&&e.id===L?Zn(w.value,e):void 0,s=a!==void 0&&(a.kind!==`continue-assistant`||h===`ai-agent`);se.push(g(Eo,{message:e,status:e.status,strings:t,responseMode:n,showReasoning:r,showToolCalls:o,showSources:l,interactive:!!m&&h===`ai-agent`&&e.id===L,superseded:e.id!==L,tool:v,onRetry:m&&s&&(e.role===`user`||e.id===L)?y:void 0,enableMessageFeedback:u,onFeedback:d},e.id))}for(let e of R)se.push(le(e));return _(`div`,{class:`${Io}-list-wrap`,children:[_(`div`,{ref:C,class:`${Io}-list ${Io}-list--fade`,role:`log`,"aria-live":`polite`,"aria-relevant":`additions text`,children:[f&&w.value.length===0?g(`div`,{class:`${Io}-list-loading`,role:`status`,children:t.conversationLoading}):null,se,b&&!ae?g(Aa,{form:b.form,strings:t,onSubmit:b.onSubmit,onSkip:b.onSkip}):null]}),T?g(`button`,{type:`button`,class:`${Io}-jump`,onClick:oe,"aria-label":t.scrollToBottom,title:t.scrollToBottom,"data-testid":q.scrollToBottom,children:g(Br,{})}):null]})}function Ro(e){if(typeof e!=`number`||!Number.isFinite(e))return``;let t=new Date(e);return`${t.getFullYear()}-${t.getMonth()}-${t.getDate()}`}function zo(e){if(typeof e!=`number`||!Number.isFinite(e))return``;try{return new Date(e).toLocaleDateString(void 0,{dateStyle:`full`})}catch{return``}}function Bo(e,t){let n=new Date(e),r=e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime(),i=Math.round((r(new Date)-r(n))/864e5);return i<=0?t.dateToday:i===1?t.dateYesterday:i<7?n.toLocaleDateString(void 0,{weekday:`long`}):n.toLocaleDateString(void 0,{month:`long`,day:`numeric`,year:`numeric`})}const Vo=[`today`,`yesterday`,`lastWeek`,`older`];function Ho(e,t){let n=Date.parse(t);if(!Number.isFinite(n))return`older`;let r=Math.floor((Wo(e)-Wo(n))/(1440*60*1e3));return r<=0?`today`:r===1?`yesterday`:r<7?`lastWeek`:`older`}function Uo(e,t){let n=new Map;for(let r of t){let t=Ho(e,r.lastMessageAt),i=n.get(t);i?i.push(r):n.set(t,[r])}return Vo.filter(e=>n.has(e)).map(e=>({bucket:e,conversations:n.get(e)}))}function Wo(e){let t=new Date(e);return t.setUTCHours(0,0,0,0),t.getTime()}const Go=L.scope(`history`),Ko={today:`dateToday`,yesterday:`dateYesterday`,lastWeek:`dateLastWeek`,older:`dateOlder`};function qo(e,t,n){let r=Date.parse(e);return Number.isFinite(r)?new Date(r).toDateString()===new Date(t).toDateString()?new Intl.DateTimeFormat(n,{hour:`numeric`,minute:`2-digit`}).format(r):t-r<10080*60*1e3?new Intl.DateTimeFormat(n,{weekday:`short`}).format(r):new Intl.DateTimeFormat(n,{month:`short`,day:`numeric`}).format(r):``}function Jo({transport:e,strings:t,locale:n,persistence:r,visitorId:a,onSelect:o,onNewConversation:s}){let l=b.cssPrefix,u=e.peekConversations({visitorId:a}),[d,f]=c(u?`loaded`:`loading`),[p,m]=c(u?.conversations??[]);i(()=>{let t=!1;return e.listConversations({visitorId:a}).then(e=>{if(t)return;let n=e.conversations??[];m(n),f(`loaded`),r.saveHistoryCount(n.length)}).catch(e=>{t||(Go.warn(`listConversations failed`,{err:e}),f(`error`))}),()=>{t=!0}},[e,a,r]);let v=s?g(`div`,{class:`${l}-history-footer`,children:_(`button`,{type:`button`,class:`${l}-history-new`,onClick:s,"data-testid":q.sidebarNewConversation,children:[g(_r,{}),t.newConversation]})}):null;if(d===`loading`){let e=Math.min(r.loadHistoryCount()??3,6);return _(h,{children:[g(`div`,{class:`${l}-history`,"aria-busy":`true`,"aria-label":t.historyLoading,children:_(`div`,{class:`${l}-history-group`,"aria-hidden":`true`,children:[g(`div`,{class:`${l}-history-heading`,children:g(`span`,{class:`${l}-skeleton ${l}-skeleton-heading`})}),g(`div`,{class:`${l}-history-card`,children:Array.from({length:Math.max(1,e)},(e,t)=>_(`div`,{class:`${l}-history-item ${l}-history-item-skeleton`,children:[g(`span`,{class:`${l}-history-avatar ${l}-skeleton`}),_(`span`,{class:`${l}-history-body`,children:[_(`span`,{class:`${l}-history-row`,children:[g(`span`,{class:`${l}-history-title`,children:g(`span`,{class:`${l}-skeleton ${l}-skeleton-title`})}),g(`span`,{class:`${l}-history-time`,children:g(`span`,{class:`${l}-skeleton ${l}-skeleton-time`})})]}),g(`span`,{class:`${l}-history-row`,children:g(`span`,{class:`${l}-history-preview`,children:g(`span`,{class:`${l}-skeleton ${l}-skeleton-preview`})})})]})]},t))})]})}),v]})}if(d===`error`||p.length===0)return _(h,{children:[g(`div`,{class:`${l}-history-empty`,children:t.historyEmpty}),v]});let y=Date.now(),x=Uo(y,p);return _(h,{children:[g(`div`,{class:`${l}-history`,role:`list`,children:x.map(e=>_(`div`,{class:`${l}-history-group`,children:[g(`div`,{class:`${l}-history-heading`,children:t[Ko[e.bucket]]}),g(`div`,{class:`${l}-history-card`,children:e.conversations.map(e=>_(`button`,{type:`button`,role:`listitem`,class:`${l}-history-item`,onClick:()=>o(e),"data-closed":e.canContinue?void 0:`true`,"data-unread":e.hasUnread?`true`:void 0,"data-testid":hi(q.historyItem,e.conversationId),children:[g(`span`,{class:`${l}-history-avatar`,"aria-hidden":`true`,children:g(Ur,{})}),_(`span`,{class:`${l}-history-body`,children:[_(`span`,{class:`${l}-history-row`,children:[g(`span`,{class:`${l}-history-title`,children:e.title}),g(`span`,{class:`${l}-history-time`,children:qo(e.lastMessageAt,y,n)})]}),_(`span`,{class:`${l}-history-row`,children:[g(`span`,{class:`${l}-history-preview`,children:e.preview??(e.canContinue?t.historyContinue:t.conversationClosed)}),e.hasUnread?g(`span`,{class:`${l}-history-dot`}):null]})]})]},e.conversationId))})]},e.bucket))}),v]})}const Yo=b.cssPrefix;function Xo({suggestions:e,onPick:t,disabled:n=!1}){return e.length===0?null:g(`div`,{class:`${Yo}-suggestions`,role:`group`,"aria-label":`Suggested replies`,children:e.map((e,r)=>g(`button`,{type:`button`,class:`${Yo}-suggestion`,onClick:()=>t(e),disabled:n,"data-testid":hi(q.suggestion,r),children:e.label},e.id))})}const Z=b.cssPrefix;function Zo(e){let{options:t,onClose:n}=e,a=t.strings,o=s(null);i(()=>{let e=o.current;if(!e)return;let t=Ai(e),r=e=>{e.key===`Escape`&&n?.()};return e.addEventListener(`keydown`,r),()=>{t(),e.removeEventListener(`keydown`,r)}},[n]);let c=e.composerApiRef,l=e.composerActive&&e.view===`chat`&&e.canSend&&!e.activeForm&&!e.sendPreparing&&e.options.features.fileUpload,{visible:u}=aa({containerRef:o,onDrop:r(e=>{l&&c.current?.attachFromDrop(e)},[c,l]),disabled:!l});return Ei(o.current,t.mode===`modal`),_(`div`,{ref:o,class:`${Z}-panel`,role:`dialog`,"aria-modal":`false`,"aria-label":a.panelTitle,style:{position:`relative`},"data-testid":q.panel,children:[g(Qo,{...e,containerEl:o.current,dragOver:u,composerAttachApiRef:c}),g(is,{poweredBy:e.options.poweredBy})]})}function Qo(e){let{options:t,transport:n,feedback:r,bus:i,persistence:a,panelSize:o,view:s,canSend:c,isStreaming:l,sendPreparing:u,controlMode:d,assignedOperatorInitials:f,operatorAvailable:p,operatorRequestEnabled:m,onRequestOperator:v,onCancelOperatorRequest:y,loadingMessages:b,messagesSig:x,agent:S,suggestions:C,initialWidgetSize:w,visitorId:T,onClose:ee,onBack:E,onClear:D,onToggleHistory:O,onSelectHistoryConversation:k,onNewConversation:A,onWidgetSizeChange:j,onSend:te,onStop:ne,onSuggestion:M,activeForm:N,formMarkers:re,onFormSubmit:P,onFormSkip:F,onFormFill:ie,tool:I,onRetry:ae,onMessageFeedback:oe,containerEl:se,dragOver:ce,composerAttachApiRef:L}=e,R=t.strings,le;return le=N?null:c?_(h,{children:[d&&d!==`ai-agent`?g(ts,{controlMode:d,operatorInitials:f,operatorAvailable:p,onCancelOperatorRequest:y,strings:R}):null,!l&&d===`ai-agent`&&g(Xo,{suggestions:C,onPick:M,disabled:u}),g(na,{options:t,transport:n,feedback:r,bus:i,isStreaming:l,active:e.composerActive&&s===`chat`,isPreparing:u,operatorRequestEnabled:m,controlMode:d,onRequestOperator:v,onSend:te,onStop:ne,attachApiRef:L})]}):g(es,{label:R.conversationClosed,ctaLabel:R.startNewConversation,onNewConversation:D}),_(h,{children:[s===`history`?g($o,{strings:R,onBack:O,onClose:ee,showClose:Oi(t.mode,o,t.actions)}):_(`header`,{class:`${Z}-header`,"data-testid":q.panelHeader,children:[E?g(`button`,{type:`button`,class:`${Z}-icon-btn`,onClick:E,"aria-label":R.moduleBack,title:R.moduleBack,children:g(Rr,{})}):null,S?g(Ni,{agent:S,strings:R}):g(`h1`,{children:R.panelTitle}),g(pa,{panelProps:e,variant:`chat`})]}),s===`history`?g(Jo,{transport:n,strings:R,locale:t.locale,persistence:a,visitorId:T,onSelect:e=>k(e.conversationId),onNewConversation:A}):_(h,{children:[g(ia,{visible:ce,strings:R}),g(Lo,{messagesSig:x,strings:R,responseMode:t.responseMode,showReasoning:t.showReasoning,showToolCalls:t.showToolCalls,showSources:t.showSources,enableMessageFeedback:t.enableMessageFeedback,onFeedback:oe,loading:b,idle:!l&&!u&&c&&!N,controlMode:d,tool:I,onRetry:ae,form:N?{form:N,onSubmit:P,onSkip:F}:null,formMarkers:re,onFillForm:ie}),le,g(rs,{disclaimer:t.composerDisclaimer})]}),t.size.resize?.enabled?g(Ci,{panelEl:se,resize:t.size.resize,position:t.position,initialSize:w,onSizeChange:j,strings:R}):null]})}function $o({strings:e,onBack:t,onClose:n,showClose:r}){return _(`header`,{class:`${Z}-header`,children:[g(`button`,{type:`button`,class:`${Z}-icon-btn`,onClick:t,"aria-label":e.historyBack,title:e.historyBack,children:g(Rr,{})}),g(`h1`,{children:e.historyTitle}),r?g(`button`,{type:`button`,class:`${Z}-icon-btn`,onClick:n,"aria-label":e.close,title:e.close,children:g(gr,{})}):null]})}function es({label:e,ctaLabel:t,onNewConversation:n}){return _(`div`,{class:`${Z}-readonly-banner`,role:`note`,children:[g(`span`,{class:`${Z}-readonly-label`,children:e}),g(`button`,{type:`button`,class:`${Z}-readonly-cta`,onClick:n,children:t})]})}function ts({controlMode:e,operatorInitials:t,operatorAvailable:n,onCancelOperatorRequest:r,strings:i}){let a=ns(e,t,n,i);return _(`div`,{class:`${Z}-operator-banner`,role:`status`,"data-mode":e,"data-testid":q.operatorBanner,children:[g(`span`,{class:`${Z}-operator-pulse`,"aria-hidden":`true`}),g(`span`,{class:`${Z}-operator-label`,children:a}),e===`awaiting_operator`&&r?g(`button`,{type:`button`,class:`${Z}-cancel-operator-request`,"data-testid":q.cancelOperatorRequest,onClick:r,children:i.cancelOperatorRequest}):null]})}function ns(e,t,n,r){return e===`operator`?r.chattingWithOperator.replace(`{operator}`,t??``):n===!1?r.noOperatorAvailable:r.connectingOperator}function rs({disclaimer:e}){return e?g(`div`,{class:`${Z}-composer-footer`,children:g(`div`,{class:`${Z}-disclaimer`,children:e})}):null}function is({poweredBy:e}){return e?g(`div`,{class:`${Z}-poweredby-bar`,children:g(as,{logoUrl:e.logoUrl,text:e.text,href:e.href})}):null}function as({logoUrl:e,text:t,href:n}){let r=_(h,{children:[e?g(`img`,{class:`${Z}-poweredby-logo`,src:e,alt:``,loading:`lazy`}):null,t?g(`span`,{children:t}):null]});return n?g(`a`,{class:`${Z}-poweredby`,href:n,target:`_blank`,rel:`noopener noreferrer`,children:r}):g(`span`,{class:`${Z}-poweredby`,children:r})}function os(e){let t=s(e);t.current=e;let n=s(null);return n.current??(n.current=ss(t)),n.current}function ss(e){let t=f(null),n=new Set,r=t=>`${e.current.conversationId()??``}:${t}`,i=t=>t.frequency===`always`?!1:t.frequency===`conversation`?n.has(r(t.id)):t.id in e.current.persistence.loadFormsDone(),a=(n,r)=>{if(t.value)return;let a=e.current;if(n===`manual`){let e=a.forms.list.find(e=>e.id===r);e&&(t.value={form:e,trigger:`manual`});return}for(let e of a.forms.byTrigger[n]??[]){let r=e.triggers.find(e=>e.kind===n);if(!(!r||!cs(r,a)||i(e)||!ls(e,a))){t.value={form:e,trigger:n};return}}},o=(i,a)=>{let o=t.value;if(!o)return;t.value=null;let{form:s,trigger:c}=o;s.frequency===`conversation`?n.add(r(s.id)):s.frequency!==`always`&&e.current.persistence.saveFormDone(s.id),e.current.onComplete(s,c,i,a)};return{activeForm:t,fire:a,refresh:()=>{let n=t.value;if(!n)return;let r=e.current.forms.list.find(e=>e.id===n.form.id);r&&r!==n.form&&(t.value={form:r,trigger:n.trigger})},complete:e=>o(e,!1),skip:()=>o({},!0)}}function cs(e,t){return e.kind===`after-messages`?t.messageCount()>=Number(e.param??0):e.kind!==`page-area`||t.pageArea()===e.param}function ls(e,t){let n=e.when;if(!n)return!0;if(n.missingContext?.length){let e=t.userContext()??{};if(n.missingContext.some(t=>e[t]!==void 0&&e[t]!==``))return!1}if(n.pageArea&&!(Array.isArray(n.pageArea)?n.pageArea:[n.pageArea]).includes(t.pageArea()??``))return!1;let r=t.messageCount();return!(n.minMessages!=null&&r<n.minMessages||n.maxMessages!=null&&r>n.maxMessages)}function us(e){let t=b.cssPrefix,{site:n,blocks:r,strings:i,collapsed:a}=e,o=r?.navigation??[],s=r?.linkCards??[],c=a?i.expandSidebar:i.collapseSidebar;return _(`aside`,{class:`${t}-sidebar`,"data-collapsed":a?`true`:`false`,"data-testid":q.sidebar,children:[_(`div`,{class:`${t}-sidebar-header`,children:[g(ds,{site:n}),g(`button`,{type:`button`,class:`${t}-sidebar-toggle`,"aria-label":c,"aria-expanded":a?`false`:`true`,title:c,onClick:e.onToggleCollapsed,"data-testid":q.sidebarToggle,children:g(fs,{collapsed:a})})]}),a?null:_(h,{children:[o.length>0?g(`nav`,{class:`${t}-sidebar-section`,"data-section":`navigation`,children:g(ps,{items:o})}):null,s.length>0?g(`div`,{class:`${t}-sidebar-section`,"data-section":`link-cards`,children:g(ms,{items:s})}):null,e.showConversations?g(`div`,{class:`${t}-sidebar-conversations`,children:g(Jo,{transport:e.transport,strings:e.strings,locale:e.locale,persistence:e.persistence,visitorId:e.visitorId,onSelect:e.onSelectConversation,onNewConversation:e.onNewConversation})}):null]})]})}function ds({site:e}){let t=b.cssPrefix;if(e?.logo?.url){let n=e.logo.alt??e.title??`Logo`;return _(`picture`,{children:[e.logoDark?.url?g(`source`,{srcset:e.logoDark.url,media:`(prefers-color-scheme: dark)`}):null,g(`img`,{class:`${t}-sidebar-logo`,src:e.logo.url,alt:n})]})}return g(`div`,{class:`${t}-sidebar-title`,children:e?.title??b.name})}function fs({collapsed:e}){return g(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"aria-hidden":`true`,children:e?g(`polyline`,{points:`9 6 15 12 9 18`}):g(`polyline`,{points:`15 6 9 12 15 18`})})}function ps({items:e}){let t=b.cssPrefix;return g(`ul`,{class:`${t}-sidebar-nav`,children:e.map(e=>g(`li`,{children:_(`a`,{class:`${t}-sidebar-nav-item`,href:e.href,target:e.href?`_blank`:void 0,rel:e.href?`noreferrer`:void 0,children:[e.icon?g(`span`,{class:`${t}-sidebar-nav-icon`,"data-icon":e.icon}):null,g(`span`,{class:`${t}-sidebar-nav-label`,children:e.label})]})},e.id??e.label))})}function ms({items:e}){let t=b.cssPrefix;return g(`div`,{class:`${t}-sidebar-cards`,children:e.map(e=>_(`a`,{class:`${t}-sidebar-card`,href:e.href,target:e.href?`_blank`:void 0,rel:e.href?`noreferrer`:void 0,children:[g(`div`,{class:`${t}-sidebar-card-label`,children:e.label}),e.description?g(`div`,{class:`${t}-sidebar-card-desc`,children:e.description}):null]},e.id??e.label))})}const hs=b.cssPrefix;function gs(e){return _(`main`,{class:`${hs}-page-shell`,"data-sidebar-collapsed":e.sidebarCollapsed?`true`:`false`,children:[g(us,{site:e.site,blocks:e.blocks,transport:e.transport,strings:e.strings,locale:e.locale,persistence:e.persistence,visitorId:e.visitorId,showConversations:e.showConversations,onSelectConversation:e.onSelectConversation,onNewConversation:e.onNewConversation,collapsed:e.sidebarCollapsed,onToggleCollapsed:e.onToggleSidebarCollapsed}),g(`section`,{class:`${hs}-page-chat`,"aria-label":`Chat`,children:e.children})]})}const _s=e=>Object.fromEntries(e.map(e=>[e,[]]));function vs(e,t,n){return e.includes(t)?t:e.includes(n)?n:e[0]??``}function ys(e,t,n){let r=[...new Set(t)],i=f({activeTab:vs(r,e,``),stacks:_s(r)});return{sig:i,reconcile(e,t){let a=[...new Set(e)],o=i.value,s=vs(a,o.activeTab,t),c=Object.fromEntries(a.map(e=>[e,o.stacks[e]??[]])),l=s===o.activeTab&&a.length===Object.keys(o.stacks).length&&a.every(e=>o.stacks[e]===c[e]);r=a,!l&&(i.value={activeTab:s,stacks:c},s!==o.activeTab&&s&&n?.(s))},switchTab(e){!(e in i.value.stacks)||i.value.activeTab===e||(i.value={...i.value,activeTab:e},n?.(e))},push(e){let t=i.value,n=t.stacks[t.activeTab]??[];i.value={...t,stacks:{...t.stacks,[t.activeTab]:[...n,e]}}},pop(){let e=i.value,t=e.stacks[e.activeTab]??[];t.length!==0&&(i.value={...e,stacks:{...e.stacks,[e.activeTab]:t.slice(0,-1)}})},reset(e){i.value={activeTab:vs(r,e,``),stacks:_s(r)}}}}const bs=e=>e.stacks[e.activeTab]??[],xs=e=>bs(e).at(-1),Ss=e=>bs(e).length===0,Cs={Icon:$r},ws=b.cssPrefix;function Ts({title:e,actions:t}){return _(`header`,{class:`${ws}-back-header`,"data-variant":`title`,children:[g(`span`,{class:`${ws}-back-spacer`,"aria-hidden":`true`}),g(`h1`,{class:`${ws}-back-title`,children:e}),t??g(`span`,{class:`${ws}-back-spacer`,"aria-hidden":`true`})]})}function Es({title:e,backLabel:t,onBack:n,actions:r,testid:i}){return _(`header`,{class:`${ws}-back-header`,"data-testid":i,children:[g(`button`,{type:`button`,class:`${ws}-icon-btn`,onClick:n,"aria-label":t,title:t,children:g(Rr,{})}),g(`h1`,{class:`${ws}-back-title`,children:e}),r??g(`span`,{class:`${ws}-back-spacer`,"aria-hidden":`true`})]})}function Ds(e,t){return e instanceof Gt&&e.status===429?t.errorRateLimited:t.errorGeneric}const Os=b.cssPrefix;function ks({placeholder:e,onActivate:t}){return _(`button`,{type:`button`,class:`${Os}-home-search`,onClick:t,"data-testid":q.homeSearch,children:[g(`span`,{class:`${Os}-home-search-text`,children:e}),g(`span`,{class:`${Os}-home-search-icon`,"aria-hidden":`true`,children:g(Yr,{})})]})}function As({placeholder:e,value:t,onInput:n}){return _(`div`,{class:`${Os}-home-search`,"data-input":`true`,children:[g(`input`,{type:`search`,class:`${Os}-home-search-input`,placeholder:e,value:t,onInput:e=>n(e.currentTarget.value),"data-testid":q.helpSearch}),g(`span`,{class:`${Os}-home-search-icon`,"aria-hidden":`true`,children:g(Yr,{})})]})}const js=b.cssPrefix;function Ms({title:e,subtitle:t,onClick:n,testid:r}){return _(`button`,{type:`button`,class:`${js}-list-row`,onClick:n,"data-testid":r,children:[_(`span`,{class:`${js}-list-row-body`,children:[g(`span`,{class:`${js}-list-row-title`,children:e}),t?g(`span`,{class:`${js}-list-row-sub`,children:t}):null]}),g(`span`,{class:`${js}-list-row-chevron`,"aria-hidden":`true`,children:g(xr,{})})]})}const Ns=b.cssPrefix;function Ps({tone:e=`info`,message:t,onRetry:n,strings:r}){return _(`div`,{class:`${Ns}-module-empty`,role:e===`error`?`alert`:`status`,"aria-live":`polite`,children:[g(`span`,{children:t}),n?g(`button`,{type:`button`,class:`${Ns}-module-retry`,onClick:n,children:r.errorRetry}):null]})}const Fs=b.cssPrefix,Is=L.scope(`help`),Ls=(e,t)=>t.url?e.push({kind:`iframe`,url:t.url,title:t.title}):e.push({kind:`content`,id:t.id,title:t.title});function Rs(e){let t=new Map;for(let n of e){let e=n.categories?.[0]??``;(t.get(e)??t.set(e,[]).get(e)).push(n)}return[...t.entries()]}function zs(e,t){let n=t.toLowerCase(),r=n.indexOf(e);if(r!==-1)return 100-Math.min(r,99);let i=0;for(let t of e){if(i=n.indexOf(t,i),i===-1)return 0;i+=1}return 1}function Bs(e,t){let n=t.toLowerCase().trim();return n?e.map(e=>({item:e,score:Math.max(zs(n,e.title)*2,zs(n,e.description??``))})).filter(e=>e.score>0).toSorted((e,t)=>t.score-e.score).map(e=>e.item):[]}function Vs({article:e,nav:t}){return g(Ms,{title:e.title,subtitle:e.description,onClick:()=>Ls(t,e),testid:hi(q.helpArticle,e.id)})}function Hs({transport:e,strings:t,config:n,nav:r,bus:a,panelProps:s}){let l=n.contentTags,[u,d]=c(`loading`),[f,p]=c(t.errorGeneric),[m,h]=c([]),[v,y]=c(``),[b,x]=c(0);i(()=>{let n=!1;return d(`loading`),e.listContent({tags:l,sortBy:`order`,limit:100}).then(e=>{if(n)return;let t=e.items??[];h(t),d(`loaded`),a.emit(`contentView`,{section:`help`,tags:l?.join(`,`),count:t.length})}).catch(e=>{n||(Is.warn(`listContent (help) failed`,{err:e}),p(Ds(e,t)),d(`error`))}),()=>{n=!0}},[e,l,b,a]);let S=o(()=>Bs(m,v),[m,v]);i(()=>{let e=v.trim();if(!e)return;let t=setTimeout(()=>a.emit(`contentSearch`,{queryLength:e.length,hitCount:S.length}),600);return()=>clearTimeout(t)},[v,S,a]);function C(){return v.trim().length>0?S.length===0?g(Ps,{message:t.helpSearchEmpty,strings:t}):g(`div`,{class:`${Fs}-help-card`,children:S.map(e=>g(Vs,{article:e,nav:r},e.id))}):u===`loading`?g(Ps,{message:t.helpLoading,strings:t}):u===`error`?g(Ps,{tone:`error`,message:f,onRetry:()=>x(e=>e+1),strings:t}):m.length===0?g(Ps,{message:t.helpEmpty,strings:t}):Rs(m).map(([e,t])=>_(`section`,{class:`${Fs}-help-group`,children:[e?g(`h2`,{class:`${Fs}-help-section-title`,children:e}):null,g(`div`,{class:`${Fs}-help-card`,children:t.map(e=>g(Vs,{article:e,nav:r},e.id))})]},e))}return _(`div`,{class:`${Fs}-module`,children:[g(Ts,{title:t.helpTitle,actions:g(pa,{panelProps:s,variant:`plain`})}),g(`div`,{class:`${Fs}-module-pad`,children:g(As,{placeholder:t.helpSearchPlaceholder,value:v,onInput:y})}),g(`div`,{class:`${Fs}-help-list`,children:C()})]})}const Us={Icon:Wr,Root:e=>g(Hs,{...e})},Ws=b.cssPrefix;function Gs({onClick:e,children:t,testid:n}){return e?g(`button`,{type:`button`,class:`${Ws}-home-card`,"data-interactive":`true`,onClick:e,"data-testid":n,children:t}):g(`div`,{class:`${Ws}-home-card`,"data-testid":n,children:t})}const Q=b.cssPrefix,Ks=L.scope(`home`);function qs(e){let t=e.options.userContext?.name,n=e.config.greetingText?D(e.strings,e.config.greetingText):void 0;return n?{title:t?n.replace(`{name}`,t):n.replace(/\s*\{name\}\s*/,` `).trim(),subtitle:e.strings.homeGreetingLead}:t?{title:e.strings.homeGreetingNamed.replace(`{name}`,t),subtitle:e.strings.homeGreetingLead}:{title:e.strings.homeGreeting}}const Js=(e,t)=>t.url?e.push({kind:`iframe`,url:t.url,title:t.title}):e.push({kind:`content`,id:t.id,title:t.title});function Ys(e){let{transport:t,strings:n,config:r,nav:a,bus:o,panelProps:s}=e,[l,u]=c(null),[d,f]=c([]),p=r.contentTags?.join(`,`);i(()=>{if(r.showRecentConversations===!1)return;let e=!1;return t.listConversations({limit:1}).then(t=>!e&&u(t.conversations?.[0]??null)).catch(t=>!e&&Ks.warn(`listConversations (home) failed`,{err:t})),()=>{e=!0}},[t,r.showRecentConversations]),i(()=>{if(!r.contentTags?.length)return;let e=!1;return t.listContent({tags:r.contentTags,limit:6}).then(t=>{if(e)return;let n=t.items??[];f(n),o.emit(`contentView`,{section:`home`,tags:p,count:n.length})}).catch(t=>!e&&Ks.warn(`listContent (home) failed`,{err:t})),()=>{e=!0}},[t,p,o]);let m=qs(e),v=r.userAvatars??[],y=r.status,b=y?.text?D(n,y.text):n.homeStatus,x=r.contentBlockTitle?D(n,r.contentBlockTitle):n.homeContentTitle;return g(`div`,{class:`${Q}-module ${Q}-home`,"data-testid":q.homeView,children:_(`div`,{class:`${Q}-home-scroll`,children:[_(`div`,{class:`${Q}-home-hero`,children:[_(`div`,{class:`${Q}-home-hero-top`,children:[r.brandName?g(`span`,{class:`${Q}-home-brand`,"data-testid":q.homeBrand,children:r.brandName}):g(`span`,{class:`${Q}-home-brand-spacer`,"aria-hidden":`true`}),_(`div`,{class:`${Q}-home-hero-actions`,children:[v.length>0?g(`div`,{class:`${Q}-home-avatars`,children:v.map(e=>g(`span`,{class:`${Q}-home-avatar`,title:e.role?`${e.name} · ${e.role}`:e.name,children:e.avatar?g(`img`,{src:e.avatar,alt:``,loading:`lazy`}):g(`span`,{children:ji(e.name)})},e.name))}):null,g(pa,{panelProps:s,variant:`plain`})]})]}),r.showGreeting===!1?null:_(h,{children:[g(`h1`,{class:`${Q}-home-greeting`,"data-testid":q.homeGreeting,children:m.title}),m.subtitle?g(`p`,{class:`${Q}-home-lead`,children:m.subtitle}):null]})]}),_(`div`,{class:`${Q}-home-cards`,children:[r.showSearchBar===!1?null:g(ks,{placeholder:n.homeSearchPlaceholder,onActivate:()=>a.switchToLayout(`help`)}),l?g(Gs,{onClick:()=>a.selectConversation(l.conversationId),testid:q.homeRecent,children:_(`div`,{class:`${Q}-home-recent-row`,"data-unread":l.hasUnread?`true`:void 0,children:[g(`span`,{class:`${Q}-home-recent-avatar`,"aria-hidden":`true`,children:g($r,{})}),_(`span`,{class:`${Q}-home-recent-body`,children:[g(`span`,{class:`${Q}-home-recent-title`,children:l.title}),l.preview?g(`span`,{class:`${Q}-home-recent-preview`,children:l.preview}):null]}),l.hasUnread?g(`span`,{class:`${Q}-home-recent-dot`,"aria-label":`Unread`}):null]})}):null,y?g(Gs,{onClick:y.url?()=>a.push({kind:`iframe`,url:y.url,title:b}):void 0,children:_(`div`,{class:`${Q}-home-status`,"data-level":y.level??`operational`,children:[g(`span`,{class:`${Q}-home-status-icon`,"aria-hidden":`true`,children:g(Xr,{})}),g(`span`,{class:`${Q}-home-status-text`,children:b})]})}):null,d.length>0?_(`section`,{class:`${Q}-home-content`,children:[g(`div`,{class:`${Q}-home-content-title`,children:x}),g(`div`,{class:`${Q}-home-content-list`,children:d.map(e=>g(Ms,{title:e.title,subtitle:e.description,onClick:()=>Js(a,e),testid:hi(q.homeContentRow,e.id)},e.id))})]}):null]})]})})}const Xs={Icon:Zr,Root:e=>g(Ys,{...e})},Zs=b.cssPrefix,Qs=L.scope(`news`);function $s({transport:e,strings:t,config:n,nav:r,bus:a,panelProps:o}){let s=n.contentTags,[l,u]=c(`loading`),[d,f]=c(t.errorGeneric),[p,m]=c([]),[h,v]=c(0);i(()=>{let n=!1;return u(`loading`),e.listContent({tags:s,sortBy:`publishedAt`,sortOrder:`desc`}).then(e=>{if(n)return;let t=e.items??[];m(t),u(`loaded`),a.emit(`contentView`,{section:`news`,tags:s?.join(`,`),count:t.length})}).catch(e=>{n||(Qs.warn(`listContent (news) failed`,{err:e}),f(Ds(e,t)),u(`error`))}),()=>{n=!0}},[e,s,h,a]);function y(){return l===`loading`?g(Ps,{message:t.newsLoading,strings:t}):l===`error`?g(Ps,{tone:`error`,message:d,onRetry:()=>v(e=>e+1),strings:t}):p.length===0?g(Ps,{message:t.newsEmpty,strings:t}):g(`div`,{class:`${Zs}-news-list`,children:p.map(e=>_(`button`,{type:`button`,class:`${Zs}-news-card`,onClick:()=>r.push({kind:`content`,id:e.id,title:e.title}),"data-testid":hi(q.newsItem,e.id),children:[e.image?g(`img`,{class:`${Zs}-news-hero`,src:e.image,alt:``,loading:`lazy`}):null,_(`span`,{class:`${Zs}-news-body`,children:[g(`span`,{class:`${Zs}-news-title`,children:e.title}),e.description?g(`span`,{class:`${Zs}-news-summary`,children:e.description}):null]})]},e.id))})}return _(`div`,{class:`${Zs}-module`,children:[g(Ts,{title:t.newsTitle,actions:g(pa,{panelProps:o,variant:`plain`})}),g(`div`,{class:`${Zs}-module-scroll`,children:y()})]})}const ec={chat:Cs,home:Xs,help:Us,news:{Icon:Qr,Root:e=>g($s,{...e})}},tc=b.cssPrefix;function nc({modules:e,activeTab:t,strings:n,hasUnread:r,onSelect:i}){return g(`nav`,{class:`${tc}-tabbar`,role:`tablist`,"aria-label":n.panelTitle,children:e.map(e=>{let a=ec[e.layout].Icon,o=e.id===t,s=e.layout===`chat`&&r;return _(`button`,{type:`button`,role:`tab`,"aria-selected":o,class:`${tc}-tab`,onClick:()=>i(e.id),"data-testid":hi(q.tab,e.id),children:[_(`span`,{class:`${tc}-tab-icon`,"aria-hidden":`true`,children:[g(a,{}),s?g(`span`,{class:`${tc}-tab-badge`,"data-testid":q.tabBadge,"aria-label":`Unread`}):null]}),g(`span`,{class:`${tc}-tab-label`,children:D(n,e.label)})]},e.id)})})}const rc=b.cssPrefix;function ic({url:e,title:t,strings:n,onBack:r,actions:i}){return _(`div`,{class:`${rc}-module`,children:[g(Es,{title:t||n.moduleBack,backLabel:n.moduleBack,onBack:r,actions:i}),g(`iframe`,{class:`${rc}-content-frame`,src:e,title:t||`content`,sandbox:`allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-downloads`,referrerpolicy:`no-referrer`,loading:`lazy`,allow:`fullscreen`})]})}const ac=b.cssPrefix,oc=L.scope(`content`);function sc({id:e,title:t,transport:n,strings:a,bus:o,onBack:s,actions:l}){let[u,d]=c(null),[f,p]=c(!1),[m,h]=c(0),v=r(()=>{p(!1),d(null),h(e=>e+1)},[]);i(()=>{let t=!1;return n.listContent({ids:[e],limit:1}).then(n=>{if(t)return;let r=n.items[0];r?(d(r),o.emit(`contentOpen`,{contentId:e,tags:r.tags?.length?r.tags.join(`,`):void 0})):p(!0)}).catch(e=>{t||(oc.warn(`listContent (reader) failed`,{err:e}),p(!0))}),()=>{t=!0}},[n,e,m,o]),i(()=>{if(!u)return;let t=setTimeout(()=>o.emit(`contentRead`,{contentId:e}),5e3);return()=>clearTimeout(t)},[u,e,o]);let y=r(t=>{let n=(t.target?.closest?.(`a`))?.getAttribute(`href`)??``;n&&!n.startsWith(`#`)&&o.emit(`contentLinkClick`,{contentId:e})},[o,e]);function b(){return f?g(Ps,{tone:`error`,message:a.errorGeneric,onRetry:v,strings:a}):u===null?g(Ps,{message:a.contentLoading,strings:a}):_(`article`,{class:`${ac}-content`,"data-testid":q.contentView,onClick:y,children:[u.image?g(`img`,{class:`${ac}-content-hero`,src:u.image,alt:``,loading:`lazy`}):null,u.description?g(`p`,{class:`${ac}-content-subtitle`,children:u.description}):null,g(eo,{text:u.content??``})]})}return _(`div`,{class:`${ac}-module`,children:[g(Es,{title:u?.title||t||a.moduleBack,backLabel:a.moduleBack,onBack:s,actions:l,testid:q.backHeader}),g(`div`,{class:`${ac}-module-scroll`,"data-testid":q.contentScroll,children:b()})]})}const cc=b.cssPrefix;function lc({panelProps:e,enabledModules:t,nav:n,bus:a,hasUnread:o,onSelectConversation:c,onStartNewConversation:l,onSetPanelSize:u}){let d=e.options,f=d.strings,m=s(null),h=s(new Set);i(()=>{let t=m.current;if(!t)return;let n=Ai(t),r=t=>{t.key===`Escape`&&e.onClose?.()};return t.addEventListener(`keydown`,r),()=>{n(),t.removeEventListener(`keydown`,r)}},[e.onClose]);let v=p(()=>n.sig.value).value,y=xs(v),b=d.modules.byId[v.activeTab],x=e.composerActive&&b?.layout===`chat`&&y===void 0,S=e.composerApiRef,C=x&&e.view===`chat`&&e.canSend&&!e.activeForm&&!e.sendPreparing&&e.options.features.fileUpload,{visible:w}=aa({containerRef:m,onDrop:r(e=>{C&&S.current?.attachFromDrop(e)},[S,C]),disabled:!C});Ei(m.current,d.mode===`modal`);let T=y?.kind===`iframe`||y?.kind===`content`,ee=t.length>1&&(Ss(v)||!T),E=s(null);i(()=>{if(T&&E.current===null)E.current=e.panelSize,e.panelSize===`normal`&&u(`expanded`);else if(!T&&E.current!==null){let e=E.current;E.current=null,u(e)}},[T]);let D={push:n.push,pop:n.pop,switchTab:n.switchTab,switchToLayout:e=>{let r=t.find(t=>t.layout===e);r&&n.switchTab(r.id)},selectConversation:c,startNewConversation:l},O=t=>({options:d,transport:e.transport,strings:f,config:t,visitorId:e.visitorId,nav:D,bus:a,panelProps:e}),k=g(pa,{panelProps:e,variant:`plain`});b&&h.current.add(b.id);let A=t.filter(e=>h.current.has(e.id)),j=t=>{if(t.layout===`chat`)return g(Qo,{...e,composerActive:x,containerEl:m.current,dragOver:w,composerAttachApiRef:S});let n=ec[t.layout].Root;return n?g(n,{...O(t)}):null};return _(`div`,{ref:m,class:`${cc}-panel ${cc}-messenger`,role:`dialog`,"aria-modal":`false`,"aria-label":f.panelTitle,style:{position:`relative`},"data-testid":q.messengerHome,children:[_(`div`,{class:`${cc}-messenger-body`,children:[A.map(e=>g(`div`,{class:`${cc}-messenger-pane`,hidden:T||e.id!==b?.id,children:j(e)},e.id)),y?.kind===`iframe`?g(ic,{url:y.url,title:y.title,strings:f,onBack:n.pop,actions:k}):y?.kind===`content`?g(sc,{id:y.id,title:y.title,transport:e.transport,strings:f,bus:a,onBack:n.pop,actions:k}):null]}),ee?g(nc,{modules:t,activeTab:v.activeTab,strings:f,hasUnread:o,onSelect:n.switchTab}):null,g(is,{poweredBy:d.poweredBy}),d.size.resize?.enabled&&!(b?.layout===`chat`&&!y)?g(Ci,{panelEl:m.current,resize:d.size.resize,position:d.position,initialSize:e.initialWidgetSize,onSizeChange:e.onWidgetSizeChange,strings:f}):null]})}const uc=b.cssPrefix;function dc({strings:e,onClose:t}){return _(`div`,{class:`${uc}-panel ${uc}-modules-empty`,role:`dialog`,"aria-label":e.panelTitle,"data-testid":q.modulesEmpty,children:[t?g(`button`,{type:`button`,class:`${uc}-icon-btn ${uc}-modules-empty-close`,onClick:t,"aria-label":e.close,title:e.close,children:g(gr,{})}):null,g(`p`,{class:`${uc}-modules-empty-text`,children:e.modulesEmpty})]})}function fc(e,t,n,r){let i={role:n,text:r};e.emit(`message`,i),t.onMessage?.(i)}const pc=L.scope(`hitl`);function mc(e){let{streaming:t,controlModeSig:n,messagesSig:i,sendAiTurn:a,bus:c,humanInLoop:l}=e,u=s(t);u.current=t;let d=r((e,t,r)=>{if(u.current||n.value!==`ai-agent`)return!1;let o=i.value.at(-1),s=o?.partsSig.value.findIndex(t=>t.kind===`tool`&&t.toolCallId===e)??-1,c=o?.partsSig.value[s];return!o||c?.kind!==`tool`?(pc.warn(`decideTool: tool part not found`,{toolCallId:e}),!1):o.status!==`complete`||!Ln(o,s)||!t(c)?!1:(r(c),o.partsSig.value=[...o.partsSig.value],Fn(o)?(o.status=`streaming`,o.retryAction={kind:`continue-assistant`,messageId:o.serverMessageId??o.id},o.awaitingContinuation=!0,i.value=[...i.value],a({continueExisting:!0}),!0):!0)},[n,i,a]),f=r((e,t,n)=>{let r=!1;if(d(e,e=>e.stateSig.value===`approval-requested`,i=>{r=Ma(i.toolName);let a=i.approvalSig.value?.id??e;i.approvalSig.value={id:a,approved:t,reason:n},i.stateSig.value=`approval-responded`})){if(r){pc.info(`toolResult`,{toolCallId:e}),c.emit(`toolResult`,{toolCallId:e});return}pc.info(`toolDecision`,{toolCallId:e,approved:t}),c.emit(`toolDecision`,{toolCallId:e,approved:t})}},[c,d]),p=r(e=>{d(e,e=>e.stateSig.value===`approval-responded`&&e.approvalSig.value?.approved!==void 0,t=>{let n=t.approvalSig.value?.id??e;t.approvalSig.value={id:n},t.stateSig.value=`approval-requested`})},[d]);return{toolInteraction:o(()=>({humanInLoop:l,onDecision:f,onEdit:p}),[l,f,p])}}function hc({callout:e,persistence:t}){let n=e?.text??``,a=e?.persistent??!0,[o,s]=c(()=>!a&&t.loadCalloutDismissed(n));return i(()=>{s(!a&&t.loadCalloutDismissed(n))},[n,a,t]),{dismissed:o,dismissCallout:r(()=>{s(!0),a||t.saveCalloutDismissed(n)},[t,n,a])}}function gc(e){let{transport:t,conversationIdSig:n}=e,i=m(`ai-agent`),a=m(void 0),o=m(void 0),c=s(),l=r(e=>{let t=e.controlRevision??0,r=c.current;r&&r.conversationId===n.value&&t<r.revision||(c.current={conversationId:n.value,revision:t},i.value=e.controlMode,a.value=e.assignedOperatorInitials,e.controlMode===`awaiting_operator`?e.operatorAvailable!==void 0&&(o.value=e.operatorAvailable):o.value=void 0)},[n,i,a,o]);return{controlModeSig:i,assignedOperatorInitialsSig:a,operatorAvailableSig:o,applyControlState:l,adoptControlStateChunk:r(e=>{e.type===`data-control-state`&&l(rn(e.data))},[l]),requestOperator:r(async()=>{let e=n.value,r=await t.requestOperator();r&&n.value===e&&l(rn(r))},[t,n,l]),cancelOperatorRequest:r(async()=>{let e=n.value,r=await t.cancelOperatorRequest();r&&n.value===e&&l(rn(r))},[t,n,l])}}function _c(e){let{hostElement:t,mode:n,panelSize:r,isOpen:o,setIsOpen:s}=e;a(()=>{Et(t,zt(n,r,o))},[t,o,r,n]),i(()=>{if(n!==`modal`||!o)return;let e=e=>{e.composedPath().some(e=>e instanceof HTMLElement&&e.classList.contains(`${b.cssPrefix}-panel`))||s(!1)};return t.addEventListener(`click`,e),()=>t.removeEventListener(`click`,e)},[t,o,n,s]),i(()=>{if(n!==`drawer`||!o)return;let e=e=>{e.key===`Escape`&&s(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[o,n,s])}const vc=L.scope(`reducer`);var yc=class{constructor(e,t){this.messagesSig=e,this.onReconcileNeeded=t,B(this,`active`,null),B(this,`openTextParts`,new Map),B(this,`partSeq`,0),B(this,`replay`,null)}attach(e){this.active=e,this.openTextParts.clear()}detach(){this.active=null,this.replay=null,this.openTextParts.clear()}beginReplay(e,t){let n=vn();n.id=e.id;let r=xc(e)||In(e)&&(e.status!==`streaming`||Fn(e)),i=e.status===`streaming`&&Fn(e)&&Pn(e);this.replay={baseline:e,shadow:n,chunks:[t],probeContinuation:r,continuationTailReplay:i,liveCatchUp:e.status===`streaming`&&!r},this.attach(n),this.apply(t)}refreshReplayBaseline(){let e=this.replay;if(!e)return null;let t=e.shadow.serverMessageId??e.baseline.serverMessageId,n=this.messagesSig.value,r=n.at(-1),i=r===e.baseline||r?.id===e.baseline.id||t!==void 0&&r?.serverMessageId===t?r:n.find(t=>t===e.baseline)??n.find(n=>n.id===e.baseline.id||t!==void 0&&n.serverMessageId===t);if(!i)return this.detach(),null;if(i===e.baseline)return e;let a=e.baseline;return e.baseline=i,Sc(a,i),e.liveCatchUp&&xc(e.shadow)&&(i.status===`streaming`||In(i))?(e.probeContinuation=!1,e.continuationTailReplay=!1,e):(e.probeContinuation=xc(i)||In(i)&&(i.status!==`streaming`||Fn(i)),e.continuationTailReplay=i.status===`streaming`&&Fn(i)&&Pn(i),e.liveCatchUp=i.status===`streaming`&&!e.probeContinuation,e)}refreshActive(){let e=this.active;if(!e)return null;let t=e.serverMessageId,n=this.messagesSig.value,r=n.at(-1),i=r===e||r?.id===e.id||t!==void 0&&r?.serverMessageId===t?r:n.find(t=>t===e)??n.find(n=>n.id===e.id||t!==void 0&&n.serverMessageId===t);if(!i)return this.detach(),null;if(i===e)return e;Sc(e,i);let a=xc(e)&&In(i);return i.status!==`streaming`&&!a?(this.detach(),null):(this.replay={baseline:i,shadow:e,chunks:[],probeContinuation:!1,continuationTailReplay:!1,liveCatchUp:!0},e)}promoteReplay(){let{baseline:e,shadow:t}=this.replay;return e.role=t.role,e.serverMessageId=t.serverMessageId,e.operatorInitials=t.operatorInitials,e.status=t.status,t.canceled&&(e.canceled=!0),e.finishReason=t.finishReason,e.errorText=t.errorText,e.suggestions=t.suggestions??e.suggestions,e.partsSig.value=t.partsSig.value,this.replay=null,this.active=e,this.messagesSig.value=[...this.messagesSig.value],e}promoteContinuation(e=!1){let{baseline:t,chunks:n}=this.replay,r=Rn(t);return this.replay=null,l(()=>{if(e){let e=t.partsSig.value.findLastIndex(e=>e.kind===`tool`);t.partsSig.value=t.partsSig.value.slice(0,e+1)}t.awaitingContinuation=!1,t.status=`streaming`,t.finishReason=void 0,t.errorText=void 0,t.suggestions=void 0,this.attach(t);for(let e of n)this.apply(e);t.continuationStreaming=r||void 0,this.messagesSig.value=[...this.messagesSig.value]}),t}settleOwnedContinuation(e){let{baseline:t}=this.replay,n=Rn(t);return this.replay=null,l(()=>{t.awaitingContinuation=!1,t.status=`streaming`,t.finishReason=void 0,t.errorText=void 0,t.suggestions=void 0,this.attach(t),this.apply(e),t.continuationStreaming=n||void 0,this.messagesSig.value=[...this.messagesSig.value]}),t}applyResume(e){if(e.type===`start`){let t=(this.replay?.baseline??this.active)?.serverMessageId;t!==void 0&&e.messageId!==void 0&&t!==e.messageId&&this.onReconcileNeeded?.({messageId:t,waitFor:`terminal`}),this.detach();let n=e.messageId,r=n===void 0?void 0:this.messagesSig.value.find(e=>e.serverMessageId===n||e.id===n);if(r!==void 0)return e.messageMetadata?.senderRole===`visitor`&&r.role===`user`&&(r.status===`pending`||r.status===`error`)&&(r.serverMessageId=n,r.status=`complete`,r.errorText=void 0,r.retryAction=void 0,this.messagesSig.value=[...this.messagesSig.value]),this.beginReplay(r,e),null;let i=e.messageMetadata?.senderRole,a=this.messagesSig.value.at(-1);if(i===void 0&&a?.role===`assistant`&&a.status===`streaming`&&a.serverMessageId===void 0&&!kn(a))return this.attach(a),this.apply(e),null;let o=vn();return this.attach(o),this.messagesSig.value=[...this.messagesSig.value,o],this.apply(e),null}if(this.replay){let t=this.refreshReplayBaseline();if(!t)return null;t.chunks.push(e),e.type===`data-control-state`&&(t.baseline.operatorRoutedTurn=e.data.controlMode!==`ai-agent`),this.apply(e);let{baseline:n,shadow:r,probeContinuation:i,continuationTailReplay:a,liveCatchUp:o}=t,s=e.type===`finish`||e.type===`error`||e.type===`abort`;if(i){if(!Ec(n,r,e))return s&&(Ac(n,r)&&(n.continuationStreaming=!0,this.messagesSig.value=[...this.messagesSig.value],this.onReconcileNeeded?.({messageId:n.serverMessageId??n.id,waitFor:`continuation`})),this.detach()),null;let t=xc(n)&&s?this.settleOwnedContinuation(e):this.promoteContinuation();return s?(t.continuationStreaming&&(e.type===`finish`?this.onReconcileNeeded?.({messageId:t.serverMessageId??t.id,waitFor:`continuation`}):t.continuationStreaming=!1),this.detach(),t):null}if(a&&wc(n,r)){let e=this.promoteContinuation(!0);return s?(this.detach(),e):null}if(!o)return s&&this.detach(),null;if(s&&!kn(n)&&kn(r)){let e=this.promoteReplay();return this.detach(),e}if(!Cc(n,r))return s&&(this.onReconcileNeeded?.({messageId:n.serverMessageId??n.id,waitFor:`terminal`}),this.detach()),null;let c=this.promoteReplay();return s?(this.detach(),c):null}let t=this.refreshActive();if(!t)return null;if(this.replay)return this.applyResume(e);if(this.apply(e),e.type===`finish`||e.type===`error`||e.type===`abort`){let n=t;return n.continuationStreaming&&(e.type===`finish`?this.onReconcileNeeded?.({messageId:n.serverMessageId??n.id,waitFor:`continuation`}):n.continuationStreaming=!1),this.detach(),n}return null}ensureTextPart(e,t,n){let r=`${t}:${n}`,i=this.openTextParts.get(r);if(i)return i;let a={kind:t,id:`${n}#${this.partSeq++}`,textSig:f(``),doneSig:f(!1)};return this.openTextParts.set(r,a),Mc(e,a),a}apply(e){let t=this.active;if(t)switch(e.type){case`start`:{e.messageId&&(t.serverMessageId=e.messageId);let n=e.messageMetadata;n?.senderRole===`operator`?(t.role=`operator`,n.operatorInitials&&(t.operatorInitials=n.operatorInitials)):n?.senderRole===`visitor`&&(t.role=`user`);return}case`finish-step`:this.openTextParts.clear();return;case`start-step`:Mc(t,{kind:`step-start`,id:`ss-${this.partSeq++}`});return;case`finish`:vc.debug(`finish`,{reason:e.finishReason,canContinue:e.canContinue}),t.status=`complete`,t.retryAction=void 0,e.finishReason&&(t.finishReason=e.finishReason),this.bumpDone(t);return;case`error`:vc.warn(`stream error chunk`,{errorText:e.errorText}),t.status=`error`,t.errorText=e.errorText,this.bumpDone(t);return;case`abort`:vc.debug(`stream abort chunk (canceled)`),t.status=`complete`,t.canceled=!0,t.retryAction=void 0,this.bumpDone(t);return;case`text-start`:this.ensureTextPart(t,`text`,e.id);return;case`text-delta`:{let n=this.ensureTextPart(t,`text`,e.id);n.textSig.value+=e.delta;return}case`text-end`:this.ensureTextPart(t,`text`,e.id).doneSig.value=!0;return;case`reasoning-start`:this.ensureTextPart(t,`reasoning`,e.id).doneSig.value=!1;return;case`reasoning-delta`:{let n=this.ensureTextPart(t,`reasoning`,e.id);n.textSig.value+=e.delta;return}case`reasoning-end`:this.ensureTextPart(t,`reasoning`,e.id).doneSig.value=!0;return;case`tool-input-start`:case`tool-input-delta`:case`tool-input-available`:case`tool-input-error`:case`tool-output-available`:case`tool-output-error`:case`tool-output-denied`:case`tool-approval-request`:Pc(t,e);return;case`file`:Mc(t,{kind:`file`,url:e.url,mediaType:e.mediaType});return;case`source-url`:Nc(t,{kind:`source`,sourceId:e.sourceId,url:e.url,title:e.title});return;case`source-document`:Nc(t,{kind:`source`,sourceId:e.sourceId,title:e.title,filename:e.filename,mediaType:e.mediaType});return;case`data-suggestions`:t.suggestions=an(e.data);return;case`data-control-state`:t.operatorRoutedTurn=e.data.controlMode!==`ai-agent`;return;default:}}bumpDone(e){e.partsSig.value=[...e.partsSig.value],this.messagesSig.value.includes(e)&&(this.messagesSig.value=[...this.messagesSig.value])}};const bc={"input-streaming":0,"input-available":1,"approval-requested":2,"approval-responded":3,"output-available":4,"output-denied":4,"output-error":4};function xc(e){return e.awaitingContinuation===!0||e.continuationStreaming===!0||e.retryAction?.kind===`continue-assistant`}function Sc(e,t){e.canceled&&(t.canceled=!0),!(!xc(e)||t.status!==`streaming`&&!In(t))&&(t.awaitingContinuation??(t.awaitingContinuation=e.awaitingContinuation),t.continuationStreaming??(t.continuationStreaming=e.continuationStreaming),t.retryAction===void 0&&(t.retryAction=e.retryAction))}function Cc(e,t){let n=e.partsSig.value,r=t.partsSig.value;return e.role!==t.role||r.length<n.length?!1:n.every((e,t)=>Tc(e,r[t]))}function wc(e,t){let n=e.partsSig.value,r=n.findLastIndex(e=>e.kind===`tool`),i=new Set(n.slice(0,r+1).flatMap(e=>e.kind===`tool`?[e.toolCallId]:[])),a=t.partsSig.value.filter(e=>e.kind!==`tool`||!i.has(e.toolCallId)),o=n.slice(r+1);return a.length<o.length?!1:o.every((e,t)=>Tc(e,a[t]))}function Tc(e,t){switch(e.kind){case`text`:case`reasoning`:return t?.kind===e.kind&&t.textSig.value.startsWith(e.textSig.value);case`step-start`:return t?.kind===`step-start`;case`tool`:{if(t?.kind!==`tool`||t.toolCallId!==e.toolCallId||!qn(t.toolName,e.toolName)||bc[t.stateSig.value]<bc[e.stateSig.value])return!1;let n=e.approvalSig.value?.approved;return n===void 0||t.approvalSig.value?.approved===n}case`file`:return t?.kind===`file`&&t.url===e.url&&t.mediaType===e.mediaType;case`source`:return t?.kind===`source`&&t.sourceId===e.sourceId&&t.url===e.url&&t.title===e.title&&t.filename===e.filename&&t.mediaType===e.mediaType;default:return e}}function Ec(e,t,n){return Dc(e,n)||!Oc(e,t)?!0:n.type!==`finish`&&n.type!==`error`&&n.type!==`abort`?!1:Pn(t)||e.awaitingContinuation===!0&&n.type!==`finish`?!0:e.awaitingContinuation===!0&&t.partsSig.value.every(e=>e.kind===`step-start`)}function Dc(e,t){if(t.type!==`tool-output-available`&&t.type!==`tool-output-error`&&t.type!==`tool-output-denied`)return!1;let n=e.partsSig.value.find(e=>e.kind===`tool`&&e.toolCallId===t.toolCallId);return n!==void 0&&bc[n.stateSig.value]<4}function Oc(e,t){let n=t.partsSig.value;if(n.length===0)return!0;let r=e.partsSig.value;return r.some((e,t)=>n.every((e,n)=>kc(r[t+n],e)))}function kc(e,t){switch(t.kind){case`text`:case`reasoning`:return e?.kind===t.kind&&e.textSig.value.startsWith(t.textSig.value);case`step-start`:return e?.kind===`step-start`;case`tool`:return e?.kind===`tool`&&e.toolCallId===t.toolCallId&&(t.toolName===`tool`||qn(e.toolName,t.toolName));case`file`:return e?.kind===`file`&&e.url===t.url&&e.mediaType===t.mediaType;case`source`:return e?.kind===`source`&&e.sourceId===t.sourceId&&e.url===t.url&&e.title===t.title&&e.filename===t.filename&&e.mediaType===t.mediaType;default:return t}}function Ac(e,t){if(xc(e)||!In(e))return!1;let n=new Set(e.partsSig.value.filter(e=>e.kind===`tool`).map(e=>e.toolCallId));return!t.partsSig.value.some(e=>e.kind===`tool`&&n.has(e.toolCallId))}function jc(e,t,n,r){let i=e.partsSig.value.find(e=>e.kind===`tool`&&e.toolCallId===t);if(i)return r&&(i.dynamic=!0),i;let a={kind:`tool`,toolCallId:t,toolName:n??`tool`,dynamic:r?!0:void 0,inputPartialSig:f(``),inputSig:f(void 0),outputSig:f(void 0),errorSig:f(void 0),stateSig:f(`input-streaming`),approvalSig:f(void 0)};return Mc(e,a),a}function Mc(e,t){e.partsSig.value=[...e.partsSig.value,t]}function Nc(e,t){e.partsSig.value.some(e=>e.kind===`source`&&e.sourceId===t.sourceId)||Mc(e,t)}function Pc(e,t){switch(t.type){case`tool-input-start`:jc(e,t.toolCallId,t.toolName,t.dynamic);return;case`tool-input-delta`:{let n=jc(e,t.toolCallId);n.inputPartialSig.value+=t.inputTextDelta;return}case`tool-input-available`:{let n=jc(e,t.toolCallId,t.toolName,t.dynamic);n.inputSig.value=t.input,n.stateSig.value=`input-available`;return}case`tool-input-error`:{let n=jc(e,t.toolCallId,t.toolName,t.dynamic);n.inputSig.value=t.input,n.errorSig.value=t.errorText,n.stateSig.value=`output-error`;return}case`tool-approval-request`:{let n=jc(e,t.toolCallId,t.toolName);n.approvalSig.value={id:t.approvalId},n.stateSig.value=`approval-requested`;return}case`tool-output-available`:{let n=jc(e,t.toolCallId,void 0,t.dynamic);n.outputSig.value=t.output,n.stateSig.value=`output-available`;return}case`tool-output-error`:{let n=jc(e,t.toolCallId,void 0,t.dynamic);n.errorSig.value=t.errorText,n.stateSig.value=`output-error`;return}case`tool-output-denied`:{let n=jc(e,t.toolCallId);n.stateSig.value=`output-denied`;return}default:return}}const Fc=1e3;async function Ic(e){let t=Fc;for(;!e.signal.aborted;){let n,r=`held`;try{r=await e.connect(()=>{n=e.now(),e.backfill()})}catch{}if(e.signal.aborted||r===`unavailable`)return;n!==void 0&&e.now()-n>=1e3&&(t=Fc),await e.sleep(t),t=Math.min(t*2,15e3)}}const Lc=L.scope(`resume-stream`);function Rc(e){let{activated:t,conversationReady:n,conversationIdSig:r,messagesSig:a,streamingRef:o,optionsRef:s,isChatActiveRef:c,transport:l,visitorId:u,adoptControlStateChunk:d,settleSuggestions:f,markActiveConversationRead:p,onReplyLanded:m,runCancellation:h,setCanSend:g,feedback:_,bus:v,homeNav:y}=e;i(()=>{if(!t||!n||!r.value)return;let e=r.value,i=new AbortController,b=e=>{},x=new yc(a,e=>b(e));l.primeIdentity(u,e),Lc.debug(`resume stream opened`,{conversationId:e});let S=!1,C=!1,w,T,ee=0,E=0,D=(e,t)=>{(e||!h.localSendRef.current)&&h.settle(t),e&&(p(),m())},O=(e,t=[],n=!1,r)=>{let i=s.current;if(e.canceled){D(n,r),a.value=[...a.value];return}let o=e.status===`error`;switch($n(e,o)){case`drop`:a.value=a.value.filter(t=>t!==e);break;case`complete-operator-routed`:e.status=`complete`,n&&(_.play(`messageReceived`),fc(v,i,`assistant`,W(e)));break;case`error`:if(e.status=`error`,e.errorText=i.strings.errorGeneric,n){_.play(`error`);let e=Error(o?`stream error chunk`:`empty reply`);v.emit(`error`,e),i.onError?.(e)}break;case`complete`:e.status=`complete`,n&&(_.play(`messageReceived`),fc(v,i,`assistant`,W(e))),f(e,t);break}D(n,r),a.value=[...a.value]},k=t=>{if(i.signal.aborted||r.value!==e)return;if(d(t),t.type===`start`){let n=T?.senderRole===`visitor`?T.messageId:void 0;if(T={messageId:t.messageId,senderRole:t.messageMetadata?.senderRole},ee+=1,S=t.messageMetadata?.senderRole===void 0,C=!1,w=S?t.messageMetadata?.runId:void 0,S){let r=t.messageId!==void 0&&a.value.some(e=>e.serverMessageId===t.messageId||e.id===t.messageId),i=a.value.at(-1),o=t.messageId!==void 0&&(i?.serverMessageId===t.messageId||i?.id===t.messageId),s=h.localSendRef.current&&(!r||o)&&i?.role===`assistant`&&i.status===`streaming`&&(o||i.serverMessageId===void 0&&i.partsSig.value.length===0);C=h.captureStart(e,t,s,n)}}S&&(E+=1);let n=S&&(t.type===`finish`||t.type===`error`||t.type===`abort`),o=n?w:void 0,u=n&&(C||h.ownsLocalRun(o));n&&(S=!1,C=!1,w=void 0);let f=a.value.length,p=x.applyResume(t);if(t.type===`finish`&&t.canContinue===!1&&g(!1),a.value.length>f){let e=s.current.modules.list.find(e=>e.layout===`chat`)?.id;e&&y?.switchTab(e)}if(!p){n&&(u||!h.localSendRef.current)&&h.settle(o);return}if(p.role===`operator`){_.play(`messageReceived`),fc(v,s.current,`operator`,W(p)),!document.hidden&&c.current()&&l.markRead(e).catch(()=>void 0),n&&(u||!h.localSendRef.current)&&h.settle(o);return}p.role===`assistant`&&O(p,[],u,o)},A=async t=>{let n=ee,o=await l.loadConversation(e,t?[t]:[]).catch(()=>null);if(i.signal.aborted||r.value!==e||!o)return!1;o.controlState&&d({type:`data-control-state`,data:o.controlState});let s=a.value.at(-1),c=n===ee&&(t===void 0||s!==void 0&&(s.serverMessageId===t||s.id===t));if(!o.messages?.length)return!1;c&&g(o.canContinue??!0);let u=a.value,p=t===void 0?u.at(-1):u.find(e=>e.serverMessageId===t||e.id===t),{messages:m,changed:_}=Wn(u,En(o.messages));if(!_)return!1;a.value=m;let v=t===void 0?m.at(-1):m.find(e=>e.serverMessageId===t||e.id===t),y=p?.role===`assistant`&&p.status===`streaming`&&v?.role===`assistant`&&v.status!==`streaming`&&v.id===p.id;return c&&y?O(v,o.suggestions??[],h.localSendRef.current):c&&v?.role===`assistant`&&v.status!==`streaming`&&f(v,o.suggestions??[]),!0},j,te=e=>{if(!a.value.some(t=>t.serverMessageId===e||t.id===e))return Promise.resolve(!1);if(j)return j.messageId===e?j.promise:Promise.resolve(!1);let t=A(e).finally(()=>{j?.promise===t&&(j=void 0)});return j={messageId:e,promise:t},t},ne=new Set;b=({messageId:t,waitFor:n})=>{ne.has(t)||(ne.add(t),(async()=>{try{for(let e=0;e<8&&!i.signal.aborted;e++){await te(t);let r=a.value.find(e=>e.serverMessageId===t||e.id===t);if(n===`terminal`&&!zn(r)||n===`continuation`&&!r?.continuationStreaming||i.signal.aborted)return;await Wt(Math.min(400+e*200,1200),i.signal)}i.signal.aborted||Lc.warn(`durable turn reconcile did not land`,{conversationId:e,messageId:t})}finally{ne.delete(t)}})())};let M=-1/0,N,re,P=!1,F=()=>{if(i.signal.aborted||r.value!==e)return;if(re){P=!0;return}M=performance.now();let t=A();re=t;let n=()=>{re===t&&(re=void 0,P&&(P=!1,F()))};t.then(n,n)};Ic({signal:i.signal,now:()=>performance.now(),sleep:e=>Wt(e,i.signal),connect:e=>l.connectResumeStream({signal:i.signal,onChunk:k,onConnected:e}),backfill:()=>{let e=2e3-(performance.now()-M);if(e<=0){N!==void 0&&clearTimeout(N),N=void 0,F();return}N??(N=setTimeout(()=>{N=void 0,F()},e))}});let ie=e=>e.partsSig.value.reduce((e,t)=>e+(t.kind===`text`||t.kind===`reasoning`?t.textSig.value.length:1),0),I=0,ae=-1,oe=E,se=setInterval(()=>{if(i.signal.aborted||r.value!==e)return;let t=a.value.at(-1);o.current&&t?.role===`assistant`&&t.status!==`streaming`&&h.settle();let n=t?.serverMessageId;if(!(!h.localSendRef.current&&zn(t))||!n){I=0,ae=-1,oe=E;return}let s=ie(t);if(E!==oe||s!==ae){oe=E,ae=s,I=0;return}I++>=30||te(n).then(e=>{e&&(I=0)})},2500);return()=>{i.abort(),N!==void 0&&clearTimeout(N),clearInterval(se),x.detach(),Lc.debug(`resume stream closed`,{conversationId:e})}},[t,n,r,r.value,u,l,d,f,p,m,h,g,a,v,_,y])}function zc(e){let{transport:t,setStreaming:n}=e,i=s(),a=s(),c=s(!1),l=s(),u=s(!1),d=s(new Map),f=s(new Set),p=r((e,n)=>{let r=`${e}:${n}`;l.current!==r&&(l.current=r,t.cancelTurn(e,n))},[t]),m=r(e=>{i.current=void 0,a.current=e,c.current=!1,l.current=void 0,u.current=!0,n(!0)},[n]),h=r((e,t)=>{d.current.set(e,{messageId:t})},[]),g=r(e=>{e!==void 0&&(f.current.add(e),f.current.size>32&&f.current.delete(f.current.values().next().value)),!(e!==void 0&&i.current?.runId!==e)&&(i.current=void 0,a.current=void 0,c.current=!1,u.current=!1,n(!1))},[n]),_=r((e,t)=>a.current===e?(a.current=void 0,t.runId?(i.current={conversationId:t.conversationId,runId:t.runId},n(!0),c.current&&p(t.conversationId,t.runId),!0):(g(),!0)):t.runId&&i.current?.runId===t.runId?(i.current={conversationId:t.conversationId,runId:t.runId},c.current&&p(t.conversationId,t.runId),!0):!1,[p,n,g]),v=r((e,t)=>{let r=d.current.get(e);return r?(d.current.delete(e),!t.runId||f.current.has(t.runId)?!0:r.runId===void 0?u.current||a.current?!0:(i.current={conversationId:t.conversationId,runId:t.runId},a.current=void 0,c.current=!1,l.current=void 0,u.current=!0,n(!0),!0):(r.runId===t.runId&&i.current?.runId===t.runId&&(i.current={conversationId:t.conversationId,runId:t.runId},c.current&&p(t.conversationId,t.runId)),!0)):!1},[p,n]),y=r(e=>a.current===e?(g(),!0):!1,[g]),b=r(e=>{let t=d.current.get(e);return t?(d.current.delete(e),t.runId===void 0):!1},[]),x=r((e,t,r,o)=>{let s=t.messageMetadata?.runId;if(t.messageMetadata?.senderRole!==void 0||typeof s!=`string`||!s||f.current.has(s))return!1;if(i.current?.runId===s)return u.current;if(u.current)return i.current||!r?!1:(a.current=void 0,i.current={conversationId:e,runId:s},n(!0),c.current&&p(e,s),!0);let m=[...d.current.values()].filter(e=>e.runId===void 0).find(e=>e.messageId===o);return m?(m.runId=s,i.current={conversationId:e,runId:s},a.current=void 0,c.current=!1,l.current=void 0,u.current=!0,n(!0),!0):(a.current=void 0,i.current={conversationId:e,runId:s},n(!0),c.current&&p(e,s),u.current)},[p,n]),S=r(e=>typeof e==`string`&&i.current?.runId===e&&u.current,[]),C=r(()=>{let e=i.current;if(e)return c.current=!0,p(e.conversationId,e.runId),!0;let t=a.current;return t?(c.current=!0,t.then(e=>{e.runId&&p(e.conversationId,e.runId)}).catch(()=>void 0),!0):!1},[p]);return o(()=>({localSendRef:u,begin:m,beginRouted:h,acceptAck:_,acceptRoutedAck:v,reject:y,rejectRouted:b,captureStart:x,ownsLocalRun:S,settle:g,stop:C}),[_,v,m,h,x,S,y,b,g,C])}const Bc=L.scope(`send`);function Vc(e){return!(e instanceof Gt)||e.code===`network`||e.status===void 0||e.status===202||e.status===408||e.status===425||e.status===429||e.status>=500&&e.status<600}function Hc(e){let{transport:t,messagesSig:n,conversationIdSig:i,options:a,bus:o,feedback:s,persistence:c,visitorId:l,adoptConversationId:u,applyControlState:d,setCanSend:f,settleSuggestions:p,runCancellation:m}=e,h=r(()=>{let e=i.value??lt();return i.value||(i.value=e,c.saveConversationId(e)),e},[i,c]);return{sendAiTurn:r(async({continueExisting:e,turn:r})=>{let g=h(),_=n.value.at(-1),v=r?[r]:Dn(n.value,e),y=on({messages:v.map(On),conversationId:g,visitorId:l,userPrefs:c.loadUserPrefs()}),b=t.sendTurn(y);m.begin(b);try{let r=await b;if(i.value!==g||!m.acceptAck(b,r))return;if(u(r.conversationId),!r.runId){let o=await t.loadConversation(r.conversationId).catch(()=>null);if(i.value!==r.conversationId)return;if(o){o.controlState&&d(o.controlState),f(o.canContinue??!0);let{messages:t,changed:r}=Wn(n.value,En(o.messages??[]));r&&(n.value=t);let i=_?n.value.find(e=>e.id===_.id&&e.role===`assistant`&&e.status!==`streaming`):void 0;i&&p(i,o.suggestions??[]),!e&&_?.role===`assistant`&&n.value.includes(_)&&_.serverMessageId===void 0&&!kn(_)&&(n.value=n.value.filter(e=>e!==_))}else if(_?.role===`assistant`&&n.value.includes(_)){_.status=`error`,_.errorText=a.strings.errorGeneric;let t=v[0];e?_.retryAction={kind:`continue-assistant`,messageId:_.serverMessageId??_.id}:_.retryAction=t?.role===`user`?{kind:`resend-user`,messageId:t.id}:null,n.value=[...n.value]}}}catch(c){if(i.value!==g||!m.reject(b))return;let l=Ds(c,a.strings),u=Vc(c),h=r?.role===`assistant`?r:n.value.at(-1);if(e&&h?.role===`assistant`&&c instanceof Gt&&c.status===409){let e=h.serverMessageId??h.id,r=await t.loadConversation(g,[e]).catch(()=>null);if(i.value!==g)return;if(r){r.controlState&&d(r.controlState),f(r.canContinue??!0);let t=En(r.messages??[]),i=t.find(t=>(t.serverMessageId??t.id)===e);if(i&&Gn(h,i)){let{messages:i,changed:a}=Wn(n.value,t),o=i.find(t=>(t.serverMessageId??t.id)===e);if(a&&o&&o!==h){o.awaitingContinuation=!1,o.continuationStreaming=void 0,o.retryAction=null,n.value=i,o.status!==`streaming`&&p(o,r.suggestions??[]);return}}}if(!n.value.includes(h)||h.status!==`streaming`)return;h.continuationStreaming=!0}if(e&&h?.role===`assistant`)h.status=`error`,h.errorText=l,h.retryAction=u?{kind:`continue-assistant`,messageId:h.serverMessageId??h.id}:null,n.value=[...n.value];else if(_?.role===`assistant`&&n.value.includes(_)){_.status=`error`,_.errorText=l;let e=v[0];_.retryAction=u&&e?.role===`user`?{kind:`resend-user`,messageId:e.id}:null,n.value=[...n.value]}else{let e=vn();e.status=`error`,e.errorText=l;let t=v[0];e.retryAction=u&&t?.role===`user`?{kind:`resend-user`,messageId:t.id}:null,n.value=[...n.value,e]}s.play(`error`),o.emit(`error`,c),a.onError?.(c)}},[t,n,a,o,s,c,l,u,d,f,p,h,m]),sendRoutedTurn:r(async e=>{let r=h();e.status=`pending`,e.errorText=void 0,e.retryAction=void 0,n.value.includes(e)&&(n.value=[...n.value]);let d=on({messages:[On(e)],conversationId:r,visitorId:l,userPrefs:c.loadUserPrefs()}),f=t.sendTurn(d);m.beginRouted(f,e.id);try{let t=await f;if(i.value!==r){m.rejectRouted(f);return}if(!m.acceptRoutedAck(f,t))return;u(t.conversationId),e.status===`pending`&&(e.status=`complete`,n.value.includes(e)&&(n.value=[...n.value]))}catch(t){let c=m.rejectRouted(f);if(i.value!==r)return;if(!c){e.status===`pending`&&(e.status=`complete`,n.value.includes(e)&&(n.value=[...n.value]));return}if(e.status!==`pending`)return;Bc.debug(`operator-routed send failed`,{error:t});let l=t instanceof Error?t:Error(String(t));e.status=`error`,e.errorText=Ds(t,a.strings),e.retryAction=Vc(t)?{kind:`resend-user`,messageId:e.id}:null,n.value.includes(e)&&(n.value=[...n.value]),s.play(`error`),o.emit(`error`,l),a.onError?.(l)}},[t,n,a,o,s,c,l,u,h,m])}}const Uc=L.scope(`unread`);function Wc(e){let{transport:t,options:n,conversationIdSig:a,isChatActiveRef:o,activated:c,conversationReady:l}=e,u=m(!1),d=s(new Set),f=s();i(()=>()=>clearTimeout(f.current),[]);let p=r(()=>{let e=o.current()?a.value:void 0;u.value=[...d.current].some(t=>t!==e)},[u,a,o]),h=r(()=>{n.modules.list.some(e=>e.layout===`chat`)&&t.listConversations({limit:50}).then(e=>{d.current=new Set(e.conversations.filter(e=>e.hasUnread).map(e=>e.conversationId)),p()}).catch(e=>Uc.debug(`refreshUnread failed (non-fatal)`,{err:e}))},[t,n.modules,p]),g=r(e=>{d.current.delete(e),p()},[p]),_=r(()=>{if(!o.current())return;let e=a.value;e&&(clearTimeout(f.current),f.current=setTimeout(()=>{g(e),t.markRead(e)},300))},[t,a,g,o]),v=s(!1);return i(()=>{!c||!l||v.current||(v.current=!0,h())},[c,l,h]),i(()=>{if(!c)return;let e=()=>{document.visibilityState===`visible`&&h()};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[c,h]),{hasUnreadSig:u,refreshUnread:h,clearUnread:g,markActiveConversationRead:_}}const Gc=L.scope(`settings`);function Kc(e){let{options:t,persistence:n,transport:a,feedback:o,hostElement:s,bus:l}=e,u=n.loadUserPrefs(),[d,f]=c(()=>u.locale??t.locale),[p,m]=c(()=>u.themeMode??t.themeMode),[h,g]=c(()=>u.textSize??t.textSize),_=r(e=>{n.patchUserPrefs(e),a.saveUserPrefs(n.loadUserPrefs()).catch(e=>Gc.warn(`saveUserPrefs failed`,{err:e}))},[n,a]);i(()=>{u.soundMuted!==void 0&&o.setMuted(u.soundMuted)},[]),i(()=>{s.dataset.theme=p},[s,p,t]),i(()=>{s.dataset.textSize=h},[s,h,t]),i(()=>{let e=!0;return o.mutedSig.subscribe(t=>{if(e){e=!1;return}_({soundMuted:t})})},[o,_]);let v=Ae(d,t.availableLocales,t.defaultLocale);return i(()=>{a.setLocale(v)},[a,v]),i(()=>{s.dir=E(v)?`rtl`:`ltr`},[s,v]),i(()=>{v!==d&&f(v)},[v,d]),{activeLocale:d,activeThemeMode:p,activeTextSize:h,effectiveLocale:v,setActiveLocale:f,setActiveThemeMode:m,setActiveTextSize:g,patchAndSync:_,handleLocaleChange:r(e=>{Gc.info(`localeChange`,{locale:e}),f(e),_({locale:e}),l.emit(`localeChange`,e)},[_,l]),handleThemeChange:r(e=>{Gc.info(`themeChange`,{mode:e}),m(e),s.dataset.theme=e,_({themeMode:e}),l.emit(`themeChange`,e)},[s,_,l]),handleTextSizeChange:r(e=>{Gc.info(`textSizeChange`,{size:e}),g(e),s.dataset.textSize=e,_({textSize:e}),l.emit(`textSizeChange`,e)},[s,_,l]),handleSoundToggle:r(()=>{o.toggleMuted();let e=o.mutedSig.value;Gc.info(`soundToggle`,{muted:e}),l.emit(`soundToggle`,{muted:e})},[o,l])}}const $=L.scope(`app`),qc=b.cssPrefix;function Jc(e,t){return yn({...e,text:D(t,e.text)})}function Yc({options:e,hostElement:t,bus:n}){let[u]=c(()=>ft(e.widgetId,e.storage,e.aiAgentDeploymentId)),[d,f]=c(()=>u.getVisitorId()),h=u.loadUserPrefs(),v=m(u.loadConversationId()),y=m([]),[b,x]=c(!1),[S,C]=c([]);function w(){let t=e.modules.list,n=new Set(t.map(e=>e.id)),r=u.loadActiveModule();return r&&n.has(r)?r:t[0]?.id??``}function T(){return e.modules.list.find(e=>e.layout===`chat`)?.id}function ee(){let t=T();return t?e.modules.list.length===1||k.sig.value.activeTab===t:!1}let E=s(ee);E.current=ee;let O=s();if(!O.current){let t=e.modules.list.map(e=>e.id);O.current=ys(w(),t,e=>u.saveActiveModule(e))}let k=O.current,[A,j]=c(!1),[te,ne]=c(null),[M,N]=c(!1),re=e.mode===`standalone`||e.mode===`inline`,P=s(Vt(e,Ht(),u.loadPanelOpen(),u.loadPanelSize())),[F,ie]=c(P.current.panelOpen),[I,ae]=c(P.current.panelOpen),oe=s(!1),se=s(void 0);i(()=>{F&&ae(!0)},[F]);let ce=s(!1),[L,R]=c(!1),{dismissed:le,dismissCallout:ue}=hc({callout:e.launcher.callout,persistence:u}),de=e.launcher.callout?.persistent??!0,fe=r(()=>{$.info(`calloutDismiss`),n.emit(`calloutDismiss`,void 0),ue()},[n,ue]),[pe,me]=c(P.current.panelSize),he=s(!1),[ge,_e]=c(`chat`),[ve,ye]=c(!0),be=s(ve);be.current=ve;let[xe,Se]=c(!1),Ce=s(xe);Ce.current=xe;let we=s(null),[Te,Ee]=c(!1),[De,Oe]=c(null),[ke,Ae]=c([]),je=s(e.strings),Me=s(e);Me.current=e;let[Ne,Pe]=c(void 0),[Fe,Ie]=c(void 0),[Le,ze]=c(()=>u.loadSidebarCollapsed()??!1),[Be,He]=c({}),[z]=c(()=>new pn({agentApiBaseUrl:e.agentApiBaseUrl,dataApiBaseUrl:e.dataApiBaseUrl,auth:Ut({publicKey:e.publicKey,aiAgentDeploymentId:e.aiAgentDeploymentId,publicKeyHeader:`x-public-key`}),endpoints:e.endpoints})),[Ue]=c(()=>new pr(e.sound,e.haptics)),We=zc({transport:z,setStreaming:Se}),{activeLocale:Ge,activeThemeMode:Ke,activeTextSize:qe,effectiveLocale:Je,setActiveLocale:Ye,setActiveThemeMode:Xe,setActiveTextSize:Ze,patchAndSync:Qe,handleLocaleChange:$e,handleThemeChange:et,handleTextSizeChange:tt,handleSoundToggle:nt}=Kc({options:e,persistence:u,transport:z,feedback:Ue,hostElement:t,bus:n}),{controlModeSig:rt,assignedOperatorInitialsSig:it,operatorAvailableSig:at,applyControlState:ot,adoptControlStateChunk:st,requestOperator:ut,cancelOperatorRequest:dt}=gc({transport:z,conversationIdSig:v}),{hasUnreadSig:pt,refreshUnread:mt,clearUnread:ht,markActiveConversationRead:gt}=Wc({transport:z,options:e,conversationIdSig:v,isChatActiveRef:E,activated:I,conversationReady:A});i(()=>{Ue.update(e.sound,e.haptics)},[Ue,e.sound,e.haptics]),i(()=>()=>Ue.destroy(),[Ue]),i(()=>{he.current||!e.size.initialSize||(he.current=!0,!u.loadPanelSize()&&me(Bt(e.mode,e.size,Ht())))},[e.mode,e.size,u]),i(()=>{if(!A||ce.current)return;ce.current=!0;let t=Vt(e,Ht(),u.loadPanelOpen(),u.loadPanelSize());ie(t.panelOpen),me(t.panelSize)},[A,e,u]);let _t=s(null);i(()=>{A&&k.reconcile(e.modules.list.map(e=>e.id),w())},[A,e.modules.list,k]);let vt=r(e=>{!e||e.length===0||(y.value=e.map(e=>Jc(e,je.current)))},[y]),yt=s(null),bt=r(async e=>{try{let{formSubmissions:t}=await(e?z.bootstrap(e):yt.current??z.bootstrap()),n=new Map;return t.forEach((e,t)=>n.set(e.formId,t)),t.filter((e,t)=>!e.skipped||n.get(e.formId)===t).map((e,t)=>({key:`wire:${e.formId}:${e.createdAt??t}`,formId:e.formId,outcome:e.skipped?`skipped`:`submitted`,createdAt:$t(e.createdAt),values:e.values}))}catch(e){return $.debug(`bootstrap failed — no form markers (non-fatal)`,{err:e}),[]}},[z]),xt=s(0),St=r((e,t)=>{let n=[...e.map(e=>e.createdAt),...t.map(e=>e.createdAt)].filter(e=>e!==void 0),r=(n.length?Math.min(...n):Date.now())-1;return[...(se.current?.messages??[]).map(e=>{let t=Jc(e,je.current);return t.createdAt=r,t}),...e]},[]),Ct=r(async e=>{let t=xt.current,n=()=>t!==xt.current;x(!0);try{let[t,r]=await Promise.all([z.loadConversation(e),bt()]);if(n())return;let i=En(t.messages??[]);if(C(r),y.value=St(Un(i,y.value),r),ye(t.canContinue??!0),i.length){ot(rn(t.controlState));let e=i.findLast(e=>e.role===`assistant`&&!e.ephemeral);Ae(e?.suggestions??t.suggestions??[])}}catch(t){if(n())return;$.warn(`loadThread failed; resetting conversationId`,{err:t,conversationId:e}),v.value=void 0,u.saveConversationId(void 0)}finally{n()||x(!1)}},[z,bt,y,v,u,St]),wt=r(async({newConversation:t})=>{let r=++xt.current,i=()=>r!==xt.current,a=v.value,o=t||!a?lt():a;o!==a&&(v.value=o,u.saveConversationId(o)),z.primeIdentity(d,o);let s;try{s=await z.handshake({visitorId:d,conversationId:o,userPrefs:u.loadUserPrefs(),locale:Ge})}catch(r){if(i())return;n.emit(`error`,r),e.onError?.(r),t||j(!0);return}if(!i()){if(s.visitorId&&s.visitorId!==d&&($.info(`visitor rebound`,{previous:d,current:s.visitorId,reason:s.rebind?.visitorId}),u.setVisitorId(s.visitorId),f(s.visitorId),n.emit(`visitorRebound`,{previous:d,current:s.visitorId,reason:s.rebind?.visitorId})),s.conversationId&&s.conversationId!==o&&($.info(`conversation rebound`,{previous:o,current:s.conversationId,reason:s.rebind?.conversationId}),n.emit(`conversationRebound`,{previous:o,current:s.conversationId,reason:s.rebind?.conversationId})),s.agent&&Oe(s.agent),ot(rn(s.controlState)),e.mode===`page`&&(s.site&&Lt(s.site)?Pe(s.site):s.site&&$.warn(`invalid site config, using fallback`,{site:s.site}),s.blocks&&Rt(s.blocks)?Ie(s.blocks):s.blocks&&$.warn(`invalid blocks config, using fallback`,{blocks:s.blocks})),s.userPrefs&&!t&&(u.saveUserPrefs(s.userPrefs),s.userPrefs.locale&&Ye(s.userPrefs.locale),s.userPrefs.soundMuted!==void 0&&Ue.setMuted(s.userPrefs.soundMuted),s.userPrefs.themeMode&&Xe(s.userPrefs.themeMode),s.userPrefs.textSize&&Ze(s.userPrefs.textSize)),se.current=s.welcome,t||n.emit(`handshake`,s),s.welcome?.suggestions){let e=je.current;Ae(s.welcome.suggestions.map(t=>({...t,label:D(e,t.label),...t.text===void 0?{}:{text:D(e,t.text)}})))}!t&&a&&s.conversationId===a?oe.current=!0:(v.value=s.conversationId,u.saveConversationId(s.conversationId),vt(s.welcome?.messages)),t||j(!0)}},[z,d,u,e,n,v,Ue,vt,Ct,Ge]),Tt=JSON.stringify(e.userContext??null);i(()=>{let t=Object.keys(Be).length?{...Be,...e.userContext}:e.userContext;z.setContext(t,Xc(e.pageContext))},[z,Tt,JSON.stringify(e.pageContext??null),JSON.stringify(Be)]);let Et=r((e,t=[])=>Ae(e.suggestions??t),[]),Dt=r(e=>{if(!e||e===v.value)return;let t=v.value;v.value=e,u.saveConversationId(e),z.primeIdentity(void 0,e),$.info(`conversation rebound`,{previous:t,current:e}),t&&n.emit(`conversationRebound`,{previous:t,current:e,reason:e})},[v,u,z,n]);i(()=>(z.primeIdentity(d,v.value),wt({newConversation:!1}),()=>{xt.current++}),[]);let Ot=s(!1);i(()=>{if(!(!I||!A||Ot.current)&&(Ot.current=!0,yt.current=z.bootstrap(),(async()=>{try{let e=await yt.current;ne(Re((e??{forms:[]}).forms,Je))}catch(e){$.debug(`bootstrap failed — treating as no forms`,{err:e})}finally{N(!0)}})(),oe.current)){oe.current=!1;let e=v.value;e&&Ct(e)}},[I,A]);let kt=s(null);i(()=>{if(!I||!A)return;if(kt.current===null){kt.current=Je;return}if(kt.current===Je)return;kt.current=Je;let e=!1;return z.bootstrap().then(t=>{e||ne(Re((t??{forms:[]}).forms,Je))}).catch(e=>$.debug(`forms re-localize failed — keeping current copy`,{err:e})),()=>{e=!0}},[I,A,Je,z]);let At=s(Tt);i(()=>{!A||At.current===Tt||(At.current=Tt,wt({newConversation:!1}))},[Tt,A,wt]),_c({hostElement:t,mode:e.mode,panelSize:pe,isOpen:F,setIsOpen:ie});let{sendAiTurn:jt,sendRoutedTurn:Mt}=Hc({transport:z,messagesSig:y,conversationIdSig:v,options:e,bus:n,feedback:Ue,persistence:u,visitorId:d,adoptConversationId:Dt,applyControlState:ot,setCanSend:ye,settleSuggestions:Et,runCancellation:We}),{toolInteraction:Nt}=mc({streaming:xe,controlModeSig:rt,messagesSig:y,sendAiTurn:jt,bus:n,humanInLoop:e.features.humanInLoop}),Pt=r((e,t)=>{let r=y.value.find(t=>t.serverMessageId===e);r&&(r.feedback=t),$.info(`messageFeedback`,{messageId:e,value:t}),n.emit(`messageFeedback`,{messageId:e,value:t}),z.submitFeedback({messageId:e,value:t})},[n,y,z]),Ft=()=>y.value.reduce((e,t)=>e+ +(t.role===`user`),0),B=e.forms.list.length>0?e.forms:te??e.forms,V=os({forms:B,persistence:u,userContext:()=>e.userContext,messageCount:Ft,pageArea:()=>e.pageContext?.area?String(e.pageContext.area):void 0,conversationId:()=>v.value,onComplete:(e,t,r,i)=>{$.info(`formSubmit`,{formId:e.id,trigger:t,skipped:i}),n.emit(`formSubmit`,{formId:e.id,values:r,skipped:i}),C(t=>{let n=t.find(t=>t.formId===e.id&&t.outcome===`skipped`)?.createdAt??Date.now();return[...t.filter(t=>!(t.formId===e.id&&t.outcome===`skipped`)),{key:`local:${e.id}:${n}`,formId:e.id,outcome:i?`skipped`:`submitted`,createdAt:n,...i?{}:{values:r}}]});let a=v.value??lt();v.value||(v.value=a,u.saveConversationId(a),z.primeIdentity(void 0,a)),!i&&e.mirrorToContext&&He(e=>({...e,...r})),z.submitForm({formId:e.id,conversationId:a,trigger:t,values:r,skipped:i})}}),It=p(()=>V.activeForm.value);Rc({activated:I,conversationReady:A,conversationIdSig:v,messagesSig:y,streamingRef:Ce,optionsRef:Me,isChatActiveRef:E,transport:z,visitorId:d,adoptControlStateChunk:st,settleSuggestions:Et,markActiveConversationRead:gt,onReplyLanded:r(()=>V.fire(`after-messages`),[V]),runCancellation:We,setCanSend:ye,feedback:Ue,bus:n,homeNav:k}),i(()=>{V.refresh()},[B,V]);let zt=e.pageContext?.area?String(e.pageContext.area):void 0,Wt=p(()=>y.value.length);i(()=>{A&&M&&V.fire(`pre-chat`)},[A,M,V]),i(()=>{M&&!ve&&V.fire(`conversation-closed`)},[M,ve,V]),i(()=>{A&&M&&zt&&V.fire(`page-area`)},[A,M,zt,V]);let Gt=o(()=>{let e=B.list.flatMap(e=>e.triggers).filter(e=>e.kind===`idle`).map(e=>Number(e.param));return e.length?Math.min(...e)*1e3:0},[B]);i(()=>{if(!Gt||!F)return;let e=setTimeout(()=>V.fire(`idle`),Gt);return()=>clearTimeout(e)},[Gt,F,V,Wt.value]);let Kt=r(async(t,r)=>{if(we.current)return!1;let i=v.value,a=rt.value!==`ai-agent`;if($.info(`send`,{textLen:t.length,attachments:r.length,streaming:Ce.current,routedToOperator:a}),Ce.current&&!a)return!1;let o=new AbortController,s={conversationId:i,controller:o};we.current=s,Ee(!0);try{Ue.unlock();let a=await Qc(z,r,o.signal,t=>{o.signal.aborted||($.warn(`upload failed`,{err:t}),n.emit(`error`,t),e.onError?.(t))});if(o.signal.aborted||v.value!==i||!be.current||V.activeForm.value)return!1;let s=rt.value!==`ai-agent`;if(Ce.current&&!s||!t&&a.length===0)return!1;n.emit(`send`,{text:t,attachmentCount:r.length}),ke.length>0&&Ae([]),Ue.play(`messageSent`);let c=_n(t,a);return fc(n,e,`user`,t),s?(y.value=[...y.value,c],Mt(c),!0):(y.value=[...y.value,c,vn()],jt({continueExisting:!1}),!0)}finally{we.current===s&&(we.current=null,Ee(!1))}},[z,n,e,ke.length,y,v,jt,Mt,rt]);i(()=>{let e=v.value;return()=>{let t=we.current;!t||t.conversationId!==e||(we.current=null,Ee(!1),t.controller.abort())}},[v.value]),i(()=>{ve&&!It.value||we.current?.controller.abort()},[It.value,ve]);let qt=r(()=>{if(!We.stop())return;$.info(`stop`),n.emit(`stop`,void 0);let e=y.value.at(-1);e&&e.role!==`user`&&e.status===`streaming`&&(e.canceled=!0,y.value=[...y.value])},[We,n,y]),Jt=r(e=>{if(xe)return;let t=y.value,n=Zn(t,e);if(n)switch($.info(`retry`,{kind:n.kind,messageId:n.messageId}),n.kind){case`continue-assistant`:if(rt.value!==`ai-agent`||e.role!==`assistant`||(e.serverMessageId??e.id)!==n.messageId)return;e.status=`streaming`,e.errorText=void 0,e.retryAction=void 0,e.awaitingContinuation=!0,y.value=[...t],jt({continueExisting:!0,turn:e});return;case`resend-user`:{let r=t.find(e=>e.role===`user`&&e.id===n.messageId);if(!r)return;if(r.status=`complete`,r.errorText=void 0,r.retryAction=void 0,rt.value!==`ai-agent`){y.value=e.role===`assistant`?t.filter(t=>t!==e):[...t],Mt(r);return}let i=vn();y.value=e.role===`assistant`?t.map(t=>t===e?i:t):[...t,i],jt({continueExisting:!1,turn:r});return}case`repeat-user`:{let e=t.find(e=>e.role===`user`&&e.id===n.messageId);if(!e)return;let r=_n(W(e),e.attachments?.map(e=>({...e}))??[]),i=new Set(r.attachments?.flatMap(e=>e.url?[e.url]:[])??[]),a=e.partsSig.value.flatMap(e=>e.kind===`file`&&!i.has(e.url)?[{...e}]:[]);if(a.length>0&&(r.partsSig.value=[...r.partsSig.value,...a]),rt.value!==`ai-agent`){y.value=[...t,r],Mt(r);return}y.value=[...t,r,vn()],jt({continueExisting:!1,turn:r});return}default:return n}},[xe,y,rt,jt,Mt]),Yt=r(()=>{if(ki(e.mode,pe)===`exit-fullscreen`){$.info(`close → exit-fullscreen`,{mode:e.mode}),me(`normal`),n.emit(`fullscreen`,!1);return}$.info(`close → panel closed`,{mode:e.mode}),V.fire(`panel-close`),ie(!1),u.savePanelOpen(!1),n.emit(`close`,void 0),e.onClose?.()},[n,e,u,pe,V]),Xt=r(()=>{$.info(`open`,{mode:e.mode}),Ue.unlock(),R(!0),ie(!0),u.savePanelOpen(!0),!le&&!de&&fe(),setTimeout(()=>R(!1),Zc),mt(),n.emit(`open`,void 0),e.onOpen?.()},[n,e,Ue,u,le,de,fe,mt]),Zt=r(()=>{if(!y.value.some(e=>e.role===`user`)&&ve&&v.value){$.info(`clear → reusing empty conversation`,{conversationId:v.value}),y.value.length===0&&vt(se.current?.messages);return}$.info(`clear → new conversation`,{wasStreaming:xe}),n.emit(`clear`,void 0),We.settle(),l(()=>{y.value=[],v.value=void 0,ot({controlMode:`ai-agent`,controlRevision:0})}),u.clearConversation(),ye(!0),C([]),wt({newConversation:!0})},[xe,y,v,u,wt,n,ve,vt,We,ot]),Qt=r(()=>{Zt(),_e(`chat`);let t=e.modules.list.find(e=>e.layout===`chat`)?.id;t&&k.switchTab(t)},[Zt,k,e]),en=r(()=>{let e=pe===`expanded`?`normal`:`expanded`;$.info(`expand`,{from:pe,expanded:e===`expanded`}),me(e),u.savePanelSize(e),n.emit(`expand`,e===`expanded`)},[n,pe,u]),tn=r(()=>{let e=pe===`fullscreen`?`normal`:`fullscreen`;$.info(`fullscreen`,{from:pe,fullscreen:e===`fullscreen`}),me(e),u.savePanelSize(e),n.emit(`fullscreen`,e===`fullscreen`)},[n,pe,u]),nn=r(()=>{_e(e=>{let t=e===`history`?`chat`:`history`;return $.info(`toggleHistory`,{view:t}),n.emit(`toggleHistory`,{view:t}),t})},[n]),an=r(()=>{ze(e=>{let t=!e;return $.info(`sidebarToggle`,{collapsed:t}),u.saveSidebarCollapsed(t),n.emit(`sidebarToggle`,{collapsed:t}),t})},[u,n]),on=r(e=>{$.info(`resize`,e),Qe({widgetSize:e}),n.emit(`resize`,e)},[Qe,n]),sn=r(async t=>{let r=++xt.current,i=()=>r!==xt.current;$.info(`selectConversation`,{conversationId:t,wasStreaming:xe}),n.emit(`selectConversation`,{conversationId:t});try{let[e,n]=await Promise.all([z.loadConversation(t),bt(t)]);if(i())return;We.settle();let r=En(e.messages);l(()=>{y.value=St(r,n),v.value=e.conversationId}),C(n),u.saveConversationId(e.conversationId),z.primeIdentity(d,e.conversationId),e.agent&&Oe(e.agent),ye(e.canContinue),ot(rn(e.controlState));let a=r.findLast(e=>e.role===`assistant`&&!e.ephemeral);if(Ae(a?.suggestions??e.suggestions??[]),_e(`chat`),await z.markRead(t),i())return;ht(t)}catch(t){if(i())return;n.emit(`error`,t),e.onError?.(t)}},[z,y,v,n,e,u,ht,bt,St,xe,d,We]),cn=s(null),H=r(e=>{typeof e==`string`&&(M?V.fire(`manual`,e):cn.current=e)},[M,V]);i(()=>{!M||!cn.current||(V.fire(`manual`,cn.current),cn.current=null)},[M,V]);let ln=s({handleOpen:Xt,handleClose:Yt,handleExpand:en,handleFullscreen:tn,openForm:H});ln.current={handleOpen:Xt,handleClose:Yt,handleExpand:en,handleFullscreen:tn,openForm:H},a(()=>ct(t,{open:()=>ln.current.handleOpen(),close:()=>ln.current.handleClose(),expand:()=>ln.current.handleExpand(),fullscreen:()=>ln.current.handleFullscreen(),openForm:e=>ln.current.openForm(e)}),[t]);let U=o(()=>Ve(e,Ge,Ke,qe),[e,Ge,Ke,qe]);je.current=U.strings;let un=o(()=>S.map(e=>{let t=B.list.find(t=>t.id===e.formId);return{...e,title:t?.title,form:t}}),[S,B]),dn={options:U,transport:z,feedback:Ue,bus:n,persistence:u,composerApiRef:_t,view:ge,canSend:ve,isStreaming:xe,sendPreparing:Te,composerActive:U.mode===`page`||U.mode===`inline`||U.mode===`standalone`||F,controlMode:rt.value,assignedOperatorInitials:it.value,operatorAvailable:at.value,operatorRequestEnabled:e.features.operatorRequest,onRequestOperator:ut,onCancelOperatorRequest:dt,loadingMessages:b,messagesSig:y,agent:De,suggestions:ke,initialWidgetSize:h.widgetSize??null,visitorId:d,onClose:Yt,onClear:Zt,onExpand:en,onFullscreen:tn,onSoundToggle:nt,onToggleHistory:nn,onSelectHistoryConversation:sn,onNewConversation:Qt,onLocaleChange:$e,onThemeChange:et,onTextSizeChange:tt,onWidgetSizeChange:on,onSend:Kt,onStop:qt,onSuggestion:t=>{if(we.current)return;let r=t.text??t.label;$.info(`suggestion`,{text:r,autoSend:e.autoSendSuggestions}),n.emit(`suggestion`,{text:r}),e.autoSendSuggestions?Kt(r,[]):_t.current?.fill(r)},activeForm:It.value?.form??null,formMarkers:un,onFormSubmit:V.complete,onFormSkip:V.skip,onFormFill:e=>V.fire(`manual`,e),tool:Nt,onRetry:Jt,onMessageFeedback:Pt},fn=e=>{sn(e);let t=T();t&&k.switchTab(t)};if(!A)return null;let mn=U.modules.list,hn=e=>{let t=Di(`close`,U.mode,e);return mn.length===0?g(dc,{strings:U.strings,onClose:t?Yt:void 0}):mn.length===1&&mn[0]?.layout===`chat`?g(Zo,{...dn,panelSize:e}):g(lc,{panelProps:{...dn,panelSize:e,onClose:t?Yt:void 0},enabledModules:mn,nav:k,bus:n,hasUnread:pt.value,onSelectConversation:fn,onStartNewConversation:Qt,onSetPanelSize:me})};if(e.mode===`page`){let e=e=>{sn(e.conversationId)},t=mn.some(e=>e.layout===`chat`);return g(`div`,{class:`${qc}-anchor`,children:g(gs,{site:Ne,blocks:Fe,transport:z,strings:U.strings,locale:U.locale,persistence:u,visitorId:d,showConversations:t,onSelectConversation:e,onNewConversation:Qt,sidebarCollapsed:Le,onToggleSidebarCollapsed:an,children:hn(`fullscreen`)})})}if(re){let t=e.mode===`standalone`?`fullscreen`:pe;return g(`div`,{class:`${qc}-anchor`,children:hn(t)})}let gn=e.mode===`drawer`,yn=e.mode!==`modal`&&!e.launcher.hidden&&(!F||L),bn=yn&&!L&&!le&&!gn?U.launcher.callout:null;return _(`div`,{class:`${qc}-anchor`,"data-launcher-size":U.launcher.size,children:[F||I?g(`div`,{class:`${qc}-surface`,hidden:!F,children:hn(pe)}):null,yn?g(_i,{onToggle:Xt,launcher:U.launcher,strings:U.strings,leaving:L,edgeTab:gn}):null,bn?g(xi,{callout:bn,launcherPosition:U.position,strings:U.strings,closeLabel:U.strings.close,onDismiss:fe}):null]})}function Xc(e){let t=e?.url??(typeof location<`u`?location.href:void 0);if(!(!e&&!t))return{...e,...t?{url:t}:{}}}const Zc=120;async function Qc(e,t,n,r){return(await Promise.all(t.map(async t=>{try{let{id:r,url:i}=await e.uploadFile(t.file,n);return{id:r,name:t.name,mediaType:t.mediaType,size:t.size,url:i}}catch(e){r(e);return}}))).filter(e=>e!==void 0)}const $c=L.scope(`error-boundary`);var el=class extends e{constructor(...e){super(...e),B(this,`state`,{crashed:!1})}componentDidCatch(e,t){$c.error(`widget render crashed`,{error:e,componentStack:t?.componentStack}),this.setState({crashed:!0}),this.props.onError(e,t?.componentStack)}render(){return this.state.crashed?this.props.fallback:this.props.children}};const tl={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}),messageFeedback:e=>({value:e.value??`none`}),contentView:e=>({section:e.section,tags:e.tags,count:e.count}),contentOpen:e=>({contentId:e.contentId,tags:e.tags}),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 nl(){let e=navigator;return e.globalPrivacyControl===!0||e.doNotTrack===`1`}function rl(){return location.origin+location.pathname}function il(){try{return document.referrer?new URL(document.referrer).origin:``}catch{return``}}function al(e,t){let n=Math.random(),r=0,i=0,a=new Set,o=(e,o)=>{let{tracking:s,publicKey:c,aiAgentDeploymentId:l,mode:u,themeMode:d}=t.getOptions();if(!s.enabled||nl()||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`,x),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`,rl());let h=il();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(_);let v=()=>a.delete(_);_.addEventListener(`load`,v,{once:!0}),_.addEventListener(`error`,v,{once:!0}),_.src=g},s=Object.keys(tl).map(t=>e.on(t,e=>o(t,tl[t]?.(e))));return()=>{for(let e of s)e();a.clear()}}function ol(e){let{bus:r,host:i,appRoot:a,persistence:o,reportError:s}=e,c=e.initialRaw,l,u=De(c),d=!0,f=()=>{u=De(l?z(c,l):c)},p=()=>{vt(i,yt(u.mode));let e=o.loadUserPrefs().themeMode;Dt(i,e?{...u,themeMode:e}:u),d&&(Et(i,sl(u)),d=!1)},m=()=>{p(),n(t(el,{onError:s},t(Yc,{bus:r,hostElement:i,options:u})),a)};r.on(`handshake`,e=>{e.config&&(e.config.storageVersion&&o.rememberStorageVersion(e.config.storageVersion),l=e.config,f(),m())});let h=al(r,{getOptions:()=>u,getVisitorId:()=>o.getVisitorId(),getConversationId:()=>o.loadConversationId()});return{getOptions:()=>u,getUserOptions:()=>c,render:m,setUserOptions:e=>{c=e,f(),m()},patchUserOptions:e=>{c={...c,...e},f(),m()},destroy:()=>h()}}function sl(e){if(e.mode===`standalone`)return`standalone`;if(e.mode===`inline`)return`inline`;let t=ft(e.widgetId,e.storage,e.aiAgentDeploymentId),{panelOpen:n,panelSize:r}=Vt(e,Ht(),t.loadPanelOpen(),t.loadPanelSize());return zt(e.mode,r,n)}const cl=L.scope(`hooks`),ll=`*`,ul=new Set;function dl(e,t,n){let r={widgetId:e,event:t,listener:n};return ul.add(r),()=>{ul.delete(r)}}function fl(e,t,n){let r=[...ul];for(let i of r)if(ml(i.widgetId,e.widgetId)&&!(i.event!==`*`&&i.event!==t))try{i.listener(e,t,n)}catch(e){cl.warn(`hook listener threw`,{event:t,error:e})}}function pl(e,t){let n=[];for(let r of hl)n.push(t.on(r,t=>{fl(e,r,t)}));return()=>{for(let e of n)e()}}function ml(e,t){return e===`*`||e===t}const hl=`open.close.expand.fullscreen.resize.message.send.stop.clear.selectConversation.suggestion.toggleHistory.formSubmit.toolResult.toolDecision.messageFeedback.contentView.contentOpen.contentSearch.contentRead.contentLinkClick.attach.removeAttachment.voiceStart.voiceStop.voiceCancel.localeChange.themeChange.textSizeChange.soundToggle.sidebarToggle.calloutDismiss.error.handshake.visitorRebound.conversationRebound`.split(`.`),gl=new Map;function _l(e){e.debug!==void 0&&oe(e.debug);let t=L.scope(`mount`);t.info(`mount`,{widgetId:e.widgetId,publicKey:e.publicKey,mode:e.presentation?.mode});let r=De(e),i=r.widgetId,a=gl.get(i);a&&(t.debug(`destroy existing instance at slot`,{widgetId:i}),a.destroy());let o=sl(r),s=r.iframe?kt({position:yt(r.mode)},r.position,o,r.mode,e.target??null):bt({position:yt(r.mode),target:e.target??null});s.hostElement.dataset.widgetId=i;let c=new V,l=ft(i,r.storage,r.aiAgentDeploymentId),u=ol({bus:c,host:s.hostElement,appRoot:s.appRoot,persistence:l,initialRaw:e,reportError:e=>{c.emit(`error`,e),u.getOptions().onError?.(e)}});u.render();let d=s.hostElement,f=null,p=e=>{e.debug!==void 0&&oe(e.debug),u.patchUserOptions(e)},m={widgetId:i,open:()=>st(d,`open`),close:()=>st(d,`close`),expand:()=>st(d,`expand`),openForm:e=>st(d,`openForm`,e),on:(e,t)=>c.on(e,t),update:e=>{t.debug(`update`,{patch:e}),p(e)},setUserContext:e=>{t.debug(`setUserContext`,{keys:Object.keys(e)}),p({userContext:{...u.getUserOptions().userContext,...e}})},clearUserContext:()=>{t.debug(`clearUserContext`),p({userContext:void 0})},setPageContext:e=>{t.debug(`setPageContext`,{keys:Object.keys(e)}),p({pageContext:{...u.getUserOptions().pageContext,...e}})},clearPageContext:()=>{t.debug(`clearPageContext`),p({pageContext:void 0})},setDebug:e=>{oe(e),t.info(`debug level set`,{level:se()})},debugLevel:()=>se(),onLog:e=>R(e),destroy:()=>{t.info(`destroy`,{widgetId:i}),f?.(),u.destroy(),c.clear(),n(null,s.appRoot),s.destroy(),gl.get(i)===m&&gl.delete(i)}};return f=pl(m,c),gl.set(i,m),m}function vl(e){let t=e.widgetId??`default`,n=gl.get(t);return n?(n.update(e),n):_l(e)}function yl(e){if(e!==void 0){gl.get(e)?.destroy();return}let t=[...gl.values()];for(let e of t)e.destroy()}function bl(e=`default`){return gl.get(e)??null}function xl(){return[...gl.values()]}function Sl(e,t,n){return dl(e,t,n)}const Cl=x,wl=b;export{ll as HOOK_WILDCARD,wl as brand,yl as destroy,xl as getAllInstances,bl as getInstance,Sl as hook,vl as init,_l as mount,sl as resolveInitialHostMode,Cl as version};
13
13
  //# sourceMappingURL=index.mjs.map