@helpai/elements 1.12.2 → 1.12.3
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/configurator.mjs +1 -1
- package/elements-web-component.esm.js +10 -10
- package/elements-web-component.esm.js.map +3 -3
- package/elements.cjs.js +9 -9
- package/elements.cjs.js.map +3 -3
- package/elements.esm.js +9 -9
- package/elements.esm.js.map +3 -3
- package/elements.js +10 -10
- package/elements.js.map +3 -3
- package/index.d.ts +20 -0
- package/index.mjs +2 -2
- package/llms-full.txt +142 -142
- package/llms.txt +19 -19
- package/package.json +1 -1
- package/react.d.ts +20 -0
- package/react.mjs +2 -2
- package/schema.d.ts +8 -0
- package/schema.json +11 -0
- package/schema.mjs +1 -1
- package/web-component.d.ts +13 -0
- package/web-component.mjs +2 -2
package/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Component as e,h as t,render as n}from"preact";import{batch as r,computed as i,effect as a,signal as o,useComputed as s,useSignal as c}from"@preact/signals";import{useCallback as l,useEffect as u,useLayoutEffect as d,useMemo as f,useRef as p,useState as m}from"preact/hooks";import{Fragment as h,jsx as g,jsxs as _}from"preact/jsx-runtime";import*as v from"streaming-markdown";import{memo as y}from"preact/compat";function b(e,t){if(e?.length&&t)return e.find(e=>e.locale===t)}function x(e,t){let{translations:n,defaultLocale:r,...i}=e,a=b(n,t);return a?{...i,title:a.title??i.title,description:a.description??i.description,content:a.content??i.content}:i}function S(e,t){let{translations:n,defaultLocale:r,...i}=e,a=b(n,t);return a?{...i,title:a.title??i.title,description:a.description??i.description}:i}function C(e,t){let{translations:n,defaultLocale:r,...i}=e,a=b(n,t);if(!a)return i;let o=new Map((a.fields??[]).map(e=>[e.name,e])),s=i.fields.map(e=>{let t=o.get(e.name);if(!t)return e;let n=new Map((t.options??[]).map(e=>[e.value,e]));return{...e,label:t.label??e.label,placeholder:t.placeholder??e.placeholder,validationHint:t.validationHint??e.validationHint,options:e.options?.map(e=>{let t=n.get(e.value);return t?{...e,label:t.label??e.label,description:t.description??e.description}:e})}});return{...i,title:a.title??i.title,description:a.description??i.description,submitLabel:a.submitLabel??i.submitLabel,fields:s}}const w={attach:`Attach files`,attachmentMimeRejected:`File type not supported`,attachmentTooLarge:`File is too large`,attachmentTooMany:`Attachment limit reached`,conversationClosed:`This chat is closed`,conversationLoading:`Loading chat…`,loadPreviousMessages:`Load previous messages`,close:`Close`,collapse:`Collapse`,collapseSidebar:`Collapse sidebar`,composerPlaceholder:`Type a message…`,dateLastWeek:`Last 7 days`,dateOlder:`Older`,dateToday:`Today`,dateYesterday:`Yesterday`,dropZone:`Drop files to attach`,errorGeneric:`Something went wrong`,errorRateLimited:`Too many requests — please try again in a moment.`,errorRetry:`Retry`,expand:`Expand`,expandSidebar:`Expand sidebar`,exitFullscreen:`Exit fullscreen`,fullscreen:`Fullscreen`,history:`History`,historyBack:`Back to chat`,historyEmpty:`No previous chats yet`,historyLoading:`Loading your chats…`,historyContinue:`Continue the chat`,historyTitle:`Chat history`,loadMoreConversations:`Load more conversations`,language:`Language`,launcherOpen:`Open chat`,launcherLabel:`Chat with us`,micStart:`Start voice input`,micStop:`Stop voice input`,micUnsupported:`Voice input is not supported in this browser`,moreActions:`More actions`,newConversation:`New chat`,panelTitle:`Chat`,popOut:`Open in new tab`,resizeHandle:`Drag to resize`,scrollToBottom:`Scroll to latest`,send:`Send`,queueMessage:`Queue message`,removeQueuedMessage:`Remove queued message`,compactingContext:`Optimizing conversation context…`,soundOff:`Sound off`,soundOn:`Sound on`,startNewConversation:`Start a new chat`,talkToOperator:`Talk to a person`,connectingOperator:`Connecting you to a person…`,noOperatorAvailable:`No one's available right now — leave your details and we'll follow up.`,chattingWithOperator:`You're chatting with {operator}`,cancelOperatorRequest:`Keep chatting with the AI`,stop:`Stop`,theme:`Theme`,themeAuto:`Auto`,themeDark:`Dark`,themeLight:`Light`,textSize:`Text size`,textSizeSmall:`Small`,textSizeNormal:`Normal`,textSizeLarge:`Large`,loading:`Loading…`,visualPreparing:`Preparing visual…`,visualError:`This visual could not be displayed.`,visualPartial:`Some parts of this visual could not be displayed.`,thinking:`Thinking…`,thoughts:`Thoughts`,toolResult:`Result`,sources:`Sources`,feedbackUp:`Good response`,feedbackDown:`Bad response`,feedbackThanks:`Thanks for your feedback`,copy:`Copy`,copied:`Copied`,tabHome:`Home`,tabConversations:`Chats`,tabHelp:`Help`,tabNews:`News`,modulesEmpty:`Nothing here yet`,moduleBack:`Back`,contentLoading:`Loading…`,contentHelpful:`Was this helpful?`,homeGreeting:`How can we help?`,homeGreetingNamed:`Hi {name} 👋`,homeGreetingLead:`How can we help?`,homeSearchPlaceholder:`Search for help`,homeAskPlaceholder:`Ask a question…`,homeWhatsNew:`What's new`,homeContentTitle:`Popular articles`,homeStatus:`Status`,helpTitle:`Help`,helpSearchPlaceholder:`Search for help`,helpEmpty:`No help articles yet`,helpLoading:`Loading help…`,helpSearchEmpty:`No results for “{query}”`,helpShowMore:`Show more`,newsTitle:`News`,newsEmpty:`No news yet`,newsLoading:`Loading news…`,newsBack:`Back to news`,newsPublishedAt:`Published {date}`,newsShowMore:`Show more`,newsUnseen:`New post`,formSubmit:`Submit`,formSkip:`Maybe later`,formSubmitted:`Completed`,formSkipped:`Maybe later`,formFillOut:`Fill out`,formRequired:`This field is required`,formInvalidEmail:`Enter a valid email address`,formInvalidTel:`Enter a valid phone number`,formInvalidUrl:`Enter a valid URL`,formInvalidNumber:`Enter a valid number`,formTooShort:`Too short (min {min} characters)`,formTooLong:`Too long (max {max} characters)`,formNumberTooSmall:`Must be at least {min}`,formNumberTooLarge:`Must be at most {max}`,formPatternMismatch:`Please match the requested format`,formChooseAtLeast:`Choose at least {min}`,formChooseAtMost:`Choose at most {max}`,formOther:`Other`,formOtherPlaceholder:`Type your answer…`,inputRequired:`Questions for you`,inputBadge:`Questions`,inputAnswered:`Answered`,inputSkipped:`Skipped`,showOptions:`Show options`,hideOptions:`Hide options`,qtypeText:`Your answer`,qtypeEmail:`Email address`,qtypePhone:`Phone number`,qtypeNumber:`Number`,qtypeDate:`Date`,qtypeChooseOne:`Pick one`,qtypeChooseAny:`Pick any`,qtypeBoolean:`Yes / No`,inputSubmit:`Submit answers`,inputSubmitHint:`Enter to send · Shift+Enter = new line`,inputSkip:`Skip`,confirmYes:`Yes`,confirmNo:`No`,approve:`Approve`,reject:`Reject`,approvalPrompt:`{tool} requires your approval to execute.`,approvalBody:`Review the tool input above and decide whether to allow this action.`,approvalYourResponse:`Your response: {decision}`,approvalEditHint:`You can edit this response until this step continues.`,approvalSubmitting:`Response submitted. Request in progress…`,edit:`Edit`,toolParameters:`Parameters`,statusAwaiting:`Awaiting Approval`,statusResponded:`Submitted`,statusRunning:`Running`,statusCompleted:`Completed`,statusDenied:`Denied`,statusError:`Error`,statusSuperseded:`Skipped`,statusIncomplete:`Not completed`},T={en:w,fr:{attach:`Joindre des fichiers`,attachmentMimeRejected:`Type de fichier non pris en charge`,attachmentTooLarge:`Le fichier est trop volumineux`,attachmentTooMany:`Limite de pièces jointes atteinte`,conversationClosed:`Ce chat est fermé`,conversationLoading:`Chargement du chat…`,loadPreviousMessages:`Charger les messages précédents`,close:`Fermer`,collapse:`Réduire`,collapseSidebar:`Réduire la barre latérale`,composerPlaceholder:`Écrivez un message…`,dateLastWeek:`7 derniers jours`,dateOlder:`Plus ancien`,dateToday:`Aujourd'hui`,dateYesterday:`Hier`,dropZone:`Déposez les fichiers à joindre`,errorGeneric:`Une erreur s'est produite`,errorRateLimited:`Trop de requêtes — veuillez réessayer dans un instant.`,errorRetry:`Réessayer`,expand:`Agrandir`,expandSidebar:`Développer la barre latérale`,exitFullscreen:`Quitter le plein écran`,fullscreen:`Plein écran`,history:`Historique`,historyBack:`Retour au chat`,historyEmpty:`Aucun chat pour le moment`,historyContinue:`Poursuivre le chat`,historyLoading:`Chargement de vos chats…`,historyTitle:`Historique des chats`,loadMoreConversations:`Charger plus de conversations`,language:`Langue`,launcherOpen:`Ouvrir le chat`,launcherLabel:`Discuter avec nous`,micStart:`Démarrer la saisie vocale`,micStop:`Arrêter la saisie vocale`,micUnsupported:`La saisie vocale n'est pas prise en charge par ce navigateur`,moreActions:`Plus d'actions`,newConversation:`Nouveau chat`,panelTitle:`Chat`,popOut:`Ouvrir dans un nouvel onglet`,resizeHandle:`Glisser pour redimensionner`,scrollToBottom:`Aller au plus récent`,send:`Envoyer`,queueMessage:`Mettre le message en attente`,removeQueuedMessage:`Retirer le message en attente`,compactingContext:`Optimisation du contexte de la conversation…`,soundOff:`Son désactivé`,soundOn:`Son activé`,startNewConversation:`Démarrer un nouveau chat`,talkToOperator:`Parler à une personne`,connectingOperator:`Mise en relation avec une personne…`,noOperatorAvailable:`Personne n'est disponible pour le moment — laissez vos coordonnées et nous reviendrons vers vous.`,chattingWithOperator:`Vous discutez avec {operator}`,cancelOperatorRequest:`Continuer avec l'IA`,stop:`Arrêter`,theme:`Thème`,themeAuto:`Auto`,themeDark:`Sombre`,themeLight:`Clair`,textSize:`Taille du texte`,textSizeSmall:`Petite`,textSizeNormal:`Normale`,textSizeLarge:`Grande`,loading:`Chargement…`,visualPreparing:`Préparation du visuel…`,visualError:`Ce visuel n’a pas pu être affiché.`,visualPartial:`Certaines parties de ce visuel n’ont pas pu être affichées.`,thinking:`Réflexion…`,thoughts:`Réflexions`,toolResult:`Résultat`,sources:`Sources`,feedbackUp:`Bonne réponse`,feedbackDown:`Mauvaise réponse`,feedbackThanks:`Merci pour votre retour`,copy:`Copier`,copied:`Copié`,tabHome:`Accueil`,tabConversations:`Chats`,tabHelp:`Aide`,tabNews:`Actualités`,modulesEmpty:`Rien pour le moment`,moduleBack:`Retour`,contentLoading:`Chargement…`,contentHelpful:`Cela vous a-t-il aidé ?`,homeGreeting:`Comment pouvons-nous vous aider ?`,homeGreetingNamed:`Bonjour {name} 👋`,homeGreetingLead:`Comment pouvons-nous vous aider ?`,homeSearchPlaceholder:`Rechercher de l'aide`,homeAskPlaceholder:`Posez une question…`,homeWhatsNew:`Nouveautés`,homeContentTitle:`Articles populaires`,homeStatus:`Statut`,helpTitle:`Aide`,helpSearchPlaceholder:`Rechercher de l'aide`,helpEmpty:`Aucun article d'aide pour le moment`,helpLoading:`Chargement de l'aide…`,helpSearchEmpty:`Aucun résultat pour «\xA0{query}\xA0»`,helpShowMore:`Afficher plus`,newsTitle:`Actualités`,newsEmpty:`Aucune actualité pour le moment`,newsLoading:`Chargement des actualités…`,newsBack:`Retour aux actualités`,newsPublishedAt:`Publié le {date}`,newsShowMore:`Afficher plus`,newsUnseen:`Nouvelle publication`,formSubmit:`Envoyer`,formSkip:`Plus tard`,formSubmitted:`Terminé`,formSkipped:`Plus tard`,formFillOut:`Remplir`,formRequired:`Ce champ est obligatoire`,formInvalidEmail:`Saisissez une adresse e-mail valide`,formInvalidTel:`Saisissez un numéro de téléphone valide`,formInvalidUrl:`Saisissez une URL valide`,formInvalidNumber:`Saisissez un nombre valide`,formTooShort:`Trop court (min. {min} caractères)`,formTooLong:`Trop long (max. {max} caractères)`,formNumberTooSmall:`Doit être au moins {min}`,formNumberTooLarge:`Doit être au plus {max}`,formPatternMismatch:`Veuillez respecter le format demandé`,formChooseAtLeast:`Choisissez au moins {min}`,formChooseAtMost:`Choisissez au plus {max}`,formOther:`Autre`,formOtherPlaceholder:`Saisissez votre réponse…`,inputRequired:`Questions pour vous`,inputBadge:`Questions`,inputAnswered:`Répondu`,inputSkipped:`Ignoré`,showOptions:`Afficher les options`,hideOptions:`Masquer les options`,qtypeText:`Votre réponse`,qtypeEmail:`Adresse e-mail`,qtypePhone:`Numéro de téléphone`,qtypeNumber:`Nombre`,qtypeDate:`Date`,qtypeChooseOne:`Choisir une`,qtypeChooseAny:`Choisir plusieurs`,qtypeBoolean:`Oui / Non`,inputSubmit:`Envoyer les réponses`,inputSubmitHint:`Entrée pour envoyer · Maj+Entrée = saut de ligne`,inputSkip:`Ignorer`,confirmYes:`Oui`,confirmNo:`Non`,approve:`Approuver`,reject:`Refuser`,approvalPrompt:`{tool} nécessite votre approbation pour s'exécuter.`,approvalBody:`Vérifiez les paramètres ci-dessus et décidez d'autoriser ou non cette action.`,approvalYourResponse:`Votre réponse : {decision}`,approvalEditHint:`Vous pouvez modifier votre réponse jusqu'à la reprise de cette étape.`,approvalSubmitting:`Réponse envoyée. Traitement en cours…`,edit:`Modifier`,toolParameters:`Paramètres`,statusAwaiting:`En attente d'approbation`,statusResponded:`Envoyé`,statusRunning:`En cours`,statusCompleted:`Terminé`,statusDenied:`Refusé`,statusError:`Erreur`,statusSuperseded:`Ignoré`,statusIncomplete:`Non terminé`},ar:{attach:`إرفاق ملفات`,attachmentMimeRejected:`نوع الملف غير مدعوم`,attachmentTooLarge:`حجم الملف كبير جدًا`,attachmentTooMany:`تم بلوغ الحد الأقصى للمرفقات`,conversationClosed:`تم إغلاق هذه الدردشة`,conversationLoading:`جارٍ تحميل الدردشة…`,loadPreviousMessages:`تحميل الرسائل السابقة`,close:`إغلاق`,collapse:`طيّ`,collapseSidebar:`طيّ الشريط الجانبي`,composerPlaceholder:`اكتب رسالة…`,dateLastWeek:`آخر ٧ أيام`,dateOlder:`أقدم`,dateToday:`اليوم`,dateYesterday:`أمس`,dropZone:`أفلت الملفات لإرفاقها`,errorGeneric:`حدث خطأ ما`,errorRateLimited:`طلبات كثيرة جدًا — يرجى المحاولة بعد لحظة.`,errorRetry:`إعادة المحاولة`,expand:`توسيع`,expandSidebar:`توسيع الشريط الجانبي`,exitFullscreen:`إنهاء ملء الشاشة`,fullscreen:`ملء الشاشة`,history:`السجل`,historyBack:`العودة إلى الدردشة`,historyEmpty:`لا توجد دردشات سابقة بعد`,historyContinue:`متابعة الدردشة`,historyLoading:`جارٍ تحميل دردشاتك…`,historyTitle:`سجل الدردشات`,loadMoreConversations:`تحميل المزيد من المحادثات`,language:`اللغة`,launcherOpen:`فتح الدردشة`,launcherLabel:`تحدث معنا`,micStart:`بدء الإدخال الصوتي`,micStop:`إيقاف الإدخال الصوتي`,micUnsupported:`الإدخال الصوتي غير مدعوم في هذا المتصفح`,moreActions:`إجراءات إضافية`,newConversation:`دردشة جديدة`,panelTitle:`الدردشة`,popOut:`فتح في علامة تبويب جديدة`,resizeHandle:`اسحب لتغيير الحجم`,scrollToBottom:`الانتقال إلى الأحدث`,send:`إرسال`,queueMessage:`إضافة الرسالة إلى قائمة الانتظار`,removeQueuedMessage:`إزالة الرسالة من قائمة الانتظار`,compactingContext:`جارٍ تحسين سياق المحادثة…`,soundOff:`كتم الصوت`,soundOn:`تشغيل الصوت`,startNewConversation:`بدء دردشة جديدة`,talkToOperator:`التحدث إلى شخص`,connectingOperator:`جارٍ توصيلك بشخص…`,noOperatorAvailable:`لا يوجد موظفون متاحون الآن — اترك بياناتك وسنتواصل معك.`,chattingWithOperator:`أنت تتحدث مع {operator}`,cancelOperatorRequest:`متابعة المحادثة مع الذكاء الاصطناعي`,stop:`إيقاف`,theme:`المظهر`,themeAuto:`تلقائي`,themeDark:`داكن`,themeLight:`فاتح`,textSize:`حجم النص`,textSizeSmall:`صغير`,textSizeNormal:`عادي`,textSizeLarge:`كبير`,loading:`جارٍ التحميل…`,visualPreparing:`جارٍ إعداد المحتوى المرئي…`,visualError:`تعذر عرض هذا المحتوى المرئي.`,visualPartial:`تعذر عرض بعض أجزاء هذا المحتوى المرئي.`,thinking:`يفكّر…`,thoughts:`الأفكار`,toolResult:`النتيجة`,sources:`المصادر`,feedbackUp:`رد جيد`,feedbackDown:`رد سيئ`,feedbackThanks:`شكرًا على ملاحظاتك`,copy:`نسخ`,copied:`تم النسخ`,tabHome:`الرئيسية`,tabConversations:`الدردشات`,tabHelp:`المساعدة`,tabNews:`الأخبار`,modulesEmpty:`لا شيء هنا بعد`,moduleBack:`رجوع`,contentLoading:`جارٍ التحميل…`,contentHelpful:`هل كان هذا مفيدًا؟`,homeGreeting:`كيف يمكننا مساعدتك؟`,homeGreetingNamed:`مرحبًا {name} 👋`,homeGreetingLead:`كيف يمكننا مساعدتك؟`,homeSearchPlaceholder:`ابحث عن مساعدة`,homeAskPlaceholder:`اطرح سؤالاً…`,homeWhatsNew:`ما الجديد`,homeContentTitle:`مقالات شائعة`,homeStatus:`الحالة`,helpTitle:`المساعدة`,helpSearchPlaceholder:`ابحث عن مساعدة`,helpEmpty:`لا توجد مقالات مساعدة بعد`,helpLoading:`جارٍ تحميل المساعدة…`,helpSearchEmpty:`لا نتائج لـ «{query}»`,helpShowMore:`عرض المزيد`,newsTitle:`الأخبار`,newsEmpty:`لا توجد أخبار بعد`,newsLoading:`جارٍ تحميل الأخبار…`,newsBack:`العودة إلى الأخبار`,newsPublishedAt:`نُشر في {date}`,newsShowMore:`عرض المزيد`,newsUnseen:`منشور جديد`,formSubmit:`إرسال`,formSkip:`لاحقًا`,formSubmitted:`تم`,formSkipped:`لاحقًا`,formFillOut:`تعبئة`,formRequired:`هذا الحقل مطلوب`,formInvalidEmail:`أدخل بريدًا إلكترونيًا صحيحًا`,formInvalidTel:`أدخل رقم هاتف صحيحًا`,formInvalidUrl:`أدخل رابطًا صحيحًا`,formInvalidNumber:`أدخل رقمًا صحيحًا`,formTooShort:`قصير جدًا (الحد الأدنى {min} حرفًا)`,formTooLong:`طويل جدًا (الحد الأقصى {max} حرفًا)`,formNumberTooSmall:`يجب ألا يقل عن {min}`,formNumberTooLarge:`يجب ألا يزيد عن {max}`,formPatternMismatch:`يرجى مطابقة الصيغة المطلوبة`,formChooseAtLeast:`اختر {min} على الأقل`,formChooseAtMost:`اختر {max} على الأكثر`,formOther:`أخرى`,formOtherPlaceholder:`اكتب إجابتك…`,inputRequired:`أسئلة لك`,inputBadge:`أسئلة`,inputAnswered:`تمت الإجابة`,inputSkipped:`تم التخطي`,showOptions:`إظهار الخيارات`,hideOptions:`إخفاء الخيارات`,qtypeText:`إجابتك`,qtypeEmail:`عنوان البريد الإلكتروني`,qtypePhone:`رقم الهاتف`,qtypeNumber:`رقم`,qtypeDate:`تاريخ`,qtypeChooseOne:`اختر واحدًا`,qtypeChooseAny:`اختر أيًا`,qtypeBoolean:`نعم / لا`,inputSubmit:`إرسال الإجابات`,inputSubmitHint:`Enter للإرسال · Shift+Enter = سطر جديد`,inputSkip:`تخطٍّ`,confirmYes:`نعم`,confirmNo:`لا`,approve:`موافقة`,reject:`رفض`,approvalPrompt:`تتطلب {tool} موافقتك للتنفيذ.`,approvalBody:`راجع مُعطيات الأداة أعلاه وقرّر السماح بهذا الإجراء أو رفضه.`,approvalYourResponse:`ردّك: {decision}`,approvalEditHint:`يمكنك تعديل ردّك حتى تستأنف هذه الخطوة.`,approvalSubmitting:`تم إرسال الرد. جارٍ التنفيذ…`,edit:`تعديل`,toolParameters:`المعطيات`,statusAwaiting:`بانتظار الموافقة`,statusResponded:`تم الإرسال`,statusRunning:`قيد التنفيذ`,statusCompleted:`مكتمل`,statusDenied:`مرفوض`,statusError:`خطأ`,statusSuperseded:`تم التخطي`,statusIncomplete:`لم يكتمل`},es:{attach:`Adjuntar archivos`,attachmentMimeRejected:`Tipo de archivo no admitido`,attachmentTooLarge:`El archivo es demasiado grande`,attachmentTooMany:`Se alcanzó el límite de adjuntos`,conversationClosed:`Este chat está cerrado`,conversationLoading:`Cargando chat…`,loadPreviousMessages:`Cargar mensajes anteriores`,close:`Cerrar`,collapse:`Contraer`,collapseSidebar:`Contraer la barra lateral`,composerPlaceholder:`Escribe un mensaje…`,dateLastWeek:`Últimos 7 días`,dateOlder:`Anteriores`,dateToday:`Hoy`,dateYesterday:`Ayer`,dropZone:`Suelta los archivos para adjuntarlos`,errorGeneric:`Algo salió mal`,errorRateLimited:`Demasiadas solicitudes: inténtalo de nuevo en un momento.`,errorRetry:`Reintentar`,expand:`Ampliar`,expandSidebar:`Expandir la barra lateral`,exitFullscreen:`Salir de pantalla completa`,fullscreen:`Pantalla completa`,history:`Historial`,historyBack:`Volver al chat`,historyEmpty:`Aún no tienes chats`,historyContinue:`Continuar el chat`,historyLoading:`Cargando tus chats…`,historyTitle:`Historial de chats`,loadMoreConversations:`Cargar más conversaciones`,language:`Idioma`,launcherOpen:`Abrir el chat`,launcherLabel:`Chatea con nosotros`,micStart:`Iniciar entrada de voz`,micStop:`Detener entrada de voz`,micUnsupported:`Este navegador no admite la entrada de voz`,moreActions:`Más acciones`,newConversation:`Nuevo chat`,panelTitle:`Chat`,popOut:`Abrir en una pestaña nueva`,resizeHandle:`Arrastra para cambiar el tamaño`,scrollToBottom:`Ir a lo más reciente`,send:`Enviar`,queueMessage:`Poner mensaje en cola`,removeQueuedMessage:`Quitar mensaje de la cola`,compactingContext:`Optimizando el contexto de la conversación…`,soundOff:`Sonido desactivado`,soundOn:`Sonido activado`,startNewConversation:`Iniciar un chat nuevo`,talkToOperator:`Hablar con una persona`,connectingOperator:`Conectándote con una persona…`,noOperatorAvailable:`Nadie está disponible ahora — deja tus datos y te contactaremos.`,chattingWithOperator:`Estás chateando con {operator}`,cancelOperatorRequest:`Seguir con la IA`,stop:`Detener`,theme:`Tema`,themeAuto:`Automático`,themeDark:`Oscuro`,themeLight:`Claro`,textSize:`Tamaño del texto`,textSizeSmall:`Pequeño`,textSizeNormal:`Normal`,textSizeLarge:`Grande`,loading:`Cargando…`,visualPreparing:`Preparando visualización…`,visualError:`No se pudo mostrar esta visualización.`,visualPartial:`No se pudieron mostrar algunas partes de esta visualización.`,thinking:`Pensando…`,thoughts:`Razonamiento`,toolResult:`Resultado`,sources:`Fuentes`,feedbackUp:`Buena respuesta`,feedbackDown:`Mala respuesta`,feedbackThanks:`Gracias por tu opinión`,copy:`Copiar`,copied:`Copiado`,tabHome:`Inicio`,tabConversations:`Chats`,tabHelp:`Ayuda`,tabNews:`Novedades`,modulesEmpty:`Aún no hay nada aquí`,moduleBack:`Atrás`,contentLoading:`Cargando…`,contentHelpful:`¿Te resultó útil?`,homeGreeting:`¿Cómo podemos ayudarte?`,homeGreetingNamed:`Hola, {name} 👋`,homeGreetingLead:`¿Cómo podemos ayudarte?`,homeSearchPlaceholder:`Buscar ayuda`,homeAskPlaceholder:`Haz una pregunta…`,homeWhatsNew:`Lo nuevo`,homeContentTitle:`Artículos populares`,homeStatus:`Estado`,helpTitle:`Ayuda`,helpSearchPlaceholder:`Buscar ayuda`,helpEmpty:`Aún no hay artículos de ayuda`,helpLoading:`Cargando la ayuda…`,helpSearchEmpty:`Sin resultados para «{query}»`,helpShowMore:`Mostrar más`,newsTitle:`Novedades`,newsEmpty:`Aún no hay novedades`,newsLoading:`Cargando novedades…`,newsBack:`Volver a novedades`,newsPublishedAt:`Publicado el {date}`,newsShowMore:`Mostrar más`,newsUnseen:`Publicación nueva`,formSubmit:`Enviar`,formSkip:`Quizá más tarde`,formSubmitted:`Completado`,formSkipped:`Quizá más tarde`,formFillOut:`Completar`,formRequired:`Este campo es obligatorio`,formInvalidEmail:`Introduce un correo electrónico válido`,formInvalidTel:`Introduce un número de teléfono válido`,formInvalidUrl:`Introduce una URL válida`,formInvalidNumber:`Introduce un número válido`,formTooShort:`Demasiado corto (mín. {min} caracteres)`,formTooLong:`Demasiado largo (máx. {max} caracteres)`,formNumberTooSmall:`Debe ser al menos {min}`,formNumberTooLarge:`Debe ser como máximo {max}`,formPatternMismatch:`Respeta el formato solicitado`,formChooseAtLeast:`Elige al menos {min}`,formChooseAtMost:`Elige como máximo {max}`,formOther:`Otro`,formOtherPlaceholder:`Escribe tu respuesta…`,inputRequired:`Preguntas para ti`,inputBadge:`Preguntas`,inputAnswered:`Respondido`,inputSkipped:`Omitido`,showOptions:`Mostrar opciones`,hideOptions:`Ocultar opciones`,qtypeText:`Tu respuesta`,qtypeEmail:`Correo electrónico`,qtypePhone:`Número de teléfono`,qtypeNumber:`Número`,qtypeDate:`Fecha`,qtypeChooseOne:`Elige una`,qtypeChooseAny:`Elige varias`,qtypeBoolean:`Sí / No`,inputSubmit:`Enviar respuestas`,inputSubmitHint:`Enter para enviar · Mayús+Enter = nueva línea`,inputSkip:`Omitir`,confirmYes:`Sí`,confirmNo:`No`,approve:`Aprobar`,reject:`Rechazar`,approvalPrompt:`{tool} requiere tu aprobación para ejecutarse.`,approvalBody:`Revisa los parámetros de arriba y decide si permites esta acción.`,approvalYourResponse:`Tu respuesta: {decision}`,approvalEditHint:`Puedes cambiar tu respuesta hasta que este paso continúe.`,approvalSubmitting:`Respuesta enviada. Procesando…`,edit:`Editar`,toolParameters:`Parámetros`,statusAwaiting:`Esperando aprobación`,statusResponded:`Enviado`,statusRunning:`En curso`,statusCompleted:`Completado`,statusDenied:`Denegado`,statusError:`Error`,statusSuperseded:`Omitido`,statusIncomplete:`No completado`},he:{attach:`צירוף קבצים`,attachmentMimeRejected:`סוג הקובץ אינו נתמך`,attachmentTooLarge:`הקובץ גדול מדי`,attachmentTooMany:`הגעת למספר המרבי של קבצים מצורפים`,conversationClosed:`הצ׳אט הזה נסגר`,conversationLoading:`טוען צ׳אט…`,loadPreviousMessages:`טעינת הודעות קודמות`,close:`סגירה`,collapse:`כיווץ`,collapseSidebar:`כיווץ סרגל הצד`,composerPlaceholder:`כתוב הודעה…`,dateLastWeek:`7 הימים האחרונים`,dateOlder:`ישן יותר`,dateToday:`היום`,dateYesterday:`אתמול`,dropZone:`שחרר קבצים כדי לצרף`,errorGeneric:`משהו השתבש`,errorRateLimited:`יותר מדי בקשות — נסה שוב בעוד רגע.`,errorRetry:`נסה שוב`,expand:`הרחבה`,expandSidebar:`הרחבת סרגל הצד`,exitFullscreen:`יציאה ממסך מלא`,fullscreen:`מסך מלא`,history:`היסטוריה`,historyBack:`חזרה לצ׳אט`,historyEmpty:`אין עדיין צ׳אטים קודמים`,historyContinue:`המשך צ׳אט`,historyLoading:`טוען את הצ׳אטים שלך…`,historyTitle:`היסטוריית צ׳אטים`,loadMoreConversations:`טעינת שיחות נוספות`,language:`שפה`,launcherOpen:`פתיחת צ׳אט`,launcherLabel:`דברו איתנו`,micStart:`התחלת קלט קולי`,micStop:`עצירת קלט קולי`,micUnsupported:`קלט קולי אינו נתמך בדפדפן זה`,moreActions:`פעולות נוספות`,newConversation:`צ׳אט חדש`,panelTitle:`צ׳אט`,popOut:`פתיחה בכרטיסייה חדשה`,resizeHandle:`גרור לשינוי הגודל`,scrollToBottom:`מעבר לחדש ביותר`,send:`שליחה`,queueMessage:`הוספת ההודעה לתור`,removeQueuedMessage:`הסרת ההודעה מהתור`,compactingContext:`מבצע אופטימיזציה להקשר השיחה…`,soundOff:`השתקת הצליל`,soundOn:`הפעלת הצליל`,startNewConversation:`התחלת צ׳אט חדש`,talkToOperator:`דברו עם אדם`,connectingOperator:`מחברים אותך לאדם…`,noOperatorAvailable:`אין נציגים זמינים כעת — השאר את הפרטים שלך ונחזור אליך.`,chattingWithOperator:`אתה מצ׳וטט עם {operator}`,cancelOperatorRequest:`המשך לשוחח עם ה-AI`,stop:`עצירה`,theme:`ערכת נושא`,themeAuto:`אוטומטי`,themeDark:`כהה`,themeLight:`בהיר`,textSize:`גודל טקסט`,textSizeSmall:`קטן`,textSizeNormal:`רגיל`,textSizeLarge:`גדול`,loading:`טוען…`,visualPreparing:`מכין תצוגה…`,visualError:`לא ניתן היה להציג תצוגה זו.`,visualPartial:`לא ניתן היה להציג חלקים מתצוגה זו.`,thinking:`חושב…`,thoughts:`מחשבות`,toolResult:`תוצאה`,sources:`מקורות`,feedbackUp:`תשובה טובה`,feedbackDown:`תשובה גרועה`,feedbackThanks:`תודה על המשוב`,copy:`העתק`,copied:`הועתק`,tabHome:`בית`,tabConversations:`צ׳אטים`,tabHelp:`עזרה`,tabNews:`חדשות`,modulesEmpty:`אין כאן עדיין כלום`,moduleBack:`חזרה`,contentLoading:`טוען…`,contentHelpful:`האם זה עזר?`,homeGreeting:`כיצד נוכל לעזור?`,homeGreetingNamed:`שלום {name} 👋`,homeGreetingLead:`כיצד נוכל לעזור?`,homeSearchPlaceholder:`חיפוש עזרה`,homeAskPlaceholder:`שאלו שאלה…`,homeWhatsNew:`מה חדש`,homeContentTitle:`מאמרים פופולריים`,homeStatus:`סטטוס`,helpTitle:`עזרה`,helpSearchPlaceholder:`חיפוש עזרה`,helpEmpty:`אין עדיין מאמרי עזרה`,helpLoading:`טוען עזרה…`,helpSearchEmpty:`אין תוצאות עבור „{query}”`,helpShowMore:`הצגת עוד`,newsTitle:`חדשות`,newsEmpty:`אין עדיין חדשות`,newsLoading:`טוען חדשות…`,newsBack:`חזרה לחדשות`,newsPublishedAt:`פורסם ב-{date}`,newsShowMore:`הצגת עוד`,newsUnseen:`פוסט חדש`,formSubmit:`שליחה`,formSkip:`אחר כך`,formSubmitted:`נשלח`,formSkipped:`דולג`,formFillOut:`מילוי`,formRequired:`שדה חובה`,formInvalidEmail:`הזן כתובת אימייל תקינה`,formInvalidTel:`הזן מספר טלפון תקין`,formInvalidUrl:`הזן כתובת URL תקינה`,formInvalidNumber:`הזן מספר תקין`,formTooShort:`קצר מדי (לפחות {min} תווים)`,formTooLong:`ארוך מדי (לכל היותר {max} תווים)`,formNumberTooSmall:`חייב להיות לפחות {min}`,formNumberTooLarge:`חייב להיות לכל היותר {max}`,formPatternMismatch:`התאם לתבנית הנדרשת`,formChooseAtLeast:`בחר לפחות {min}`,formChooseAtMost:`בחר לכל היותר {max}`,formOther:`אחר`,formOtherPlaceholder:`כתוב את תשובתך…`,inputRequired:`שאלות עבורך`,inputBadge:`שאלות`,inputAnswered:`נענה`,inputSkipped:`דולג`,showOptions:`הצג אפשרויות`,hideOptions:`הסתר אפשרויות`,qtypeText:`התשובה שלך`,qtypeEmail:`כתובת אימייל`,qtypePhone:`מספר טלפון`,qtypeNumber:`מספר`,qtypeDate:`תאריך`,qtypeChooseOne:`בחר אחת`,qtypeChooseAny:`בחר כמה`,qtypeBoolean:`כן / לא`,inputSubmit:`שליחת תשובות`,inputSubmitHint:`Enter לשליחה · Shift+Enter = שורה חדשה`,inputSkip:`דילוג`,confirmYes:`כן`,confirmNo:`לא`,approve:`אישור`,reject:`דחייה`,approvalPrompt:`הכלי {tool} דורש את אישורך כדי לפעול.`,approvalBody:`בדוק את פרמטרי הכלי שלמעלה והחלט אם לאשר פעולה זו.`,approvalYourResponse:`התגובה שלך: {decision}`,approvalEditHint:`ניתן לערוך את תגובתך עד שהשלב הזה יתחדש.`,approvalSubmitting:`התגובה נשלחה. מבצע…`,edit:`עריכה`,toolParameters:`פרמטרים`,statusAwaiting:`ממתין לאישור`,statusResponded:`נשלח`,statusRunning:`פועל`,statusCompleted:`הושלם`,statusDenied:`נדחה`,statusError:`שגיאה`,statusSuperseded:`דולג`,statusIncomplete:`לא הושלם`}};function E(e,t){let n=D(e),r=j(t),i=n===`en`?{}:T[n]??{},a=r?t[n]??{}:t??{},o=r?t.en??{}:{};return{...w,...i,...o,...a}}function D(e){return(e.split(`-`)[0]??`en`).toLowerCase()}const O=/* @__PURE__ */ new Set([`ar`,`he`,`iw`,`fa`,`ur`,`ps`,`sd`,`ug`,`yi`,`dv`,`ckb`,`ks`,`nqo`,`prs`,`syr`]);function k(e){return O.has(D(e))}function A(e,t){return e[t]??t}function j(e){if(!e)return!1;for(let t of Object.values(e))if(t&&typeof t==`object`)return!0;return!1}const M={id:`help-ai`,name:`@helpai/elements`,global:`HelpAI`,tagName:`web-ai-chat`,cssPrefix:`helpai`,defaultBaseUrl:`https://help.ai`,displayName:`Help AI`,domain:`help.ai`,siteUrl:`https://help.ai`},ee=new class{get(e){try{return localStorage.getItem(e)}catch{return null}}set(e,t){try{localStorage.setItem(e,t)}catch{}}remove(e){try{localStorage.removeItem(e)}catch{}}},te={maxBytes:10485760,maxCount:10,accept:`*/*`},N={voice:`local`},ne={list:[],byTrigger:{}},re={enabled:!0,sampleRate:1},P={upload:`/pai/upload-file`,transcribe:`/pai/transcribe-audio`,submitForm:`/pai/submit-form`},ie={variant:`circle`,size:`md`,label:void 0,icon:`chat`,hidden:!1},ae={floating:[`theme`,`textSize`,`history`,`close`,`clear`,`expand`,`fullscreen`,`popOut`,`sound`,`language`],inline:[`theme`,`textSize`,`history`,`close`,`clear`,`fullscreen`,`popOut`,`sound`,`language`],standalone:[`theme`,`textSize`,`history`,`clear`,`sound`,`language`],page:[`theme`,`textSize`,`history`,`clear`,`sound`,`language`],modal:[`theme`,`textSize`,`history`,`close`,`clear`,`fullscreen`,`popOut`,`sound`,`language`],drawer:[`theme`,`textSize`,`history`,`close`,`clear`,`fullscreen`,`popOut`,`sound`,`language`]},oe={enabled:!0,volume:.3,events:void 0},F={enabled:!0,events:void 0},se=[{label:`tabConversations`,layout:`chat`}],ce=[`off`,`error`,`warn`,`info`,`debug`,`trace`],le=M.cssPrefix,I=`${le}.debug`,ue=`__${M.global}_DEBUG__`,de=`${le}-debug`;let fe=2,pe=null;function me(){if(typeof window>`u`)return 2;try{let e=new URLSearchParams(window.location.search).get(de);if(e!==null){let t=he(e);if(t>=0)return t}}catch{}try{let e=window.localStorage?.getItem(I);if(e){let t=he(e);if(t>=0)return t}}catch{}return Reflect.get(window,ue)?4:2}function he(e){if(e===!0||e===`1`||e===`true`)return 4;if(e===!1||e===`0`||e===`false`||e===`off`)return 0;if(typeof e==`number`)return Math.max(0,Math.min(5,Math.floor(e)));if(typeof e==`string`){let t=ce.findIndex(t=>t===e);if(t>=0)return t}return-1}function L(e){let t=he(e);if(!(t<0)){fe=t;try{window.localStorage?.setItem(I,ce[t]??`off`)}catch{}}}function ge(){return ce[fe]??`warn`}fe=me();function _e(e){let t=`[${le}:${e}]`;function n(n,r,i){return(a,o)=>{if(!(fe<n)&&(o===void 0?console[r](t,a):console[r](t,a,o),pe))try{pe({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=>_e(`${e}:${t}`)}}const R=_e(`core`);function ve(e){pe=e}const ye=R.scope(`context`),be=/* @__PURE__ */ new Set([`visitorId`,`conversationId`,`jwt`,`token`,`authorization`,`password`]),xe=1024,Se=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function Ce(e){return Te(e,`userContext`,!0)}function we(e){return Te(e,`pageContext`,!1)}function Te(e,t,n){if(e==null)return;if(typeof e!=`object`||Array.isArray(e)){ye.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(be.has(n)){ye.warn(`dropped reserved ${t} key "${n}" — managed by the widget, not host-settable`);continue}if(a==null)continue;if(i>=50){ye.warn(`${t} truncated at 50 keys — dropped "${n}"`);continue}let e=Ee(t,n,a);e!==void 0&&(r[n]=e,i++)}return n&&typeof r.email==`string`&&!Se.test(r.email)&&(ye.warn(`dropped malformed context field`,{field:`${t}.email`,reason:`invalid format`}),delete r.email),Object.keys(r).length>0?r:void 0}function Ee(e,t,n){if(typeof n==`boolean`)return n;if(typeof n==`number`){if(!Number.isFinite(n)){ye.warn(`dropped non-finite ${e}.${t}`);return}return n}if(typeof n==`string`){let r=n.trim();return r===``?void 0:r.length>xe?(ye.warn(`truncated ${e}.${t} to ${xe} chars`),r.slice(0,xe)):r}ye.warn(`dropped ${e}.${t} — only string/number/boolean values are allowed`,{type:typeof n})}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??M.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:Ce(t.userContext),pageContext:we(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,popOutUrl:r.popOutUrl,features:{voice:t.features?.voice??N.voice,fileUpload:!(t.features?.disableFileUpload??!1),humanInLoop:!(t.features?.disableHumanInLoop??!1),operatorRequest:t.features?.enableOperatorRequest===!0},forms:Re(t.forms,p),endpoints:{upload:t.endpoints?.upload??P.upload,transcribe:t.endpoints?.transcribe??P.transcribe,submitForm:t.endpoints?.submitForm??P.submitForm},attachments:{accept:t.composer?.attachments?.accept??te.accept,maxBytes:t.composer?.attachments?.maxBytes??te.maxBytes,maxCount:t.composer?.attachments?.maxCount??te.maxCount},locale: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:E(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??ee,userToken:t.userToken,tools:t.tools,onMessage:t.onMessage,onOpen:t.onOpen,onClose:t.onClose,onError:t.onError}}function Oe(e){if(typeof e==`string`)return{themeMode:e,themeOverrides:{}};if(!e||typeof e!=`object`)return{themeMode:`auto`,themeOverrides:{}};let{mode:t,...n}=e;return{themeMode:t??`auto`,themeOverrides:n}}function ke(e){return e&&e!==`auto`?e:globalThis.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??ae[e]}function Me(e){return{enabled:e?.enabled??oe.enabled,volume:e?.volume??oe.volume,events:e?.events}}function Ne(e){return{enabled:e?.enabled??F.enabled,events:e?.events}}function Pe(e,t){let n=e?.sampleRate??re.sampleRate;return{enabled:e?.enabled??re.enabled,endpoint:e?.endpoint??`${t}/pai/elements-px.gif`,sampleRate:Math.min(1,Math.max(0,Number.isFinite(n)?n:1)),token:e?.token}}function Fe(e){let t={text:`Powered by ${M.displayName}`,href:M.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??se,n=/* @__PURE__ */ new Set,r=[];for(let e of t.slice(0,4)){if(!e?.label||!e?.layout)continue;let t=e.contentCollectionIds?.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?.length&&(a.contentCollectionIds=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?.length&&(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 ne;let n=[],r=/* @__PURE__ */ new Set;for(let i of e){if(!i?.id||r.has(i.id))continue;let e=C(i,t),a=(e.fields??[]).filter(e=>!!(e?.name&&e.label&&e.type)),o=(Array.isArray(e.on)?e.on:[e.on]).map(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??ie.variant,size:e?.size??ie.size,label:e?.label??ie.label,icon:e?.icon??ie.icon,hidden:e?.hidden??ie.hidden,callout:t}}function 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=E(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 Ue(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];r===`theme`?a===void 0?n[r]=i:typeof a==`string`&&typeof i==`object`&&i&&(n[r]={...i,mode:a}):r!==`i18n`&&(n[r]=We(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=We(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=Ge(a,t)),n.i18n=e}return n}function We(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 Ge(e,t){if(!e)return t;if(!t)return e;let n=j(e),r=j(t);if(!n&&!r)return{...e,...t};let i={},a=n?e:{en:e},o=r?t:{en:t};for(let[e,t]of Object.entries(a))i[e]={...t};for(let[e,t]of Object.entries(o))i[e]={...i[e],...t};return i}const Ke=[`clear`,`expand`,`fullscreen`,`popOut`,`sound`,`history`,`language`,`theme`,`textSize`,`close`];function qe(e){return e!==`false`}const Je=[[`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]],Ye=[[`mode`,`mode`,e=>e],[`position`,`position`,e=>e],[`iframe`,`iframe`,qe]],Xe=[[`width`,`width`],[`height`,`height`]],Ze=[[`response-mode`,`responseMode`,e=>e],[`start-minimized`,`startMinimized`,qe],[`show-reasoning`,`showReasoning`,qe],[`show-tool-calls`,`showToolCalls`,qe],[`show-sources`,`showSources`,qe],[`disable-message-feedback`,`disableMessageFeedback`,qe],[`auto-send-suggestions`,`autoSendSuggestions`,qe],[`pop-out-url`,`popOutUrl`]],Qe=[[`locale`,`locale`]];new Set(Ke);const z=[[`launcher-variant`,`variant`,e=>e],[`launcher-size`,`size`,e=>e],[`launcher-icon`,`icon`],[`launcher-hidden`,`hidden`,qe]],$e=[[`features-disable-file-upload`,`disableFileUpload`,qe],[`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=[Je,Ye,Xe,Ze,Qe,z,$e,et,tt,nt],at=/* @__PURE__ */ new Set([`iframe`,`start-minimized`]);[...it.flatMap(e=>e.map(([e])=>e).filter(e=>!at.has(e))),...rt];const ot=R.scope(`track`);function st(e,t){let n=typeof e==`string`?e.trim():``;if(!n||n.length>64){ot.warn(`track: ignored an event without a name of 1–64 characters`,{name:e});return}let r=Object.fromEntries(Object.entries(typeof t==`object`&&t?t:{}).filter(e=>typeof e[1]==`string`||typeof e[1]==`boolean`||Number.isFinite(e[1])));return JSON.stringify(r).length>256?(ot.warn(`track: sent the event without its data, which is over 256 characters`,{name:n}),{name:n}):Object.keys(r).length>0?{name:n,data:r}:{name:n}}function ct(e){let t=[];return e.on(`hostEvent`,e=>{t.push({...e,at:Date.now()}),t.length>10&&t.shift()}),t}function lt(){let e=Date.now(),t=/* @__PURE__ */ new Uint8Array(16);t[0]=Math.floor(e/2**40)&255,t[1]=Math.floor(e/2**32)&255,t[2]=e>>>24&255,t[3]=e>>>16&255,t[4]=e>>>8&255,t[5]=e&255,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);else for(let t=0;t<e.length;t++)e[t]=Math.floor(Math.random()*256)}const dt=R.scope(`persistence`);function ft(e,t=ee,n){let r=n?`${e}.${n}`:e,i=`${M.cssPrefix}.storageVersion`,a=t.get(i)??void 0,o=a?`.v${a}`:``,s=`${M.cssPrefix}.${r}${o}`,c=`${M.cssPrefix}${o}.visitorId`,l=`${s}.conversationId`,u=`${s}.userPrefs`,d=`${s}.panelOpen`,f=`${s}.panelSize`,p=`${s}.calloutDismissed`,m=`${s}.sidebarCollapsed`,h=`${s}.activeModule`,g=`${s}.seenNewsId`,_=`${s}.historyCount`,v=`${s}.formsDone`,y={getVisitorId(){let e=t.get(c);if(e)return e;let n=lt();return t.set(c,n),n},loadConversationId(){return t.get(l)??void 0},saveConversationId(e){dt.trace(`saveConversationId`,{id:e,scope:r}),e?t.set(l,e):t.remove(l)},loadDraft(e){return t.get(`${s}.draft.${e}`)??``},saveDraft(e,n){let r=`${s}.draft.${e}`;n?t.set(r,n):t.remove(r)},loadMessageQueue(e){let n=t.get(`${s}.messageQueue.${e}`);if(!n)return[];try{let e=JSON.parse(n);return!Array.isArray(e)||!e.every(mt)?[]:e}catch(e){return dt.warn(`loadMessageQueue parse failed`,{error:e}),[]}},saveMessageQueue(e,n){let r=`${s}.messageQueue.${e}`;if(n.length===0)t.remove(r);else try{t.set(r,JSON.stringify(n))}catch(e){dt.warn(`saveMessageQueue serialise failed`,{error:e})}},loadUserPrefs(){let e=t.get(u);if(!e)return{};try{return ht(JSON.parse(e))}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=y.loadUserPrefs();y.saveUserPrefs({...t,...e})},loadPanelOpen(){let e=t.get(d);return e===`1`||e!==`0`&&null},savePanelOpen(e){t.set(d,e?`1`:`0`)},loadPanelSize(){let e=t.get(f);return e===`normal`||e===`expanded`||e===`fullscreen`?e:null},savePanelSize(e){t.set(f,e)},loadCalloutDismissed(e){if(!e)return!1;let n=t.get(p);return!!n&&n===e},saveCalloutDismissed(e){e?t.set(p,e):t.remove(p)},loadSidebarCollapsed(){let e=t.get(m);return e===`1`||e!==`0`&&null},saveSidebarCollapsed(e){t.set(m,e?`1`:`0`)},loadActiveModule(){return t.get(h)||null},saveActiveModule(e){t.set(h,e)},loadSeenNewsId(){return t.get(g)||null},saveSeenNewsId(e){t.set(g,e)},loadHistoryCount(){let e=t.get(_);if(!e)return null;let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=0?n:null},saveHistoryCount(e){t.set(_,String(e))},loadFormsDone(){let e=t.get(v);if(!e)return{};try{let t=JSON.parse(e);return pt(t)?Object.fromEntries(Object.entries(t).filter(e=>typeof e[1]==`number`)):{}}catch(e){return dt.warn(`loadFormsDone parse failed`,{error:e}),{}}},saveFormDone(e){try{let n=y.loadFormsDone();n[e]=Date.now(),t.set(v,JSON.stringify(n))}catch(e){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)},reset(){let e=t.get(l);e&&(t.remove(`${s}.draft.${e}`),t.remove(`${s}.messageQueue.${e}`));for(let e of[c,l,u,d,f,p,m,h,g,_,v])t.remove(e);dt.info(`reset: forgot the visitor`,{scope:r})}};return y}function pt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function mt(e){return pt(e)&&typeof e.id==`string`&&e.id.length>0&&typeof e.text==`string`}function ht(e){if(!pt(e))return{};let t={};return typeof e.locale==`string`&&(t.locale=e.locale),typeof e.soundMuted==`boolean`&&(t.soundMuted=e.soundMuted),(e.themeMode===`auto`||e.themeMode===`light`||e.themeMode===`dark`)&&(t.themeMode=e.themeMode),(e.textSize===`small`||e.textSize===`normal`||e.textSize===`large`)&&(t.textSize=e.textSize),pt(e.widgetSize)&&typeof e.widgetSize.width==`number`&&typeof e.widgetSize.height==`number`&&(t.widgetSize={width:e.widgetSize.width,height:e.widgetSize.height}),t}const gt=`1.12.2`,_t={open:()=>void 0,close:()=>void 0,expand:e=>({on:e}),fullscreen:e=>({on:e}),send:e=>({attachments:e.attachmentCount}),message:e=>({role:e.role}),stop:()=>void 0,clear:()=>void 0,suggestion:()=>void 0,toggleHistory:e=>({view:e.view}),handshake:()=>void 0,formSubmit:e=>({formId:e.formId,skipped:e.skipped}),toolResult:()=>void 0,toolDecision:e=>({approved:e.approved}),hostEvent:e=>({name:e.name,data:e.data&&JSON.stringify(e.data)}),messageFeedback:e=>({value:e.value??`none`}),contentView:e=>({section:e.section,count:e.count}),contentOpen:e=>({contentId:e.contentId,contentCollectionId:e.contentCollectionId}),contentSearch:e=>({qlen:e.queryLength,hits:e.hitCount}),contentRead:e=>({contentId:e.contentId}),contentLinkClick:e=>({contentId:e.contentId}),attach:e=>({count:e.count,bytes:e.totalBytes}),voiceStart:()=>void 0,voiceStop:e=>({ms:e.durationMs}),voiceCancel:()=>void 0,localeChange:e=>({locale:e}),themeChange:e=>({theme:e}),textSizeChange:e=>({size:e}),soundToggle:e=>({muted:e.muted}),sidebarToggle:e=>({collapsed:e.collapsed}),calloutDismiss:()=>void 0,error:()=>void 0};function vt(){let e=navigator;return e.globalPrivacyControl===!0||e.doNotTrack===`1`}function yt(){return location.origin+location.pathname}function bt(){try{return document.referrer?new URL(document.referrer).origin:``}catch{return``}}function xt(e,t){let n=Math.random(),r=0,i=0,a=/* @__PURE__ */ new Set;function o(e,o){let{tracking:s,publicKey:c,aiAgentDeploymentId:l,mode:u,themeMode:d}=t.getOptions();if(!s.enabled||vt()||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`,gt),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`,yt());let h=bt();h&&p.set(`ref`,h),p.set(`sw`,String(screen.width)),p.set(`sh`,String(screen.height)),p.set(`vw`,String(innerWidth)),p.set(`vh`,String(innerHeight)),p.set(`dpr`,String(devicePixelRatio)),p.set(`lang`,navigator.language);try{p.set(`tz`,Intl.DateTimeFormat().resolvedOptions().timeZone)}catch{}if(p.set(`m`,u),p.set(`th`,d),o)for(let[e,t]of Object.entries(o))t!==void 0&&p.set(e,String(t));p.set(`ts`,String(Date.now()));let g=`${s.endpoint}?${p}`;if(g.length>2e3)return;let _=new Image(1,1);a.add(_);function v(){return a.delete(_)}_.addEventListener(`load`,v,{once:!0}),_.addEventListener(`error`,v,{once:!0}),_.src=g}let s=[];function c(e,t){if(s&&e!==`handshake`){s.length<60&&s.push([e,t]);return}let n=s??[];s=void 0;for(let[e,t]of n)o(e,t);o(e,t)}let l=Object.keys(_t).map(t=>e.on(t,e=>c(t,_t[t]?.(e))));return()=>{for(let e of l)e();a.clear()}}const St=`:host{--__P__-accent-user: __BRAND_ACCENT__;--__P__-accent: var(--__P__-accent-user);--__P__-accent-text-user: __BRAND_ACCENT_TEXT__;--__P__-accent-text: var(--__P__-accent-text-user);--__P__-accent-fg: var(--__P__-accent);--__P__-radius: __BRAND_RADIUS__;--__P__-radius-sm: 8px;--__P__-radius-md: 10px;--__P__-radius-lg: 16px;--__P__-font: __BRAND_FONT__;--__P__-font-display: var(--__P__-font);--__P__-font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--__P__-bg: oklch(1 0 0);--__P__-bg-elevated: oklch(.9789 .0029 278.3);--__P__-surface: var(--__P__-bg-elevated);--__P__-muted: var(--__P__-fg-muted);--__P__-hover: oklch(.1686 .011 278.3 / .06);--__P__-fg: oklch(.1686 .011 278.3);--__P__-fg-muted: oklch(.4932 .0301 278.3);--__P__-border: oklch(.9312 .0084 278.3);--__P__-border-strong: oklch(.8757 .0131 278.3);--__P__-bubble-user: var(--__P__-accent);--__P__-bubble-user-text: var(--__P__-accent-text);--__P__-bubble-assistant: oklch(.9638 .0058 278.3);--__P__-bubble-assistant-text: var(--__P__-fg);--__P__-on-accent: var(--__P__-accent-text);--__P__-success: oklch(.6456 .1654 151.53);--__P__-warning: oklch(.7135 .1494 74.05);--__P__-danger: oklch(.5966 .1818 24.51);--__P__-danger-text: oklch(.5054 .1905 27.52);--__P__-danger-bg: oklch(.5966 .1818 24.51 / .1);--__P__-neutral: oklch(.7137 .0192 278.3);--__P__-pill-l-min: .3;--__P__-pill-l-max: .46;--__P__-focus: var(--__P__-accent);--__P__-shadow-panel: 0 8px 24px -8px rgba(13, 15, 20, .18), 0 24px 64px -24px rgba(13, 15, 20, .24);--__P__-shadow-card: 0 1px 2px rgba(13, 15, 20, .06), 0 4px 12px -6px rgba(13, 15, 20, .12);--__P__-backdrop: oklch(.1686 .011 278.3 / .55);--__P__-shadow-fab: 0 6px 16px -4px color-mix(in oklch, var(--__P__-accent) 45%, transparent), 0 12px 32px -12px rgba(13, 15, 20, .25);--__P__-z-fab: 2147483600;--__P__-z-panel: 2147483601;--__P__-panel-w: 380px;--__P__-panel-h: 600px;--__P__-fab-size: 56px;--__P__-conversation-max: 768px;--__P__-space-1: 4px;--__P__-space-2: 8px;--__P__-space-3: 12px;--__P__-space-4: 16px;--__P__-space-5: 20px;--__P__-space-6: 24px;--__P__-space-8: 32px;--__P__-text-scale: 1;--__P__-text-xs: calc(12px * var(--__P__-text-scale));--__P__-text-sm: calc(13px * var(--__P__-text-scale));--__P__-text-base: calc(15px * var(--__P__-text-scale));--__P__-text-md: calc(16px * var(--__P__-text-scale));--__P__-text-lg: calc(18px * var(--__P__-text-scale));--__P__-text-xl: calc(22px * var(--__P__-text-scale));--__P__-text-2xl: calc(30px * var(--__P__-text-scale))}:host([data-mode="modal"]),:host([data-mode="drawer"]){--__P__-conversation-max: 100%}:host([data-text-size="small"]){--__P__-text-scale: .9}:host([data-text-size="large"]){--__P__-text-scale: 1.15}:host{--__P__-ease: cubic-bezier(.2, .7, .2, 1);--__P__-ease-out: cubic-bezier(.2, .7, .2, 1);--__P__-ease-in: cubic-bezier(.4, 0, 1, 1);--__P__-ease-in-out: cubic-bezier(.65, 0, .35, 1);--__P__-dur-quick: .12s;--__P__-dur-base: .22s;--__P__-dur-slow: .32s;font-family:var(--__P__-font);color:var(--__P__-fg);color-scheme:light;--__P__-color-scheme: light}:host([data-theme="dark"]){--__P__-bg: oklch(.1783 .0128 278.3);--__P__-bg-elevated: oklch(.2232 .0182 278.3);--__P__-fg: oklch(.9368 .01 278.3);--__P__-fg-muted: oklch(.7048 .0296 278.3);--__P__-border: oklch(.2752 .0266 278.3);--__P__-border-strong: oklch(.335 .0291 278.3);--__P__-hover: oklch(.9368 .01 278.3 / .08);--__P__-bubble-assistant: oklch(.2474 .0311 278.3);--__P__-bubble-assistant-text: var(--__P__-fg);--__P__-danger-text: oklch(.8077 .1035 19.57);--__P__-danger-bg: oklch(.5966 .1818 24.51 / .18);--__P__-shadow-panel: 0 8px 24px -8px rgba(0, 0, 0, .6), 0 24px 64px -24px rgba(0, 0, 0, .7);--__P__-shadow-card: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 12px -6px rgba(0, 0, 0, .5);--__P__-backdrop: rgba(0, 0, 0, .65);--__P__-pill-l-min: .75;--__P__-pill-l-max: .92;color-scheme:dark;--__P__-color-scheme: dark}@media(prefers-color-scheme:dark){:host([data-theme="auto"]){--__P__-bg: oklch(.1783 .0128 278.3);--__P__-bg-elevated: oklch(.2232 .0182 278.3);--__P__-fg: oklch(.9368 .01 278.3);--__P__-fg-muted: oklch(.7048 .0296 278.3);--__P__-border: oklch(.2752 .0266 278.3);--__P__-border-strong: oklch(.335 .0291 278.3);--__P__-hover: oklch(.9368 .01 278.3 / .08);--__P__-bubble-assistant: oklch(.2474 .0311 278.3);--__P__-bubble-assistant-text: var(--__P__-fg);--__P__-pill-l-min: .75;--__P__-pill-l-max: .92;--__P__-shadow-panel: 0 8px 24px -8px rgba(0, 0, 0, .6), 0 24px 64px -24px rgba(0, 0, 0, .7);color-scheme:dark;--__P__-color-scheme: dark}}@supports (color: oklch(from red l c h)){:host{--__P__-accent: oklch(from var(--__P__-accent-user) clamp(.3, l, .62) c h);--__P__-accent-text: oklch(from var(--__P__-accent) clamp(0, (l / .623 - 1) * -infinity, 1) 0 h);--__P__-accent-fg: oklch(from var(--__P__-accent-user) clamp(.3, l, .46) c h)}:host([data-theme="dark"]){--__P__-accent: oklch(from var(--__P__-accent-user) clamp(.65, l, .85) c h);--__P__-accent-fg: var(--__P__-accent)}@media(prefers-color-scheme:dark){:host([data-theme="auto"]){--__P__-accent: oklch(from var(--__P__-accent-user) clamp(.65, l, .85) c h);--__P__-accent-fg: var(--__P__-accent)}}}@media(prefers-reduced-motion:reduce){:host{--__P__-dur-quick: 1ms;--__P__-dur-base: 1ms;--__P__-dur-slow: 1ms}}
|
|
1
|
+
import{Component as e,h as t,render as n}from"preact";import{batch as r,computed as i,effect as a,signal as o,useComputed as s,useSignal as c}from"@preact/signals";import{useCallback as l,useEffect as u,useLayoutEffect as d,useMemo as f,useRef as p,useState as m}from"preact/hooks";import{Fragment as h,jsx as g,jsxs as _}from"preact/jsx-runtime";import*as v from"streaming-markdown";import{memo as y}from"preact/compat";function b(e,t){if(e?.length&&t)return e.find(e=>e.locale===t)}function x(e,t){let{translations:n,defaultLocale:r,...i}=e,a=b(n,t);return a?{...i,title:a.title??i.title,description:a.description??i.description,content:a.content??i.content}:i}function S(e,t){let{translations:n,defaultLocale:r,...i}=e,a=b(n,t);return a?{...i,title:a.title??i.title,description:a.description??i.description}:i}function C(e,t){let{translations:n,defaultLocale:r,...i}=e,a=b(n,t);if(!a)return i;let o=new Map((a.fields??[]).map(e=>[e.name,e])),s=i.fields.map(e=>{let t=o.get(e.name);if(!t)return e;let n=new Map((t.options??[]).map(e=>[e.value,e]));return{...e,label:t.label??e.label,placeholder:t.placeholder??e.placeholder,validationHint:t.validationHint??e.validationHint,options:e.options?.map(e=>{let t=n.get(e.value);return t?{...e,label:t.label??e.label,description:t.description??e.description}:e})}});return{...i,title:a.title??i.title,description:a.description??i.description,submitLabel:a.submitLabel??i.submitLabel,fields:s}}const w={attach:`Attach files`,attachmentMimeRejected:`File type not supported`,attachmentTooLarge:`File is too large`,attachmentTooMany:`Attachment limit reached`,conversationClosed:`This chat is closed`,conversationLoading:`Loading chat…`,loadPreviousMessages:`Load previous messages`,close:`Close`,collapse:`Collapse`,collapseSidebar:`Collapse sidebar`,composerPlaceholder:`Type a message…`,dateLastWeek:`Last 7 days`,dateOlder:`Older`,dateToday:`Today`,dateYesterday:`Yesterday`,dropZone:`Drop files to attach`,errorGeneric:`Something went wrong`,errorRateLimited:`Too many requests — please try again in a moment.`,errorRetry:`Retry`,expand:`Expand`,expandSidebar:`Expand sidebar`,exitFullscreen:`Exit fullscreen`,fullscreen:`Fullscreen`,history:`History`,historyBack:`Back to chat`,historyEmpty:`No previous chats yet`,historyLoading:`Loading your chats…`,historyContinue:`Continue the chat`,historyTitle:`Chat history`,loadMoreConversations:`Load more conversations`,language:`Language`,launcherOpen:`Open chat`,launcherLabel:`Chat with us`,micStart:`Start voice input`,micStop:`Stop voice input`,micUnsupported:`Voice input is not supported in this browser`,moreActions:`More actions`,newConversation:`New chat`,panelTitle:`Chat`,popOut:`Open in new tab`,resizeHandle:`Drag to resize`,scrollToBottom:`Scroll to latest`,send:`Send`,queueMessage:`Queue message`,removeQueuedMessage:`Remove queued message`,compactingContext:`Optimizing conversation context…`,soundOff:`Sound off`,soundOn:`Sound on`,startNewConversation:`Start a new chat`,talkToOperator:`Talk to a person`,connectingOperator:`Connecting you to a person…`,noOperatorAvailable:`No one's available right now — leave your details and we'll follow up.`,chattingWithOperator:`You're chatting with {operator}`,cancelOperatorRequest:`Keep chatting with the AI`,stop:`Stop`,theme:`Theme`,themeAuto:`Auto`,themeDark:`Dark`,themeLight:`Light`,textSize:`Text size`,textSizeSmall:`Small`,textSizeNormal:`Normal`,textSizeLarge:`Large`,loading:`Loading…`,visualPreparing:`Preparing visual…`,visualError:`This visual could not be displayed.`,visualPartial:`Some parts of this visual could not be displayed.`,thinking:`Thinking…`,thoughts:`Thoughts`,toolResult:`Result`,sources:`Sources`,feedbackUp:`Good response`,feedbackDown:`Bad response`,feedbackThanks:`Thanks for your feedback`,copy:`Copy`,copied:`Copied`,tabHome:`Home`,tabConversations:`Chats`,tabHelp:`Help`,tabNews:`News`,modulesEmpty:`Nothing here yet`,moduleBack:`Back`,contentLoading:`Loading…`,contentHelpful:`Was this helpful?`,homeGreeting:`How can we help?`,homeGreetingNamed:`Hi {name} 👋`,homeGreetingLead:`How can we help?`,homeSearchPlaceholder:`Search for help`,homeAskPlaceholder:`Ask a question…`,homeWhatsNew:`What's new`,homeContentTitle:`Popular articles`,homeStatus:`Status`,helpTitle:`Help`,helpSearchPlaceholder:`Search for help`,helpEmpty:`No help articles yet`,helpLoading:`Loading help…`,helpSearchEmpty:`No results for “{query}”`,helpShowMore:`Show more`,newsTitle:`News`,newsEmpty:`No news yet`,newsLoading:`Loading news…`,newsBack:`Back to news`,newsPublishedAt:`Published {date}`,newsShowMore:`Show more`,newsUnseen:`New post`,formSubmit:`Submit`,formSkip:`Maybe later`,formSubmitted:`Completed`,formSkipped:`Maybe later`,formFillOut:`Fill out`,formRequired:`This field is required`,formInvalidEmail:`Enter a valid email address`,formInvalidTel:`Enter a valid phone number`,formInvalidUrl:`Enter a valid URL`,formInvalidNumber:`Enter a valid number`,formTooShort:`Too short (min {min} characters)`,formTooLong:`Too long (max {max} characters)`,formNumberTooSmall:`Must be at least {min}`,formNumberTooLarge:`Must be at most {max}`,formPatternMismatch:`Please match the requested format`,formChooseAtLeast:`Choose at least {min}`,formChooseAtMost:`Choose at most {max}`,formOther:`Other`,formOtherPlaceholder:`Type your answer…`,inputRequired:`Questions for you`,inputBadge:`Questions`,inputAnswered:`Answered`,inputSkipped:`Skipped`,showOptions:`Show options`,hideOptions:`Hide options`,qtypeText:`Your answer`,qtypeEmail:`Email address`,qtypePhone:`Phone number`,qtypeNumber:`Number`,qtypeDate:`Date`,qtypeChooseOne:`Pick one`,qtypeChooseAny:`Pick any`,qtypeBoolean:`Yes / No`,inputSubmit:`Submit answers`,inputSubmitHint:`Enter to send · Shift+Enter = new line`,inputSkip:`Skip`,confirmYes:`Yes`,confirmNo:`No`,approve:`Approve`,reject:`Reject`,approvalPrompt:`{tool} requires your approval to execute.`,approvalBody:`Review the tool input above and decide whether to allow this action.`,approvalYourResponse:`Your response: {decision}`,approvalEditHint:`You can edit this response until this step continues.`,approvalSubmitting:`Response submitted. Request in progress…`,edit:`Edit`,toolParameters:`Parameters`,statusAwaiting:`Awaiting Approval`,statusResponded:`Submitted`,statusRunning:`Running`,statusCompleted:`Completed`,statusDenied:`Denied`,statusError:`Error`,statusSuperseded:`Skipped`,statusIncomplete:`Not completed`},T={en:w,fr:{attach:`Joindre des fichiers`,attachmentMimeRejected:`Type de fichier non pris en charge`,attachmentTooLarge:`Le fichier est trop volumineux`,attachmentTooMany:`Limite de pièces jointes atteinte`,conversationClosed:`Ce chat est fermé`,conversationLoading:`Chargement du chat…`,loadPreviousMessages:`Charger les messages précédents`,close:`Fermer`,collapse:`Réduire`,collapseSidebar:`Réduire la barre latérale`,composerPlaceholder:`Écrivez un message…`,dateLastWeek:`7 derniers jours`,dateOlder:`Plus ancien`,dateToday:`Aujourd'hui`,dateYesterday:`Hier`,dropZone:`Déposez les fichiers à joindre`,errorGeneric:`Une erreur s'est produite`,errorRateLimited:`Trop de requêtes — veuillez réessayer dans un instant.`,errorRetry:`Réessayer`,expand:`Agrandir`,expandSidebar:`Développer la barre latérale`,exitFullscreen:`Quitter le plein écran`,fullscreen:`Plein écran`,history:`Historique`,historyBack:`Retour au chat`,historyEmpty:`Aucun chat pour le moment`,historyContinue:`Poursuivre le chat`,historyLoading:`Chargement de vos chats…`,historyTitle:`Historique des chats`,loadMoreConversations:`Charger plus de conversations`,language:`Langue`,launcherOpen:`Ouvrir le chat`,launcherLabel:`Discuter avec nous`,micStart:`Démarrer la saisie vocale`,micStop:`Arrêter la saisie vocale`,micUnsupported:`La saisie vocale n'est pas prise en charge par ce navigateur`,moreActions:`Plus d'actions`,newConversation:`Nouveau chat`,panelTitle:`Chat`,popOut:`Ouvrir dans un nouvel onglet`,resizeHandle:`Glisser pour redimensionner`,scrollToBottom:`Aller au plus récent`,send:`Envoyer`,queueMessage:`Mettre le message en attente`,removeQueuedMessage:`Retirer le message en attente`,compactingContext:`Optimisation du contexte de la conversation…`,soundOff:`Son désactivé`,soundOn:`Son activé`,startNewConversation:`Démarrer un nouveau chat`,talkToOperator:`Parler à une personne`,connectingOperator:`Mise en relation avec une personne…`,noOperatorAvailable:`Personne n'est disponible pour le moment — laissez vos coordonnées et nous reviendrons vers vous.`,chattingWithOperator:`Vous discutez avec {operator}`,cancelOperatorRequest:`Continuer avec l'IA`,stop:`Arrêter`,theme:`Thème`,themeAuto:`Auto`,themeDark:`Sombre`,themeLight:`Clair`,textSize:`Taille du texte`,textSizeSmall:`Petite`,textSizeNormal:`Normale`,textSizeLarge:`Grande`,loading:`Chargement…`,visualPreparing:`Préparation du visuel…`,visualError:`Ce visuel n’a pas pu être affiché.`,visualPartial:`Certaines parties de ce visuel n’ont pas pu être affichées.`,thinking:`Réflexion…`,thoughts:`Réflexions`,toolResult:`Résultat`,sources:`Sources`,feedbackUp:`Bonne réponse`,feedbackDown:`Mauvaise réponse`,feedbackThanks:`Merci pour votre retour`,copy:`Copier`,copied:`Copié`,tabHome:`Accueil`,tabConversations:`Chats`,tabHelp:`Aide`,tabNews:`Actualités`,modulesEmpty:`Rien pour le moment`,moduleBack:`Retour`,contentLoading:`Chargement…`,contentHelpful:`Cela vous a-t-il aidé ?`,homeGreeting:`Comment pouvons-nous vous aider ?`,homeGreetingNamed:`Bonjour {name} 👋`,homeGreetingLead:`Comment pouvons-nous vous aider ?`,homeSearchPlaceholder:`Rechercher de l'aide`,homeAskPlaceholder:`Posez une question…`,homeWhatsNew:`Nouveautés`,homeContentTitle:`Articles populaires`,homeStatus:`Statut`,helpTitle:`Aide`,helpSearchPlaceholder:`Rechercher de l'aide`,helpEmpty:`Aucun article d'aide pour le moment`,helpLoading:`Chargement de l'aide…`,helpSearchEmpty:`Aucun résultat pour «\xA0{query}\xA0»`,helpShowMore:`Afficher plus`,newsTitle:`Actualités`,newsEmpty:`Aucune actualité pour le moment`,newsLoading:`Chargement des actualités…`,newsBack:`Retour aux actualités`,newsPublishedAt:`Publié le {date}`,newsShowMore:`Afficher plus`,newsUnseen:`Nouvelle publication`,formSubmit:`Envoyer`,formSkip:`Plus tard`,formSubmitted:`Terminé`,formSkipped:`Plus tard`,formFillOut:`Remplir`,formRequired:`Ce champ est obligatoire`,formInvalidEmail:`Saisissez une adresse e-mail valide`,formInvalidTel:`Saisissez un numéro de téléphone valide`,formInvalidUrl:`Saisissez une URL valide`,formInvalidNumber:`Saisissez un nombre valide`,formTooShort:`Trop court (min. {min} caractères)`,formTooLong:`Trop long (max. {max} caractères)`,formNumberTooSmall:`Doit être au moins {min}`,formNumberTooLarge:`Doit être au plus {max}`,formPatternMismatch:`Veuillez respecter le format demandé`,formChooseAtLeast:`Choisissez au moins {min}`,formChooseAtMost:`Choisissez au plus {max}`,formOther:`Autre`,formOtherPlaceholder:`Saisissez votre réponse…`,inputRequired:`Questions pour vous`,inputBadge:`Questions`,inputAnswered:`Répondu`,inputSkipped:`Ignoré`,showOptions:`Afficher les options`,hideOptions:`Masquer les options`,qtypeText:`Votre réponse`,qtypeEmail:`Adresse e-mail`,qtypePhone:`Numéro de téléphone`,qtypeNumber:`Nombre`,qtypeDate:`Date`,qtypeChooseOne:`Choisir une`,qtypeChooseAny:`Choisir plusieurs`,qtypeBoolean:`Oui / Non`,inputSubmit:`Envoyer les réponses`,inputSubmitHint:`Entrée pour envoyer · Maj+Entrée = saut de ligne`,inputSkip:`Ignorer`,confirmYes:`Oui`,confirmNo:`Non`,approve:`Approuver`,reject:`Refuser`,approvalPrompt:`{tool} nécessite votre approbation pour s'exécuter.`,approvalBody:`Vérifiez les paramètres ci-dessus et décidez d'autoriser ou non cette action.`,approvalYourResponse:`Votre réponse : {decision}`,approvalEditHint:`Vous pouvez modifier votre réponse jusqu'à la reprise de cette étape.`,approvalSubmitting:`Réponse envoyée. Traitement en cours…`,edit:`Modifier`,toolParameters:`Paramètres`,statusAwaiting:`En attente d'approbation`,statusResponded:`Envoyé`,statusRunning:`En cours`,statusCompleted:`Terminé`,statusDenied:`Refusé`,statusError:`Erreur`,statusSuperseded:`Ignoré`,statusIncomplete:`Non terminé`},ar:{attach:`إرفاق ملفات`,attachmentMimeRejected:`نوع الملف غير مدعوم`,attachmentTooLarge:`حجم الملف كبير جدًا`,attachmentTooMany:`تم بلوغ الحد الأقصى للمرفقات`,conversationClosed:`تم إغلاق هذه الدردشة`,conversationLoading:`جارٍ تحميل الدردشة…`,loadPreviousMessages:`تحميل الرسائل السابقة`,close:`إغلاق`,collapse:`طيّ`,collapseSidebar:`طيّ الشريط الجانبي`,composerPlaceholder:`اكتب رسالة…`,dateLastWeek:`آخر ٧ أيام`,dateOlder:`أقدم`,dateToday:`اليوم`,dateYesterday:`أمس`,dropZone:`أفلت الملفات لإرفاقها`,errorGeneric:`حدث خطأ ما`,errorRateLimited:`طلبات كثيرة جدًا — يرجى المحاولة بعد لحظة.`,errorRetry:`إعادة المحاولة`,expand:`توسيع`,expandSidebar:`توسيع الشريط الجانبي`,exitFullscreen:`إنهاء ملء الشاشة`,fullscreen:`ملء الشاشة`,history:`السجل`,historyBack:`العودة إلى الدردشة`,historyEmpty:`لا توجد دردشات سابقة بعد`,historyContinue:`متابعة الدردشة`,historyLoading:`جارٍ تحميل دردشاتك…`,historyTitle:`سجل الدردشات`,loadMoreConversations:`تحميل المزيد من المحادثات`,language:`اللغة`,launcherOpen:`فتح الدردشة`,launcherLabel:`تحدث معنا`,micStart:`بدء الإدخال الصوتي`,micStop:`إيقاف الإدخال الصوتي`,micUnsupported:`الإدخال الصوتي غير مدعوم في هذا المتصفح`,moreActions:`إجراءات إضافية`,newConversation:`دردشة جديدة`,panelTitle:`الدردشة`,popOut:`فتح في علامة تبويب جديدة`,resizeHandle:`اسحب لتغيير الحجم`,scrollToBottom:`الانتقال إلى الأحدث`,send:`إرسال`,queueMessage:`إضافة الرسالة إلى قائمة الانتظار`,removeQueuedMessage:`إزالة الرسالة من قائمة الانتظار`,compactingContext:`جارٍ تحسين سياق المحادثة…`,soundOff:`كتم الصوت`,soundOn:`تشغيل الصوت`,startNewConversation:`بدء دردشة جديدة`,talkToOperator:`التحدث إلى شخص`,connectingOperator:`جارٍ توصيلك بشخص…`,noOperatorAvailable:`لا يوجد موظفون متاحون الآن — اترك بياناتك وسنتواصل معك.`,chattingWithOperator:`أنت تتحدث مع {operator}`,cancelOperatorRequest:`متابعة المحادثة مع الذكاء الاصطناعي`,stop:`إيقاف`,theme:`المظهر`,themeAuto:`تلقائي`,themeDark:`داكن`,themeLight:`فاتح`,textSize:`حجم النص`,textSizeSmall:`صغير`,textSizeNormal:`عادي`,textSizeLarge:`كبير`,loading:`جارٍ التحميل…`,visualPreparing:`جارٍ إعداد المحتوى المرئي…`,visualError:`تعذر عرض هذا المحتوى المرئي.`,visualPartial:`تعذر عرض بعض أجزاء هذا المحتوى المرئي.`,thinking:`يفكّر…`,thoughts:`الأفكار`,toolResult:`النتيجة`,sources:`المصادر`,feedbackUp:`رد جيد`,feedbackDown:`رد سيئ`,feedbackThanks:`شكرًا على ملاحظاتك`,copy:`نسخ`,copied:`تم النسخ`,tabHome:`الرئيسية`,tabConversations:`الدردشات`,tabHelp:`المساعدة`,tabNews:`الأخبار`,modulesEmpty:`لا شيء هنا بعد`,moduleBack:`رجوع`,contentLoading:`جارٍ التحميل…`,contentHelpful:`هل كان هذا مفيدًا؟`,homeGreeting:`كيف يمكننا مساعدتك؟`,homeGreetingNamed:`مرحبًا {name} 👋`,homeGreetingLead:`كيف يمكننا مساعدتك؟`,homeSearchPlaceholder:`ابحث عن مساعدة`,homeAskPlaceholder:`اطرح سؤالاً…`,homeWhatsNew:`ما الجديد`,homeContentTitle:`مقالات شائعة`,homeStatus:`الحالة`,helpTitle:`المساعدة`,helpSearchPlaceholder:`ابحث عن مساعدة`,helpEmpty:`لا توجد مقالات مساعدة بعد`,helpLoading:`جارٍ تحميل المساعدة…`,helpSearchEmpty:`لا نتائج لـ «{query}»`,helpShowMore:`عرض المزيد`,newsTitle:`الأخبار`,newsEmpty:`لا توجد أخبار بعد`,newsLoading:`جارٍ تحميل الأخبار…`,newsBack:`العودة إلى الأخبار`,newsPublishedAt:`نُشر في {date}`,newsShowMore:`عرض المزيد`,newsUnseen:`منشور جديد`,formSubmit:`إرسال`,formSkip:`لاحقًا`,formSubmitted:`تم`,formSkipped:`لاحقًا`,formFillOut:`تعبئة`,formRequired:`هذا الحقل مطلوب`,formInvalidEmail:`أدخل بريدًا إلكترونيًا صحيحًا`,formInvalidTel:`أدخل رقم هاتف صحيحًا`,formInvalidUrl:`أدخل رابطًا صحيحًا`,formInvalidNumber:`أدخل رقمًا صحيحًا`,formTooShort:`قصير جدًا (الحد الأدنى {min} حرفًا)`,formTooLong:`طويل جدًا (الحد الأقصى {max} حرفًا)`,formNumberTooSmall:`يجب ألا يقل عن {min}`,formNumberTooLarge:`يجب ألا يزيد عن {max}`,formPatternMismatch:`يرجى مطابقة الصيغة المطلوبة`,formChooseAtLeast:`اختر {min} على الأقل`,formChooseAtMost:`اختر {max} على الأكثر`,formOther:`أخرى`,formOtherPlaceholder:`اكتب إجابتك…`,inputRequired:`أسئلة لك`,inputBadge:`أسئلة`,inputAnswered:`تمت الإجابة`,inputSkipped:`تم التخطي`,showOptions:`إظهار الخيارات`,hideOptions:`إخفاء الخيارات`,qtypeText:`إجابتك`,qtypeEmail:`عنوان البريد الإلكتروني`,qtypePhone:`رقم الهاتف`,qtypeNumber:`رقم`,qtypeDate:`تاريخ`,qtypeChooseOne:`اختر واحدًا`,qtypeChooseAny:`اختر أيًا`,qtypeBoolean:`نعم / لا`,inputSubmit:`إرسال الإجابات`,inputSubmitHint:`Enter للإرسال · Shift+Enter = سطر جديد`,inputSkip:`تخطٍّ`,confirmYes:`نعم`,confirmNo:`لا`,approve:`موافقة`,reject:`رفض`,approvalPrompt:`تتطلب {tool} موافقتك للتنفيذ.`,approvalBody:`راجع مُعطيات الأداة أعلاه وقرّر السماح بهذا الإجراء أو رفضه.`,approvalYourResponse:`ردّك: {decision}`,approvalEditHint:`يمكنك تعديل ردّك حتى تستأنف هذه الخطوة.`,approvalSubmitting:`تم إرسال الرد. جارٍ التنفيذ…`,edit:`تعديل`,toolParameters:`المعطيات`,statusAwaiting:`بانتظار الموافقة`,statusResponded:`تم الإرسال`,statusRunning:`قيد التنفيذ`,statusCompleted:`مكتمل`,statusDenied:`مرفوض`,statusError:`خطأ`,statusSuperseded:`تم التخطي`,statusIncomplete:`لم يكتمل`},es:{attach:`Adjuntar archivos`,attachmentMimeRejected:`Tipo de archivo no admitido`,attachmentTooLarge:`El archivo es demasiado grande`,attachmentTooMany:`Se alcanzó el límite de adjuntos`,conversationClosed:`Este chat está cerrado`,conversationLoading:`Cargando chat…`,loadPreviousMessages:`Cargar mensajes anteriores`,close:`Cerrar`,collapse:`Contraer`,collapseSidebar:`Contraer la barra lateral`,composerPlaceholder:`Escribe un mensaje…`,dateLastWeek:`Últimos 7 días`,dateOlder:`Anteriores`,dateToday:`Hoy`,dateYesterday:`Ayer`,dropZone:`Suelta los archivos para adjuntarlos`,errorGeneric:`Algo salió mal`,errorRateLimited:`Demasiadas solicitudes: inténtalo de nuevo en un momento.`,errorRetry:`Reintentar`,expand:`Ampliar`,expandSidebar:`Expandir la barra lateral`,exitFullscreen:`Salir de pantalla completa`,fullscreen:`Pantalla completa`,history:`Historial`,historyBack:`Volver al chat`,historyEmpty:`Aún no tienes chats`,historyContinue:`Continuar el chat`,historyLoading:`Cargando tus chats…`,historyTitle:`Historial de chats`,loadMoreConversations:`Cargar más conversaciones`,language:`Idioma`,launcherOpen:`Abrir el chat`,launcherLabel:`Chatea con nosotros`,micStart:`Iniciar entrada de voz`,micStop:`Detener entrada de voz`,micUnsupported:`Este navegador no admite la entrada de voz`,moreActions:`Más acciones`,newConversation:`Nuevo chat`,panelTitle:`Chat`,popOut:`Abrir en una pestaña nueva`,resizeHandle:`Arrastra para cambiar el tamaño`,scrollToBottom:`Ir a lo más reciente`,send:`Enviar`,queueMessage:`Poner mensaje en cola`,removeQueuedMessage:`Quitar mensaje de la cola`,compactingContext:`Optimizando el contexto de la conversación…`,soundOff:`Sonido desactivado`,soundOn:`Sonido activado`,startNewConversation:`Iniciar un chat nuevo`,talkToOperator:`Hablar con una persona`,connectingOperator:`Conectándote con una persona…`,noOperatorAvailable:`Nadie está disponible ahora — deja tus datos y te contactaremos.`,chattingWithOperator:`Estás chateando con {operator}`,cancelOperatorRequest:`Seguir con la IA`,stop:`Detener`,theme:`Tema`,themeAuto:`Automático`,themeDark:`Oscuro`,themeLight:`Claro`,textSize:`Tamaño del texto`,textSizeSmall:`Pequeño`,textSizeNormal:`Normal`,textSizeLarge:`Grande`,loading:`Cargando…`,visualPreparing:`Preparando visualización…`,visualError:`No se pudo mostrar esta visualización.`,visualPartial:`No se pudieron mostrar algunas partes de esta visualización.`,thinking:`Pensando…`,thoughts:`Razonamiento`,toolResult:`Resultado`,sources:`Fuentes`,feedbackUp:`Buena respuesta`,feedbackDown:`Mala respuesta`,feedbackThanks:`Gracias por tu opinión`,copy:`Copiar`,copied:`Copiado`,tabHome:`Inicio`,tabConversations:`Chats`,tabHelp:`Ayuda`,tabNews:`Novedades`,modulesEmpty:`Aún no hay nada aquí`,moduleBack:`Atrás`,contentLoading:`Cargando…`,contentHelpful:`¿Te resultó útil?`,homeGreeting:`¿Cómo podemos ayudarte?`,homeGreetingNamed:`Hola, {name} 👋`,homeGreetingLead:`¿Cómo podemos ayudarte?`,homeSearchPlaceholder:`Buscar ayuda`,homeAskPlaceholder:`Haz una pregunta…`,homeWhatsNew:`Lo nuevo`,homeContentTitle:`Artículos populares`,homeStatus:`Estado`,helpTitle:`Ayuda`,helpSearchPlaceholder:`Buscar ayuda`,helpEmpty:`Aún no hay artículos de ayuda`,helpLoading:`Cargando la ayuda…`,helpSearchEmpty:`Sin resultados para «{query}»`,helpShowMore:`Mostrar más`,newsTitle:`Novedades`,newsEmpty:`Aún no hay novedades`,newsLoading:`Cargando novedades…`,newsBack:`Volver a novedades`,newsPublishedAt:`Publicado el {date}`,newsShowMore:`Mostrar más`,newsUnseen:`Publicación nueva`,formSubmit:`Enviar`,formSkip:`Quizá más tarde`,formSubmitted:`Completado`,formSkipped:`Quizá más tarde`,formFillOut:`Completar`,formRequired:`Este campo es obligatorio`,formInvalidEmail:`Introduce un correo electrónico válido`,formInvalidTel:`Introduce un número de teléfono válido`,formInvalidUrl:`Introduce una URL válida`,formInvalidNumber:`Introduce un número válido`,formTooShort:`Demasiado corto (mín. {min} caracteres)`,formTooLong:`Demasiado largo (máx. {max} caracteres)`,formNumberTooSmall:`Debe ser al menos {min}`,formNumberTooLarge:`Debe ser como máximo {max}`,formPatternMismatch:`Respeta el formato solicitado`,formChooseAtLeast:`Elige al menos {min}`,formChooseAtMost:`Elige como máximo {max}`,formOther:`Otro`,formOtherPlaceholder:`Escribe tu respuesta…`,inputRequired:`Preguntas para ti`,inputBadge:`Preguntas`,inputAnswered:`Respondido`,inputSkipped:`Omitido`,showOptions:`Mostrar opciones`,hideOptions:`Ocultar opciones`,qtypeText:`Tu respuesta`,qtypeEmail:`Correo electrónico`,qtypePhone:`Número de teléfono`,qtypeNumber:`Número`,qtypeDate:`Fecha`,qtypeChooseOne:`Elige una`,qtypeChooseAny:`Elige varias`,qtypeBoolean:`Sí / No`,inputSubmit:`Enviar respuestas`,inputSubmitHint:`Enter para enviar · Mayús+Enter = nueva línea`,inputSkip:`Omitir`,confirmYes:`Sí`,confirmNo:`No`,approve:`Aprobar`,reject:`Rechazar`,approvalPrompt:`{tool} requiere tu aprobación para ejecutarse.`,approvalBody:`Revisa los parámetros de arriba y decide si permites esta acción.`,approvalYourResponse:`Tu respuesta: {decision}`,approvalEditHint:`Puedes cambiar tu respuesta hasta que este paso continúe.`,approvalSubmitting:`Respuesta enviada. Procesando…`,edit:`Editar`,toolParameters:`Parámetros`,statusAwaiting:`Esperando aprobación`,statusResponded:`Enviado`,statusRunning:`En curso`,statusCompleted:`Completado`,statusDenied:`Denegado`,statusError:`Error`,statusSuperseded:`Omitido`,statusIncomplete:`No completado`},he:{attach:`צירוף קבצים`,attachmentMimeRejected:`סוג הקובץ אינו נתמך`,attachmentTooLarge:`הקובץ גדול מדי`,attachmentTooMany:`הגעת למספר המרבי של קבצים מצורפים`,conversationClosed:`הצ׳אט הזה נסגר`,conversationLoading:`טוען צ׳אט…`,loadPreviousMessages:`טעינת הודעות קודמות`,close:`סגירה`,collapse:`כיווץ`,collapseSidebar:`כיווץ סרגל הצד`,composerPlaceholder:`כתוב הודעה…`,dateLastWeek:`7 הימים האחרונים`,dateOlder:`ישן יותר`,dateToday:`היום`,dateYesterday:`אתמול`,dropZone:`שחרר קבצים כדי לצרף`,errorGeneric:`משהו השתבש`,errorRateLimited:`יותר מדי בקשות — נסה שוב בעוד רגע.`,errorRetry:`נסה שוב`,expand:`הרחבה`,expandSidebar:`הרחבת סרגל הצד`,exitFullscreen:`יציאה ממסך מלא`,fullscreen:`מסך מלא`,history:`היסטוריה`,historyBack:`חזרה לצ׳אט`,historyEmpty:`אין עדיין צ׳אטים קודמים`,historyContinue:`המשך צ׳אט`,historyLoading:`טוען את הצ׳אטים שלך…`,historyTitle:`היסטוריית צ׳אטים`,loadMoreConversations:`טעינת שיחות נוספות`,language:`שפה`,launcherOpen:`פתיחת צ׳אט`,launcherLabel:`דברו איתנו`,micStart:`התחלת קלט קולי`,micStop:`עצירת קלט קולי`,micUnsupported:`קלט קולי אינו נתמך בדפדפן זה`,moreActions:`פעולות נוספות`,newConversation:`צ׳אט חדש`,panelTitle:`צ׳אט`,popOut:`פתיחה בכרטיסייה חדשה`,resizeHandle:`גרור לשינוי הגודל`,scrollToBottom:`מעבר לחדש ביותר`,send:`שליחה`,queueMessage:`הוספת ההודעה לתור`,removeQueuedMessage:`הסרת ההודעה מהתור`,compactingContext:`מבצע אופטימיזציה להקשר השיחה…`,soundOff:`השתקת הצליל`,soundOn:`הפעלת הצליל`,startNewConversation:`התחלת צ׳אט חדש`,talkToOperator:`דברו עם אדם`,connectingOperator:`מחברים אותך לאדם…`,noOperatorAvailable:`אין נציגים זמינים כעת — השאר את הפרטים שלך ונחזור אליך.`,chattingWithOperator:`אתה מצ׳וטט עם {operator}`,cancelOperatorRequest:`המשך לשוחח עם ה-AI`,stop:`עצירה`,theme:`ערכת נושא`,themeAuto:`אוטומטי`,themeDark:`כהה`,themeLight:`בהיר`,textSize:`גודל טקסט`,textSizeSmall:`קטן`,textSizeNormal:`רגיל`,textSizeLarge:`גדול`,loading:`טוען…`,visualPreparing:`מכין תצוגה…`,visualError:`לא ניתן היה להציג תצוגה זו.`,visualPartial:`לא ניתן היה להציג חלקים מתצוגה זו.`,thinking:`חושב…`,thoughts:`מחשבות`,toolResult:`תוצאה`,sources:`מקורות`,feedbackUp:`תשובה טובה`,feedbackDown:`תשובה גרועה`,feedbackThanks:`תודה על המשוב`,copy:`העתק`,copied:`הועתק`,tabHome:`בית`,tabConversations:`צ׳אטים`,tabHelp:`עזרה`,tabNews:`חדשות`,modulesEmpty:`אין כאן עדיין כלום`,moduleBack:`חזרה`,contentLoading:`טוען…`,contentHelpful:`האם זה עזר?`,homeGreeting:`כיצד נוכל לעזור?`,homeGreetingNamed:`שלום {name} 👋`,homeGreetingLead:`כיצד נוכל לעזור?`,homeSearchPlaceholder:`חיפוש עזרה`,homeAskPlaceholder:`שאלו שאלה…`,homeWhatsNew:`מה חדש`,homeContentTitle:`מאמרים פופולריים`,homeStatus:`סטטוס`,helpTitle:`עזרה`,helpSearchPlaceholder:`חיפוש עזרה`,helpEmpty:`אין עדיין מאמרי עזרה`,helpLoading:`טוען עזרה…`,helpSearchEmpty:`אין תוצאות עבור „{query}”`,helpShowMore:`הצגת עוד`,newsTitle:`חדשות`,newsEmpty:`אין עדיין חדשות`,newsLoading:`טוען חדשות…`,newsBack:`חזרה לחדשות`,newsPublishedAt:`פורסם ב-{date}`,newsShowMore:`הצגת עוד`,newsUnseen:`פוסט חדש`,formSubmit:`שליחה`,formSkip:`אחר כך`,formSubmitted:`נשלח`,formSkipped:`דולג`,formFillOut:`מילוי`,formRequired:`שדה חובה`,formInvalidEmail:`הזן כתובת אימייל תקינה`,formInvalidTel:`הזן מספר טלפון תקין`,formInvalidUrl:`הזן כתובת URL תקינה`,formInvalidNumber:`הזן מספר תקין`,formTooShort:`קצר מדי (לפחות {min} תווים)`,formTooLong:`ארוך מדי (לכל היותר {max} תווים)`,formNumberTooSmall:`חייב להיות לפחות {min}`,formNumberTooLarge:`חייב להיות לכל היותר {max}`,formPatternMismatch:`התאם לתבנית הנדרשת`,formChooseAtLeast:`בחר לפחות {min}`,formChooseAtMost:`בחר לכל היותר {max}`,formOther:`אחר`,formOtherPlaceholder:`כתוב את תשובתך…`,inputRequired:`שאלות עבורך`,inputBadge:`שאלות`,inputAnswered:`נענה`,inputSkipped:`דולג`,showOptions:`הצג אפשרויות`,hideOptions:`הסתר אפשרויות`,qtypeText:`התשובה שלך`,qtypeEmail:`כתובת אימייל`,qtypePhone:`מספר טלפון`,qtypeNumber:`מספר`,qtypeDate:`תאריך`,qtypeChooseOne:`בחר אחת`,qtypeChooseAny:`בחר כמה`,qtypeBoolean:`כן / לא`,inputSubmit:`שליחת תשובות`,inputSubmitHint:`Enter לשליחה · Shift+Enter = שורה חדשה`,inputSkip:`דילוג`,confirmYes:`כן`,confirmNo:`לא`,approve:`אישור`,reject:`דחייה`,approvalPrompt:`הכלי {tool} דורש את אישורך כדי לפעול.`,approvalBody:`בדוק את פרמטרי הכלי שלמעלה והחלט אם לאשר פעולה זו.`,approvalYourResponse:`התגובה שלך: {decision}`,approvalEditHint:`ניתן לערוך את תגובתך עד שהשלב הזה יתחדש.`,approvalSubmitting:`התגובה נשלחה. מבצע…`,edit:`עריכה`,toolParameters:`פרמטרים`,statusAwaiting:`ממתין לאישור`,statusResponded:`נשלח`,statusRunning:`פועל`,statusCompleted:`הושלם`,statusDenied:`נדחה`,statusError:`שגיאה`,statusSuperseded:`דולג`,statusIncomplete:`לא הושלם`}};function E(e,t){let n=D(e),r=j(t),i=n===`en`?{}:T[n]??{},a=r?t[n]??{}:t??{},o=r?t.en??{}:{};return{...w,...i,...o,...a}}function D(e){return(e.split(`-`)[0]??`en`).toLowerCase()}const O=/* @__PURE__ */ new Set([`ar`,`he`,`iw`,`fa`,`ur`,`ps`,`sd`,`ug`,`yi`,`dv`,`ckb`,`ks`,`nqo`,`prs`,`syr`]);function k(e){return O.has(D(e))}function A(e,t){return e[t]??t}function j(e){if(!e)return!1;for(let t of Object.values(e))if(t&&typeof t==`object`)return!0;return!1}const M={id:`help-ai`,name:`@helpai/elements`,global:`HelpAI`,tagName:`web-ai-chat`,cssPrefix:`helpai`,defaultBaseUrl:`https://help.ai`,displayName:`Help AI`,domain:`help.ai`,siteUrl:`https://help.ai`},ee=new class{get(e){try{return localStorage.getItem(e)}catch{return null}}set(e,t){try{localStorage.setItem(e,t)}catch{}}remove(e){try{localStorage.removeItem(e)}catch{}}},te={maxBytes:10485760,maxCount:10,accept:`*/*`},N={voice:`local`},ne={list:[],byTrigger:{}},re={enabled:!0,sampleRate:1},P={upload:`/pai/upload-file`,transcribe:`/pai/transcribe-audio`,submitForm:`/pai/submit-form`},ie={variant:`circle`,size:`md`,label:void 0,icon:`chat`,hidden:!1},ae={floating:[`theme`,`textSize`,`history`,`close`,`clear`,`expand`,`fullscreen`,`popOut`,`sound`,`language`],inline:[`theme`,`textSize`,`history`,`close`,`clear`,`fullscreen`,`popOut`,`sound`,`language`],standalone:[`theme`,`textSize`,`history`,`clear`,`sound`,`language`],page:[`theme`,`textSize`,`history`,`clear`,`sound`,`language`],modal:[`theme`,`textSize`,`history`,`close`,`clear`,`fullscreen`,`popOut`,`sound`,`language`],drawer:[`theme`,`textSize`,`history`,`close`,`clear`,`fullscreen`,`popOut`,`sound`,`language`]},oe={enabled:!0,volume:.3,events:void 0},F={enabled:!0,events:void 0},se=[{label:`tabConversations`,layout:`chat`}],ce=[`off`,`error`,`warn`,`info`,`debug`,`trace`],le=M.cssPrefix,I=`${le}.debug`,ue=`__${M.global}_DEBUG__`,de=`${le}-debug`;let fe=2,pe=null;function me(){if(typeof window>`u`)return 2;try{let e=new URLSearchParams(window.location.search).get(de);if(e!==null){let t=he(e);if(t>=0)return t}}catch{}try{let e=window.localStorage?.getItem(I);if(e){let t=he(e);if(t>=0)return t}}catch{}return Reflect.get(window,ue)?4:2}function he(e){if(e===!0||e===`1`||e===`true`)return 4;if(e===!1||e===`0`||e===`false`||e===`off`)return 0;if(typeof e==`number`)return Math.max(0,Math.min(5,Math.floor(e)));if(typeof e==`string`){let t=ce.findIndex(t=>t===e);if(t>=0)return t}return-1}function L(e){let t=he(e);if(!(t<0)){fe=t;try{window.localStorage?.setItem(I,ce[t]??`off`)}catch{}}}function ge(){return ce[fe]??`warn`}fe=me();function _e(e){let t=`[${le}:${e}]`;function n(n,r,i){return(a,o)=>{if(!(fe<n)&&(o===void 0?console[r](t,a):console[r](t,a,o),pe))try{pe({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=>_e(`${e}:${t}`)}}const R=_e(`core`);function ve(e){pe=e}const ye=R.scope(`context`),be=/* @__PURE__ */ new Set([`visitorId`,`conversationId`,`jwt`,`token`,`authorization`,`password`]),xe=1024,Se=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function Ce(e){return Te(e,`userContext`,!0)}function we(e){return Te(e,`pageContext`,!1)}function Te(e,t,n){if(e==null)return;if(typeof e!=`object`||Array.isArray(e)){ye.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(be.has(n)){ye.warn(`dropped reserved ${t} key "${n}" — managed by the widget, not host-settable`);continue}if(a==null)continue;if(i>=50){ye.warn(`${t} truncated at 50 keys — dropped "${n}"`);continue}let e=Ee(t,n,a);e!==void 0&&(r[n]=e,i++)}return n&&typeof r.email==`string`&&!Se.test(r.email)&&(ye.warn(`dropped malformed context field`,{field:`${t}.email`,reason:`invalid format`}),delete r.email),Object.keys(r).length>0?r:void 0}function Ee(e,t,n){if(typeof n==`boolean`)return n;if(typeof n==`number`){if(!Number.isFinite(n)){ye.warn(`dropped non-finite ${e}.${t}`);return}return n}if(typeof n==`string`){let r=n.trim();return r===``?void 0:r.length>xe?(ye.warn(`truncated ${e}.${t} to ${xe} chars`),r.slice(0,xe)):r}ye.warn(`dropped ${e}.${t} — only string/number/boolean values are allowed`,{type:typeof n})}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??{},c={enabled:t.history?.enabled??!0},{themeMode:l,themeOverrides:u}=Oe(t.theme),d=n.mode??`floating`,f=ke(i.defaultLocale),p=i.availableLocales??[i.locale??f],m=Ae(i.locale??f,p,f),h=(t.baseUrl??M.defaultBaseUrl).replace(/\/$/,``),g=(t.agentApiBaseUrl??`${h}/api/agent`).replace(/\/$/,``),_=(t.dataApiBaseUrl??`${h}/api/data`).replace(/\/$/,``);return{widgetId:t.widgetId??`default`,publicKey:t.publicKey,aiAgentDeploymentId:t.aiAgentDeploymentId,baseUrl:h,agentApiBaseUrl:g,dataApiBaseUrl:_,userContext:Ce(t.userContext),pageContext:we(t.pageContext),position:n.position??`bottom-right`,themeMode:l,textSize:`normal`,themeOverrides:u,mode:d,iframe:n.iframe??!1,responseMode:r.responseMode??`streaming`,showReasoning:r.showReasoning??!1,showToolCalls:r.showToolCalls??!1,showSources:r.showSources??!1,enableMessageFeedback:!(r.disableMessageFeedback??!1),autoSendSuggestions:r.autoSendSuggestions??!1,popOutUrl:r.popOutUrl,features:{voice:t.features?.voice??N.voice,fileUpload:!(t.features?.disableFileUpload??!1),humanInLoop:!(t.features?.disableHumanInLoop??!1),operatorRequest:t.features?.enableOperatorRequest===!0},forms:Re(t.forms,m),endpoints:{upload:t.endpoints?.upload??P.upload,transcribe:t.endpoints?.transcribe??P.transcribe,submitForm:t.endpoints?.submitForm??P.submitForm},attachments:{accept:t.composer?.attachments?.accept??te.accept,maxBytes:t.composer?.attachments?.maxBytes??te.maxBytes,maxCount:t.composer?.attachments?.maxCount??te.maxCount},locale:m,defaultLocale:f,availableLocales:p,startMinimized:r.startMinimized??!0,actions:je(d,s.actions,c.enabled),size:n.size??{},launcher:Be(t.launcher),sound:Me(a.sound),haptics:Ne(a.haptics),strings:E(m,i.strings),stringsOverride:i.strings,composerDisclaimer:o.composerDisclaimer??``,poweredBy:Fe(o.poweredBy),composer:Ie(t.composer),modules:Le(t.modules,c.enabled),tracking:Pe(t.tracking,_),history:c,storage:t.storage??ee,userToken:t.userToken,tools:t.tools,onMessage:t.onMessage,onOpen:t.onOpen,onClose:t.onClose,onError:t.onError}}function Oe(e){if(typeof e==`string`)return{themeMode:e,themeOverrides:{}};if(!e||typeof e!=`object`)return{themeMode:`auto`,themeOverrides:{}};let{mode:t,...n}=e;return{themeMode:t??`auto`,themeOverrides:n}}function ke(e){return e&&e!==`auto`?e:globalThis.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,n){let r=t??ae[e];return n?r:r.filter(e=>e!==`history`)}function Me(e){return{enabled:e?.enabled??oe.enabled,volume:e?.volume??oe.volume,events:e?.events}}function Ne(e){return{enabled:e?.enabled??F.enabled,events:e?.events}}function Pe(e,t){let n=e?.sampleRate??re.sampleRate;return{enabled:e?.enabled??re.enabled,endpoint:e?.endpoint??`${t}/pai/elements-px.gif`,sampleRate:Math.min(1,Math.max(0,Number.isFinite(n)?n:1)),token:e?.token}}function Fe(e){let t={text:`Powered by ${M.displayName}`,href:M.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,t){let n=e??se,r=/* @__PURE__ */ new Set,i=[];for(let e of n.slice(0,4)){if(!e?.label||!e?.layout)continue;let n=e.contentCollectionIds?.filter(Boolean),a=e.id??n?.[0]??e.layout;for(;r.has(a);)a=`${a}-${i.length}`;r.add(a);let o={id:a,label:e.label,layout:e.layout};n?.length&&(o.contentCollectionIds=n),e.layout===`home`&&(o.brandName=e.brandName,o.greetingText=e.greetingText,o.showGreeting=!(e.hideGreeting??!1),o.showSearchBar=!(e.hideSearchBar??!1),o.showRecentConversations=t&&!(e.hideRecentConversations??!1),e.userAvatars?.length&&(o.userAvatars=e.userAvatars),e.status&&(o.status=e.status),o.contentBlockTitle=e.contentBlockTitle),i.push(o)}return{list:i,byId:Object.fromEntries(i.map(e=>[e.id,e]))}}function Re(e,t){if(!e?.length)return ne;let n=[],r=/* @__PURE__ */ new Set;for(let i of e){if(!i?.id||r.has(i.id))continue;let e=C(i,t),a=(e.fields??[]).filter(e=>!!(e?.name&&e.label&&e.type)),o=(Array.isArray(e.on)?e.on:[e.on]).map(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??ie.variant,size:e?.size??ie.size,label:e?.label??ie.label,icon:e?.icon??ie.icon,hidden:e?.hidden??ie.hidden,callout:t}}function 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=E(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`,`history`];function Ue(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];r===`theme`?a===void 0?n[r]=i:typeof a==`string`&&typeof i==`object`&&i&&(n[r]={...i,mode:a}):r!==`i18n`&&(n[r]=We(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=We(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=Ge(a,t)),n.i18n=e}return n}function We(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 Ge(e,t){if(!e)return t;if(!t)return e;let n=j(e),r=j(t);if(!n&&!r)return{...e,...t};let i={},a=n?e:{en:e},o=r?t:{en:t};for(let[e,t]of Object.entries(a))i[e]={...t};for(let[e,t]of Object.entries(o))i[e]={...i[e],...t};return i}const Ke=[`clear`,`expand`,`fullscreen`,`popOut`,`sound`,`history`,`language`,`theme`,`textSize`,`close`];function qe(e){return e!==`false`}const Je=[[`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]],Ye=[[`mode`,`mode`,e=>e],[`position`,`position`,e=>e],[`iframe`,`iframe`,qe]],Xe=[[`width`,`width`],[`height`,`height`]],Ze=[[`response-mode`,`responseMode`,e=>e],[`start-minimized`,`startMinimized`,qe],[`show-reasoning`,`showReasoning`,qe],[`show-tool-calls`,`showToolCalls`,qe],[`show-sources`,`showSources`,qe],[`disable-message-feedback`,`disableMessageFeedback`,qe],[`auto-send-suggestions`,`autoSendSuggestions`,qe],[`pop-out-url`,`popOutUrl`]],Qe=[[`locale`,`locale`]];new Set(Ke);const z=[[`launcher-variant`,`variant`,e=>e],[`launcher-size`,`size`,e=>e],[`launcher-icon`,`icon`],[`launcher-hidden`,`hidden`,qe]],$e=[[`features-disable-file-upload`,`disableFileUpload`,qe],[`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=[Je,Ye,Xe,Ze,Qe,z,$e,et,tt,nt],at=/* @__PURE__ */ new Set([`iframe`,`start-minimized`]);[...it.flatMap(e=>e.map(([e])=>e).filter(e=>!at.has(e))),...rt];const ot=R.scope(`track`);function st(e,t){let n=typeof e==`string`?e.trim():``;if(!n||n.length>64){ot.warn(`track: ignored an event without a name of 1–64 characters`,{name:e});return}let r=Object.fromEntries(Object.entries(typeof t==`object`&&t?t:{}).filter(e=>typeof e[1]==`string`||typeof e[1]==`boolean`||Number.isFinite(e[1])));return JSON.stringify(r).length>256?(ot.warn(`track: sent the event without its data, which is over 256 characters`,{name:n}),{name:n}):Object.keys(r).length>0?{name:n,data:r}:{name:n}}function ct(e){let t=[];return e.on(`hostEvent`,e=>{t.push({...e,at:Date.now()}),t.length>10&&t.shift()}),t}function lt(){let e=Date.now(),t=/* @__PURE__ */ new Uint8Array(16);t[0]=Math.floor(e/2**40)&255,t[1]=Math.floor(e/2**32)&255,t[2]=e>>>24&255,t[3]=e>>>16&255,t[4]=e>>>8&255,t[5]=e&255,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);else for(let t=0;t<e.length;t++)e[t]=Math.floor(Math.random()*256)}const dt=R.scope(`persistence`);function ft(e,t=ee,n){let r=n?`${e}.${n}`:e,i=`${M.cssPrefix}.storageVersion`,a=t.get(i)??void 0,o=a?`.v${a}`:``,s=`${M.cssPrefix}.${r}${o}`,c=`${M.cssPrefix}${o}.visitorId`,l=`${s}.conversationId`,u=`${s}.userPrefs`,d=`${s}.panelOpen`,f=`${s}.panelSize`,p=`${s}.calloutDismissed`,m=`${s}.sidebarCollapsed`,h=`${s}.activeModule`,g=`${s}.seenNewsId`,_=`${s}.historyCount`,v=`${s}.formsDone`,y={getVisitorId(){let e=t.get(c);if(e)return e;let n=lt();return t.set(c,n),n},loadConversationId(){return t.get(l)??void 0},saveConversationId(e){dt.trace(`saveConversationId`,{id:e,scope:r}),e?t.set(l,e):t.remove(l)},loadDraft(e){return t.get(`${s}.draft.${e}`)??``},saveDraft(e,n){let r=`${s}.draft.${e}`;n?t.set(r,n):t.remove(r)},loadMessageQueue(e){let n=t.get(`${s}.messageQueue.${e}`);if(!n)return[];try{let e=JSON.parse(n);return!Array.isArray(e)||!e.every(mt)?[]:e}catch(e){return dt.warn(`loadMessageQueue parse failed`,{error:e}),[]}},saveMessageQueue(e,n){let r=`${s}.messageQueue.${e}`;if(n.length===0)t.remove(r);else try{t.set(r,JSON.stringify(n))}catch(e){dt.warn(`saveMessageQueue serialise failed`,{error:e})}},loadUserPrefs(){let e=t.get(u);if(!e)return{};try{return ht(JSON.parse(e))}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=y.loadUserPrefs();y.saveUserPrefs({...t,...e})},loadPanelOpen(){let e=t.get(d);return e===`1`||e!==`0`&&null},savePanelOpen(e){t.set(d,e?`1`:`0`)},loadPanelSize(){let e=t.get(f);return e===`normal`||e===`expanded`||e===`fullscreen`?e:null},savePanelSize(e){t.set(f,e)},loadCalloutDismissed(e){if(!e)return!1;let n=t.get(p);return!!n&&n===e},saveCalloutDismissed(e){e?t.set(p,e):t.remove(p)},loadSidebarCollapsed(){let e=t.get(m);return e===`1`||e!==`0`&&null},saveSidebarCollapsed(e){t.set(m,e?`1`:`0`)},loadActiveModule(){return t.get(h)||null},saveActiveModule(e){t.set(h,e)},loadSeenNewsId(){return t.get(g)||null},saveSeenNewsId(e){t.set(g,e)},loadHistoryCount(){let e=t.get(_);if(!e)return null;let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=0?n:null},saveHistoryCount(e){t.set(_,String(e))},loadFormsDone(){let e=t.get(v);if(!e)return{};try{let t=JSON.parse(e);return pt(t)?Object.fromEntries(Object.entries(t).filter(e=>typeof e[1]==`number`)):{}}catch(e){return dt.warn(`loadFormsDone parse failed`,{error:e}),{}}},saveFormDone(e){try{let n=y.loadFormsDone();n[e]=Date.now(),t.set(v,JSON.stringify(n))}catch(e){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)},reset(){let e=t.get(l);e&&(t.remove(`${s}.draft.${e}`),t.remove(`${s}.messageQueue.${e}`));for(let e of[c,l,u,d,f,p,m,h,g,_,v])t.remove(e);dt.info(`reset: forgot the visitor`,{scope:r})}};return y}function pt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function mt(e){return pt(e)&&typeof e.id==`string`&&e.id.length>0&&typeof e.text==`string`}function ht(e){if(!pt(e))return{};let t={};return typeof e.locale==`string`&&(t.locale=e.locale),typeof e.soundMuted==`boolean`&&(t.soundMuted=e.soundMuted),(e.themeMode===`auto`||e.themeMode===`light`||e.themeMode===`dark`)&&(t.themeMode=e.themeMode),(e.textSize===`small`||e.textSize===`normal`||e.textSize===`large`)&&(t.textSize=e.textSize),pt(e.widgetSize)&&typeof e.widgetSize.width==`number`&&typeof e.widgetSize.height==`number`&&(t.widgetSize={width:e.widgetSize.width,height:e.widgetSize.height}),t}const gt=`1.12.3`,_t={open:()=>void 0,close:()=>void 0,expand:e=>({on:e}),fullscreen:e=>({on:e}),send:e=>({attachments:e.attachmentCount}),message:e=>({role:e.role}),stop:()=>void 0,clear:()=>void 0,suggestion:()=>void 0,toggleHistory:e=>({view:e.view}),handshake:()=>void 0,formSubmit:e=>({formId:e.formId,skipped:e.skipped}),toolResult:()=>void 0,toolDecision:e=>({approved:e.approved}),hostEvent:e=>({name:e.name,data:e.data&&JSON.stringify(e.data)}),messageFeedback:e=>({value:e.value??`none`}),contentView:e=>({section:e.section,count:e.count}),contentOpen:e=>({contentId:e.contentId,contentCollectionId:e.contentCollectionId}),contentSearch:e=>({qlen:e.queryLength,hits:e.hitCount}),contentRead:e=>({contentId:e.contentId}),contentLinkClick:e=>({contentId:e.contentId}),attach:e=>({count:e.count,bytes:e.totalBytes}),voiceStart:()=>void 0,voiceStop:e=>({ms:e.durationMs}),voiceCancel:()=>void 0,localeChange:e=>({locale:e}),themeChange:e=>({theme:e}),textSizeChange:e=>({size:e}),soundToggle:e=>({muted:e.muted}),sidebarToggle:e=>({collapsed:e.collapsed}),calloutDismiss:()=>void 0,error:()=>void 0};function vt(){let e=navigator;return e.globalPrivacyControl===!0||e.doNotTrack===`1`}function yt(){return location.origin+location.pathname}function bt(){try{return document.referrer?new URL(document.referrer).origin:``}catch{return``}}function xt(e,t){let n=Math.random(),r=0,i=0,a=/* @__PURE__ */ new Set;function o(e,o){let{tracking:s,publicKey:c,aiAgentDeploymentId:l,mode:u,themeMode:d}=t.getOptions();if(!s.enabled||vt()||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`,gt),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`,yt());let h=bt();h&&p.set(`ref`,h),p.set(`sw`,String(screen.width)),p.set(`sh`,String(screen.height)),p.set(`vw`,String(innerWidth)),p.set(`vh`,String(innerHeight)),p.set(`dpr`,String(devicePixelRatio)),p.set(`lang`,navigator.language);try{p.set(`tz`,Intl.DateTimeFormat().resolvedOptions().timeZone)}catch{}if(p.set(`m`,u),p.set(`th`,d),o)for(let[e,t]of Object.entries(o))t!==void 0&&p.set(e,String(t));p.set(`ts`,String(Date.now()));let g=`${s.endpoint}?${p}`;if(g.length>2e3)return;let _=new Image(1,1);a.add(_);function v(){return a.delete(_)}_.addEventListener(`load`,v,{once:!0}),_.addEventListener(`error`,v,{once:!0}),_.src=g}let s=[];function c(e,t){if(s&&e!==`handshake`){s.length<60&&s.push([e,t]);return}let n=s??[];s=void 0;for(let[e,t]of n)o(e,t);o(e,t)}let l=Object.keys(_t).map(t=>e.on(t,e=>c(t,_t[t]?.(e))));return()=>{for(let e of l)e();a.clear()}}const St=`:host{--__P__-accent-user: __BRAND_ACCENT__;--__P__-accent: var(--__P__-accent-user);--__P__-accent-text-user: __BRAND_ACCENT_TEXT__;--__P__-accent-text: var(--__P__-accent-text-user);--__P__-accent-fg: var(--__P__-accent);--__P__-radius: __BRAND_RADIUS__;--__P__-radius-sm: 8px;--__P__-radius-md: 10px;--__P__-radius-lg: 16px;--__P__-font: __BRAND_FONT__;--__P__-font-display: var(--__P__-font);--__P__-font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--__P__-bg: oklch(1 0 0);--__P__-bg-elevated: oklch(.9789 .0029 278.3);--__P__-surface: var(--__P__-bg-elevated);--__P__-muted: var(--__P__-fg-muted);--__P__-hover: oklch(.1686 .011 278.3 / .06);--__P__-fg: oklch(.1686 .011 278.3);--__P__-fg-muted: oklch(.4932 .0301 278.3);--__P__-border: oklch(.9312 .0084 278.3);--__P__-border-strong: oklch(.8757 .0131 278.3);--__P__-bubble-user: var(--__P__-accent);--__P__-bubble-user-text: var(--__P__-accent-text);--__P__-bubble-assistant: oklch(.9638 .0058 278.3);--__P__-bubble-assistant-text: var(--__P__-fg);--__P__-on-accent: var(--__P__-accent-text);--__P__-success: oklch(.6456 .1654 151.53);--__P__-warning: oklch(.7135 .1494 74.05);--__P__-danger: oklch(.5966 .1818 24.51);--__P__-danger-text: oklch(.5054 .1905 27.52);--__P__-danger-bg: oklch(.5966 .1818 24.51 / .1);--__P__-neutral: oklch(.7137 .0192 278.3);--__P__-pill-l-min: .3;--__P__-pill-l-max: .46;--__P__-focus: var(--__P__-accent);--__P__-shadow-panel: 0 8px 24px -8px rgba(13, 15, 20, .18), 0 24px 64px -24px rgba(13, 15, 20, .24);--__P__-shadow-card: 0 1px 2px rgba(13, 15, 20, .06), 0 4px 12px -6px rgba(13, 15, 20, .12);--__P__-backdrop: oklch(.1686 .011 278.3 / .55);--__P__-shadow-fab: 0 6px 16px -4px color-mix(in oklch, var(--__P__-accent) 45%, transparent), 0 12px 32px -12px rgba(13, 15, 20, .25);--__P__-z-fab: 2147483600;--__P__-z-panel: 2147483601;--__P__-panel-w: 380px;--__P__-panel-h: 600px;--__P__-fab-size: 56px;--__P__-conversation-max: 768px;--__P__-space-1: 4px;--__P__-space-2: 8px;--__P__-space-3: 12px;--__P__-space-4: 16px;--__P__-space-5: 20px;--__P__-space-6: 24px;--__P__-space-8: 32px;--__P__-text-scale: 1;--__P__-text-xs: calc(12px * var(--__P__-text-scale));--__P__-text-sm: calc(13px * var(--__P__-text-scale));--__P__-text-base: calc(15px * var(--__P__-text-scale));--__P__-text-md: calc(16px * var(--__P__-text-scale));--__P__-text-lg: calc(18px * var(--__P__-text-scale));--__P__-text-xl: calc(22px * var(--__P__-text-scale));--__P__-text-2xl: calc(30px * var(--__P__-text-scale))}:host([data-mode="modal"]),:host([data-mode="drawer"]){--__P__-conversation-max: 100%}:host([data-text-size="small"]){--__P__-text-scale: .9}:host([data-text-size="large"]){--__P__-text-scale: 1.15}:host{--__P__-ease: cubic-bezier(.2, .7, .2, 1);--__P__-ease-out: cubic-bezier(.2, .7, .2, 1);--__P__-ease-in: cubic-bezier(.4, 0, 1, 1);--__P__-ease-in-out: cubic-bezier(.65, 0, .35, 1);--__P__-dur-quick: .12s;--__P__-dur-base: .22s;--__P__-dur-slow: .32s;font-family:var(--__P__-font);color:var(--__P__-fg);color-scheme:light;--__P__-color-scheme: light}:host([data-theme="dark"]){--__P__-bg: oklch(.1783 .0128 278.3);--__P__-bg-elevated: oklch(.2232 .0182 278.3);--__P__-fg: oklch(.9368 .01 278.3);--__P__-fg-muted: oklch(.7048 .0296 278.3);--__P__-border: oklch(.2752 .0266 278.3);--__P__-border-strong: oklch(.335 .0291 278.3);--__P__-hover: oklch(.9368 .01 278.3 / .08);--__P__-bubble-assistant: oklch(.2474 .0311 278.3);--__P__-bubble-assistant-text: var(--__P__-fg);--__P__-danger-text: oklch(.8077 .1035 19.57);--__P__-danger-bg: oklch(.5966 .1818 24.51 / .18);--__P__-shadow-panel: 0 8px 24px -8px rgba(0, 0, 0, .6), 0 24px 64px -24px rgba(0, 0, 0, .7);--__P__-shadow-card: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 12px -6px rgba(0, 0, 0, .5);--__P__-backdrop: rgba(0, 0, 0, .65);--__P__-pill-l-min: .75;--__P__-pill-l-max: .92;color-scheme:dark;--__P__-color-scheme: dark}@media(prefers-color-scheme:dark){:host([data-theme="auto"]){--__P__-bg: oklch(.1783 .0128 278.3);--__P__-bg-elevated: oklch(.2232 .0182 278.3);--__P__-fg: oklch(.9368 .01 278.3);--__P__-fg-muted: oklch(.7048 .0296 278.3);--__P__-border: oklch(.2752 .0266 278.3);--__P__-border-strong: oklch(.335 .0291 278.3);--__P__-hover: oklch(.9368 .01 278.3 / .08);--__P__-bubble-assistant: oklch(.2474 .0311 278.3);--__P__-bubble-assistant-text: var(--__P__-fg);--__P__-pill-l-min: .75;--__P__-pill-l-max: .92;--__P__-shadow-panel: 0 8px 24px -8px rgba(0, 0, 0, .6), 0 24px 64px -24px rgba(0, 0, 0, .7);color-scheme:dark;--__P__-color-scheme: dark}}@supports (color: oklch(from red l c h)){:host{--__P__-accent: oklch(from var(--__P__-accent-user) clamp(.3, l, .62) c h);--__P__-accent-text: oklch(from var(--__P__-accent) clamp(0, (l / .623 - 1) * -infinity, 1) 0 h);--__P__-accent-fg: oklch(from var(--__P__-accent-user) clamp(.3, l, .46) c h)}:host([data-theme="dark"]){--__P__-accent: oklch(from var(--__P__-accent-user) clamp(.65, l, .85) c h);--__P__-accent-fg: var(--__P__-accent)}@media(prefers-color-scheme:dark){:host([data-theme="auto"]){--__P__-accent: oklch(from var(--__P__-accent-user) clamp(.65, l, .85) c h);--__P__-accent-fg: var(--__P__-accent)}}}@media(prefers-reduced-motion:reduce){:host{--__P__-dur-quick: 1ms;--__P__-dur-base: 1ms;--__P__-dur-slow: 1ms}}
|
|
2
2
|
|
|
3
3
|
*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;border:0}button{font:inherit;color:inherit;background:none;cursor:pointer;-webkit-appearance:none;appearance:none;line-height:1}button:focus-visible,[tabindex]:focus-visible,textarea:focus-visible,input:focus-visible{outline:2px solid var(--__P__-accent);outline-offset:2px}textarea,input{font:inherit;color:inherit;background:none;border:0;outline:0;resize:none}a{color:var(--__P__-accent-fg);text-decoration:underline;text-underline-offset:2px}img,svg{display:block;max-width:100%}ul,ol{list-style:none}.__P__-app{display:block;width:100%;height:100%;font-family:var(--__P__-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01","ss03"}.__P__-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
|
|
4
4
|
|
|
@@ -30,5 +30,5 @@ import{Component as e,h as t,render as n}from"preact";import{batch as r,computed
|
|
|
30
30
|
`))if(i!==``){if(i.startsWith(`:`))t?.(i.slice(1).trim());else if(i.startsWith(`data:`)){let e=i.slice(5).replace(/^ /,``);n=n?`${n}\n${e}`:e}else i.startsWith(`id:`)&&(r=i.slice(3).trim())}if(n===`[DONE]`)return`done`;if(!n)return null;try{let e=JSON.parse(n);return na.trace(`chunk`,{type:e.type,eventId:r}),{chunk:e,eventId:r}}catch(e){throw na.trace(`frame parse failed`,{errorType:e instanceof Error?e.name:typeof e,payloadLength:n.length}),new ta(`invalid SSE frame`,`network`,void 0,e)}}const q=R.scope(`transport`),oa=6e4,sa=/* @__PURE__ */ new WeakMap;function ca(e){return sa.get(e)}function la(e,t){return sa.set(e,t),e}function ua(e){return Math.max(e?.upsertRevision??0,e?.read?.revision??0)}function da(e,t){return e.conversationId===t.conversationId&&e.title===t.title&&e.lastMessageAt===t.lastMessageAt&&e.preview===t.preview&&e.canContinue===t.canContinue&&e.hasUnread===t.hasUnread&&e.controlState===t.controlState}function fa(e,t,n=!0){switch(t.type){case`snapshot`:{let n=new Map(e.map(e=>[e.conversationId,e])),r=e.filter(e=>(ca(e)?.activityRevision??0)>t.requestedRevision).toSorted((e,t)=>ca(t).activityRevision-ca(e).activityRevision),i=new Set(r.map(e=>e.conversationId));return[...r,...t.result.conversations.filter(e=>!i.has(e.conversationId)).map(e=>{let r=n.get(e.conversationId);if(!r)return e;let i=ca(r);return(i?.upsertRevision??0)>t.requestedRevision?r:i?.read&&!r.hasUnread&&i.read.lastMessageAt===e.lastMessageAt?la({...e,hasUnread:!1},{upsertRevision:0,read:i.read}):e})]}case`read`:{let n=e.findIndex(e=>e.conversationId===t.conversationId&&(t.lastMessageAt===void 0||e.lastMessageAt===t.lastMessageAt));if(n<0)return e;let r=e[n],i=ca(r);if(ua(i)>t.revision)return e;let a=t.lastMessageAt??r.lastMessageAt,o={upsertRevision:i?.upsertRevision??0,...i?.activityRevision===void 0?{}:{activityRevision:i.activityRevision},read:{revision:t.revision,...a?{lastMessageAt:a}:{}}};return r.hasUnread?e.map((e,t)=>t===n?la({...e,hasUnread:!1},o):e):(la(r,o),e)}case`upsert`:{let r=e.findIndex(e=>e.conversationId===t.conversation.conversationId);if(r<0&&!n)return e;let i=r<0?void 0:e[r],a=i?ca(i):void 0;if(ua(a)>t.revision)return e;let o=t.activity?t.revision:a?.activityRevision,s={upsertRevision:t.revision,...o===void 0?{}:{activityRevision:o},...!t.conversation.hasUnread&&a?.read?{read:a.read}:{}},c=i?{...i,...t.conversation,title:i.title}:{...t.conversation};return i&&da(i,c)?(la(i,s),e):(la(c,s),t.activity?[c,...e.filter(e=>e.conversationId!==c.conversationId)]:i?e.map((e,t)=>t===r?c:e):[...e,c])}default:return t}}const pa=/* @__PURE__ */ new Set([408,425,429,500,502,503,504]);function ma(e){return 400*2**e+Math.floor(Math.random()*250)}function ha(e){return 6e4+Math.ceil(e/1048576)*15e3}function ga(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 _a=class{constructor(e){this.ttlMs=e,B(this,`map`,/* @__PURE__ */ new Map)}getOrFetch(e,t){let n=this.map.get(e);if(n&&performance.now()-n.at<this.ttlMs)return n.result;let r={at:performance.now(),result:t().then(e=>(r.value=e,e)).catch(t=>{throw this.map.get(e)===r&&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&&performance.now()-t.at<this.ttlMs)return t.value}update(e){for(let t of this.map.values())if(t.value!==void 0){let n=e(t.value);t.value=n,t.result=Promise.resolve(n)}else t.result=t.result.then(n=>{let r=e(n);return t.value=r,r})}delete(e){this.map.delete(e)}},va=class{constructor(e){this.opts=e,B(this,`conversationListeners`,/* @__PURE__ */ new Set),B(this,`conversationRevision`,0),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,`userTokenSource`,void 0),B(this,`userToken`,void 0),B(this,`userTokenRequest`,void 0),B(this,`conversationsCache`,new _a(1e4)),B(this,`contentCache`,new _a(oa)),B(this,`contentCollectionsCache`,new _a(oa))}setUserToken(e){this.userTokenSource=e,this.userToken=typeof e==`string`&&e||void 0,this.userTokenRequest=typeof e==`function`?this.fetchUserToken():void 0}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:gt};this.visitorId&&(e.visitorId=this.visitorId),this.conversationId&&(e.conversationId=this.conversationId),this.locale&&(e.locale=this.locale);let t=ea(this.userContext,this.pageContext);return t&&(e[ni]=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){q.debug(`handshake →`,{visitorId:e.visitorId,conversationId:e.conversationId,locale:e.locale}),this.userTokenRequest&&await this.userTokenRequest;let t=await this.postJson(ti.handshake,e,`handshake`);return q.debug(`handshake ←`,{visitorId:t.visitorId,conversationId:t.conversationId,hasWelcome:!!t.welcome,hasConfig:!!t.config,rebind:t.rebind}),this.visitorId=e.visitorId,this.conversationId=t.conversationId,t}async uploadFile(e,t){q.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,ha(e.size));return q.debug(`uploadFile ←`,{id:r.id,url:r.url}),r}async transcribe(e,t=`audio/webm`){q.debug(`transcribe →`,{size:e.size,mimeType:t});let n=new FormData;n.append(`audio`,e,`voice.${ya(t)}`),n.append(`mimeType`,t);let r=await this.postForm(this.transcribePath,n,`transcribe`);return q.debug(`transcribe ←`,{textLen:r.text.length}),r}subscribeConversationChanges(e){return this.conversationListeners.add(e),()=>this.conversationListeners.delete(e)}publishConversation(e,t=!1){let n={type:`upsert`,conversation:e,revision:++this.conversationRevision,...t?{activity:!0}:{}};this.conversationsCache.update(r=>{let i=r.pagination.page===1,a=r.conversations.some(t=>t.conversationId===e.conversationId),o=fa(r.conversations,n,i&&t),s=i&&o.length>r.pagination.limit?o.slice(0,r.pagination.limit):o;if(!i||!t||a||r.pagination.hasNext)return s===r.conversations?r:{...r,conversations:s};let c=Math.max(r.pagination.total,r.conversations.length)+1,l=Math.ceil(c/r.pagination.limit);return{...r,conversations:s,pagination:{...r.pagination,total:c,totalPages:l,hasNext:r.pagination.page<l}}});for(let e of this.conversationListeners)e(n)}localeCacheKey(e){return`${this.locale??``}|${JSON.stringify(e,Object.keys(e).toSorted())}`}peekConversations(e={}){return this.conversationsCache.peek(this.localeCacheKey(e))}listConversations(e={},t=!1){if((e.page??1)>1)return this.fetchConversations(e);let n=this.localeCacheKey(e),r=this.conversationRevision;t&&this.conversationsCache.delete(n);let i=this.conversationsCache.getOrFetch(n,()=>this.fetchConversations(e));return t?i.then(e=>{let t={type:`snapshot`,result:e,requestedRevision:r};for(let e of this.conversationListeners)e(t);return e}):i}async fetchConversations(e){let t=new URL(this.url(ti.listConversations));return e.visitorId&&t.searchParams.set(`visitorId`,e.visitorId),e.page&&t.searchParams.set(`page`,String(e.page)),e.limit&&t.searchParams.set(`limit`,String(e.limit)),e.ids?.length&&t.searchParams.set(`ids`,e.ids.join(`,`)),this.getJson(t.toString(),`listConversations`)}async loadConversation(e,{ids:t=[],beforeId:n,beforeCreatedAt:r}={}){let i=new URL(this.url(ti.listMessages));i.searchParams.set(`conversationId`,e),i.searchParams.set(`limit`,`50`),t.length>0&&i.searchParams.set(`ids`,t.join(`,`)),n&&i.searchParams.set(`beforeId`,n),r&&i.searchParams.set(`beforeCreatedAt`,r);let a=await this.getJson(i.toString(),`loadConversation`);return{...a,messages:a.messages.toReversed()}}async markRead(e,t){if(!this.visitorId||!e)return;let n={type:`read`,conversationId:e,...t===void 0?{}:{lastMessageAt:t},revision:++this.conversationRevision};this.conversationsCache.update(e=>{let t=fa(e.conversations,n);return t===e.conversations?e:{...e,conversations:t}});for(let e of this.conversationListeners)e(n);try{await this.postJson(ti.markRead,{conversationId:e},`markRead`,!0)}catch(e){q.debug(`markRead failed (non-fatal)`,{err:e})}}async requestOperator(){if(this.visitorId&&this.conversationId)try{return(await this.postJson(ti.requestOperator,{},`requestOperator`)).controlState}catch(e){q.debug(`requestOperator failed (non-fatal)`,{err:e});return}}async cancelOperatorRequest(){if(this.visitorId&&this.conversationId)try{return(await this.postJson(ti.cancelOperatorRequest,{},`cancelOperatorRequest`)).controlState}catch(e){q.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(ti.content));for(let[n,r]of Object.entries(e))r!==void 0&&t.searchParams.set(n,Array.isArray(r)?r.join(`,`):String(r));let n=await this.getJson(t.toString(),`listContent`),r=n.items?.map(e=>x(e,this.locale))??[];return{...n,items:r}}async setContentVote(e){try{await this.postJson(this.dataUrl(ti.contentVoteSet),e,`setContentVote`)}catch{}}listContentCollections(e){return this.contentCollectionsCache.getOrFetch(this.localeCacheKey({ids:e}),()=>this.fetchContentCollections(e))}async fetchContentCollections(e){let t=new URL(this.dataUrl(ti.contentCollections));return e.length&&t.searchParams.set(`ids`,e.join(`,`)),{items:(await this.getJson(t.toString(),`listContentCollections`)).items?.map(e=>S(e,this.locale))??[]}}async bootstrap(e){let t=new URL(this.dataUrl(ti.bootstrap));e&&t.searchParams.set(`conversationId`,e);let n=await this.getJson(t.toString(),`bootstrap`);return{forms:n.forms??[],formSubmissions:n.formSubmissions??[]}}async saveUserPrefs(e){return this.postJson(ti.updateSettings,{userPrefs:e},`saveUserPrefs`)}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??ti.submitForm}async submitForm(e){q.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){q.debug(`submitForm failed (non-fatal)`,{err:e})}}async submitFeedback(e){q.debug(`submitFeedback →`,{messageId:e.messageId,value:e.value});try{await this.postJson(ti.messageFeedback,{messageId:e.messageId,set:{feedback:e.value}},`submitFeedback`)}catch(e){q.debug(`submitFeedback failed (non-fatal)`,{err:e})}}async sendTurn(e,t={}){q.debug(`message →`,{conversationId:e.conversationId,visitorId:e.visitorId,messageCount:e.messages.length});let n=JSON.stringify({...this.withEnvelope(e),[ni]:ea(this.userContext,this.pageContext,this.opts.recentHostEvents)}),r=t.keepalive===!0&&new Blob([n]).size<6e4;try{return await this.runWithAbort(async e=>{let t=await this.withFreshUserToken(()=>this.fetchImpl(this.url(ti.streamMessage),{method:`POST`,credentials:`omit`,headers:{accept:`application/json`,"content-type":`application/json`,...this.headersFor(this.url(ti.streamMessage))},body:n,keepalive:r,signal:e}));if(t.status!==202)throw new ta(`sendTurn failed: expected 202, received ${t.status}`,`server`,t.status);let i;try{i=await t.json()}catch(n){throw e?.aborted?n:new ta(`sendTurn failed: invalid acknowledgement`,`server`,t.status,n)}if(!ba(i))throw new ta(`sendTurn failed: invalid acknowledgement`,`server`,t.status);return i},void 0,3e4)}catch(e){throw e instanceof ta?e:new ta(`sendTurn failed: network error`,`network`,void 0,e)}}cancelTurn(e,t){this.visitorId&&e&&t&&(q.debug(`cancel stream`,{conversationId:e,runId:t,visitorId:this.visitorId}),this.fetchImpl(this.url(ti.cancelStream),{method:`POST`,credentials:`omit`,headers:{"content-type":`application/json`,...this.headersFor(this.url(ti.cancelStream))},body:JSON.stringify(this.withEnvelope({conversationId:e,runId:t})),keepalive:!0}).catch(e=>q.debug(`cancel POST failed (non-fatal)`,{err:e})))}async connectResumeStream(e){let t=new AbortController;function n(){return t.abort(e.signal.reason)}e.signal.aborted?n():e.signal.addEventListener(`abort`,n,{once:!0});let r=setTimeout(()=>t.abort(),1e4);function i(){clearTimeout(r),e.signal.removeEventListener(`abort`,n)}let a;try{this.userTokenRequest&&await this.userTokenRequest,a=await this.fetchImpl(this.resumeUrl(),{method:`GET`,credentials:`omit`,headers:{accept:`text/event-stream`,...this.headersFor(this.resumeUrl())},signal:t.signal})}catch(t){return i(),e.signal.aborted||q.debug(`resume-stream fetch failed — reconnecting`,{err:t}),`held`}if(!a.ok)return i(),a.status===401&&typeof this.userTokenSource==`function`?(await this.fetchUserToken(),`held`):a.status===409||pa.has(a.status)?(q.debug(`resume-stream → transient response; reconnecting`,{status:a.status}),`held`):(q.debug(`resume-stream → endpoint unavailable`,{status:a.status}),`unavailable`);if(!a.body)return i(),q.debug(`resume-stream → bodyless response; stopping`,{status:a.status}),`unavailable`;if(!(a.headers.get(`content-type`)??``).includes(`text/event-stream`))return i(),q.debug(`resume-stream → non-SSE response; stopping`),`unavailable`;let o=!1;try{for await(let{chunk:n}of ra(a,t.signal,t=>{o||t!==`connected`||(o=!0,clearTimeout(r),e.onConnected())})){if(e.signal.aborted)return`held`;e.onChunk(n)}}catch(t){if(e.signal.aborted)return`held`;q.debug(`resume-stream segment dropped — reconnecting`,{err:t})}finally{i()}return`held`}resumeUrl(){return this.withEnvelopeQuery(ti.streamResume)}async postJson(e,t,n,r=!1){let i=await this.fetchWithRetry(()=>[this.url(e),{method:`POST`,credentials:`omit`,headers:{"content-type":`application/json`,...this.headersFor(this.url(e))},body:JSON.stringify(this.withEnvelope(t)),...r?{keepalive:!0}:{}}],n);return this.assertOk(i,n)}async postForm(e,t,n,r,i){return this.runWithAbort(async r=>{let i=await this.withFreshUserToken(()=>this.fetchImpl(this.url(e),{method:`POST`,credentials:`omit`,headers:this.headersFor(this.url(e)),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;function i(){return 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.headersFor(this.url(e))}}],t);return this.assertOk(n,t)}async fetchWithRetry(e,t){for(let n=0;;n++){let r;try{r=await this.withFreshUserToken(()=>this.fetchImpl(...e()))}catch(e){if(n>=3)throw new ta(`${t} failed: network error`,`network`,void 0,e);q.debug(`request network error — retrying`,{label:t,attempt:n}),await Zi(ma(n));continue}if(r.ok||!pa.has(r.status)||n>=3)return r;let i=ga(r.headers)??ma(n);q.debug(`request retryable status — retrying`,{label:t,status:r.status,attempt:n,wait:i}),await Zi(i)}}async assertOk(e,t){if(!e.ok)throw new ta(`${t} failed: ${e.status}`,`server`,e.status);return await e.json()}fetchUserToken(){let e=this.userTokenSource;if(typeof e!=`function`)return Promise.resolve();let t=Promise.resolve().then(e).then(t=>{this.userTokenSource===e&&(this.userToken=t||void 0)},e=>{q.warn(`userToken function failed; continuing as an anonymous visitor`,{err:e})});return this.userTokenRequest=t,t}headersFor(e){let t=!/^https?:\/\//i.test(e)||e.startsWith(`${this.opts.agentApiBaseUrl}/`);return{...this.opts.auth.headers(),...t&&this.userToken?{"x-user-token":this.userToken}:{}}}async withFreshUserToken(e){let t=await e();return t.status!==401||!this.userTokenSource?t:typeof this.userTokenSource==`function`?(await this.fetchUserToken(),e()):(q.warn(`userToken rejected as invalid or expired; pass a function so the widget can fetch a fresh one`),t)}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 ya(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 ba(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 xa(e,t,n){switch(e){case`clear`:case`sound`:case`history`:case`language`:case`theme`:case`textSize`:return!0;case`popOut`:return t!==`standalone`&&t!==`page`;case`expand`:return t===`floating`;case`fullscreen`:return t!==`standalone`;case`close`:return t===`standalone`||t===`page`?!1:t!==`inline`||n===`fullscreen`}}function Sa(e,t,n){return xa(`close`,e,t)?n.includes(`close`):!1}function Ca(e,t){return e===`inline`&&t===`fullscreen`?`exit-fullscreen`:`close`}function wa(e,t,n,r){let i={role:n,text:r};e.emit(`message`,i),t.onMessage?.(i)}function Ta(e){let t=p(e);t.current=e;let n=p(null);return n.current??(n.current=Ea(t)),n.current}function Ea(e){let t=o(null),n=/* @__PURE__ */ new Set;function r(t){return`${e.current.conversationId()??``}:${t}`}function i(t){return t.frequency===`always`?!1:t.frequency===`conversation`?n.has(r(t.id)):t.id in e.current.persistence.loadFormsDone()}function 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`})}else for(let e of a.forms.byTrigger[n]??[]){let r=e.triggers.find(e=>e.kind===n);if(r&&Da(r,a)&&!i(e)&&Oa(e,a)){t.value={form:e,trigger:n};return}}}function s(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)}function c(){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})}return{activeForm:t,fire:a,refresh:c,complete:e=>s(e,!1),skip:()=>s({},!0)}}function Da(e,t){return e.kind===`after-messages`?t.messageCount()>=Number(e.param??0):e.kind!==`page-area`||t.pageArea()===e.param}function Oa(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 ka(e){return Object.fromEntries(e.map(e=>[e,[]]))}function Aa(e,t,n){return e.includes(t)?t:e.includes(n)?n:e[0]??``}function ja(e,t,n){let r=[...new Set(t)],i=Aa(r,e,``),a=o({activeTab:i,stacks:ka(r)});return{sig:a,reconcile(e,t){let i=[...new Set(e)],o=a.value,s=Aa(i,o.activeTab,t),c=Object.fromEntries(i.map(e=>[e,o.stacks[e]??[]])),l=s===o.activeTab&&i.length===Object.keys(o.stacks).length&&i.every(e=>o.stacks[e]===c[e]);r=i,!l&&(a.value={activeTab:s,stacks:c},s!==o.activeTab&&s&&n?.(s))},switchTab(e){e in a.value.stacks&&a.value.activeTab!==e&&(a.value={...a.value,activeTab:e},n?.(e))},open(e,t){let r=a.value;e in r.stacks&&(a.value={activeTab:e,stacks:{...r.stacks,[e]:t?[t]:[]}},r.activeTab!==e&&n?.(e))},push(e){let t=a.value,n=t.stacks[t.activeTab]??[];a.value={...t,stacks:{...t.stacks,[t.activeTab]:[...n,e]}}},pop(){let e=a.value,t=e.stacks[e.activeTab]??[];t.length!==0&&(a.value={...e,stacks:{...e.stacks,[e.activeTab]:t.slice(0,-1)}})},reset(e){a.value={activeTab:Aa(r,e,``),stacks:ka(r)}}}}function Ma(e){return e.stacks[e.activeTab]??[]}function Na(e){return Ma(e).at(-1)}function Pa(e){return Ma(e).length===0}function Fa(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 Ia(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 La(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:Ia(e.mode,e.size,t)}}function Ra(){return typeof window>`u`?0:window.innerWidth}const J={fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,viewBox:`0 0 24 24`},za=`${M.cssPrefix}-icon-dir`;function Ba(){return/* @__PURE__ */ g(`svg`,{...J,"aria-hidden":`true`,children:/* @__PURE__ */ g(`path`,{d:`M21 12a8 8 0 0 1-12 6.93L3 21l1.65-5.16A8 8 0 1 1 21 12Z`})})}function Va(){return/* @__PURE__ */ g(`svg`,{...J,"aria-hidden":`true`,children:/* @__PURE__ */ g(`path`,{d:`M18 6 6 18M6 6l12 12`})})}function Ha(){return/* @__PURE__ */ g(`svg`,{...J,"aria-hidden":`true`,children:/* @__PURE__ */ g(`path`,{d:`M12 5v14M5 12h14`})})}function Ua(){return/* @__PURE__ */ _(`svg`,{...J,class:za,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`path`,{d:`m22 2-7 20-4-9-9-4Z`}),/* @__PURE__ */ g(`path`,{d:`M22 2 11 13`})]})}function Wa(){return/* @__PURE__ */ g(`svg`,{...J,"aria-hidden":`true`,children:/* @__PURE__ */ g(`path`,{d:`M12 19V5M5 12l7-7 7 7`})})}function Ga(){return/* @__PURE__ */ g(`svg`,{...J,class:za,"aria-hidden":`true`,children:/* @__PURE__ */ g(`path`,{d:`M3 20V4l18 8-18 8Z`})})}function Ka(){return/* @__PURE__ */ g(`svg`,{...J,class:za,"aria-hidden":`true`,children:/* @__PURE__ */ g(`path`,{d:`m9 18 6-6-6-6`})})}function qa(){return/* @__PURE__ */ g(`svg`,{...J,"aria-hidden":`true`,children:/* @__PURE__ */ g(`rect`,{x:`6`,y:`6`,width:`12`,height:`12`,rx:`2`})})}function Ja(){return/* @__PURE__ */ g(`svg`,{...J,"aria-hidden":`true`,children:/* @__PURE__ */ 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`})})}function Ya(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`rect`,{x:`9`,y:`2`,width:`6`,height:`12`,rx:`3`}),/* @__PURE__ */ g(`path`,{d:`M5 10a7 7 0 0 0 14 0M12 19v3`})]})}function Xa(){return/* @__PURE__ */ g(`svg`,{...J,"aria-hidden":`true`,children:/* @__PURE__ */ g(`path`,{d:`M3 8V3h5M21 8V3h-5M3 16v5h5M21 16v5h-5`})})}function Za(){return/* @__PURE__ */ g(`svg`,{...J,"aria-hidden":`true`,children:/* @__PURE__ */ g(`path`,{d:`M8 3v5H3M16 3v5h5M8 21v-5H3M16 21v-5h5`})})}function Qa(){return/* @__PURE__ */ g(`svg`,{...J,"aria-hidden":`true`,children:/* @__PURE__ */ g(`path`,{d:`M3 3h7v2H5v5H3zM21 3h-7v2h5v5h2zM3 21h7v-2H5v-5H3zM21 21h-7v-2h5v-5h2z`})})}function $a(){return/* @__PURE__ */ g(`svg`,{...J,"aria-hidden":`true`,children:/* @__PURE__ */ g(`path`,{d:`M10 3v5H3M14 3v5h7M10 21v-5H3M14 21v-5h7`})})}function eo(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`path`,{d:`M14 3h7v7M21 3l-9 9`}),/* @__PURE__ */ g(`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`})]})}function to(){return/* @__PURE__ */ g(`svg`,{...J,"aria-hidden":`true`,viewBox:`0 0 10 10`,children:/* @__PURE__ */ g(`path`,{d:`M9 1L1 9M9 5L5 9M9 9H9`,strokeWidth:`1.5`})})}function no(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`circle`,{cx:`12`,cy:`5`,r:`1.5`,fill:`currentColor`,stroke:`none`}),/* @__PURE__ */ g(`circle`,{cx:`12`,cy:`12`,r:`1.5`,fill:`currentColor`,stroke:`none`}),/* @__PURE__ */ g(`circle`,{cx:`12`,cy:`19`,r:`1.5`,fill:`currentColor`,stroke:`none`})]})}function ro(){return/* @__PURE__ */ g(`svg`,{...J,"aria-hidden":`true`,children:/* @__PURE__ */ g(`path`,{d:`M11 5 6 9H2v6h4l5 4zM15 9a5 5 0 0 1 0 6M18 7a9 9 0 0 1 0 10`})})}function io(){return/* @__PURE__ */ g(`svg`,{...J,"aria-hidden":`true`,children:/* @__PURE__ */ g(`path`,{d:`M11 5 6 9H2v6h4l5 4zM22 9l-6 6M16 9l6 6`})})}function ao(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`path`,{d:`M3 18 8 6l5 12M4.7 14h6.6`}),/* @__PURE__ */ g(`path`,{d:`M14.5 18l3.2-7 3.2 7M15.6 15.8h4.2`})]})}function oo(){return/* @__PURE__ */ g(`svg`,{...J,class:za,"aria-hidden":`true`,children:/* @__PURE__ */ g(`path`,{d:`m5 6 6 6-6 6M13 6l6 6-6 6`})})}function so(){return/* @__PURE__ */ g(`svg`,{...J,"aria-hidden":`true`,children:/* @__PURE__ */ g(`path`,{d:`M20 6 9 17l-5-5`})})}function co(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`path`,{d:`M3 3v6h6`}),/* @__PURE__ */ g(`path`,{d:`M3.05 13A9 9 0 1 0 6 5.3L3 9`}),/* @__PURE__ */ g(`path`,{d:`M12 7v5l3 2`})]})}function lo(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`circle`,{cx:`12`,cy:`12`,r:`10`}),/* @__PURE__ */ g(`path`,{d:`M2 12h20`}),/* @__PURE__ */ 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`})]})}function uo(){return/* @__PURE__ */ g(`svg`,{...J,class:za,"aria-hidden":`true`,children:/* @__PURE__ */ g(`path`,{d:`M19 12H5M12 19l-7-7 7-7`})})}function fo(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`path`,{d:`M12 20h9`}),/* @__PURE__ */ g(`path`,{d:`M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z`})]})}function po(){return/* @__PURE__ */ g(`svg`,{...J,"aria-hidden":`true`,children:/* @__PURE__ */ g(`path`,{d:`m6 9 6 6 6-6`})})}function mo(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`path`,{d:`M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z`}),/* @__PURE__ */ g(`path`,{d:`M14 2v6h6`})]})}function ho(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`path`,{d:`m12 3-1.5 4.5L6 9l4.5 1.5L12 15l1.5-4.5L18 9l-4.5-1.5Z`}),/* @__PURE__ */ g(`path`,{d:`M19 15v4M17 17h4M5 3v2M4 4h2`})]})}function go(){return/* @__PURE__ */ g(`svg`,{...J,"aria-hidden":`true`,children:/* @__PURE__ */ 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`})})}function _o(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`circle`,{cx:`12`,cy:`12`,r:`10`}),/* @__PURE__ */ g(`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`}),/* @__PURE__ */ g(`path`,{d:`M12 17h.01`})]})}function vo(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`path`,{d:`m15 4 3 3-9 9-3-3z`}),/* @__PURE__ */ g(`path`,{d:`M18 2v2M20 4h2M3 20l3-3M3 16h2M5 14v2`})]})}function yo(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`rect`,{x:`4`,y:`8`,width:`16`,height:`12`,rx:`2`}),/* @__PURE__ */ g(`path`,{d:`M12 8V4`}),/* @__PURE__ */ g(`circle`,{cx:`12`,cy:`3`,r:`1`}),/* @__PURE__ */ g(`path`,{d:`M2 14h2M20 14h2M9 13h.01M15 13h.01M9.5 17h5`})]})}function bo(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`path`,{d:`M4 14v-2a8 8 0 0 1 16 0v2`}),/* @__PURE__ */ g(`rect`,{x:`2`,y:`14`,width:`4`,height:`6`,rx:`1.5`}),/* @__PURE__ */ g(`rect`,{x:`18`,y:`14`,width:`4`,height:`6`,rx:`1.5`}),/* @__PURE__ */ g(`path`,{d:`M20 20v1a3 3 0 0 1-3 3h-5`})]})}function xo(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`circle`,{cx:`12`,cy:`12`,r:`10`}),/* @__PURE__ */ g(`circle`,{cx:`12`,cy:`12`,r:`4`}),/* @__PURE__ */ 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`})]})}function So(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`circle`,{cx:`11`,cy:`11`,r:`7`}),/* @__PURE__ */ g(`path`,{d:`m21 21-4.3-4.3`})]})}function Co(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`circle`,{cx:`12`,cy:`12`,r:`9`}),/* @__PURE__ */ g(`path`,{d:`m8.5 12 2.5 2.5 4.5-5`})]})}function wo(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`path`,{d:`M3 9.5 12 3l9 6.5`}),/* @__PURE__ */ g(`path`,{d:`M5 9v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9`})]})}function To(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`path`,{d:`m3 11 15-5v12L3 13z`}),/* @__PURE__ */ g(`path`,{d:`M3 11v2a2 2 0 0 0 2 2h1V9H5a2 2 0 0 0-2 2z`}),/* @__PURE__ */ g(`path`,{d:`M7 15v3a2 2 0 0 0 4 0v-2`}),/* @__PURE__ */ g(`path`,{d:`M21 10a3 3 0 0 1 0 4`})]})}function Eo(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ 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`}),/* @__PURE__ */ g(`path`,{d:`M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1`})]})}function Do(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`circle`,{cx:`12`,cy:`12`,r:`4`}),/* @__PURE__ */ 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`})]})}function Oo(){return/* @__PURE__ */ g(`svg`,{...J,"aria-hidden":`true`,children:/* @__PURE__ */ g(`path`,{d:`M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z`})})}function ko(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`circle`,{cx:`12`,cy:`12`,r:`9`}),/* @__PURE__ */ g(`path`,{d:`M12 3v18`}),/* @__PURE__ */ g(`path`,{d:`M12 3a9 9 0 0 1 0 18z`,fill:`currentColor`,stroke:`none`})]})}function Ao(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`circle`,{cx:`10.5`,cy:`10.5`,r:`6.5`}),/* @__PURE__ */ g(`path`,{d:`M8 11a2.5 2.5 0 0 0 5 0`}),/* @__PURE__ */ g(`path`,{d:`m20 20-4.4-4.4`})]})}function jo(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ 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`}),/* @__PURE__ */ g(`path`,{d:`M18.5 4v3M20 5.5h-3M5.5 16v2.5M6.75 17.25h-2.5`})]})}function Mo(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`path`,{d:`M4 18h16`}),/* @__PURE__ */ g(`path`,{d:`M5 18a7 7 0 0 1 14 0`}),/* @__PURE__ */ g(`path`,{d:`M12 8V6`}),/* @__PURE__ */ g(`path`,{d:`M10 6h4`})]})}function No(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`path`,{d:`M7 11V6.5a1.5 1.5 0 0 1 3 0V10`}),/* @__PURE__ */ g(`path`,{d:`M10 10V5.5a1.5 1.5 0 0 1 3 0V10`}),/* @__PURE__ */ g(`path`,{d:`M13 10V6.5a1.5 1.5 0 0 1 3 0V12`}),/* @__PURE__ */ 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`})]})}function Po(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`rect`,{x:`9`,y:`9`,width:`11`,height:`11`,rx:`2`}),/* @__PURE__ */ g(`path`,{d:`M5 15a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2`})]})}function Fo(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`path`,{d:`M7 10v11H4a1 1 0 0 1-1-1v-9a1 1 0 0 1 1-1z`}),/* @__PURE__ */ 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`})]})}function Io(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`path`,{d:`M17 14V3h3a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1z`}),/* @__PURE__ */ 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`})]})}function Lo(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`circle`,{cx:`12`,cy:`12`,r:`3.5`}),/* @__PURE__ */ 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`})]})}function Ro(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`circle`,{cx:`12`,cy:`12`,r:`9`}),/* @__PURE__ */ g(`path`,{d:`M12 7v5l3 2`})]})}function zo(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`circle`,{cx:`12`,cy:`12`,r:`9`}),/* @__PURE__ */ g(`path`,{d:`m8.5 12 2.5 2.5 4.5-5`})]})}function Bo(){return/* @__PURE__ */ _(`svg`,{...J,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`circle`,{cx:`12`,cy:`12`,r:`9`}),/* @__PURE__ */ g(`path`,{d:`m15 9-6 6M9 9l6 6`})]})}const Vo={chat:Ba,message:go,bubbles:Eo,spark:ho,wand:vo,bot:yo,help:_o,lifebuoy:xo,headset:bo,search:Ao,sparkles:jo,concierge:Mo,wave:No},Y=M.cssPrefix,X={launcher:`${Y}-launcher`,callout:`${Y}-callout`,calloutDismiss:`${Y}-callout-dismiss`,panel:`${Y}-panel`,panelHeader:`${Y}-panel-header`,resizeGrip:`${Y}-resize-grip`,scrollToBottom:`${Y}-scroll-to-bottom`,loadPreviousMessages:`${Y}-load-previous-messages`,actionHistory:`${Y}-action-history`,actionClose:`${Y}-action-close`,langSegment:`${Y}-lang-segment`,composer:`${Y}-composer`,composerInput:`${Y}-composer-input`,composerSend:`${Y}-composer-send`,composerStop:`${Y}-composer-stop`,compactionStatus:`${Y}-compaction-status`,messageQueue:`${Y}-message-queue`,queuedMessage:`${Y}-queued-message`,queuedMessageRemove:`${Y}-queued-message-remove`,composerAttach:`${Y}-composer-attach`,composerFileInput:`${Y}-composer-file-input`,composerVoice:`${Y}-composer-voice`,attachmentChip:`${Y}-attachment-chip`,attachmentRemove:`${Y}-attachment-remove`,suggestion:`${Y}-suggestion`,messageBubble:`${Y}-message`,messageRetry:`${Y}-message-retry`,messageFeedback:`${Y}-message-feedback`,feedbackUp:`${Y}-feedback-up`,feedbackDown:`${Y}-feedback-down`,messageCopy:`${Y}-message-copy`,historyPane:`${Y}-history-pane`,historyBack:`${Y}-history-back`,historyItem:`${Y}-history-item`,historyLoadMore:`${Y}-history-load-more`,sidebar:`${Y}-sidebar`,sidebarToggle:`${Y}-sidebar-toggle`,sidebarNewConversation:`${Y}-sidebar-new-conversation`,sidebarItem:`${Y}-sidebar-item`,messengerHome:`${Y}-messenger-home`,modulesEmpty:`${Y}-modules-empty`,tab:`${Y}-tab`,tabBadge:`${Y}-tab-badge`,homeView:`${Y}-home-view`,homeGreeting:`${Y}-home-greeting`,homeBrand:`${Y}-home-brand`,backHeader:`${Y}-back-header`,contentView:`${Y}-content-view`,contentScroll:`${Y}-content-scroll`,homeSearch:`${Y}-home-search`,helpSearch:`${Y}-help-search`,homeRecent:`${Y}-home-recent`,homeAsk:`${Y}-home-ask`,homeWhatsNew:`${Y}-home-whats-new`,homeContentRow:`${Y}-home-content-row`,helpArticle:`${Y}-help-article`,newsItem:`${Y}-news-item`,newsMore:`${Y}-news-more`,formGate:`${Y}-form-gate`,formDone:`${Y}-form-done`,formDoneToggle:`${Y}-form-done-toggle`,formAnswers:`${Y}-form-answers`,formFill:`${Y}-form-fill`,formSubmit:`${Y}-form-submit`,formSkip:`${Y}-form-skip`,formField:`${Y}-form-field`,toolAskQuestions:`${Y}-tool-ask-questions`,toolInputSubmit:`${Y}-tool-input-submit`,toolInputSkip:`${Y}-tool-input-skip`,toolApproval:`${Y}-tool-approval`,toolApprove:`${Y}-tool-approve`,toolReject:`${Y}-tool-reject`,toolEdit:`${Y}-tool-edit`,toolDecision:`${Y}-tool-decision`,typingDots:`${Y}-typing-dots`,reasoning:`${Y}-reasoning`,toolAskSummary:`${Y}-ask-questions-summary`,toolAskOptions:`${Y}-ask-questions-options-toggle`,toolCall:`${Y}-tool-call`,source:`${Y}-source`,operatorRequest:`${Y}-operator-request`,operatorBanner:`${Y}-operator-banner`,cancelOperatorRequest:`${Y}-cancel-operator-request`};function Ho(e,t){return`${e}-${t}`}const Uo=M.cssPrefix;function Wo({onToggle:e,launcher:t,strings:n,leaving:r,edgeTab:i}){let a=t.variant!==`circle`&&!!t.label;return/* @__PURE__ */ _(`button`,{type:`button`,class:`${Uo}-fab`,part:`launcher`,"data-variant":t.variant,"data-size":t.size,"data-edge-tab":i?`true`:void 0,"data-leaving":r?`true`:void 0,"data-testid":X.launcher,onClick:e,"aria-label":n.launcherOpen,children:[Go(t.icon),a?/* @__PURE__ */ g(`span`,{class:`${Uo}-fab-label`,children:A(n,t.label??``)}):null]})}function Go(e){let t=Vo[e];return t?/* @__PURE__ */ g(t,{}):/* @__PURE__ */ g(Ko,{source:e})}function Ko({source:e}){return/* @__PURE__ */ g(`span`,{ref:t=>{t&&qo(t,e)},"aria-hidden":`true`})}function qo(e,t){if(e.dataset.svgMounted!==t)try{let n=new DOMParser().parseFromString(t,`image/svg+xml`).documentElement;n.tagName.toLowerCase()===`svg`&&(e.replaceChildren(document.importNode(n,!0)),e.dataset.svgMounted=t)}catch{}}function Jo({callout:e,launcherPosition:t,strings:n,closeLabel:r,onDismiss:i}){let[a,o]=m(!1);return u(()=>{let t=setTimeout(()=>o(!0),e.delayMs);return()=>clearTimeout(t)},[e.delayMs]),u(()=>{if(!a||e.autoDismissMs<=0)return;let t=setTimeout(i,e.autoDismissMs);return()=>clearTimeout(t)},[a,e.autoDismissMs,i]),a?/* @__PURE__ */ _(`div`,{class:`${Uo}-callout`,role:`status`,"data-shape":e.shape,"data-position":Yo(e.position,t),"data-animated":e.animated?`true`:void 0,"data-testid":X.callout,children:[/* @__PURE__ */ g(`span`,{children:A(n,e.text)}),/* @__PURE__ */ g(`button`,{type:`button`,class:`${Uo}-callout-close`,onClick:i,"aria-label":r,title:r,"data-testid":X.calloutDismiss,children:/* @__PURE__ */ g(Va,{})})]}):null}function Yo(e,t){let n=t.endsWith(`-right`),r=t.startsWith(`bottom-`);return e===`vertical`?r?`top`:`bottom`:n?`left`:`right`}function Xo(e){function 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)}const Zo=M.cssPrefix;function Qo({title:e,actions:t}){return/* @__PURE__ */ _(`header`,{class:`${Zo}-back-header`,part:`header`,"data-variant":`title`,children:[/* @__PURE__ */ g(`span`,{class:`${Zo}-back-spacer`,"aria-hidden":`true`}),/* @__PURE__ */ g(`h1`,{class:`${Zo}-back-title`,children:e}),t??/* @__PURE__ */ g(`span`,{class:`${Zo}-back-spacer`,"aria-hidden":`true`})]})}function $o({title:e,backLabel:t,onBack:n,actions:r,testid:i}){return/* @__PURE__ */ _(`header`,{class:`${Zo}-back-header`,part:`header`,"data-testid":i,children:[/* @__PURE__ */ g(`button`,{type:`button`,class:`${Zo}-icon-btn`,onClick:n,"aria-label":t,title:t,children:/* @__PURE__ */ g(uo,{})}),/* @__PURE__ */ g(`h1`,{class:`${Zo}-back-title`,children:e}),r??/* @__PURE__ */ g(`span`,{class:`${Zo}-back-spacer`,"aria-hidden":`true`})]})}function es({textSig:e,doneSig:t,generativeUi:n=!1,strings:r=w}){let i=p(null);return d(()=>{let o=i.current;if(!o)return;o.classList.add(`${M.cssPrefix}-md`),o.replaceChildren();let s=n?qr(o,{cssPrefix:M.cssPrefix,strings:r}):void 0,c=v.parser(s??v.default_renderer(o)),l=0,u=a(()=>{let i=e.value,a=t.value;i.length<l&&(s?.dispose(),o.replaceChildren(),s=n?qr(o,{cssPrefix:M.cssPrefix,strings:r}):void 0,c=v.parser(s??v.default_renderer(o)),l=0);let u=i.slice(l);u&&v.parser_write(c,u),l=i.length,a&&(v.parser_end(c),s?.finish())}),d=new MutationObserver(()=>is(o));d.observe(o,{childList:!0,subtree:!0}),is(o);function f(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 o.addEventListener(`click`,f),()=>{u(),s?.dispose(),d.disconnect(),o.removeEventListener(`click`,f)}},[e,t,n,r]),/* @__PURE__ */ g(`div`,{ref:i})}function ts({text:e}){let t=f(()=>o(e),[e]),n=f(()=>o(!0),[]);return/* @__PURE__ */ g(es,{textSig:t,doneSig:n})}const ns=/<(\/?)(?:(Note|Info|Tip|Warning|Danger|Check|Callout)|Tabs?|Steps?|AccordionGroup|Accordion|Expandable|Columns|CardGroup|Card|Frame|CodeGroup|Badge|Icon|Video|Embed|ParamField|ResponseField)\b((?:"[^"]*"|'[^']*'|[^>"'])*?)(\/?)>|(^|\n)([ \t]*)(```[^]*?(?:\n[ \t]*```|$))?/g;function rs(e){let t=0,n=``;return e.replace(ns,(e,r,i,a,o,s,c,l)=>{if(r===void 0)return t?s+(l?.split(`\n${c}`).join(`
|
|
31
31
|
`)??n):e;if(r)return t--,i&&(n=n.slice(2)),i?`\n${n}`:``;o||(t++,i&&(n+=`> `));let u={};a.replace(/(\w+)=(["'])(.*?)\2/g,(e,t,n,r)=>u[t]=r);let d=u.href??u.src,f=u.title??u.path??u.query??u.body??u.header??u.name??d;return(i?`> `:``)+(f?`**${d?`[${f}](${d})`:f}**${u.type?` \`${u.type}\``:``}\n${n}`:``)})}function is(e){for(let t of e.querySelectorAll(`a`)){let e=t.getAttribute(`href`)??``;e&&!e.startsWith(`#`)&&(t.target=`_blank`,t.rel=`noopener noreferrer`)}}const as=/* @__PURE__ */ new Set([v.CODE_INLINE,v.ITALIC_AST,v.ITALIC_UND,v.STRONG_AST,v.STRONG_UND,v.STRIKE,v.LINK,v.RAW_URL,v.IMAGE,v.EQUATION_INLINE]);function os(e){let t=``,n=[],r=v.parser({data:void 0,add_token:(e,r)=>{n.push(r),as.has(r)||(t+=` `)},end_token:()=>{let e=n.pop();e!==void 0&&!as.has(e)&&(t+=` `)},add_text:(e,n)=>void(t+=n),set_attr:()=>void 0});return v.parser_write(r,e),v.parser_end(r),t.replace(/\s+/g,` `).trim()}const ss=M.cssPrefix;function cs({tone:e=`info`,message:t,onRetry:n,strings:r}){return/* @__PURE__ */ _(`div`,{class:`${ss}-module-empty`,role:e===`error`?`alert`:`status`,"aria-live":`polite`,children:[/* @__PURE__ */ g(`span`,{children:t}),n?/* @__PURE__ */ g(`button`,{type:`button`,class:`${ss}-module-retry`,onClick:n,children:r.errorRetry}):null]})}const ls=M.cssPrefix,us=R.scope(`content`);function ds({id:e,title:t,transport:n,strings:r,bus:i,onBack:a,actions:o}){let[s,c]=m(null),[d,f]=m(!1),[p,v]=m(!1),[y,b]=m(0),[x,S]=m(null),C=l(()=>{v(!1),c(null),b(e=>e+1)},[]);u(()=>{let t=!1,r=n.listContentCollections([]).catch(()=>void 0);return Promise.all([n.listContent({ids:[e],limit:1}),r]).then(([n,r])=>{if(t)return;let a=n.items[0];a?(c(a),f(r?.items.find(e=>e.id===a.contentCollectionId)?.settings?.voteAccess===`portal`),i.emit(`contentOpen`,{contentId:e,contentCollectionId:a.contentCollectionId})):v(!0)}).catch(e=>{t||(us.warn(`listContent (reader) failed`,{err:e}),v(!0))}),()=>{t=!0}},[n,e,y,i]),u(()=>{if(!s)return;let t=setTimeout(()=>i.emit(`contentRead`,{contentId:e}),5e3);return()=>clearTimeout(t)},[s,e,i]);let w=l(t=>{let n=(t.target?.closest?.(`a`))?.getAttribute(`href`)??``;n&&!n.startsWith(`#`)&&i.emit(`contentLinkClick`,{contentId:e})},[i,e]);function T(t){S(e),n.setContentVote({contentId:e,value:t})}function E(){return p?/* @__PURE__ */ g(cs,{tone:`error`,message:r.errorGeneric,onRetry:C,strings:r}):s===null?/* @__PURE__ */ g(cs,{message:r.contentLoading,strings:r}):/* @__PURE__ */ _(`article`,{class:`${ls}-content`,"data-testid":X.contentView,onClick:w,children:[s.image?/* @__PURE__ */ g(`img`,{class:`${ls}-content-hero`,src:s.image,alt:``,loading:`lazy`}):null,s.description?/* @__PURE__ */ g(`p`,{class:`${ls}-content-subtitle`,children:s.description}):null,/* @__PURE__ */ g(ts,{text:rs(s.content??``)}),d?/* @__PURE__ */ g(`div`,{class:`${ls}-content-vote`,"aria-live":`polite`,children:x===e?r.feedbackThanks:/* @__PURE__ */ _(h,{children:[/* @__PURE__ */ g(`span`,{children:r.contentHelpful}),/* @__PURE__ */ g(`button`,{type:`button`,class:`${ls}-module-retry`,onClick:()=>T(1),children:r.confirmYes}),/* @__PURE__ */ g(`button`,{type:`button`,class:`${ls}-module-retry`,onClick:()=>T(0),children:r.confirmNo})]})}):null]})}return/* @__PURE__ */ _(`div`,{class:`${ls}-module`,children:[/* @__PURE__ */ g($o,{title:s?.title||t||r.moduleBack,backLabel:r.moduleBack,onBack:a,actions:o,testid:X.backHeader}),/* @__PURE__ */ g(`div`,{class:`${ls}-module-scroll`,"data-testid":X.contentScroll,children:E()})]})}function fs({itemCount:e,initialFocusIndex:t}){let[n,r]=m(!1),i=p(null),a=p(null),[o,s]=m(-1),c=l(()=>{r(!1),s(-1),i.current?.focus()},[]),d=l(()=>r(e=>!e),[]);return u(()=>{if(!n)return;function e(e){let t=a.current,n=i.current;if(!t||!n)return;let o=e.composedPath();o.includes(t)||o.includes(n)||(r(!1),s(-1))}return document.addEventListener(`click`,e,!0),()=>document.removeEventListener(`click`,e,!0)},[n]),u(()=>{if(!n||e===0)return;let r=t?.()??0;s(r<0||r>=e?0:r)},[n,e,t]),u(()=>{!n||o<0||(a.current?.querySelectorAll(`[role='menuitem']`))?.[o]?.focus()},[n,o]),{open:n,focusIndex:o,triggerRef:i,menuRef:a,toggle:d,close:c,onTriggerKey:l(e=>{(e.key===`ArrowDown`||e.key===`Enter`||e.key===` `)&&(e.preventDefault(),r(!0))},[]),onMenuKey:l(t=>{if(e!==0)switch(t.key){case`Escape`:t.preventDefault(),c();return;case`ArrowDown`:t.preventDefault(),s(t=>(t+1)%e);return;case`ArrowUp`:t.preventDefault(),s(t=>(t-1+e)%e);return;case`Home`:t.preventDefault(),s(0);return;case`End`:t.preventDefault(),s(e-1)}},[e,c])}}function ps({items:e,triggerLabel:t}){let n=M.cssPrefix,r=fs({itemCount:e.length});function i(e){e.disabled||(e.onSelect?.(),e.keepOpen||r.close())}function a(e,t){return e.onSelectValue?.(t)}function 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/* @__PURE__ */ _(`div`,{class:`${n}-menu-wrap`,children:[/* @__PURE__ */ 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:/* @__PURE__ */ g(no,{})}),r.open?/* @__PURE__ */ g(`div`,{ref:r.menuRef,class:`${n}-menu`,role:`menu`,"aria-label":t,onKeyDown:r.onMenuKey,tabIndex:-1,children:e.map(e=>e.segments?/* @__PURE__ */ _(`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?/* @__PURE__ */ g(`span`,{class:`${n}-menu-icon`,children:e.icon}):null,/* @__PURE__ */ g(`span`,{class:`${n}-menu-label`,children:e.label}),/* @__PURE__ */ g(`span`,{class:`${n}-segmented`,role:`group`,"aria-label":e.label,children:e.segments.map(t=>{let r=t.value===e.value;return/* @__PURE__ */ 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":`${X.langSegment}-${t.value}`,onClick:()=>a(e,t.value),children:t.label},t.value)})})]},e.id):/* @__PURE__ */ _(`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?/* @__PURE__ */ g(`span`,{class:`${n}-menu-icon`,children:e.icon}):null,/* @__PURE__ */ g(`span`,{class:`${n}-menu-label`,children:e.label}),e.type===`switch`&&e.on?/* @__PURE__ */ g(`span`,{class:`${n}-menu-check`,"aria-hidden":`true`,children:/* @__PURE__ */ g(so,{})}):null]},e.id))}):null]})}const ms=M.cssPrefix;function hs(e){let t=typeof matchMedia!=`function`||matchMedia(`(prefers-color-scheme: dark)`).matches;return e===`host`?Tt()===`dark`?`light`:`dark`:e===`auto`?t?`light`:`dark`:t?e===`light`?`dark`:`auto`:e===`dark`?`light`:`auto`}const gs={normal:`large`,large:`small`,small:`normal`};function _s(e){return g(e===`light`?Do:e===`dark`?Oo:ko,{})}function vs(e){return(e.split(`-`)[0]??e).toUpperCase()}function ys(e,t){let n;try{n=new URL(e,window.location.href)}catch{return}if(n.protocol===`http:`||n.protocol===`https:`)return t.conversationId&&n.searchParams.set(`chat`,t.conversationId),n.searchParams.set(`widgetId`,t.widgetId),t.publicKey&&n.searchParams.set(`public_key`,t.publicKey),n.searchParams.set(`ai_agent_deployment_id`,t.aiAgentDeploymentId),n.href}function bs({panelProps:e,variant:t}){let{options:n,panelSize:r,feedback:i,onClose:a,onClear:o,onExpand:c,onFullscreen:l,onSoundToggle:u}=e,{onToggleHistory:d,onLocaleChange:f,onThemeChange:p,onTextSizeChange:m}=e,h=n.strings,v=n.mode,y=t===`chat`,b=s(()=>i.mutedSig.value).value,x=new Set(n.actions);function S(e){return x.has(e)}let C=typeof matchMedia==`function`&&matchMedia(`(max-width: 640px)`).matches;function w(e){return!C&&xa(e,v,r)}let T=n.themeMode,E={auto:h.themeAuto,light:h.themeLight,dark:h.themeDark,host:h.themeAuto},D=n.textSize,O={small:h.textSizeSmall,normal:h.textSizeNormal,large:h.textSizeLarge},k=[];if(y&&S(`clear`)&&k.push({id:`clear`,icon:/* @__PURE__ */ g(fo,{}),label:h.newConversation,onSelect:o}),S(`expand`)&&w(`expand`)){let e=r===`expanded`;k.push({id:`expand`,icon:g(e?Za:Xa,{}),label:e?h.collapse:h.expand,type:`switch`,on:e,onSelect:c})}if(S(`fullscreen`)&&w(`fullscreen`)){let e=r===`fullscreen`;k.push({id:`fullscreen`,icon:g(e?$a:Qa,{}),label:e?h.exitFullscreen:h.fullscreen,type:`switch`,on:e,onSelect:l})}let A=n.popOutUrl,j=n.aiAgentDeploymentId;S(`popOut`)&&A&&j&&xa(`popOut`,v,r)&&k.push({id:`popOut`,icon:/* @__PURE__ */ g(eo,{}),label:h.popOut,onSelect:()=>{let t=ys(A,{conversationId:e.conversationId,widgetId:n.widgetId,publicKey:n.publicKey,aiAgentDeploymentId:j});t&&window.open(t,`_blank`,`noopener,noreferrer`)}}),y&&S(`sound`)&&k.push({id:`sound`,icon:g(b?io:ro,{}),label:b?h.soundOff:h.soundOn,type:`switch`,on:!b,onSelect:u}),S(`theme`)&&k.push({id:`theme`,icon:_s(T),label:`${h.theme}: ${E[T]}`,onSelect:()=>p(hs(T)),keepOpen:!0}),S(`textSize`)&&k.push({id:`textSize`,icon:/* @__PURE__ */ g(ao,{}),label:`${h.textSize}: ${O[D]}`,onSelect:()=>m(gs[D]),keepOpen:!0}),S(`language`)&&n.availableLocales.length>1&&k.push({id:`language`,icon:/* @__PURE__ */ g(lo,{}),label:h.language,segments:n.availableLocales.map(e=>({value:e,label:vs(e),lang:e})),value:n.locale,onSelectValue:f});let M=!!a&&Sa(v,r,n.actions),ee=y&&S(`history`);return/* @__PURE__ */ _(`div`,{class:`${ms}-header-actions`,children:[ee?/* @__PURE__ */ g(`button`,{type:`button`,class:`${ms}-icon-btn`,onClick:d,"aria-label":h.history,title:h.history,"data-testid":X.actionHistory,children:/* @__PURE__ */ g(co,{})}):null,k.length>0?/* @__PURE__ */ g(ps,{items:k,triggerLabel:h.moreActions}):null,M?/* @__PURE__ */ g(`button`,{type:`button`,class:`${ms}-icon-btn`,onClick:a,"aria-label":h.close,title:h.close,"data-testid":X.actionClose,children:/* @__PURE__ */ g(Va,{})}):null]})}const xs={Icon:Eo};function Ss(e,t){return e instanceof ta&&e.status===429?t.errorRateLimited:t.errorGeneric}const Cs=M.cssPrefix;function ws({placeholder:e,onActivate:t}){return/* @__PURE__ */ _(`button`,{type:`button`,class:`${Cs}-home-search`,onClick:t,"data-testid":X.homeSearch,children:[/* @__PURE__ */ g(`span`,{class:`${Cs}-home-search-text`,children:e}),/* @__PURE__ */ g(`span`,{class:`${Cs}-home-search-icon`,"aria-hidden":`true`,children:/* @__PURE__ */ g(So,{})})]})}function Ts({placeholder:e,value:t,onInput:n}){return/* @__PURE__ */ _(`div`,{class:`${Cs}-home-search`,"data-input":`true`,children:[/* @__PURE__ */ g(`input`,{type:`search`,class:`${Cs}-home-search-input`,placeholder:e,value:t,maxLength:200,onInput:e=>n(e.currentTarget.value),"data-testid":X.helpSearch}),/* @__PURE__ */ g(`span`,{class:`${Cs}-home-search-icon`,"aria-hidden":`true`,children:/* @__PURE__ */ g(So,{})})]})}const Es=M.cssPrefix;function Ds({title:e,subtitle:t,onClick:n,testid:r}){return/* @__PURE__ */ _(`button`,{type:`button`,class:`${Es}-list-row`,onClick:n,"data-testid":r,children:[/* @__PURE__ */ _(`span`,{class:`${Es}-list-row-body`,children:[/* @__PURE__ */ g(`span`,{class:`${Es}-list-row-title`,children:e}),t?/* @__PURE__ */ g(`span`,{class:`${Es}-list-row-sub`,children:t}):null]}),/* @__PURE__ */ g(`span`,{class:`${Es}-list-row-chevron`,"aria-hidden":`true`,children:/* @__PURE__ */ g(Ka,{})})]})}const Os=M.cssPrefix,ks=R.scope(`help`);function As(e,t,n){let r=new Map(n.map(e=>[e.id,e.title]));return t.map(t=>({id:t,title:r.get(t),rows:e.filter(e=>e.contentCollectionId===t)})).filter(e=>e.rows.length>0)}function js({transport:e,strings:t,bus:n},r,i){let[a,o]=m(),s=p(void 0);function c(a){if(!r?.length)return;let c={};s.current=c,o(e=>({search:i,items:[],collections:[],...e,pagination:a>1?e?.pagination:void 0,loading:!0,error:void 0})),Promise.all([e.listContent({contentCollectionIds:r,sortBy:`order`,page:a,limit:20,search:i}),a>1?void 0:e.listContentCollections(r)]).then(([e,t])=>{s.current===c&&(o(n=>({search:i,items:[...a>1?n?.items??[]:[],...e.items],collections:t?.items??n?.collections??[],pagination:e.pagination,loading:!1})),!(a>1)&&(i?n.emit(`contentSearch`,{queryLength:i.length,hitCount:e.pagination.total}):n.emit(`contentView`,{section:`help`,count:e.items.length})))}).catch(e=>{s.current===c&&(ks.warn(`listContent (help) failed`,{err:e,page:a}),o(n=>n&&{...n,loading:!1,error:Ss(e,t)}))})}return u(()=>{if(!r?.length)o(void 0);else return c(1),()=>{s.current=void 0}},[e,r,i]),[a,()=>!a?.loading&&c((a?.pagination?.page??0)+1)]}function Ms(e){let{strings:t,config:n,nav:r,panelProps:i}=e,a=n.contentCollectionIds,[o,s]=m(``),[c,l]=m(``),d=js(e,a),f=js(e,c?a:void 0,c),[p,v]=o.trim()?f:d;u(()=>{let e=setTimeout(()=>l(o.trim()),300);return()=>clearTimeout(e)},[o]);function y(){if(!a?.length)return/* @__PURE__ */ g(cs,{message:t.helpEmpty,strings:t});let e=p?.error?/* @__PURE__ */ g(cs,{tone:`error`,message:p.error,onRetry:v,strings:t}):null;return e&&!p?.pagination?e:!p||!p.pagination&&!p.items.length?/* @__PURE__ */ g(cs,{message:t.helpLoading,strings:t}):p.items.length?/* @__PURE__ */ _(h,{children:[As(p.items,a,p.collections).map(e=>/* @__PURE__ */ _(`section`,{class:`${Os}-help-group`,children:[e.title?/* @__PURE__ */ g(`h2`,{class:`${Os}-help-section-title`,children:e.title}):null,/* @__PURE__ */ g(`div`,{class:`${Os}-help-card`,children:e.rows.map(e=>/* @__PURE__ */ g(Ds,{title:e.title,subtitle:e.description,onClick:()=>r.push(e.url?{kind:`iframe`,url:e.url,title:e.title}:{kind:`content`,id:e.id,title:e.title}),testid:Ho(X.helpArticle,e.id)},e.id))})]},e.id)),e,p.pagination?.hasNext&&!e?/* @__PURE__ */ g(`div`,{children:/* @__PURE__ */ g(`div`,{class:`${Os}-help-card`,children:/* @__PURE__ */ _(`button`,{type:`button`,class:`${Os}-list-row ${Os}-help-more`,onClick:v,"aria-busy":p.loading,children:[p.loading?/* @__PURE__ */ g(`span`,{class:`${Os}-loading-spinner`,"aria-hidden":`true`}):null,t.helpShowMore]})})}):null]}):/* @__PURE__ */ g(cs,{message:p.search?t.helpSearchEmpty.replace(`{query}`,p.search):t.helpEmpty,strings:t})}return/* @__PURE__ */ _(`div`,{class:`${Os}-module`,children:[/* @__PURE__ */ g(Qo,{title:t.helpTitle,actions:/* @__PURE__ */ g(bs,{panelProps:i,variant:`plain`})}),/* @__PURE__ */ g(`div`,{class:`${Os}-module-pad`,children:/* @__PURE__ */ g(Ts,{placeholder:t.helpSearchPlaceholder,value:o,onInput:s})}),/* @__PURE__ */ g(`div`,{class:`${Os}-help-list`,children:y()})]})}const Ns={Icon:_o,Root:e=>/* @__PURE__ */ g(Ms,{...e})},Ps=R.scope(`attachments`);function Fs(e,t,n){let r=Rs(e),i=[],a=[],o=Vs(n.accept),s=t.reduce((e,t)=>e+t.size,0),c=t.length;for(let e of r){let t=Ls(e,c,s,n,o);t?a.push({file:e,reason:t}):(i.push(Bs(e)),s+=e.size,c+=1)}return(i.length||a.length)&&Ps.debug(`ingest`,{accepted:i.length,rejected:a.map(e=>({name:e.file.name,reason:e.reason}))}),{accepted:i,rejected:a}}function Is(e){try{URL.revokeObjectURL(e.previewUrl)}catch(e){Ps.debug(`revokeObjectURL failed`,{error:e})}}function Ls(e,t,n,r,i){return t>=r.maxCount?`count`:n+e.size>r.maxBytes?`bytes`:Hs(e,i)?null:`mime`}function Rs(e){return e?Array.isArray(e)?e.filter(e=>e instanceof File):[...e].map(e=>e instanceof File?e:zs(e)).filter(e=>e!==null):[]}function zs(e){let t=e;return!t?.getAsFile||t.kind!==`file`?null:t.getAsFile()}function Bs(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 Vs(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 Hs(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===`image`&&e.subtype===`*`&&/\.(heic|heif|avif|bmp|tif|tiff)$/.test(i)?!0:(e.type===`*`||e.type===n)&&(e.subtype===`*`||e.subtype===r))}const Us=M.cssPrefix;function Ws({attachment:e,onRemove:t,disabled:n=!1}){let r=/^image\/(jpeg|png|gif|webp|avif|bmp|x-ms-bmp|svg\+xml)$/i.test(e.mediaType);return/* @__PURE__ */ _(`span`,{class:`${Us}-attachment-chip`,title:e.name,"data-testid":Ho(X.attachmentChip,e.id),children:[r?/* @__PURE__ */ g(`img`,{class:`${Us}-attachment-thumb`,src:e.previewUrl,alt:``}):/* @__PURE__ */ g(`span`,{class:`${Us}-attachment-thumb`,"aria-hidden":`true`,children:/* @__PURE__ */ g(mo,{})}),/* @__PURE__ */ g(`span`,{class:`${Us}-attachment-name`,children:e.name}),/* @__PURE__ */ g(`button`,{type:`button`,class:`${Us}-attachment-remove`,onClick:t,disabled:n,"aria-label":`Remove ${e.name}`,"data-testid":Ho(X.attachmentRemove,e.id),children:/* @__PURE__ */ g(Va,{})})]})}const Gs={isSupported:!1,start:()=>void 0,stop:()=>void 0,cancel:()=>void 0};function Ks(e,t,n){return e===`disabled`?Gs:e===`server`?Xs(n):qs(t)}function qs(e){let t=Js();if(!t)return Gs;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)});function 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 Js(){return window.SpeechRecognition??window.webkitSpeechRecognition}const Ys=[`audio/webm;codecs=opus`,`audio/webm`,`audio/ogg;codecs=opus`,`audio/mp4`];function Xs(e){if(typeof MediaRecorder>`u`||!navigator?.mediaDevices?.getUserMedia)return Gs;let t=0,n=null;function r(e){for(let t of e.stream?.getTracks()??[])t.stop();e.stream=null}function i(){t++;let e=n;n=null,e&&(r(e),e.recorder?.state!==`inactive`&&e.recorder?.stop())}async function a(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=Zs(),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;e&&(e.recorder?e.recorder.state!==`inactive`&&e.recorder.stop():i())},cancel(){i()}}}function Zs(){for(let e of Ys)if(MediaRecorder.isTypeSupported(e))return e}const Qs=M.cssPrefix,$s=R.scope(`composer`);function ec(e){return e.reduce((e,t)=>e+t.size,0)}const tc={arrowUp:Wa,paperPlane:Ua,send:Ga,chevron:Ka};function nc(e){return`activeElement`in e}function rc(e){return`host`in e&&`activeElement`in e}function ic({options:e,transport:t,feedback:n,bus:r,persistence:i,conversationId:a,isStreaming:o,pageToolRunning:s=!1,isMemoryCompacting:c=!1,canReleaseQueuedMessages:f=!0,queueManualMessages:h=!1,active:v=!0,isPreparing:y=!1,operatorRequestEnabled:b,canRequestOperator:x=!1,controlMode:S=`ai-agent`,onRequestOperator:C,onSend:w,onStop:T,apiRef:E}){let D=e.strings,[O,k]=m(()=>i.loadDraft(a)),[A,j]=m([]),[M,ee]=m(()=>i.loadMessageQueue(a).map(e=>({id:e.id,text:e.text,attachments:[]}))),te=p(M),N=p(!1),[ne,re]=m(!1),[P,ie]=m(!1),ae=p(!1),oe=p(null),F=p(null),se=p(null),ce=p(0),le=p(a);le.current=a;let I=p(v);I.current=v;let ue=p(y);ue.current=y;let de=P||y||!v,fe=o&&S===`ai-agent`,pe=fe||c&&S===`ai-agent`,me=S===`ai-agent`&&(pe||h||M.length>0),he=l(e=>{ee(t=>{let n=e(t);return i.saveMessageQueue(le.current,n.filter(e=>e.attachments.length===0).map(({id:e,text:t})=>({id:e,text:t}))),te.current=n,n})},[i]),L=l(e=>{he(t=>(t.find(t=>t.id===e)?.attachments.forEach(Is),t.filter(t=>t.id!==e)))},[he]),ge=l(e=>{k(t=>{let n=typeof e==`function`?e(t):e;return n===t?t:(i.saveDraft(le.current,n),n)})},[i]),_e=e.features.fileUpload,R=e.features.voice,[ve,ye]=m(()=>Ks(R,e.locale,(e,n)=>t.transcribe(e,n))),be=p(ve);be.current=ve;let xe=p({mode:R,locale:e.locale,transport:t});u(()=>{let n=xe.current;(n.mode!==R||n.locale!==e.locale||n.transport!==t)&&(xe.current={mode:R,locale:e.locale,transport:t},ce.current++,be.current.cancel(),se.current=null,re(!1),ye(Ks(R,e.locale,(e,n)=>t.transcribe(e,n))))},[e.locale,R,t]),d(()=>()=>{ce.current++,ve.cancel()},[ve]);let Se=l(e=>{let t=se.current;if(t===null)return!1;let n=Math.round(performance.now()-t);return $s[e](`voiceStop`,{durationMs:n}),r.emit(`voiceStop`,{durationMs:n}),se.current=null,!0},[r]),Ce=l(()=>{se.current!==null&&(ve.stop(),re(!1),Se(`info`)&&n.play(`voiceStop`))},[Se,n,ve]),we=l(()=>{ce.current++,ve.cancel(),re(!1),Se(`info`)&&n.play(`voiceStop`)},[Se,n,ve]);u(()=>{(y||!v)&&we()},[v,we,y]),u(()=>{let e=oe.current;if(!e)return;let t=e.getRootNode(),n=nc(t)?t.activeElement:null;n&&e.closest(`.${Qs}-panel`)?.contains(n)||e.focus({preventScroll:!0})},[]),u(()=>{let e=oe.current;if(!e)return;if(O.length===0){e.style.height=``;return}e.style.height=`auto`;let t=getComputedStyle(e),n=Number.parseFloat(t.getPropertyValue(`--${Qs}-textarea-base-height`)),r=Number.parseFloat(t.borderTopWidth)+Number.parseFloat(t.borderBottomWidth),i=Math.min(e.scrollHeight+r,Number.parseFloat(t.maxHeight)),a=Number.parseFloat(t.fontSize)*.7;e.style.height=`${i<n+a?n:i}px`},[O]);let Te=p(A);Te.current=A,u(()=>()=>{Te.current.forEach(Is);for(let e of te.current)e.attachments.forEach(Is)},[]),d(()=>{if(E)return E.current={attachFromDrop:t=>{if(!_e||!I.current||ae.current||ue.current)return;let n=Fs(t,Te.current,e.attachments);n.accepted.length!==0&&($s.info(`attach (drop)`,{count:n.accepted.length,totalBytes:ec(n.accepted)}),r.emit(`attach`,{count:n.accepted.length,totalBytes:ec(n.accepted)}),j(e=>[...e,...n.accepted]))},fill:e=>{if(!I.current||ae.current||ue.current)return;ge(e);let t=oe.current;t&&(t.focus({preventScroll:!0}),requestAnimationFrame(()=>t.setSelectionRange(t.value.length,t.value.length)))},acceptQueuedMessage:L},()=>{E.current&&(E.current=null)}},[E,_e,y,e.attachments,L,ge]),u(()=>{let t=oe.current;if(!t)return;let n=t.closest(`.${Qs}-panel`);if(!n)return;let i=n=>{if(!I.current||ae.current||ue.current)return;let i=n.clipboardData;if(!i)return;let a=n.target?.closest?.(`input, textarea, [contenteditable]:not([contenteditable='false'])`);if(a&&a!==t)return;if(_e){let t=Fs(i.items,Te.current,e.attachments);if(t.accepted.length>0){n.preventDefault(),$s.info(`attach (paste)`,{count:t.accepted.length,totalBytes:ec(t.accepted)}),r.emit(`attach`,{count:t.accepted.length,totalBytes:ec(t.accepted)}),j(e=>[...e,...t.accepted]);return}}if(a===t)return;let o=i.getData(`text/plain`);o&&(n.preventDefault(),ge(e=>e+o),t.focus())};return n.addEventListener(`paste`,i),()=>n.removeEventListener(`paste`,i)},[_e,e.attachments,ge]);async function Ee(){let e=O.trim();if(!e&&A.length===0||!v||fe||ae.current||y)return;we(),ae.current=!0,ie(!0);let t=O,n=A;try{await w(e,n)&&(ge(e=>e===t?``:e),j(e=>e===n?(n.forEach(Is),Te.current=[],[]):e))}finally{ae.current=!1,ie(!1),requestAnimationFrame(()=>{let e=oe.current;if(!e||e.disabled||!I.current)return;let t=e.getRootNode(),n=nc(t)?t.activeElement:null,r=n?.getAttribute(`data-testid`);if(!(n&&n!==e&&r!==X.composerSend&&r!==X.composerStop)){if(rc(t)){let e=t.host.ownerDocument;if(!e.hasFocus())return;let n=e.activeElement;if(n&&n!==t.host&&n!==e.body)return}e.focus({preventScroll:!0})}})}}function De(){let e=O.trim();if(!e&&A.length===0||!v||!me||ae.current||y)return;we();let t=A;he(n=>[...n,{id:lt(),text:e,attachments:t}]),ge(``),j(e=>e===t?(Te.current=[],[]):e),oe.current?.focus({preventScroll:!0})}u(()=>{pe&&(N.current=!1)},[pe]),u(()=>{let e=M[0];if(!e||!f||pe||N.current||P||y||!v)return;let t=setTimeout(()=>{N.current=!0,w(e.text,e.attachments,e.id).then(t=>{t?L(e.id):N.current=!1})},300);return()=>clearTimeout(t)},[v,f,y,w,pe,M,L,P]);function Oe(e){e.key!==`Enter`||e.shiftKey||e.isComposing||(e.preventDefault(),me&&(O.trim()||A.length>0)?De():fe?T():Ee())}function ke(t){let n=t.target;if(!v||ae.current||y){n.value=``;return}let i=Fs(n.files,A,e.attachments);i.accepted.length>0&&($s.info(`attach (file picker)`,{count:i.accepted.length,totalBytes:ec(i.accepted)}),r.emit(`attach`,{count:i.accepted.length,totalBytes:ec(i.accepted)}),j(e=>[...e,...i.accepted])),n.value=``}function Ae(e){!v||ae.current||y||($s.info(`removeAttachment`,{id:e}),r.emit(`removeAttachment`,{id:e}),j(t=>{let n=t.find(t=>t.id===e);return n&&Is(n),t.filter(t=>t.id!==e)}))}function je(){if(ne){Ce();return}if(!v||!ve.isSupported||ae.current||y)return;let e=++ce.current;se.current=performance.now(),$s.info(`voiceStart`),r.emit(`voiceStart`,void 0),re(!0),n.play(`voiceStart`),ve.start((t,n)=>{ce.current===e&&I.current&&!ue.current&&!ae.current&&n&&ge(e=>`${e}${t} `)},()=>{ce.current===e&&I.current&&(re(!1),Se(`debug`))})}let Me=tc[e.composer.sendButton.icon],Ne=!!(O.trim()||A.length>0),Pe=fe||s&&!Ne;return/* @__PURE__ */ _(`div`,{class:`${Qs}-composer`,part:`composer`,"data-testid":X.composer,children:[M.length>0?/* @__PURE__ */ g(`div`,{class:`${Qs}-message-queue`,"aria-label":D.queueMessage,"data-testid":X.messageQueue,children:M.map(e=>/* @__PURE__ */ _(`div`,{class:`${Qs}-attachment-chip ${Qs}-queued-message`,"data-testid":`${X.queuedMessage}-${e.id}`,children:[/* @__PURE__ */ g(`span`,{class:`${Qs}-attachment-name ${Qs}-queued-text`,children:e.text||e.attachments.map(e=>e.name).join(`, `)}),/* @__PURE__ */ g(`button`,{type:`button`,class:`${Qs}-attachment-remove`,onClick:()=>L(e.id),"aria-label":D.removeQueuedMessage,title:D.removeQueuedMessage,"data-testid":`${X.queuedMessageRemove}-${e.id}`,children:/* @__PURE__ */ g(Va,{})})]},e.id))}):null,A.length>0?/* @__PURE__ */ g(`div`,{class:`${Qs}-attachments`,children:A.map(e=>/* @__PURE__ */ g(Ws,{attachment:e,onRemove:()=>Ae(e.id),disabled:de},e.id))}):null,/* @__PURE__ */ _(`div`,{class:`${Qs}-composer-row`,children:[/* @__PURE__ */ _(`div`,{class:`${Qs}-composer-actions`,children:[_e?/* @__PURE__ */ g(`button`,{type:`button`,class:`${Qs}-icon-btn`,onClick:()=>F.current?.click(),disabled:de,"aria-label":D.attach,"data-testid":X.composerAttach,children:/* @__PURE__ */ g(Ja,{})}):null,ve.isSupported?/* @__PURE__ */ g(`button`,{type:`button`,class:`${Qs}-icon-btn`,onClick:je,disabled:de,"aria-label":ne?D.micStop:D.micStart,"aria-pressed":ne,"data-recording":ne?`true`:void 0,"data-testid":X.composerVoice,children:/* @__PURE__ */ g(Ya,{})}):null]}),/* @__PURE__ */ g(`textarea`,{ref:oe,name:`message`,class:`${Qs}-textarea`,rows:1,value:O,placeholder:D.composerPlaceholder,onInput:e=>ge(e.currentTarget.value),onKeyDown:Oe,disabled:de,"aria-label":D.composerPlaceholder,"data-testid":X.composerInput}),me&&Ne?/* @__PURE__ */ g(`button`,{type:`button`,class:`${Qs}-send`,"data-shape":e.composer.sendButton.shape,"data-variant":e.composer.sendButton.variant,onClick:De,disabled:de,"aria-label":D.queueMessage,title:D.queueMessage,"data-testid":X.composerSend,children:/* @__PURE__ */ g(Me,{})}):null,Pe?/* @__PURE__ */ g(`button`,{type:`button`,class:`${Qs}-send`,onClick:T,disabled:de,"aria-label":D.stop,"data-testid":X.composerStop,children:/* @__PURE__ */ g(qa,{})}):null,!Pe&&(!me||!Ne)?/* @__PURE__ */ g(`button`,{type:`button`,class:`${Qs}-send`,"data-shape":e.composer.sendButton.shape,"data-variant":e.composer.sendButton.variant,onClick:()=>void Ee(),disabled:de||!O.trim()&&A.length===0,"aria-label":D.send,"data-testid":X.composerSend,children:/* @__PURE__ */ g(Me,{})}):null,b&&S===`ai-agent`&&C?/* @__PURE__ */ g(`button`,{type:`button`,class:`${Qs}-icon-btn`,onClick:C,disabled:de||!x,"aria-label":D.talkToOperator,title:D.talkToOperator,"data-testid":X.operatorRequest,children:/* @__PURE__ */ g(bo,{})}):null]}),/* @__PURE__ */ g(`input`,{ref:F,name:`attachments`,type:`file`,multiple:!0,accept:e.attachments.accept,onChange:ke,disabled:de,class:`${Qs}-sr-only`,"data-testid":X.composerFileInput})]})}const ac=M.cssPrefix;function oc({onClick:e,children:t,testid:n}){return e?/* @__PURE__ */ g(`button`,{type:`button`,class:`${ac}-home-card`,"data-interactive":`true`,onClick:e,"data-testid":n,children:t}):/* @__PURE__ */ g(`div`,{class:`${ac}-home-card`,"data-testid":n,children:t})}function sc(e){return e.trim().split(/\s+/).slice(0,2).map(e=>e.charAt(0).toUpperCase()).join(``)}const cc=M.cssPrefix,lc=R.scope(`news`);function uc(e,t){let n=e?new Date(e):void 0;if(n&&!Number.isNaN(n.getTime()))return new Intl.DateTimeFormat(t,{dateStyle:`medium`}).format(n)}function dc({options:e,transport:t,strings:n,config:r,nav:i,bus:a,panelProps:o,latestNews:s}){let c=r.contentCollectionIds,[l,d]=m({items:[],loading:!0}),f=p(void 0);function h(e){if(!c?.length)return;let r={};f.current=r,d(e=>({...e,loading:!0,error:void 0})),t.listContent({contentCollectionIds:c,sortBy:`publishedAt`,sortOrder:`desc`,page:e,limit:10}).then(t=>{if(f.current!==r||(d(n=>({items:e>1?[...n.items,...t.items]:t.items,pagination:t.pagination,loading:!1})),e>1))return;a.emit(`contentView`,{section:`news`,count:t.items.length});let n=t.items[0];n&&s.markSeen(n.id)}).catch(t=>{f.current===r&&(lc.warn(`listContent (news) failed`,{err:t,page:e}),d(e=>({...e,loading:!1,error:Ss(t,n)})))})}function v(){l.loading||h((l.pagination?.page??0)+1)}u(()=>(d({items:[],loading:!0}),h(1),()=>{f.current=void 0}),[t,c]);function y(t){let n=uc(t.publishedAt,e.locale);return/* @__PURE__ */ _(`button`,{type:`button`,class:`${cc}-news-card`,onClick:()=>i.push({kind:`content`,id:t.id,title:t.title}),"data-testid":Ho(X.newsItem,t.id),children:[t.image?/* @__PURE__ */ g(`img`,{class:`${cc}-news-hero`,src:t.image,alt:``,loading:`lazy`}):null,/* @__PURE__ */ _(`span`,{class:`${cc}-news-body`,children:[/* @__PURE__ */ g(`span`,{class:`${cc}-news-title`,children:t.title}),n||t.tags?.length?/* @__PURE__ */ _(`span`,{class:`${cc}-news-meta`,children:[n?/* @__PURE__ */ g(`time`,{dateTime:t.publishedAt,children:n}):null,t.tags?.map(e=>/* @__PURE__ */ g(`span`,{class:`${cc}-news-tag`,children:e},e))]}):null,t.description?/* @__PURE__ */ g(`span`,{class:`${cc}-news-summary`,children:t.description}):null]})]},t.id)}function b(){if(!c?.length)return/* @__PURE__ */ g(cs,{message:n.newsEmpty,strings:n});let e=l.error?/* @__PURE__ */ g(cs,{tone:`error`,message:l.error,onRetry:v,strings:n}):null;return e&&!l.pagination?e:l.pagination?l.items.length?/* @__PURE__ */ _(`div`,{class:`${cc}-news-list`,children:[l.items.map(y),e,l.pagination.hasNext&&!e?/* @__PURE__ */ _(`button`,{type:`button`,class:`${cc}-news-more`,onClick:v,"aria-busy":l.loading,"data-testid":X.newsMore,children:[l.loading?/* @__PURE__ */ g(`span`,{class:`${cc}-loading-spinner`,"aria-hidden":`true`}):null,n.newsShowMore]}):null]}):/* @__PURE__ */ g(cs,{message:n.newsEmpty,strings:n}):/* @__PURE__ */ g(cs,{message:n.newsLoading,strings:n})}return/* @__PURE__ */ _(`div`,{class:`${cc}-module`,children:[/* @__PURE__ */ g(Qo,{title:n.newsTitle,actions:/* @__PURE__ */ g(bs,{panelProps:o,variant:`plain`})}),/* @__PURE__ */ g(`div`,{class:`${cc}-module-scroll`,children:b()})]})}const fc={Icon:To,Root:e=>/* @__PURE__ */ g(dc,{...e})},Z=M.cssPrefix,pc=R.scope(`home`);function mc(e){let t=e.options.userContext?.name,n=e.config.greetingText?A(e.strings,e.config.greetingText):void 0;if(n){let r=t?n.replace(`{name}`,t):n.replace(/\s*\{name\}\s*/,` `).trim(),i=e.strings.homeGreetingLead;return{title:r,subtitle:r.toLowerCase()===i.toLowerCase()?void 0:i}}return t?{title:e.strings.homeGreetingNamed.replace(`{name}`,t),subtitle:e.strings.homeGreetingLead}:{title:e.strings.homeGreeting}}function hc(e,t){return t.url?e.push({kind:`iframe`,url:t.url,title:t.title}):e.push({kind:`content`,id:t.id,title:t.title})}function gc({options:e,onAsk:t}){let[n,r]=m(``),{sendButton:i}=e.composer,a=tc[i.icon];function o(e){e.preventDefault();let i=n.trim();i&&(r(``),t(i))}return/* @__PURE__ */ _(`form`,{class:`${Z}-home-search ${Z}-home-ask`,"data-input":`true`,onSubmit:o,"data-testid":X.homeAsk,children:[/* @__PURE__ */ g(`input`,{type:`text`,class:`${Z}-home-search-input`,placeholder:e.strings.homeAskPlaceholder,"aria-label":e.strings.homeAskPlaceholder,value:n,enterKeyHint:`send`,onInput:e=>r(e.currentTarget.value)}),/* @__PURE__ */ g(`button`,{type:`submit`,class:`${Z}-send`,"data-shape":i.shape,"data-variant":i.variant,disabled:!n.trim(),"aria-label":e.strings.send,children:/* @__PURE__ */ g(a,{})})]})}function _c(e,t){return fa(e,t,t.type!==`upsert`||t.activity===!0)}function vc(e){let{transport:t,strings:n,config:r,nav:i,bus:a,panelProps:o,latestNews:s}=e,[c,l]=m(null),[d,f]=m([]),p=r.contentCollectionIds?.join(`,`),v=e.options.modules.list.some(e=>e.layout===`chat`);u(()=>{if(r.showRecentConversations===!1)return;let e=!1,n=!0,i=[],a=t.subscribeConversationChanges(e=>{n&&i.push(e),l(t=>_c(t?[t]:[],e)[0]??null)});return t.listConversations({limit:v?50:1}).then(t=>{if(e)return;let r=i.reduce(_c,t.conversations);i=[],n=!1,l(r[0]??null)}).catch(t=>{e||(i=[],n=!1,pc.warn(`listConversations (home) failed`,{err:t}))}),()=>{e=!0,a()}},[t,r.showRecentConversations,v]),u(()=>{if(!r.contentCollectionIds?.length)return;let e=!1;return t.listContent({contentCollectionIds:r.contentCollectionIds,pinned:!0,limit:6}).then(t=>{e||(f(t.items),a.emit(`contentView`,{section:`home`,count:t.items.length}))}).catch(t=>!e&&pc.warn(`listContent (home) failed`,{err:t})),()=>{e=!0}},[t,p,a]);let y=mc(e),b=r.userAvatars??[],x=r.status,S=x?.text?A(n,x.text):n.homeStatus,C=r.contentBlockTitle?A(n,r.contentBlockTitle):n.homeContentTitle,w=s.item,T=uc(w?.publishedAt,e.options.locale);return/* @__PURE__ */ g(`div`,{class:`${Z}-module ${Z}-home`,"data-testid":X.homeView,children:/* @__PURE__ */ _(`div`,{class:`${Z}-home-scroll`,children:[/* @__PURE__ */ _(`div`,{class:`${Z}-home-hero`,children:[/* @__PURE__ */ _(`div`,{class:`${Z}-home-hero-top`,children:[r.brandName?/* @__PURE__ */ g(`span`,{class:`${Z}-home-brand`,"data-testid":X.homeBrand,children:r.brandName}):/* @__PURE__ */ g(`span`,{class:`${Z}-home-brand-spacer`,"aria-hidden":`true`}),/* @__PURE__ */ _(`div`,{class:`${Z}-home-hero-actions`,children:[b.length>0?/* @__PURE__ */ g(`div`,{class:`${Z}-home-avatars`,children:b.map(e=>/* @__PURE__ */ g(`span`,{class:`${Z}-home-avatar`,title:e.role?`${e.name} · ${e.role}`:e.name,children:e.avatar?/* @__PURE__ */ g(`img`,{src:e.avatar,alt:``,loading:`lazy`}):/* @__PURE__ */ g(`span`,{children:sc(e.name)})},e.name))}):null,/* @__PURE__ */ g(bs,{panelProps:o,variant:`plain`})]})]}),r.showGreeting===!1?null:/* @__PURE__ */ _(h,{children:[/* @__PURE__ */ g(`h1`,{class:`${Z}-home-greeting`,"data-testid":X.homeGreeting,children:y.title}),y.subtitle?/* @__PURE__ */ g(`p`,{class:`${Z}-home-lead`,children:y.subtitle}):null]})]}),/* @__PURE__ */ _(`div`,{class:`${Z}-home-cards`,children:[v?/* @__PURE__ */ g(gc,{options:e.options,onAsk:e=>i.startNewConversation(e)}):null,r.showSearchBar===!1?null:/* @__PURE__ */ g(ws,{placeholder:n.homeSearchPlaceholder,onActivate:()=>i.switchToLayout(`help`)}),w?/* @__PURE__ */ g(oc,{onClick:()=>{s.markSeen(w.id),i.push({kind:`content`,id:w.id,title:w.title})},testid:X.homeWhatsNew,children:/* @__PURE__ */ _(`div`,{class:`${Z}-home-recent-row`,"data-unread":s.unseen?`true`:void 0,children:[/* @__PURE__ */ g(`span`,{class:`${Z}-home-recent-avatar`,"aria-hidden":`true`,children:/* @__PURE__ */ g(To,{})}),/* @__PURE__ */ _(`span`,{class:`${Z}-home-recent-body`,children:[/* @__PURE__ */ g(`span`,{class:`${Z}-home-recent-title`,children:n.homeWhatsNew}),/* @__PURE__ */ g(`span`,{class:`${Z}-home-recent-preview`,children:T?`${w.title} · ${T}`:w.title})]}),s.unseen?/* @__PURE__ */ g(`span`,{class:`${Z}-home-recent-dot`,role:`img`,"aria-label":n.newsUnseen}):null]})}):null,c?/* @__PURE__ */ g(oc,{onClick:()=>i.selectConversation(c),testid:X.homeRecent,children:/* @__PURE__ */ _(`div`,{class:`${Z}-home-recent-row`,"data-unread":c.hasUnread?`true`:void 0,children:[/* @__PURE__ */ g(`span`,{class:`${Z}-home-recent-avatar`,"aria-hidden":`true`,children:/* @__PURE__ */ g(Eo,{})}),/* @__PURE__ */ _(`span`,{class:`${Z}-home-recent-body`,children:[/* @__PURE__ */ g(`span`,{class:`${Z}-home-recent-title`,children:c.title}),c.preview?/* @__PURE__ */ g(`span`,{class:`${Z}-home-recent-preview`,children:os(c.preview)}):null]}),c.hasUnread?/* @__PURE__ */ g(`span`,{class:`${Z}-home-recent-dot`,"aria-label":`Unread`}):null]})}):null,x?/* @__PURE__ */ g(oc,{onClick:x.url?()=>i.push({kind:`iframe`,url:x.url,title:S}):void 0,children:/* @__PURE__ */ _(`div`,{class:`${Z}-home-status`,"data-level":x.level??`operational`,children:[/* @__PURE__ */ g(`span`,{class:`${Z}-home-status-icon`,"aria-hidden":`true`,children:/* @__PURE__ */ g(Co,{})}),/* @__PURE__ */ g(`span`,{class:`${Z}-home-status-text`,children:S})]})}):null,d.length>0?/* @__PURE__ */ _(`section`,{class:`${Z}-home-content`,children:[/* @__PURE__ */ g(`div`,{class:`${Z}-home-content-title`,children:C}),/* @__PURE__ */ g(`div`,{class:`${Z}-home-content-list`,children:d.map(e=>/* @__PURE__ */ g(Ds,{title:e.title,subtitle:e.description,onClick:()=>hc(i,e),testid:Ho(X.homeContentRow,e.id)},e.id))})]}):null]})]})})}const yc={chat:xs,home:{Icon:wo,Root:e=>/* @__PURE__ */ g(vc,{...e})},help:Ns,news:fc},bc=M.cssPrefix;function xc({modules:e,activeTab:t,strings:n,hasUnread:r,onSelect:i}){return/* @__PURE__ */ g(`nav`,{class:`${bc}-tabbar`,role:`tablist`,"aria-label":n.panelTitle,children:e.map(e=>{let a=yc[e.layout].Icon,o=e.id===t,s=e.layout===`chat`&&r;return/* @__PURE__ */ _(`button`,{type:`button`,role:`tab`,"aria-selected":o,class:`${bc}-tab`,onClick:()=>i(e.id),"data-testid":Ho(X.tab,e.id),children:[/* @__PURE__ */ _(`span`,{class:`${bc}-tab-icon`,"aria-hidden":`true`,children:[/* @__PURE__ */ g(a,{}),s?/* @__PURE__ */ g(`span`,{class:`${bc}-tab-badge`,"data-testid":X.tabBadge,"aria-label":`Unread`}):null]}),/* @__PURE__ */ g(`span`,{class:`${bc}-tab-label`,children:A(n,e.label)})]},e.id)})})}const Sc=M.cssPrefix;function Cc({url:e,title:t,strings:n,onBack:r,actions:i}){return/* @__PURE__ */ _(`div`,{class:`${Sc}-module`,children:[/* @__PURE__ */ g($o,{title:t||n.moduleBack,backLabel:n.moduleBack,onBack:r,actions:i}),/* @__PURE__ */ g(`iframe`,{class:`${Sc}-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 wc=M.cssPrefix;function Tc({agent:e,strings:t}){let n=e.status??`online`,r=A(t,e.name),i=e.title?A(t,e.title):null;return/* @__PURE__ */ _(`div`,{class:`${wc}-agent`,children:[/* @__PURE__ */ g(`div`,{class:`${wc}-agent-avatar`,"data-status":n,children:e.avatar?/* @__PURE__ */ g(`img`,{src:e.avatar,alt:``}):/* @__PURE__ */ g(`span`,{children:sc(r)})}),/* @__PURE__ */ _(`div`,{class:`${wc}-agent-meta`,children:[/* @__PURE__ */ g(`strong`,{children:r}),i?/* @__PURE__ */ g(`span`,{children:i}):null]})]})}const Ec=[`today`,`yesterday`,`lastWeek`,`older`];function Dc(e,t){let n=Date.parse(t);if(!Number.isFinite(n))return`older`;let r=Math.floor((kc(e)-kc(n))/864e5);return r<=0?`today`:r===1?`yesterday`:r<7?`lastWeek`:`older`}function Oc(e,t){let n=/* @__PURE__ */ new Map;for(let r of t){let t=Dc(e,r.lastMessageAt),i=n.get(t);i?i.push(r):n.set(t,[r])}return Ec.filter(e=>n.has(e)).map(e=>({bucket:e,conversations:n.get(e)}))}function kc(e){let t=new Date(e);return t.setUTCHours(0,0,0,0),t.getTime()}const Ac=R.scope(`history`),jc={today:`dateToday`,yesterday:`dateYesterday`,lastWeek:`dateLastWeek`,older:`dateOlder`};function Mc(e,t){let n=t.type!==`upsert`||t.activity===!0;if(t.type===`snapshot`&&t.result.pagination.page===1&&e.pagination.page>1){let r=fa(e.conversations.slice(0,t.result.pagination.limit),t,n);if(t.result.conversations.length===0){if(r.length===0)return t.result;let e=Math.max(t.result.pagination.total,r.length);return{...t.result,conversations:r,pagination:{...t.result.pagination,total:e,totalPages:Math.ceil(e/t.result.pagination.limit)}}}let i=new Set(r.map(e=>e.conversationId)),a=e.conversations.slice(t.result.pagination.limit).filter(e=>!i.has(e.conversationId)),o=e.pagination.page,s={...t.result.pagination,page:o,hasPrev:o>1,hasNext:o<t.result.pagination.totalPages};return{conversations:[...r,...a],pagination:s}}let r=fa(e.conversations,t,n);return r===e.conversations?e:{...t.type===`snapshot`?t.result:e,conversations:r}}function Nc(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<6048e5?new Intl.DateTimeFormat(n,{weekday:`short`}).format(r):new Intl.DateTimeFormat(n,{month:`short`,day:`numeric`}).format(r):``}function Pc({transport:e,strings:t,locale:n,persistence:r,onSelect:i,onNewConversation:a}){let o=M.cssPrefix,s=e.peekConversations({limit:50}),[c,l]=m(s?`loaded`:`loading`),[d,f]=m(s),[v,y]=m(!1),b=p(void 0),x=d?.conversations??[],S=d?.pagination;u(()=>{let t=!1,n=!0,i=[],a=e.subscribeConversationChanges(e=>{n&&i.push(e),f(t=>t&&Mc(t,e))});b.current=void 0,y(!1);let o=e.peekConversations({limit:50});return f(o),l(o?`loaded`:`loading`),e.listConversations({limit:50}).then(e=>{if(t)return;let a=e;for(let e of i)a=Mc(a,e);i=[],n=!1,f(a),l(`loaded`),r.saveHistoryCount(a.conversations.length)}).catch(e=>{t||(i=[],n=!1,Ac.warn(`listConversations failed`,{err:e}),l(`error`))}),()=>{t=!0,a(),b.current=void 0}},[e,r,n]);async function C(){if(b.current||!S?.hasNext)return;let t={};b.current=t,y(!0);try{let n=await e.listConversations({page:S.page+1,limit:S.limit});if(b.current!==t)return;f(e=>{if(!e)return e;let t=new Set(e.conversations.map(e=>e.conversationId)),i=n.conversations.filter(e=>!t.has(e.conversationId)&&(t.add(e.conversationId),!0)),a={conversations:[...e.conversations,...i],pagination:n.pagination};return r.saveHistoryCount(a.conversations.length),a})}catch(e){if(b.current!==t)return;Ac.warn(`listConversations page failed`,{err:e,page:S.page+1})}finally{b.current===t&&(b.current=void 0,y(!1))}}let w=a?/* @__PURE__ */ g(`div`,{class:`${o}-history-footer`,children:/* @__PURE__ */ _(`button`,{type:`button`,class:`${o}-history-new`,onClick:a,"data-testid":X.sidebarNewConversation,children:[/* @__PURE__ */ g(Ha,{}),t.newConversation]})}):null;if(c===`loading`){let e=Math.min(r.loadHistoryCount()??3,6);return/* @__PURE__ */ _(h,{children:[/* @__PURE__ */ g(`div`,{class:`${o}-history`,"aria-busy":`true`,"aria-label":t.historyLoading,children:/* @__PURE__ */ _(`div`,{class:`${o}-history-group`,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`div`,{class:`${o}-history-heading`,children:/* @__PURE__ */ g(`span`,{class:`${o}-skeleton ${o}-skeleton-heading`})}),/* @__PURE__ */ g(`div`,{class:`${o}-history-card`,children:Array.from({length:Math.max(1,e)},(e,t)=>/* @__PURE__ */ _(`div`,{class:`${o}-history-item ${o}-history-item-skeleton`,children:[/* @__PURE__ */ g(`span`,{class:`${o}-history-avatar ${o}-skeleton`}),/* @__PURE__ */ _(`span`,{class:`${o}-history-body`,children:[/* @__PURE__ */ _(`span`,{class:`${o}-history-row`,children:[/* @__PURE__ */ g(`span`,{class:`${o}-history-title`,children:/* @__PURE__ */ g(`span`,{class:`${o}-skeleton ${o}-skeleton-title`})}),/* @__PURE__ */ g(`span`,{class:`${o}-history-time`,children:/* @__PURE__ */ g(`span`,{class:`${o}-skeleton ${o}-skeleton-time`})})]}),/* @__PURE__ */ g(`span`,{class:`${o}-history-row`,children:/* @__PURE__ */ g(`span`,{class:`${o}-history-preview`,children:/* @__PURE__ */ g(`span`,{class:`${o}-skeleton ${o}-skeleton-preview`})})})]})]},t))})]})}),w]})}if(c===`error`||x.length===0)return/* @__PURE__ */ _(h,{children:[/* @__PURE__ */ g(`div`,{class:`${o}-history-empty`,children:t.historyEmpty}),w]});let T=Date.now(),E=Oc(T,x);return/* @__PURE__ */ _(h,{children:[/* @__PURE__ */ _(`div`,{class:`${o}-history`,role:`list`,children:[E.map(e=>/* @__PURE__ */ _(`div`,{class:`${o}-history-group`,children:[/* @__PURE__ */ g(`div`,{class:`${o}-history-heading`,children:t[jc[e.bucket]]}),/* @__PURE__ */ g(`div`,{class:`${o}-history-card`,children:e.conversations.map(e=>/* @__PURE__ */ g(`div`,{role:`listitem`,children:/* @__PURE__ */ _(`button`,{type:`button`,class:`${o}-history-item`,onClick:()=>i(e),"data-closed":e.canContinue?void 0:`true`,"data-unread":e.hasUnread?`true`:void 0,"data-testid":Ho(X.historyItem,e.conversationId),children:[/* @__PURE__ */ g(`span`,{class:`${o}-history-avatar`,"aria-hidden":`true`,children:/* @__PURE__ */ g(go,{})}),/* @__PURE__ */ _(`span`,{class:`${o}-history-body`,children:[/* @__PURE__ */ _(`span`,{class:`${o}-history-row`,children:[/* @__PURE__ */ g(`span`,{class:`${o}-history-title`,children:e.title}),/* @__PURE__ */ g(`span`,{class:`${o}-history-time`,children:Nc(e.lastMessageAt,T,n)})]}),/* @__PURE__ */ _(`span`,{class:`${o}-history-row`,children:[/* @__PURE__ */ g(`span`,{class:`${o}-history-preview`,children:e.preview&&os(e.preview)||(e.canContinue?t.historyContinue:t.conversationClosed)}),e.hasUnread?/* @__PURE__ */ g(`span`,{class:`${o}-history-dot`}):null]})]})]})},e.conversationId))})]},e.bucket)),S?.hasNext?/* @__PURE__ */ g(`div`,{class:`${o}-history-more`,children:/* @__PURE__ */ g(`button`,{type:`button`,onClick:C,disabled:v,"aria-busy":v,"data-testid":X.historyLoadMore,children:t.loadMoreConversations})}):null]}),w]})}const Fc=M.cssPrefix;function Ic({visible:e,strings:t}){return e?/* @__PURE__ */ g(`div`,{class:`${Fc}-dropzone`,role:`status`,"aria-live":`polite`,children:t.dropZone}):null}const Lc=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,Rc=/^https?:\/\/[^\s.]+\.[^\s]+$/i,zc=/^[+]?[\d\s().-]{6,}$/;function Bc(e,t){return e.replace(/\{(\w+)\}/g,(e,n)=>String(t[n]??`{${n}}`))}function Vc(e){return Array.isArray(e)?e.length:+!!e?.trim()}function Hc(e,t,n){let r=e.required??!0,i=e.validation;if(e.type===`multiselect`){let e=Vc(t);return r&&e===0?n.formRequired:e===0?void 0:i?.minSelections!=null&&e<i.minSelections?Bc(n.formChooseAtLeast,{min:i.minSelections}):i?.maxSelections!=null&&e>i.maxSelections?Bc(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(!Lc.test(a))return n.formInvalidEmail;break;case`url`:if(!Rc.test(a))return n.formInvalidUrl;break;case`tel`:if(!zc.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 Bc(n.formNumberTooSmall,{min:i.min});if(i?.max!=null&&e>i.max)return Bc(n.formNumberTooLarge,{max:i.max});break}}if(i?.minLength!=null&&a.length<i.minLength)return Bc(n.formTooShort,{min:i.minLength});if(i?.maxLength!=null&&a.length>i.maxLength)return Bc(n.formTooLong,{max:i.maxLength});if(i?.pattern)try{if(!new RegExp(i.pattern).test(a))return n.formPatternMismatch}catch{}}function Uc(e,t,n){let r={};for(let i of e){let e=Hc(i,t[i.name],n);e&&(r[i.name]=e)}return r}function Wc(e){let t={};for(let[n,r]of Object.entries(e)){let e=Array.isArray(r)?r.join(`, `):r;e.trim()&&(t[n]=e.trim())}return t}const Q=M.cssPrefix,Gc=`__other__`;function Kc({fields:e,strings:t,submitLabel:n,onSubmit:r,skipLabel:i,onSkip:a,footerHint:o,submitOnEnter:s,disabled:c,initialValues:l,hideActions:u,fieldTypeLabels:d,rootTestId:f,submitTestId:p,skipTestId:h}){let[v,y]=m(()=>({...Xc(e),...l})),[b,x]=m({}),[S,C]=m({});function w(e){S[e]&&C(t=>({...t,[e]:``}))}function T(e,t){y(n=>({...n,[e]:t})),w(e)}function E(e,t){x(n=>({...n,[e]:t})),w(e)}function D(n){if(n.preventDefault(),c)return;let i=Zc(e,v,b),a=Uc(e,i,t);Object.keys(a).length>0?C(a):r(Wc(i))}function O(e){!s||e.key!==`Enter`||e.shiftKey||e.isComposing||e.target&&`tagName`in e.target&&e.target.tagName===`TEXTAREA`&&D(e)}return/* @__PURE__ */ _(`form`,{class:`${Q}-form`,onSubmit:D,onKeyDown:O,"data-testid":f,noValidate:!0,children:[e.map(e=>/* @__PURE__ */ g(qc,{field:e,value:v[e.name],otherText:b[e.name]??``,error:S[e.name],disabled:c,typeLabel:d?.[e.name],strings:t,onChange:t=>T(e.name,t),onOtherChange:t=>E(e.name,t)},e.name)),u?null:/* @__PURE__ */ _(`div`,{class:`${Q}-form-actions`,children:[o?/* @__PURE__ */ g(`span`,{class:`${Q}-form-hint`,children:o}):null,i&&a?/* @__PURE__ */ g(`button`,{type:`button`,class:`${Q}-form-skip`,onClick:a,disabled:c,"data-testid":h,children:i}):null,/* @__PURE__ */ g(`button`,{type:`submit`,class:`${Q}-form-submit`,disabled:c,"data-testid":p,children:n})]})]})}function qc({field:e,value:t,otherText:n,error:r,disabled:i,typeLabel:a,strings:o,onChange:s,onOtherChange:c}){let l=Jc({field:e,value:t,otherText:n,disabled:i,strings:o,onChange:s,onOtherChange:c,fieldTid:Ho(X.formField,e.name)});return/* @__PURE__ */ _(`label`,{class:`${Q}-field`,"data-field":e.name,"data-invalid":r?`true`:void 0,children:[/* @__PURE__ */ _(`span`,{class:`${Q}-field-head`,children:[/* @__PURE__ */ _(`span`,{class:`${Q}-field-label`,children:[e.label,e.required??!0?/* @__PURE__ */ g(`span`,{class:`${Q}-field-req`,"aria-hidden":`true`,children:` *`}):null]}),a?/* @__PURE__ */ g(`span`,{class:`${Q}-field-type`,children:a}):null]}),l,e.validationHint&&!r?/* @__PURE__ */ g(`span`,{class:`${Q}-field-hint`,children:e.validationHint}):null,r?/* @__PURE__ */ g(`span`,{class:`${Q}-field-error`,role:`alert`,children:r}):null]})}function Jc(e){let{field:t,value:n,otherText:r,disabled:i,strings:a,onChange:o,onOtherChange:s,fieldTid:c}=e,l=typeof n==`string`?n:``,u=t.type===`select`?a.formOtherPlaceholder:t.placeholder??a.formOtherPlaceholder,d=t.allowOther&&l===Gc?/* @__PURE__ */ g(`input`,{class:`${Q}-field-input`,value:r,placeholder:u,disabled:i,onInput:e=>s(e.currentTarget.value)}):null;switch(t.type){case`textarea`:return/* @__PURE__ */ g(`textarea`,{class:`${Q}-field-input`,rows:3,value:l,placeholder:t.placeholder,disabled:i,onInput:e=>o(e.currentTarget.value),"data-testid":c});case`select`:return/* @__PURE__ */ _(h,{children:[/* @__PURE__ */ _(`select`,{class:`${Q}-field-input`,value:l,disabled:i,onChange:e=>o(e.currentTarget.value),"data-testid":c,children:[/* @__PURE__ */ g(`option`,{value:``,children:t.placeholder??`—`}),(t.options??[]).map(e=>/* @__PURE__ */ g(`option`,{value:e.value,children:e.label??e.value},e.value)),t.allowOther?/* @__PURE__ */ g(`option`,{value:Gc,children:a.formOther}):null]}),d]});case`radio`:return/* @__PURE__ */ _(`div`,{class:`${Q}-field-choices`,role:`radiogroup`,"data-testid":c,children:[(t.options??[]).map(e=>/* @__PURE__ */ _(`label`,{class:`${Q}-choice`,children:[/* @__PURE__ */ g(`input`,{type:`radio`,name:`${Q}-${t.name}`,checked:l===e.value,disabled:i,onChange:()=>o(e.value)}),/* @__PURE__ */ g(`span`,{children:e.label??e.value})]},e.value)),t.allowOther?/* @__PURE__ */ _(`label`,{class:`${Q}-choice`,children:[/* @__PURE__ */ g(`input`,{type:`radio`,name:`${Q}-${t.name}`,checked:l===Gc,disabled:i,onChange:()=>o(Gc)}),/* @__PURE__ */ g(`span`,{children:a.formOther})]}):null,d]});case`checkbox`:return/* @__PURE__ */ _(`label`,{class:`${Q}-choice`,children:[/* @__PURE__ */ g(`input`,{type:`checkbox`,checked:l===`true`,disabled:i,onChange:e=>o(e.currentTarget.checked?`true`:``),"data-testid":c}),/* @__PURE__ */ g(`span`,{children:t.placeholder??t.label})]});case`multiselect`:{let e=Array.isArray(n)?n:[];function l(t,n){return o(n?[...e,t]:e.filter(e=>e!==t))}return/* @__PURE__ */ _(`div`,{class:`${Q}-field-choices`,"data-testid":c,children:[(t.options??[]).map(t=>/* @__PURE__ */ _(`label`,{class:`${Q}-choice`,children:[/* @__PURE__ */ g(`input`,{type:`checkbox`,checked:e.includes(t.value),disabled:i,onChange:e=>l(t.value,e.currentTarget.checked)}),/* @__PURE__ */ g(`span`,{children:t.label??t.value})]},t.value)),t.allowOther||(t.options??[]).length===0?/* @__PURE__ */ g(`textarea`,{class:`${Q}-field-input`,rows:2,value:r,placeholder:t.placeholder??a.formOtherPlaceholder,disabled:i,onInput:e=>s(e.currentTarget.value)}):null]})}default:return/* @__PURE__ */ g(`input`,{...Yc(t.type),class:`${Q}-field-input`,value:l,placeholder:t.placeholder,disabled:i,onInput:e=>o(e.currentTarget.value),"data-testid":c})}}function Yc(e){switch(e){case`number`:return{type:e};case`email`:return{type:e};case`tel`:return{type:e};case`url`:return{type:e};case`date`:case`time`:return{type:e};default:return{type:`text`}}}function Xc(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 Zc(e,t,n){let r={...t};for(let i of e){let e=n[i.name]?.trim();if((i.type===`radio`||i.type===`select`)&&i.allowOther&&t[i.name]===Gc)r[i.name]=e??``;else if(i.type===`multiselect`&&e){let n=e.split(/[,\n;]+/).map(e=>e.trim()).filter(Boolean),a=t[i.name];r[i.name]=[...Array.isArray(a)?a:[],...n]}}return r}const Qc=M.cssPrefix;function $c({form:e,strings:t,onSubmit:n,onSkip:r}){return/* @__PURE__ */ _(`div`,{class:`${Qc}-form-gate`,"data-testid":X.formGate,children:[e.title?/* @__PURE__ */ g(`h3`,{class:`${Qc}-form-gate-title`,children:e.title}):null,e.description?/* @__PURE__ */ g(`p`,{class:`${Qc}-form-gate-desc`,children:e.description}):null,/* @__PURE__ */ g(Kc,{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:X.formSubmit,skipTestId:X.formSkip})]})}function el({marker:e,strings:t,onFill:n}){let r=e.outcome===`skipped`,i=r?t.formSkipped:t.formSubmitted,a=e.title?/* @__PURE__ */ _(h,{children:[/* @__PURE__ */ g(`span`,{children:e.title}),/* @__PURE__ */ g(`span`,{class:`${Qc}-sr-only`,children:i})]}):/* @__PURE__ */ 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){function t(t){return e.form?.fields.find(e=>e.name===t)?.label??t}return/* @__PURE__ */ _(`details`,{class:`${Qc}-form-done`,"data-outcome":e.outcome,"data-testid":X.formDone,children:[/* @__PURE__ */ _(`summary`,{class:`${Qc}-form-done-summary`,"data-testid":X.formDoneToggle,children:[/* @__PURE__ */ g(so,{}),a,/* @__PURE__ */ g(Ka,{})]}),/* @__PURE__ */ g(`dl`,{class:`${Qc}-form-answers`,"data-testid":X.formAnswers,children:Object.entries(s).map(([e,n])=>/* @__PURE__ */ _(`div`,{class:`${Qc}-form-answer`,children:[/* @__PURE__ */ g(`dt`,{children:t(e)}),/* @__PURE__ */ g(`dd`,{children:n})]},e))})]})}return/* @__PURE__ */ _(`div`,{class:`${Qc}-form-done`,"data-outcome":e.outcome,"data-testid":X.formDone,role:`status`,children:[g(r?oo:so,{}),a,r&&e.form?.reopenable&&n?/* @__PURE__ */ g(`button`,{type:`button`,class:`${Qc}-form-done-fill`,"data-testid":X.formFill,onClick:n,children:t.formFillOut}):null]})}function tl(e){return e?(e.startsWith(`tool:`)?e.slice(5):e)===`ask-user-questions`:!1}const nl=M.cssPrefix;function rl({messageId:e,initial:t,strings:n,onFeedback:r}){let[i,a]=m(t);u(()=>a(t),[e,t]);function o(t){let n=i===t?null:t;a(n),r(e,n)}return/* @__PURE__ */ _(`div`,{class:`${nl}-feedback`,role:`group`,"data-testid":X.messageFeedback,children:[/* @__PURE__ */ g(`button`,{type:`button`,class:`${nl}-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":X.feedbackUp,children:/* @__PURE__ */ g(Fo,{})}),/* @__PURE__ */ g(`button`,{type:`button`,class:`${nl}-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":X.feedbackDown,children:/* @__PURE__ */ g(Io,{})}),/* @__PURE__ */ g(`span`,{class:`${nl}-sr-only`,role:`status`,"aria-live":`polite`,children:i?n.feedbackThanks:``})]})}const il=/* @__PURE__ */ new Set([`hidden`,`submit`,`button`,`reset`,`image`,`file`,`password`]);function al(e){return e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement}function ol(e){return!al(e)||e.name===``||e.disabled?!1:!(e instanceof HTMLInputElement&&il.has(e.type))}function sl(e){let t=e.labels?.[0]?.textContent?.trim();return e.getAttribute(`toolparamdescription`)??(t||e.getAttribute(`aria-description`))??void 0}function cl(e,t){let n=sl(e),r=n?{description:n}:{};return e instanceof HTMLSelectElement?{...r,type:`string`,enum:[...e.options].map(e=>e.value)}:e instanceof HTMLTextAreaElement?{...r,type:`string`}:e.type===`checkbox`?{...r,type:`boolean`}:e.type===`radio`?{...r,type:`string`,enum:t}:e.type===`number`||e.type===`range`?{...r,type:`number`}:{...r,type:`string`}}function ll(e,t){Object.getOwnPropertyDescriptor(Reflect.getPrototypeOf(e)??e,`value`)?.set?.call(e,t),e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))}function ul(e){return e==null?``:typeof e==`string`?e:JSON.stringify(e)}function dl(e,t){e instanceof HTMLInputElement&&e.type===`checkbox`?e.checked!==(t===!0||t===`true`)&&e.click():e instanceof HTMLInputElement&&e.type===`radio`?e.value===ul(t)&&!e.checked&&e.click():ll(e,ul(t))}function fl(e,t,n){let r=[...e.elements].filter(ol),i={},a=/* @__PURE__ */ new Set;for(let e of r){var o;let t=r.flatMap(t=>t instanceof HTMLInputElement&&t.type===`radio`&&t.name===e.name?[t.value]:[]);i[o=e.name]??(i[o]=cl(e,t)),e.required&&a.add(e.name)}return{name:t,description:n,inputSchema:{type:`object`,properties:i,...a.size>0?{required:[...a]}:{}},execute(t){let n=typeof t==`object`&&t?Object.entries(t):[];for(let[e,t]of n)for(let n of r)n.name===e&&dl(n,t);if(!e.hasAttribute(`toolautosubmit`))return`Filled in the form. The visitor still needs to check it and press its submit button.`;let i=[...new Set([...e.elements].flatMap(e=>al(e)&&e.name&&!e.checkValidity()?[e.name]:[]))];return i.length>0?`Filled in the form, but it can't be submitted yet: ${i.join(`, `)} still needs the visitor. Ask them to complete it and press the submit button.`:(setTimeout(()=>e.requestSubmit(),0),`Filled in the form and submitted it.`)}}}function pl(){return[...document.querySelectorAll(`form[toolname][tooldescription]`)].flatMap(e=>{let t=e.getAttribute(`toolname`)?.trim()??``,n=e.getAttribute(`tooldescription`)?.trim()??``;return t&&n?[fl(e,t,n)]:[]})}const ml=`${M.cssPrefix}.page-tools`;function hl(e){return typeof e==`object`&&!!e}function gl(e){return hl(e)&&(e.state===`running`||e.state===`stopped`||e.state===`finished`&&hl(e.outcome))}function _l(e){let t=e?JSON.parse(e):void 0;return hl(t)?{sent:Array.isArray(t.sent)?t.sent.filter(e=>typeof e==`string`):[],calls:Object.fromEntries(Object.entries(hl(t.calls)?t.calls:{}).filter(e=>gl(e[1])))}:{sent:[],calls:{}}}let vl={sent:[],calls:{}};function yl(){try{vl=_l(sessionStorage.getItem(ml))}catch{}return vl}function bl(e){vl=e;try{sessionStorage.setItem(ml,JSON.stringify(e))}catch{}}const xl={markSent(e){let t=yl();bl({...t,sent:[...t.sent.filter(t=>t!==e),e].slice(-20)})},sentHere(e){return yl().sent.includes(e)},get(e){return yl().calls[e]},set(e,t){let n=yl(),r=Object.entries(n.calls).filter(([t])=>t!==e);bl({...n,calls:Object.fromEntries([...r,[e,t]].slice(-50))})},clear(e){let t=yl();e.some(e=>e in t.calls)&&bl({...t,calls:Object.fromEntries(Object.entries(t.calls).filter(([t])=>!e.includes(t)))})}},Sl=R.scope(`page-tools`),Cl=3e4,wl=Symbol.for(`${M.cssPrefix}.page-tools`),Tl={state:`output-error`,errorText:`The page reloaded before this finished, so it may or may not have taken effect. Check with the visitor before trying it again.`},El=`The visitor stopped this before it finished.`;function Dl(e){return typeof e==`object`&&!!e}function Ol(e){return Dl(e)&&Array.isArray(e.registered)&&e.runs instanceof Map}function kl(){let e=Reflect.get(globalThis,wl);if(Ol(e))return e;let t={registered:[],runs:/* @__PURE__ */ new Map};return Reflect.set(globalThis,wl,t),t}function Al(e,t){let n=Dl(t)&&t.signal instanceof AbortSignal?t.signal:void 0;if(n?.aborted)return;let r=kl().registered;r.push(e);function i(){let t=r.indexOf(e);t>=0&&r.splice(t,1)}n?.addEventListener(`abort`,i,{once:!0})}function jl(e){return e.replace(/[^A-Za-z0-9_-]/g,`_`).slice(0,58)}function Ml(e){if(!Dl(e)||typeof e.name!=`string`||!jl(e.name))return;let t=[e.description,e.title].find(e=>typeof e==`string`&&e.trim()!==``)??e.name;return{name:jl(e.name),description:t.trim().slice(0,1024),inputSchema:{properties:{},...Dl(e.inputSchema)?e.inputSchema:{},type:`object`},consequential:Dl(e.annotations)&&e.annotations.consequentialHint===!0}}function Nl(e){return e.flatMap(e=>{let t=Ml(e),n=Dl(e)?e.execute:void 0;return!t||typeof n!=`function`?(Sl.warn(`skipped a tool without a name or an execute function`,e),[]):[{...t,run:(t,r)=>Reflect.apply(n,e,[t,{signal:r}])}]})}async function Pl(){let e=Reflect.get(document,`modelContext`)??Reflect.get(navigator,`modelContext`);if(!Dl(e)||typeof e.getTools!=`function`||typeof e.executeTool!=`function`)return[];let t=e.getTools,n=e.executeTool,r=await Promise.race([Promise.resolve().then(()=>Reflect.apply(t,e,[])),Zi(1e3).then(()=>[])]).catch(()=>[]);return(Array.isArray(r)?r:[]).flatMap(t=>{let r=Ml(t);return r?[{...r,run:(r,i)=>Reflect.apply(n,e,[t,r,{signal:i}])}]:[]})}async function Fl(e=[]){let t=Nl(pl()),n=new Set(t.map(e=>e.name)),r=[...(await Pl()).filter(e=>!n.has(e.name)),...t,...Nl(e),...Nl(kl().registered)];return new Map(r.map(e=>[e.name,e]))}function Il(e){return[...e.values()].map(({name:e,description:t,inputSchema:n,consequential:r})=>r?{name:e,description:t,inputSchema:n,annotations:{consequentialHint:!0}}:{name:e,description:t,inputSchema:n})}function Ll(e){return e?.execution===`client`}function Rl(e){return e.startsWith(`site__`)?e.slice(6):e}function zl(e){if(e===void 0||typeof e==`function`||typeof e==`symbol`)return null;let t=/* @__PURE__ */ new WeakSet,n=JSON.stringify(e,(e,n)=>{if(typeof n==`bigint`)return n.toString();if(typeof n!=`function`&&typeof n!=`symbol`)return n instanceof Node?`[${n.nodeName.toLowerCase()}]`:Dl(n)?t.has(n)?`[circular]`:(t.add(n),n):n});return n.length>Cl?{truncated:!0,preview:n.slice(0,Cl)}:JSON.parse(n)}async function Bl(e){let t=Rl(e.toolName),n=(await Fl(e.optionTools)).get(t);return n?Promise.resolve().then(()=>n.run(e.input,e.signal)).then(e=>({state:`output-available`,output:zl(e)})).catch(e=>(Sl.warn(`a page tool failed`,{name:t,error:e}),{state:`output-error`,errorText:(e instanceof Error?e.message:String(e)).slice(0,1e3)||`The page tool failed.`})):{state:`output-error`,errorText:`This page doesn't offer "${t}" right now; the visitor may have moved on. Tell them, or continue without it.`}}function Vl(e){let{toolCallId:t}=e,n=xl.get(t);if(n?.state===`finished`)return Promise.resolve(n.outcome);let{runs:r}=kl(),i=r.get(t);if(i)return i.outcome;if(n?.state===`running`)return xl.set(t,{state:`finished`,outcome:Tl}),e.onSettled(`interrupted`,0),Promise.resolve(Tl);let a=new AbortController,o=performance.now();xl.set(t,{state:`running`});let s=Bl({...e,signal:a.signal}).then(n=>(r.delete(t),xl.get(t)?.state===`running`&&(xl.set(t,{state:`finished`,outcome:n}),e.onSettled(n.state===`output-available`?`completed`:`failed`,Math.round(performance.now()-o))),n));return r.set(t,{outcome:s,controller:a}),s}function Hl(e){return e===Tl.errorText||e===El}function Ul(e){return xl.set(e,{state:`stopped`}),kl().runs.get(e)?.controller.abort(),El}function Wl(e){xl.clear([e]),kl().runs.get(e)?.controller.abort()}const Gl=M.cssPrefix;function Kl(e){let t=e.replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replace(/[_-]+/g,` `).trim().toLowerCase();return t.charAt(0).toUpperCase()+t.slice(1)}function ql(e){if(e.startsWith(`tool:`)||e.startsWith(`tool-`))return e.slice(5);let t=e.indexOf(`__`),n=e.slice(t+2);return t>0&&n?`${Kl(e.slice(0,t))} · ${Kl(n)}`:e}function Jl(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 Yl({status:e,icon:t,label:n}){return/* @__PURE__ */ _(`span`,{class:`${Gl}-toolui-badge ${Gl}-toolui-status`,"data-status":e,children:[/* @__PURE__ */ g(`span`,{class:`${Gl}-toolui-status-icon`,children:t}),n]})}function Xl(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 Zl(e,t,n={}){return n.submitted?`responded`:n.incomplete?`incomplete`:eu(Xl(e,t),n.superseded,n.live??!0)}function Ql({status:e}){return g(e===`denied`||e===`error`||e===`superseded`||e===`incomplete`?Bo:e===`completed`||e===`responded`?zo:Ro,{})}function $l(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;case`incomplete`:return t.statusIncomplete;default:return t.statusRunning}}function eu(e,t,n){return t&&(e===`awaiting`||e===`running`)?`superseded`:!n&&e===`running`?`error`:e}function tu({state:e,approval:t,strings:n,superseded:r,live:i=!0,submitted:a=!1,incomplete:o=!1}){let s=Zl(e,t,{superseded:r,live:i,submitted:a,incomplete:o});return/* @__PURE__ */ g(Yl,{status:s,icon:/* @__PURE__ */ g(Ql,{status:s}),label:$l(s,n)})}function nu({name:e,state:t,approval:n,strings:r,superseded:i,live:a,submitted:o,incomplete:s}){return/* @__PURE__ */ _(h,{children:[/* @__PURE__ */ _(`span`,{class:`${Gl}-toolui-name-pill`,children:[/* @__PURE__ */ g(Lo,{}),/* @__PURE__ */ g(`span`,{class:`${Gl}-toolui-name-text`,children:e})]}),/* @__PURE__ */ g(tu,{state:t,approval:n,strings:r,superseded:i,live:a,submitted:o,incomplete:s}),/* @__PURE__ */ g(`span`,{class:`${Gl}-toolui-chevron`,children:/* @__PURE__ */ g(po,{})})]})}function ru({part:e,strings:t,testid:n,superseded:r,live:a,submitted:o,incomplete:s}){let c=f(()=>i(()=>e.inputSig.value),[e]),l=f(()=>i(()=>e.outputSig.value),[e]),u=f(()=>i(()=>e.errorSig.value),[e]),d=f(()=>i(()=>e.stateSig.value),[e]),p=f(()=>i(()=>e.approvalSig.value),[e]),m=f(()=>i(()=>Ll(e.toolMetadata)&&Hl(e.errorSig.value)),[e]),h=s===!0||m.value;return/* @__PURE__ */ _(`details`,{class:`${Gl}-toolui ${Gl}-toolui-collapsible`,"data-testid":n,children:[/* @__PURE__ */ g(`summary`,{class:`${Gl}-toolui-head`,children:/* @__PURE__ */ g(nu,{name:ql(e.toolName),state:d.value,approval:p.value,strings:t,superseded:r,live:a,submitted:o,incomplete:h})}),/* @__PURE__ */ g(iu,{label:t.toolParameters,value:c.value}),l.value===void 0?null:/* @__PURE__ */ g(iu,{label:t.toolResult,value:l.value}),u.value&&!h?/* @__PURE__ */ g(iu,{label:t.statusError,value:u.value,error:!0}):null]})}function iu({label:e,value:t,error:n}){let r=n?typeof t==`string`?t:``:ou(au(t));return r?/* @__PURE__ */ _(`div`,{class:`${Gl}-toolui-section`,children:[/* @__PURE__ */ g(`span`,{class:`${Gl}-toolui-label`,children:e}),/* @__PURE__ */ g(`pre`,{class:`${Gl}-toolui-code`,"data-error":n?`true`:void 0,children:r})]}):null}function au(e){if(e&&typeof e==`object`){let t=e;if(t.storage===`tool-result-ref`&&`summary`in t)return t.summary}return e}function ou(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 su(e){return e.partsSig.value.some(e=>e.kind===`text`&&e.textSig.value.length>0)}function cu(e){return e.partsSig.value.some(e=>e.kind===`reasoning`)}function lu(e){return e.streaming&&!e.bufferedHold&&!(e.reasoningVisible&&e.working)}function uu(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:lu({streaming:t,bufferedHold:a,reasoningVisible:n,working:o}),emptyReply:r,hidden:i}}function du(e,t){let n=e.stateSig.value,r=e.approvalSig.value,{terminal:i,responded:a,decided:o}=Jl(n,r),s=t.continuationStreaming===!0&&!o,c=t.superseded&&!o&&!s;return{pill:Zl(n,r,{superseded:c,live:t.live,submitted:s,incomplete:Ll(e.toolMetadata)&&Hl(e.errorSig.value)}),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}}const fu=M.cssPrefix;function pu({part:e,strings:t}){let n=e.title||e.filename||e.url||t.sources;return e.url?/* @__PURE__ */ _(`a`,{class:`${fu}-source`,href:e.url,target:`_blank`,rel:`noreferrer noopener`,"data-testid":X.source,children:[/* @__PURE__ */ g(`span`,{class:`${fu}-source-icon`,"aria-hidden":`true`,children:`🔗`}),/* @__PURE__ */ g(`span`,{class:`${fu}-source-label`,children:n})]}):/* @__PURE__ */ _(`span`,{class:`${fu}-source`,"data-testid":X.source,children:[/* @__PURE__ */ g(`span`,{class:`${fu}-source-icon`,"aria-hidden":`true`,children:`📄`}),/* @__PURE__ */ g(`span`,{class:`${fu}-source-label`,children:n})]})}const mu=M.cssPrefix;function hu({part:e,strings:t,active:n,superseded:r=!1,continuationStreaming:a=!1,onDecision:o,onEdit:s}){let c=f(()=>i(()=>e.approvalSig.value),[e]),l=f(()=>i(()=>du(e,{active:n,superseded:r,continuationStreaming:a})),[e,n,r,a]).value,{terminal:u,showApproveReject:d,showAnswered:p,showSubmitted:m,showEdit:v,skipped:y}=l,b=ql(e.toolName),x=l.answeredApproved,S=e.toolCallId,C=/* @__PURE__ */ _(h,{children:[/* @__PURE__ */ g(`p`,{class:`${mu}-toolui-prompt`,children:t.approvalPrompt.replace(`{tool}`,b)}),/* @__PURE__ */ g(`p`,{class:`${mu}-toolui-subtle`,children:t.approvalBody})]});m?C=/* @__PURE__ */ g(`p`,{class:`${mu}-toolui-subtle`,children:t.approvalSubmitting}):p&&x!==!1?C=/* @__PURE__ */ _(h,{children:[/* @__PURE__ */ _(`p`,{class:`${mu}-toolui-prompt`,children:[t.approvalYourResponse.replace(`{decision}`,x?t.approve:t.reject),c.value?.reason?` — ${c.value.reason}`:``]}),v?/* @__PURE__ */ g(`p`,{class:`${mu}-toolui-subtle`,children:t.approvalEditHint}):null,v?null:/* @__PURE__ */ g(`p`,{class:`${mu}-toolui-subtle`,children:t.approvalSubmitting})]}):p&&(C=/* @__PURE__ */ g(h,{}));let w=d||m||v||p&&x!==!1;return/* @__PURE__ */ _(`div`,{class:`${mu}-toolui-group`,"data-testid":l.decided?X.toolDecision:X.toolApproval,children:[/* @__PURE__ */ g(ru,{part:e,strings:t,superseded:y,submitted:m}),y||u||!w?null:/* @__PURE__ */ _(`div`,{class:`${mu}-toolui ${mu}-toolui-body`,children:[C,d?/* @__PURE__ */ _(`div`,{class:`${mu}-toolui-actions`,children:[/* @__PURE__ */ g(`button`,{type:`button`,class:`${mu}-form-skip`,disabled:!n,onClick:()=>o(S,!1),"data-testid":X.toolReject,children:t.reject}),/* @__PURE__ */ g(`button`,{type:`button`,class:`${mu}-form-submit`,disabled:!n,onClick:()=>o(S,!0),"data-testid":X.toolApprove,children:t.approve})]}):null,v?/* @__PURE__ */ g(`div`,{class:`${mu}-toolui-actions`,children:/* @__PURE__ */ g(`button`,{type:`button`,class:`${mu}-form-skip`,onClick:()=>s(S),"data-testid":X.toolEdit,children:t.edit})}):null]})]})}const gu=[`text`,`email`,`phone`,`number`,`date`,`single-select`,`multi-select`,`boolean`];function _u(e){return typeof e==`object`&&!!e}function vu(e){let t=_u(e)?e:{},n=(Array.isArray(t.questions)?t.questions:[]).map(yu).filter(e=>e!==null);return{intro:Su(t.intro),questions:n}}function yu(e,t){if(!_u(e))return null;let n=gu.find(t=>t===e.type)??`text`;return{key:Su(e.key)??`q${t+1}`,question:Su(e.question)??`Please provide the missing information.`,type:n,options:Array.isArray(e.options)?e.options.filter(e=>typeof e==`string`&&e.trim().length>0):void 0,required:typeof e.required==`boolean`?e.required:void 0,helpText:Su(e.helpText)}}function bu(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 xu(e,t,n){return e.questions.map(e=>{let r=bu(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 Su(e){return typeof e==`string`&&e.trim()?e.trim():void 0}const Cu=M.cssPrefix;function wu({skipped:e,submitted:t,strings:n}){return e?{status:`superseded`,statusLabel:n.inputSkipped}:t?{status:`responded`,statusLabel:n.statusResponded}:{status:`completed`,statusLabel:n.inputAnswered}}const Tu={text:`qtypeText`,email:`qtypeEmail`,phone:`qtypePhone`,number:`qtypeNumber`,date:`qtypeDate`,"single-select":`qtypeChooseOne`,"multi-select":`qtypeChooseAny`,boolean:`qtypeBoolean`};function Eu(e,t){let n={};for(let r of e)n[r.key]=t[Tu[r.type]];return n}function Du({part:e,strings:t,active:n,superseded:r=!1,continuationStreaming:a=!1,onDecision:o,onEdit:s}){let c=f(()=>i(()=>e.stateSig.value),[e]).value,l=f(()=>i(()=>e.approvalSig.value),[e]).value,u=f(()=>i(()=>vu(e.inputSig.value)),[e]).value,{terminal:d,decided:p}=Jl(c,l),h=p&&l?.approved===!0,v=a&&!p,y=!p&&!r&&!v,b=!y&&!h&&!v,x=h&&n&&!d,S=u.questions,[C,w]=m(null),T=C??(y||h||v),[E,D]=m(!1),O=S.length>1?Ba:_o,k=y?t.inputRequired:t.inputBadge,A=v?/* @__PURE__ */ g(`p`,{class:`${Cu}-toolui-subtle`,children:t.approvalSubmitting}):y?/* @__PURE__ */ g(Ou,{req:u,strings:t,active:n,resolve:(t,n)=>o(e.toolCallId,n,t)}):E?/* @__PURE__ */ g(Kc,{fields:xu(u,t.confirmYes,t.confirmNo),strings:t,submitLabel:t.inputSubmit,onSubmit:()=>{},disabled:!0,hideActions:!0,fieldTypeLabels:Eu(S,t),initialValues:h?Pu(S,l?.reason):void 0}):/* @__PURE__ */ g(ku,{questions:S,answers:h?Nu(l?.reason):{},strings:t}),{status:j,statusLabel:M}=wu({skipped:b,submitted:v,strings:t});return/* @__PURE__ */ _(`details`,{class:`${Cu}-toolui ${Cu}-toolui-collapsible${r?` ${Cu}-toolui-stale`:``}`,open:T,onToggle:e=>{let t=e.currentTarget.open;t!==T&&w(t)},"data-testid":y?X.toolAskQuestions:X.toolDecision,children:[/* @__PURE__ */ _(`summary`,{class:`${Cu}-toolui-head`,children:[/* @__PURE__ */ _(`span`,{class:`${Cu}-toolui-q-pill`,children:[/* @__PURE__ */ g(O,{}),k]}),/* @__PURE__ */ _(`span`,{class:`${Cu}-toolui-head-end`,children:[y?null:/* @__PURE__ */ g(Yl,{status:j,icon:g(b?Bo:zo,{}),label:M}),/* @__PURE__ */ g(`span`,{class:`${Cu}-toolui-chevron`,children:/* @__PURE__ */ g(po,{})})]})]}),/* @__PURE__ */ _(`div`,{class:`${Cu}-toolui-collapse-body`,children:[u.intro?/* @__PURE__ */ g(`div`,{class:`${Cu}-toolui-desc`,children:u.intro}):null,A,y||v?null:/* @__PURE__ */ _(`div`,{class:`${Cu}-toolui-footer`,children:[/* @__PURE__ */ _(`button`,{type:`button`,class:`${Cu}-toolui-options-toggle`,onClick:()=>D(e=>!e),"data-testid":X.toolAskOptions,children:[/* @__PURE__ */ g(`span`,{class:`${Cu}-toolui-options-chevron${E?` ${Cu}-open`:``}`,children:/* @__PURE__ */ g(po,{})}),E?t.hideOptions:t.showOptions]}),x?/* @__PURE__ */ g(`button`,{type:`button`,class:`${Cu}-form-skip`,onClick:()=>s(e.toolCallId),"data-testid":X.toolEdit,children:t.edit}):null]})]})]})}function Ou({req:e,strings:t,active:n,resolve:r}){let i=xu(e,t.confirmYes,t.confirmNo),a=e.questions.length===1&&e.questions[0]?.type===`text`;return/* @__PURE__ */ g(Kc,{fields:i,strings:t,disabled:!n,submitLabel:t.inputSubmit,footerHint:a?t.inputSubmitHint:void 0,onSubmit:t=>r(ju(e.questions,t),!0),skipLabel:t.inputSkip,onSkip:()=>r(void 0,!1),submitOnEnter:a,fieldTypeLabels:Eu(e.questions,t),submitTestId:X.toolInputSubmit,skipTestId:X.toolInputSkip})}function ku({questions:e,answers:t,strings:n}){return/* @__PURE__ */ g(`div`,{class:`${Cu}-toolui-summary`,"data-testid":X.toolAskSummary,children:e.map(e=>/* @__PURE__ */ _(`div`,{class:`${Cu}-field`,children:[/* @__PURE__ */ g(`span`,{class:`${Cu}-field-head`,children:/* @__PURE__ */ _(`span`,{class:`${Cu}-field-label`,children:[e.question,e.required?/* @__PURE__ */ g(`span`,{class:`${Cu}-field-req`,"aria-hidden":`true`,children:` *`}):null]})}),/* @__PURE__ */ g(`p`,{class:`${Cu}-toolui-answer`,children:Au(e,t[e.key],n)||`—`})]},e.key))})}function Au(e,t,n){return e.type===`boolean`?t===`yes`?n.confirmYes:t===`no`?n.confirmNo:t??``:t??``}function ju(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 Mu(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 Nu(e){let t=Mu(e),n={};for(let[e,r]of Object.entries(t))n[e]=Array.isArray(r)?r.join(`, `):r;return n}function Pu(e,t){let n=Mu(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 Fu({part:e,strings:t,live:n,superseded:r}){let a=f(()=>i(()=>e.inputSig.value),[e]),o=f(()=>i(()=>e.outputSig.value),[e]),s=f(()=>i(()=>e.errorSig.value),[e]),c=Ll(e.toolMetadata);if(!f(()=>i(()=>!!ou(a.value)||!!s.value||!!ou(au(o.value))),[a,o,s]).value&&!c)return null;let l=o.value===void 0&&!s.value;return/* @__PURE__ */ g(ru,{part:e,strings:t,testid:X.toolCall,live:n||c&&!r,incomplete:c&&r&&l})}const Iu=M.cssPrefix,Lu=y(Ru);function Ru({message:e,status:t,strings:n,responseMode:r,showReasoning:a,showToolCalls:o,showSources:s,interactive:c=!1,superseded:l=!1,tool:u,onRetry:d,enableMessageFeedback:p=!1,onFeedback:m}){let h=[...f(()=>i(()=>e.partsSig.value),[e]).value];for(let t of e.attachments??[])t.url&&!h.some(e=>e.kind===`file`&&e.url===t.url)&&h.push({kind:`file`,url:t.url,mediaType:t.mediaType});let v=f(()=>i(()=>Gi(e)),[e]),y=f(()=>i(()=>qi(e)),[e]),b=f(()=>i(()=>su(e)),[e]),x=f(()=>i(()=>a&&cu(e)),[e,a]),S=t===`streaming`,C=e.role===`assistant`&&S,w=uu({streaming:C,responseMode:r,reasoningVisible:x.value,hasAnswerText:b.value,emptyReply:v.value,hidden:y.value}),{bufferedHold:T,working:E,showStreamDots:D}=w;if(w.hidden)return null;let O=Bu(e.createdAt),k=e.role===`assistant`||e.role===`operator`,A=p&&!!m&&!!e.serverMessageId&&k&&!S&&t!==`error`&&!v.value,j=S?``:h.filter(e=>e.kind===`text`).map(t=>e.role===`assistant`?Zr(t.textSig.peek()):t.textSig.peek()).join(`
|
|
32
32
|
|
|
33
|
-
`).trim(),M=!S&&t!==`error`&&!v.value&&j.length>0,ee=A||M;return/* @__PURE__ */ g(`div`,{class:`${Iu}-bubble-row`,"data-role":e.role,"data-testid":Ho(X.messageBubble,e.serverMessageId??e.id),children:/* @__PURE__ */ _(`div`,{class:`${Iu}-bubble-col`,children:[/* @__PURE__ */ _(`div`,{class:`${Iu}-bubble`,children:[e.role===`operator`&&e.operatorInitials?/* @__PURE__ */ g(`span`,{class:`${Iu}-bubble-author`,children:e.operatorInitials}):null,/* @__PURE__ */ _(`div`,{class:`${Iu}-bubble-body`,children:[T?/* @__PURE__ */ g(Ku,{label:n.loading}):h.map((r,i)=>/* @__PURE__ */ g(Vu,{part:r,generativeUi:e.role===`assistant`,active:E,live:C,strings:n,showReasoning:a,showToolCalls:o,showSources:s,interactive:c&&t===`complete`&&(r.kind!==`tool`||ji(e,i)),superseded:l,continuationStreaming:e.continuationStreaming===!0,tool:u},`${Wu(r)}#${i}`)),D&&/* @__PURE__ */ g(Gu,{}),t===`error`||v.value?/* @__PURE__ */ _(`div`,{class:`${Iu}-error`,role:`alert`,children:[/* @__PURE__ */ g(`span`,{children:e.errorText??n.errorGeneric}),d?/* @__PURE__ */ g(`button`,{type:`button`,class:`${Iu}-error-retry`,onClick:()=>d(e),"data-testid":X.messageRetry,children:n.errorRetry}):null]}):null]})]}),O||ee?/* @__PURE__ */ _(`div`,{class:`${Iu}-bubble-meta`,children:[O?/* @__PURE__ */ g(`time`,{class:`${Iu}-bubble-time`,dateTime:O.iso,title:O.full,children:O.short}):null,ee?/* @__PURE__ */ _(`div`,{class:`${Iu}-bubble-actions`,children:[A&&e.serverMessageId?/* @__PURE__ */ g(rl,{messageId:e.serverMessageId,initial:e.feedback??null,strings:n,onFeedback:m}):null,M?/* @__PURE__ */ g(zu,{text:j,strings:n}):null]}):null]}):null]})})}function zu({text:e,strings:t}){let[n,r]=m(!1);function i(){navigator.clipboard?.writeText(e).then(()=>{r(!0),setTimeout(()=>r(!1),1500)}).catch(()=>{})}let a=n?t.copied:t.copy;return/* @__PURE__ */ g(`button`,{type:`button`,class:`${Iu}-msg-action`,"data-active":n?`true`:void 0,"aria-label":a,title:a,onClick:i,"data-testid":X.messageCopy,children:g(n?so:Po,{})})}function Bu(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 Vu({part:e,generativeUi:t,active:n,live:r,strings:i,showReasoning:a,showToolCalls:o,showSources:s,interactive:c,superseded:l,continuationStreaming:u,tool:d}){switch(e.kind){case`step-start`:return null;case`text`:return/* @__PURE__ */ g(es,{textSig:e.textSig,doneSig:e.doneSig,generativeUi:t,strings:i});case`reasoning`:return a?/* @__PURE__ */ g(Uu,{part:e,active:n,strings:i}):null;case`tool`:return/* @__PURE__ */ g(Hu,{part:e,strings:i,showToolCalls:o,interactive:c,superseded:l,continuationStreaming:u,live:r,tool:d});case`file`:return e.mediaType.startsWith(`image/`)?/* @__PURE__ */ g(`img`,{src:e.url,alt:``,loading:`lazy`}):/* @__PURE__ */ g(`a`,{href:e.url,target:`_blank`,rel:`noreferrer noopener`,children:e.url});case`source`:return s?/* @__PURE__ */ g(pu,{part:e,strings:i}):null}}function Hu({part:e,strings:t,showToolCalls:n,interactive:r,superseded:a,continuationStreaming:o,live:s,tool:c}){let l=f(()=>i(()=>e.approvalSig.value!==void 0),[e]);return c?.humanInLoop&&l.value?tl(e.toolName)?/* @__PURE__ */ g(Du,{part:e,strings:t,active:r,superseded:a,continuationStreaming:o,onDecision:c.onDecision,onEdit:c.onEdit}):/* @__PURE__ */ g(hu,{part:e,strings:t,active:r,superseded:a,continuationStreaming:o,onDecision:c.onDecision,onEdit:c.onEdit}):n?/* @__PURE__ */ g(Fu,{part:e,strings:t,live:s,superseded:a}):null}function Uu({part:e,active:t,strings:n}){return/* @__PURE__ */ _(`details`,{class:`${Iu}-reasoning`,"data-testid":X.reasoning,open:t,"data-active":t?`true`:void 0,children:[/* @__PURE__ */ g(`summary`,{class:`${Iu}-reasoning-summary`,children:/* @__PURE__ */ g(`span`,{class:`${Iu}-reasoning-label`,children:t?n.thinking:n.thoughts})}),/* @__PURE__ */ g(`div`,{class:`${Iu}-reasoning-body`,children:/* @__PURE__ */ g(es,{textSig:e.textSig,doneSig:e.doneSig})})]})}function Wu(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 Gu(){return/* @__PURE__ */ _(`span`,{class:`${Iu}-typing`,"data-testid":X.typingDots,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`span`,{}),/* @__PURE__ */ g(`span`,{}),/* @__PURE__ */ g(`span`,{})]})}function Ku({label:e}){return/* @__PURE__ */ _(`span`,{class:`${Iu}-loading`,role:`status`,children:[/* @__PURE__ */ g(`span`,{class:`${Iu}-loading-spinner`,"aria-hidden":`true`}),/* @__PURE__ */ g(`span`,{class:`${Iu}-loading-label`,children:e})]})}const qu=M.cssPrefix;function Ju({messagesSig:e,strings:t,responseMode:n,showReasoning:r,showToolCalls:i,showSources:a,enableMessageFeedback:o,onFeedback:c,loading:l,onLoadPreviousMessages:f,idle:h,controlMode:v=`ai-agent`,tool:y,onRetry:b,form:x,formMarkers:S,onFillForm:C}){let w=p(null),T=s(()=>e.value),[E,D]=m(!1),[O,k]=m(!1),A=p(!1),j=p(!1),[M,ee]=m(),te=p(!1),N=p(!1),ne=p(!1),re=p(0);function P(){return ne.current||performance.now()-re.current<350}let ie=p(0);function ae(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`}function oe(e){return D(e.scrollHeight-e.scrollTop-e.clientHeight>240)}function F(e){ie.current=performance.now(),e.scrollTop=e.scrollHeight,ae(e)}function se(e,t){F(e);let n=t,r=0;function i(){N.current||P()||(F(e),--n>0&&(r=requestAnimationFrame(i)))}return t>0&&(r=requestAnimationFrame(i)),()=>cancelAnimationFrame(r)}function ce(e,t){let n,r,i,a=-1;function o(){n.disconnect(),r.disconnect(),clearTimeout(i)}function s(){if(N.current||P()||a>=0&&e.scrollTop<a-4)return o();F(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}let le=T.value[0]?.id;d(()=>{let e=w.current;if(e&&T.value.length!==0&&!j.current&&(te.current=!0,T.value.some(e=>e.role===`user`)))return ce(e,300)},[le]);let I=p(0);u(()=>{let e=w.current,t=T.value,n=I.current;if(I.current=t.length,e&&te.current&&!j.current){if(t.slice(n).some(e=>e.role===`user`))return N.current=!1,se(e,3);t.some(e=>e.role===`user`)&&(N.current||P()||e.scrollHeight-e.scrollTop-e.clientHeight<120&&F(e))}},[T.value.length]);let ue=p(null);u(()=>{let e=w.current,t=T.value.at(-1),n=ue.current;if(ue.current=t?{id:t.id,streaming:t.status===`streaming`}:null,e&&te.current&&t&&t.id===n?.id&&!n.streaming&&t.status===`streaming`)return N.current=!1,se(e,3)},[T.value]),u(()=>{let e=w.current;if(!e)return;let t=T.value.at(-1);if(!t||t.status!==`streaming`&&!T.value.some(e=>e.role===`user`))return;let n=()=>{N.current||P()||e.scrollHeight-e.scrollTop-e.clientHeight<240&&F(e)};if(t.status!==`streaming`)return ce(e,300);n();let r=new MutationObserver(n);return r.observe(e,{childList:!0,subtree:!0,characterData:!0}),()=>r.disconnect()},[T.value]);let de=x?.form.id,fe=!!x&&(S??[]).some(e=>e.formId===x.form.id);d(()=>{let e=w.current;e&&de&&!N.current&&T.value.some(e=>e.role===`user`)&&(fe?e.querySelector(`[data-testid="${X.formGate}"]`)?.scrollIntoView({block:`nearest`}):F(e))},[de,fe]),u(()=>{let e=w.current;if(!e)return;let t=()=>{oe(e),ae(e),performance.now()-ie.current>150&&(N.current=e.scrollHeight-e.scrollTop-e.clientHeight>8)};function n(){N.current=!0}function r(e){e.deltaY<0&&n()}let i=0;function a(e){i=e.touches[0]?.clientY??0,ne.current=!0}function o(e){(e.touches[0]?.clientY??0)>i+4&&n()}function s(){ne.current=!1,re.current=performance.now()}function c(){ne.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}),oe(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)}},[]);function pe(){let e=w.current;e&&(N.current=!1,F(e))}let me=T.value.filter(e=>!e.ephemeral),he=me[0],L=he?.serverMessageId??he?.id,ge=!!(f&&me.length>=50&&L!==M);async function _e(){if(!f||A.current)return;let e=w.current,t=e?.scrollHeight??0,n=e?.scrollTop??0;A.current=!0,j.current=!0,k(!0);try{let r=await f();r===!1&&L&&ee(L),r&&e&&(await new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(()=>e()))),e.scrollTop=n+e.scrollHeight-t,ae(e),oe(e))}finally{j.current=!1,A.current=!1,k(!1)}}let R=[],ve=``,ye=T.value.at(-1)?.id,be=[...S??[]].toSorted((e,t)=>(e.createdAt??1/0)-(t.createdAt??1/0));function xe(e){return x&&e.formId===x.form.id?/* @__PURE__ */ g($c,{form:x.form,strings:t,onSubmit:x.onSubmit,onSkip:x.onSkip},`gate:${e.formId}`):/* @__PURE__ */ g(el,{marker:e,strings:t,onFill:!x&&C?()=>C(e.formId):void 0},e.key)}function Se(e){for(let t=be[0];t?.createdAt!==void 0&&!(e!==void 0&&t.createdAt>e);t=be[0])be.shift(),R.push(xe(t))}for(let e of T.value){if(e.role===`assistant`&&e.id!==ye&&Gi(e))continue;Se(e.createdAt);let s=Yu(e.createdAt);s&&s!==ve&&(R.push(/* @__PURE__ */ g(`div`,{class:`${qu}-date-divider`,children:/* @__PURE__ */ g(`span`,{class:`${qu}-date-pill`,title:Xu(e.createdAt),children:Zu(e.createdAt,t)})},`day:${s}`)),ve=s);let l=e.retryAction!==void 0||e.role===`assistant`&&e.id===ye?Ki(T.value,e):void 0,u=l!==void 0&&(l.kind!==`continue-assistant`||v===`ai-agent`);R.push(/* @__PURE__ */ g(Lu,{message:e,status:e.status,strings:t,responseMode:n,showReasoning:r,showToolCalls:i,showSources:a,interactive:!!h&&v===`ai-agent`&&e.id===ye,superseded:e.id!==ye,tool:y,onRetry:h&&u&&(e.role===`user`||e.id===ye)?b:void 0,enableMessageFeedback:o,onFeedback:c},e.id))}for(let e of be)R.push(xe(e));return/* @__PURE__ */ _(`div`,{class:`${qu}-list-wrap`,children:[/* @__PURE__ */ _(`div`,{ref:w,class:`${qu}-list ${qu}-list--fade`,part:`messages`,role:`log`,"aria-live":`polite`,"aria-relevant":`additions text`,children:[l&&T.value.length===0?/* @__PURE__ */ g(`div`,{class:`${qu}-list-loading`,role:`status`,children:t.conversationLoading}):null,ge?/* @__PURE__ */ g(`div`,{class:`${qu}-load-previous`,children:/* @__PURE__ */ g(`button`,{type:`button`,onClick:_e,disabled:O,"aria-busy":O,"data-testid":X.loadPreviousMessages,children:t.loadPreviousMessages})}):null,R,x&&!fe?/* @__PURE__ */ g($c,{form:x.form,strings:t,onSubmit:x.onSubmit,onSkip:x.onSkip}):null]}),E?/* @__PURE__ */ g(`button`,{type:`button`,class:`${qu}-jump`,onClick:pe,"aria-label":t.scrollToBottom,title:t.scrollToBottom,"data-testid":X.scrollToBottom,children:/* @__PURE__ */ g(po,{})}):null]})}function Yu(e){if(typeof e!=`number`||!Number.isFinite(e))return``;let t=new Date(e);return`${t.getFullYear()}-${t.getMonth()}-${t.getDate()}`}function Xu(e){if(typeof e!=`number`||!Number.isFinite(e))return``;try{return new Date(e).toLocaleDateString(void 0,{dateStyle:`full`})}catch{return``}}function Zu(e,t){let n=new Date(e);function r(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()}let i=Math.round((r(/* @__PURE__ */ 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`})}function Qu({panelEl:e,resize:t,position:n,initialSize:r,onSizeChange:i,strings:a}){let o=M.cssPrefix,s=p(null);if(u(()=>{if(!e)return;let n=e.style;t.minWidth&&n.setProperty(`--${o}-resize-min-w`,t.minWidth),t.maxWidth&&n.setProperty(`--${o}-resize-max-w`,t.maxWidth),t.minHeight&&n.setProperty(`--${o}-resize-min-h`,t.minHeight),t.maxHeight&&n.setProperty(`--${o}-resize-max-h`,t.maxHeight),r&&(n.setProperty(`--${o}-widget-w`,`${r.width}px`),n.setProperty(`--${o}-widget-h`,`${r.height}px`))},[e,t.minWidth,t.maxWidth,t.minHeight,t.maxHeight,o,r]),!e)return null;let c=n.startsWith(`top-`),l=n.endsWith(`-right`),d=`${o}-resize-grip ${o}-resize-grip--${c?`bottom`:`top`}-${l?`left`:`right`}`;function f(t){if(!e)return;let n=t.currentTarget,r=e.getBoundingClientRect();s.current={pointerId:t.pointerId,startX:t.clientX,startY:t.clientY,startW:r.width,startH:r.height,dirX:l?-1:1,dirY:c?1:-1},n.setPointerCapture(t.pointerId),e.setAttribute(`data-resizing`,``),t.preventDefault()}function m(t){let n=s.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(`--${o}-widget-w`,`${n.startW+r}px`),e.style.setProperty(`--${o}-widget-h`,`${n.startH+i}px`)}function h(t){let n=s.current;if(!n||t.pointerId!==n.pointerId||!e)return;t.currentTarget.releasePointerCapture(t.pointerId),e.removeAttribute(`data-resizing`);let r=e.getBoundingClientRect();i({width:Math.round(r.width),height:Math.round(r.height)}),s.current=null}return/* @__PURE__ */ g(`div`,{class:d,role:`separator`,"aria-orientation":`vertical`,"aria-label":a.resizeHandle,title:a.resizeHandle,onPointerDown:f,onPointerMove:m,onPointerUp:h,onPointerCancel:h,"data-testid":X.resizeGrip,children:/* @__PURE__ */ g(to,{})})}const $u=M.cssPrefix;function ed({suggestions:e,onPick:t,disabled:n=!1}){return e.length===0?null:/* @__PURE__ */ g(`div`,{class:`${$u}-suggestions`,role:`group`,"aria-label":`Suggested replies`,children:e.map((e,r)=>/* @__PURE__ */ g(`button`,{type:`button`,class:`${$u}-suggestion`,onClick:()=>t(e),disabled:n,"data-testid":Ho(X.suggestion,r),children:e.label},e.id))})}const td=M.cssPrefix,nd=`.${td}-header, .${td}-back-header, .${td}-home-hero`;function rd(e,t){u(()=>{if(!t||!e)return;function n(e){return Number.parseFloat(e)||0}function r(e,t){return Math.min(t,Math.max(-t,e))}let i=null,a=t=>{let r=t.target;if(!(r instanceof Element)||!r.closest(nd)||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(`--${td}-modal-dx`)),dy:n(e.style.getPropertyValue(`--${td}-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(`--${td}-modal-dx`,`${n}px`),e.style.setProperty(`--${td}-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 id({containerRef:e,onDrop:t,disabled:n=!1}){let[r,i]=m(!1);return u(()=>{if(n){i(!1);return}let r=e.current;if(!r)return;let a=0;function o(e){a+=1,e.dataTransfer?.types.includes(`Files`)&&(e.preventDefault(),i(!0))}function s(){--a,!(a>0)&&(a=0,i(!1))}function c(e){e.dataTransfer?.types.includes(`Files`)&&e.preventDefault()}function l(e){a=0,i(!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}}const ad=M.cssPrefix;function od(e){let{options:t,onClose:n}=e,r=t.strings,i=p(null);u(()=>{let e=i.current;if(!e)return;let t=Xo(e);function r(e){e.key===`Escape`&&n?.()}return e.addEventListener(`keydown`,r),()=>{t(),e.removeEventListener(`keydown`,r)}},[n]);let a=e.composerApiRef,o=e.composerActive&&e.view===`chat`&&e.canSend&&!e.activeForm&&!e.sendPreparing&&e.options.features.fileUpload,{visible:s}=id({containerRef:i,onDrop:l(e=>{o&&a.current?.attachFromDrop(e)},[a,o]),disabled:!o});return rd(i.current,t.mode===`modal`),/* @__PURE__ */ _(`div`,{ref:i,class:`${ad}-panel`,part:`panel`,role:`dialog`,"aria-modal":`false`,"aria-label":r.panelTitle,style:{position:`relative`},"data-testid":X.panel,children:[/* @__PURE__ */ g(sd,{...e,containerEl:i.current,dragOver:s}),/* @__PURE__ */ g(pd,{poweredBy:e.options.poweredBy})]})}function sd(e){let{options:t,transport:n,feedback:r,bus:i,persistence:a,conversationId:o,composerKey:c,panelSize:l,view:u,canSend:d,isStreaming:f,isMemoryCompacting:p,canReleaseQueuedMessages:m,queueManualMessages:v,sendPreparing:y,controlMode:b,assignedOperatorInitials:x,operatorAvailable:S,operatorRequestEnabled:C,onRequestOperator:w,onCancelOperatorRequest:T,loadingMessages:E,onLoadPreviousMessages:D,messagesSig:O,agent:k,suggestions:A,initialWidgetSize:j,onClose:M,onBack:ee,onClear:te,onToggleHistory:N,onSelectHistoryConversation:ne,onNewConversation:re,onWidgetSizeChange:P,onSend:ie,onStop:ae,onSuggestion:oe,activeForm:F,formMarkers:se,onFormSubmit:ce,onFormSkip:le,onFormFill:I,tool:ue,onRetry:de,onMessageFeedback:fe,containerEl:pe,dragOver:me,composerApiRef:he}=e,L=t.strings,ge=s(()=>O.value.some(e=>!e.ephemeral&&e.role!==`system`)).value,_e;return _e=F?null:d?/* @__PURE__ */ _(h,{children:[b&&b!==`ai-agent`?/* @__PURE__ */ g(ud,{controlMode:b,operatorInitials:x,operatorAvailable:S,onCancelOperatorRequest:T,strings:L}):null,p&&b===`ai-agent`?/* @__PURE__ */ _(`div`,{class:`${ad}-loading ${ad}-compaction-status`,role:`status`,"data-testid":X.compactionStatus,children:[/* @__PURE__ */ g(`span`,{class:`${ad}-loading-spinner`,"aria-hidden":`true`}),L.compactingContext]}):null,!f&&!p&&b===`ai-agent`&&/* @__PURE__ */ g(ed,{suggestions:A,onPick:oe,disabled:y}),/* @__PURE__ */ g(ic,{options:t,transport:n,feedback:r,bus:i,persistence:a,conversationId:o,isStreaming:f,pageToolRunning:e.pageToolRunning,isMemoryCompacting:p,canReleaseQueuedMessages:m,queueManualMessages:v,active:e.composerActive&&u===`chat`,isPreparing:y,operatorRequestEnabled:C,canRequestOperator:ge,controlMode:b,onRequestOperator:w,onSend:ie,onStop:ae,apiRef:he},c)]}):/* @__PURE__ */ g(ld,{label:L.conversationClosed,ctaLabel:L.startNewConversation,onNewConversation:te}),/* @__PURE__ */ _(h,{children:[u===`history`?/* @__PURE__ */ g(cd,{strings:L,onBack:N,onClose:M,showClose:Sa(t.mode,l,t.actions)}):/* @__PURE__ */ _(`header`,{class:`${ad}-header`,part:`header`,"data-testid":X.panelHeader,children:[ee?/* @__PURE__ */ g(`button`,{type:`button`,class:`${ad}-icon-btn`,onClick:ee,"aria-label":L.moduleBack,title:L.moduleBack,children:/* @__PURE__ */ g(uo,{})}):null,k?/* @__PURE__ */ g(Tc,{agent:k,strings:L}):/* @__PURE__ */ g(`h1`,{children:L.panelTitle}),/* @__PURE__ */ g(bs,{panelProps:e,variant:`chat`})]}),u===`history`?/* @__PURE__ */ g(Pc,{transport:n,strings:L,locale:t.locale,persistence:a,onSelect:ne,onNewConversation:re}):/* @__PURE__ */ _(h,{children:[/* @__PURE__ */ g(Ic,{visible:me,strings:L}),/* @__PURE__ */ g(Ju,{messagesSig:O,strings:L,responseMode:t.responseMode,showReasoning:t.showReasoning,showToolCalls:t.showToolCalls,showSources:t.showSources,enableMessageFeedback:t.enableMessageFeedback,onFeedback:fe,loading:E,onLoadPreviousMessages:D,idle:!f&&!y&&d&&!F,controlMode:b,tool:ue,onRetry:de,form:F?{form:F,onSubmit:ce,onSkip:le}:null,formMarkers:se,onFillForm:I}),_e,/* @__PURE__ */ g(fd,{disclaimer:t.composerDisclaimer})]}),t.size.resize?.enabled?/* @__PURE__ */ g(Qu,{panelEl:pe,resize:t.size.resize,position:t.position,initialSize:j,onSizeChange:P,strings:L}):null]})}function cd({strings:e,onBack:t,onClose:n,showClose:r}){return/* @__PURE__ */ _(`header`,{class:`${ad}-header`,part:`header`,children:[/* @__PURE__ */ g(`button`,{type:`button`,class:`${ad}-icon-btn`,onClick:t,"aria-label":e.historyBack,title:e.historyBack,children:/* @__PURE__ */ g(uo,{})}),/* @__PURE__ */ g(`h1`,{children:e.historyTitle}),r?/* @__PURE__ */ g(`button`,{type:`button`,class:`${ad}-icon-btn`,onClick:n,"aria-label":e.close,title:e.close,children:/* @__PURE__ */ g(Va,{})}):null]})}function ld({label:e,ctaLabel:t,onNewConversation:n}){return/* @__PURE__ */ _(`div`,{class:`${ad}-readonly-banner`,role:`note`,children:[/* @__PURE__ */ g(`span`,{class:`${ad}-readonly-label`,children:e}),/* @__PURE__ */ g(`button`,{type:`button`,class:`${ad}-readonly-cta`,onClick:n,children:t})]})}function ud({controlMode:e,operatorInitials:t,operatorAvailable:n,onCancelOperatorRequest:r,strings:i}){let a=dd(e,t,n,i);return/* @__PURE__ */ _(`div`,{class:`${ad}-operator-banner`,role:`status`,"data-mode":e,"data-testid":X.operatorBanner,children:[/* @__PURE__ */ g(`span`,{class:`${ad}-operator-pulse`,"aria-hidden":`true`}),/* @__PURE__ */ g(`span`,{class:`${ad}-operator-label`,children:a}),e===`awaiting-operator`&&r?/* @__PURE__ */ g(`button`,{type:`button`,class:`${ad}-cancel-operator-request`,"data-testid":X.cancelOperatorRequest,onClick:r,children:i.cancelOperatorRequest}):null]})}function dd(e,t,n,r){return e===`operator`?r.chattingWithOperator.replace(`{operator}`,t??``):n===!1?r.noOperatorAvailable:r.connectingOperator}function fd({disclaimer:e}){return e?/* @__PURE__ */ g(`div`,{class:`${ad}-composer-footer`,children:/* @__PURE__ */ g(`div`,{class:`${ad}-disclaimer`,children:e})}):null}function pd({poweredBy:e}){return e?/* @__PURE__ */ g(`div`,{class:`${ad}-poweredby-bar`,children:/* @__PURE__ */ g(md,{logoUrl:e.logoUrl,text:e.text,href:e.href})}):null}function md({logoUrl:e,text:t,href:n}){let r=/* @__PURE__ */ _(h,{children:[e?/* @__PURE__ */ g(`img`,{class:`${ad}-poweredby-logo`,src:e,alt:``,loading:`lazy`}):null,t?/* @__PURE__ */ g(`span`,{children:t}):null]});return n?/* @__PURE__ */ g(`a`,{class:`${ad}-poweredby`,href:n,target:`_blank`,rel:`noopener noreferrer`,children:r}):/* @__PURE__ */ g(`span`,{class:`${ad}-poweredby`,children:r})}const hd=M.cssPrefix;function gd({panelProps:e,enabledModules:t,nav:n,bus:r,hasUnread:i,latestNews:a,onSelectConversation:o,onStartNewConversation:c,onSetPanelSize:d}){let f=e.options,m=f.strings,h=p(null),v=p(/* @__PURE__ */ new Set);u(()=>{let t=h.current;if(!t)return;let n=Xo(t);function r(t){t.key===`Escape`&&e.onClose?.()}return t.addEventListener(`keydown`,r),()=>{n(),t.removeEventListener(`keydown`,r)}},[e.onClose]);let y=s(()=>n.sig.value).value,b=Na(y),x=f.modules.byId[y.activeTab],S=e.composerActive&&x?.layout===`chat`&&b===void 0,C=e.composerApiRef,w=S&&e.view===`chat`&&e.canSend&&!e.activeForm&&!e.sendPreparing&&e.options.features.fileUpload,{visible:T}=id({containerRef:h,onDrop:l(e=>{w&&C.current?.attachFromDrop(e)},[C,w]),disabled:!w});rd(h.current,f.mode===`modal`);let E=b?.kind===`iframe`||b?.kind===`content`,D=t.length>1&&(Pa(y)||!E),O=p(null);u(()=>{if(E&&O.current===null)O.current=e.panelSize,e.panelSize===`normal`&&d(`expanded`);else if(!E&&O.current!==null){let e=O.current;O.current=null,d(e)}},[E]);let k={push:e=>n.push(e),pop:()=>n.pop(),switchTab:e=>n.switchTab(e),switchToLayout:e=>{let r=t.find(t=>t.layout===e);r&&n.switchTab(r.id)},selectConversation:o,startNewConversation:c};function A(t){return{options:f,transport:e.transport,strings:m,config:t,nav:k,bus:r,panelProps:e,latestNews:a}}let j=/* @__PURE__ */ g(bs,{panelProps:e,variant:`plain`});x&&v.current.add(x.id);let M=t.filter(e=>v.current.has(e.id));function ee(t){if(t.layout===`chat`)return/* @__PURE__ */ g(sd,{...e,composerActive:S,containerEl:h.current,dragOver:T});let n=yc[t.layout].Root;return n?/* @__PURE__ */ g(n,{...A(t)}):null}function te(){return b?.kind===`iframe`?/* @__PURE__ */ g(Cc,{url:b.url,title:b.title,strings:m,onBack:()=>n.pop(),actions:j}):b?.kind===`content`?/* @__PURE__ */ g(ds,{id:b.id,title:b.title,transport:e.transport,strings:m,bus:r,onBack:()=>n.pop(),actions:j}):null}return/* @__PURE__ */ _(`div`,{ref:h,class:`${hd}-panel ${hd}-messenger`,part:`panel`,role:`dialog`,"aria-modal":`false`,"aria-label":m.panelTitle,style:{position:`relative`},"data-testid":X.messengerHome,children:[/* @__PURE__ */ _(`div`,{class:`${hd}-messenger-body`,children:[M.map(e=>/* @__PURE__ */ g(`div`,{class:`${hd}-messenger-pane`,hidden:E||e.id!==x?.id,children:ee(e)},e.id)),te()]}),D?/* @__PURE__ */ g(xc,{modules:t,activeTab:y.activeTab,strings:m,hasUnread:i,onSelect:e=>n.switchTab(e)}):null,/* @__PURE__ */ g(pd,{poweredBy:f.poweredBy}),f.size.resize?.enabled&&(x?.layout!==`chat`||b)?/* @__PURE__ */ g(Qu,{panelEl:h.current,resize:f.size.resize,position:f.position,initialSize:e.initialWidgetSize,onSizeChange:e.onWidgetSizeChange,strings:m}):null]})}const _d=M.cssPrefix;function vd({strings:e,onClose:t}){return/* @__PURE__ */ _(`div`,{class:`${_d}-panel ${_d}-modules-empty`,part:`panel`,role:`dialog`,"aria-label":e.panelTitle,"data-testid":X.modulesEmpty,children:[t?/* @__PURE__ */ g(`button`,{type:`button`,class:`${_d}-icon-btn ${_d}-modules-empty-close`,onClick:t,"aria-label":e.close,title:e.close,children:/* @__PURE__ */ g(Va,{})}):null,/* @__PURE__ */ g(`p`,{class:`${_d}-modules-empty-text`,children:e.modulesEmpty})]})}function yd(e){let t=M.cssPrefix,{site:n,blocks:r,strings:i,collapsed:a}=e,o=r?.navigation??[],s=r?.linkCards??[],c=a?i.expandSidebar:i.collapseSidebar;return/* @__PURE__ */ _(`aside`,{class:`${t}-sidebar`,"data-collapsed":a?`true`:`false`,"data-testid":X.sidebar,children:[/* @__PURE__ */ _(`div`,{class:`${t}-sidebar-header`,children:[/* @__PURE__ */ g(bd,{site:n}),/* @__PURE__ */ g(`button`,{type:`button`,class:`${t}-sidebar-toggle`,"aria-label":c,"aria-expanded":a?`false`:`true`,title:c,onClick:e.onToggleCollapsed,"data-testid":X.sidebarToggle,children:/* @__PURE__ */ g(xd,{collapsed:a})})]}),a?null:/* @__PURE__ */ _(h,{children:[o.length>0?/* @__PURE__ */ g(`nav`,{class:`${t}-sidebar-section`,"data-section":`navigation`,children:/* @__PURE__ */ g(Sd,{items:o})}):null,s.length>0?/* @__PURE__ */ g(`div`,{class:`${t}-sidebar-section`,"data-section":`link-cards`,children:/* @__PURE__ */ g(Cd,{items:s})}):null,e.showConversations?/* @__PURE__ */ g(`div`,{class:`${t}-sidebar-conversations`,children:/* @__PURE__ */ g(Pc,{transport:e.transport,strings:e.strings,locale:e.locale,persistence:e.persistence,onSelect:e.onSelectConversation,onNewConversation:e.onNewConversation})}):null]})]})}function bd({site:e}){let t=M.cssPrefix;if(e?.logo?.url){let n=e.logo.alt??e.title??`Logo`;return/* @__PURE__ */ _(`picture`,{children:[e.logoDark?.url?/* @__PURE__ */ g(`source`,{srcset:e.logoDark.url,media:`(prefers-color-scheme: dark)`}):null,/* @__PURE__ */ g(`img`,{class:`${t}-sidebar-logo`,src:e.logo.url,alt:n})]})}return/* @__PURE__ */ g(`div`,{class:`${t}-sidebar-title`,children:e?.title??M.name})}function xd({collapsed:e}){return/* @__PURE__ */ g(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"aria-hidden":`true`,children:e?/* @__PURE__ */ g(`polyline`,{points:`9 6 15 12 9 18`}):/* @__PURE__ */ g(`polyline`,{points:`15 6 9 12 15 18`})})}function Sd({items:e}){let t=M.cssPrefix;return/* @__PURE__ */ g(`ul`,{class:`${t}-sidebar-nav`,children:e.map(e=>/* @__PURE__ */ g(`li`,{children:/* @__PURE__ */ _(`a`,{class:`${t}-sidebar-nav-item`,href:e.href,target:e.href?`_blank`:void 0,rel:e.href?`noreferrer`:void 0,children:[e.icon?/* @__PURE__ */ g(`span`,{class:`${t}-sidebar-nav-icon`,"data-icon":e.icon}):null,/* @__PURE__ */ g(`span`,{class:`${t}-sidebar-nav-label`,children:e.label})]})},e.id??e.label))})}function Cd({items:e}){let t=M.cssPrefix;return/* @__PURE__ */ g(`div`,{class:`${t}-sidebar-cards`,children:e.map(e=>/* @__PURE__ */ _(`a`,{class:`${t}-sidebar-card`,href:e.href,target:e.href?`_blank`:void 0,rel:e.href?`noreferrer`:void 0,children:[/* @__PURE__ */ g(`div`,{class:`${t}-sidebar-card-label`,children:e.label}),e.description?/* @__PURE__ */ g(`div`,{class:`${t}-sidebar-card-desc`,children:e.description}):null]},e.id??e.label))})}const wd=M.cssPrefix;function Td(e){return/* @__PURE__ */ _(`main`,{class:`${wd}-page-shell`,"data-sidebar-collapsed":e.sidebarCollapsed?`true`:`false`,children:[/* @__PURE__ */ g(yd,{site:e.site,blocks:e.blocks,transport:e.transport,strings:e.strings,locale:e.locale,persistence:e.persistence,showConversations:e.showConversations,onSelectConversation:e.onSelectConversation,onNewConversation:e.onNewConversation,collapsed:e.sidebarCollapsed,onToggleCollapsed:e.onToggleSidebarCollapsed}),/* @__PURE__ */ g(`section`,{class:`${wd}-page-chat`,"aria-label":e.strings.panelTitle,children:e.children})]})}const Ed=R.scope(`hitl`);function Dd(e){return e.kind===`tool`&&Ll(e.toolMetadata)&&(e.stateSig.value===`input-available`||e.stateSig.value===`approval-responded`&&e.approvalSig.value?.approved===!0)}function Od(e,t){t.errorSig.value=Ul(t.toolCallId),t.stateSig.value=`output-error`,e.partsSig.value=[...e.partsSig.value]}function kd(e,t){let n=e.slice(0,e.indexOf(t)).findLast(e=>e.role===`user`);return n!==void 0&&xl.sentHere(n.id)}function Ad(e){let{streaming:t,controlModeSig:n,messagesSig:r,sendAiTurn:i,bus:a,humanInLoop:o,tools:s}=e,c=p(t);c.current=t;let d=p(s);d.current=s;let h=p(/* @__PURE__ */ new Map),[g,_]=m(!1),v=l((e,t,a)=>{if(c.current||n.value!==`ai-agent`)return!1;let o=r.value.at(-1),s=o?.partsSig.value.findIndex(t=>t.kind===`tool`&&t.toolCallId===e)??-1,l=o?.partsSig.value[s];if(!o||l?.kind!==`tool`)return Ed.warn(`decideTool: tool part not found`,{toolCallId:e}),!1;if(o.status!==`complete`||!ji(o,s)||!t(l))return!1;if(a(l),o.partsSig.value=[...o.partsSig.value],!ki(o)||o.partsSig.value.some(Dd))return!0;o.status=`streaming`,o.retryAction={kind:`continue-assistant`,messageId:o.serverMessageId??o.id},o.awaitingContinuation=!0,r.value=[...r.value];let u=o.partsSig.value.flatMap(e=>e.kind===`tool`?[e.toolCallId]:[]);return i({continueExisting:!0}).then(e=>e&&xl.clear(u)),!0},[n,r,i]),y=l((e,t)=>{let{toolCallId:n,toolName:r}=t;h.current.has(n)||(h.current.set(n,e),_(!0),Vl({toolCallId:n,toolName:r,input:t.inputSig.value,optionTools:d.current??[],onSettled:(e,t)=>{Ed.info(`toolResult`,{toolCallId:n,status:e}),a.emit(`toolResult`,{toolCallId:n,name:Rl(r),status:e,durationMs:t})}}).then(e=>{h.current.delete(n)&&(_(h.current.size>0),v(n,Dd,t=>{e.state===`output-available`?t.outputSig.value=e.output:t.errorSig.value=e.errorText,t.stateSig.value=e.state}))}))},[a,v]),b=l(()=>{let e=r.value;for(let[t,n]of h.current){let r=e.findIndex(e=>e.id===n);r<0||r===e.length-1||(h.current.delete(t),Wl(t),_(h.current.size>0))}let t=e.at(-1);if(c.current||t?.role!==`assistant`||t.status!==`complete`)return;let n=t.partsSig.value.filter(e=>Dd(e)&&e.stateSig.value===`input-available`);if(n.length!==0&&kd(e,t))for(let e of n)xl.get(e.toolCallId)?.state===`stopped`?Od(t,e):y(t.id,e)},[r,y]);u(()=>b(),[t,b]),u(()=>r.subscribe(()=>b()),[r,b]);let x=l((e,t,n)=>{let i=!1,o;if(!v(e,e=>e.stateSig.value===`approval-requested`,r=>{Ll(r.toolMetadata)&&(o=r),i=tl(r.toolName);let a=r.approvalSig.value?.id??e;r.approvalSig.value={id:a,approved:t,reason:n},r.stateSig.value=`approval-responded`}))return;let s=r.value.at(-1);o&&t&&s&&y(s.id,o),o&&!t&&a.emit(`toolResult`,{toolCallId:e,name:Rl(o.toolName),status:`declined`,durationMs:0}),i?(Ed.info(`toolResult`,{toolCallId:e}),a.emit(`toolResult`,{toolCallId:e})):(Ed.info(`toolDecision`,{toolCallId:e,approved:t}),a.emit(`toolDecision`,{toolCallId:e,approved:t}))},[a,v,r,y]),S=l(e=>{v(e,e=>e.stateSig.value===`approval-responded`&&e.approvalSig.value?.approved!==void 0&&!Dd(e),t=>{let n=t.approvalSig.value?.id??e;t.approvalSig.value={id:n},t.stateSig.value=`approval-requested`})},[v]);return{toolInteraction:f(()=>({humanInLoop:o,onDecision:x,onEdit:S}),[o,x,S]),pageToolsRunning:g,stopPageTools:l(()=>{let e=r.value.at(-1);for(let t of h.current.keys()){let n=e?.partsSig.value.find(e=>e.kind===`tool`&&e.toolCallId===t);e&&n?Od(e,n):Ul(t),Ed.info(`toolResult`,{toolCallId:t,status:`stopped`}),a.emit(`toolResult`,{toolCallId:t,name:n?Rl(n.toolName):void 0,status:`stopped`,durationMs:0})}h.current.clear(),_(!1)},[a,r])}}const jd=R.scope(`latest-news`);function Md({transport:e,options:t,persistence:n,enabled:r}){let i=t.modules.list.find(e=>e.layout===`news`)?.contentCollectionIds,a=i?.join(`,`),[o,s]=m(),[c,d]=m(()=>n.loadSeenNewsId());u(()=>{if(!r||!i?.length)return;let t=!1;return e.listContent({contentCollectionIds:i,sortBy:`publishedAt`,sortOrder:`desc`,limit:1}).then(e=>{t||s(e.items[0])}).catch(e=>jd.debug(`listContent (latest news) failed (non-fatal)`,{err:e})),()=>{t=!0}},[e,r,a]);let f=l(e=>{n.saveSeenNewsId(e),d(e)},[n]);return{item:o,unseen:o!==void 0&&o.id!==c,markSeen:f}}function Nd({callout:e,persistence:t}){let n=e?.text??``,r=e?.persistent??!0,[i,a]=m(()=>!r&&t.loadCalloutDismissed(n));return u(()=>{a(!r&&t.loadCalloutDismissed(n))},[n,r,t]),{dismissed:i,dismissCallout:l(()=>{a(!0),r||t.saveCalloutDismissed(n)},[t,n,r])}}function Pd(e){let{transport:t,conversationIdSig:n}=e,r=c(`ai-agent`),i=c(void 0),a=c(void 0),o=p(void 0),s=l(e=>{let t=e.controlRevision,s=o.current;s&&s.conversationId===n.value&&t<s.revision||(o.current={conversationId:n.value,revision:t},r.value=e.controlMode,i.value=e.assignedOperatorInitials,e.controlMode===`awaiting-operator`?e.operatorAvailable!==void 0&&(a.value=e.operatorAvailable):a.value=void 0)},[n,r,i,a]);return{controlModeSig:r,assignedOperatorInitialsSig:i,operatorAvailableSig:a,applyControlState:s,adoptControlStateChunk:l(e=>{if(e.type!==`data-control-state`)return;let t=ii(e.data);t&&s(t)},[s]),requestOperator:l(async()=>{let e=n.value,r=await t.requestOperator();r&&n.value===e&&s(r)},[t,n,s]),cancelOperatorRequest:l(async()=>{let e=n.value,r=await t.cancelOperatorRequest();r&&n.value===e&&s(r)},[t,n,s])}}const Fd=M.cssPrefix,Id=`--${Fd}-visual-viewport-height`,Ld=`--${Fd}-visual-viewport-top`;function Rd(e){let{hostElement:t,mode:n,panelSize:r,isOpen:i,surfaceReady:a,setIsOpen:o}=e;d(()=>{Rt(t,Fa(n,r,i))},[t,i,r,n]),d(()=>{if(!i||!a)return;let e=t.ownerDocument.defaultView,n=e?.visualViewport,r=t.shadowRoot?.querySelector(`.${Fd}-anchor`);if(!e||!n||!r)return;let o=()=>{r.style.setProperty(Id,`${n.height}px`),r.style.setProperty(Ld,`${n.offsetTop}px`)},s=0,c=()=>{e.cancelAnimationFrame(s),s=e.requestAnimationFrame(()=>{s=e.requestAnimationFrame(o)})};return o(),n.addEventListener(`resize`,c),n.addEventListener(`scroll`,c),()=>{e.cancelAnimationFrame(s),n.removeEventListener(`resize`,c),n.removeEventListener(`scroll`,c),r.style.removeProperty(Id),r.style.removeProperty(Ld)}},[t,i,a]),u(()=>{if(n!==`modal`||!i)return;function e(e){e.composedPath().some(e=>e instanceof HTMLElement&&e.classList.contains(`${Fd}-panel`))||o(!1)}return t.addEventListener(`click`,e),()=>t.removeEventListener(`click`,e)},[t,i,n,o]),u(()=>{if(n!==`drawer`||!i)return;function e(e){e.key===`Escape`&&o(!1)}return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[i,n,o])}const zd=R.scope(`reducer`);var Bd=class{constructor(e,t){this.messagesSig=e,this.onReconcileNeeded=t,B(this,`active`,null),B(this,`openTextParts`,/* @__PURE__ */ 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=di();n.id=e.id;let r=Hd(e)||Ai(e)&&(e.status!==`streaming`||ki(e)),i=e.status===`streaming`&&ki(e)&&Oi(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,Ud(a,i),e.liveCatchUp&&Hd(e.shadow)&&(i.status===`streaming`||Ai(i))?(e.probeContinuation=!1,e.continuationTailReplay=!1,e):(e.probeContinuation=Hd(i)||Ai(i)&&(i.status!==`streaming`||ki(i)),e.continuationTailReplay=i.status===`streaming`&&ki(i)&&Oi(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;Ud(e,i);let a=Hd(e)&&Ai(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 r(()=>{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.messagesSig.value=[...this.messagesSig.value]}),this.replay=null,this.active=e,e}promoteContinuation(e=!1){let{baseline:t,chunks:n}=this.replay,i=Mi(t);return this.replay=null,r(()=>{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=i||void 0,this.messagesSig.value=[...this.messagesSig.value]}),t}settleOwnedContinuation(e){let{baseline:t}=this.replay,n=Mi(t);return this.replay=null,r(()=>{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}),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&&!Ci(a))return this.attach(a),this.apply(e),null;let o=di();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(!qd(n,r,e))return s&&(Zd(n,r)&&(n.continuationStreaming=!0,this.messagesSig.value=[...this.messagesSig.value],this.onReconcileNeeded?.({messageId:n.serverMessageId??n.id})),this.detach()),null;let t=Hd(n)&&s?this.settleOwnedContinuation(e):this.promoteContinuation();return s?(t.continuationStreaming&&(e.type===`finish`?this.onReconcileNeeded?.({messageId:t.serverMessageId??t.id}):t.continuationStreaming=!1),this.detach(),t):null}if(a&&Gd(n,r)){let e=this.promoteContinuation(!0);return s?(this.detach(),e):null}if(!o)return s&&this.detach(),null;if(s&&!Ci(n)&&Ci(r)){let e=this.promoteReplay();return this.detach(),e}if(!Wd(n,r))return s&&(this.onReconcileNeeded?.({messageId:n.serverMessageId??n.id}),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}):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:o(``),doneSig:o(!1)};return this.openTextParts.set(r,a),$d(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`:$d(t,{kind:`step-start`,id:`ss-${this.partSeq++}`});return;case`finish`:zd.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`:zd.warn(`stream error chunk`,{errorText:e.errorText}),t.status=`error`,t.errorText=e.errorText,this.bumpDone(t);return;case`abort`:zd.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`:tf(t,e);return;case`file`:$d(t,{kind:`file`,url:e.url,mediaType:e.mediaType});return;case`source-url`:ef(t,{kind:`source`,sourceId:e.sourceId,url:e.url,title:e.title});return;case`source-document`:ef(t,{kind:`source`,sourceId:e.sourceId,title:e.title,filename:e.filename,mediaType:e.mediaType});return;case`data-suggestions`:t.suggestions=oi(e.data);return;case`data-control-state`:t.operatorRoutedTurn=e.data.controlMode!==`ai-agent`;return;case`data-memory-compaction-state`:return}}bumpDone(e){r(()=>{e.partsSig.value=[...e.partsSig.value],this.messagesSig.value.includes(e)&&(this.messagesSig.value=[...this.messagesSig.value])})}};const Vd={"input-streaming":0,"input-available":1,"approval-requested":2,"approval-responded":3,"output-available":4,"output-denied":4,"output-error":4};function Hd(e){return e.awaitingContinuation===!0||e.continuationStreaming===!0||e.retryAction?.kind===`continue-assistant`}function Ud(e,t){e.canceled&&(t.canceled=!0),Hd(e)&&(t.status===`streaming`||Ai(t))&&(t.awaitingContinuation??(t.awaitingContinuation=e.awaitingContinuation),t.continuationStreaming??(t.continuationStreaming=e.continuationStreaming),t.retryAction===void 0&&(t.retryAction=e.retryAction))}function Wd(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)=>Kd(e,r[t]))}function Gd(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)=>Kd(e,a[t]))}function Kd(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||!Hi(t.toolName,e.toolName)||Vd[t.stateSig.value]<Vd[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 qd(e,t,n){return Jd(e,n)||!Yd(e,t)?!0:n.type!==`finish`&&n.type!==`error`&&n.type!==`abort`?!1:Oi(t)||e.awaitingContinuation===!0&&n.type!==`finish`?!0:e.awaitingContinuation===!0&&t.partsSig.value.every(e=>e.kind===`step-start`)}function Jd(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&&Vd[n.stateSig.value]<4}function Yd(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)=>Xd(r[t+n],e)))}function Xd(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`||Hi(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 Zd(e,t){if(Hd(e)||!Ai(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 Qd(e,t,n,r,i){let a=e.partsSig.value.find(e=>e.kind===`tool`&&e.toolCallId===t);if(a)return r&&(a.dynamic=!0),a.toolMetadata??(a.toolMetadata=i),a;let s={kind:`tool`,toolCallId:t,toolName:n??`tool`,dynamic:r?!0:void 0,toolMetadata:i,inputPartialSig:o(``),inputSig:o(void 0),outputSig:o(void 0),errorSig:o(void 0),stateSig:o(`input-streaming`),approvalSig:o(void 0)};return $d(e,s),s}function $d(e,t){e.partsSig.value=[...e.partsSig.value,t]}function ef(e,t){e.partsSig.value.some(e=>e.kind===`source`&&e.sourceId===t.sourceId)||$d(e,t)}function tf(e,t){switch(t.type){case`tool-input-start`:Qd(e,t.toolCallId,t.toolName,t.dynamic,t.toolMetadata);return;case`tool-input-delta`:{let n=Qd(e,t.toolCallId);n.inputPartialSig.value+=t.inputTextDelta;return}case`tool-input-available`:{let n=Qd(e,t.toolCallId,t.toolName,t.dynamic,t.toolMetadata);n.inputSig.value=t.input,n.stateSig.value=`input-available`;return}case`tool-input-error`:{let n=Qd(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=Qd(e,t.toolCallId,t.toolName);n.approvalSig.value={id:t.approvalId},n.stateSig.value=`approval-requested`;return}case`tool-output-available`:{let n=Qd(e,t.toolCallId,void 0,t.dynamic);n.outputSig.value=t.output,n.stateSig.value=`output-available`;return}case`tool-output-error`:{let n=Qd(e,t.toolCallId,void 0,t.dynamic);n.errorSig.value=t.errorText,n.stateSig.value=`output-error`;return}case`tool-output-denied`:{let n=Qd(e,t.toolCallId);n.stateSig.value=`output-denied`;return}default:return}}const nf=1e3;async function rf(e){let t=nf,n=!1,r=!1,i=!1;function a(){i||e.signal.aborted||(i=!0,e.onInitialBoundaryReady())}for(;!e.signal.aborted;){let o,s=`held`;try{s=await e.connect(()=>{if(e.signal.aborted)return;o=e.now();let t=n||r;n=!0,r=!1,i?t&&e.backfill():a()})}catch{}if(e.signal.aborted||(!n&&o===void 0&&(r=!0,a()),s===`unavailable`))return;o!==void 0&&e.now()-o>=1e3&&(t=nf),await e.sleep(t),t=Math.min(t*2,15e3)}}function af(e){let{activated:t,conversationReady:n,conversationIdSig:r,messagesSig:i,optionsRef:a,transport:o,visitorId:s,adoptControlStateChunk:c,adoptMemoryCompactionStateChunk:l,settleSuggestions:d,recordConversationReply:f,transcriptRecoverySig:m,beginConversationTranscript:h,commitConversationTranscript:g,onReplyLanded:_,runCancellation:v,canContinueRef:y,setCanSend:b,feedback:x,bus:S,loadInitialThread:C,shouldReconcileOnConnect:w}=e,T=p(0);u(()=>{if(!t||!n||!r.value)return;let e=r.value,u=new AbortController,p=e=>{},E=new Bd(i,e=>p(e));o.primeIdentity(s,e);let D=!1,O=!1,k,A=!1,j,M=0,ee=y.current,te,N,ne=Date.now(),re,P=!1,ie=!1;function ae(t,n,r){if(!Ci(t))return;let o=i.value.findLast(e=>!e.ephemeral),s=t.serverMessageId??t.id;if(!(o&&(o.serverMessageId??o.id)!==s))return Si(i.value,t,e,a.current.strings.newConversation,n,r)}function oe(e,t,n,r){let i=ae(e,t,r);if(!i)return;let a=`${e.serverMessageId??e.id}:${n}:${i.preview??``}`;a!==N&&(N=a,o.publishConversation({...i,hasUnread:!0},!0))}let F;function se(){F&&(clearTimeout(F.timer),F=void 0)}function ce(){let e=F;if(!e)return;clearTimeout(e.timer),F=void 0;let t=i.value.find(t=>(t.serverMessageId??t.id)===e.replyId);(t?.role===`assistant`||t?.role===`operator`)&&oe(t,e.canContinue,e.generation,e.activityAt)}function le(e,t,n,r){se(),F={replyId:e.serverMessageId??e.id,canContinue:t,generation:n,activityAt:r,timer:setTimeout(ce,120)}}function I(e,t,n,r=Date.now(),i=!0){se();let a=ae(e,t,r);if(!a)return;let o=`${e.serverMessageId??e.id}:${n}`;o!==te&&(te=o,f(a),i&&re&&(P=!0))}function ue(e,t){(e||!v.localSendRef.current)&&v.settle(t),e&&_()}function de(e,t=[],n=!1,r,o=ee,s=M,c=Date.now(),l=!0){let u=a.current;if(e.canceled){I(e,o,s,c,l),ue(n,r);return}let f=!0,p=e.status===`error`;switch(Ji(e,p)){case`drop`:i.value=i.value.filter(t=>t!==e),f=!1;break;case`complete-operator-routed`:e.status=`complete`,n&&(x.play(`messageReceived`),wa(S,u,`assistant`,xi(e)));break;case`error`:if(e.status=`error`,e.errorText=u.strings.errorGeneric,n){x.play(`error`);let e=/* @__PURE__ */ Error(p?`stream error chunk`:`empty reply`);S.emit(`error`,e),u.onError?.(e)}break;case`complete`:e.status=`complete`,n&&(x.play(`messageReceived`),wa(S,u,`assistant`,xi(e))),d(e,t)}f&&I(e,o,s,c,l),ue(n,r)}function fe(t){if(u.signal.aborted||r.value!==e)return;if(c(t),l?.(t),t.type===`start`){ce();let n=t.messageId===void 0?void 0:i.value.find(e=>e.serverMessageId===t.messageId||e.id===t.messageId);A=n!==void 0&&n.status!==`streaming`;let r=j?.senderRole===`visitor`?j.messageId:void 0;if(j={messageId:t.messageId,senderRole:t.messageMetadata?.senderRole},M+=1,ne=Date.now(),N=void 0,D=t.messageMetadata?.senderRole===void 0,O=!1,k=D?t.messageMetadata?.runId:void 0,D){let n=t.messageId!==void 0&&i.value.some(e=>e.serverMessageId===t.messageId||e.id===t.messageId),a=i.value.at(-1),o=t.messageId!==void 0&&(a?.serverMessageId===t.messageId||a?.id===t.messageId),s=v.localSendRef.current&&(!n||o)&&a?.role===`assistant`&&a.status===`streaming`&&(o||a.serverMessageId===void 0&&a.partsSig.value.length===0);O=v.captureStart(e,t,s,r)}}let n=D&&(t.type===`finish`||t.type===`error`||t.type===`abort`),o=n?k:void 0,s=n&&(O||v.ownsLocalRun(o)),d=M,f=A;t.type===`finish`&&t.canContinue!==void 0&&(ee=t.canContinue);let p=ee;n&&(D=!1,O=!1,k=void 0);let m=E.applyResume(t),h=j?.messageId,g=h===void 0?void 0:i.value.find(e=>e.serverMessageId===h||e.id===h);A&&j?.senderRole!==`visitor`&&(m!==null||g?.status===`streaming`)&&(A=!1,f=!1);let _=!A&&(g?.role===`assistant`||g?.role===`operator`);t.type===`text-delta`&&_&&le(g,ee,M,ne),t.type===`text-end`&&(se(),_&&oe(g,ee,M,ne)),t.type===`finish`&&t.canContinue===!1&&b(!1),m?m.role===`operator`?(f||(x.play(`messageReceived`),wa(S,a.current,`operator`,xi(m))),I(m,p,d,ne),A=!1,n&&(s||!v.localSendRef.current)&&v.settle(o)):m.role===`assistant`&&(de(m,[],s,o,p,d,ne),A=!1):n&&(s||!v.localSendRef.current)&&v.settle(o)}async function pe(t){let n=M,a=await o.loadConversation(e,t?{ids:[t]}:void 0).catch(()=>null);if(u.signal.aborted||r.value!==e||!a)return!1;a.controlState&&c({type:`data-control-state`,data:a.controlState});let s=i.value.at(-1),l=n===M&&(t===void 0||s!==void 0&&(s.serverMessageId===t||s.id===t));if(a.messages.length===0)return!0;l&&(ee=a.canContinue,b(ee));let f=i.value,p=t===void 0?f.at(-1):f.find(e=>e.serverMessageId===t||e.id===t),{messages:m,changed:h}=zi(f,vi(a.messages));if(!h)return!0;i.value=m;let g=t===void 0?m.at(-1):m.find(e=>e.serverMessageId===t||e.id===t),_=p!==void 0&&g!==void 0&&(p.id===g.id||p.serverMessageId!==void 0&&p.serverMessageId===g.serverMessageId),y=g!==void 0&&g.status!==`streaming`&&(!_||p?.status===`streaming`),x=_&&p?.status===`streaming`?Date.now():g?.createdAt;return l&&y&&g.role===`assistant`?de(g,g.suggestions??[],v.localSendRef.current,void 0,a.canContinue,n,x,!1):l&&y&&g.role===`operator`?I(g,a.canContinue,n,x,!1):l&&g?.role===`assistant`&&g.status!==`streaming`&&d(g,g.suggestions??[]),!0}let me=/* @__PURE__ */ new Set;p=({messageId:e})=>{if(me.has(e)||!i.value.some(t=>t.serverMessageId===e||t.id===e))return;me.add(e);function t(){return me.delete(e)}pe(e).then(t,t)};function he(t=!1){if(u.signal.aborted||r.value!==e){P=!1;return}if(re){P=!0;return}let n=t?C(e)??(w()?pe():void 0):pe();if(!n)return;h(e),re=n;function i(t=!1){re===n&&(re=void 0,P?(P=!1,he()):t&&g(e))}n.then(i,()=>i(!1))}let L=m.subscribe(e=>{e<=T.current||(T.current=e,ie&&he())});return rf({signal:u.signal,now:()=>performance.now(),sleep:e=>Zi(e,u.signal),connect:e=>o.connectResumeStream({signal:u.signal,onChunk:fe,onConnected:e}),onInitialBoundaryReady:()=>{ie=!0,he(!0)},backfill:()=>he()}),()=>{u.abort(),se(),L(),E.detach()}},[t,n,r,r.value,s,o,c,l,d,f,m,h,g,_,v,y,b,i,S,x,C,w])}function of(e){let{transport:t,setStreaming:n}=e,r=p(void 0),i=p(void 0),a=p(!1),o=p(void 0),s=p(!1),c=p(/* @__PURE__ */ new Map),u=p(/* @__PURE__ */ new Set),d=l((e,n)=>{let r=`${e}:${n}`;o.current!==r&&(o.current=r,t.cancelTurn(e,n))},[t]),m=l(e=>{r.current=void 0,i.current=e,a.current=!1,o.current=void 0,s.current=!0,n(!0)},[n]),h=l((e,t)=>{c.current.set(e,{messageId:t})},[]),g=l(e=>{e!==void 0&&(u.current.add(e),u.current.size>32&&u.current.delete(u.current.values().next().value)),(e===void 0||r.current?.runId===e)&&(r.current=void 0,i.current=void 0,a.current=!1,s.current=!1,n(!1))},[n]),_=l((e,t)=>i.current===e?(i.current=void 0,t.runId?(r.current={conversationId:t.conversationId,runId:t.runId},n(!0),a.current&&d(t.conversationId,t.runId),!0):(g(),!0)):t.runId&&r.current?.runId===t.runId?(r.current={conversationId:t.conversationId,runId:t.runId},a.current&&d(t.conversationId,t.runId),!0):!1,[d,n,g]),v=l((e,t)=>{let l=c.current.get(e);return l?(c.current.delete(e),!t.runId||u.current.has(t.runId)?!0:l.runId===void 0?(s.current||i.current||(r.current={conversationId:t.conversationId,runId:t.runId},i.current=void 0,a.current=!1,o.current=void 0,s.current=!0,n(!0)),!0):(l.runId===t.runId&&r.current?.runId===t.runId&&(r.current={conversationId:t.conversationId,runId:t.runId},a.current&&d(t.conversationId,t.runId)),!0)):!1},[d,n]),y=l(e=>i.current===e&&(g(),!0),[g]),b=l(e=>{let t=c.current.get(e);return t?(c.current.delete(e),t.runId===void 0):!1},[]),x=l((e,t,l,f)=>{let p=t.messageMetadata?.runId;if(t.messageMetadata?.senderRole!==void 0||typeof p!=`string`||!p||u.current.has(p))return!1;if(r.current?.runId===p)return s.current;if(s.current)return r.current||!l?!1:(i.current=void 0,r.current={conversationId:e,runId:p},n(!0),a.current&&d(e,p),!0);let m=[...c.current.values()].filter(e=>e.runId===void 0).find(e=>e.messageId===f);return m?(m.runId=p,r.current={conversationId:e,runId:p},i.current=void 0,a.current=!1,o.current=void 0,s.current=!0,n(!0),!0):(i.current=void 0,r.current={conversationId:e,runId:p},n(!0),a.current&&d(e,p),s.current)},[d,n]),S=l(e=>typeof e==`string`&&r.current?.runId===e&&s.current,[]),C=l(()=>{let e=r.current;if(e)return a.current=!0,d(e.conversationId,e.runId),!0;let t=i.current;return t?(a.current=!0,t.then(e=>{e.runId&&d(e.conversationId,e.runId)}).catch(()=>void 0),!0):!1},[d]);return f(()=>({localSendRef:s,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 sf=R.scope(`send`);function cf(e,t,n,r,i,a=!0){e.publishConversation({...Si(t,n,r,i,a),hasUnread:!1},!0)}function lf(e,t){return e.id===t.id||(e.serverMessageId??e.id)===(t.serverMessageId??t.id)}function uf(e){return e.findLast(e=>!e.ephemeral&&e.role!==`system`&&(e.role===`user`||e.status!==`streaming`||Ci(e)))}function df(e,t,n,r,i){let a=uf(t);a?.role===`user`&&lf(a,n)&&cf(e,t,a,r,i)}function ff(e){return!(e instanceof ta)||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 pf(e){let{transport:t,messagesSig:n,conversationIdSig:r,options:i,bus:a,feedback:o,persistence:s,visitorId:c,adoptConversationId:u,applyControlState:d,setCanSend:f,settleSuggestions:p,runCancellation:m}=e,h=l(()=>{let e=r.value??lt();return r.value||(r.value=e,s.saveConversationId(e)),e},[r,s]);return{sendAiTurn:l(async({continueExisting:e,turn:l})=>{let g=h(),_=n.value.at(-1),v=l?[l]:yi(n.value,e),y=v[0];y?.role===`user`&&xl.markSent(y.id);let b=v.map(bi),x=s.loadUserPrefs(),S=Fl(i.tools).then(n=>t.sendTurn(si({messages:b,conversationId:g,visitorId:c,userPrefs:x,clientTools:Il(n)}),{keepalive:e}));m.begin(S);try{let a=await S;if(r.value!==g||!m.acceptAck(S,a))return!1;if(u(a.conversationId),a.runId&&y?.role===`user`&&df(t,n.value,y,a.conversationId,i.strings.newConversation),!a.runId){let o=await t.loadConversation(a.conversationId).catch(()=>null);if(r.value!==a.conversationId)return!0;if(o){o.controlState&&d(o.controlState),f(o.canContinue);let r=vi(o.messages),{messages:s,changed:c}=zi(n.value,r);c&&(n.value=s);let l=r.findLast(e=>!e.ephemeral&&e.role!==`system`),u=uf(n.value);u&&l&&lf(u,l)&&cf(t,n.value,u,a.conversationId,i.strings.newConversation,o.canContinue);let m=_?n.value.find(e=>e.id===_.id&&e.role===`assistant`&&e.status!==`streaming`):void 0;m&&p(m,m.suggestions??[]),!e&&_?.role===`assistant`&&n.value.includes(_)&&_.serverMessageId===void 0&&!Ci(_)&&(n.value=n.value.filter(e=>e!==_))}else _?.role===`assistant`&&n.value.includes(_)&&(_.status=`error`,_.errorText=i.strings.errorGeneric,_.retryAction=e?{kind:`continue-assistant`,messageId:_.serverMessageId??_.id}:y?.role===`user`?{kind:`resend-user`,messageId:y.id}:null,n.value=[...n.value])}return!0}catch(s){if(r.value!==g)return!1;if(!m.reject(S))return y?.role===`user`&&df(t,n.value,y,g,i.strings.newConversation),!0;let c=Ss(s,i.strings),u=ff(s),h=l?.role===`assistant`?l:n.value.at(-1);if(e&&h?.role===`assistant`&&s instanceof ta&&s.status===409){let e=h.serverMessageId??h.id,i=await t.loadConversation(g,{ids:[e]}).catch(()=>null);if(r.value!==g)return!1;if(i){i.controlState&&d(i.controlState),f(i.canContinue);let t=vi(i.messages),r=t.find(t=>(t.serverMessageId??t.id)===e);if(r&&Bi(h,r)){let{messages:r,changed:i}=zi(n.value,t),a=r.find(t=>(t.serverMessageId??t.id)===e);if(i&&a&&a!==h)return a.awaitingContinuation=!1,a.continuationStreaming=void 0,a.retryAction=null,n.value=r,a.status!==`streaming`&&p(a,a.suggestions??[]),!0}}if(!n.value.includes(h)||h.status!==`streaming`)return!1;h.continuationStreaming=!0}if(e&&h?.role===`assistant`)h.status=`error`,h.errorText=c,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=c;let e=v[0];_.retryAction=u&&e?.role===`user`?{kind:`resend-user`,messageId:e.id}:null,n.value=[...n.value]}else{let e=di();e.status=`error`,e.errorText=c;let t=v[0];e.retryAction=u&&t?.role===`user`?{kind:`resend-user`,messageId:t.id}:null,n.value=[...n.value,e]}return o.play(`error`),a.emit(`error`,s),i.onError?.(s),!1}},[t,n,i,a,o,s,c,u,d,f,p,h,m]),sendRoutedTurn:l(async e=>{let l=h();e.status=`pending`,e.errorText=void 0,e.retryAction=void 0,n.value.includes(e)&&(n.value=[...n.value]),xl.markSent(e.id);let d=[bi(e)],f=s.loadUserPrefs(),p=Fl(i.tools).then(e=>t.sendTurn(si({messages:d,conversationId:l,visitorId:c,userPrefs:f,clientTools:Il(e)})));m.beginRouted(p,e.id);try{let a=await p;return r.value===l?m.acceptRoutedAck(p,a)?(u(a.conversationId),df(t,n.value,e,a.conversationId,i.strings.newConversation),e.status===`pending`&&(e.status=`complete`,n.value.includes(e)&&(n.value=[...n.value])),!0):!1:(m.rejectRouted(p),!1)}catch(s){let c=m.rejectRouted(p);if(r.value!==l)return!1;if(!c)return df(t,n.value,e,l,i.strings.newConversation),e.status===`pending`&&(e.status=`complete`,n.value.includes(e)&&(n.value=[...n.value])),!0;if(e.status!==`pending`)return df(t,n.value,e,l,i.strings.newConversation),!0;sf.debug(`operator-routed send failed`,{error:s});let u=s instanceof Error?s:Error(String(s));return e.status=`error`,e.errorText=Ss(s,i.strings),e.retryAction=ff(s)?{kind:`resend-user`,messageId:e.id}:null,n.value.includes(e)&&(n.value=[...n.value]),o.play(`error`),a.emit(`error`,u),i.onError?.(u),!1}},[t,n,i,a,o,s,c,u,h,m])}}const mf=R.scope(`unread`);function hf(e){let{transport:t,options:n,conversationIdSig:r,isConversationVisibleRef:i,activated:a,conversationReady:o}=e,s=c(!1),d=c(0),f=c(0),m=p([]),h=p(void 0),g=p(!1),_=l(()=>{let e=r.value,t=i.current()&&h.current===e?e:void 0,n=m.current.filter(e=>e.hasUnread&&e.conversationId!==t).length;d.value=n,s.value=n>0},[r,s,d,i]),v=l(e=>{let t=r.value,n=m.current.find(e=>e.conversationId===t),i=fa(m.current,e),a=i.find(e=>e.conversationId===t),o=e.type===`snapshot`&&t!==void 0&&a?.hasUnread===!0&&h.current===t&&n!==void 0&&n.lastMessageAt!==a.lastMessageAt;o&&(h.current=void 0),m.current=i,_(),o&&(f.value+=1)},[r,_,f]),y=l(()=>{if(_(),!i.current())return;let e=r.value;if(!e||h.current!==e)return;let n=m.current.find(t=>t.conversationId===e);n?.hasUnread&&t.markRead(e,n.lastMessageAt)},[r,i,_,t]),b=l(e=>{r.value===e&&(h.current=void 0,_())},[r,_]),x=l(e=>{r.value===e&&(h.current=e,y())},[r,y]),S=l(e=>h.current===e,[]),C=l((e=!1)=>{n.modules.list.some(e=>e.layout===`chat`)&&(g.current||(g.current=!0,t.listConversations({limit:50},e).then(t=>{e||v({type:`snapshot`,result:t,requestedRevision:0}),y()}).catch(e=>mf.debug(`refreshUnread failed (non-fatal)`,{err:e})).finally(()=>{g.current=!1})))},[v,y,n.modules,t]),w=l(e=>{let n=e.conversationId,a=i.current()&&r.value===n&&h.current===n,o=m.current.find(e=>e.conversationId===n),s=a&&(o?.lastMessageAt!==e.lastMessageAt||o.hasUnread);t.publishConversation({...e,hasUnread:!a},!0),s&&t.markRead(n,e.lastMessageAt)},[r,i,t]);u(()=>t.subscribeConversationChanges(v),[v,t]);let T=p(!1);return u(()=>{a&&o&&!T.current&&(T.current=!0,C())},[a,o,C]),u(()=>{if(!a)return;function e(){document.visibilityState===`visible`&&(y(),C(!0))}return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[a,y,C]),{hasUnreadSig:s,unreadCountSig:d,transcriptRecoverySig:f,markVisibleConversationRead:y,beginConversationTranscript:b,commitConversationTranscript:x,isConversationTranscriptCommitted:S,recordConversationReply:w}}const gf=R.scope(`settings`);function _f(e){let{options:t,persistence:n,transport:r,feedback:i,hostElement:a,bus:o}=e,s=n.loadUserPrefs(),[c,d]=m(()=>s.locale??t.locale),[f,p]=m(s.themeMode),h=f??t.themeMode,[g,_]=m(()=>s.textSize??t.textSize),v=l(e=>{n.patchUserPrefs(e),r.saveUserPrefs(n.loadUserPrefs()).catch(e=>gf.warn(`saveUserPrefs failed`,{err:e}))},[n,r]);u(()=>{s.soundMuted!==void 0&&i.setMuted(s.soundMuted)},[]),u(()=>{if(h!==`host`)a.dataset.theme=h;else return Et(e=>{a.dataset.theme=e})},[a,h,t]),u(()=>{a.dataset.textSize=g},[a,g,t]),u(()=>{let e=!0;return i.mutedSig.subscribe(t=>{e?e=!1:v({soundMuted:t})})},[i,v]);let y=Ae(c,t.availableLocales,t.defaultLocale);return u(()=>{r.setLocale(y)},[r,y]),u(()=>{a.dir=k(y)?`rtl`:`ltr`},[a,y]),u(()=>{y!==c&&d(y)},[y,c]),{activeLocale:c,activeThemeMode:h,activeTextSize:g,effectiveLocale:y,setActiveLocale:d,setActiveThemeMode:p,setActiveTextSize:_,patchAndSync:v,handleLocaleChange:l(e=>{gf.info(`localeChange`,{locale:e}),d(e),v({locale:e}),o.emit(`localeChange`,e)},[v,o]),handleThemeChange:l(e=>{gf.info(`themeChange`,{mode:e}),p(e),a.dataset.theme=e,v({themeMode:e}),o.emit(`themeChange`,e)},[a,v,o]),handleTextSizeChange:l(e=>{gf.info(`textSizeChange`,{size:e}),_(e),a.dataset.textSize=e,v({textSize:e}),o.emit(`textSizeChange`,e)},[a,v,o]),handleSoundToggle:l(()=>{i.toggleMuted();let e=i.mutedSig.value;gf.info(`soundToggle`,{muted:e}),o.emit(`soundToggle`,{muted:e})},[i,o])}}const $=R.scope(`app`),vf=M.cssPrefix,yf={home:`home`,chats:`chat`,help:`help`,news:`news`};function bf(e,t){return fi({...e,text:A(t,e.text)})}function xf({options:e,hostElement:t,bus:n,recentHostEvents:i}){let o=e.aiAgentDeploymentId;if(!o)throw Error(`aiAgentDeploymentId is required`);let[h]=m(()=>ft(e.widgetId,e.storage,e.aiAgentDeploymentId)),[v]=m(()=>h.getVisitorId()),y=h.loadUserPrefs(),b=c(h.loadConversationId()),x=p(b.value!==void 0),S=c(b.value??``),C=c([]),[w,T]=m(!1),E=p(void 0),[D,O]=m([]);function k(){let t=e.modules.list,n=new Set(t.map(e=>e.id)),r=h.loadActiveModule();return r&&n.has(r)?r:t[0]?.id??``}function j(){return e.modules.list.find(e=>e.layout===`chat`)?.id}function ee(){let t=j();return t?e.modules.list.length===1||N.sig.value.activeTab===t:!1}let te=p(void 0);if(!te.current){let t=e.modules.list.map(e=>e.id),n=h.loadActiveModule()??t[0]??``;te.current=ja(n,n?[...t,n]:t,e=>h.saveActiveModule(e))}let N=te.current,ne=s(()=>N.sig.value.activeTab).value,re=s(()=>b.value).value,[P,ie]=m(!1),[ae,oe]=m(null),[F,se]=m(!1),ce=e.mode===`standalone`||e.mode===`inline`,le=p(La(e,Ra(),h.loadPanelOpen(),h.loadPanelSize())),[I,ue]=m(le.current.panelOpen),[de,fe]=m(le.current.panelOpen),pe=p(void 0),me=p(void 0),he=p(!1),L=p(void 0);u(()=>{I&&fe(!0)},[I]);let ge=p(!1),[_e,R]=m(!1),{dismissed:ve,dismissCallout:ye}=Nd({callout:e.launcher.callout,persistence:h}),be=e.launcher.callout?.persistent??!0,xe=l(()=>{$.info(`calloutDismiss`),n.emit(`calloutDismiss`,void 0),ye()},[n,ye]),[Se,Ce]=m(le.current.panelSize),we=p(!1),[Te,Ee]=m(`chat`),De=p(()=>!1);De.current=()=>I&&Te===`chat`&&!document.hidden&&ee();let[Oe,ke]=m(!0),Ae=p(Oe);Ae.current=Oe;let[je,Me]=m(!1),Ne=p(je);Ne.current=je;let Pe=p(null),[Fe,Ie]=m(!1),[Le,ze]=m(null),[Be,He]=m([]),Ue=p(e.strings),We=p(e);We.current=e;let[Ge,Ke]=m(void 0),[qe,Je]=m(void 0),[Ye,Xe]=m(()=>h.loadSidebarCollapsed()??!1),[Ze,Qe]=m({}),[z]=m(()=>new va({agentApiBaseUrl:e.agentApiBaseUrl,dataApiBaseUrl:e.dataApiBaseUrl,auth:Bt({publicKey:e.publicKey,aiAgentDeploymentId:o,publicKeyHeader:`x-public-key`}),endpoints:e.endpoints,recentHostEvents:i})),[$e]=m(()=>new mn(e.sound,e.haptics)),et=of({transport:z,setStreaming:Me}),{activeLocale:tt,activeThemeMode:nt,activeTextSize:rt,effectiveLocale:it,setActiveLocale:at,setActiveThemeMode:ot,setActiveTextSize:st,patchAndSync:ct,handleLocaleChange:ut,handleThemeChange:dt,handleTextSizeChange:pt,handleSoundToggle:mt}=_f({options:e,persistence:h,transport:z,feedback:$e,hostElement:t,bus:n}),{controlModeSig:gt,assignedOperatorInitialsSig:_t,operatorAvailableSig:vt,applyControlState:yt,adoptControlStateChunk:bt,requestOperator:xt,cancelOperatorRequest:St}=Pd({transport:z,conversationIdSig:b}),Ct=c(/* @__PURE__ */ new Map),wt=l(e=>{if(e.type!==`data-memory-compaction-state`)return;let t=b.value;if(!t)return;let n=ai(e.data);if(!n)return;let r=Ct.value.get(t);if(r&&(n.postFinishSequence<r.postFinishSequence||n.postFinishSequence===r.postFinishSequence&&(r.status===`ready`||r.status===n.status)))return;let i=new Map(Ct.value);i.set(t,n),Ct.value=i},[b,Ct]),{hasUnreadSig:Tt,unreadCountSig:Et,transcriptRecoverySig:Dt,markVisibleConversationRead:Ot,beginConversationTranscript:kt,commitConversationTranscript:At,isConversationTranscriptCommitted:jt,recordConversationReply:Mt}=hf({transport:z,options:e,conversationIdSig:b,isConversationVisibleRef:De,activated:de,conversationReady:P}),Nt=I&&e.modules.byId[ne]?.layout===`home`,Pt=Md({transport:z,options:e,persistence:h,enabled:P&&Nt});u(()=>{Ot()},[ne,I,Te,re,Ot]),u(()=>{$e.update(e.sound,e.haptics)},[$e,e.sound,e.haptics]),u(()=>()=>$e.destroy(),[$e]),u(()=>{!we.current&&e.size.initialSize&&(we.current=!0,!h.loadPanelSize()&&Ce(Ia(e.mode,e.size,Ra())))},[e.mode,e.size,h]),u(()=>{if(!P||ge.current)return;ge.current=!0;let t=La(e,Ra(),h.loadPanelOpen(),h.loadPanelSize());ue(t.panelOpen),Ce(t.panelSize)},[P,e,h]);let Ft=p(null);u(()=>{P&&N.reconcile(e.modules.list.map(e=>e.id),k())},[P,e.modules.list,N]);let It=l(e=>{e&&e.length!==0&&(C.value=e.map(e=>bf(e,Ue.current)))},[C]),Lt=p(null),Rt=l(async e=>{try{let{formSubmissions:t}=await(e?z.bootstrap(e):Lt.current??z.bootstrap()),n=/* @__PURE__ */ 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:Qr(e.createdAt),values:e.values}))}catch(e){return $.debug(`bootstrap failed — no form markers (non-fatal)`,{err:e}),[]}},[z]),zt=p(0),Vt=p(0),Kt=l(e=>{if(e===b.value)return;let t=b.value;Vt.current++,T(!1),t&&(h.saveDraft(e,h.loadDraft(t)),h.saveDraft(t,``),h.saveMessageQueue(e,h.loadMessageQueue(t)),h.saveMessageQueue(t,[])),b.value=e,h.saveConversationId(e),z.primeIdentity(void 0,e),$.info(`conversation rebound`,{previous:t,current:e}),t&&n.emit(`conversationRebound`,{previous:t,current:e})},[n,b,h,z]),Yt=l((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[...(L.current?.messages??[]).map(e=>{let t=bf(e,Ue.current);return t.createdAt=r,t}),...e]},[]),Zt=l(async e=>{let t=Vt.current;function r(){return t!==Vt.current||b.value!==e}me.current===e&&(me.current=void 0),T(!0);try{let[t,n]=await Promise.all([z.loadConversation(e),Rt()]);if(r())return!1;let i=vi(t.messages);O(n);let a=Yt(Ri(i,C.value),n);if(C.value=a,me.current=a.some(e=>e.role===`user`)?void 0:e,i.length>0||t.controlState!==void 0){ke(t.canContinue),t.controlState&&yt(t.controlState);let e=i.findLast(e=>e.role===`assistant`&&!e.ephemeral);He(e?.suggestions??[])}return!0}catch(t){return r()||($.warn(`loadThread failed; keeping conversation active`,{err:t,conversationId:e}),n.emit(`error`,t),We.current.onError?.(t)),!1}finally{r()||T(!1)}},[z,Rt,C,b,Yt,n]),Qt=l(e=>{if(pe.current===e)return pe.current=void 0,Zt(e)},[Zt]),$t=l(()=>{if(E.current)return Promise.resolve(void 0);let t=b.value,r=C.value.find(e=>e.serverMessageId!==void 0),i=r?.serverMessageId,a=r?new Date(r.createdAt).toISOString():void 0;if(!t||!i||!a)return Promise.resolve(void 0);let o=Vt.current,s={};return E.current=s,(async()=>{try{let e=await z.loadConversation(t,{beforeId:i,beforeCreatedAt:a});if(E.current!==s||Vt.current!==o||b.value!==t)return;if(e.messages.length===0)return!1;let n=e.messages.map(hi),r=C.value,c=Ni(r,n);if(c!==r){let e=Math.min(...n.map(e=>e.createdAt??1/0),...D.map(e=>e.createdAt??1/0));if(Number.isFinite(e))for(let t of r){if(!t.ephemeral)break;(t.createdAt??1/0)>=e&&(t.createdAt=e-1)}C.value=c}return!0}catch(r){if(E.current!==s||Vt.current!==o||b.value!==t)return;$.warn(`load previous messages failed`,{err:r,conversationId:t,beforeId:i}),n.emit(`error`,r),e.onError?.(r);return}finally{E.current===s&&(E.current=void 0)}})()},[n,b,D,C,e,z]),B=l(async({newConversation:t})=>{let i=++zt.current;function a(){return i!==zt.current}let o=b.value,s=t||!o?lt():o;s!==o&&(Vt.current++,T(!1),r(()=>{b.value=s,S.value=s}),h.saveConversationId(s)),z.primeIdentity(v,s);let c;try{c=await z.handshake({visitorId:v,conversationId:s,userPrefs:h.loadUserPrefs(),locale:tt})}catch(r){if(a())return;n.emit(`error`,r),e.onError?.(r),t||ie(!0);return}if(a())return;c.conversationId!==s&&Kt(c.conversationId),ze(c.agent),e.mode===`page`&&(c.site&&gn(c.site)?Ke(c.site):c.site&&$.warn(`invalid site config, using fallback`,{site:c.site}),c.blocks&&_n(c.blocks)?Je(c.blocks):c.blocks&&$.warn(`invalid blocks config, using fallback`,{blocks:c.blocks}));let l=ht(c.userPrefs);if(Object.keys(l).length>0&&!t&&(h.saveUserPrefs(l),l.locale&&at(l.locale),l.soundMuted!==void 0&&$e.setMuted(l.soundMuted),l.themeMode&&ot(l.themeMode),l.textSize&&st(l.textSize)),L.current=c.welcome,t||n.emit(`handshake`,c),c.welcome?.suggestions){let e=Ue.current;He(c.welcome.suggestions.map(t=>({...t,label:A(e,t.label),...t.text===void 0?{}:{text:A(e,t.text)}})))}let u=!t&&o&&c.conversationId===o;x.current=!!u,u?he.current||(pe.current=c.conversationId):(me.current=c.conversationId,It(c.welcome?.messages),At(c.conversationId)),t||ie(!0)},[z,v,h,e,n,b,S,$e,It,tt,Kt,At]),tn=JSON.stringify(e.userContext??null),nn=JSON.stringify(e.pageContext??null),rn=JSON.stringify(Ze);u(()=>{let t=Object.keys(Ze).length?{...Ze,...e.userContext}:e.userContext;z.setContext(t,Sf(e.pageContext))},[z,tn,nn,rn]),u(()=>z.setUserToken(e.userToken),[z,e.userToken]);let an=l((e,t=[])=>He(e.suggestions??t),[]);u(()=>(z.primeIdentity(v,b.value),B({newConversation:!1}),()=>{zt.current++,Vt.current++}),[]),u(()=>{de&&P&&!he.current&&(he.current=!0,Lt.current=z.bootstrap(),(async()=>{try{let e=await Lt.current;oe(Re((e??{forms:[]}).forms,it))}catch(e){$.debug(`bootstrap failed — treating as no forms`,{err:e})}finally{se(!0)}})(),pe.current===b.value&&T(!0))},[de,P]);let on=p(null);u(()=>{if(!de||!P||(on.current??(on.current=it),on.current===it))return;on.current=it;let e=!1;return z.bootstrap().then(t=>{e||oe(Re((t??{forms:[]}).forms,it))}).catch(e=>$.debug(`forms re-localize failed — keeping current copy`,{err:e})),()=>{e=!0}},[de,P,it,z]);let sn=p(tn);u(()=>{P&&sn.current!==tn&&(sn.current=tn,B({newConversation:!1}))},[tn,P,B]),Rd({hostElement:t,mode:e.mode,panelSize:Se,isOpen:I,surfaceReady:P,setIsOpen:ue});let{sendAiTurn:cn,sendRoutedTurn:ln}=pf({transport:z,messagesSig:C,conversationIdSig:b,options:e,bus:n,feedback:$e,persistence:h,visitorId:v,adoptConversationId:Kt,applyControlState:yt,setCanSend:ke,settleSuggestions:an,runCancellation:et}),{toolInteraction:un,pageToolsRunning:dn,stopPageTools:fn}=Ad({streaming:je,controlModeSig:gt,messagesSig:C,sendAiTurn:cn,bus:n,humanInLoop:e.features.humanInLoop,tools:e.tools}),pn=l((e,t)=>{let r=C.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,C,z]);function hn(){return C.value.reduce((e,t)=>e+ +(t.role===`user`),0)}let vn=e.forms.list.length>0?e.forms:ae??e.forms,V=Ta({forms:vn,persistence:h,userContext:()=>e.userContext,messageCount:hn,pageArea:()=>e.pageContext?.area?String(e.pageContext.area):void 0,conversationId:()=>b.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}),O(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=b.value??lt();b.value||(b.value=a,h.saveConversationId(a),z.primeIdentity(void 0,a)),!i&&e.mirrorToContext&&Qe(e=>({...e,...r})),z.submitForm({formId:e.id,conversationId:a,trigger:t,values:r,skipped:i})}}),yn=s(()=>V.activeForm.value);af({activated:de,conversationReady:P,conversationIdSig:b,messagesSig:C,optionsRef:We,transport:z,visitorId:v,adoptControlStateChunk:bt,adoptMemoryCompactionStateChunk:wt,settleSuggestions:an,recordConversationReply:Mt,transcriptRecoverySig:Dt,beginConversationTranscript:kt,commitConversationTranscript:At,onReplyLanded:l(()=>V.fire(`after-messages`),[V]),runCancellation:et,canContinueRef:Ae,setCanSend:ke,feedback:$e,bus:n,loadInitialThread:Qt,shouldReconcileOnConnect:l(()=>x.current||C.value.some(e=>!e.ephemeral&&e.role===`user`),[C])}),u(()=>{V.refresh()},[vn,V]);let bn=e.pageContext?.area?String(e.pageContext.area):void 0,xn=s(()=>C.value.length),H=p(null);u(()=>{F&&H.current&&(V.fire(`manual`,H.current),H.current=null)},[F,V]),u(()=>{P&&F&&V.fire(`pre-chat`)},[P,F,V]),u(()=>{F&&!Oe&&V.fire(`conversation-closed`)},[F,Oe,V]),u(()=>{P&&F&&bn&&V.fire(`page-area`)},[P,F,bn,V]);let U=f(()=>{let e=vn.list.flatMap(e=>e.triggers).filter(e=>e.kind===`idle`).map(e=>Number(e.param));return e.length?Math.min(...e)*1e3:0},[vn]);u(()=>{if(!U||!I)return;let e=setTimeout(()=>V.fire(`idle`),U);return()=>clearTimeout(e)},[U,I,V,xn.value]);let W=l(async(t,r,i)=>{if(Pe.current)return!1;let a=b.value,o=a?Ct.value.get(a):void 0,s=gt.value!==`ai-agent`;if(!s&&o?.status===`compacting`||($.info(`send`,{textLen:t.length,attachments:r.length,streaming:Ne.current,routedToOperator:s}),Ne.current&&!s))return!1;let c=new AbortController,l={conversationId:a,controller:c};Pe.current=l,Ie(!0);try{$e.unlock();let o=await wf(z,r,c.signal,t=>{c.signal.aborted||($.warn(`upload failed`,{err:t}),n.emit(`error`,t),e.onError?.(t))});if(c.signal.aborted||b.value!==a||!Ae.current||V.activeForm.value)return!1;let s=a?Ct.value.get(a):void 0,l=gt.value!==`ai-agent`;if(!l&&s?.status===`compacting`||Ne.current&&!l||!t&&o.length===0)return!1;n.emit(`send`,{text:t,attachmentCount:r.length}),Be.length>0&&He([]),$e.play(`messageSent`);let u=ui(t,o,i);return wa(n,e,`user`,t),l?(C.value=[...C.value,u],i?await ln(u):(ln(u),!0)):(C.value=[...C.value,u,di()],i?await cn({continueExisting:!1}):(cn({continueExisting:!1}),!0))}finally{Pe.current===l&&(Pe.current=null,Ie(!1))}},[z,n,e,Be.length,C,b,Ct,cn,ln,gt]),Sn=p(W);Sn.current=W;let G=b.value,Cn=(G?Ct.value.get(G):void 0)?.status===`compacting`,wn=gt.value===`ai-agent`,Tn=s(()=>{let e=C.value.at(-1);return e?.role===`assistant`&&e.partsSig.value.some(e=>e.kind===`tool`&&e.stateSig.value===`approval-requested`)}),En=s(()=>C.value.some(e=>e.retryAction?.kind===`resend-user`||e.retryAction?.kind===`continue-assistant`));d(()=>{let e=b.value;return()=>{let t=Pe.current;t&&t.conversationId===e&&(Pe.current=null,Ie(!1),t.controller.abort())}},[b.value]),u(()=>{(!Oe||yn.value)&&Pe.current?.controller.abort()},[yn.value,Oe]);let Dn=l(()=>{if(dn){$.info(`stop page tools`),n.emit(`stop`,void 0),fn();return}if(!et.stop())return;$.info(`stop`),n.emit(`stop`,void 0);let e=C.value.at(-1);e&&e.role!==`user`&&e.status===`streaming`&&(e.canceled=!0,C.value=[...C.value])},[et,n,C,dn,fn]),On=l(e=>{if(je)return;let t=C.value,n=Ki(t,e);if(n)switch($.info(`retry`,{kind:n.kind,messageId:n.messageId}),n.kind){case`continue-assistant`:if(gt.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,C.value=[...t],cn({continueExisting:!0,turn:e});return;case`resend-user`:{let r=t.find(e=>e.role===`user`&&e.id===n.messageId);if(!r)return;let i=e=>{e&&Ft.current?.acceptQueuedMessage(n.messageId)};if(r.status=`complete`,r.errorText=void 0,r.retryAction=void 0,gt.value!==`ai-agent`){C.value=e.role===`assistant`?t.filter(t=>t!==e):[...t],ln(r).then(i);return}let a=di();C.value=e.role===`assistant`?t.map(t=>t===e?a:t):[...t,a],cn({continueExisting:!1,turn:r}).then(i);return}case`repeat-user`:{let e=t.find(e=>e.role===`user`&&e.id===n.messageId);if(!e)return;let r=ui(xi(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]),gt.value!==`ai-agent`){C.value=[...t,r],ln(r);return}C.value=[...t,r,di()],cn({continueExisting:!1,turn:r});return}default:return n}},[je,C,gt,cn,ln]),kn=l(()=>{Ca(e.mode,Se)===`exit-fullscreen`?($.info(`close → exit-fullscreen`,{mode:e.mode}),Ce(`normal`),n.emit(`fullscreen`,!1)):($.info(`close → panel closed`,{mode:e.mode}),V.fire(`panel-close`),ue(!1),h.savePanelOpen(!1),n.emit(`close`,void 0),e.onClose?.())},[n,e,h,Se,V]),An=l(()=>{$.info(`open`,{mode:e.mode}),$e.unlock(),R(!0),ue(!0),h.savePanelOpen(!0),!ve&&!be&&xe(),setTimeout(()=>R(!1),Cf),n.emit(`open`,void 0),e.onOpen?.()},[n,e,$e,h,ve,be,xe]),jn=l(()=>{let e=C.value.some(e=>e.role===`user`);if(me.current===b.value&&!e&&Oe&&b.value)$.info(`clear → reusing empty conversation`,{conversationId:b.value}),C.value.length===0&&It(L.current?.messages);else return $.info(`clear → new conversation`,{wasStreaming:je}),n.emit(`clear`,void 0),et.settle(),x.current=!1,pe.current=void 0,me.current=void 0,r(()=>{C.value=[],b.value=void 0,yt({controlMode:`ai-agent`,controlRevision:0})}),h.clearConversation(),ke(!0),O([]),He([]),B({newConversation:!0})},[je,C,b,h,B,n,Oe,It,et,yt]),Mn=l(()=>{let t=jn();Ee(`chat`);let n=e.modules.list.find(e=>e.layout===`chat`)?.id;return n&&N.switchTab(n),t},[jn,N,e]),Nn=l(async e=>{await Mn(),await Sn.current(e,[])||Ft.current?.fill(e)},[Mn]),Pn=l(()=>{let e=Se===`expanded`?`normal`:`expanded`;$.info(`expand`,{from:Se,expanded:e===`expanded`}),Ce(e),h.savePanelSize(e),n.emit(`expand`,e===`expanded`)},[n,Se,h]),Fn=l(()=>{let e=Se===`fullscreen`?`normal`:`fullscreen`;$.info(`fullscreen`,{from:Se,fullscreen:e===`fullscreen`}),Ce(e),h.savePanelSize(e),n.emit(`fullscreen`,e===`fullscreen`)},[n,Se,h]),In=l(()=>{Ee(e=>{let t=e===`history`?`chat`:`history`;return $.info(`toggleHistory`,{view:t}),n.emit(`toggleHistory`,{view:t}),t})},[n]),Ln=l(()=>{Xe(e=>{let t=!e;return $.info(`sidebarToggle`,{collapsed:t}),h.saveSidebarCollapsed(t),n.emit(`sidebarToggle`,{collapsed:t}),t})},[h,n]),K=l(e=>{$.info(`resize`,e),ct({widgetSize:e}),n.emit(`resize`,e)},[ct,n]),Rn=l(async t=>{let i=t.conversationId;if(i===b.value&&jt(i)){$.info(`selectConversation`,{conversationId:i,cached:!0}),n.emit(`selectConversation`,{conversationId:i}),z.publishConversation(t),Ee(`chat`);let e=j();e&&N.switchTab(e),At(i);return}let a=++zt.current;Vt.current++,T(!1);function o(){return a!==zt.current}$.info(`selectConversation`,{conversationId:i,wasStreaming:je}),n.emit(`selectConversation`,{conversationId:i}),z.publishConversation(t);try{let[e,t]=await Promise.all([z.loadConversation(i),Rt(i)]);if(o())return;et.settle(),x.current=!0,pe.current=void 0;let n=vi(e.messages),a=e.conversationId!==b.value,s=a?n:Ri(n,C.value);me.current=s.some(e=>e.role===`user`)?void 0:e.conversationId,r(()=>{C.value=Yt(s,t),a&&(S.value=e.conversationId),b.value=e.conversationId}),O(t),h.saveConversationId(e.conversationId),z.primeIdentity(v,e.conversationId),ke(e.canContinue),e.controlState&&yt(e.controlState);let c=s.findLast(e=>e.role===`assistant`&&!e.ephemeral);He(c?.suggestions??[]),a?kt(e.conversationId):At(e.conversationId),Ee(`chat`);let l=j();l&&N.switchTab(l)}catch(t){if(o())return;n.emit(`error`,t),e.onError?.(t)}},[z,C,b,S,n,e,h,Rt,Yt,je,v,et,kt,At,jt,N]),zn=l(e=>{if(typeof e!=`string`)return;I||An(),Ee(`chat`);let t=j();t&&N.switchTab(t),F?V.fire(`manual`,e):H.current=e},[I,An,e.modules,N,F,V]),Bn=p(void 0),Vn=l(t=>{let n=e.modules.list.find(e=>e.layout===yf[t.to]);if(!n){$.warn(`open: the widget has no such tab`,{to:t.to});return}let r=t.id&&(n.layout===`help`||n.layout===`news`)?{kind:`content`,id:t.id,title:``}:void 0;N.open(n.id,r)},[e.modules,N]),Hn=l(e=>{I||An(),e!==void 0&&(Ht(e)?P?Vn(e):Bn.current=e:$.warn(`open: unknown target`,{detail:e}))},[I,An,P,Vn]);u(()=>{P&&Bn.current&&(Vn(Bn.current),Bn.current=void 0)},[P,Vn]);let Un=P&&!w&&!yn.value&&(!wn||!Tn.value&&!En.value),[Wn,Gn]=m(),Kn=l(e=>{let t=Gt(e);t?(I||An(),Gn(t)):$.warn(`ask: expected { text, send? } with non-empty text`,{detail:e})},[I,An]),qn=I&&F&&Oe&&P&&!w&&!yn.value,Jn=qn&&Un&&!Fe&&!(wn&&(je||Cn));u(()=>{if(Wn===void 0||!(Wn.send?Jn:qn))return;let e=j();e?Te!==`chat`||!ee()?(Ee(`chat`),N.switchTab(e)):(Gn(void 0),Wn.send?W(Wn.text,[]).then(e=>{e||Ft.current?.fill(Wn.text)}):Ft.current?.fill(Wn.text)):($.warn(`ask: the widget has no chat`),Gn(void 0))},[Wn,qn,Jn,Te,ne,e.modules,N,W]),u(()=>{if(e.widgetId!=="default")return;let n=`data-${M.cssPrefix}-`,r=[`ask`,`open`,`close`,`form`].map(e=>n+e);function i(e){let i=e.composedPath().find(e=>e instanceof Element&&r.some(t=>e.hasAttribute(t)));if(!(i instanceof Element))return;e.preventDefault();let a=i.getAttribute(`${n}ask`),o=i.getAttribute(`${n}open`),s=i.getAttribute(`${n}form`);a===null?o===null?s===null?qt(t,`close`):qt(t,`openForm`,s):qt(t,`open`,Ut(o)):qt(t,`ask`,Wt(a||(i.textContent??``),{send:i.hasAttribute(`${n}send`)}))}return document.addEventListener(`click`,i),()=>document.removeEventListener(`click`,i)},[e.widgetId,t]),u(()=>{if(e.widgetId!=="default")return;let n=Xt(location.href);n&&(history.replaceState(history.state,``,n.url),n.ask?qt(t,`ask`,Wt(n.ask)):qt(t,`open`,n.target))},[e.widgetId,t]);let Yn=p(en),Xn=e.mode===`page`||e.mode===`inline`||e.mode===`standalone`;u(()=>a(()=>{let e=b.value,t={open:Xn||I,ready:P,unread:Et.value,...e?{conversationId:e}:{}},r=Yn.current;(t.open!==r.open||t.ready!==r.ready||t.unread!==r.unread||t.conversationId!==r.conversationId)&&(Yn.current=t,n.emit(`state`,t),t.unread!==r.unread&&n.emit(`unread`,t.unread))}),[n,Xn,I,P,Et,b]);let Zn=p({handleOpenCommand:Hn,handleClose:kn,handleExpand:Pn,handleFullscreen:Fn,openForm:zn,handleAskCommand:Kn});Zn.current={handleOpenCommand:Hn,handleClose:kn,handleExpand:Pn,handleFullscreen:Fn,openForm:zn,handleAskCommand:Kn},d(()=>Jt(t,{open:e=>Zn.current.handleOpenCommand(e),close:()=>Zn.current.handleClose(),expand:()=>Zn.current.handleExpand(),fullscreen:()=>Zn.current.handleFullscreen(),openForm:e=>Zn.current.openForm(e),ask:e=>Zn.current.handleAskCommand(e)}),[t]);let Qn=f(()=>Ve(e,tt,nt,rt),[e,tt,nt,rt]);Ue.current=Qn.strings;let $n=f(()=>D.map(e=>{let t=vn.list.find(t=>t.id===e.formId);return{...e,title:t?.title,form:t}}),[D,vn]);function er(e){Rn(e)}let tr={options:Qn,transport:z,feedback:$e,bus:n,persistence:h,conversationId:b.value??``,composerKey:S.value,composerApiRef:Ft,view:Te,canSend:Oe,isStreaming:je,pageToolRunning:dn,isMemoryCompacting:Cn,canReleaseQueuedMessages:Un,queueManualMessages:wn&&(Tn.value||En.value),sendPreparing:Fe,composerActive:Qn.mode===`page`||Qn.mode===`inline`||Qn.mode===`standalone`||I,controlMode:gt.value,assignedOperatorInitials:_t.value,operatorAvailable:vt.value,operatorRequestEnabled:e.features.operatorRequest,onRequestOperator:xt,onCancelOperatorRequest:St,loadingMessages:w,onLoadPreviousMessages:$t,messagesSig:C,agent:Le,suggestions:Be,initialWidgetSize:y.widgetSize??null,onClose:kn,onClear:jn,onExpand:Pn,onFullscreen:Fn,onSoundToggle:mt,onToggleHistory:In,onSelectHistoryConversation:er,onNewConversation:Mn,onLocaleChange:ut,onThemeChange:dt,onTextSizeChange:pt,onWidgetSizeChange:K,onSend:W,onStop:Dn,onSuggestion:t=>{if(Pe.current)return;let r=t.text??t.label;$.info(`suggestion`,{text:r,autoSend:e.autoSendSuggestions}),n.emit(`suggestion`,{text:r}),e.autoSendSuggestions?W(r,[]):Ft.current?.fill(r)},activeForm:yn.value?.form??null,formMarkers:$n,onFormSubmit:V.complete,onFormSkip:V.skip,onFormFill:e=>V.fire(`manual`,e),tool:un,onRetry:On,onMessageFeedback:pn};if(!P)return null;let nr=Qn.modules.list;function rr(e){let t=xa(`close`,Qn.mode,e);return nr.length===0?/* @__PURE__ */ g(vd,{strings:Qn.strings,onClose:t?kn:void 0}):nr.length===1&&nr[0]?.layout===`chat`?/* @__PURE__ */ g(od,{...tr,panelSize:e}):/* @__PURE__ */ g(gd,{panelProps:{...tr,panelSize:e,onClose:t?kn:void 0},enabledModules:nr,nav:N,bus:n,hasUnread:Tt.value,latestNews:Pt,onSelectConversation:er,onStartNewConversation:Nn,onSetPanelSize:Ce})}if(e.mode===`page`){let e=nr.some(e=>e.layout===`chat`);return/* @__PURE__ */ g(`div`,{class:`${vf}-anchor`,children:/* @__PURE__ */ g(Td,{site:Ge,blocks:qe,transport:z,strings:Qn.strings,locale:Qn.locale,persistence:h,showConversations:e,onSelectConversation:er,onNewConversation:Mn,sidebarCollapsed:Ye,onToggleSidebarCollapsed:Ln,children:rr(`fullscreen`)})})}if(ce){let t=e.mode===`standalone`?`fullscreen`:Se;return/* @__PURE__ */ g(`div`,{class:`${vf}-anchor`,children:rr(t)})}let ir=e.mode===`drawer`,ar=e.mode!==`modal`&&!e.launcher.hidden&&(!I||_e),or=ar&&!_e&&!ve&&!ir?Qn.launcher.callout:null;return/* @__PURE__ */ _(`div`,{class:`${vf}-anchor`,"data-launcher-size":Qn.launcher.size,children:[I||de?/* @__PURE__ */ g(`div`,{class:`${vf}-surface`,hidden:!I,children:rr(Se)}):null,ar?/* @__PURE__ */ g(Wo,{onToggle:An,launcher:Qn.launcher,strings:Qn.strings,leaving:_e,edgeTab:ir}):null,or?/* @__PURE__ */ g(Jo,{callout:or,launcherPosition:Qn.position,strings:Qn.strings,closeLabel:Qn.strings.close,onDismiss:xe}):null]})}function Sf(e){let t=e?.url??(typeof location<`u`?location.href:void 0);if(e||t)return{...e,...t?{url:t}:{}}}const Cf=120;async function wf(e,t,n,r){return(await Promise.all(t.map(async t=>{try{let{id:r,url:i,originalName:a,mimeType:o,fileSize:s}=await e.uploadFile(t.file,n);return{id:r,name:a,mediaType:o,size:s,url:i}}catch(e){r(e);return}}))).filter(e=>e!==void 0)}const Tf=R.scope(`error-boundary`);var Ef=class extends e{constructor(...e){super(...e),B(this,`state`,{crashed:!1})}componentDidCatch(e,t){Tf.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}};function Df(e){let{bus:r,host:i,appRoot:a,persistence:o,reportError:s}=e,c=e.initialRaw,l,u=De(c),d=!0,f=0,p=ct(r);function m(){u=De(l?Ue(c,l):c)}function h(){At(i,jt(u.mode));let e=o.loadUserPrefs().themeMode;zt(i,e?{...u,themeMode:e}:u),d&&(Rt(i,Of(u)),d=!1)}function g(){h(),n(t(Ef,{onError:s},t(xf,{key:f,bus:r,hostElement:i,options:u,recentHostEvents:p})),a)}r.on(`handshake`,e=>{e.config&&(e.config.storageVersion&&o.rememberStorageVersion(e.config.storageVersion),l=e.config,m(),g())});let _=xt(r,{getOptions:()=>u,getVisitorId:()=>o.getVisitorId(),getConversationId:()=>o.loadConversationId()});function v(e={}){o.reset(),c={...c,userContext:void 0,userToken:void 0,...e},p.length=0,f+=1,d=!0,m(),g()}return{getOptions:()=>u,getUserOptions:()=>c,render:g,setUserOptions:e=>{c=e,m(),g()},patchUserOptions:e=>{let t=`userToken`in e&&e.userToken!==c.userToken;t&&c.userToken?v(e):(t&&(f+=1),c={...c,...e},m(),g())},reset:()=>v(),destroy:()=>_()}}function Of(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}=La(e,Ra(),t.loadPanelOpen(),t.loadPanelSize());return Fa(e.mode,r,n)}const kf=R.scope(`hooks`),Af=`*`,jf=/* @__PURE__ */ new Set;function Mf(e,t,n){let r={widgetId:e,event:t,listener:n};return jf.add(r),()=>{jf.delete(r)}}function Nf(e,t,n){let r=[...jf];for(let i of r)if(Ff(i.widgetId,e.widgetId)&&(i.event===`*`||i.event===t))try{i.listener(e,t,n)}catch(e){kf.warn(`hook listener threw`,{event:t,error:e})}}function Pf(e,t){let n=[];for(let r of If)n.push(t.on(r,t=>{Nf(e,r,t)}));return()=>{for(let e of n)e()}}function Ff(e,t){return e===`*`||e===t}const If=/* @__PURE__ */ `open.close.expand.fullscreen.resize.message.send.stop.clear.selectConversation.suggestion.toggleHistory.formSubmit.toolResult.toolDecision.hostEvent.messageFeedback.contentView.contentOpen.contentSearch.contentRead.contentLinkClick.attach.removeAttachment.voiceStart.voiceStop.voiceCancel.localeChange.themeChange.textSizeChange.soundToggle.sidebarToggle.calloutDismiss.error.handshake.conversationRebound.state.unread`.split(`.`),Lf=R.scope(`iframe`);function Rf(e,t,n=`closed`,r=`floating`,i=null){Lf.debug(`createIframeMount`,{position:t,initialMode:n,layoutMode:r,hasTarget:!!i});let a=document.createElement(`iframe`);a.title=`${M.name} chat`,a.setAttribute(`allow`,`microphone; clipboard-write`),Vf(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=Mt({...e,target:o.body}),c=new MutationObserver(()=>{Vf(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 zf=`border:0;background:transparent;z-index:2147483647;pointer-events:auto;`,Bf={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 Vf(e,t,n,r){if(n===`fullscreen`||r===`standalone`){e.style.cssText=`${zf}position:fixed;inset:0;width:100vw;height:100vh;`;return}if(r===`inline`){e.style.cssText=`${zf}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=`${zf}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}=Bf[n]??Bf.open;e.style.cssText=`${zf}position:fixed;${i}:16px;${a}:16px;width:${o};height:${s};`}const Hf=/* @__PURE__ */ new Map;function Uf(e){if(!e.aiAgentDeploymentId)throw Error(`aiAgentDeploymentId is required`);e.debug!==void 0&&L(e.debug);let t=R.scope(`mount`);t.info(`mount`,{widgetId:e.widgetId,publicKey:e.publicKey,mode:e.presentation?.mode});let r=De(e),i=r.widgetId,a=Hf.get(i);a&&(t.debug(`destroy existing instance at slot`,{widgetId:i}),a.destroy());let o=Of(r),s=r.iframe?Rf({position:jt(r.mode)},r.position,o,r.mode,e.target??null):Mt({position:jt(r.mode),target:e.target??null});s.hostElement.dataset.widgetId=i;let c=new tn,l=ft(i,r.storage,r.aiAgentDeploymentId);function u(e){c.emit(`error`,e),d.getOptions().onError?.(e)}let d=Df({bus:c,host:s.hostElement,appRoot:s.appRoot,persistence:l,initialRaw:e,reportError:u}),f=en,p=()=>{},m=new Promise(e=>{p=e});c.on(`state`,e=>{f=e,e.ready&&p()}),d.render();let h=s.hostElement,g=null;function _(e){e.debug!==void 0&&L(e.debug),d.patchUserOptions(e)}let v={widgetId:i,open:e=>qt(h,`open`,e),close:()=>qt(h,`close`),expand:()=>qt(h,`expand`),openForm:e=>qt(h,`openForm`,e),ask:(e,t)=>qt(h,`ask`,Wt(e,t)),on:(e,t)=>c.on(e,t),update:e=>{t.debug(`update`,{patch:e}),_(e)},setUserContext:e=>{t.debug(`setUserContext`,{keys:Object.keys(e)}),_({userContext:{...d.getUserOptions().userContext,...e}})},clearUserContext:()=>{t.debug(`clearUserContext`),_({userContext:void 0})},setPageContext:e=>{t.debug(`setPageContext`,{keys:Object.keys(e)}),_({pageContext:{...d.getUserOptions().pageContext,...e}})},clearPageContext:()=>{t.debug(`clearPageContext`),_({pageContext:void 0})},get state(){return f},ready:m,reset:()=>{t.info(`reset`,{widgetId:i}),d.reset()},login:e=>{t.info(`login`,{widgetId:i}),_({userToken:e})},track:(e,t)=>{let n=st(e,t);n&&c.emit(`hostEvent`,n)},registerTool:Al,setDebug:e=>{L(e),t.info(`debug level set`,{level:ge()})},debugLevel:()=>ge(),onLog:e=>ve(e),destroy:()=>{t.info(`destroy`,{widgetId:i}),c.emit(`state`,en),g?.(),d.destroy(),c.clear(),n(null,s.appRoot),s.destroy(),Hf.get(i)===v&&Hf.delete(i)}};return g=Pf(v,c),Hf.set(i,v),v}function Wf(e){if(!e.aiAgentDeploymentId)throw Error(`aiAgentDeploymentId is required`);let t=e.widgetId??`default`,n=Hf.get(t);return n?(n.update(e),n):Uf(e)}function Gf(e){if(e!==void 0){Hf.get(e)?.destroy();return}let t=[...Hf.values()];for(let e of t)e.destroy()}function Kf(e=`default`){return Hf.get(e)??null}function qf(){return[...Hf.values()]}function Jf(e,t,n){return Mf(e,t,n)}const Yf=gt,Xf=M;export{Af as HOOK_WILDCARD,Xf as brand,Gf as destroy,qf as getAllInstances,Kf as getInstance,Jf as hook,Wf as init,Uf as mount,Of as resolveInitialHostMode,Yf as version};
|
|
33
|
+
`).trim(),M=!S&&t!==`error`&&!v.value&&j.length>0,ee=A||M;return/* @__PURE__ */ g(`div`,{class:`${Iu}-bubble-row`,"data-role":e.role,"data-testid":Ho(X.messageBubble,e.serverMessageId??e.id),children:/* @__PURE__ */ _(`div`,{class:`${Iu}-bubble-col`,children:[/* @__PURE__ */ _(`div`,{class:`${Iu}-bubble`,children:[e.role===`operator`&&e.operatorInitials?/* @__PURE__ */ g(`span`,{class:`${Iu}-bubble-author`,children:e.operatorInitials}):null,/* @__PURE__ */ _(`div`,{class:`${Iu}-bubble-body`,children:[T?/* @__PURE__ */ g(Ku,{label:n.loading}):h.map((r,i)=>/* @__PURE__ */ g(Vu,{part:r,generativeUi:e.role===`assistant`,active:E,live:C,strings:n,showReasoning:a,showToolCalls:o,showSources:s,interactive:c&&t===`complete`&&(r.kind!==`tool`||ji(e,i)),superseded:l,continuationStreaming:e.continuationStreaming===!0,tool:u},`${Wu(r)}#${i}`)),D&&/* @__PURE__ */ g(Gu,{}),t===`error`||v.value?/* @__PURE__ */ _(`div`,{class:`${Iu}-error`,role:`alert`,children:[/* @__PURE__ */ g(`span`,{children:e.errorText??n.errorGeneric}),d?/* @__PURE__ */ g(`button`,{type:`button`,class:`${Iu}-error-retry`,onClick:()=>d(e),"data-testid":X.messageRetry,children:n.errorRetry}):null]}):null]})]}),O||ee?/* @__PURE__ */ _(`div`,{class:`${Iu}-bubble-meta`,children:[O?/* @__PURE__ */ g(`time`,{class:`${Iu}-bubble-time`,dateTime:O.iso,title:O.full,children:O.short}):null,ee?/* @__PURE__ */ _(`div`,{class:`${Iu}-bubble-actions`,children:[A&&e.serverMessageId?/* @__PURE__ */ g(rl,{messageId:e.serverMessageId,initial:e.feedback??null,strings:n,onFeedback:m}):null,M?/* @__PURE__ */ g(zu,{text:j,strings:n}):null]}):null]}):null]})})}function zu({text:e,strings:t}){let[n,r]=m(!1);function i(){navigator.clipboard?.writeText(e).then(()=>{r(!0),setTimeout(()=>r(!1),1500)}).catch(()=>{})}let a=n?t.copied:t.copy;return/* @__PURE__ */ g(`button`,{type:`button`,class:`${Iu}-msg-action`,"data-active":n?`true`:void 0,"aria-label":a,title:a,onClick:i,"data-testid":X.messageCopy,children:g(n?so:Po,{})})}function Bu(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 Vu({part:e,generativeUi:t,active:n,live:r,strings:i,showReasoning:a,showToolCalls:o,showSources:s,interactive:c,superseded:l,continuationStreaming:u,tool:d}){switch(e.kind){case`step-start`:return null;case`text`:return/* @__PURE__ */ g(es,{textSig:e.textSig,doneSig:e.doneSig,generativeUi:t,strings:i});case`reasoning`:return a?/* @__PURE__ */ g(Uu,{part:e,active:n,strings:i}):null;case`tool`:return/* @__PURE__ */ g(Hu,{part:e,strings:i,showToolCalls:o,interactive:c,superseded:l,continuationStreaming:u,live:r,tool:d});case`file`:return e.mediaType.startsWith(`image/`)?/* @__PURE__ */ g(`img`,{src:e.url,alt:``,loading:`lazy`}):/* @__PURE__ */ g(`a`,{href:e.url,target:`_blank`,rel:`noreferrer noopener`,children:e.url});case`source`:return s?/* @__PURE__ */ g(pu,{part:e,strings:i}):null}}function Hu({part:e,strings:t,showToolCalls:n,interactive:r,superseded:a,continuationStreaming:o,live:s,tool:c}){let l=f(()=>i(()=>e.approvalSig.value!==void 0),[e]);return c?.humanInLoop&&l.value?tl(e.toolName)?/* @__PURE__ */ g(Du,{part:e,strings:t,active:r,superseded:a,continuationStreaming:o,onDecision:c.onDecision,onEdit:c.onEdit}):/* @__PURE__ */ g(hu,{part:e,strings:t,active:r,superseded:a,continuationStreaming:o,onDecision:c.onDecision,onEdit:c.onEdit}):n?/* @__PURE__ */ g(Fu,{part:e,strings:t,live:s,superseded:a}):null}function Uu({part:e,active:t,strings:n}){return/* @__PURE__ */ _(`details`,{class:`${Iu}-reasoning`,"data-testid":X.reasoning,open:t,"data-active":t?`true`:void 0,children:[/* @__PURE__ */ g(`summary`,{class:`${Iu}-reasoning-summary`,children:/* @__PURE__ */ g(`span`,{class:`${Iu}-reasoning-label`,children:t?n.thinking:n.thoughts})}),/* @__PURE__ */ g(`div`,{class:`${Iu}-reasoning-body`,children:/* @__PURE__ */ g(es,{textSig:e.textSig,doneSig:e.doneSig})})]})}function Wu(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 Gu(){return/* @__PURE__ */ _(`span`,{class:`${Iu}-typing`,"data-testid":X.typingDots,"aria-hidden":`true`,children:[/* @__PURE__ */ g(`span`,{}),/* @__PURE__ */ g(`span`,{}),/* @__PURE__ */ g(`span`,{})]})}function Ku({label:e}){return/* @__PURE__ */ _(`span`,{class:`${Iu}-loading`,role:`status`,children:[/* @__PURE__ */ g(`span`,{class:`${Iu}-loading-spinner`,"aria-hidden":`true`}),/* @__PURE__ */ g(`span`,{class:`${Iu}-loading-label`,children:e})]})}const qu=M.cssPrefix;function Ju({messagesSig:e,strings:t,responseMode:n,showReasoning:r,showToolCalls:i,showSources:a,enableMessageFeedback:o,onFeedback:c,loading:l,onLoadPreviousMessages:f,idle:h,controlMode:v=`ai-agent`,tool:y,onRetry:b,form:x,formMarkers:S,onFillForm:C}){let w=p(null),T=s(()=>e.value),[E,D]=m(!1),[O,k]=m(!1),A=p(!1),j=p(!1),[M,ee]=m(),te=p(!1),N=p(!1),ne=p(!1),re=p(0);function P(){return ne.current||performance.now()-re.current<350}let ie=p(0);function ae(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`}function oe(e){return D(e.scrollHeight-e.scrollTop-e.clientHeight>240)}function F(e){ie.current=performance.now(),e.scrollTop=e.scrollHeight,ae(e)}function se(e,t){F(e);let n=t,r=0;function i(){N.current||P()||(F(e),--n>0&&(r=requestAnimationFrame(i)))}return t>0&&(r=requestAnimationFrame(i)),()=>cancelAnimationFrame(r)}function ce(e,t){let n,r,i,a=-1;function o(){n.disconnect(),r.disconnect(),clearTimeout(i)}function s(){if(N.current||P()||a>=0&&e.scrollTop<a-4)return o();F(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}let le=T.value[0]?.id;d(()=>{let e=w.current;if(e&&T.value.length!==0&&!j.current&&(te.current=!0,T.value.some(e=>e.role===`user`)))return ce(e,300)},[le]);let I=p(0);u(()=>{let e=w.current,t=T.value,n=I.current;if(I.current=t.length,e&&te.current&&!j.current){if(t.slice(n).some(e=>e.role===`user`))return N.current=!1,se(e,3);t.some(e=>e.role===`user`)&&(N.current||P()||e.scrollHeight-e.scrollTop-e.clientHeight<120&&F(e))}},[T.value.length]);let ue=p(null);u(()=>{let e=w.current,t=T.value.at(-1),n=ue.current;if(ue.current=t?{id:t.id,streaming:t.status===`streaming`}:null,e&&te.current&&t&&t.id===n?.id&&!n.streaming&&t.status===`streaming`)return N.current=!1,se(e,3)},[T.value]),u(()=>{let e=w.current;if(!e)return;let t=T.value.at(-1);if(!t||t.status!==`streaming`&&!T.value.some(e=>e.role===`user`))return;let n=()=>{N.current||P()||e.scrollHeight-e.scrollTop-e.clientHeight<240&&F(e)};if(t.status!==`streaming`)return ce(e,300);n();let r=new MutationObserver(n);return r.observe(e,{childList:!0,subtree:!0,characterData:!0}),()=>r.disconnect()},[T.value]);let de=x?.form.id,fe=!!x&&(S??[]).some(e=>e.formId===x.form.id);d(()=>{let e=w.current;e&&de&&!N.current&&T.value.some(e=>e.role===`user`)&&(fe?e.querySelector(`[data-testid="${X.formGate}"]`)?.scrollIntoView({block:`nearest`}):F(e))},[de,fe]),u(()=>{let e=w.current;if(!e)return;let t=()=>{oe(e),ae(e),performance.now()-ie.current>150&&(N.current=e.scrollHeight-e.scrollTop-e.clientHeight>8)};function n(){N.current=!0}function r(e){e.deltaY<0&&n()}let i=0;function a(e){i=e.touches[0]?.clientY??0,ne.current=!0}function o(e){(e.touches[0]?.clientY??0)>i+4&&n()}function s(){ne.current=!1,re.current=performance.now()}function c(){ne.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}),oe(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)}},[]);function pe(){let e=w.current;e&&(N.current=!1,F(e))}let me=T.value.filter(e=>!e.ephemeral),he=me[0],L=he?.serverMessageId??he?.id,ge=!!(f&&me.length>=50&&L!==M);async function _e(){if(!f||A.current)return;let e=w.current,t=e?.scrollHeight??0,n=e?.scrollTop??0;A.current=!0,j.current=!0,k(!0);try{let r=await f();r===!1&&L&&ee(L),r&&e&&(await new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(()=>e()))),e.scrollTop=n+e.scrollHeight-t,ae(e),oe(e))}finally{j.current=!1,A.current=!1,k(!1)}}let R=[],ve=``,ye=T.value.at(-1)?.id,be=[...S??[]].toSorted((e,t)=>(e.createdAt??1/0)-(t.createdAt??1/0));function xe(e){return x&&e.formId===x.form.id?/* @__PURE__ */ g($c,{form:x.form,strings:t,onSubmit:x.onSubmit,onSkip:x.onSkip},`gate:${e.formId}`):/* @__PURE__ */ g(el,{marker:e,strings:t,onFill:!x&&C?()=>C(e.formId):void 0},e.key)}function Se(e){for(let t=be[0];t?.createdAt!==void 0&&!(e!==void 0&&t.createdAt>e);t=be[0])be.shift(),R.push(xe(t))}for(let e of T.value){if(e.role===`assistant`&&e.id!==ye&&Gi(e))continue;Se(e.createdAt);let s=Yu(e.createdAt);s&&s!==ve&&(R.push(/* @__PURE__ */ g(`div`,{class:`${qu}-date-divider`,children:/* @__PURE__ */ g(`span`,{class:`${qu}-date-pill`,title:Xu(e.createdAt),children:Zu(e.createdAt,t)})},`day:${s}`)),ve=s);let l=e.retryAction!==void 0||e.role===`assistant`&&e.id===ye?Ki(T.value,e):void 0,u=l!==void 0&&(l.kind!==`continue-assistant`||v===`ai-agent`);R.push(/* @__PURE__ */ g(Lu,{message:e,status:e.status,strings:t,responseMode:n,showReasoning:r,showToolCalls:i,showSources:a,interactive:!!h&&v===`ai-agent`&&e.id===ye,superseded:e.id!==ye,tool:y,onRetry:h&&u&&(e.role===`user`||e.id===ye)?b:void 0,enableMessageFeedback:o,onFeedback:c},e.id))}for(let e of be)R.push(xe(e));return/* @__PURE__ */ _(`div`,{class:`${qu}-list-wrap`,children:[/* @__PURE__ */ _(`div`,{ref:w,class:`${qu}-list ${qu}-list--fade`,part:`messages`,role:`log`,"aria-live":`polite`,"aria-relevant":`additions text`,children:[l&&T.value.length===0?/* @__PURE__ */ g(`div`,{class:`${qu}-list-loading`,role:`status`,children:t.conversationLoading}):null,ge?/* @__PURE__ */ g(`div`,{class:`${qu}-load-previous`,children:/* @__PURE__ */ g(`button`,{type:`button`,onClick:_e,disabled:O,"aria-busy":O,"data-testid":X.loadPreviousMessages,children:t.loadPreviousMessages})}):null,R,x&&!fe?/* @__PURE__ */ g($c,{form:x.form,strings:t,onSubmit:x.onSubmit,onSkip:x.onSkip}):null]}),E?/* @__PURE__ */ g(`button`,{type:`button`,class:`${qu}-jump`,onClick:pe,"aria-label":t.scrollToBottom,title:t.scrollToBottom,"data-testid":X.scrollToBottom,children:/* @__PURE__ */ g(po,{})}):null]})}function Yu(e){if(typeof e!=`number`||!Number.isFinite(e))return``;let t=new Date(e);return`${t.getFullYear()}-${t.getMonth()}-${t.getDate()}`}function Xu(e){if(typeof e!=`number`||!Number.isFinite(e))return``;try{return new Date(e).toLocaleDateString(void 0,{dateStyle:`full`})}catch{return``}}function Zu(e,t){let n=new Date(e);function r(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()}let i=Math.round((r(/* @__PURE__ */ 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`})}function Qu({panelEl:e,resize:t,position:n,initialSize:r,onSizeChange:i,strings:a}){let o=M.cssPrefix,s=p(null);if(u(()=>{if(!e)return;let n=e.style;t.minWidth&&n.setProperty(`--${o}-resize-min-w`,t.minWidth),t.maxWidth&&n.setProperty(`--${o}-resize-max-w`,t.maxWidth),t.minHeight&&n.setProperty(`--${o}-resize-min-h`,t.minHeight),t.maxHeight&&n.setProperty(`--${o}-resize-max-h`,t.maxHeight),r&&(n.setProperty(`--${o}-widget-w`,`${r.width}px`),n.setProperty(`--${o}-widget-h`,`${r.height}px`))},[e,t.minWidth,t.maxWidth,t.minHeight,t.maxHeight,o,r]),!e)return null;let c=n.startsWith(`top-`),l=n.endsWith(`-right`),d=`${o}-resize-grip ${o}-resize-grip--${c?`bottom`:`top`}-${l?`left`:`right`}`;function f(t){if(!e)return;let n=t.currentTarget,r=e.getBoundingClientRect();s.current={pointerId:t.pointerId,startX:t.clientX,startY:t.clientY,startW:r.width,startH:r.height,dirX:l?-1:1,dirY:c?1:-1},n.setPointerCapture(t.pointerId),e.setAttribute(`data-resizing`,``),t.preventDefault()}function m(t){let n=s.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(`--${o}-widget-w`,`${n.startW+r}px`),e.style.setProperty(`--${o}-widget-h`,`${n.startH+i}px`)}function h(t){let n=s.current;if(!n||t.pointerId!==n.pointerId||!e)return;t.currentTarget.releasePointerCapture(t.pointerId),e.removeAttribute(`data-resizing`);let r=e.getBoundingClientRect();i({width:Math.round(r.width),height:Math.round(r.height)}),s.current=null}return/* @__PURE__ */ g(`div`,{class:d,role:`separator`,"aria-orientation":`vertical`,"aria-label":a.resizeHandle,title:a.resizeHandle,onPointerDown:f,onPointerMove:m,onPointerUp:h,onPointerCancel:h,"data-testid":X.resizeGrip,children:/* @__PURE__ */ g(to,{})})}const $u=M.cssPrefix;function ed({suggestions:e,onPick:t,disabled:n=!1}){return e.length===0?null:/* @__PURE__ */ g(`div`,{class:`${$u}-suggestions`,role:`group`,"aria-label":`Suggested replies`,children:e.map((e,r)=>/* @__PURE__ */ g(`button`,{type:`button`,class:`${$u}-suggestion`,onClick:()=>t(e),disabled:n,"data-testid":Ho(X.suggestion,r),children:e.label},e.id))})}const td=M.cssPrefix,nd=`.${td}-header, .${td}-back-header, .${td}-home-hero`;function rd(e,t){u(()=>{if(!t||!e)return;function n(e){return Number.parseFloat(e)||0}function r(e,t){return Math.min(t,Math.max(-t,e))}let i=null,a=t=>{let r=t.target;if(!(r instanceof Element)||!r.closest(nd)||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(`--${td}-modal-dx`)),dy:n(e.style.getPropertyValue(`--${td}-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(`--${td}-modal-dx`,`${n}px`),e.style.setProperty(`--${td}-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 id({containerRef:e,onDrop:t,disabled:n=!1}){let[r,i]=m(!1);return u(()=>{if(n){i(!1);return}let r=e.current;if(!r)return;let a=0;function o(e){a+=1,e.dataTransfer?.types.includes(`Files`)&&(e.preventDefault(),i(!0))}function s(){--a,!(a>0)&&(a=0,i(!1))}function c(e){e.dataTransfer?.types.includes(`Files`)&&e.preventDefault()}function l(e){a=0,i(!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}}const ad=M.cssPrefix;function od(e){let{options:t,onClose:n}=e,r=t.strings,i=p(null);u(()=>{let e=i.current;if(!e)return;let t=Xo(e);function r(e){e.key===`Escape`&&n?.()}return e.addEventListener(`keydown`,r),()=>{t(),e.removeEventListener(`keydown`,r)}},[n]);let a=e.composerApiRef,o=e.composerActive&&e.view===`chat`&&e.canSend&&!e.activeForm&&!e.sendPreparing&&e.options.features.fileUpload,{visible:s}=id({containerRef:i,onDrop:l(e=>{o&&a.current?.attachFromDrop(e)},[a,o]),disabled:!o});return rd(i.current,t.mode===`modal`),/* @__PURE__ */ _(`div`,{ref:i,class:`${ad}-panel`,part:`panel`,role:`dialog`,"aria-modal":`false`,"aria-label":r.panelTitle,style:{position:`relative`},"data-testid":X.panel,children:[/* @__PURE__ */ g(sd,{...e,containerEl:i.current,dragOver:s}),/* @__PURE__ */ g(pd,{poweredBy:e.options.poweredBy})]})}function sd(e){let{options:t,transport:n,feedback:r,bus:i,persistence:a,conversationId:o,composerKey:c,panelSize:l,view:u,canSend:d,isStreaming:f,isMemoryCompacting:p,canReleaseQueuedMessages:m,queueManualMessages:v,sendPreparing:y,controlMode:b,assignedOperatorInitials:x,operatorAvailable:S,operatorRequestEnabled:C,onRequestOperator:w,onCancelOperatorRequest:T,loadingMessages:E,onLoadPreviousMessages:D,messagesSig:O,agent:k,suggestions:A,initialWidgetSize:j,onClose:M,onBack:ee,onClear:te,onToggleHistory:N,onSelectHistoryConversation:ne,onNewConversation:re,onWidgetSizeChange:P,onSend:ie,onStop:ae,onSuggestion:oe,activeForm:F,formMarkers:se,onFormSubmit:ce,onFormSkip:le,onFormFill:I,tool:ue,onRetry:de,onMessageFeedback:fe,containerEl:pe,dragOver:me,composerApiRef:he}=e,L=t.strings,ge=s(()=>O.value.some(e=>!e.ephemeral&&e.role!==`system`)).value,_e;return _e=F?null:d?/* @__PURE__ */ _(h,{children:[b&&b!==`ai-agent`?/* @__PURE__ */ g(ud,{controlMode:b,operatorInitials:x,operatorAvailable:S,onCancelOperatorRequest:T,strings:L}):null,p&&b===`ai-agent`?/* @__PURE__ */ _(`div`,{class:`${ad}-loading ${ad}-compaction-status`,role:`status`,"data-testid":X.compactionStatus,children:[/* @__PURE__ */ g(`span`,{class:`${ad}-loading-spinner`,"aria-hidden":`true`}),L.compactingContext]}):null,!f&&!p&&b===`ai-agent`&&/* @__PURE__ */ g(ed,{suggestions:A,onPick:oe,disabled:y}),/* @__PURE__ */ g(ic,{options:t,transport:n,feedback:r,bus:i,persistence:a,conversationId:o,isStreaming:f,pageToolRunning:e.pageToolRunning,isMemoryCompacting:p,canReleaseQueuedMessages:m,queueManualMessages:v,active:e.composerActive&&u===`chat`,isPreparing:y,operatorRequestEnabled:C,canRequestOperator:ge,controlMode:b,onRequestOperator:w,onSend:ie,onStop:ae,apiRef:he},c)]}):/* @__PURE__ */ g(ld,{label:L.conversationClosed,ctaLabel:L.startNewConversation,onNewConversation:te}),/* @__PURE__ */ _(h,{children:[u===`history`?/* @__PURE__ */ g(cd,{strings:L,onBack:N,onClose:M,showClose:Sa(t.mode,l,t.actions)}):/* @__PURE__ */ _(`header`,{class:`${ad}-header`,part:`header`,"data-testid":X.panelHeader,children:[ee?/* @__PURE__ */ g(`button`,{type:`button`,class:`${ad}-icon-btn`,onClick:ee,"aria-label":L.moduleBack,title:L.moduleBack,children:/* @__PURE__ */ g(uo,{})}):null,k?/* @__PURE__ */ g(Tc,{agent:k,strings:L}):/* @__PURE__ */ g(`h1`,{children:L.panelTitle}),/* @__PURE__ */ g(bs,{panelProps:e,variant:`chat`})]}),u===`history`?/* @__PURE__ */ g(Pc,{transport:n,strings:L,locale:t.locale,persistence:a,onSelect:ne,onNewConversation:re}):/* @__PURE__ */ _(h,{children:[/* @__PURE__ */ g(Ic,{visible:me,strings:L}),/* @__PURE__ */ g(Ju,{messagesSig:O,strings:L,responseMode:t.responseMode,showReasoning:t.showReasoning,showToolCalls:t.showToolCalls,showSources:t.showSources,enableMessageFeedback:t.enableMessageFeedback,onFeedback:fe,loading:E,onLoadPreviousMessages:D,idle:!f&&!y&&d&&!F,controlMode:b,tool:ue,onRetry:de,form:F?{form:F,onSubmit:ce,onSkip:le}:null,formMarkers:se,onFillForm:I}),_e,/* @__PURE__ */ g(fd,{disclaimer:t.composerDisclaimer})]}),t.size.resize?.enabled?/* @__PURE__ */ g(Qu,{panelEl:pe,resize:t.size.resize,position:t.position,initialSize:j,onSizeChange:P,strings:L}):null]})}function cd({strings:e,onBack:t,onClose:n,showClose:r}){return/* @__PURE__ */ _(`header`,{class:`${ad}-header`,part:`header`,children:[/* @__PURE__ */ g(`button`,{type:`button`,class:`${ad}-icon-btn`,onClick:t,"aria-label":e.historyBack,title:e.historyBack,children:/* @__PURE__ */ g(uo,{})}),/* @__PURE__ */ g(`h1`,{children:e.historyTitle}),r?/* @__PURE__ */ g(`button`,{type:`button`,class:`${ad}-icon-btn`,onClick:n,"aria-label":e.close,title:e.close,children:/* @__PURE__ */ g(Va,{})}):null]})}function ld({label:e,ctaLabel:t,onNewConversation:n}){return/* @__PURE__ */ _(`div`,{class:`${ad}-readonly-banner`,role:`note`,children:[/* @__PURE__ */ g(`span`,{class:`${ad}-readonly-label`,children:e}),/* @__PURE__ */ g(`button`,{type:`button`,class:`${ad}-readonly-cta`,onClick:n,children:t})]})}function ud({controlMode:e,operatorInitials:t,operatorAvailable:n,onCancelOperatorRequest:r,strings:i}){let a=dd(e,t,n,i);return/* @__PURE__ */ _(`div`,{class:`${ad}-operator-banner`,role:`status`,"data-mode":e,"data-testid":X.operatorBanner,children:[/* @__PURE__ */ g(`span`,{class:`${ad}-operator-pulse`,"aria-hidden":`true`}),/* @__PURE__ */ g(`span`,{class:`${ad}-operator-label`,children:a}),e===`awaiting-operator`&&r?/* @__PURE__ */ g(`button`,{type:`button`,class:`${ad}-cancel-operator-request`,"data-testid":X.cancelOperatorRequest,onClick:r,children:i.cancelOperatorRequest}):null]})}function dd(e,t,n,r){return e===`operator`?r.chattingWithOperator.replace(`{operator}`,t??``):n===!1?r.noOperatorAvailable:r.connectingOperator}function fd({disclaimer:e}){return e?/* @__PURE__ */ g(`div`,{class:`${ad}-composer-footer`,children:/* @__PURE__ */ g(`div`,{class:`${ad}-disclaimer`,children:e})}):null}function pd({poweredBy:e}){return e?/* @__PURE__ */ g(`div`,{class:`${ad}-poweredby-bar`,children:/* @__PURE__ */ g(md,{logoUrl:e.logoUrl,text:e.text,href:e.href})}):null}function md({logoUrl:e,text:t,href:n}){let r=/* @__PURE__ */ _(h,{children:[e?/* @__PURE__ */ g(`img`,{class:`${ad}-poweredby-logo`,src:e,alt:``,loading:`lazy`}):null,t?/* @__PURE__ */ g(`span`,{children:t}):null]});return n?/* @__PURE__ */ g(`a`,{class:`${ad}-poweredby`,href:n,target:`_blank`,rel:`noopener noreferrer`,children:r}):/* @__PURE__ */ g(`span`,{class:`${ad}-poweredby`,children:r})}const hd=M.cssPrefix;function gd({panelProps:e,enabledModules:t,nav:n,bus:r,hasUnread:i,latestNews:a,onSelectConversation:o,onStartNewConversation:c,onSetPanelSize:d}){let f=e.options,m=f.strings,h=p(null),v=p(/* @__PURE__ */ new Set);u(()=>{let t=h.current;if(!t)return;let n=Xo(t);function r(t){t.key===`Escape`&&e.onClose?.()}return t.addEventListener(`keydown`,r),()=>{n(),t.removeEventListener(`keydown`,r)}},[e.onClose]);let y=s(()=>n.sig.value).value,b=Na(y),x=f.modules.byId[y.activeTab],S=e.composerActive&&x?.layout===`chat`&&b===void 0,C=e.composerApiRef,w=S&&e.view===`chat`&&e.canSend&&!e.activeForm&&!e.sendPreparing&&e.options.features.fileUpload,{visible:T}=id({containerRef:h,onDrop:l(e=>{w&&C.current?.attachFromDrop(e)},[C,w]),disabled:!w});rd(h.current,f.mode===`modal`);let E=b?.kind===`iframe`||b?.kind===`content`,D=t.length>1&&(Pa(y)||!E),O=p(null);u(()=>{if(E&&O.current===null)O.current=e.panelSize,e.panelSize===`normal`&&d(`expanded`);else if(!E&&O.current!==null){let e=O.current;O.current=null,d(e)}},[E]);let k={push:e=>n.push(e),pop:()=>n.pop(),switchTab:e=>n.switchTab(e),switchToLayout:e=>{let r=t.find(t=>t.layout===e);r&&n.switchTab(r.id)},selectConversation:o,startNewConversation:c};function A(t){return{options:f,transport:e.transport,strings:m,config:t,nav:k,bus:r,panelProps:e,latestNews:a}}let j=/* @__PURE__ */ g(bs,{panelProps:e,variant:`plain`});x&&v.current.add(x.id);let M=t.filter(e=>v.current.has(e.id));function ee(t){if(t.layout===`chat`)return/* @__PURE__ */ g(sd,{...e,composerActive:S,containerEl:h.current,dragOver:T});let n=yc[t.layout].Root;return n?/* @__PURE__ */ g(n,{...A(t)}):null}function te(){return b?.kind===`iframe`?/* @__PURE__ */ g(Cc,{url:b.url,title:b.title,strings:m,onBack:()=>n.pop(),actions:j}):b?.kind===`content`?/* @__PURE__ */ g(ds,{id:b.id,title:b.title,transport:e.transport,strings:m,bus:r,onBack:()=>n.pop(),actions:j}):null}return/* @__PURE__ */ _(`div`,{ref:h,class:`${hd}-panel ${hd}-messenger`,part:`panel`,role:`dialog`,"aria-modal":`false`,"aria-label":m.panelTitle,style:{position:`relative`},"data-testid":X.messengerHome,children:[/* @__PURE__ */ _(`div`,{class:`${hd}-messenger-body`,children:[M.map(e=>/* @__PURE__ */ g(`div`,{class:`${hd}-messenger-pane`,hidden:E||e.id!==x?.id,children:ee(e)},e.id)),te()]}),D?/* @__PURE__ */ g(xc,{modules:t,activeTab:y.activeTab,strings:m,hasUnread:i,onSelect:e=>n.switchTab(e)}):null,/* @__PURE__ */ g(pd,{poweredBy:f.poweredBy}),f.size.resize?.enabled&&(x?.layout!==`chat`||b)?/* @__PURE__ */ g(Qu,{panelEl:h.current,resize:f.size.resize,position:f.position,initialSize:e.initialWidgetSize,onSizeChange:e.onWidgetSizeChange,strings:m}):null]})}const _d=M.cssPrefix;function vd({strings:e,onClose:t}){return/* @__PURE__ */ _(`div`,{class:`${_d}-panel ${_d}-modules-empty`,part:`panel`,role:`dialog`,"aria-label":e.panelTitle,"data-testid":X.modulesEmpty,children:[t?/* @__PURE__ */ g(`button`,{type:`button`,class:`${_d}-icon-btn ${_d}-modules-empty-close`,onClick:t,"aria-label":e.close,title:e.close,children:/* @__PURE__ */ g(Va,{})}):null,/* @__PURE__ */ g(`p`,{class:`${_d}-modules-empty-text`,children:e.modulesEmpty})]})}function yd(e){let t=M.cssPrefix,{site:n,blocks:r,strings:i,collapsed:a}=e,o=r?.navigation??[],s=r?.linkCards??[],c=a?i.expandSidebar:i.collapseSidebar;return/* @__PURE__ */ _(`aside`,{class:`${t}-sidebar`,"data-collapsed":a?`true`:`false`,"data-testid":X.sidebar,children:[/* @__PURE__ */ _(`div`,{class:`${t}-sidebar-header`,children:[/* @__PURE__ */ g(bd,{site:n}),/* @__PURE__ */ g(`button`,{type:`button`,class:`${t}-sidebar-toggle`,"aria-label":c,"aria-expanded":a?`false`:`true`,title:c,onClick:e.onToggleCollapsed,"data-testid":X.sidebarToggle,children:/* @__PURE__ */ g(xd,{collapsed:a})})]}),a?null:/* @__PURE__ */ _(h,{children:[o.length>0?/* @__PURE__ */ g(`nav`,{class:`${t}-sidebar-section`,"data-section":`navigation`,children:/* @__PURE__ */ g(Sd,{items:o})}):null,s.length>0?/* @__PURE__ */ g(`div`,{class:`${t}-sidebar-section`,"data-section":`link-cards`,children:/* @__PURE__ */ g(Cd,{items:s})}):null,e.showConversations?/* @__PURE__ */ g(`div`,{class:`${t}-sidebar-conversations`,children:/* @__PURE__ */ g(Pc,{transport:e.transport,strings:e.strings,locale:e.locale,persistence:e.persistence,onSelect:e.onSelectConversation,onNewConversation:e.onNewConversation})}):null]})]})}function bd({site:e}){let t=M.cssPrefix;if(e?.logo?.url){let n=e.logo.alt??e.title??`Logo`;return/* @__PURE__ */ _(`picture`,{children:[e.logoDark?.url?/* @__PURE__ */ g(`source`,{srcset:e.logoDark.url,media:`(prefers-color-scheme: dark)`}):null,/* @__PURE__ */ g(`img`,{class:`${t}-sidebar-logo`,src:e.logo.url,alt:n})]})}return/* @__PURE__ */ g(`div`,{class:`${t}-sidebar-title`,children:e?.title??M.name})}function xd({collapsed:e}){return/* @__PURE__ */ g(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"aria-hidden":`true`,children:e?/* @__PURE__ */ g(`polyline`,{points:`9 6 15 12 9 18`}):/* @__PURE__ */ g(`polyline`,{points:`15 6 9 12 15 18`})})}function Sd({items:e}){let t=M.cssPrefix;return/* @__PURE__ */ g(`ul`,{class:`${t}-sidebar-nav`,children:e.map(e=>/* @__PURE__ */ g(`li`,{children:/* @__PURE__ */ _(`a`,{class:`${t}-sidebar-nav-item`,href:e.href,target:e.href?`_blank`:void 0,rel:e.href?`noreferrer`:void 0,children:[e.icon?/* @__PURE__ */ g(`span`,{class:`${t}-sidebar-nav-icon`,"data-icon":e.icon}):null,/* @__PURE__ */ g(`span`,{class:`${t}-sidebar-nav-label`,children:e.label})]})},e.id??e.label))})}function Cd({items:e}){let t=M.cssPrefix;return/* @__PURE__ */ g(`div`,{class:`${t}-sidebar-cards`,children:e.map(e=>/* @__PURE__ */ _(`a`,{class:`${t}-sidebar-card`,href:e.href,target:e.href?`_blank`:void 0,rel:e.href?`noreferrer`:void 0,children:[/* @__PURE__ */ g(`div`,{class:`${t}-sidebar-card-label`,children:e.label}),e.description?/* @__PURE__ */ g(`div`,{class:`${t}-sidebar-card-desc`,children:e.description}):null]},e.id??e.label))})}const wd=M.cssPrefix;function Td(e){return/* @__PURE__ */ _(`main`,{class:`${wd}-page-shell`,"data-sidebar-collapsed":e.sidebarCollapsed?`true`:`false`,children:[/* @__PURE__ */ g(yd,{site:e.site,blocks:e.blocks,transport:e.transport,strings:e.strings,locale:e.locale,persistence:e.persistence,showConversations:e.showConversations,onSelectConversation:e.onSelectConversation,onNewConversation:e.onNewConversation,collapsed:e.sidebarCollapsed,onToggleCollapsed:e.onToggleSidebarCollapsed}),/* @__PURE__ */ g(`section`,{class:`${wd}-page-chat`,"aria-label":e.strings.panelTitle,children:e.children})]})}const Ed=R.scope(`hitl`);function Dd(e){return e.kind===`tool`&&Ll(e.toolMetadata)&&(e.stateSig.value===`input-available`||e.stateSig.value===`approval-responded`&&e.approvalSig.value?.approved===!0)}function Od(e,t){t.errorSig.value=Ul(t.toolCallId),t.stateSig.value=`output-error`,e.partsSig.value=[...e.partsSig.value]}function kd(e,t){let n=e.slice(0,e.indexOf(t)).findLast(e=>e.role===`user`);return n!==void 0&&xl.sentHere(n.id)}function Ad(e){let{streaming:t,controlModeSig:n,messagesSig:r,sendAiTurn:i,bus:a,humanInLoop:o,tools:s}=e,c=p(t);c.current=t;let d=p(s);d.current=s;let h=p(/* @__PURE__ */ new Map),[g,_]=m(!1),v=l((e,t,a)=>{if(c.current||n.value!==`ai-agent`)return!1;let o=r.value.at(-1),s=o?.partsSig.value.findIndex(t=>t.kind===`tool`&&t.toolCallId===e)??-1,l=o?.partsSig.value[s];if(!o||l?.kind!==`tool`)return Ed.warn(`decideTool: tool part not found`,{toolCallId:e}),!1;if(o.status!==`complete`||!ji(o,s)||!t(l))return!1;if(a(l),o.partsSig.value=[...o.partsSig.value],!ki(o)||o.partsSig.value.some(Dd))return!0;o.status=`streaming`,o.retryAction={kind:`continue-assistant`,messageId:o.serverMessageId??o.id},o.awaitingContinuation=!0,r.value=[...r.value];let u=o.partsSig.value.flatMap(e=>e.kind===`tool`?[e.toolCallId]:[]);return i({continueExisting:!0}).then(e=>e&&xl.clear(u)),!0},[n,r,i]),y=l((e,t)=>{let{toolCallId:n,toolName:r}=t;h.current.has(n)||(h.current.set(n,e),_(!0),Vl({toolCallId:n,toolName:r,input:t.inputSig.value,optionTools:d.current??[],onSettled:(e,t)=>{Ed.info(`toolResult`,{toolCallId:n,status:e}),a.emit(`toolResult`,{toolCallId:n,name:Rl(r),status:e,durationMs:t})}}).then(e=>{h.current.delete(n)&&(_(h.current.size>0),v(n,Dd,t=>{e.state===`output-available`?t.outputSig.value=e.output:t.errorSig.value=e.errorText,t.stateSig.value=e.state}))}))},[a,v]),b=l(()=>{let e=r.value;for(let[t,n]of h.current){let r=e.findIndex(e=>e.id===n);r<0||r===e.length-1||(h.current.delete(t),Wl(t),_(h.current.size>0))}let t=e.at(-1);if(c.current||t?.role!==`assistant`||t.status!==`complete`)return;let n=t.partsSig.value.filter(e=>Dd(e)&&e.stateSig.value===`input-available`);if(n.length!==0&&kd(e,t))for(let e of n)xl.get(e.toolCallId)?.state===`stopped`?Od(t,e):y(t.id,e)},[r,y]);u(()=>b(),[t,b]),u(()=>r.subscribe(()=>b()),[r,b]);let x=l((e,t,n)=>{let i=!1,o;if(!v(e,e=>e.stateSig.value===`approval-requested`,r=>{Ll(r.toolMetadata)&&(o=r),i=tl(r.toolName);let a=r.approvalSig.value?.id??e;r.approvalSig.value={id:a,approved:t,reason:n},r.stateSig.value=`approval-responded`}))return;let s=r.value.at(-1);o&&t&&s&&y(s.id,o),o&&!t&&a.emit(`toolResult`,{toolCallId:e,name:Rl(o.toolName),status:`declined`,durationMs:0}),i?(Ed.info(`toolResult`,{toolCallId:e}),a.emit(`toolResult`,{toolCallId:e})):(Ed.info(`toolDecision`,{toolCallId:e,approved:t}),a.emit(`toolDecision`,{toolCallId:e,approved:t}))},[a,v,r,y]),S=l(e=>{v(e,e=>e.stateSig.value===`approval-responded`&&e.approvalSig.value?.approved!==void 0&&!Dd(e),t=>{let n=t.approvalSig.value?.id??e;t.approvalSig.value={id:n},t.stateSig.value=`approval-requested`})},[v]);return{toolInteraction:f(()=>({humanInLoop:o,onDecision:x,onEdit:S}),[o,x,S]),pageToolsRunning:g,stopPageTools:l(()=>{let e=r.value.at(-1);for(let t of h.current.keys()){let n=e?.partsSig.value.find(e=>e.kind===`tool`&&e.toolCallId===t);e&&n?Od(e,n):Ul(t),Ed.info(`toolResult`,{toolCallId:t,status:`stopped`}),a.emit(`toolResult`,{toolCallId:t,name:n?Rl(n.toolName):void 0,status:`stopped`,durationMs:0})}h.current.clear(),_(!1)},[a,r])}}const jd=R.scope(`latest-news`);function Md({transport:e,options:t,persistence:n,enabled:r}){let i=t.modules.list.find(e=>e.layout===`news`)?.contentCollectionIds,a=i?.join(`,`),[o,s]=m(),[c,d]=m(()=>n.loadSeenNewsId());u(()=>{if(!r||!i?.length)return;let t=!1;return e.listContent({contentCollectionIds:i,sortBy:`publishedAt`,sortOrder:`desc`,limit:1}).then(e=>{t||s(e.items[0])}).catch(e=>jd.debug(`listContent (latest news) failed (non-fatal)`,{err:e})),()=>{t=!0}},[e,r,a]);let f=l(e=>{n.saveSeenNewsId(e),d(e)},[n]);return{item:o,unseen:o!==void 0&&o.id!==c,markSeen:f}}function Nd({callout:e,persistence:t}){let n=e?.text??``,r=e?.persistent??!0,[i,a]=m(()=>!r&&t.loadCalloutDismissed(n));return u(()=>{a(!r&&t.loadCalloutDismissed(n))},[n,r,t]),{dismissed:i,dismissCallout:l(()=>{a(!0),r||t.saveCalloutDismissed(n)},[t,n,r])}}function Pd(e){let{transport:t,conversationIdSig:n}=e,r=c(`ai-agent`),i=c(void 0),a=c(void 0),o=p(void 0),s=l(e=>{let t=e.controlRevision,s=o.current;s&&s.conversationId===n.value&&t<s.revision||(o.current={conversationId:n.value,revision:t},r.value=e.controlMode,i.value=e.assignedOperatorInitials,e.controlMode===`awaiting-operator`?e.operatorAvailable!==void 0&&(a.value=e.operatorAvailable):a.value=void 0)},[n,r,i,a]);return{controlModeSig:r,assignedOperatorInitialsSig:i,operatorAvailableSig:a,applyControlState:s,adoptControlStateChunk:l(e=>{if(e.type!==`data-control-state`)return;let t=ii(e.data);t&&s(t)},[s]),requestOperator:l(async()=>{let e=n.value,r=await t.requestOperator();r&&n.value===e&&s(r)},[t,n,s]),cancelOperatorRequest:l(async()=>{let e=n.value,r=await t.cancelOperatorRequest();r&&n.value===e&&s(r)},[t,n,s])}}const Fd=M.cssPrefix,Id=`--${Fd}-visual-viewport-height`,Ld=`--${Fd}-visual-viewport-top`;function Rd(e){let{hostElement:t,mode:n,panelSize:r,isOpen:i,surfaceReady:a,setIsOpen:o}=e;d(()=>{Rt(t,Fa(n,r,i))},[t,i,r,n]),d(()=>{if(!i||!a)return;let e=t.ownerDocument.defaultView,n=e?.visualViewport,r=t.shadowRoot?.querySelector(`.${Fd}-anchor`);if(!e||!n||!r)return;let o=()=>{r.style.setProperty(Id,`${n.height}px`),r.style.setProperty(Ld,`${n.offsetTop}px`)},s=0,c=()=>{e.cancelAnimationFrame(s),s=e.requestAnimationFrame(()=>{s=e.requestAnimationFrame(o)})};return o(),n.addEventListener(`resize`,c),n.addEventListener(`scroll`,c),()=>{e.cancelAnimationFrame(s),n.removeEventListener(`resize`,c),n.removeEventListener(`scroll`,c),r.style.removeProperty(Id),r.style.removeProperty(Ld)}},[t,i,a]),u(()=>{if(n!==`modal`||!i)return;function e(e){e.composedPath().some(e=>e instanceof HTMLElement&&e.classList.contains(`${Fd}-panel`))||o(!1)}return t.addEventListener(`click`,e),()=>t.removeEventListener(`click`,e)},[t,i,n,o]),u(()=>{if(n!==`drawer`||!i)return;function e(e){e.key===`Escape`&&o(!1)}return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[i,n,o])}const zd=R.scope(`reducer`);var Bd=class{constructor(e,t){this.messagesSig=e,this.onReconcileNeeded=t,B(this,`active`,null),B(this,`openTextParts`,/* @__PURE__ */ 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=di();n.id=e.id;let r=Hd(e)||Ai(e)&&(e.status!==`streaming`||ki(e)),i=e.status===`streaming`&&ki(e)&&Oi(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,Ud(a,i),e.liveCatchUp&&Hd(e.shadow)&&(i.status===`streaming`||Ai(i))?(e.probeContinuation=!1,e.continuationTailReplay=!1,e):(e.probeContinuation=Hd(i)||Ai(i)&&(i.status!==`streaming`||ki(i)),e.continuationTailReplay=i.status===`streaming`&&ki(i)&&Oi(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;Ud(e,i);let a=Hd(e)&&Ai(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 r(()=>{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.messagesSig.value=[...this.messagesSig.value]}),this.replay=null,this.active=e,e}promoteContinuation(e=!1){let{baseline:t,chunks:n}=this.replay,i=Mi(t);return this.replay=null,r(()=>{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=i||void 0,this.messagesSig.value=[...this.messagesSig.value]}),t}settleOwnedContinuation(e){let{baseline:t}=this.replay,n=Mi(t);return this.replay=null,r(()=>{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}),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&&!Ci(a))return this.attach(a),this.apply(e),null;let o=di();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(!qd(n,r,e))return s&&(Zd(n,r)&&(n.continuationStreaming=!0,this.messagesSig.value=[...this.messagesSig.value],this.onReconcileNeeded?.({messageId:n.serverMessageId??n.id})),this.detach()),null;let t=Hd(n)&&s?this.settleOwnedContinuation(e):this.promoteContinuation();return s?(t.continuationStreaming&&(e.type===`finish`?this.onReconcileNeeded?.({messageId:t.serverMessageId??t.id}):t.continuationStreaming=!1),this.detach(),t):null}if(a&&Gd(n,r)){let e=this.promoteContinuation(!0);return s?(this.detach(),e):null}if(!o)return s&&this.detach(),null;if(s&&!Ci(n)&&Ci(r)){let e=this.promoteReplay();return this.detach(),e}if(!Wd(n,r))return s&&(this.onReconcileNeeded?.({messageId:n.serverMessageId??n.id}),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}):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:o(``),doneSig:o(!1)};return this.openTextParts.set(r,a),$d(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`:$d(t,{kind:`step-start`,id:`ss-${this.partSeq++}`});return;case`finish`:zd.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`:zd.warn(`stream error chunk`,{errorText:e.errorText}),t.status=`error`,t.errorText=e.errorText,this.bumpDone(t);return;case`abort`:zd.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`:tf(t,e);return;case`file`:$d(t,{kind:`file`,url:e.url,mediaType:e.mediaType});return;case`source-url`:ef(t,{kind:`source`,sourceId:e.sourceId,url:e.url,title:e.title});return;case`source-document`:ef(t,{kind:`source`,sourceId:e.sourceId,title:e.title,filename:e.filename,mediaType:e.mediaType});return;case`data-suggestions`:t.suggestions=oi(e.data);return;case`data-control-state`:t.operatorRoutedTurn=e.data.controlMode!==`ai-agent`;return;case`data-memory-compaction-state`:return}}bumpDone(e){r(()=>{e.partsSig.value=[...e.partsSig.value],this.messagesSig.value.includes(e)&&(this.messagesSig.value=[...this.messagesSig.value])})}};const Vd={"input-streaming":0,"input-available":1,"approval-requested":2,"approval-responded":3,"output-available":4,"output-denied":4,"output-error":4};function Hd(e){return e.awaitingContinuation===!0||e.continuationStreaming===!0||e.retryAction?.kind===`continue-assistant`}function Ud(e,t){e.canceled&&(t.canceled=!0),Hd(e)&&(t.status===`streaming`||Ai(t))&&(t.awaitingContinuation??(t.awaitingContinuation=e.awaitingContinuation),t.continuationStreaming??(t.continuationStreaming=e.continuationStreaming),t.retryAction===void 0&&(t.retryAction=e.retryAction))}function Wd(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)=>Kd(e,r[t]))}function Gd(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)=>Kd(e,a[t]))}function Kd(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||!Hi(t.toolName,e.toolName)||Vd[t.stateSig.value]<Vd[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 qd(e,t,n){return Jd(e,n)||!Yd(e,t)?!0:n.type!==`finish`&&n.type!==`error`&&n.type!==`abort`?!1:Oi(t)||e.awaitingContinuation===!0&&n.type!==`finish`?!0:e.awaitingContinuation===!0&&t.partsSig.value.every(e=>e.kind===`step-start`)}function Jd(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&&Vd[n.stateSig.value]<4}function Yd(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)=>Xd(r[t+n],e)))}function Xd(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`||Hi(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 Zd(e,t){if(Hd(e)||!Ai(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 Qd(e,t,n,r,i){let a=e.partsSig.value.find(e=>e.kind===`tool`&&e.toolCallId===t);if(a)return r&&(a.dynamic=!0),a.toolMetadata??(a.toolMetadata=i),a;let s={kind:`tool`,toolCallId:t,toolName:n??`tool`,dynamic:r?!0:void 0,toolMetadata:i,inputPartialSig:o(``),inputSig:o(void 0),outputSig:o(void 0),errorSig:o(void 0),stateSig:o(`input-streaming`),approvalSig:o(void 0)};return $d(e,s),s}function $d(e,t){e.partsSig.value=[...e.partsSig.value,t]}function ef(e,t){e.partsSig.value.some(e=>e.kind===`source`&&e.sourceId===t.sourceId)||$d(e,t)}function tf(e,t){switch(t.type){case`tool-input-start`:Qd(e,t.toolCallId,t.toolName,t.dynamic,t.toolMetadata);return;case`tool-input-delta`:{let n=Qd(e,t.toolCallId);n.inputPartialSig.value+=t.inputTextDelta;return}case`tool-input-available`:{let n=Qd(e,t.toolCallId,t.toolName,t.dynamic,t.toolMetadata);n.inputSig.value=t.input,n.stateSig.value=`input-available`;return}case`tool-input-error`:{let n=Qd(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=Qd(e,t.toolCallId,t.toolName);n.approvalSig.value={id:t.approvalId},n.stateSig.value=`approval-requested`;return}case`tool-output-available`:{let n=Qd(e,t.toolCallId,void 0,t.dynamic);n.outputSig.value=t.output,n.stateSig.value=`output-available`;return}case`tool-output-error`:{let n=Qd(e,t.toolCallId,void 0,t.dynamic);n.errorSig.value=t.errorText,n.stateSig.value=`output-error`;return}case`tool-output-denied`:{let n=Qd(e,t.toolCallId);n.stateSig.value=`output-denied`;return}default:return}}const nf=1e3;async function rf(e){let t=nf,n=!1,r=!1,i=!1;function a(){i||e.signal.aborted||(i=!0,e.onInitialBoundaryReady())}for(;!e.signal.aborted;){let o,s=`held`;try{s=await e.connect(()=>{if(e.signal.aborted)return;o=e.now();let t=n||r;n=!0,r=!1,i?t&&e.backfill():a()})}catch{}if(e.signal.aborted||(!n&&o===void 0&&(r=!0,a()),s===`unavailable`))return;o!==void 0&&e.now()-o>=1e3&&(t=nf),await e.sleep(t),t=Math.min(t*2,15e3)}}function af(e){let{activated:t,conversationReady:n,conversationIdSig:r,messagesSig:i,optionsRef:a,transport:o,visitorId:s,adoptControlStateChunk:c,adoptMemoryCompactionStateChunk:l,settleSuggestions:d,recordConversationReply:f,transcriptRecoverySig:m,beginConversationTranscript:h,commitConversationTranscript:g,onReplyLanded:_,runCancellation:v,canContinueRef:y,setCanSend:b,feedback:x,bus:S,loadInitialThread:C,shouldReconcileOnConnect:w}=e,T=p(0);u(()=>{if(!t||!n||!r.value)return;let e=r.value,u=new AbortController,p=e=>{},E=new Bd(i,e=>p(e));o.primeIdentity(s,e);let D=!1,O=!1,k,A=!1,j,M=0,ee=y.current,te,N,ne=Date.now(),re,P=!1,ie=!1;function ae(t,n,r){if(!Ci(t))return;let o=i.value.findLast(e=>!e.ephemeral),s=t.serverMessageId??t.id;if(!(o&&(o.serverMessageId??o.id)!==s))return Si(i.value,t,e,a.current.strings.newConversation,n,r)}function oe(e,t,n,r){let i=ae(e,t,r);if(!i)return;let a=`${e.serverMessageId??e.id}:${n}:${i.preview??``}`;a!==N&&(N=a,o.publishConversation({...i,hasUnread:!0},!0))}let F;function se(){F&&(clearTimeout(F.timer),F=void 0)}function ce(){let e=F;if(!e)return;clearTimeout(e.timer),F=void 0;let t=i.value.find(t=>(t.serverMessageId??t.id)===e.replyId);(t?.role===`assistant`||t?.role===`operator`)&&oe(t,e.canContinue,e.generation,e.activityAt)}function le(e,t,n,r){se(),F={replyId:e.serverMessageId??e.id,canContinue:t,generation:n,activityAt:r,timer:setTimeout(ce,120)}}function I(e,t,n,r=Date.now(),i=!0){se();let a=ae(e,t,r);if(!a)return;let o=`${e.serverMessageId??e.id}:${n}`;o!==te&&(te=o,f(a),i&&re&&(P=!0))}function ue(e,t){(e||!v.localSendRef.current)&&v.settle(t),e&&_()}function de(e,t=[],n=!1,r,o=ee,s=M,c=Date.now(),l=!0){let u=a.current;if(e.canceled){I(e,o,s,c,l),ue(n,r);return}let f=!0,p=e.status===`error`;switch(Ji(e,p)){case`drop`:i.value=i.value.filter(t=>t!==e),f=!1;break;case`complete-operator-routed`:e.status=`complete`,n&&(x.play(`messageReceived`),wa(S,u,`assistant`,xi(e)));break;case`error`:if(e.status=`error`,e.errorText=u.strings.errorGeneric,n){x.play(`error`);let e=/* @__PURE__ */ Error(p?`stream error chunk`:`empty reply`);S.emit(`error`,e),u.onError?.(e)}break;case`complete`:e.status=`complete`,n&&(x.play(`messageReceived`),wa(S,u,`assistant`,xi(e))),d(e,t)}f&&I(e,o,s,c,l),ue(n,r)}function fe(t){if(u.signal.aborted||r.value!==e)return;if(c(t),l?.(t),t.type===`start`){ce();let n=t.messageId===void 0?void 0:i.value.find(e=>e.serverMessageId===t.messageId||e.id===t.messageId);A=n!==void 0&&n.status!==`streaming`;let r=j?.senderRole===`visitor`?j.messageId:void 0;if(j={messageId:t.messageId,senderRole:t.messageMetadata?.senderRole},M+=1,ne=Date.now(),N=void 0,D=t.messageMetadata?.senderRole===void 0,O=!1,k=D?t.messageMetadata?.runId:void 0,D){let n=t.messageId!==void 0&&i.value.some(e=>e.serverMessageId===t.messageId||e.id===t.messageId),a=i.value.at(-1),o=t.messageId!==void 0&&(a?.serverMessageId===t.messageId||a?.id===t.messageId),s=v.localSendRef.current&&(!n||o)&&a?.role===`assistant`&&a.status===`streaming`&&(o||a.serverMessageId===void 0&&a.partsSig.value.length===0);O=v.captureStart(e,t,s,r)}}let n=D&&(t.type===`finish`||t.type===`error`||t.type===`abort`),o=n?k:void 0,s=n&&(O||v.ownsLocalRun(o)),d=M,f=A;t.type===`finish`&&t.canContinue!==void 0&&(ee=t.canContinue);let p=ee;n&&(D=!1,O=!1,k=void 0);let m=E.applyResume(t),h=j?.messageId,g=h===void 0?void 0:i.value.find(e=>e.serverMessageId===h||e.id===h);A&&j?.senderRole!==`visitor`&&(m!==null||g?.status===`streaming`)&&(A=!1,f=!1);let _=!A&&(g?.role===`assistant`||g?.role===`operator`);t.type===`text-delta`&&_&&le(g,ee,M,ne),t.type===`text-end`&&(se(),_&&oe(g,ee,M,ne)),t.type===`finish`&&t.canContinue===!1&&b(!1),m?m.role===`operator`?(f||(x.play(`messageReceived`),wa(S,a.current,`operator`,xi(m))),I(m,p,d,ne),A=!1,n&&(s||!v.localSendRef.current)&&v.settle(o)):m.role===`assistant`&&(de(m,[],s,o,p,d,ne),A=!1):n&&(s||!v.localSendRef.current)&&v.settle(o)}async function pe(t){let n=M,a=await o.loadConversation(e,t?{ids:[t]}:void 0).catch(()=>null);if(u.signal.aborted||r.value!==e||!a)return!1;a.controlState&&c({type:`data-control-state`,data:a.controlState});let s=i.value.at(-1),l=n===M&&(t===void 0||s!==void 0&&(s.serverMessageId===t||s.id===t));if(a.messages.length===0)return!0;l&&(ee=a.canContinue,b(ee));let f=i.value,p=t===void 0?f.at(-1):f.find(e=>e.serverMessageId===t||e.id===t),{messages:m,changed:h}=zi(f,vi(a.messages));if(!h)return!0;i.value=m;let g=t===void 0?m.at(-1):m.find(e=>e.serverMessageId===t||e.id===t),_=p!==void 0&&g!==void 0&&(p.id===g.id||p.serverMessageId!==void 0&&p.serverMessageId===g.serverMessageId),y=g!==void 0&&g.status!==`streaming`&&(!_||p?.status===`streaming`),x=_&&p?.status===`streaming`?Date.now():g?.createdAt;return l&&y&&g.role===`assistant`?de(g,g.suggestions??[],v.localSendRef.current,void 0,a.canContinue,n,x,!1):l&&y&&g.role===`operator`?I(g,a.canContinue,n,x,!1):l&&g?.role===`assistant`&&g.status!==`streaming`&&d(g,g.suggestions??[]),!0}let me=/* @__PURE__ */ new Set;p=({messageId:e})=>{if(me.has(e)||!i.value.some(t=>t.serverMessageId===e||t.id===e))return;me.add(e);function t(){return me.delete(e)}pe(e).then(t,t)};function he(t=!1){if(u.signal.aborted||r.value!==e){P=!1;return}if(re){P=!0;return}let n=t?C(e)??(w()?pe():void 0):pe();if(!n)return;h(e),re=n;function i(t=!1){re===n&&(re=void 0,P?(P=!1,he()):t&&g(e))}n.then(i,()=>i(!1))}let L=m.subscribe(e=>{e<=T.current||(T.current=e,ie&&he())});return rf({signal:u.signal,now:()=>performance.now(),sleep:e=>Zi(e,u.signal),connect:e=>o.connectResumeStream({signal:u.signal,onChunk:fe,onConnected:e}),onInitialBoundaryReady:()=>{ie=!0,he(!0)},backfill:()=>he()}),()=>{u.abort(),se(),L(),E.detach()}},[t,n,r,r.value,s,o,c,l,d,f,m,h,g,_,v,y,b,i,S,x,C,w])}function of(e){let{transport:t,setStreaming:n}=e,r=p(void 0),i=p(void 0),a=p(!1),o=p(void 0),s=p(!1),c=p(/* @__PURE__ */ new Map),u=p(/* @__PURE__ */ new Set),d=l((e,n)=>{let r=`${e}:${n}`;o.current!==r&&(o.current=r,t.cancelTurn(e,n))},[t]),m=l(e=>{r.current=void 0,i.current=e,a.current=!1,o.current=void 0,s.current=!0,n(!0)},[n]),h=l((e,t)=>{c.current.set(e,{messageId:t})},[]),g=l(e=>{e!==void 0&&(u.current.add(e),u.current.size>32&&u.current.delete(u.current.values().next().value)),(e===void 0||r.current?.runId===e)&&(r.current=void 0,i.current=void 0,a.current=!1,s.current=!1,n(!1))},[n]),_=l((e,t)=>i.current===e?(i.current=void 0,t.runId?(r.current={conversationId:t.conversationId,runId:t.runId},n(!0),a.current&&d(t.conversationId,t.runId),!0):(g(),!0)):t.runId&&r.current?.runId===t.runId?(r.current={conversationId:t.conversationId,runId:t.runId},a.current&&d(t.conversationId,t.runId),!0):!1,[d,n,g]),v=l((e,t)=>{let l=c.current.get(e);return l?(c.current.delete(e),!t.runId||u.current.has(t.runId)?!0:l.runId===void 0?(s.current||i.current||(r.current={conversationId:t.conversationId,runId:t.runId},i.current=void 0,a.current=!1,o.current=void 0,s.current=!0,n(!0)),!0):(l.runId===t.runId&&r.current?.runId===t.runId&&(r.current={conversationId:t.conversationId,runId:t.runId},a.current&&d(t.conversationId,t.runId)),!0)):!1},[d,n]),y=l(e=>i.current===e&&(g(),!0),[g]),b=l(e=>{let t=c.current.get(e);return t?(c.current.delete(e),t.runId===void 0):!1},[]),x=l((e,t,l,f)=>{let p=t.messageMetadata?.runId;if(t.messageMetadata?.senderRole!==void 0||typeof p!=`string`||!p||u.current.has(p))return!1;if(r.current?.runId===p)return s.current;if(s.current)return r.current||!l?!1:(i.current=void 0,r.current={conversationId:e,runId:p},n(!0),a.current&&d(e,p),!0);let m=[...c.current.values()].filter(e=>e.runId===void 0).find(e=>e.messageId===f);return m?(m.runId=p,r.current={conversationId:e,runId:p},i.current=void 0,a.current=!1,o.current=void 0,s.current=!0,n(!0),!0):(i.current=void 0,r.current={conversationId:e,runId:p},n(!0),a.current&&d(e,p),s.current)},[d,n]),S=l(e=>typeof e==`string`&&r.current?.runId===e&&s.current,[]),C=l(()=>{let e=r.current;if(e)return a.current=!0,d(e.conversationId,e.runId),!0;let t=i.current;return t?(a.current=!0,t.then(e=>{e.runId&&d(e.conversationId,e.runId)}).catch(()=>void 0),!0):!1},[d]);return f(()=>({localSendRef:s,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 sf=R.scope(`send`);function cf(e,t,n,r,i,a=!0){e.publishConversation({...Si(t,n,r,i,a),hasUnread:!1},!0)}function lf(e,t){return e.id===t.id||(e.serverMessageId??e.id)===(t.serverMessageId??t.id)}function uf(e){return e.findLast(e=>!e.ephemeral&&e.role!==`system`&&(e.role===`user`||e.status!==`streaming`||Ci(e)))}function df(e,t,n,r,i){let a=uf(t);a?.role===`user`&&lf(a,n)&&cf(e,t,a,r,i)}function ff(e){return!(e instanceof ta)||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 pf(e){let{transport:t,messagesSig:n,conversationIdSig:r,options:i,bus:a,feedback:o,persistence:s,visitorId:c,adoptConversationId:u,applyControlState:d,setCanSend:f,settleSuggestions:p,runCancellation:m}=e,h=l(()=>{let e=r.value??lt();return r.value||(r.value=e,s.saveConversationId(e)),e},[r,s]);return{sendAiTurn:l(async({continueExisting:e,turn:l})=>{let g=h(),_=n.value.at(-1),v=l?[l]:yi(n.value,e),y=v[0];y?.role===`user`&&xl.markSent(y.id);let b=v.map(bi),x=s.loadUserPrefs(),S=Fl(i.tools).then(n=>t.sendTurn(si({messages:b,conversationId:g,visitorId:c,userPrefs:x,clientTools:Il(n)}),{keepalive:e}));m.begin(S);try{let a=await S;if(r.value!==g||!m.acceptAck(S,a))return!1;if(u(a.conversationId),a.runId&&y?.role===`user`&&df(t,n.value,y,a.conversationId,i.strings.newConversation),!a.runId){let o=await t.loadConversation(a.conversationId).catch(()=>null);if(r.value!==a.conversationId)return!0;if(o){o.controlState&&d(o.controlState),f(o.canContinue);let r=vi(o.messages),{messages:s,changed:c}=zi(n.value,r);c&&(n.value=s);let l=r.findLast(e=>!e.ephemeral&&e.role!==`system`),u=uf(n.value);u&&l&&lf(u,l)&&cf(t,n.value,u,a.conversationId,i.strings.newConversation,o.canContinue);let m=_?n.value.find(e=>e.id===_.id&&e.role===`assistant`&&e.status!==`streaming`):void 0;m&&p(m,m.suggestions??[]),!e&&_?.role===`assistant`&&n.value.includes(_)&&_.serverMessageId===void 0&&!Ci(_)&&(n.value=n.value.filter(e=>e!==_))}else _?.role===`assistant`&&n.value.includes(_)&&(_.status=`error`,_.errorText=i.strings.errorGeneric,_.retryAction=e?{kind:`continue-assistant`,messageId:_.serverMessageId??_.id}:y?.role===`user`?{kind:`resend-user`,messageId:y.id}:null,n.value=[...n.value])}return!0}catch(s){if(r.value!==g)return!1;if(!m.reject(S))return y?.role===`user`&&df(t,n.value,y,g,i.strings.newConversation),!0;let c=Ss(s,i.strings),u=ff(s),h=l?.role===`assistant`?l:n.value.at(-1);if(e&&h?.role===`assistant`&&s instanceof ta&&s.status===409){let e=h.serverMessageId??h.id,i=await t.loadConversation(g,{ids:[e]}).catch(()=>null);if(r.value!==g)return!1;if(i){i.controlState&&d(i.controlState),f(i.canContinue);let t=vi(i.messages),r=t.find(t=>(t.serverMessageId??t.id)===e);if(r&&Bi(h,r)){let{messages:r,changed:i}=zi(n.value,t),a=r.find(t=>(t.serverMessageId??t.id)===e);if(i&&a&&a!==h)return a.awaitingContinuation=!1,a.continuationStreaming=void 0,a.retryAction=null,n.value=r,a.status!==`streaming`&&p(a,a.suggestions??[]),!0}}if(!n.value.includes(h)||h.status!==`streaming`)return!1;h.continuationStreaming=!0}if(e&&h?.role===`assistant`)h.status=`error`,h.errorText=c,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=c;let e=v[0];_.retryAction=u&&e?.role===`user`?{kind:`resend-user`,messageId:e.id}:null,n.value=[...n.value]}else{let e=di();e.status=`error`,e.errorText=c;let t=v[0];e.retryAction=u&&t?.role===`user`?{kind:`resend-user`,messageId:t.id}:null,n.value=[...n.value,e]}return o.play(`error`),a.emit(`error`,s),i.onError?.(s),!1}},[t,n,i,a,o,s,c,u,d,f,p,h,m]),sendRoutedTurn:l(async e=>{let l=h();e.status=`pending`,e.errorText=void 0,e.retryAction=void 0,n.value.includes(e)&&(n.value=[...n.value]),xl.markSent(e.id);let d=[bi(e)],f=s.loadUserPrefs(),p=Fl(i.tools).then(e=>t.sendTurn(si({messages:d,conversationId:l,visitorId:c,userPrefs:f,clientTools:Il(e)})));m.beginRouted(p,e.id);try{let a=await p;return r.value===l?m.acceptRoutedAck(p,a)?(u(a.conversationId),df(t,n.value,e,a.conversationId,i.strings.newConversation),e.status===`pending`&&(e.status=`complete`,n.value.includes(e)&&(n.value=[...n.value])),!0):!1:(m.rejectRouted(p),!1)}catch(s){let c=m.rejectRouted(p);if(r.value!==l)return!1;if(!c)return df(t,n.value,e,l,i.strings.newConversation),e.status===`pending`&&(e.status=`complete`,n.value.includes(e)&&(n.value=[...n.value])),!0;if(e.status!==`pending`)return df(t,n.value,e,l,i.strings.newConversation),!0;sf.debug(`operator-routed send failed`,{error:s});let u=s instanceof Error?s:Error(String(s));return e.status=`error`,e.errorText=Ss(s,i.strings),e.retryAction=ff(s)?{kind:`resend-user`,messageId:e.id}:null,n.value.includes(e)&&(n.value=[...n.value]),o.play(`error`),a.emit(`error`,u),i.onError?.(u),!1}},[t,n,i,a,o,s,c,u,h,m])}}const mf=R.scope(`unread`);function hf(e){let{transport:t,options:n,conversationIdSig:r,isConversationVisibleRef:i,activated:a,conversationReady:o}=e,s=c(!1),d=c(0),f=c(0),m=p([]),h=p(void 0),g=p(!1),_=l(()=>{let e=r.value,t=i.current()&&h.current===e?e:void 0,n=m.current.filter(e=>e.hasUnread&&e.conversationId!==t).length;d.value=n,s.value=n>0},[r,s,d,i]),v=l(e=>{let t=r.value,n=m.current.find(e=>e.conversationId===t),i=fa(m.current,e),a=i.find(e=>e.conversationId===t),o=e.type===`snapshot`&&t!==void 0&&a?.hasUnread===!0&&h.current===t&&n!==void 0&&n.lastMessageAt!==a.lastMessageAt;o&&(h.current=void 0),m.current=i,_(),o&&(f.value+=1)},[r,_,f]),y=l(()=>{if(_(),!i.current())return;let e=r.value;if(!e||h.current!==e)return;let n=m.current.find(t=>t.conversationId===e);n?.hasUnread&&t.markRead(e,n.lastMessageAt)},[r,i,_,t]),b=l(e=>{r.value===e&&(h.current=void 0,_())},[r,_]),x=l(e=>{r.value===e&&(h.current=e,y())},[r,y]),S=l(e=>h.current===e,[]),C=l((e=!1)=>{n.history.enabled&&n.modules.list.some(e=>e.layout===`chat`)&&(g.current||(g.current=!0,t.listConversations({limit:50},e).then(t=>{e||v({type:`snapshot`,result:t,requestedRevision:0}),y()}).catch(e=>mf.debug(`refreshUnread failed (non-fatal)`,{err:e})).finally(()=>{g.current=!1})))},[v,y,n.history.enabled,n.modules,t]),w=l(e=>{let n=e.conversationId,a=i.current()&&r.value===n&&h.current===n,o=m.current.find(e=>e.conversationId===n),s=a&&(o?.lastMessageAt!==e.lastMessageAt||o.hasUnread);t.publishConversation({...e,hasUnread:!a},!0),s&&t.markRead(n,e.lastMessageAt)},[r,i,t]);u(()=>t.subscribeConversationChanges(v),[v,t]);let T=p(!1);return u(()=>{a&&o&&!T.current&&(T.current=!0,C())},[a,o,C]),u(()=>{if(!a)return;function e(){document.visibilityState===`visible`&&(y(),C(!0))}return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[a,y,C]),{hasUnreadSig:s,unreadCountSig:d,transcriptRecoverySig:f,markVisibleConversationRead:y,beginConversationTranscript:b,commitConversationTranscript:x,isConversationTranscriptCommitted:S,recordConversationReply:w}}const gf=R.scope(`settings`);function _f(e){let{options:t,persistence:n,transport:r,feedback:i,hostElement:a,bus:o}=e,s=n.loadUserPrefs(),[c,d]=m(()=>s.locale??t.locale),[f,p]=m(s.themeMode),h=f??t.themeMode,[g,_]=m(()=>s.textSize??t.textSize),v=l(e=>{n.patchUserPrefs(e),r.saveUserPrefs(n.loadUserPrefs()).catch(e=>gf.warn(`saveUserPrefs failed`,{err:e}))},[n,r]);u(()=>{s.soundMuted!==void 0&&i.setMuted(s.soundMuted)},[]),u(()=>{if(h!==`host`)a.dataset.theme=h;else return Et(e=>{a.dataset.theme=e})},[a,h,t]),u(()=>{a.dataset.textSize=g},[a,g,t]),u(()=>{let e=!0;return i.mutedSig.subscribe(t=>{e?e=!1:v({soundMuted:t})})},[i,v]);let y=Ae(c,t.availableLocales,t.defaultLocale);return u(()=>{r.setLocale(y)},[r,y]),u(()=>{a.dir=k(y)?`rtl`:`ltr`},[a,y]),u(()=>{y!==c&&d(y)},[y,c]),{activeLocale:c,activeThemeMode:h,activeTextSize:g,effectiveLocale:y,setActiveLocale:d,setActiveThemeMode:p,setActiveTextSize:_,patchAndSync:v,handleLocaleChange:l(e=>{gf.info(`localeChange`,{locale:e}),d(e),v({locale:e}),o.emit(`localeChange`,e)},[v,o]),handleThemeChange:l(e=>{gf.info(`themeChange`,{mode:e}),p(e),a.dataset.theme=e,v({themeMode:e}),o.emit(`themeChange`,e)},[a,v,o]),handleTextSizeChange:l(e=>{gf.info(`textSizeChange`,{size:e}),_(e),a.dataset.textSize=e,v({textSize:e}),o.emit(`textSizeChange`,e)},[a,v,o]),handleSoundToggle:l(()=>{i.toggleMuted();let e=i.mutedSig.value;gf.info(`soundToggle`,{muted:e}),o.emit(`soundToggle`,{muted:e})},[i,o])}}const $=R.scope(`app`),vf=M.cssPrefix,yf={home:`home`,chats:`chat`,help:`help`,news:`news`};function bf(e,t){return fi({...e,text:A(t,e.text)})}function xf({options:e,hostElement:t,bus:n,recentHostEvents:i}){let o=e.aiAgentDeploymentId;if(!o)throw Error(`aiAgentDeploymentId is required`);let[h]=m(()=>ft(e.widgetId,e.storage,e.aiAgentDeploymentId)),[v]=m(()=>h.getVisitorId()),y=h.loadUserPrefs(),b=c(h.loadConversationId()),x=p(b.value!==void 0),S=c(b.value??``),C=c([]),[w,T]=m(!1),E=p(void 0),[D,O]=m([]);function k(){let t=e.modules.list,n=new Set(t.map(e=>e.id)),r=h.loadActiveModule();return r&&n.has(r)?r:t[0]?.id??``}function j(){return e.modules.list.find(e=>e.layout===`chat`)?.id}function ee(){let t=j();return t?e.modules.list.length===1||N.sig.value.activeTab===t:!1}let te=p(void 0);if(!te.current){let t=e.modules.list.map(e=>e.id),n=h.loadActiveModule()??t[0]??``;te.current=ja(n,n?[...t,n]:t,e=>h.saveActiveModule(e))}let N=te.current,ne=s(()=>N.sig.value.activeTab).value,re=s(()=>b.value).value,[P,ie]=m(!1),[ae,oe]=m(null),[F,se]=m(!1),ce=e.mode===`standalone`||e.mode===`inline`,le=p(La(e,Ra(),h.loadPanelOpen(),h.loadPanelSize())),[I,ue]=m(le.current.panelOpen),[de,fe]=m(le.current.panelOpen),pe=p(void 0),me=p(void 0),he=p(!1),L=p(void 0);u(()=>{I&&fe(!0)},[I]);let ge=p(!1),[_e,R]=m(!1),{dismissed:ve,dismissCallout:ye}=Nd({callout:e.launcher.callout,persistence:h}),be=e.launcher.callout?.persistent??!0,xe=l(()=>{$.info(`calloutDismiss`),n.emit(`calloutDismiss`,void 0),ye()},[n,ye]),[Se,Ce]=m(le.current.panelSize),we=p(!1),[Te,Ee]=m(`chat`),De=p(()=>!1);De.current=()=>I&&Te===`chat`&&!document.hidden&&ee();let[Oe,ke]=m(!0),Ae=p(Oe);Ae.current=Oe;let[je,Me]=m(!1),Ne=p(je);Ne.current=je;let Pe=p(null),[Fe,Ie]=m(!1),[Le,ze]=m(null),[Be,He]=m([]),Ue=p(e.strings),We=p(e);We.current=e;let[Ge,Ke]=m(void 0),[qe,Je]=m(void 0),[Ye,Xe]=m(()=>h.loadSidebarCollapsed()??!1),[Ze,Qe]=m({}),[z]=m(()=>new va({agentApiBaseUrl:e.agentApiBaseUrl,dataApiBaseUrl:e.dataApiBaseUrl,auth:Bt({publicKey:e.publicKey,aiAgentDeploymentId:o,publicKeyHeader:`x-public-key`}),endpoints:e.endpoints,recentHostEvents:i})),[$e]=m(()=>new mn(e.sound,e.haptics)),et=of({transport:z,setStreaming:Me}),{activeLocale:tt,activeThemeMode:nt,activeTextSize:rt,effectiveLocale:it,setActiveLocale:at,setActiveThemeMode:ot,setActiveTextSize:st,patchAndSync:ct,handleLocaleChange:ut,handleThemeChange:dt,handleTextSizeChange:pt,handleSoundToggle:mt}=_f({options:e,persistence:h,transport:z,feedback:$e,hostElement:t,bus:n}),{controlModeSig:gt,assignedOperatorInitialsSig:_t,operatorAvailableSig:vt,applyControlState:yt,adoptControlStateChunk:bt,requestOperator:xt,cancelOperatorRequest:St}=Pd({transport:z,conversationIdSig:b}),Ct=c(/* @__PURE__ */ new Map),wt=l(e=>{if(e.type!==`data-memory-compaction-state`)return;let t=b.value;if(!t)return;let n=ai(e.data);if(!n)return;let r=Ct.value.get(t);if(r&&(n.postFinishSequence<r.postFinishSequence||n.postFinishSequence===r.postFinishSequence&&(r.status===`ready`||r.status===n.status)))return;let i=new Map(Ct.value);i.set(t,n),Ct.value=i},[b,Ct]),{hasUnreadSig:Tt,unreadCountSig:Et,transcriptRecoverySig:Dt,markVisibleConversationRead:Ot,beginConversationTranscript:kt,commitConversationTranscript:At,isConversationTranscriptCommitted:jt,recordConversationReply:Mt}=hf({transport:z,options:e,conversationIdSig:b,isConversationVisibleRef:De,activated:de,conversationReady:P}),Nt=I&&e.modules.byId[ne]?.layout===`home`,Pt=Md({transport:z,options:e,persistence:h,enabled:P&&Nt});u(()=>{Ot()},[ne,I,Te,re,Ot]),u(()=>{$e.update(e.sound,e.haptics)},[$e,e.sound,e.haptics]),u(()=>()=>$e.destroy(),[$e]),u(()=>{!we.current&&e.size.initialSize&&(we.current=!0,!h.loadPanelSize()&&Ce(Ia(e.mode,e.size,Ra())))},[e.mode,e.size,h]),u(()=>{if(!P||ge.current)return;ge.current=!0;let t=La(e,Ra(),h.loadPanelOpen(),h.loadPanelSize());ue(t.panelOpen),Ce(t.panelSize)},[P,e,h]);let Ft=p(null);u(()=>{P&&N.reconcile(e.modules.list.map(e=>e.id),k())},[P,e.modules.list,N]);let It=l(e=>{e&&e.length!==0&&(C.value=e.map(e=>bf(e,Ue.current)))},[C]),Lt=p(null),Rt=l(async e=>{try{let{formSubmissions:t}=await(e?z.bootstrap(e):Lt.current??z.bootstrap()),n=/* @__PURE__ */ 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:Qr(e.createdAt),values:e.values}))}catch(e){return $.debug(`bootstrap failed — no form markers (non-fatal)`,{err:e}),[]}},[z]),zt=p(0),Vt=p(0),Kt=l(e=>{if(e===b.value)return;let t=b.value;Vt.current++,T(!1),t&&(h.saveDraft(e,h.loadDraft(t)),h.saveDraft(t,``),h.saveMessageQueue(e,h.loadMessageQueue(t)),h.saveMessageQueue(t,[])),b.value=e,h.saveConversationId(e),z.primeIdentity(void 0,e),$.info(`conversation rebound`,{previous:t,current:e}),t&&n.emit(`conversationRebound`,{previous:t,current:e})},[n,b,h,z]),Yt=l((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[...(L.current?.messages??[]).map(e=>{let t=bf(e,Ue.current);return t.createdAt=r,t}),...e]},[]),Zt=l(async e=>{let t=Vt.current;function r(){return t!==Vt.current||b.value!==e}me.current===e&&(me.current=void 0),T(!0);try{let[t,n]=await Promise.all([z.loadConversation(e),Rt()]);if(r())return!1;let i=vi(t.messages);O(n);let a=Yt(Ri(i,C.value),n);if(C.value=a,me.current=a.some(e=>e.role===`user`)?void 0:e,i.length>0||t.controlState!==void 0){ke(t.canContinue),t.controlState&&yt(t.controlState);let e=i.findLast(e=>e.role===`assistant`&&!e.ephemeral);He(e?.suggestions??[])}return!0}catch(t){return r()||($.warn(`loadThread failed; keeping conversation active`,{err:t,conversationId:e}),n.emit(`error`,t),We.current.onError?.(t)),!1}finally{r()||T(!1)}},[z,Rt,C,b,Yt,n]),Qt=l(e=>{if(pe.current===e)return pe.current=void 0,Zt(e)},[Zt]),$t=l(()=>{if(E.current)return Promise.resolve(void 0);let t=b.value,r=C.value.find(e=>e.serverMessageId!==void 0),i=r?.serverMessageId,a=r?new Date(r.createdAt).toISOString():void 0;if(!t||!i||!a)return Promise.resolve(void 0);let o=Vt.current,s={};return E.current=s,(async()=>{try{let e=await z.loadConversation(t,{beforeId:i,beforeCreatedAt:a});if(E.current!==s||Vt.current!==o||b.value!==t)return;if(e.messages.length===0)return!1;let n=e.messages.map(hi),r=C.value,c=Ni(r,n);if(c!==r){let e=Math.min(...n.map(e=>e.createdAt??1/0),...D.map(e=>e.createdAt??1/0));if(Number.isFinite(e))for(let t of r){if(!t.ephemeral)break;(t.createdAt??1/0)>=e&&(t.createdAt=e-1)}C.value=c}return!0}catch(r){if(E.current!==s||Vt.current!==o||b.value!==t)return;$.warn(`load previous messages failed`,{err:r,conversationId:t,beforeId:i}),n.emit(`error`,r),e.onError?.(r);return}finally{E.current===s&&(E.current=void 0)}})()},[n,b,D,C,e,z]),B=l(async({newConversation:t})=>{let i=++zt.current;function a(){return i!==zt.current}let o=b.value,s=t||!o?lt():o;s!==o&&(Vt.current++,T(!1),r(()=>{b.value=s,S.value=s}),h.saveConversationId(s)),z.primeIdentity(v,s);let c;try{c=await z.handshake({visitorId:v,conversationId:s,userPrefs:h.loadUserPrefs(),locale:tt})}catch(r){if(a())return;n.emit(`error`,r),e.onError?.(r),t||ie(!0);return}if(a())return;c.conversationId!==s&&Kt(c.conversationId),ze(c.agent),c.site&&gn(c.site)?Ke(c.site):c.site&&$.warn(`invalid site config, using fallback`,{site:c.site}),c.blocks&&_n(c.blocks)?Je(c.blocks):c.blocks&&$.warn(`invalid blocks config, using fallback`,{blocks:c.blocks});let l=ht(c.userPrefs);if(Object.keys(l).length>0&&!t&&(h.saveUserPrefs(l),l.locale&&at(l.locale),l.soundMuted!==void 0&&$e.setMuted(l.soundMuted),l.themeMode&&ot(l.themeMode),l.textSize&&st(l.textSize)),L.current=c.welcome,t||n.emit(`handshake`,c),c.welcome?.suggestions){let e=Ue.current;He(c.welcome.suggestions.map(t=>({...t,label:A(e,t.label),...t.text===void 0?{}:{text:A(e,t.text)}})))}let u=!t&&o&&c.conversationId===o;x.current=!!u,u?he.current||(pe.current=c.conversationId):(me.current=c.conversationId,It(c.welcome?.messages),At(c.conversationId)),t||ie(!0)},[z,v,h,e,n,b,S,$e,It,tt,Kt,At]),tn=JSON.stringify(e.userContext??null),nn=JSON.stringify(e.pageContext??null),rn=JSON.stringify(Ze);u(()=>{let t=Object.keys(Ze).length?{...Ze,...e.userContext}:e.userContext;z.setContext(t,Sf(e.pageContext))},[z,tn,nn,rn]),u(()=>z.setUserToken(e.userToken),[z,e.userToken]);let an=l((e,t=[])=>He(e.suggestions??t),[]);u(()=>(z.primeIdentity(v,b.value),B({newConversation:!1}),()=>{zt.current++,Vt.current++}),[]),u(()=>{de&&P&&!he.current&&(he.current=!0,Lt.current=z.bootstrap(),(async()=>{try{let e=await Lt.current;oe(Re((e??{forms:[]}).forms,it))}catch(e){$.debug(`bootstrap failed — treating as no forms`,{err:e})}finally{se(!0)}})(),pe.current===b.value&&T(!0))},[de,P]);let on=p(null);u(()=>{if(!de||!P||(on.current??(on.current=it),on.current===it))return;on.current=it;let e=!1;return z.bootstrap().then(t=>{e||oe(Re((t??{forms:[]}).forms,it))}).catch(e=>$.debug(`forms re-localize failed — keeping current copy`,{err:e})),()=>{e=!0}},[de,P,it,z]);let sn=p(tn);u(()=>{P&&sn.current!==tn&&(sn.current=tn,B({newConversation:!1}))},[tn,P,B]),Rd({hostElement:t,mode:e.mode,panelSize:Se,isOpen:I,surfaceReady:P,setIsOpen:ue});let{sendAiTurn:cn,sendRoutedTurn:ln}=pf({transport:z,messagesSig:C,conversationIdSig:b,options:e,bus:n,feedback:$e,persistence:h,visitorId:v,adoptConversationId:Kt,applyControlState:yt,setCanSend:ke,settleSuggestions:an,runCancellation:et}),{toolInteraction:un,pageToolsRunning:dn,stopPageTools:fn}=Ad({streaming:je,controlModeSig:gt,messagesSig:C,sendAiTurn:cn,bus:n,humanInLoop:e.features.humanInLoop,tools:e.tools}),pn=l((e,t)=>{let r=C.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,C,z]);function hn(){return C.value.reduce((e,t)=>e+ +(t.role===`user`),0)}let vn=e.forms.list.length>0?e.forms:ae??e.forms,V=Ta({forms:vn,persistence:h,userContext:()=>e.userContext,messageCount:hn,pageArea:()=>e.pageContext?.area?String(e.pageContext.area):void 0,conversationId:()=>b.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}),O(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=b.value??lt();b.value||(b.value=a,h.saveConversationId(a),z.primeIdentity(void 0,a)),!i&&e.mirrorToContext&&Qe(e=>({...e,...r})),z.submitForm({formId:e.id,conversationId:a,trigger:t,values:r,skipped:i})}}),yn=s(()=>V.activeForm.value);af({activated:de,conversationReady:P,conversationIdSig:b,messagesSig:C,optionsRef:We,transport:z,visitorId:v,adoptControlStateChunk:bt,adoptMemoryCompactionStateChunk:wt,settleSuggestions:an,recordConversationReply:Mt,transcriptRecoverySig:Dt,beginConversationTranscript:kt,commitConversationTranscript:At,onReplyLanded:l(()=>V.fire(`after-messages`),[V]),runCancellation:et,canContinueRef:Ae,setCanSend:ke,feedback:$e,bus:n,loadInitialThread:Qt,shouldReconcileOnConnect:l(()=>x.current||C.value.some(e=>!e.ephemeral&&e.role===`user`),[C])}),u(()=>{V.refresh()},[vn,V]);let bn=e.pageContext?.area?String(e.pageContext.area):void 0,xn=s(()=>C.value.length),H=p(null);u(()=>{F&&H.current&&(V.fire(`manual`,H.current),H.current=null)},[F,V]),u(()=>{P&&F&&V.fire(`pre-chat`)},[P,F,V]),u(()=>{F&&!Oe&&V.fire(`conversation-closed`)},[F,Oe,V]),u(()=>{P&&F&&bn&&V.fire(`page-area`)},[P,F,bn,V]);let U=f(()=>{let e=vn.list.flatMap(e=>e.triggers).filter(e=>e.kind===`idle`).map(e=>Number(e.param));return e.length?Math.min(...e)*1e3:0},[vn]);u(()=>{if(!U||!I)return;let e=setTimeout(()=>V.fire(`idle`),U);return()=>clearTimeout(e)},[U,I,V,xn.value]);let W=l(async(t,r,i)=>{if(Pe.current)return!1;let a=b.value,o=a?Ct.value.get(a):void 0,s=gt.value!==`ai-agent`;if(!s&&o?.status===`compacting`||($.info(`send`,{textLen:t.length,attachments:r.length,streaming:Ne.current,routedToOperator:s}),Ne.current&&!s))return!1;let c=new AbortController,l={conversationId:a,controller:c};Pe.current=l,Ie(!0);try{$e.unlock();let o=await wf(z,r,c.signal,t=>{c.signal.aborted||($.warn(`upload failed`,{err:t}),n.emit(`error`,t),e.onError?.(t))});if(c.signal.aborted||b.value!==a||!Ae.current||V.activeForm.value)return!1;let s=a?Ct.value.get(a):void 0,l=gt.value!==`ai-agent`;if(!l&&s?.status===`compacting`||Ne.current&&!l||!t&&o.length===0)return!1;n.emit(`send`,{text:t,attachmentCount:r.length}),Be.length>0&&He([]),$e.play(`messageSent`);let u=ui(t,o,i);return wa(n,e,`user`,t),l?(C.value=[...C.value,u],i?await ln(u):(ln(u),!0)):(C.value=[...C.value,u,di()],i?await cn({continueExisting:!1}):(cn({continueExisting:!1}),!0))}finally{Pe.current===l&&(Pe.current=null,Ie(!1))}},[z,n,e,Be.length,C,b,Ct,cn,ln,gt]),Sn=p(W);Sn.current=W;let G=b.value,Cn=(G?Ct.value.get(G):void 0)?.status===`compacting`,wn=gt.value===`ai-agent`,Tn=s(()=>{let e=C.value.at(-1);return e?.role===`assistant`&&e.partsSig.value.some(e=>e.kind===`tool`&&e.stateSig.value===`approval-requested`)}),En=s(()=>C.value.some(e=>e.retryAction?.kind===`resend-user`||e.retryAction?.kind===`continue-assistant`));d(()=>{let e=b.value;return()=>{let t=Pe.current;t&&t.conversationId===e&&(Pe.current=null,Ie(!1),t.controller.abort())}},[b.value]),u(()=>{(!Oe||yn.value)&&Pe.current?.controller.abort()},[yn.value,Oe]);let Dn=l(()=>{if(dn){$.info(`stop page tools`),n.emit(`stop`,void 0),fn();return}if(!et.stop())return;$.info(`stop`),n.emit(`stop`,void 0);let e=C.value.at(-1);e&&e.role!==`user`&&e.status===`streaming`&&(e.canceled=!0,C.value=[...C.value])},[et,n,C,dn,fn]),On=l(e=>{if(je)return;let t=C.value,n=Ki(t,e);if(n)switch($.info(`retry`,{kind:n.kind,messageId:n.messageId}),n.kind){case`continue-assistant`:if(gt.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,C.value=[...t],cn({continueExisting:!0,turn:e});return;case`resend-user`:{let r=t.find(e=>e.role===`user`&&e.id===n.messageId);if(!r)return;let i=e=>{e&&Ft.current?.acceptQueuedMessage(n.messageId)};if(r.status=`complete`,r.errorText=void 0,r.retryAction=void 0,gt.value!==`ai-agent`){C.value=e.role===`assistant`?t.filter(t=>t!==e):[...t],ln(r).then(i);return}let a=di();C.value=e.role===`assistant`?t.map(t=>t===e?a:t):[...t,a],cn({continueExisting:!1,turn:r}).then(i);return}case`repeat-user`:{let e=t.find(e=>e.role===`user`&&e.id===n.messageId);if(!e)return;let r=ui(xi(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]),gt.value!==`ai-agent`){C.value=[...t,r],ln(r);return}C.value=[...t,r,di()],cn({continueExisting:!1,turn:r});return}default:return n}},[je,C,gt,cn,ln]),kn=l(()=>{Ca(e.mode,Se)===`exit-fullscreen`?($.info(`close → exit-fullscreen`,{mode:e.mode}),Ce(`normal`),n.emit(`fullscreen`,!1)):($.info(`close → panel closed`,{mode:e.mode}),V.fire(`panel-close`),ue(!1),h.savePanelOpen(!1),n.emit(`close`,void 0),e.onClose?.())},[n,e,h,Se,V]),An=l(()=>{$.info(`open`,{mode:e.mode}),$e.unlock(),R(!0),ue(!0),h.savePanelOpen(!0),!ve&&!be&&xe(),setTimeout(()=>R(!1),Cf),n.emit(`open`,void 0),e.onOpen?.()},[n,e,$e,h,ve,be,xe]),jn=l(()=>{let e=C.value.some(e=>e.role===`user`);if(me.current===b.value&&!e&&Oe&&b.value)$.info(`clear → reusing empty conversation`,{conversationId:b.value}),C.value.length===0&&It(L.current?.messages);else return $.info(`clear → new conversation`,{wasStreaming:je}),n.emit(`clear`,void 0),et.settle(),x.current=!1,pe.current=void 0,me.current=void 0,r(()=>{C.value=[],b.value=void 0,yt({controlMode:`ai-agent`,controlRevision:0})}),h.clearConversation(),ke(!0),O([]),He([]),B({newConversation:!0})},[je,C,b,h,B,n,Oe,It,et,yt]),Mn=l(()=>{let t=jn();Ee(`chat`);let n=e.modules.list.find(e=>e.layout===`chat`)?.id;return n&&N.switchTab(n),t},[jn,N,e]),Nn=l(async e=>{await Mn(),await Sn.current(e,[])||Ft.current?.fill(e)},[Mn]),Pn=l(()=>{let e=Se===`expanded`?`normal`:`expanded`;$.info(`expand`,{from:Se,expanded:e===`expanded`}),Ce(e),h.savePanelSize(e),n.emit(`expand`,e===`expanded`)},[n,Se,h]),Fn=l(()=>{let e=Se===`fullscreen`?`normal`:`fullscreen`;$.info(`fullscreen`,{from:Se,fullscreen:e===`fullscreen`}),Ce(e),h.savePanelSize(e),n.emit(`fullscreen`,e===`fullscreen`)},[n,Se,h]),In=l(()=>{Ee(e=>{let t=e===`history`?`chat`:`history`;return $.info(`toggleHistory`,{view:t}),n.emit(`toggleHistory`,{view:t}),t})},[n]),Ln=l(()=>{Xe(e=>{let t=!e;return $.info(`sidebarToggle`,{collapsed:t}),h.saveSidebarCollapsed(t),n.emit(`sidebarToggle`,{collapsed:t}),t})},[h,n]),K=l(e=>{$.info(`resize`,e),ct({widgetSize:e}),n.emit(`resize`,e)},[ct,n]),Rn=l(async t=>{let i=t.conversationId;if(i===b.value&&jt(i)){$.info(`selectConversation`,{conversationId:i,cached:!0}),n.emit(`selectConversation`,{conversationId:i}),z.publishConversation(t),Ee(`chat`);let e=j();e&&N.switchTab(e),At(i);return}let a=++zt.current;Vt.current++,T(!1);function o(){return a!==zt.current}$.info(`selectConversation`,{conversationId:i,wasStreaming:je}),n.emit(`selectConversation`,{conversationId:i}),z.publishConversation(t);try{let[e,t]=await Promise.all([z.loadConversation(i),Rt(i)]);if(o())return;et.settle(),x.current=!0,pe.current=void 0;let n=vi(e.messages),a=e.conversationId!==b.value,s=a?n:Ri(n,C.value);me.current=s.some(e=>e.role===`user`)?void 0:e.conversationId,r(()=>{C.value=Yt(s,t),a&&(S.value=e.conversationId),b.value=e.conversationId}),O(t),h.saveConversationId(e.conversationId),z.primeIdentity(v,e.conversationId),ke(e.canContinue),e.controlState&&yt(e.controlState);let c=s.findLast(e=>e.role===`assistant`&&!e.ephemeral);He(c?.suggestions??[]),a?kt(e.conversationId):At(e.conversationId),Ee(`chat`);let l=j();l&&N.switchTab(l)}catch(t){if(o())return;n.emit(`error`,t),e.onError?.(t)}},[z,C,b,S,n,e,h,Rt,Yt,je,v,et,kt,At,jt,N]),zn=l(e=>{if(typeof e!=`string`)return;I||An(),Ee(`chat`);let t=j();t&&N.switchTab(t),F?V.fire(`manual`,e):H.current=e},[I,An,e.modules,N,F,V]),Bn=p(void 0),Vn=l(t=>{let n=e.modules.list.find(e=>e.layout===yf[t.to]);if(!n){$.warn(`open: the widget has no such tab`,{to:t.to});return}let r=t.id&&(n.layout===`help`||n.layout===`news`)?{kind:`content`,id:t.id,title:``}:void 0;N.open(n.id,r)},[e.modules,N]),Hn=l(e=>{I||An(),e!==void 0&&(Ht(e)?P?Vn(e):Bn.current=e:$.warn(`open: unknown target`,{detail:e}))},[I,An,P,Vn]);u(()=>{P&&Bn.current&&(Vn(Bn.current),Bn.current=void 0)},[P,Vn]);let Un=P&&!w&&!yn.value&&(!wn||!Tn.value&&!En.value),[Wn,Gn]=m(),Kn=l(e=>{let t=Gt(e);t?(I||An(),Gn(t)):$.warn(`ask: expected { text, send? } with non-empty text`,{detail:e})},[I,An]),qn=I&&F&&Oe&&P&&!w&&!yn.value,Jn=qn&&Un&&!Fe&&!(wn&&(je||Cn));u(()=>{if(Wn===void 0||!(Wn.send?Jn:qn))return;let e=j();e?Te!==`chat`||!ee()?(Ee(`chat`),N.switchTab(e)):(Gn(void 0),Wn.send?W(Wn.text,[]).then(e=>{e||Ft.current?.fill(Wn.text)}):Ft.current?.fill(Wn.text)):($.warn(`ask: the widget has no chat`),Gn(void 0))},[Wn,qn,Jn,Te,ne,e.modules,N,W]),u(()=>{if(e.widgetId!=="default")return;let n=`data-${M.cssPrefix}-`,r=[`ask`,`open`,`close`,`form`].map(e=>n+e);function i(e){let i=e.composedPath().find(e=>e instanceof Element&&r.some(t=>e.hasAttribute(t)));if(!(i instanceof Element))return;e.preventDefault();let a=i.getAttribute(`${n}ask`),o=i.getAttribute(`${n}open`),s=i.getAttribute(`${n}form`);a===null?o===null?s===null?qt(t,`close`):qt(t,`openForm`,s):qt(t,`open`,Ut(o)):qt(t,`ask`,Wt(a||(i.textContent??``),{send:i.hasAttribute(`${n}send`)}))}return document.addEventListener(`click`,i),()=>document.removeEventListener(`click`,i)},[e.widgetId,t]),u(()=>{if(e.widgetId!=="default")return;let n=Xt(location.href);n&&(history.replaceState(history.state,``,n.url),n.ask?qt(t,`ask`,Wt(n.ask)):qt(t,`open`,n.target))},[e.widgetId,t]);let Yn=p(en),Xn=e.mode===`page`||e.mode===`inline`||e.mode===`standalone`;u(()=>a(()=>{let e=b.value,t={open:Xn||I,ready:P,unread:Et.value,...e?{conversationId:e}:{}},r=Yn.current;(t.open!==r.open||t.ready!==r.ready||t.unread!==r.unread||t.conversationId!==r.conversationId)&&(Yn.current=t,n.emit(`state`,t),t.unread!==r.unread&&n.emit(`unread`,t.unread))}),[n,Xn,I,P,Et,b]);let Zn=p({handleOpenCommand:Hn,handleClose:kn,handleExpand:Pn,handleFullscreen:Fn,openForm:zn,handleAskCommand:Kn});Zn.current={handleOpenCommand:Hn,handleClose:kn,handleExpand:Pn,handleFullscreen:Fn,openForm:zn,handleAskCommand:Kn},d(()=>Jt(t,{open:e=>Zn.current.handleOpenCommand(e),close:()=>Zn.current.handleClose(),expand:()=>Zn.current.handleExpand(),fullscreen:()=>Zn.current.handleFullscreen(),openForm:e=>Zn.current.openForm(e),ask:e=>Zn.current.handleAskCommand(e)}),[t]);let Qn=f(()=>Ve(e,tt,nt,rt),[e,tt,nt,rt]);Ue.current=Qn.strings;let $n=f(()=>D.map(e=>{let t=vn.list.find(t=>t.id===e.formId);return{...e,title:t?.title,form:t}}),[D,vn]);function er(e){Rn(e)}let tr={options:Qn,transport:z,feedback:$e,bus:n,persistence:h,conversationId:b.value??``,composerKey:S.value,composerApiRef:Ft,view:Te,canSend:Oe,isStreaming:je,pageToolRunning:dn,isMemoryCompacting:Cn,canReleaseQueuedMessages:Un,queueManualMessages:wn&&(Tn.value||En.value),sendPreparing:Fe,composerActive:Qn.mode===`page`||Qn.mode===`inline`||Qn.mode===`standalone`||I,controlMode:gt.value,assignedOperatorInitials:_t.value,operatorAvailable:vt.value,operatorRequestEnabled:e.features.operatorRequest,onRequestOperator:xt,onCancelOperatorRequest:St,loadingMessages:w,onLoadPreviousMessages:$t,messagesSig:C,agent:Le,suggestions:Be,initialWidgetSize:y.widgetSize??null,onClose:kn,onClear:jn,onExpand:Pn,onFullscreen:Fn,onSoundToggle:mt,onToggleHistory:In,onSelectHistoryConversation:er,onNewConversation:Mn,onLocaleChange:ut,onThemeChange:dt,onTextSizeChange:pt,onWidgetSizeChange:K,onSend:W,onStop:Dn,onSuggestion:t=>{if(Pe.current)return;let r=t.text??t.label;$.info(`suggestion`,{text:r,autoSend:e.autoSendSuggestions}),n.emit(`suggestion`,{text:r}),e.autoSendSuggestions?W(r,[]):Ft.current?.fill(r)},activeForm:yn.value?.form??null,formMarkers:$n,onFormSubmit:V.complete,onFormSkip:V.skip,onFormFill:e=>V.fire(`manual`,e),tool:un,onRetry:On,onMessageFeedback:pn};if(!P)return null;let nr=Qn.modules.list;function rr(e){let t=xa(`close`,Qn.mode,e);return nr.length===0?/* @__PURE__ */ g(vd,{strings:Qn.strings,onClose:t?kn:void 0}):nr.length===1&&nr[0]?.layout===`chat`?/* @__PURE__ */ g(od,{...tr,panelSize:e}):/* @__PURE__ */ g(gd,{panelProps:{...tr,panelSize:e,onClose:t?kn:void 0},enabledModules:nr,nav:N,bus:n,hasUnread:Tt.value,latestNews:Pt,onSelectConversation:er,onStartNewConversation:Nn,onSetPanelSize:Ce})}if(e.mode===`page`){let t=e.history.enabled&&nr.some(e=>e.layout===`chat`);return/* @__PURE__ */ g(`div`,{class:`${vf}-anchor`,children:/* @__PURE__ */ g(Td,{site:Ge,blocks:qe,transport:z,strings:Qn.strings,locale:Qn.locale,persistence:h,showConversations:t,onSelectConversation:er,onNewConversation:Mn,sidebarCollapsed:Ye,onToggleSidebarCollapsed:Ln,children:rr(`fullscreen`)})})}if(ce){let t=e.mode===`standalone`?`fullscreen`:Se;return/* @__PURE__ */ g(`div`,{class:`${vf}-anchor`,children:rr(t)})}let ir=e.mode===`drawer`,ar=e.mode!==`modal`&&!e.launcher.hidden&&(!I||_e),or=ar&&!_e&&!ve&&!ir?Qn.launcher.callout:null;return/* @__PURE__ */ _(`div`,{class:`${vf}-anchor`,"data-launcher-size":Qn.launcher.size,children:[I||de?/* @__PURE__ */ g(`div`,{class:`${vf}-surface`,hidden:!I,children:rr(Se)}):null,ar?/* @__PURE__ */ g(Wo,{onToggle:An,launcher:Qn.launcher,strings:Qn.strings,leaving:_e,edgeTab:ir}):null,or?/* @__PURE__ */ g(Jo,{callout:or,launcherPosition:Qn.position,strings:Qn.strings,closeLabel:Qn.strings.close,onDismiss:xe}):null]})}function Sf(e){let t=e?.url??(typeof location<`u`?location.href:void 0);if(e||t)return{...e,...t?{url:t}:{}}}const Cf=120;async function wf(e,t,n,r){return(await Promise.all(t.map(async t=>{try{let{id:r,url:i,originalName:a,mimeType:o,fileSize:s}=await e.uploadFile(t.file,n);return{id:r,name:a,mediaType:o,size:s,url:i}}catch(e){r(e);return}}))).filter(e=>e!==void 0)}const Tf=R.scope(`error-boundary`);var Ef=class extends e{constructor(...e){super(...e),B(this,`state`,{crashed:!1})}componentDidCatch(e,t){Tf.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}};function Df(e){let{bus:r,host:i,appRoot:a,persistence:o,reportError:s}=e,c=e.initialRaw,l,u=De(c),d=!0,f=0,p=ct(r);function m(){u=De(l?Ue(c,l):c)}function h(){At(i,jt(u.mode));let e=o.loadUserPrefs().themeMode;zt(i,e?{...u,themeMode:e}:u),d&&(Rt(i,Of(u)),d=!1)}function g(){h(),n(t(Ef,{onError:s},t(xf,{key:f,bus:r,hostElement:i,options:u,recentHostEvents:p})),a)}r.on(`handshake`,e=>{e.config&&(e.config.storageVersion&&o.rememberStorageVersion(e.config.storageVersion),l=e.config,m(),g())});let _=xt(r,{getOptions:()=>u,getVisitorId:()=>o.getVisitorId(),getConversationId:()=>o.loadConversationId()});function v(e={}){o.reset(),c={...c,userContext:void 0,userToken:void 0,...e},p.length=0,f+=1,d=!0,m(),g()}return{getOptions:()=>u,getUserOptions:()=>c,render:g,setUserOptions:e=>{c=e,m(),g()},patchUserOptions:e=>{let t=`userToken`in e&&e.userToken!==c.userToken;t&&c.userToken?v(e):(t&&(f+=1),c={...c,...e},m(),g())},reset:()=>v(),destroy:()=>_()}}function Of(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}=La(e,Ra(),t.loadPanelOpen(),t.loadPanelSize());return Fa(e.mode,r,n)}const kf=R.scope(`hooks`),Af=`*`,jf=/* @__PURE__ */ new Set;function Mf(e,t,n){let r={widgetId:e,event:t,listener:n};return jf.add(r),()=>{jf.delete(r)}}function Nf(e,t,n){let r=[...jf];for(let i of r)if(Ff(i.widgetId,e.widgetId)&&(i.event===`*`||i.event===t))try{i.listener(e,t,n)}catch(e){kf.warn(`hook listener threw`,{event:t,error:e})}}function Pf(e,t){let n=[];for(let r of If)n.push(t.on(r,t=>{Nf(e,r,t)}));return()=>{for(let e of n)e()}}function Ff(e,t){return e===`*`||e===t}const If=/* @__PURE__ */ `open.close.expand.fullscreen.resize.message.send.stop.clear.selectConversation.suggestion.toggleHistory.formSubmit.toolResult.toolDecision.hostEvent.messageFeedback.contentView.contentOpen.contentSearch.contentRead.contentLinkClick.attach.removeAttachment.voiceStart.voiceStop.voiceCancel.localeChange.themeChange.textSizeChange.soundToggle.sidebarToggle.calloutDismiss.error.handshake.conversationRebound.state.unread`.split(`.`),Lf=R.scope(`iframe`);function Rf(e,t,n=`closed`,r=`floating`,i=null){Lf.debug(`createIframeMount`,{position:t,initialMode:n,layoutMode:r,hasTarget:!!i});let a=document.createElement(`iframe`);a.title=`${M.name} chat`,a.setAttribute(`allow`,`microphone; clipboard-write`),Vf(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=Mt({...e,target:o.body}),c=new MutationObserver(()=>{Vf(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 zf=`border:0;background:transparent;z-index:2147483647;pointer-events:auto;`,Bf={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 Vf(e,t,n,r){if(n===`fullscreen`||r===`standalone`){e.style.cssText=`${zf}position:fixed;inset:0;width:100vw;height:100vh;`;return}if(r===`inline`){e.style.cssText=`${zf}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=`${zf}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}=Bf[n]??Bf.open;e.style.cssText=`${zf}position:fixed;${i}:16px;${a}:16px;width:${o};height:${s};`}const Hf=/* @__PURE__ */ new Map;function Uf(e){if(!e.aiAgentDeploymentId)throw Error(`aiAgentDeploymentId is required`);e.debug!==void 0&&L(e.debug);let t=R.scope(`mount`);t.info(`mount`,{widgetId:e.widgetId,publicKey:e.publicKey,mode:e.presentation?.mode});let r=De(e),i=r.widgetId,a=Hf.get(i);a&&(t.debug(`destroy existing instance at slot`,{widgetId:i}),a.destroy());let o=Of(r),s=r.iframe?Rf({position:jt(r.mode)},r.position,o,r.mode,e.target??null):Mt({position:jt(r.mode),target:e.target??null});s.hostElement.dataset.widgetId=i;let c=new tn,l=ft(i,r.storage,r.aiAgentDeploymentId);function u(e){c.emit(`error`,e),d.getOptions().onError?.(e)}let d=Df({bus:c,host:s.hostElement,appRoot:s.appRoot,persistence:l,initialRaw:e,reportError:u}),f=en,p=()=>{},m=new Promise(e=>{p=e});c.on(`state`,e=>{f=e,e.ready&&p()}),d.render();let h=s.hostElement,g=null;function _(e){e.debug!==void 0&&L(e.debug),d.patchUserOptions(e)}let v={widgetId:i,open:e=>qt(h,`open`,e),close:()=>qt(h,`close`),expand:()=>qt(h,`expand`),openForm:e=>qt(h,`openForm`,e),ask:(e,t)=>qt(h,`ask`,Wt(e,t)),on:(e,t)=>c.on(e,t),update:e=>{t.debug(`update`,{patch:e}),_(e)},setUserContext:e=>{t.debug(`setUserContext`,{keys:Object.keys(e)}),_({userContext:{...d.getUserOptions().userContext,...e}})},clearUserContext:()=>{t.debug(`clearUserContext`),_({userContext:void 0})},setPageContext:e=>{t.debug(`setPageContext`,{keys:Object.keys(e)}),_({pageContext:{...d.getUserOptions().pageContext,...e}})},clearPageContext:()=>{t.debug(`clearPageContext`),_({pageContext:void 0})},get state(){return f},ready:m,reset:()=>{t.info(`reset`,{widgetId:i}),d.reset()},login:e=>{t.info(`login`,{widgetId:i}),_({userToken:e})},track:(e,t)=>{let n=st(e,t);n&&c.emit(`hostEvent`,n)},registerTool:Al,setDebug:e=>{L(e),t.info(`debug level set`,{level:ge()})},debugLevel:()=>ge(),onLog:e=>ve(e),destroy:()=>{t.info(`destroy`,{widgetId:i}),c.emit(`state`,en),g?.(),d.destroy(),c.clear(),n(null,s.appRoot),s.destroy(),Hf.get(i)===v&&Hf.delete(i)}};return g=Pf(v,c),Hf.set(i,v),v}function Wf(e){if(!e.aiAgentDeploymentId)throw Error(`aiAgentDeploymentId is required`);let t=e.widgetId??`default`,n=Hf.get(t);return n?(n.update(e),n):Uf(e)}function Gf(e){if(e!==void 0){Hf.get(e)?.destroy();return}let t=[...Hf.values()];for(let e of t)e.destroy()}function Kf(e=`default`){return Hf.get(e)??null}function qf(){return[...Hf.values()]}function Jf(e,t,n){return Mf(e,t,n)}const Yf=gt,Xf=M;export{Af as HOOK_WILDCARD,Xf as brand,Gf as destroy,qf as getAllInstances,Kf as getInstance,Jf as hook,Wf as init,Uf as mount,Of as resolveInitialHostMode,Yf as version};
|
|
34
34
|
//# sourceMappingURL=index.mjs.map
|