@_solaris/messenger-widget 0.6.28 → 0.6.29

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.
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("vue"),et=["connected","message","message_stream","conversation_updated","config_updated","action_status"],ue="/client",tt=5*60*1e3,nt=15*1e3,rt=10*60*1e3,st=5*60*1e3;function Ce(e){const t={baseUrl:ot(e.baseUrl||""),widgetId:e.widgetId||"",userId:"",origin:"",token:"",currentContext:{},listeners:new Map,eventSource:null,connection:"idle",visibilityHandler:null,started:!1,panelOpen:!1,pollTimer:null,burstTimer:null,hiddenGraceTimer:null,lastActivityAt:null};if(!t.baseUrl||!t.widgetId)throw new Error("[transport] baseUrl and widgetId are required");function s(c,f){return t.listeners.has(c)||t.listeners.set(c,new Set),t.listeners.get(c).add(f),()=>t.listeners.get(c).delete(f)}function o(c,f){const p=t.listeners.get(c);p&&p.forEach(S=>{try{S(f)}catch(B){console.error("[transport] listener",c,B)}})}function a(c){t.connection!==c&&(t.connection=c,o("connection",c))}function r(){return{"Content-Type":"application/json","X-Widget-Id":t.widgetId,...t.origin?{"X-Parent-Origin":t.origin}:{}}}async function i(c,f,p){const S=await fetch(`${t.baseUrl}${ue}${f}`,{method:c,credentials:"include",headers:r(),body:p!==void 0?JSON.stringify(p):void 0});if(!S.ok){const B=await l(S),R=new Error(`HTTP ${S.status} ${c} ${f} :: ${(B==null?void 0:B.error)||S.statusText}`);throw R.status=S.status,R.body=B,R}return S.status===204?null:S.json()}async function l(c){try{return await c.json()}catch{return null}}async function m(c){if(t.started)return t.lastBootstrap;if(!(c!=null&&c.origin))throw new Error("[transport] start requires origin");t.started=!0,t.origin=c.origin,t.token=c.token||"";const f=await fetch(`${t.baseUrl}${ue}/session`,{method:"POST",credentials:"include",headers:r(),body:JSON.stringify({origin:t.origin,...t.token?{token:t.token}:{},allowUnauthenticated:c.allowUnauthenticated===!0,...c.variables&&typeof c.variables=="object"?{variables:c.variables}:{}})});if(!f.ok){const D=await l(f),j=new Error(`Session bootstrap failed: HTTP ${f.status} :: ${(D==null?void 0:D.error)||f.statusText}`);throw j.status=f.status,j.body=D,j}const p=await f.json();t.userId=p.external_id;const[S,B]=await Promise.all([fetch(`${t.baseUrl}/widgets/${encodeURIComponent(t.widgetId)}/config`,{credentials:"include"}).then(async D=>{if(!D.ok){const j=await l(D);throw new Error(`HTTP ${D.status} GET /widgets/:id/config :: ${(j==null?void 0:j.error)||D.statusText}`)}return D.json()}),i("GET","/customers/me")]),R={config:S,customer:(B==null?void 0:B.customer)??null};return t.lastBootstrap=R,await y(),typeof document<"u"&&(t.visibilityHandler=h,document.addEventListener("visibilitychange",t.visibilityHandler)),d(),R}async function y(){try{const c=await N();t.lastActivityAt=c.reduce((f,p)=>{const S=p==null?void 0:p.last_message_at;return S&&(!f||S>f)?S:f},null)}catch(c){console.error("[transport] initial /conversations failed",c)}}async function g(){const c=await i("GET","/customers/me");return(c==null?void 0:c.customer)??null}async function b(c){const f=await i("PATCH","/customers/me",c);return(f==null?void 0:f.customer)??null}async function N(){const c=await i("GET","/conversations");return(c==null?void 0:c.conversations)??[]}async function k(c={}){return(await i("POST","/conversations",c)).conversation}async function x(c){return(await i("GET",`/conversations/${encodeURIComponent(c)}`)).conversation}async function C(c,f){return(await i("PATCH",`/conversations/${encodeURIComponent(c)}`,f)).conversation}async function V(c,f){return i("PATCH",`/conversations/${encodeURIComponent(c)}/read`,{message_id:f})}async function E(c,f={}){const p=new URLSearchParams;f.before&&p.set("before",f.before),f.since&&p.set("since",f.since),f.limit&&p.set("limit",String(f.limit));const S=p.toString()?`?${p.toString()}`:"";return i("GET",`/conversations/${encodeURIComponent(c)}/messages${S}`)}async function L(c,f){H();const p={client_msg_id:f.client_msg_id,type:"content",text_md:f.text_md,author:{id:t.userId,type:"user"},created_at:f.created_at||new Date().toISOString()};return Array.isArray(f.attachments)&&f.attachments.length&&(p.payload={type:"content",attachments:f.attachments}),f.metadata&&typeof f.metadata=="object"&&(p.metadata=f.metadata),t.currentContext&&Object.keys(t.currentContext).length>0&&(p.context=t.currentContext),i("POST",`/conversations/${encodeURIComponent(c)}/messages`,p)}async function I(c,f,p){return H(),i("POST",`/messages/${encodeURIComponent(c)}/callbacks/${encodeURIComponent(f)}`,p?{inputs:p}:{})}async function K(c){const f=c.name||"attachment",p=c.type||"application/octet-stream",S=c.size||0,B=await i("POST","/attachments",{mime_type:p,size_bytes:S,name:f}),R=await fetch(B.upload_url,{method:"PUT",headers:{"Content-Type":p},body:c});if(!R.ok)throw new Error(`HTTP ${R.status} PUT signed upload`);return{type:at(p),path:B.path,mime_type:p,size_bytes:S}}async function W(c){return i("GET",`/attachments/sign?path=${encodeURIComponent(c)}`)}function F(){const c=new URLSearchParams({widgetId:t.widgetId}).toString();return`${t.baseUrl}${ue}/stream?${c}`}function P(){if(!t.eventSource&&!(typeof document<"u"&&document.hidden)&&t.started)try{const c=new EventSource(F(),{withCredentials:!0});for(const f of et)c.addEventListener(f,p=>$(f,p.data));c.addEventListener("error",()=>o("error",new Error("SSE error"))),t.eventSource=c,a("open")}catch(c){console.error("[transport] SSE open failed",c),o("error",c)}}function $(c,f){try{const p=JSON.parse(f),S=p&&typeof p=="object"&&"data"in p?p.data:p;o(c,S)}catch(p){console.error("[transport] bad SSE payload",c,p)}}function z(){t.eventSource&&(t.eventSource.close(),t.eventSource=null),t.connection!=="paused"&&a("idle")}function H(){clearTimeout(t.burstTimer),P(),t.panelOpen||(t.burstTimer=setTimeout(()=>{t.panelOpen||z()},rt))}function ce(c){const f=t.panelOpen;t.panelOpen=!!c,t.panelOpen?(clearTimeout(t.burstTimer),P()):H(),f!==t.panelOpen&&d()}async function de(){try{const c=await N(),f=c.reduce((S,B)=>{const R=B==null?void 0:B.last_message_at;return R&&(!S||R>S)?R:S},null);f&&(!t.lastActivityAt||f>t.lastActivityAt)&&(t.lastActivityAt=f,o("activity",{conversations:c,latestAt:f}),H())}catch(c){console.error("[transport] poll failed",c)}}function d(){if(u(),typeof document<"u"&&document.hidden)return;const c=t.panelOpen?nt:tt;t.pollTimer=setInterval(de,c)}function u(){t.pollTimer&&(clearInterval(t.pollTimer),t.pollTimer=null)}function h(){if(document.hidden)clearTimeout(t.hiddenGraceTimer),t.hiddenGraceTimer=setTimeout(()=>{t.hiddenGraceTimer=null,document.hidden&&(u(),z(),a("paused"))},st);else{if(t.hiddenGraceTimer){clearTimeout(t.hiddenGraceTimer),t.hiddenGraceTimer=null;return}a("idle"),d(),t.panelOpen&&P()}}function _(){u(),clearTimeout(t.burstTimer),clearTimeout(t.hiddenGraceTimer),t.hiddenGraceTimer=null,z(),t.visibilityHandler&&(document.removeEventListener("visibilitychange",t.visibilityHandler),t.visibilityHandler=null),t.started=!1}async function w(c){return!c||typeof c!="object"?null:i("POST","/update",c)}function v(c){if(!(!c||typeof c!="object"))for(const[f,p]of Object.entries(c)){if(p===null){delete t.currentContext[f];continue}typeof p=="object"&&!Array.isArray(p)&&(t.currentContext[f]={...p})}}return{on:s,start:m,stop:_,setPanelOpen:ce,update:w,context:v,getCustomer:g,patchCustomer:b,listConversations:N,createConversation:k,getConversation:x,patchConversation:C,markConversationRead:V,listMessages:E,postMessage:L,postCallback:I,uploadAttachment:K,signAttachment:W,get connection(){return t.connection}}}function ot(e){return e.endsWith("/")?e.slice(0,-1):e}function at(e){return e.startsWith("image/")?"image":e.startsWith("video/")?"video":e.startsWith("audio/")?"audio":"file"}function he(){if(typeof crypto<"u"&&typeof crypto.randomUUID=="function")return crypto.randomUUID();const e=new Uint8Array(16);if(typeof crypto<"u"&&crypto.getRandomValues)crypto.getRandomValues(e);else for(let s=0;s<16;s++)e[s]=Math.floor(Math.random()*256);e[6]=e[6]&15|64,e[8]=e[8]&63|128;const t=[...e].map(s=>s.toString(16).padStart(2,"0"));return t.slice(0,4).join("")+"-"+t.slice(4,6).join("")+"-"+t.slice(6,8).join("")+"-"+t.slice(8,10).join("")+"-"+t.slice(10,16).join("")}function Ee(e){const t=n.reactive({ready:!1,error:null,config:null,customer:null,conversations:[],messagesByConv:{},paginationByConv:{},streamingByMsgId:{},awaitingCallback:{},runningActionsByConv:{},connection:"idle"}),s=[];s.push(e.on("connection",d=>{t.connection=d})),s.push(e.on("message",d=>{const u=d==null?void 0:d.conversation_id,h=d==null?void 0:d.message;!u||!(h!=null&&h.id)||(F(u,h),h.client_msg_id&&delete t.streamingByMsgId[h.client_msg_id],z(u,h.created_at))})),s.push(e.on("message_stream",d=>{const u=d==null?void 0:d.message_id,h=d==null?void 0:d.token;!u||typeof h!="string"||(t.streamingByMsgId[u]=(t.streamingByMsgId[u]||"")+h)})),s.push(e.on("conversation_updated",d=>{const u=d==null?void 0:d.conversation_id,h=d==null?void 0:d.changes;if(!u||!h)return;const _=t.conversations.findIndex(w=>w.id===u);_!==-1&&(t.conversations[_]={...t.conversations[_],...h})})),s.push(e.on("config_updated",d=>{d!=null&&d.config&&(t.config=d.config)})),s.push(e.on("action_status",d=>{const u=d==null?void 0:d.conversation_id,h=d==null?void 0:d.action_id,_=d==null?void 0:d.action_name;if(!u||!h)return;const w=t.runningActionsByConv[u]||{};d.state==="running"?(w[h]=_||h,t.runningActionsByConv[u]={...w}):d.state==="done"&&(delete w[h],t.runningActionsByConv[u]={...w})})),s.push(e.on("activity",d=>{Array.isArray(d==null?void 0:d.conversations)&&(t.conversations=d.conversations)}));async function o(d){try{const u=new Promise((_,w)=>setTimeout(()=>w(new Error("bootstrap timeout (15s) — check baseUrl, CORS, and network")),15e3)),h=await Promise.race([e.start(d),u]);t.config=h.config,t.customer=h.customer,t.conversations=await Promise.race([e.listConversations(),u]),t.ready=!0}catch(u){console.error("[store] start failed",u),t.error=(u==null?void 0:u.message)||String(u)}}function a(){for(const d of s)try{d()}catch{}e.stop()}async function r(d){const u=ce(d);if(!u)return t.customer;try{const h=await e.patchCustomer(u);h&&(t.customer=h)}catch(h){console.error("[store] applyCustomer failed",h)}return t.customer}async function i(d={}){const u=await e.createConversation(d),h=t.conversations.findIndex(_=>_.id===u.id);return h===-1?t.conversations=[u,...t.conversations]:t.conversations[h]=u,u}const l=50;async function m(d){const u=t.paginationByConv[d];if(!(u!=null&&u.loaded||u!=null&&u.loading)){g(d,{nextCursor:null,loading:!0,loaded:!1});try{const h=await e.listMessages(d,{limit:l}),_=(h==null?void 0:h.messages)??[],w=t.messagesByConv[d]||[],v=new Set;for(const f of _)(f==null?void 0:f.id)!=null&&v.add(`id:${String(f.id)}`),f!=null&&f.client_msg_id&&v.add(`c:${f.client_msg_id}`);const c=w.filter(f=>!((f==null?void 0:f.id)!=null&&v.has(`id:${String(f.id)}`)||f!=null&&f.client_msg_id&&v.has(`c:${f.client_msg_id}`)));t.messagesByConv[d]=[..._,...c].sort(H),g(d,{nextCursor:(h==null?void 0:h.next_cursor)??null,loading:!1,loaded:!0})}catch(h){console.error("[store] openConversation failed",h),g(d,{nextCursor:null,loading:!1,loaded:!1})}}}async function y(d){var w;const u=t.paginationByConv[d];if(!u||u.loading||!u.nextCursor)return;const _=(w=(t.messagesByConv[d]||[]).find(v=>v==null?void 0:v.created_at))==null?void 0:w.created_at;if(_){g(d,{...u,loading:!0});try{const v=await e.listMessages(d,{before:_,limit:l}),c=(v==null?void 0:v.messages)??[],f=t.messagesByConv[d]||[],p=new Set;for(const B of f)(B==null?void 0:B.id)!=null&&p.add(`id:${String(B.id)}`),B!=null&&B.client_msg_id&&p.add(`c:${B.client_msg_id}`);const S=c.filter(B=>!((B==null?void 0:B.id)!=null&&p.has(`id:${String(B.id)}`)||B!=null&&B.client_msg_id&&p.has(`c:${B.client_msg_id}`)));t.messagesByConv[d]=[...S,...f],g(d,{nextCursor:(v==null?void 0:v.next_cursor)??null,loading:!1,loaded:!0})}catch(v){console.error("[store] loadMore failed",v),g(d,{...u,loading:!1})}}}function g(d,u){t.paginationByConv={...t.paginationByConv,[d]:u}}async function b(d,u){const h=await e.patchConversation(d,u),_=t.conversations.findIndex(w=>w.id===d);_!==-1&&(t.conversations[_]=h)}async function N(d){if(!d)return[];const u=t.messagesByConv[d]||[];let h="";for(const _ of u)_!=null&&_.created_at&&_.created_at>h&&(h=_.created_at);try{const _=await e.listMessages(d,h?{since:h}:{}),w=(_==null?void 0:_.messages)||[];if(!w.length)return[];const v=new Set,c=new Set;for(const p of u)(p==null?void 0:p.id)!=null&&v.add(String(p.id)),p!=null&&p.client_msg_id&&c.add(p.client_msg_id);const f=[];for(const p of w){const S=(p==null?void 0:p.id)!=null&&v.has(String(p.id))||(p==null?void 0:p.client_msg_id)&&c.has(p.client_msg_id);F(d,p),S||f.push(p)}return f}catch(_){return console.error("[store] fetchSinceLast failed",_),[]}}async function k(d,u){if(!(!d||u==null))try{const h=await e.markConversationRead(d,u),_=(h==null?void 0:h.last_read_message_id)??u,w=t.conversations.findIndex(v=>(v==null?void 0:v.id)===d);w!==-1&&(t.conversations[w]={...t.conversations[w],last_read_message_id:_})}catch(h){console.error("[store] markConversationRead failed",h)}}async function x(d,u,{attachments:h,metadata:_}={}){var S;const w=(u||"").trim(),v=Array.isArray(h)&&h.length>0;if(!d||!w&&!v)return;const c=he(),f=de(d),p={id:c,client_msg_id:c,conversation_id:d,type:"content",text_md:w,author:{type:"user",id:((S=t.customer)==null?void 0:S.external_id)||null},created_at:f,_pending:!0,...v?{payload:{type:"content",attachments:h}}:{},..._&&typeof _=="object"?{metadata:_}:{}};F(d,p);try{await e.postMessage(d,{client_msg_id:c,text_md:w,created_at:f,...v?{attachments:h}:{},..._&&typeof _=="object"?{metadata:_}:{}})}catch(B){console.error("[store] send failed",B),$(d,c,{_failed:!0,_pending:!1})}}async function C(d,u,h){d!=null&&(t.awaitingCallback[d]=!0);try{await e.postCallback(d,u,h)}catch(_){console.error("[store] callback failed",_),d!=null&&delete t.awaitingCallback[d]}}const V=new Map;async function E(d){if(!d)return null;const u=V.get(d);if(u!=null&&u.url){const h=u.expires_at?Date.parse(u.expires_at):0;if(!h||h-Date.now()>6e4)return u.url}try{const h=await e.signAttachment(d);if(h!=null&&h.signed_url)return V.set(d,{url:h.signed_url,expires_at:h.expires_at}),h.signed_url}catch(h){console.error("[store] sign attachment failed",h)}return null}async function L(d,{rating:u,comment:h}={}){const _=t.conversations.find(c=>c.id===d),v={...(_==null?void 0:_.metadata)||{},feedback:{rating:u,comment:h||null,submitted_at:new Date().toISOString()}};await b(d,{metadata:v})}function I(d){var h,_;const u=t.messagesByConv[d]||[];for(let w=u.length-1;w>=0;w--){const v=u[w];if(((h=v==null?void 0:v.author)==null?void 0:h.type)==="user"||(v==null?void 0:v.type)==="action"&&((_=v==null?void 0:v.payload)==null?void 0:_.state)==="pending")return null;const c=Array.isArray(v==null?void 0:v.callbacks)?v.callbacks.find(f=>(f==null?void 0:f.intent)==="submit_form"):null;if(c&&Array.isArray(c.inputs)&&c.inputs.length>0)return{message:v,form:{title:c.title||"",description:c.description||null,submit_label:c.label||null,fields:c.inputs}}}return null}function K(d){const u=t.runningActionsByConv[d];if(!u)return null;const h=Object.keys(u);if(h.length===0)return null;const _=h[0];return{id:_,payload:{name:u[_]}}}function W(d){var h,_,w;const u=t.messagesByConv[d]||[];for(let v=u.length-1;v>=0;v--){const c=u[v];if(((h=c==null?void 0:c.author)==null?void 0:h.type)==="user")return[];if((c==null?void 0:c.type)==="action"&&((_=c==null?void 0:c.payload)==null?void 0:_.state)==="pending")return[];if(((w=c==null?void 0:c.author)==null?void 0:w.type)!=="agent_ia")continue;const f=Array.isArray(c==null?void 0:c.callbacks)?c.callbacks.filter(p=>(p==null?void 0:p.intent)==="send_message"&&(p.render??"inline")==="inline"):[];return f.length?f.map(p=>typeof p.label=="string"&&p.label.trim()?{label:p.label.trim(),kind:null}:null).filter(Boolean).slice(0,4):[]}return[]}function F(d,u){var v;const h=t.messagesByConv[d]||[];let _=-1;u!=null&&u.client_msg_id&&(_=h.findIndex(c=>(c==null?void 0:c.client_msg_id)&&c.client_msg_id===u.client_msg_id)),_===-1&&(u==null?void 0:u.id)!==void 0&&(u==null?void 0:u.id)!==null&&(_=h.findIndex(c=>P(c==null?void 0:c.id,u.id)));let w;_===-1?w=[...h,u].sort(H):(w=h.slice(),w[_]={...h[_],...u,_pending:!1,_failed:!1}),t.messagesByConv[d]=w,(u==null?void 0:u.type)==="action"&&((v=u==null?void 0:u.payload)!=null&&v.state)&&u.payload.state!=="pending"&&(u==null?void 0:u.id)!=null&&t.awaitingCallback[u.id]&&delete t.awaitingCallback[u.id]}function P(d,u){return d===u?!0:d==null||u==null?!1:String(d)===String(u)}function $(d,u,h){const _=t.messagesByConv[d];if(!_)return;const w=_.findIndex(c=>c.id===u);if(w===-1)return;const v=_.slice();v[w]={..._[w],...h},t.messagesByConv[d]=v}function z(d,u){const h=t.conversations.findIndex(w=>w.id===d);if(h===-1)return;const _=t.conversations[h];if(u&&(!_.last_message_at||u>_.last_message_at)){const w=t.conversations.slice();w[h]={..._,last_message_at:u},w.sort((v,c)=>(c.last_message_at||"").localeCompare(v.last_message_at||"")),t.conversations=w}}function H(d,u){return(d.created_at||"").localeCompare(u.created_at||"")}function ce(d){if(!d||typeof d!="object")return null;const u={},h={};for(const[_,w]of Object.entries(d))w!==void 0&&(_==="name"||_==="email"||_==="language"?w!=null&&String(w).trim()!==""&&(u[_]=w):(_==="values"||_==="metadata")&&w&&typeof w=="object"?Object.assign(h,w):h[_]=w);return Object.keys(h).length&&(u.values=h),Object.keys(u).length?u:null}function de(d){const u=t.messagesByConv[d]||[];let h="";for(const v of u)v!=null&&v.created_at&&v.created_at>h&&(h=v.created_at);const _=new Date().toISOString();return!h||_>h?_:new Date(Date.parse(h)+1).toISOString()}return{state:t,start:o,destroy:a,applyCustomer:r,createConversation:i,openConversation:m,loadMore:y,fetchSinceLast:N,patchConversation:b,markConversationRead:k,send:x,clickCallback:C,signAttachment:E,submitFeedback:L,getActionInFlight:K,getLatestSuggestions:W,getLatestForm:I,setPanelOpen:e.setPanelOpen}}const M={w:"#ffffff",g50:"#F9F9F7",g100:"#F5F5F5",g150:"#E8E6E2",g200:"#D9D6CF",g300:"#B4B0A8",g400:"#888480",g500:"#5A5753",g700:"#2B2926",g900:"#17161A",accent:"#5B5FEF",accentLight:"#EEEFFE",green:"#22C55E",red:"#B91C1C",redBg:"#FDECEC"},ne=["#5B5FEF","#7C3AED","#DB2777","#0891B2","#D97706","#059669"];function oe(e=""){return e?ne[e.charCodeAt(0)%ne.length]:ne[0]}function ae(e=""){return e.split(" ").map(t=>t[0]||"").join("").toUpperCase().slice(0,2)}function se(e=new Date,t="fr-FR"){return e.toLocaleTimeString(t,{hour:"2-digit",minute:"2-digit"})}const Be=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("vue"),et=["connected","message","message_stream","conversation_updated","config_updated","action_status"],ue="/client",tt=5*60*1e3,nt=15*1e3,rt=10*60*1e3,st=5*60*1e3;function Ce(e){const t={baseUrl:ot(e.baseUrl||""),widgetId:e.widgetId||"",userId:"",origin:"",token:"",currentContext:{},listeners:new Map,eventSource:null,connection:"idle",visibilityHandler:null,started:!1,panelOpen:!1,pollTimer:null,burstTimer:null,hiddenGraceTimer:null,lastActivityAt:null};if(!t.baseUrl||!t.widgetId)throw new Error("[transport] baseUrl and widgetId are required");function s(c,f){return t.listeners.has(c)||t.listeners.set(c,new Set),t.listeners.get(c).add(f),()=>t.listeners.get(c).delete(f)}function o(c,f){const p=t.listeners.get(c);p&&p.forEach(S=>{try{S(f)}catch(B){console.error("[transport] listener",c,B)}})}function a(c){t.connection!==c&&(t.connection=c,o("connection",c))}function r(){return{"Content-Type":"application/json","X-Widget-Id":t.widgetId,...t.origin?{"X-Parent-Origin":t.origin}:{}}}async function i(c,f,p){const S=await fetch(`${t.baseUrl}${ue}${f}`,{method:c,credentials:"include",headers:r(),body:p!==void 0?JSON.stringify(p):void 0});if(!S.ok){const B=await l(S),R=new Error(`HTTP ${S.status} ${c} ${f} :: ${(B==null?void 0:B.error)||S.statusText}`);throw R.status=S.status,R.body=B,R}return S.status===204?null:S.json()}async function l(c){try{return await c.json()}catch{return null}}async function m(c){if(t.started)return t.lastBootstrap;if(!(c!=null&&c.origin))throw new Error("[transport] start requires origin");t.started=!0,t.origin=c.origin,t.token=c.token||"";const f=await fetch(`${t.baseUrl}${ue}/session`,{method:"POST",credentials:"include",headers:r(),body:JSON.stringify({origin:t.origin,...t.token?{token:t.token}:{},allowUnauthenticated:c.allowUnauthenticated===!0,...c.variables&&typeof c.variables=="object"?{variables:c.variables}:{}})});if(!f.ok){const D=await l(f),j=new Error(`Session bootstrap failed: HTTP ${f.status} :: ${(D==null?void 0:D.error)||f.statusText}`);throw j.status=f.status,j.body=D,j}const p=await f.json();t.userId=p.external_id;const[S,B]=await Promise.all([fetch(`${t.baseUrl}/widgets/${encodeURIComponent(t.widgetId)}/config`,{credentials:"include"}).then(async D=>{if(!D.ok){const j=await l(D);throw new Error(`HTTP ${D.status} GET /widgets/:id/config :: ${(j==null?void 0:j.error)||D.statusText}`)}return D.json()}),i("GET","/customers/me")]),R={config:S,customer:(B==null?void 0:B.customer)??null};return t.lastBootstrap=R,await y(),typeof document<"u"&&(t.visibilityHandler=h,document.addEventListener("visibilitychange",t.visibilityHandler)),d(),R}async function y(){try{const c=await N();t.lastActivityAt=c.reduce((f,p)=>{const S=p==null?void 0:p.last_message_at;return S&&(!f||S>f)?S:f},null)}catch(c){console.error("[transport] initial /conversations failed",c)}}async function g(){const c=await i("GET","/customers/me");return(c==null?void 0:c.customer)??null}async function b(c){const f=await i("PATCH","/customers/me",c);return(f==null?void 0:f.customer)??null}async function N(){const c=await i("GET","/conversations");return(c==null?void 0:c.conversations)??[]}async function k(c={}){return(await i("POST","/conversations",c)).conversation}async function x(c){return(await i("GET",`/conversations/${encodeURIComponent(c)}`)).conversation}async function C(c,f){return(await i("PATCH",`/conversations/${encodeURIComponent(c)}`,f)).conversation}async function V(c,f){return i("PATCH",`/conversations/${encodeURIComponent(c)}/read`,{message_id:f})}async function E(c,f={}){const p=new URLSearchParams;f.before&&p.set("before",f.before),f.since&&p.set("since",f.since),f.limit&&p.set("limit",String(f.limit));const S=p.toString()?`?${p.toString()}`:"";return i("GET",`/conversations/${encodeURIComponent(c)}/messages${S}`)}async function L(c,f){H();const p={client_msg_id:f.client_msg_id,type:"content",text_md:f.text_md,author:{id:t.userId,type:"user"},created_at:f.created_at||new Date().toISOString()};return Array.isArray(f.attachments)&&f.attachments.length&&(p.payload={type:"content",attachments:f.attachments}),f.metadata&&typeof f.metadata=="object"&&(p.metadata=f.metadata),t.currentContext&&Object.keys(t.currentContext).length>0&&(p.context=t.currentContext),i("POST",`/conversations/${encodeURIComponent(c)}/messages`,p)}async function I(c,f,p){return H(),i("POST",`/messages/${encodeURIComponent(c)}/callbacks/${encodeURIComponent(f)}`,p?{inputs:p}:{})}async function K(c){const f=c.name||"attachment",p=c.type||"application/octet-stream",S=c.size||0,B=await i("POST","/attachments",{mime_type:p,size_bytes:S,name:f}),R=await fetch(B.upload_url,{method:"PUT",headers:{"Content-Type":p},body:c});if(!R.ok)throw new Error(`HTTP ${R.status} PUT signed upload`);return{type:at(p),path:B.path,mime_type:p,size_bytes:S}}async function W(c){return i("GET",`/attachments/sign?path=${encodeURIComponent(c)}`)}function F(){const c=new URLSearchParams({widgetId:t.widgetId}).toString();return`${t.baseUrl}${ue}/stream?${c}`}function P(){if(!t.eventSource&&!(typeof document<"u"&&document.hidden)&&t.started)try{const c=new EventSource(F(),{withCredentials:!0});for(const f of et)c.addEventListener(f,p=>G(f,p.data));c.addEventListener("error",()=>o("error",new Error("SSE error"))),t.eventSource=c,a("open")}catch(c){console.error("[transport] SSE open failed",c),o("error",c)}}function G(c,f){try{const p=JSON.parse(f),S=p&&typeof p=="object"&&"data"in p?p.data:p;o(c,S)}catch(p){console.error("[transport] bad SSE payload",c,p)}}function z(){t.eventSource&&(t.eventSource.close(),t.eventSource=null),t.connection!=="paused"&&a("idle")}function H(){clearTimeout(t.burstTimer),P(),t.panelOpen||(t.burstTimer=setTimeout(()=>{t.panelOpen||z()},rt))}function ce(c){const f=t.panelOpen;t.panelOpen=!!c,t.panelOpen?(clearTimeout(t.burstTimer),P()):H(),f!==t.panelOpen&&d()}async function de(){try{const c=await N(),f=c.reduce((S,B)=>{const R=B==null?void 0:B.last_message_at;return R&&(!S||R>S)?R:S},null);f&&(!t.lastActivityAt||f>t.lastActivityAt)&&(t.lastActivityAt=f,o("activity",{conversations:c,latestAt:f}),H())}catch(c){console.error("[transport] poll failed",c)}}function d(){if(u(),typeof document<"u"&&document.hidden)return;const c=t.panelOpen?nt:tt;t.pollTimer=setInterval(de,c)}function u(){t.pollTimer&&(clearInterval(t.pollTimer),t.pollTimer=null)}function h(){if(document.hidden)clearTimeout(t.hiddenGraceTimer),t.hiddenGraceTimer=setTimeout(()=>{t.hiddenGraceTimer=null,document.hidden&&(u(),z(),a("paused"))},st);else{if(t.hiddenGraceTimer){clearTimeout(t.hiddenGraceTimer),t.hiddenGraceTimer=null;return}a("idle"),d(),t.panelOpen&&P()}}function _(){u(),clearTimeout(t.burstTimer),clearTimeout(t.hiddenGraceTimer),t.hiddenGraceTimer=null,z(),t.visibilityHandler&&(document.removeEventListener("visibilitychange",t.visibilityHandler),t.visibilityHandler=null),t.started=!1}async function w(c){return!c||typeof c!="object"?null:i("POST","/update",c)}function v(c){if(!(!c||typeof c!="object"))for(const[f,p]of Object.entries(c)){if(p===null){delete t.currentContext[f];continue}typeof p=="object"&&!Array.isArray(p)&&(t.currentContext[f]={...p})}}return{on:s,start:m,stop:_,setPanelOpen:ce,update:w,context:v,getCustomer:g,patchCustomer:b,listConversations:N,createConversation:k,getConversation:x,patchConversation:C,markConversationRead:V,listMessages:E,postMessage:L,postCallback:I,uploadAttachment:K,signAttachment:W,get connection(){return t.connection}}}function ot(e){return e.endsWith("/")?e.slice(0,-1):e}function at(e){return e.startsWith("image/")?"image":e.startsWith("video/")?"video":e.startsWith("audio/")?"audio":"file"}function he(){if(typeof crypto<"u"&&typeof crypto.randomUUID=="function")return crypto.randomUUID();const e=new Uint8Array(16);if(typeof crypto<"u"&&crypto.getRandomValues)crypto.getRandomValues(e);else for(let s=0;s<16;s++)e[s]=Math.floor(Math.random()*256);e[6]=e[6]&15|64,e[8]=e[8]&63|128;const t=[...e].map(s=>s.toString(16).padStart(2,"0"));return t.slice(0,4).join("")+"-"+t.slice(4,6).join("")+"-"+t.slice(6,8).join("")+"-"+t.slice(8,10).join("")+"-"+t.slice(10,16).join("")}function Ee(e){const t=n.reactive({ready:!1,error:null,config:null,customer:null,conversations:[],messagesByConv:{},paginationByConv:{},streamingByMsgId:{},awaitingCallback:{},runningActionsByConv:{},connection:"idle"}),s=[];s.push(e.on("connection",d=>{t.connection=d})),s.push(e.on("message",d=>{const u=d==null?void 0:d.conversation_id,h=d==null?void 0:d.message;!u||!(h!=null&&h.id)||(F(u,h),h.client_msg_id&&delete t.streamingByMsgId[h.client_msg_id],z(u,h.created_at))})),s.push(e.on("message_stream",d=>{const u=d==null?void 0:d.message_id,h=d==null?void 0:d.token;!u||typeof h!="string"||(t.streamingByMsgId[u]=(t.streamingByMsgId[u]||"")+h)})),s.push(e.on("conversation_updated",d=>{const u=d==null?void 0:d.conversation_id,h=d==null?void 0:d.changes;if(!u||!h)return;const _=t.conversations.findIndex(w=>w.id===u);_!==-1&&(t.conversations[_]={...t.conversations[_],...h})})),s.push(e.on("config_updated",d=>{d!=null&&d.config&&(t.config=d.config)})),s.push(e.on("action_status",d=>{const u=d==null?void 0:d.conversation_id,h=d==null?void 0:d.action_id,_=d==null?void 0:d.action_name;if(!u||!h)return;const w=t.runningActionsByConv[u]||{};d.state==="running"?(w[h]=_||h,t.runningActionsByConv[u]={...w}):d.state==="done"&&(delete w[h],t.runningActionsByConv[u]={...w})})),s.push(e.on("activity",d=>{Array.isArray(d==null?void 0:d.conversations)&&(t.conversations=d.conversations)}));async function o(d){try{const u=new Promise((_,w)=>setTimeout(()=>w(new Error("bootstrap timeout (15s) — check baseUrl, CORS, and network")),15e3)),h=await Promise.race([e.start(d),u]);t.config=h.config,t.customer=h.customer,t.conversations=await Promise.race([e.listConversations(),u]),t.ready=!0}catch(u){console.error("[store] start failed",u),t.error=(u==null?void 0:u.message)||String(u)}}function a(){for(const d of s)try{d()}catch{}e.stop()}async function r(d){const u=ce(d);if(!u)return t.customer;try{const h=await e.patchCustomer(u);h&&(t.customer=h)}catch(h){console.error("[store] applyCustomer failed",h)}return t.customer}async function i(d={}){const u=await e.createConversation(d),h=t.conversations.findIndex(_=>_.id===u.id);return h===-1?t.conversations=[u,...t.conversations]:t.conversations[h]=u,u}const l=50;async function m(d){const u=t.paginationByConv[d];if(!(u!=null&&u.loaded||u!=null&&u.loading)){g(d,{nextCursor:null,loading:!0,loaded:!1});try{const h=await e.listMessages(d,{limit:l}),_=(h==null?void 0:h.messages)??[],w=t.messagesByConv[d]||[],v=new Set;for(const f of _)(f==null?void 0:f.id)!=null&&v.add(`id:${String(f.id)}`),f!=null&&f.client_msg_id&&v.add(`c:${f.client_msg_id}`);const c=w.filter(f=>!((f==null?void 0:f.id)!=null&&v.has(`id:${String(f.id)}`)||f!=null&&f.client_msg_id&&v.has(`c:${f.client_msg_id}`)));t.messagesByConv[d]=[..._,...c].sort(H),g(d,{nextCursor:(h==null?void 0:h.next_cursor)??null,loading:!1,loaded:!0})}catch(h){console.error("[store] openConversation failed",h),g(d,{nextCursor:null,loading:!1,loaded:!1})}}}async function y(d){var w;const u=t.paginationByConv[d];if(!u||u.loading||!u.nextCursor)return;const _=(w=(t.messagesByConv[d]||[]).find(v=>v==null?void 0:v.created_at))==null?void 0:w.created_at;if(_){g(d,{...u,loading:!0});try{const v=await e.listMessages(d,{before:_,limit:l}),c=(v==null?void 0:v.messages)??[],f=t.messagesByConv[d]||[],p=new Set;for(const B of f)(B==null?void 0:B.id)!=null&&p.add(`id:${String(B.id)}`),B!=null&&B.client_msg_id&&p.add(`c:${B.client_msg_id}`);const S=c.filter(B=>!((B==null?void 0:B.id)!=null&&p.has(`id:${String(B.id)}`)||B!=null&&B.client_msg_id&&p.has(`c:${B.client_msg_id}`)));t.messagesByConv[d]=[...S,...f],g(d,{nextCursor:(v==null?void 0:v.next_cursor)??null,loading:!1,loaded:!0})}catch(v){console.error("[store] loadMore failed",v),g(d,{...u,loading:!1})}}}function g(d,u){t.paginationByConv={...t.paginationByConv,[d]:u}}async function b(d,u){const h=await e.patchConversation(d,u),_=t.conversations.findIndex(w=>w.id===d);_!==-1&&(t.conversations[_]=h)}async function N(d){if(!d)return[];const u=t.messagesByConv[d]||[];let h="";for(const _ of u)_!=null&&_.created_at&&_.created_at>h&&(h=_.created_at);try{const _=await e.listMessages(d,h?{since:h}:{}),w=(_==null?void 0:_.messages)||[];if(!w.length)return[];const v=new Set,c=new Set;for(const p of u)(p==null?void 0:p.id)!=null&&v.add(String(p.id)),p!=null&&p.client_msg_id&&c.add(p.client_msg_id);const f=[];for(const p of w){const S=(p==null?void 0:p.id)!=null&&v.has(String(p.id))||(p==null?void 0:p.client_msg_id)&&c.has(p.client_msg_id);F(d,p),S||f.push(p)}return f}catch(_){return console.error("[store] fetchSinceLast failed",_),[]}}async function k(d,u){if(!(!d||u==null))try{const h=await e.markConversationRead(d,u),_=(h==null?void 0:h.last_read_message_id)??u,w=t.conversations.findIndex(v=>(v==null?void 0:v.id)===d);w!==-1&&(t.conversations[w]={...t.conversations[w],last_read_message_id:_})}catch(h){console.error("[store] markConversationRead failed",h)}}async function x(d,u,{attachments:h,metadata:_}={}){var S;const w=(u||"").trim(),v=Array.isArray(h)&&h.length>0;if(!d||!w&&!v)return;const c=he(),f=de(d),p={id:c,client_msg_id:c,conversation_id:d,type:"content",text_md:w,author:{type:"user",id:((S=t.customer)==null?void 0:S.external_id)||null},created_at:f,_pending:!0,...v?{payload:{type:"content",attachments:h}}:{},..._&&typeof _=="object"?{metadata:_}:{}};F(d,p);try{await e.postMessage(d,{client_msg_id:c,text_md:w,created_at:f,...v?{attachments:h}:{},..._&&typeof _=="object"?{metadata:_}:{}})}catch(B){console.error("[store] send failed",B),G(d,c,{_failed:!0,_pending:!1})}}async function C(d,u,h){d!=null&&(t.awaitingCallback[d]=!0);try{await e.postCallback(d,u,h)}catch(_){console.error("[store] callback failed",_),d!=null&&delete t.awaitingCallback[d]}}const V=new Map;async function E(d){if(!d)return null;const u=V.get(d);if(u!=null&&u.url){const h=u.expires_at?Date.parse(u.expires_at):0;if(!h||h-Date.now()>6e4)return u.url}try{const h=await e.signAttachment(d);if(h!=null&&h.signed_url)return V.set(d,{url:h.signed_url,expires_at:h.expires_at}),h.signed_url}catch(h){console.error("[store] sign attachment failed",h)}return null}async function L(d,{rating:u,comment:h}={}){const _=t.conversations.find(c=>c.id===d),v={...(_==null?void 0:_.metadata)||{},feedback:{rating:u,comment:h||null,submitted_at:new Date().toISOString()}};await b(d,{metadata:v})}function I(d){var h,_;const u=t.messagesByConv[d]||[];for(let w=u.length-1;w>=0;w--){const v=u[w];if(((h=v==null?void 0:v.author)==null?void 0:h.type)==="user"||(v==null?void 0:v.type)==="action"&&((_=v==null?void 0:v.payload)==null?void 0:_.state)==="pending")return null;const c=Array.isArray(v==null?void 0:v.callbacks)?v.callbacks.find(f=>(f==null?void 0:f.intent)==="submit_form"):null;if(c&&Array.isArray(c.inputs)&&c.inputs.length>0)return{message:v,form:{title:c.title||"",description:c.description||null,submit_label:c.label||null,fields:c.inputs}}}return null}function K(d){const u=t.runningActionsByConv[d];if(!u)return null;const h=Object.keys(u);if(h.length===0)return null;const _=h[0];return{id:_,payload:{name:u[_]}}}function W(d){var h,_,w;const u=t.messagesByConv[d]||[];for(let v=u.length-1;v>=0;v--){const c=u[v];if(((h=c==null?void 0:c.author)==null?void 0:h.type)==="user")return[];if((c==null?void 0:c.type)==="action"&&((_=c==null?void 0:c.payload)==null?void 0:_.state)==="pending")return[];if(((w=c==null?void 0:c.author)==null?void 0:w.type)!=="agent_ia")continue;const f=Array.isArray(c==null?void 0:c.callbacks)?c.callbacks.filter(p=>(p==null?void 0:p.intent)==="send_message"&&(p.render??"inline")==="inline"):[];return f.length?f.map(p=>typeof p.label=="string"&&p.label.trim()?{label:p.label.trim(),kind:null}:null).filter(Boolean).slice(0,4):[]}return[]}function F(d,u){var v;const h=t.messagesByConv[d]||[];let _=-1;u!=null&&u.client_msg_id&&(_=h.findIndex(c=>(c==null?void 0:c.client_msg_id)&&c.client_msg_id===u.client_msg_id)),_===-1&&(u==null?void 0:u.id)!==void 0&&(u==null?void 0:u.id)!==null&&(_=h.findIndex(c=>P(c==null?void 0:c.id,u.id)));let w;_===-1?w=[...h,u].sort(H):(w=h.slice(),w[_]={...h[_],...u,_pending:!1,_failed:!1}),t.messagesByConv[d]=w,(u==null?void 0:u.type)==="action"&&((v=u==null?void 0:u.payload)!=null&&v.state)&&u.payload.state!=="pending"&&(u==null?void 0:u.id)!=null&&t.awaitingCallback[u.id]&&delete t.awaitingCallback[u.id]}function P(d,u){return d===u?!0:d==null||u==null?!1:String(d)===String(u)}function G(d,u,h){const _=t.messagesByConv[d];if(!_)return;const w=_.findIndex(c=>c.id===u);if(w===-1)return;const v=_.slice();v[w]={..._[w],...h},t.messagesByConv[d]=v}function z(d,u){const h=t.conversations.findIndex(w=>w.id===d);if(h===-1)return;const _=t.conversations[h];if(u&&(!_.last_message_at||u>_.last_message_at)){const w=t.conversations.slice();w[h]={..._,last_message_at:u},w.sort((v,c)=>(c.last_message_at||"").localeCompare(v.last_message_at||"")),t.conversations=w}}function H(d,u){return(d.created_at||"").localeCompare(u.created_at||"")}function ce(d){if(!d||typeof d!="object")return null;const u={},h={};for(const[_,w]of Object.entries(d))w!==void 0&&(_==="name"||_==="email"||_==="language"?w!=null&&String(w).trim()!==""&&(u[_]=w):(_==="values"||_==="metadata")&&w&&typeof w=="object"?Object.assign(h,w):h[_]=w);return Object.keys(h).length&&(u.values=h),Object.keys(u).length?u:null}function de(d){const u=t.messagesByConv[d]||[];let h="";for(const v of u)v!=null&&v.created_at&&v.created_at>h&&(h=v.created_at);const _=new Date().toISOString();return!h||_>h?_:new Date(Date.parse(h)+1).toISOString()}return{state:t,start:o,destroy:a,applyCustomer:r,createConversation:i,openConversation:m,loadMore:y,fetchSinceLast:N,patchConversation:b,markConversationRead:k,send:x,clickCallback:C,signAttachment:E,submitFeedback:L,getActionInFlight:K,getLatestSuggestions:W,getLatestForm:I,setPanelOpen:e.setPanelOpen}}const M={w:"#ffffff",g50:"#F9F9F7",g100:"#F5F5F5",g150:"#E8E6E2",g200:"#D9D6CF",g300:"#B4B0A8",g400:"#888480",g500:"#5A5753",g700:"#2B2926",g900:"#17161A",accent:"#5B5FEF",accentLight:"#EEEFFE",green:"#22C55E",red:"#B91C1C",redBg:"#FDECEC"},ne=["#5B5FEF","#7C3AED","#DB2777","#0891B2","#D97706","#059669"];function oe(e=""){return e?ne[e.charCodeAt(0)%ne.length]:ne[0]}function ae(e=""){return e.split(" ").map(t=>t[0]||"").join("").toUpperCase().slice(0,2)}function se(e=new Date,t="fr-FR"){return e.toLocaleTimeString(t,{hour:"2-digit",minute:"2-digit"})}const Be=`
2
2
  @import url('https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500&display=swap');
3
3
 
4
4
  .wm-root {
@@ -45,9 +45,9 @@
45
45
  0% { transform: translateX(110%); opacity: 0; }
46
46
  100% { transform: translateX(0); opacity: 1; }
47
47
  }
48
- `,Se="https://api.messenger.victorc.fr",it=/^[a-zA-Z]{3,32}$/,lt=/^#[0-9a-fA-F]{3,8}$/,ct=/^(rgb|rgba|hsl|hsla)\(\s*[\d.,%\s/]{1,60}\)$/;function dt(e){return typeof e!="string"||!e||e.length>64?!1:lt.test(e)||ct.test(e)||it.test(e)}function ge(e){if(typeof e!="string"||!e||e.length>2048||/["'()\\;\s<>]/.test(e))return null;let t;try{t=new URL(e)}catch{return null}return t.protocol==="https:"||t.protocol==="http:"||t.protocol==="data:"&&/^data:image\//i.test(e)?e:null}const G="fr",Ne=["fr","en"],pe={fr:"fr-FR",en:"en-US"},me={fr:{"common.newConversation":"Nouvelle conversation","common.conversation":"Conversation","common.agent":"Agent","common.aiAssistant":"Assistant IA","common.system":"Système","common.you":"Vous","common.action":"Action","common.yes":"Oui","common.no":"Non","common.send":"Envoyer","common.sending":"Envoi…","common.cancel":"Annuler","common.save":"Enregistrer","common.close":"Fermer","common.open":"Ouvrir","loading.minimize":"Réduire","error.connectionFailed":"Connexion impossible","header.backToHome":"Retour à l'accueil","header.moreOptions":"Plus d'options","header.closeWidget":"Fermer le widget","launcher.open":"Ouvrir le messenger","launcher.openConversationWith":"Ouvrir la conversation avec {name}","launcher.theAgent":"l'agent","launcher.dismiss":"Ignorer","launcher.repliedToYou":" vous a répondu","launcher.unreadMessages":"{count} messages non lus","launcher.unreadConversationsOne":"{count} conversation non lue","launcher.unreadConversationsMany":"{count} conversations non lues","onboarding.start":"Commencer une conversation","onboarding.starterPlaceholder":"Écrivez votre message…","onboarding.quickAccess":"Accès rapide","onboarding.recentConversations":"Conversations récentes","onboarding.search":"Rechercher dans vos messages","onboarding.unread":"Non lu","onboarding.noResults":"Aucun résultat pour « {query} ».","onboarding.greetingNamed":"Bonjour, je suis {name}","onboarding.greeting":"Bonjour, je suis votre assistant","onboarding.heroSub":`Posez-moi n'importe quelle question.
48
+ `,Se="https://api.messenger.victorc.fr",it=/^[a-zA-Z]{3,32}$/,lt=/^#[0-9a-fA-F]{3,8}$/,ct=/^(rgb|rgba|hsl|hsla)\(\s*[\d.,%\s/]{1,60}\)$/;function dt(e){return typeof e!="string"||!e||e.length>64?!1:lt.test(e)||ct.test(e)||it.test(e)}function ge(e){if(typeof e!="string"||!e||e.length>2048||/["'()\\;\s<>]/.test(e))return null;let t;try{t=new URL(e)}catch{return null}return t.protocol==="https:"||t.protocol==="http:"||t.protocol==="data:"&&/^data:image\//i.test(e)?e:null}const $="fr",Ne=["fr","en"],pe={fr:"fr-FR",en:"en-US"},me={fr:{"common.newConversation":"Nouvelle conversation","common.conversation":"Conversation","common.agent":"Agent","common.aiAssistant":"Assistant IA","common.system":"Système","common.you":"Vous","common.action":"Action","common.yes":"Oui","common.no":"Non","common.send":"Envoyer","common.sending":"Envoi…","common.cancel":"Annuler","common.save":"Enregistrer","common.close":"Fermer","common.open":"Ouvrir","loading.minimize":"Réduire","error.connectionFailed":"Connexion impossible","header.backToHome":"Retour à l'accueil","header.moreOptions":"Plus d'options","header.closeWidget":"Fermer le widget","launcher.open":"Ouvrir le messenger","launcher.openConversationWith":"Ouvrir la conversation avec {name}","launcher.theAgent":"l'agent","launcher.dismiss":"Ignorer","launcher.repliedToYou":" vous a répondu","launcher.unreadMessages":"{count} messages non lus","launcher.unreadConversationsOne":"{count} conversation non lue","launcher.unreadConversationsMany":"{count} conversations non lues","onboarding.start":"Commencer une conversation","onboarding.starterPlaceholder":"Écrivez votre message…","onboarding.quickAccess":"Accès rapide","onboarding.recentConversations":"Conversations récentes","onboarding.search":"Rechercher dans vos messages","onboarding.unread":"Non lu","onboarding.noResults":"Aucun résultat pour « {query} ».","onboarding.greetingNamed":"Bonjour, je suis {name}","onboarding.greeting":"Bonjour, je suis votre assistant","onboarding.heroSub":`Posez-moi n'importe quelle question.
49
49
  Je réponds en quelques secondes.`,"onboarding.newMessage":"Nouveau message","onboarding.statusInProgress":"En cours","onboarding.resume":"Reprendre","onboarding.unreadConversations":"Conversations non lues","onboarding.allConversations":"Toutes les conversations","onboarding.noConversations":"Aucune conversation pour le moment.","composer.placeholder":"Écrivez votre message…","composer.replyTo":"Répondre à {name}…","composer.agentTakingOver":"Un agent prend le relais…","composer.send":"Envoyer","composer.attach":"Joindre","composer.attachFile":"Joindre un fichier","composer.screenshot":"Capture d'écran","composer.recordScreen":"Enregistrer l'écran","composer.recording":"Enregistrement · {time}","composer.stop":"Arrêter","composer.conversationEnded":"Cette conversation est terminée.","composer.conversationClosed":"Cette conversation a été fermée.","composer.reopen":"Rouvrir la conversation","composer.newConversation":"Nouvelle conversation","resolution.title":"Souhaites-tu clôturer cette conversation ?","resolution.confirm":"Oui, clôturer","resolution.decline":"Pas encore","messageList.loadingHistory":"Chargement de l'historique…","messageList.conversationStart":"Début de la conversation","messageList.unread":"Non lus","messageList.today":"Aujourd'hui · {time}","messageList.approvalRequestSent":"Demande d'approbation envoyée","messageList.conversationUpdate":"Mise à jour de la conversation","messageList.anAgent":"Un agent","messageList.scrollToBottom":"Aller en bas","system.transferredToHuman":"Conversation transférée à un humain","system.assigned":"{name} a rejoint la conversation","system.unassigned":"L'agent a quitté la conversation","system.resolved":"Conversation résolue","system.closed":"Conversation fermée","system.reopened":"Conversation rouverte","system.idle":"Conversation en pause","action.title":"Confirmer l'action","action.inProgress":"{name} en cours, veuillez patienter…","action.rejectedByUser":"Action annulée par l'utilisateur.","action.rejectedByAdmin":"Action refusée par un agent.","approval.approve":"Autoriser","approval.reject":"Refuser","moreMenu.editTitle":"Modifier le titre","moreMenu.exportTranscript":"Exporter la transcription","moreMenu.sound":"Son","moreMenu.serviceStatus":"Statut des services","moreMenu.helpCenter":"Centre d'aide","feedback.question":"Comment s'est passée cette conversation ?","feedback.subtitle":"Votre avis nous aide à améliorer l'assistant.","feedback.rating1":"Pas bien","feedback.rating2":"Moyen","feedback.rating3":"Bien","feedback.rating4":"Super","feedback.rating5":"Excellent","feedback.submit":"Envoyer mon avis","feedback.doneTitle":"Merci pour votre retour !","feedback.doneSubtitle":"Votre avis a bien été pris en compte.","rename.dialogTitle":"Modifier le titre de la conversation","rename.title":"Modifier le titre","rename.placeholder":"Titre de la conversation","form.title":"Formulaire","form.choose":"Choisir…","form.responseSent":"Réponse envoyée","form.sent":"Envoyé","form.fieldRequired":"« {label} » est requis.","ticket.dateAt":" à ","attachment.fallbackName":"Pièce jointe","attachment.remove":"Retirer","attachment.fileFallbackName":"fichier","attachment.bytes":"{size} o","attachment.kilobytes":"{size} ko","attachment.megabytes":"{size} Mo","notification.newMessage":"Nouveau message","notification.youHaveNewMessage":"Vous avez un nouveau message","export.createdOn":"Créée le : {date}"},en:{"common.newConversation":"New conversation","common.conversation":"Conversation","common.agent":"Agent","common.aiAssistant":"AI Assistant","common.system":"System","common.you":"You","common.action":"Action","common.yes":"Yes","common.no":"No","common.send":"Send","common.sending":"Sending…","common.cancel":"Cancel","common.save":"Save","common.close":"Close","common.open":"Open","loading.minimize":"Minimize","error.connectionFailed":"Connection failed","header.backToHome":"Back to home","header.moreOptions":"More options","header.closeWidget":"Close widget","launcher.open":"Open the messenger","launcher.openConversationWith":"Open the conversation with {name}","launcher.theAgent":"the agent","launcher.dismiss":"Dismiss","launcher.repliedToYou":" replied to you","launcher.unreadMessages":"{count} unread messages","launcher.unreadConversationsOne":"{count} unread conversation","launcher.unreadConversationsMany":"{count} unread conversations","onboarding.start":"Start a conversation","onboarding.starterPlaceholder":"Type your message…","onboarding.quickAccess":"Quick access","onboarding.recentConversations":"Recent conversations","onboarding.search":"Search your messages","onboarding.unread":"Unread","onboarding.noResults":"No results for “{query}”.","onboarding.greetingNamed":"Hi, I'm {name}","onboarding.greeting":"Hi, I'm your assistant","onboarding.heroSub":`Ask me anything.
50
- I reply within seconds.`,"onboarding.newMessage":"New message","onboarding.statusInProgress":"In progress","onboarding.resume":"Resume","onboarding.unreadConversations":"Unread conversations","onboarding.allConversations":"All conversations","onboarding.noConversations":"No conversations yet.","composer.placeholder":"Type your message…","composer.replyTo":"Reply to {name}…","composer.agentTakingOver":"An agent is taking over…","composer.send":"Send","composer.attach":"Attach","composer.attachFile":"Attach a file","composer.screenshot":"Screenshot","composer.recordScreen":"Record screen","composer.recording":"Recording · {time}","composer.stop":"Stop","composer.conversationEnded":"This conversation has ended.","composer.conversationClosed":"This conversation has been closed.","composer.reopen":"Reopen conversation","composer.newConversation":"New conversation","resolution.title":"Shall we close this conversation?","resolution.confirm":"Yes, close","resolution.decline":"Not yet","messageList.loadingHistory":"Loading history…","messageList.conversationStart":"Start of the conversation","messageList.unread":"Unread","messageList.today":"Today · {time}","messageList.approvalRequestSent":"Approval request sent","messageList.conversationUpdate":"Conversation update","messageList.anAgent":"An agent","messageList.scrollToBottom":"Scroll to bottom","system.transferredToHuman":"Conversation transferred to a human","system.assigned":"{name} joined the conversation","system.unassigned":"The agent left the conversation","system.resolved":"Conversation resolved","system.closed":"Conversation closed","system.reopened":"Conversation reopened","system.idle":"Conversation paused","action.title":"Confirm the action","action.inProgress":"{name} in progress, please wait…","action.rejectedByUser":"Action cancelled by the user.","action.rejectedByAdmin":"Action declined by an agent.","approval.approve":"Approve","approval.reject":"Decline","moreMenu.editTitle":"Edit title","moreMenu.exportTranscript":"Export transcript","moreMenu.sound":"Sound","moreMenu.serviceStatus":"Service status","moreMenu.helpCenter":"Help center","feedback.question":"How was this conversation?","feedback.subtitle":"Your feedback helps us improve the assistant.","feedback.rating1":"Poor","feedback.rating2":"Okay","feedback.rating3":"Good","feedback.rating4":"Great","feedback.rating5":"Excellent","feedback.submit":"Send my feedback","feedback.doneTitle":"Thanks for your feedback!","feedback.doneSubtitle":"Your feedback has been recorded.","rename.dialogTitle":"Edit conversation title","rename.title":"Edit title","rename.placeholder":"Conversation title","form.title":"Form","form.choose":"Choose…","form.responseSent":"Response sent","form.sent":"Sent","form.fieldRequired":"“{label}” is required.","ticket.dateAt":" at ","attachment.fallbackName":"Attachment","attachment.remove":"Remove","attachment.fileFallbackName":"file","attachment.bytes":"{size} B","attachment.kilobytes":"{size} KB","attachment.megabytes":"{size} MB","notification.newMessage":"New message","notification.youHaveNewMessage":"You have a new message","export.createdOn":"Created on: {date}"}};function ie(e){if(typeof e!="string")return G;const t=e.trim().toLowerCase().slice(0,2);return Ne.includes(t)?t:G}function U(e){return pe[ie(e)]||pe[G]}function T(e){const t=ie(e),s=me[t]||me[G],o=me[G];return function(r,i){let l=s[r];return l==null&&(l=o[r]),l==null?r:(i&&(l=l.replace(/\{(\w+)\}/g,(m,y)=>i[y]!=null?String(i[y]):m)),l)}}function _e(e,t){if(!Array.isArray(e==null?void 0:e.options))return t;const s=e.options.find(o=>(o==null?void 0:o.value)===t);return(s==null?void 0:s.label)||t}function Ae(e,t,s){return Array.isArray(t)?t.map(o=>_e(e,String(o))).join(", "):typeof t=="boolean"?s(t?"common.yes":"common.no"):_e(e,String(t))}function ut(e,t,s=T()){if(!e||!t)return"";const o=Array.isArray(e.fields)?e.fields:[],a=[];for(const r of o){if(!(r!=null&&r.key)||!(r!=null&&r.label))continue;const i=t[r.key];if(i==null||i==="")continue;const l=Ae(r,i,s);l&&a.push(`${r.label} :
50
+ I reply within seconds.`,"onboarding.newMessage":"New message","onboarding.statusInProgress":"In progress","onboarding.resume":"Resume","onboarding.unreadConversations":"Unread conversations","onboarding.allConversations":"All conversations","onboarding.noConversations":"No conversations yet.","composer.placeholder":"Type your message…","composer.replyTo":"Reply to {name}…","composer.agentTakingOver":"An agent is taking over…","composer.send":"Send","composer.attach":"Attach","composer.attachFile":"Attach a file","composer.screenshot":"Screenshot","composer.recordScreen":"Record screen","composer.recording":"Recording · {time}","composer.stop":"Stop","composer.conversationEnded":"This conversation has ended.","composer.conversationClosed":"This conversation has been closed.","composer.reopen":"Reopen conversation","composer.newConversation":"New conversation","resolution.title":"Shall we close this conversation?","resolution.confirm":"Yes, close","resolution.decline":"Not yet","messageList.loadingHistory":"Loading history…","messageList.conversationStart":"Start of the conversation","messageList.unread":"Unread","messageList.today":"Today · {time}","messageList.approvalRequestSent":"Approval request sent","messageList.conversationUpdate":"Conversation update","messageList.anAgent":"An agent","messageList.scrollToBottom":"Scroll to bottom","system.transferredToHuman":"Conversation transferred to a human","system.assigned":"{name} joined the conversation","system.unassigned":"The agent left the conversation","system.resolved":"Conversation resolved","system.closed":"Conversation closed","system.reopened":"Conversation reopened","system.idle":"Conversation paused","action.title":"Confirm the action","action.inProgress":"{name} in progress, please wait…","action.rejectedByUser":"Action cancelled by the user.","action.rejectedByAdmin":"Action declined by an agent.","approval.approve":"Approve","approval.reject":"Decline","moreMenu.editTitle":"Edit title","moreMenu.exportTranscript":"Export transcript","moreMenu.sound":"Sound","moreMenu.serviceStatus":"Service status","moreMenu.helpCenter":"Help center","feedback.question":"How was this conversation?","feedback.subtitle":"Your feedback helps us improve the assistant.","feedback.rating1":"Poor","feedback.rating2":"Okay","feedback.rating3":"Good","feedback.rating4":"Great","feedback.rating5":"Excellent","feedback.submit":"Send my feedback","feedback.doneTitle":"Thanks for your feedback!","feedback.doneSubtitle":"Your feedback has been recorded.","rename.dialogTitle":"Edit conversation title","rename.title":"Edit title","rename.placeholder":"Conversation title","form.title":"Form","form.choose":"Choose…","form.responseSent":"Response sent","form.sent":"Sent","form.fieldRequired":"“{label}” is required.","ticket.dateAt":" at ","attachment.fallbackName":"Attachment","attachment.remove":"Remove","attachment.fileFallbackName":"file","attachment.bytes":"{size} B","attachment.kilobytes":"{size} KB","attachment.megabytes":"{size} MB","notification.newMessage":"New message","notification.youHaveNewMessage":"You have a new message","export.createdOn":"Created on: {date}"}};function ie(e){if(typeof e!="string")return $;const t=e.trim().toLowerCase().slice(0,2);return Ne.includes(t)?t:$}function U(e){return pe[ie(e)]||pe[$]}function T(e){const t=ie(e),s=me[t]||me[$],o=me[$];return function(r,i){let l=s[r];return l==null&&(l=o[r]),l==null?r:(i&&(l=l.replace(/\{(\w+)\}/g,(m,y)=>i[y]!=null?String(i[y]):m)),l)}}function _e(e,t){if(!Array.isArray(e==null?void 0:e.options))return t;const s=e.options.find(o=>(o==null?void 0:o.value)===t);return(s==null?void 0:s.label)||t}function Ae(e,t,s){return Array.isArray(t)?t.map(o=>_e(e,String(o))).join(", "):typeof t=="boolean"?s(t?"common.yes":"common.no"):_e(e,String(t))}function ut(e,t,s=T()){if(!e||!t)return"";const o=Array.isArray(e.fields)?e.fields:[],a=[];for(const r of o){if(!(r!=null&&r.key)||!(r!=null&&r.label))continue;const i=t[r.key];if(i==null||i==="")continue;const l=Ae(r,i,s);l&&a.push(`${r.label} :
51
51
  ${l}`)}return a.join(`
52
52
 
53
53
  `)}function mt(e,t,s=T()){const o=[],a=Array.isArray(e==null?void 0:e.fields)?e.fields:[];for(const r of a){if(!(r!=null&&r.key)||!(r!=null&&r.label))continue;const i=t==null?void 0:t[r.key];if(i==null||i==="")continue;const l=Ae(r,i,s);if(!l)continue;const m=r.type==="textarea"||typeof l=="string"&&(l.length>60||l.includes(`
@@ -55,4 +55,4 @@ ${l}`)}return a.join(`
55
55
  `),s=[];let o=0;for(;o<t.length;){const r=t[o];if(/^\s*```([\w-]*)\s*$/.exec(r)){o++;const y=[];for(;o<t.length&&!/^\s*```\s*$/.test(t[o]);)y.push(t[o]),o++;o<t.length&&o++,s.push({type:"block",html:`<pre class="wm-md-pre"><code>${y.join(`
56
56
  `)}</code></pre>`});continue}if(/^\s*[-*]\s+/.test(r)){const y=[];for(;o<t.length;){const b=/^\s*[-*]\s+(.*)$/.exec(t[o]);if(!b)break;y.push(b[1]),o++}const g=y.map(b=>`<li>${Q(b)}</li>`).join("");s.push({type:"block",html:`<ul class="wm-md-ul">${g}</ul>`});continue}const l=/^\s*(\d+)\.\s+(.*)$/.exec(r);if(l){const y=parseInt(l[1],10),g=[l[2]];for(o++;o<t.length;){const k=/^\s*\d+\.\s+(.*)$/.exec(t[o]);if(!k)break;g.push(k[1]),o++}const b=g.map(k=>`<li>${Q(k)}</li>`).join(""),N=y!==1?` start="${y}"`:"";s.push({type:"block",html:`<ol class="wm-md-ol"${N}>${b}</ol>`});continue}const m=/^(#{1,6})\s+(.*)$/.exec(r);if(m){const y=m[1].length;s.push({type:"block",html:`<h${y} class="wm-md-h wm-md-h${y}">${Q(m[2])}</h${y}>`}),o++;continue}s.push({type:"text",html:Q(r)}),o++}let a="";for(let r=0;r<s.length;r++){const i=s[r];a+=i.html;const l=s[r+1];l&&i.type!=="block"&&l.type!=="block"&&(a+=`
57
57
  `)}return a}function Z(e){var s;const t=(s=e==null?void 0:e.author)==null?void 0:s.type;return t==="agent_ia"||t==="agent_human"}function O(e){if(e==null)return null;const t=typeof e=="number"?e:Number(e);return Number.isFinite(t)?t:null}function ve(e,t){let s=(e==null?void 0:e.last_message_at)||(e==null?void 0:e.updated_at)||(e==null?void 0:e.created_at)||"";for(const o of t)o!=null&&o.created_at&&o.created_at>s&&(s=o.created_at);return s}function ht(e,t){var s,o,a;for(let r=t.length-1;r>=0;r--){const i=t[r];if(!i)continue;const l=typeof i.text_md=="string"?i.text_md.trim():"";if(l)return(((s=i.author)==null?void 0:s.type)==="user"?"Vous : ":"")+l.replace(/\s+/g," ");const m=(o=i.payload)==null?void 0:o.attachments;if(Array.isArray(m)&&m.length)return"📎 Pièce jointe"}return(e==null?void 0:e.last_message_preview)||(e==null?void 0:e.preview)||((a=e==null?void 0:e.metadata)==null?void 0:a.last_preview)||""}function ft(e,t){return(e==null?void 0:e.name)||((e==null?void 0:e.type)==="user"?t("common.you"):(e==null?void 0:e.type)==="agent_human"?t("common.agent"):(e==null?void 0:e.type)==="agent_ia"?t("common.aiAssistant"):t("common.system"))}function gt(e,t,s,o){const a=[`# ${e.name||s("common.conversation")}`,e.created_at?s("export.createdOn",{date:new Date(e.created_at).toLocaleString(o)}):"",""];for(const r of t){if(!r)continue;const i=(r.text_md||"").trim();if(!i)continue;const l=ft(r.author,s),m=r.created_at?new Date(r.created_at).toLocaleString(o):"";a.push(`[${m}] ${l} :`),a.push(i),a.push("")}return a.join(`
58
- `)}function pt(e,t,s=T(),o){if(!e)return;const a=gt(e,t||[],s,U(o)),r=new Blob([a],{type:"text/plain;charset=utf-8"});try{const i=URL.createObjectURL(r),l=document.createElement("a");l.href=i,l.download=`${(e.name||"conversation").replace(/[^a-z0-9-_]+/gi,"_")}.txt`,document.body.appendChild(l),l.click(),document.body.removeChild(l),setTimeout(()=>URL.revokeObjectURL(i),1e3)}catch(i){console.error("[ww-messenger] export failed",i)}}const _t={data(){const e=typeof Notification<"u";return{notifPermission:e?Notification.permission:"denied",soundEnabled:!0,browserNotifEnabled:e&&Notification.permission==="granted",_audioCtx:null}},methods:{teardownNotifications(){var e,t;if(this._audioCtx){try{(t=(e=this._audioCtx).close)==null||t.call(e)}catch{}this._audioCtx=null}},soundStorageKey(){return`wm:notif:sound:${this.widgetId||""}`},browserNotifStorageKey(){return`wm:notif:browser:${this.widgetId||""}`},hydrateNotifPref(){try{if(typeof localStorage>"u")return;const e=localStorage.getItem(this.soundStorageKey());e==="0"?this.soundEnabled=!1:e==="1"&&(this.soundEnabled=!0);const t=localStorage.getItem(this.browserNotifStorageKey());t==="0"?this.browserNotifEnabled=!1:t==="1"&&(this.browserNotifEnabled=typeof Notification<"u"&&Notification.permission==="granted")}catch{}},persistSoundPref(){try{if(typeof localStorage>"u")return;localStorage.setItem(this.soundStorageKey(),this.soundEnabled?"1":"0")}catch{}},persistBrowserNotifPref(){try{if(typeof localStorage>"u")return;localStorage.setItem(this.browserNotifStorageKey(),this.browserNotifEnabled?"1":"0")}catch{}},onSoundToggle(e){this.soundEnabled=!!e,this.persistSoundPref()},async onBrowserNotifToggle(e){if(typeof Notification>"u"){this.browserNotifEnabled=!1,this.persistBrowserNotifPref();return}if(!e){this.browserNotifEnabled=!1,this.persistBrowserNotifPref();return}let t=Notification.permission;if(t==="default"){try{t=await Notification.requestPermission()}catch(s){console.warn("[ww-messenger] notif permission request failed",s),t="denied"}this.notifPermission=t}this.browserNotifEnabled=t==="granted",this.persistBrowserNotifPref()},onMessageRevealed(e,t){var a;if(!this.soundEnabled&&!this.browserNotifEnabled||!t||!e||!Z(e))return;const s=typeof document<"u"&&document.hidden;this.isOpen&&!s&&((a=this.currentConv)==null?void 0:a.id)===t||(this.soundEnabled&&this.playNotificationSound(),this.browserNotifEnabled&&this.showBrowserNotification(t,e))},playNotificationSound(){if(typeof window>"u")return;const e=window.AudioContext||window.webkitAudioContext;if(e)try{this._audioCtx||(this._audioCtx=new e);const t=this._audioCtx;if(t.state==="suspended")try{t.resume()}catch{}const s=t.currentTime,o=t.createOscillator(),a=t.createGain();o.connect(a),a.connect(t.destination),o.type="sine",o.frequency.setValueAtTime(880,s),o.frequency.exponentialRampToValueAtTime(1320,s+.08),a.gain.setValueAtTime(0,s),a.gain.linearRampToValueAtTime(.12,s+.02),a.gain.exponentialRampToValueAtTime(1e-4,s+.28),o.start(s),o.stop(s+.32)}catch{}},showBrowserNotification(e,t){if(typeof Notification>"u"||Notification.permission!=="granted")return;const s=t==null?void 0:t.author,o=!s||s.type==="agent_ia",r=((s==null?void 0:s.name)||(o?this.agentName:"")||this.t("launcher.theAgent"))+this.t("launcher.repliedToYou"),i=typeof(t==null?void 0:t.text_md)=="string"?t.text_md.trim():"",l=i?i.slice(0,140):this.t("notification.youHaveNewMessage");try{const m=new Notification(r,{body:l,tag:`wm-${e}`,renotify:!1,silent:!0});m.onclick=()=>{try{window.focus()}catch{}this.draftConv=null,this.showOnboarding=!1,this.activeConvId=e,this.isOpen=!0,this.store&&this.store.setPanelOpen(!0);try{m.close()}catch{}}}catch(m){console.warn("[ww-messenger] notification failed",m)}}}},J=Object.freeze({firstRevealDelayMs:450,msPerChar:50,minTypingMs:900,maxTypingMs:12e3,pauseBetweenMs:300}),X=(e,t)=>Number.isFinite(e)?e:t,yt={computed:{revealPacing(){var t;const e=((t=this.widget)==null?void 0:t.reveal_pacing)||{};return{firstRevealDelayMs:X(e.first_reveal_delay_ms,J.firstRevealDelayMs),msPerChar:X(e.ms_per_char,J.msPerChar),minTypingMs:X(e.min_typing_ms,J.minTypingMs),maxTypingMs:X(e.max_typing_ms,J.maxTypingMs),pauseBetweenMs:X(e.pause_between_ms,J.pauseBetweenMs)}}},data(){return{revealedAt:{},nextRevealAt:0,revealTimers:[],_liveRevealOff:null,_liveRevealConvSnapshot:null,_liveHwm:{}}},methods:{cancelReveals(){for(const e of this.revealTimers)clearTimeout(e);this.revealTimers=[]},resetRevealQueue(){this.cancelReveals(),this.revealedAt={},this.nextRevealAt=0},setupLiveReveal(){var s,o;if(!this.transport)return;this.teardownLiveReveal();const e=this.transport.on("message",a=>{const r=a==null?void 0:a.conversation_id,i=a==null?void 0:a.message;r&&i&&this.paceLiveMessage(i,r)});this._liveRevealConvSnapshot=new Map((((s=this.s)==null?void 0:s.conversations)||[]).map(a=>[a.id,(a==null?void 0:a.last_message_at)||""])),this._liveHwm=Object.fromEntries((((o=this.s)==null?void 0:o.conversations)||[]).map(a=>[a.id,(a==null?void 0:a.last_message_at)||""]));const t=this.transport.on("activity",a=>{this.handleLiveActivity(a)});this._liveRevealOff=()=>{try{e()}catch{}try{t()}catch{}}},teardownLiveReveal(){if(this._liveRevealOff){try{this._liveRevealOff()}catch{}this._liveRevealOff=null}this._liveRevealConvSnapshot=null,this._liveHwm={}},async handleLiveActivity(e){var a,r;const t=e==null?void 0:e.conversations;if(!Array.isArray(t)||!this.store)return;const s=this._liveRevealConvSnapshot||new Map,o=[];for(const i of t){if(!(i!=null&&i.id))continue;const l=i.last_message_at||"";if(!l)continue;const m=s.get(i.id)||"";l>m&&o.push(i.id)}this._liveRevealConvSnapshot=new Map(t.map(i=>[i.id,(i==null?void 0:i.last_message_at)||""]));for(const i of o)try{const l=await((r=(a=this.store).fetchSinceLast)==null?void 0:r.call(a,i));if(!Array.isArray(l))continue;for(const m of l)this.paceLiveMessage(m,i)}catch(l){console.error("[ww-messenger] activity delta fetch failed",l)}},scheduleReveal(e,t){const s=this.revealPacing,o=Date.now(),a=((e==null?void 0:e.text_md)||"").length,r=Math.min(s.maxTypingMs,Math.max(s.minTypingMs,a*s.msPerChar)),l=Math.max(o+s.firstRevealDelayMs,this.nextRevealAt+s.pauseBetweenMs)+r;this.nextRevealAt=l;const m=Math.max(0,l-o),y=e.id,g=setTimeout(()=>{this.revealedAt={...this.revealedAt,[y]:Date.now()},this.revealTimers=this.revealTimers.filter(b=>b!==g),typeof this.onMessageRevealed=="function"&&this.onMessageRevealed(e,t)},m);this.revealTimers.push(g)},paceMessages(e,t){var a;if(!Array.isArray(e)||!e.length)return;const s=Date.now(),o={...this.revealedAt};for(const r of e){if((r==null?void 0:r.id)==null||o[r.id]!==void 0)continue;if(!Z(r)){o[r.id]=s;continue}const i=r!=null&&r.created_at?Date.parse(r.created_at):NaN;if(!Number.isFinite(i)||i<this.convOpenedAt){o[r.id]=s;continue}const l=typeof(r==null?void 0:r.text_md)=="string"&&r.text_md.trim().length>0,m=Array.isArray((a=r==null?void 0:r.payload)==null?void 0:a.attachments)&&r.payload.attachments.length>0;if(!l&&!m){o[r.id]=s;continue}o[r.id]=0,this.scheduleReveal(r,t)}this.revealedAt=o},paceLiveMessage(e,t){var l;if(!(e!=null&&e.id)||this.revealedAt[e.id]!==void 0)return;if(!Z(e)){this.revealedAt={...this.revealedAt,[e.id]:Date.now()};return}const s=typeof(e==null?void 0:e.text_md)=="string"&&e.text_md.trim().length>0,o=Array.isArray((l=e==null?void 0:e.payload)==null?void 0:l.attachments)&&e.payload.attachments.length>0;if(!s&&!o){this.revealedAt={...this.revealedAt,[e.id]:Date.now()};return}const a=this._liveHwm[t],r=(e==null?void 0:e.created_at)||"";if(r&&(a===void 0||r>a)&&(this._liveHwm={...this._liveHwm,[t]:r}),!(a!==void 0&&r&&r>a)){this.revealedAt={...this.revealedAt,[e.id]:Date.now()};return}this.revealedAt={...this.revealedAt,[e.id]:0},this.scheduleReveal(e,t)}}},vt=300,wt={data(){return{unreadAnchorId:null,unreadBoundaryTs:""}},created(){this._readMarkerTimer=null,this._readMarkerPending=null},beforeUnmount(){this._readMarkerTimer&&(clearTimeout(this._readMarkerTimer),this._readMarkerTimer=null),this._readMarkerPending=null},methods:{markConvRead(e){var r,i;if(!(e!=null&&e.id)||e._draft||!this.store)return;const t=((i=(r=this.s)==null?void 0:r.messagesByConv)==null?void 0:i[e.id])||[],s=kt(t);if(s==null)return;const o=O(e.last_read_message_id),a=O(s);a!=null&&(o!=null&&a<=o||(this._readMarkerPending={convId:e.id,messageId:s},!this._readMarkerTimer&&(this._readMarkerTimer=setTimeout(()=>{const l=this._readMarkerPending;this._readMarkerPending=null,this._readMarkerTimer=null,l&&this.store&&this.store.markConversationRead(l.convId,l.messageId)},vt))))}}};function kt(e){for(let t=e.length-1;t>=0;t--){const s=e[t];if(!(!s||s._pending)&&O(s.id)!=null)return s.id}return null}const A=(e,t)=>{const s=e.__vccOpts||e;for(const[o,a]of t)s[o]=a;return s},bt={name:"WmHumanAvatar",props:{name:{type:String,default:""},avatarUrl:{type:String,default:null},size:{type:Number,default:26},tail:{type:Boolean,default:!1}},computed:{bg(){return this.avatarUrl?"transparent":oe(this.name)},initials(){return ae(this.name)}}},Ct=["src","alt"];function Et(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["wm-huav",{"wm-huav--tail":s.tail}]),style:n.normalizeStyle({width:s.size+"px",height:s.size+"px","--wm-avr":Math.round(s.size*.32)+"px",background:r.bg})},[s.avatarUrl?(n.openBlock(),n.createElementBlock("img",{key:0,src:s.avatarUrl,alt:s.name||""},null,8,Ct)):(n.openBlock(),n.createElementBlock("span",{key:1,style:n.normalizeStyle({fontSize:s.size*.36+"px"})},n.toDisplayString(r.initials),5))],6)}const te=A(bt,[["render",Et],["__scopeId","data-v-14e10c0d"]]),Bt=3,St={name:"WmLauncher",components:{HumanAvatar:te},inject:{t:{default:()=>T()}},props:{unreadCount:{type:Number,default:0},peeks:{type:Array,default:()=>[]}},emits:["open","dismiss"],computed:{visiblePeeks(){return this.peeks.slice(0,Bt).reverse()}}},Nt=["aria-label","onClick","onKeydown"],At=["aria-label","onClick"],Vt={class:"wm-peek__avatar"},Tt=["aria-label"],Mt={class:"wm-peek__body"},xt={class:"wm-peek__head"},Lt={class:"wm-peek__name"},Rt={class:"wm-peek__action"},Dt={class:"wm-peek__text"},Ot=["onClick"],It=["aria-label"],Ft=["aria-label"];function Pt(e,t,s,o,a,r){const i=n.resolveComponent("HumanAvatar");return n.openBlock(),n.createElementBlock("div",{class:"wm-launcherWrap",onMouseenter:t[1]||(t[1]=l=>e.$emit("hover",!0)),onMouseleave:t[2]||(t[2]=l=>e.$emit("hover",!1)),onFocusin:t[3]||(t[3]=l=>e.$emit("hover",!0)),onFocusout:t[4]||(t[4]=l=>e.$emit("hover",!1))},[n.createVNode(n.Transition,{name:"wm-peek"},{default:n.withCtx(()=>[r.visiblePeeks.length?(n.openBlock(),n.createElementBlock("div",{key:0,class:n.normalizeClass(["wm-peekStack",{"wm-peekStack--multi":r.visiblePeeks.length>1}])},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.visiblePeeks,(l,m)=>(n.openBlock(),n.createElementBlock("div",{key:l.convId,class:"wm-peek",style:n.normalizeStyle({"--depth":r.visiblePeeks.length-1-m,zIndex:m+1}),role:"button",tabindex:"0","aria-label":r.t("launcher.openConversationWith",{name:l.senderName||r.t("launcher.theAgent")}),onClick:y=>e.$emit("open",l.convId),onKeydown:[n.withKeys(n.withModifiers(y=>e.$emit("open",l.convId),["prevent"]),["enter"]),n.withKeys(n.withModifiers(y=>e.$emit("open",l.convId),["prevent"]),["space"])]},[n.createElementVNode("button",{type:"button",class:"wm-peek__close","aria-label":r.t("launcher.dismiss"),onClick:n.withModifiers(y=>e.$emit("dismiss",l.convId),["stop"])},[...t[5]||(t[5]=[n.createElementVNode("svg",{width:"9",height:"9",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,At),n.createElementVNode("div",Vt,[n.createVNode(i,{name:l.senderName,"avatar-url":l.senderAvatarUrl,size:34},null,8,["name","avatar-url"]),l.count>1?(n.openBlock(),n.createElementBlock("span",{key:0,class:"wm-peek__avatarBadge","aria-label":r.t("launcher.unreadMessages",{count:l.count})},n.toDisplayString(l.count>9?"9+":l.count),9,Tt)):n.createCommentVNode("",!0)]),n.createElementVNode("div",Mt,[n.createElementVNode("div",xt,[n.createElementVNode("span",Lt,n.toDisplayString(l.senderName||r.t("common.agent")),1),n.createElementVNode("span",Rt,n.toDisplayString(r.t("launcher.repliedToYou")),1)]),n.createElementVNode("p",Dt,n.toDisplayString(l.preview),1)]),n.createElementVNode("button",{type:"button",class:"wm-peek__open",onClick:n.withModifiers(y=>e.$emit("open",l.convId),["stop"])},n.toDisplayString(r.t("common.open")),9,Ot)],44,Nt))),128))],2)):n.createCommentVNode("",!0)]),_:1}),n.createElementVNode("button",{type:"button",class:"wm-launcher","aria-label":r.t("launcher.open"),onClick:t[0]||(t[0]=l=>e.$emit("open"))},[t[6]||(t[6]=n.createElementVNode("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.7","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})],-1)),s.unreadCount>0?(n.openBlock(),n.createElementBlock("span",{key:0,class:"wm-launcher__badge","aria-label":s.unreadCount>1?r.t("launcher.unreadConversationsMany",{count:s.unreadCount}):r.t("launcher.unreadConversationsOne",{count:s.unreadCount})},n.toDisplayString(s.unreadCount>9?"9+":s.unreadCount),9,Ft)):n.createCommentVNode("",!0)],8,It)],32)}const Me=A(St,[["render",Pt],["__scopeId","data-v-d81459bc"]]),zt={name:"WmAIAvatar",props:{size:{type:Number,default:26},pulse:{type:Boolean,default:!1},tail:{type:Boolean,default:!1},name:{type:String,default:""},imageUrl:{type:String,default:null}},computed:{initials(){return ae(this.name)},bgColor(){return oe(this.name)}}},Ut={key:0,class:"wm-aiav__pulse"},Ht=["src","alt"],jt=["width","height"];function qt(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["wm-aiav",{"wm-aiav--tail":s.tail}]),style:n.normalizeStyle({width:s.size+"px",height:s.size+"px","--wm-avr":s.size*.32+"px"})},[s.pulse?(n.openBlock(),n.createElementBlock("div",Ut)):n.createCommentVNode("",!0),n.createElementVNode("div",{class:n.normalizeClass(["wm-aiav__inner",{"wm-aiav__inner--glow":s.pulse,"wm-aiav__inner--img":!!s.imageUrl,"wm-aiav__inner--initials":!s.imageUrl&&!!r.initials}]),style:n.normalizeStyle(!s.imageUrl&&r.initials?{background:r.bgColor}:null)},[s.imageUrl?(n.openBlock(),n.createElementBlock("img",{key:0,src:s.imageUrl,alt:s.name||""},null,8,Ht)):r.initials?(n.openBlock(),n.createElementBlock("span",{key:1,style:n.normalizeStyle({fontSize:s.size*.36+"px"})},n.toDisplayString(r.initials),5)):(n.openBlock(),n.createElementBlock("svg",{key:2,width:s.size*.5,height:s.size*.5,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},[...t[0]||(t[0]=[n.createElementVNode("path",{d:"M12 2 L13.5 9 L20 10.5 L13.5 12 L12 19 L10.5 12 L4 10.5 L10.5 9 Z",fill:"white",opacity:"0.92"},null,-1),n.createElementVNode("circle",{cx:"19",cy:"5",r:"1.5",fill:"white",opacity:"0.55"},null,-1),n.createElementVNode("circle",{cx:"5",cy:"18",r:"1",fill:"white",opacity:"0.38"},null,-1)])],8,jt))],6)],6)}const Y=A(zt,[["render",qt],["__scopeId","data-v-6f7f685d"]]),Kt={name:"WmTeamAvatars",props:{members:{type:Array,default:()=>[]},responseLabel:{type:String,default:""}},computed:{visible(){return Array.isArray(this.members)&&this.members.length>0},stackWidth(){return Math.min(this.members.length,3)===1?20:16+Math.min(this.members.length,3)*13}},methods:{colorFor(e){return e.avatar_url?"transparent":oe(e.name||"")},initialsFor(e){return ae(e.name||"")}}},Wt={key:0,class:"wm-team"},$t=["src","alt"],Gt={key:1},Yt={key:0,class:"wm-team__label"};function Jt(e,t,s,o,a,r){return r.visible?(n.openBlock(),n.createElementBlock("div",Wt,[n.createElementVNode("div",{class:"wm-team__stack",style:n.normalizeStyle({width:r.stackWidth+"px"})},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(s.members.slice(0,3),(i,l)=>(n.openBlock(),n.createElementBlock("div",{key:l,class:"wm-team__pill",style:n.normalizeStyle({left:l*13+"px",zIndex:3-l,background:r.colorFor(i)})},[i.avatar_url?(n.openBlock(),n.createElementBlock("img",{key:0,src:i.avatar_url,alt:i.name||""},null,8,$t)):(n.openBlock(),n.createElementBlock("span",Gt,n.toDisplayString(r.initialsFor(i)),1))],4))),128))],4),s.responseLabel?(n.openBlock(),n.createElementBlock("span",Yt,n.toDisplayString(s.responseLabel),1)):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0)}const xe=A(Kt,[["render",Jt],["__scopeId","data-v-e49a9063"]]),Xt={name:"WmHeader",components:{AIAvatar:Y,TeamAvatars:xe},inject:{t:{default:()=>T()}},props:{title:{type:String,default:"Nouvelle conversation"},showBack:{type:Boolean,default:!1},teamMembers:{type:Array,default:()=>[]},responseLabel:{type:String,default:""},showClose:{type:Boolean,default:!0},showMore:{type:Boolean,default:!0},moreActive:{type:Boolean,default:!1},showIdentity:{type:Boolean,default:!0},agentName:{type:String,default:""},agentAvatarUrl:{type:String,default:null}},emits:["back","close","more"],computed:{hasTeam(){return Array.isArray(this.teamMembers)&&this.teamMembers.length>0},displayedTeamMembers(){const e=Array.isArray(this.teamMembers)?this.teamMembers:[];if(e.length<=3)return e;const t=new Date().getHours()%e.length,s=[];for(let o=0;o<3;o++)s.push(e[(t+o)%e.length]);return s}}},Qt={class:"wm-header"},Zt=["aria-label"],en={key:1,style:{width:"30px",height:"30px","flex-shrink":"0"}},tn={class:"wm-header__avatar"},nn={class:"wm-header__main"},rn={class:"wm-header__title"},sn={key:3,class:"wm-header__fill"},on={class:"wm-header__actions"},an=["aria-label","title"],ln=["aria-label","title"];function cn(e,t,s,o,a,r){const i=n.resolveComponent("AIAvatar"),l=n.resolveComponent("TeamAvatars");return n.openBlock(),n.createElementBlock("div",Qt,[s.showBack?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"wm-header__icon wm-header__back","aria-label":r.t("header.backToHome"),onClick:t[0]||(t[0]=m=>e.$emit("back"))},[...t[3]||(t[3]=[n.createElementVNode("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M19 12H5M12 5l-7 7 7 7"})],-1)])],8,Zt)):(n.openBlock(),n.createElementBlock("div",en)),s.showIdentity?(n.openBlock(),n.createElementBlock(n.Fragment,{key:2},[n.createElementVNode("div",tn,[n.createVNode(i,{size:30,name:s.agentName,"image-url":s.agentAvatarUrl},null,8,["name","image-url"])]),n.createElementVNode("div",nn,[n.createElementVNode("div",rn,n.toDisplayString(s.title),1)]),r.hasTeam?(n.openBlock(),n.createBlock(l,{key:0,members:r.displayedTeamMembers,"response-label":""},null,8,["members"])):n.createCommentVNode("",!0)],64)):(n.openBlock(),n.createElementBlock("div",sn)),n.createElementVNode("div",on,[s.showMore?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:n.normalizeClass(["wm-header__icon",{"wm-header__icon--active":s.moreActive}]),"aria-label":r.t("header.moreOptions"),title:r.t("header.moreOptions"),onClick:t[1]||(t[1]=m=>e.$emit("more"))},[...t[4]||(t[4]=[n.createElementVNode("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},[n.createElementVNode("circle",{cx:"12",cy:"5",r:"1.6"}),n.createElementVNode("circle",{cx:"12",cy:"12",r:"1.6"}),n.createElementVNode("circle",{cx:"12",cy:"19",r:"1.6"})],-1)])],10,an)):n.createCommentVNode("",!0),s.showClose?(n.openBlock(),n.createElementBlock("button",{key:1,type:"button",class:"wm-header__icon","aria-label":r.t("header.closeWidget"),title:r.t("header.closeWidget"),onClick:t[2]||(t[2]=m=>e.$emit("close"))},[...t[5]||(t[5]=[n.createElementVNode("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,ln)):n.createCommentVNode("",!0)])])}const Le=A(Xt,[["render",cn],["__scopeId","data-v-27232009"]]),we={book:"M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253",changelog:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2",status:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z",chat:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z",link:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"},dn={name:"WmOnboarding",components:{AIAvatar:Y,HumanAvatar:te},inject:{t:{default:()=>T()},wmLocale:{default:()=>()=>"fr"}},props:{title:{type:String,default:""},subtitle:{type:String,default:""},agentName:{type:String,default:""},defaultIconUrl:{type:String,default:null},coverImageUrl:{type:String,default:null},quickLinks:{type:Array,default:()=>[]},openThreads:{type:Array,default:()=>[]},busy:{type:Boolean,default:!1},launching:{type:Boolean,default:!1},welcomeMessage:{type:String,default:""}},emits:["start","launched","select","resume","view-history"],data(){return{launchPhase:"idle",inputFocused:!1,launchDone:!1,starterText:""}},watch:{launching(e){e&&this.runLaunch()}},computed:{canStart(){return!this.busy&&!!this.starterText.trim()},typing(){return this.inputFocused&&!!this.starterText.trim()},heroTitle(){return this.title?this.title:this.agentName?this.t("onboarding.greetingNamed",{name:this.agentName}):this.t("onboarding.greeting")},heroSub(){return this.subtitle||this.t("onboarding.heroSub")},unreadThreads(){return this.openThreads.filter(e=>e.unread)},safeCoverUrl(){return ge(this.coverImageUrl)},hasCover(){return!!this.safeCoverUrl},coverStyle(){return this.safeCoverUrl?{backgroundImage:`url("${this.safeCoverUrl}")`}:null}},methods:{submitStarter(){this.canStart&&this.$emit("start",this.starterText.trim())},onStarterKeydown(e){e.key==="Enter"&&!e.shiftKey&&(e.preventDefault(),this.submitStarter())},onInputFocus(){this.launchPhase==="idle"&&(this.inputFocused=!0,this.$nextTick(()=>this.autosize()))},onInputBlur(){this.launchPhase==="idle"&&(this.inputFocused=!1,this.$nextTick(()=>this.autosize()))},autosize(){const e=this.$refs.starterInput;if(!e||e.clientWidth<40)return;e.style.height="auto",e.style.minHeight="0px";const t=e.scrollHeight;e.style.minHeight="",e.style.height=t>62?`${Math.min(t,120)}px`:""},async runLaunch(){const e=this.$refs.starterForm,t=typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(!e||t){this.launchPhase="fade",await this.wait(t?120:0),this.finishLaunch();return}this.launchPhase="fade",await this.wait(320);const s=e.getBoundingClientRect();this.launchPhase="slide",await this.$nextTick();const o=e.getBoundingClientRect(),a=s.left-o.left,r=s.top-o.top;e.style.transition="none",e.style.transform=`translate(${a}px, ${r}px)`,e.offsetWidth,e.style.transition="transform 0.44s cubic-bezier(0.32, 0.72, 0, 1)",e.style.transform="translate(0, 0)";const i=()=>{e.removeEventListener("transitionend",i),this.finishLaunch()};e.addEventListener("transitionend",i),this.wait(520).then(()=>this.finishLaunch())},finishLaunch(){this.launchDone||(this.launchDone=!0,this.$emit("launched"))},wait(e){return new Promise(t=>window.setTimeout(t,e))},iconPath(e){return we[e]||we.link},isExternalLink(e){const t=e==null?void 0:e.url;return!!t&&!t.startsWith("#")},safeIconUrl(e){return ge(e==null?void 0:e.icon_url)},iconUrlStyle(e){const t=this.safeIconUrl(e);return t?{"--icon-url":`url("${t}")`}:null},renderPreview(e){return fe(e)},avatarComponent(e){var t;return((t=e==null?void 0:e.author)==null?void 0:t.type)==="agent_human"?"HumanAvatar":"AIAvatar"},avatarProps(e){const t=e==null?void 0:e.author;return(t==null?void 0:t.type)==="agent_human"?{size:40,name:t.name||"",avatarUrl:t.avatar_url||null}:{size:40,name:(t==null?void 0:t.name)||"",imageUrl:(t==null?void 0:t.avatar_url)||null}},isDefaultAvatar(e){const t=e==null?void 0:e.author;return!(t!=null&&t.avatar_url||t!=null&&t.name)},avatarWrapperClass(e){return this.isDefaultAvatar(e)&&!(e!=null&&e.unread)?"wm-onb__avatar--muted":null},senderLabel(e){var t;return((t=e==null?void 0:e.author)==null?void 0:t.name)||""},formatTs(e){if(!e)return"";const t=new Date(e);if(Number.isNaN(t.getTime()))return"";const s=U(this.wmLocale()),o=new Date;if(t.toDateString()===o.toDateString())return t.toLocaleTimeString(s,{hour:"2-digit",minute:"2-digit"});if(o.getTime()-t.getTime()<7*864e5){const i=t.toLocaleDateString(s,{weekday:"short"});return i.charAt(0).toUpperCase()+i.slice(1)}return t.toLocaleDateString(s,{day:"2-digit",month:"2-digit"})}}},un=["aria-label"],mn={key:1,class:"wm-onb__hero-deco",width:"180",height:"180",viewBox:"0 0 180 180",fill:"none","aria-hidden":"true"},hn={class:"wm-onb__hero-text"},fn={class:"wm-onb__hero-default"},gn={class:"wm-onb__title"},pn={class:"wm-onb__sub"},_n={key:0,class:"wm-onb__welcome"},yn={key:0,class:"wm-onb__alertList"},vn=["onClick"],wn={key:0,class:"wm-onb__defaultAvatar"},kn=["aria-label"],bn={class:"wm-onb__alert-body"},Cn={class:"wm-onb__alert-title"},En={class:"wm-onb__alert-preview"},Bn={key:0,class:"wm-onb__alert-sender"},Sn=["innerHTML"],Nn={class:"wm-onb__alert-meta"},An={key:0,class:"wm-onb__alert-time"},Vn={class:"wm-onb__alert-resume"},Tn={class:"wm-onb__actions"},Mn=["onClick"],xn={class:"wm-onb__btn-icon"},Ln=["aria-label"],Rn={key:1,width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.9","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},Dn=["d"],On={class:"wm-onb__btn-label"},In={key:0,class:"wm-onb__btn-trail",width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},Fn={class:"wm-onb__btn-icon"},Pn={width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},zn=["d"],Un={class:"wm-onb__btn-label"},Hn={class:"wm-onb__btn-count"},jn=["placeholder","disabled","aria-label"],qn=["disabled","aria-label"],Kn={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},Wn={key:1,class:"wm-onb__starter-spinner","aria-hidden":"true"};function $n(e,t,s,o,a,r){const i=n.resolveComponent("AIAvatar");return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["wm-onb",{"wm-onb--launching":a.launchPhase!=="idle","wm-onb--sliding":a.launchPhase==="slide","wm-onb--focused":a.inputFocused,"wm-onb--typing":r.typing}])},[n.createElementVNode("div",{class:n.normalizeClass(["wm-onb__hero",{"wm-onb__hero--cover":r.hasCover}])},[r.hasCover?(n.openBlock(),n.createElementBlock("div",{key:0,class:"wm-onb__cover",style:n.normalizeStyle(r.coverStyle),role:"img","aria-label":r.heroTitle},null,12,un)):n.createCommentVNode("",!0),r.hasCover?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("svg",mn,[...t[7]||(t[7]=[n.createElementVNode("circle",{cx:"170",cy:"10",r:"105",stroke:"#5B5FEF","stroke-width":"1","stroke-dasharray":"1 5",opacity:"0.35"},null,-1),n.createElementVNode("circle",{cx:"170",cy:"10",r:"72",stroke:"#5B5FEF","stroke-width":"1","stroke-dasharray":"1 5",opacity:"0.5"},null,-1),n.createElementVNode("circle",{cx:"152",cy:"34",r:"2.5",fill:"#5B5FEF",opacity:"0.65"},null,-1)])])),n.createVNode(i,{size:52,"image-url":s.defaultIconUrl},null,8,["image-url"]),n.createElementVNode("div",hn,[n.createElementVNode("div",fn,[n.createElementVNode("div",gn,n.toDisplayString(r.heroTitle),1),n.createElementVNode("div",pn,n.toDisplayString(r.heroSub),1)]),s.welcomeMessage?(n.openBlock(),n.createElementBlock("div",_n,n.toDisplayString(s.welcomeMessage),1)):n.createCommentVNode("",!0)])],2),r.unreadThreads.length?(n.openBlock(),n.createElementBlock("div",yn,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.unreadThreads,l=>(n.openBlock(),n.createElementBlock("button",{key:l.id,type:"button",class:"wm-onb__alert",onClick:m=>e.$emit("resume",l)},[n.createElementVNode("span",{class:n.normalizeClass(["wm-onb__alert-avatar",r.avatarWrapperClass(l)])},[r.isDefaultAvatar(l)?(n.openBlock(),n.createElementBlock("span",wn,[...t[8]||(t[8]=[n.createElementVNode("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.7","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})],-1)])])):(n.openBlock(),n.createBlock(n.resolveDynamicComponent(r.avatarComponent(l)),n.mergeProps({key:1,ref_for:!0},r.avatarProps(l)),null,16)),n.createElementVNode("span",{class:"wm-onb__alert-dot","aria-label":r.t("onboarding.unread")},null,8,kn)],2),n.createElementVNode("span",bn,[n.createElementVNode("span",Cn,n.toDisplayString(l.title),1),n.createElementVNode("span",En,[r.senderLabel(l)?(n.openBlock(),n.createElementBlock("span",Bn,n.toDisplayString(r.senderLabel(l))+" · ",1)):n.createCommentVNode("",!0),n.createElementVNode("span",{innerHTML:r.renderPreview(l.preview)},null,8,Sn)])]),n.createElementVNode("span",Nn,[r.formatTs(l._ts)?(n.openBlock(),n.createElementBlock("span",An,n.toDisplayString(r.formatTs(l._ts)),1)):n.createCommentVNode("",!0),n.createElementVNode("span",Vn,n.toDisplayString(r.t("onboarding.resume")),1)])],8,vn))),128))])):n.createCommentVNode("",!0),n.createElementVNode("div",Tn,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(s.quickLinks,(l,m)=>(n.openBlock(),n.createElementBlock("button",{key:"ql-"+m,type:"button",class:"wm-onb__btn",onClick:y=>e.$emit("select",l)},[n.createElementVNode("span",xn,[r.safeIconUrl(l)?(n.openBlock(),n.createElementBlock("span",{key:0,class:"wm-onb__btn-iconImg",style:n.normalizeStyle(r.iconUrlStyle(l)),role:"img","aria-label":l.label||""},null,12,Ln)):(n.openBlock(),n.createElementBlock("svg",Rn,[n.createElementVNode("path",{d:r.iconPath(l.icon)},null,8,Dn)]))]),n.createElementVNode("span",On,n.toDisplayString(l.label),1),r.isExternalLink(l)?(n.openBlock(),n.createElementBlock("svg",In,[...t[9]||(t[9]=[n.createElementVNode("path",{d:"M7 17L17 7M9 7h8v8"},null,-1)])])):n.createCommentVNode("",!0)],8,Mn))),128)),s.openThreads.length?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"wm-onb__btn",onClick:t[0]||(t[0]=l=>e.$emit("view-history"))},[n.createElementVNode("span",Fn,[(n.openBlock(),n.createElementBlock("svg",Pn,[n.createElementVNode("path",{d:r.iconPath("chat")},null,8,zn)]))]),n.createElementVNode("span",Un,n.toDisplayString(r.t("onboarding.allConversations")),1),n.createElementVNode("span",Hn,n.toDisplayString(s.openThreads.length),1),t[10]||(t[10]=n.createElementVNode("svg",{class:"wm-onb__btn-trail",width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M9 18l6-6-6-6"})],-1))])):n.createCommentVNode("",!0),n.createElementVNode("form",{ref:"starterForm",class:n.normalizeClass(["wm-onb__starter",{"is-active":!!a.starterText.trim(),"is-expanded":a.inputFocused,"wm-onb__starter--toBottom":a.launchPhase==="slide"}]),onSubmit:t[6]||(t[6]=n.withModifiers((...l)=>r.submitStarter&&r.submitStarter(...l),["prevent"]))},[n.withDirectives(n.createElementVNode("textarea",{ref:"starterInput","onUpdate:modelValue":t[1]||(t[1]=l=>a.starterText=l),class:"wm-onb__starter-input",rows:"1",placeholder:r.t("onboarding.starterPlaceholder"),disabled:s.busy,"aria-label":r.t("onboarding.start"),enterkeyhint:"send",onKeydown:t[2]||(t[2]=(...l)=>r.onStarterKeydown&&r.onStarterKeydown(...l)),onInput:t[3]||(t[3]=(...l)=>r.autosize&&r.autosize(...l)),onFocus:t[4]||(t[4]=(...l)=>r.onInputFocus&&r.onInputFocus(...l)),onBlur:t[5]||(t[5]=(...l)=>r.onInputBlur&&r.onInputBlur(...l))},null,40,jn),[[n.vModelText,a.starterText]]),n.createElementVNode("button",{type:"submit",class:n.normalizeClass(["wm-onb__starter-send",{"is-empty":!r.canStart}]),disabled:s.busy||!r.canStart,"aria-label":r.t("composer.send")},[s.busy?(n.openBlock(),n.createElementBlock("span",Wn)):(n.openBlock(),n.createElementBlock("svg",Kn,[...t[11]||(t[11]=[n.createElementVNode("path",{d:"M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z"},null,-1)])]))],10,qn)],34)])],2)}const Re=A(dn,[["render",$n],["__scopeId","data-v-cfaffcfa"]]),Gn={name:"WmHistory",components:{AIAvatar:Y,HumanAvatar:te},inject:{t:{default:()=>T()},wmLocale:{default:()=>()=>"fr"}},props:{threads:{type:Array,default:()=>[]}},emits:["resume"],data(){return{query:""}},computed:{filteredThreads(){const e=this.query.trim().toLowerCase();return e?this.threads.filter(t=>(t.title||"").toLowerCase().includes(e)||(t.preview||"").toLowerCase().includes(e)):this.threads}},methods:{renderPreview(e){return fe(e)},avatarComponent(e){var t;return((t=e==null?void 0:e.author)==null?void 0:t.type)==="agent_human"?"HumanAvatar":"AIAvatar"},avatarProps(e){const t=e==null?void 0:e.author;return(t==null?void 0:t.type)==="agent_human"?{size:40,name:t.name||"",avatarUrl:t.avatar_url||null}:{size:40,name:(t==null?void 0:t.name)||"",imageUrl:(t==null?void 0:t.avatar_url)||null}},isDefaultAvatar(e){const t=e==null?void 0:e.author;return!(t!=null&&t.avatar_url||t!=null&&t.name)},avatarWrapperClass(e){return this.isDefaultAvatar(e)&&!(e!=null&&e.unread)?"wm-hist__avatar--muted":null},formatTs(e){if(!e)return"";const t=new Date(e);if(Number.isNaN(t.getTime()))return"";const s=U(this.wmLocale()),o=new Date;if(t.toDateString()===o.toDateString())return t.toLocaleTimeString(s,{hour:"2-digit",minute:"2-digit"});if(o.getTime()-t.getTime()<7*864e5){const i=t.toLocaleDateString(s,{weekday:"short"});return i.charAt(0).toUpperCase()+i.slice(1)}return t.toLocaleDateString(s,{day:"2-digit",month:"2-digit"})}}},Yn={class:"wm-hist"},Jn={class:"wm-hist__search"},Xn=["placeholder","aria-label"],Qn={class:"wm-hist__list"},Zn=["onClick"],er={key:0,class:"wm-hist__defaultAvatar"},tr=["aria-label"],nr={class:"wm-hist__thread-body"},rr={class:"wm-hist__thread-title"},sr=["innerHTML"],or={class:"wm-hist__thread-meta"},ar={key:0,class:"wm-hist__thread-time"},ir={key:0,class:"wm-hist__empty"};function lr(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",Yn,[n.createElementVNode("div",Jn,[t[1]||(t[1]=n.createElementVNode("span",{class:"wm-hist__searchIcon"},[n.createElementVNode("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M21 21l-4.35-4.35M11 17a6 6 0 100-12 6 6 0 000 12z"})])],-1)),n.withDirectives(n.createElementVNode("input",{"onUpdate:modelValue":t[0]||(t[0]=i=>a.query=i),type:"text",placeholder:r.t("onboarding.search"),"aria-label":r.t("onboarding.search")},null,8,Xn),[[n.vModelText,a.query]])]),n.createElementVNode("div",Qn,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.filteredThreads,i=>(n.openBlock(),n.createElementBlock("button",{key:i.id,type:"button",class:n.normalizeClass(["wm-hist__thread",{"wm-hist__thread--unread":i.unread}]),onClick:l=>e.$emit("resume",i)},[n.createElementVNode("span",{class:n.normalizeClass(["wm-hist__thread-avatar",r.avatarWrapperClass(i)])},[r.isDefaultAvatar(i)?(n.openBlock(),n.createElementBlock("span",er,[...t[2]||(t[2]=[n.createElementVNode("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"})],-1)])])):(n.openBlock(),n.createBlock(n.resolveDynamicComponent(r.avatarComponent(i)),n.mergeProps({key:1,ref_for:!0},r.avatarProps(i)),null,16)),i.unread?(n.openBlock(),n.createElementBlock("span",{key:2,class:"wm-hist__thread-dot","aria-label":r.t("onboarding.unread")},null,8,tr)):n.createCommentVNode("",!0)],2),n.createElementVNode("span",nr,[n.createElementVNode("span",rr,n.toDisplayString(i.title),1),n.createElementVNode("span",{class:"wm-hist__thread-preview",innerHTML:r.renderPreview(i.preview)},null,8,sr)]),n.createElementVNode("span",or,[r.formatTs(i._ts)?(n.openBlock(),n.createElementBlock("span",ar,n.toDisplayString(r.formatTs(i._ts)),1)):n.createCommentVNode("",!0),t[3]||(t[3]=n.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round",class:"wm-hist__thread-chev","aria-hidden":"true"},[n.createElementVNode("path",{d:"M5 12h14M13 5l7 7-7 7"})],-1))])],10,Zn))),128)),r.filteredThreads.length?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("div",ir,n.toDisplayString(a.query?r.t("onboarding.noResults",{query:a.query}):r.t("onboarding.noConversations")),1))])])}const cr=A(Gn,[["render",lr],["__scopeId","data-v-6bf35ef1"]]);function dr(e){return typeof e!="string"?"":e.replace(/`([^`]+)`/g,"$1").replace(/\*\*([^*]+)\*\*/g,"$1").replace(new RegExp("(?<!\\*)\\*([^*]+)\\*(?!\\*)","g"),"$1").replace(/__([^_]+)__/g,"$1").replace(/\[([^\]]+)\]\([^)]+\)/g,"$1").replace(/\s+/g," ").trim()}const ur={name:"WmActionResult",props:{state:{type:String,default:"success"},label:{type:String,required:!0},detail:{type:String,default:""}},computed:{detailText(){return dr(this.detail)}}},mr={class:"wm-result__icon","aria-hidden":"true"},hr={key:0,width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.8","stroke-linecap":"round","stroke-linejoin":"round"},fr={key:1,width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.6","stroke-linecap":"round","stroke-linejoin":"round"},gr={key:2,width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.4","stroke-linecap":"round","stroke-linejoin":"round"},pr={key:3,width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.2","stroke-linecap":"round","stroke-linejoin":"round"},_r={class:"wm-result__body"},yr={class:"wm-result__label"},vr={class:"wm-result__detail"};function wr(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["wm-result",`wm-result--${s.state}`])},[n.createElementVNode("span",mr,[s.state==="success"?(n.openBlock(),n.createElementBlock("svg",hr,[...t[0]||(t[0]=[n.createElementVNode("path",{d:"M20 6L9 17l-5-5"},null,-1)])])):s.state==="rejected"?(n.openBlock(),n.createElementBlock("svg",fr,[...t[1]||(t[1]=[n.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"},null,-1)])])):s.state==="awaiting"?(n.openBlock(),n.createElementBlock("svg",gr,[...t[2]||(t[2]=[n.createElementVNode("circle",{cx:"12",cy:"12",r:"10"},null,-1),n.createElementVNode("polyline",{points:"12 7 12 12 15 14"},null,-1)])])):(n.openBlock(),n.createElementBlock("svg",pr,[...t[3]||(t[3]=[n.createElementVNode("path",{d:"M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z"},null,-1),n.createElementVNode("line",{x1:"12",y1:"9",x2:"12",y2:"13"},null,-1),n.createElementVNode("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"},null,-1)])]))]),n.createElementVNode("span",_r,[n.createElementVNode("span",yr,n.toDisplayString(s.label),1),r.detailText?(n.openBlock(),n.createElementBlock(n.Fragment,{key:0},[t[4]||(t[4]=n.createElementVNode("span",{class:"wm-result__sep","aria-hidden":"true"}," · ",-1)),n.createElementVNode("span",vr,n.toDisplayString(r.detailText),1)],64)):n.createCommentVNode("",!0)])],2)}const De=A(ur,[["render",wr],["__scopeId","data-v-7284acd0"]]),kr={name:"WmArtifactFormResponse",inject:{t:{default:()=>T()}},props:{data:{type:Object,required:!0}},computed:{fields(){var e;return Array.isArray((e=this.data)==null?void 0:e.fields)?this.data.fields:[]}}},br={class:"wm-art wm-art--formResponse"},Cr={class:"wm-art__head"},Er={class:"wm-art__title"},Br={class:"wm-art__badge wm-art__badge--success"},Sr={class:"wm-art__body"},Nr={class:"wm-art__fieldLabel"};function Ar(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",br,[n.createElementVNode("div",Cr,[n.createElementVNode("div",Er,n.toDisplayString(s.data.title||r.t("form.title")),1),n.createElementVNode("span",Br,[t[0]||(t[0]=n.createElementVNode("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("polyline",{points:"20 6 9 17 4 12"})],-1)),n.createTextVNode(" "+n.toDisplayString(r.t("form.sent")),1)])]),n.createElementVNode("div",Sr,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.fields,(i,l)=>(n.openBlock(),n.createElementBlock("div",{key:l,class:"wm-art__field"},[n.createElementVNode("div",Nr,n.toDisplayString(i.label),1),n.createElementVNode("div",{class:n.normalizeClass(["wm-art__fieldValue",{"wm-art__fieldValue--multi":i.multiline}])},n.toDisplayString(i.value),3)]))),128))])])}const Oe=A(kr,[["render",Ar],["__scopeId","data-v-713aecf1"]]),Vr={name:"WmArtifactInfoCard",props:{data:{type:Object,required:!0}},computed:{fields(){var e;return Array.isArray((e=this.data)==null?void 0:e.fields)?this.data.fields:[]},hasBody(){var e;return!!((e=this.data)!=null&&e.body)||this.fields.length>0}}},Tr={class:"wm-art wm-art--infoCard"},Mr={key:0,class:"wm-art__image"},xr=["src","alt"],Lr={class:"wm-art__head"},Rr={class:"wm-art__headMain"},Dr={class:"wm-art__title"},Or={key:0,class:"wm-art__subtitle"},Ir={key:1,class:"wm-art__body"},Fr={key:0,class:"wm-art__text"},Pr={class:"wm-art__fieldLabel"};function zr(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",Tr,[s.data.image_url?(n.openBlock(),n.createElementBlock("figure",Mr,[n.createElementVNode("img",{src:s.data.image_url,alt:s.data.title||"",loading:"lazy"},null,8,xr)])):n.createCommentVNode("",!0),n.createElementVNode("div",Lr,[n.createElementVNode("div",Rr,[n.createElementVNode("div",Dr,n.toDisplayString(s.data.title),1),s.data.subtitle?(n.openBlock(),n.createElementBlock("div",Or,n.toDisplayString(s.data.subtitle),1)):n.createCommentVNode("",!0)]),s.data.badge&&s.data.badge.label?(n.openBlock(),n.createElementBlock("span",{key:0,class:n.normalizeClass(["wm-art__badge",`wm-art__badge--${s.data.badge.tone||"neutral"}`])},n.toDisplayString(s.data.badge.label),3)):n.createCommentVNode("",!0)]),r.hasBody?(n.openBlock(),n.createElementBlock("div",Ir,[s.data.body?(n.openBlock(),n.createElementBlock("div",Fr,n.toDisplayString(s.data.body),1)):n.createCommentVNode("",!0),r.fields.length?(n.openBlock(!0),n.createElementBlock(n.Fragment,{key:1},n.renderList(r.fields,(i,l)=>(n.openBlock(),n.createElementBlock("div",{key:l,class:"wm-art__field"},[n.createElementVNode("div",Pr,n.toDisplayString(i.label),1),n.createElementVNode("div",{class:n.normalizeClass(["wm-art__fieldValue",{"wm-art__fieldValue--multi":i.multiline}])},n.toDisplayString(i.value),3)]))),128)):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0)])}const Ie=A(Vr,[["render",zr],["__scopeId","data-v-7eae0e4a"]]);function Ur(e,t,s){if(!e)return"";const o=new Date(e);if(Number.isNaN(o.getTime()))return e;const a=o.toLocaleDateString(t,{day:"numeric",month:"long",year:"numeric"}),r=o.toLocaleTimeString(t,{hour:"2-digit",minute:"2-digit"});return`${a}${s}${r}`}const Hr={name:"WmArtifactTicket",inject:{t:{default:()=>T()},wmLocale:{default:()=>()=>"fr"}},props:{data:{type:Object,required:!0}},computed:{fields(){var e;return Array.isArray((e=this.data)==null?void 0:e.fields)?this.data.fields:[]},formattedDate(){var e;return Ur((e=this.data)==null?void 0:e.created_at,U(this.wmLocale()),this.t("ticket.dateAt"))}},methods:{isPriority(e){return/priorit|^prio$/i.test(String(e||"").trim())},isDate(e){return/date|échéanc|echeanc|deadline|due|créé|cree/i.test(String(e||"").trim())},priorityLevel(e){const t=String(e||"").toLowerCase();return/high|haute|élev|elev|critic|critiq|urgent/.test(t)?3:/low|basse|faible|minor/.test(t)?1:2}}},jr={class:"wm-art wm-art--ticket"},qr={class:"wm-art__head wm-tk__head"},Kr={class:"wm-art__title wm-tk__title"},Wr={class:"wm-tk__sub"},$r={class:"wm-tk__ref"},Gr={key:0,class:"wm-tk__text"},Yr={key:0,class:"wm-art__body"},Jr={class:"wm-art__fieldLabel"},Xr=["data-level"],Qr={key:1,class:"wm-tk__date",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},Zr={key:1,class:"wm-art__footer wm-tk__footer"};function es(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",jr,[n.createElementVNode("div",qr,[n.createElementVNode("div",Kr,n.toDisplayString(s.data.title),1),n.createElementVNode("div",Wr,[n.createElementVNode("div",$r,[t[0]||(t[0]=n.createElementVNode("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M20 12a2 2 0 0 1 2-2V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v4a2 2 0 0 1 0 4v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 1-2-2z"}),n.createElementVNode("path",{d:"M13 5v2M13 17v2M13 11v2"})],-1)),n.createElementVNode("span",null,n.toDisplayString(s.data.reference),1)]),n.createElementVNode("span",{class:n.normalizeClass(["wm-art__badge","wm-tk__badge",`wm-art__badge--${s.data.status.tone||"neutral"}`])},[t[1]||(t[1]=n.createElementVNode("span",{class:"wm-tk__dot","aria-hidden":"true"},null,-1)),n.createTextVNode(" "+n.toDisplayString(s.data.status.label),1)],2)]),s.data.body?(n.openBlock(),n.createElementBlock("div",Gr,n.toDisplayString(s.data.body),1)):n.createCommentVNode("",!0)]),r.fields.length?(n.openBlock(),n.createElementBlock("div",Yr,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.fields,(i,l)=>(n.openBlock(),n.createElementBlock("div",{key:l,class:"wm-art__field"},[n.createElementVNode("div",Jr,n.toDisplayString(i.label),1),n.createElementVNode("div",{class:n.normalizeClass(["wm-art__fieldValue",{"wm-art__fieldValue--multi":i.multiline}])},[r.isPriority(i.label)?(n.openBlock(),n.createElementBlock("svg",{key:0,class:"wm-tk__prio","data-level":r.priorityLevel(i.value),width:"12",height:"12",viewBox:"0 0 12 12","aria-hidden":"true"},[...t[2]||(t[2]=[n.createElementVNode("rect",{x:"1",y:"8",width:"2",height:"3",rx:"0.5"},null,-1),n.createElementVNode("rect",{x:"5",y:"5",width:"2",height:"6",rx:"0.5"},null,-1),n.createElementVNode("rect",{x:"9",y:"2",width:"2",height:"9",rx:"0.5"},null,-1)])],8,Xr)):r.isDate(i.label)?(n.openBlock(),n.createElementBlock("svg",Qr,[...t[3]||(t[3]=[n.createElementVNode("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2"},null,-1),n.createElementVNode("path",{d:"M16 2v4M8 2v4M3 10h18"},null,-1)])])):n.createCommentVNode("",!0),n.createElementVNode("span",null,n.toDisplayString(i.value),1)],2)]))),128))])):n.createCommentVNode("",!0),s.data.created_at?(n.openBlock(),n.createElementBlock("div",Zr,[t[4]||(t[4]=n.createElementVNode("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2"}),n.createElementVNode("path",{d:"M16 2v4M8 2v4M3 10h18"})],-1)),n.createElementVNode("span",null,n.toDisplayString(r.formattedDate),1)])):n.createCommentVNode("",!0)])}const Fe=A(Hr,[["render",es],["__scopeId","data-v-5f30c914"]]),ts={form_response:Oe,info_card:Ie,ticket:Fe},ns={name:"WmArtifactRenderer",props:{artifact:{type:Object,required:!0}},computed:{component(){var t;const e=(t=this.artifact)==null?void 0:t.kind;return e&&ts[e]||null}}};function rs(e,t,s,o,a,r){return r.component?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(r.component),{key:0,data:s.artifact.data},null,8,["data"])):n.createCommentVNode("",!0)}const Pe=A(ns,[["render",rs]]),ss={name:"WmAttachmentPreview",inject:{signAttachmentFn:{default:null},t:{default:()=>T()}},props:{attachment:{type:Object,required:!0}},data(){return{url:null,loading:!1}},computed:{kind(){var s,o;const e=(s=this.attachment)==null?void 0:s.type;if(e)return e;const t=(((o=this.attachment)==null?void 0:o.mime_type)||"").toLowerCase();return t.startsWith("image/")?"image":t.startsWith("audio/")?"audio":t.startsWith("video/")?"video":"file"},displayName(){var e,t,s;return((t=(e=this.attachment)==null?void 0:e.metadata)==null?void 0:t.name)||((s=this.attachment)==null?void 0:s.name)||this.guessNameFromPath()||this.t("attachment.fallbackName")},safeHref(){const e=String(this.url||"").trim();return/^(https?:\/\/|blob:|data:image\/)/i.test(e)?e:"#"},sizeLabel(){var t;const e=(t=this.attachment)==null?void 0:t.size_bytes;return e?e<1024?this.t("attachment.bytes",{size:e}):e<1024*1024?this.t("attachment.kilobytes",{size:(e/1024).toFixed(0)}):this.t("attachment.megabytes",{size:(e/(1024*1024)).toFixed(1)}):""}},watch:{"attachment.path":{handler(){this.refresh()},immediate:!0}},methods:{guessNameFromPath(){var s;return((((s=this.attachment)==null?void 0:s.path)||"").split("/").pop()||"").replace(/^[0-9a-f-]{8,}-/,"")},async refresh(){var e;if(!(!((e=this.attachment)!=null&&e.path)||!this.signAttachmentFn)){this.loading=!0;try{this.url=await this.signAttachmentFn(this.attachment.path)}finally{this.loading=!1}}},onFileClick(e){this.safeHref==="#"&&e.preventDefault()}}},os=["href"],as=["src","alt"],is=["src"],ls=["src"],cs=["href","download"],ds={class:"wm-att__main"},us={class:"wm-att__name"},ms={key:0,class:"wm-att__meta"},hs={key:0,class:"wm-att__spin","aria-hidden":"true"};function fs(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["wm-att",["wm-att--"+(r.kind||"file")]])},[r.kind==="image"&&a.url?(n.openBlock(),n.createElementBlock("a",{key:0,href:r.safeHref,target:"_blank",rel:"noopener",class:"wm-att__imgWrap"},[n.createElementVNode("img",{src:a.url,alt:r.displayName,loading:"lazy"},null,8,as)],8,os)):r.kind==="audio"&&a.url?(n.openBlock(),n.createElementBlock("audio",{key:1,src:a.url,controls:"",preload:"metadata"},null,8,is)):r.kind==="video"&&a.url?(n.openBlock(),n.createElementBlock("video",{key:2,src:a.url,controls:"",playsinline:"",preload:"auto"},null,8,ls)):(n.openBlock(),n.createElementBlock("a",{key:3,class:"wm-att__file",href:r.safeHref,download:r.displayName,target:"_blank",rel:"noopener",onClick:t[0]||(t[0]=(...i)=>r.onFileClick&&r.onFileClick(...i))},[t[1]||(t[1]=n.createElementVNode("span",{class:"wm-att__icon"},[n.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.7","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"}),n.createElementVNode("path",{d:"M14 2v6h6"})])],-1)),n.createElementVNode("span",ds,[n.createElementVNode("span",us,n.toDisplayString(r.displayName),1),r.sizeLabel?(n.openBlock(),n.createElementBlock("span",ms,n.toDisplayString(r.sizeLabel),1)):n.createCommentVNode("",!0)]),a.loading?(n.openBlock(),n.createElementBlock("span",hs)):n.createCommentVNode("",!0)],8,cs))],2)}const ze=A(ss,[["render",fs],["__scopeId","data-v-b207a8bd"]]),gs={name:"WmBubble",props:{role:{type:String,default:"ai"},text:{type:String,default:""}},computed:{rendered(){return Te(this.text)}}},ps=["innerHTML"];function _s(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["wm-bubble","wm-bubble--"+s.role])},[n.renderSlot(e.$slots,"default",{},()=>[n.createElementVNode("span",{innerHTML:r.rendered},null,8,ps)],!0)],2)}const Ue=A(gs,[["render",_s],["__scopeId","data-v-7ab13147"]]),ys={name:"WmTyping"},vs={class:"wm-typing"};function ws(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",vs,[...t[0]||(t[0]=[n.createElementVNode("span",{style:{"animation-delay":"0s"}},null,-1),n.createElementVNode("span",{style:{"animation-delay":"0.2s"}},null,-1),n.createElementVNode("span",{style:{"animation-delay":"0.4s"}},null,-1)])])}const He=A(ys,[["render",ws],["__scopeId","data-v-df2447fd"]]);function q(e){return e?e.client_msg_id||e.id:""}const ks={transferred_to_human:"system.transferredToHuman",assigned:"system.assigned",unassigned:"system.unassigned",resolved:"system.resolved",closed:"system.closed",reopened:"system.reopened",idle:"system.idle"},bs=80,Cs=200,Es={name:"WmMessageList",components:{AIAvatar:Y,HumanAvatar:te,Bubble:Ue,Typing:He,ActionResult:De,AttachmentPreview:ze,ArtifactRenderer:Pe},inject:{t:{default:()=>T()},wmLocale:{default:()=>()=>"fr"}},props:{messages:{type:Array,default:()=>[]},streamingActive:{type:Boolean,default:!1},dateLabel:{type:String,default:""},conversationId:{type:[String,Number],default:null},loadingMore:{type:Boolean,default:!1},hasMore:{type:Boolean,default:!1},unreadAnchorId:{type:Number,default:null},unreadBoundaryTs:{type:String,default:""},aiAgentName:{type:String,default:""},aiAgentAvatarUrl:{type:String,default:null}},emits:["load-more"],data(){return{silentFades:!1,widthByKey:Object.freeze({}),showScrollDown:!1,pressedItemKey:null}},computed:{historyExhausted(){return!this.hasMore&&!this.loadingMore&&this.messages.length>=20},groups(){var s,o,a,r,i;const e=[];for(const l of this.messages){if((s=l==null?void 0:l.metadata)!=null&&s.resolution_request)continue;const m=this.roleOf(l);if(m==="system"){if(((o=l==null?void 0:l.payload)==null?void 0:o.event)==="action_admin_pending"){const b=e[e.length-1];b&&b.role==="ai"?b.messages.push(l):e.push({key:`g-${q(l)}`,role:"ai",agentName:"",agentAvatarUrl:null,messages:[l],items:[]});continue}e.push({key:`sys-${q(l)}`,role:m,messages:[l],items:[],systemLabel:this.systemLabel(l)});continue}const y=e[e.length-1];y&&y.role===m&&(m==="ai"||y.agentName===(((a=l==null?void 0:l.author)==null?void 0:a.name)||""))?y.messages.push(l):e.push({key:`g-${q(l)}`,role:m,agentName:((r=l==null?void 0:l.author)==null?void 0:r.name)||"",agentAvatarUrl:((i=l==null?void 0:l.author)==null?void 0:i.avatar_url)||null,messages:[l],items:[]})}for(const l of e){if(l.role==="system")continue;const m=[];for(const y of l.messages)for(const g of this.itemsOf(y))m.push(g);l.items=m}const t=[];for(const l of e){if(l.role!=="system"&&!l.items.length)continue;const m=t[t.length-1];if(m&&m.role!=="system"&&m.role===l.role&&(l.role==="ai"||m.agentName===l.agentName)){m.messages.push(...l.messages),m.items.push(...l.items);continue}t.push(l)}for(const l of t)l.role!=="system"&&(l.key=this.stableGroupKey(l.messages));return t},unreadGroupKey(){if(this.unreadAnchorId==null)return null;const e=this.unreadAnchorId,t=this.unreadBoundaryTs;for(const s of this.groups){if(s.role==="user"||s.role==="system"||!s.items.length)continue;const o=s.messages[0];if(!o)continue;const a=O(o.id);if(a!=null&&!(a<=e)&&!(t&&o.created_at&&o.created_at>t))return s.key}return null}},watch:{messages:{handler:"snapshotAndRestore",deep:!0},conversationId(e,t){e!==t&&(this._groupIdByMsgKey=null,this.silentFades=!1)},loadingMore(e){e||(this._pendingLoadMore=!1),e&&(this.silentFades=!0),this.snapshotAndRestore()},streamingActive:"snapshotAndRestore"},mounted(){this._lastSeenConvId=this.conversationId,this.scrollToBottom(),this._measureFrame=null,this._ro=new ResizeObserver(()=>this.scheduleMeasure()),this.$refs.scrollEl&&this._ro.observe(this.$refs.scrollEl),this.$nextTick(()=>this.measureRows())},beforeUnmount(){var e;(e=this._ro)==null||e.disconnect(),this._measureFrame&&cancelAnimationFrame(this._measureFrame),this._pinFrame&&cancelAnimationFrame(this._pinFrame),this._pressTimer&&clearTimeout(this._pressTimer)},updated(){this.scheduleMeasure()},methods:{messageKey:q,stableGroupKey(e){this._groupIdByMsgKey||(this._groupIdByMsgKey=new Map,this._groupIdCounter=0);const t=this._groupIdByMsgKey;let s=null;for(const o of e){const a=q(o);if(a&&t.has(a)){s=t.get(a);break}}s==null&&(s=++this._groupIdCounter);for(const o of e){const a=q(o);a&&t.set(a,s)}return`g-${s}`},isAtBottom(e){return e.scrollHeight-e.scrollTop-e.clientHeight<=bs},onScroll(){const e=this.$refs.scrollEl;e&&(this.showScrollDown=!this.isAtBottom(e),!(this.loadingMore||!this.hasMore)&&(this._pendingLoadMore||e.scrollTop<=Cs&&(this._pendingLoadMore=!0,this.$emit("load-more"))))},snapshotAndRestore(){const e=this.$refs.scrollEl;if(!e||this._scrollSnap)return;const t=this._lastSeenConvId!==this.conversationId;this._lastSeenConvId=this.conversationId;const s=this.isAtBottom(e);let o=null;if(!t&&!s){const r=this.pickAnchor(e);if(r!=null&&r.rowKey){const i=this.findRowByKey(e,r.rowKey);if(i){const l=e.getBoundingClientRect().top;o={rowKey:r.rowKey,relY:i.getBoundingClientRect().top-l}}}}const a={forceBottom:t,wasPinned:s,anchor:o};this._scrollSnap=a,this.$nextTick(()=>{if(this._scrollSnap=null,a.forceBottom||a.wasPinned){e.scrollTop=e.scrollHeight;return}if(!a.anchor)return;const r=()=>{const i=a.anchor,l=this.findRowByKey(e,i.rowKey);if(!l)return;const y=l.getBoundingClientRect().top-e.getBoundingClientRect().top-i.relY;Math.abs(y)>.5&&(e.scrollTop+=y)};r(),requestAnimationFrame(()=>{r(),requestAnimationFrame(r)})})},pickAnchor(e){const t=e.getBoundingClientRect().top,s=e.querySelectorAll(".wm-list__row[data-row-key]");let o=null;for(const a of s)if(o||(o=a),a.getBoundingClientRect().bottom>=t)return{rowKey:a.dataset.rowKey};return o?{rowKey:o.dataset.rowKey}:null},findRowByKey(e,t){if(!t)return null;const s=typeof CSS<"u"&&CSS.escape?CSS.escape(t):t.replace(/["\\]/g,"\\$&");return e.querySelector(`.wm-list__row[data-row-key="${s}"]`)},roleOf(e){var s,o;if((e==null?void 0:e.type)==="system"||((s=e==null?void 0:e.payload)==null?void 0:s.type)==="system")return"system";const t=(o=e==null?void 0:e.author)==null?void 0:o.type;return t==="user"?"user":t==="agent_human"?"human":"ai"},roleLabel(e){if(e.role==="human")return e.agentName||this.t("common.agent");const t=this.t("common.aiAssistant");return this.aiAgentName?`${this.aiAgentName} • ${t}`:t},itemsOf(e){var t;if(!e)return[];if(e.type==="system"&&((t=e==null?void 0:e.payload)==null?void 0:t.event)==="action_admin_pending")return[{message:e,partKey:"main",renderAs:"admin-pending",kind:{top:"bubble",bottom:"bubble"}}];if(e.type==="action"&&e.payload&&e.payload.state!=="pending"){const s=[{message:e,partKey:"main",renderAs:"action",kind:{top:"bubble",bottom:"bubble"}}];return this.actionArtifact(e)&&s.push({message:e,partKey:"artifact",renderAs:"artifact-of-action",kind:{top:"card",bottom:"card"}}),s}return this.artifactOf(e)?[{message:e,partKey:"main",renderAs:"artifact",kind:{top:"card",bottom:"card"}}]:e.text_md||this.attachmentsOf(e).length?[{message:e,partKey:"main",renderAs:"bubble",kind:{top:"bubble",bottom:"bubble"}}]:[]},cornersFor(e,t){var K,W,F;const s=e.items,o=(K=s[t])==null?void 0:K.kind,a=(W=s[t-1])==null?void 0:W.kind,r=(F=s[t+1])==null?void 0:F.kind,i=e.role==="user",l=14,m=4,y=a==null?void 0:a.bottom,g=r==null?void 0:r.top,b=this.widthByKey[this.rowKeyOf(e,t)],N=this.widthByKey[this.rowKeyOf(e,t-1)],k=this.widthByKey[this.rowKeyOf(e,t+1)],x=.5,C=(P,$,z)=>P!=null&&b!=null?P+x>=b:$===z||$==="card"&&z==="bubble";let V=l,E=l,L=l,I=l;return i?(y&&(E=m),(g||!r)&&(L=m),y&&C(N,y,o==null?void 0:o.top)&&(V=m),g&&C(k,g,o==null?void 0:o.bottom)&&(I=m)):(y&&(V=m),(g||!r)&&(I=m),y&&C(N,y,o==null?void 0:o.top)&&(E=m),g&&C(k,g,o==null?void 0:o.bottom)&&(L=m)),{tl:V,tr:E,br:L,bl:I}},mosaicGridStyle(e){return!e||e<2?null:{"grid-template-columns":`repeat(${Math.min(e,4)}, 1fr)`}},mosaicCornerStyle(e,t,s){if(!t||t<2)return null;const o=Math.min(t,4),a=Math.floor(e/o),r=e%o,i=r>0,l=r<o-1&&e+1<t,m=a>0,y=e+o<t,g="4px",b={};return(i||m)&&(b["--wm-r-tl"]=g),(l||m)&&(b["--wm-r-tr"]=g),(i||y)&&(b["--wm-r-bl"]=g),(l||y)&&(b["--wm-r-br"]=g),s&&(b["--wm-r-tl"]=g,b["--wm-r-tr"]=g),Object.keys(b).length?b:null},cornersStyle(e,t){if(e.items.length<2)return null;const s=this.cornersFor(e,t);return{"--wm-r-tl":`${s.tl}px`,"--wm-r-tr":`${s.tr}px`,"--wm-r-br":`${s.br}px`,"--wm-r-bl":`${s.bl}px`}},rowKeyOf(e,t){var o;const s=(o=e==null?void 0:e.items)==null?void 0:o[t];return s?`${q(s.message)}-${s.partKey}`:""},scheduleMeasure(){this._measureFrame||(this._measureFrame=requestAnimationFrame(()=>{this._measureFrame=null,this.measureRows()}))},measureRows(){const e=this.$refs.scrollEl;if(!e)return;const t={};for(const r of e.querySelectorAll(".wm-list__row[data-row-key]")){const i=r.dataset.rowKey;if(!i)continue;const l=r.querySelector(".wm-bubble, .wm-result, .wm-art, .wm-list__body");if(!l)continue;const m=l.getBoundingClientRect().width;m>0&&(t[i]=m)}const s=this.widthByKey,o=Object.keys(s),a=Object.keys(t);if(o.length===a.length){let r=!0;for(const i of a)if(Math.abs((s[i]??0)-t[i])>.5){r=!1;break}if(r)return}this.widthByKey=Object.freeze(t)},onPressStart(e){this.onPressEnd(),this._pressTimer=setTimeout(()=>{this._pressTimer=null,this.pressedItemKey=e},400)},onPressEnd(){this._pressTimer&&(clearTimeout(this._pressTimer),this._pressTimer=null),this.pressedItemKey!==null&&(this.pressedItemKey=null)},timeOf(e){if(!(e!=null&&e.created_at))return"";try{return se(new Date(e.created_at),U(this.wmLocale()))}catch{return""}},lastTimeOf(e){const t=e.items[e.items.length-1],s=(t==null?void 0:t.message)||e.messages[e.messages.length-1];if(!(s!=null&&s.created_at))return"";try{return se(new Date(s.created_at),U(this.wmLocale()))}catch{return""}},hasTrailingOverlay(e){if(!e.messages.length)return!1;const t=e.messages[e.messages.length-1],s=e.items[e.items.length-1];return!!t&&(s==null?void 0:s.message)!==t},attachmentsOf(e){var s;const t=(s=e==null?void 0:e.payload)==null?void 0:s.attachments;return Array.isArray(t)?t:[]},artifactOf(e){var s;const t=(s=e==null?void 0:e.metadata)==null?void 0:s.artifact;return!t||typeof t!="object"||typeof t.kind!="string"?null:t},actionLabel(e){var t;return((t=e==null?void 0:e.payload)==null?void 0:t.name)||(e==null?void 0:e.text_md)||this.t("common.action")},actionDetail(e){var s,o,a,r,i,l,m,y;const t=e==null?void 0:e.payload;if(!t)return"";if(t.state==="success")return((s=t.success)==null?void 0:s.summary)||((a=(o=t.success)==null?void 0:o.metadata)==null?void 0:a.description)||"";if(t.state==="rejected"){if((r=t.rejected)!=null&&r.reason)return t.rejected.reason;const g=(l=(i=t.rejected)==null?void 0:i.metadata)==null?void 0:l.resolution,b=typeof g=="string"&&g.startsWith("admin")?"action.rejectedByAdmin":"action.rejectedByUser";return this.t(b)}return t.state==="failure"&&(((m=t.failure)==null?void 0:m.summary)||((y=t.failure)==null?void 0:y.error))||""},actionArtifact(e){var s,o;const t=(o=(s=e==null?void 0:e.payload)==null?void 0:s.success)==null?void 0:o.artifact;return!t||typeof t!="object"||typeof t.kind!="string"?null:t},systemLabel(e){var a,r,i;const t=(a=e==null?void 0:e.payload)==null?void 0:a.event,s=ks[t],o=((r=e==null?void 0:e.metadata)==null?void 0:r.agent_name)||((i=e==null?void 0:e.author)==null?void 0:i.name)||this.t("messageList.anAgent");return s?this.t(s,{name:o}):(e==null?void 0:e.text_md)||this.t("messageList.conversationUpdate")},scrollToBottom(){const e=this.$refs.scrollEl;e&&(e.scrollTop=e.scrollHeight),this.showScrollDown=!1},keepPinnedToBottom(e=320){const t=this.$refs.scrollEl;if(!t)return;this._pinFrame&&cancelAnimationFrame(this._pinFrame);let s=null;const o=a=>{s===null&&(s=a),t.scrollTop=t.scrollHeight,a-s<e?this._pinFrame=requestAnimationFrame(o):this._pinFrame=null};this._pinFrame=requestAnimationFrame(o),this.showScrollDown=!1},scrollToBottomSmooth(){const e=this.$refs.scrollEl;e&&(typeof e.scrollTo=="function"?e.scrollTo({top:e.scrollHeight,behavior:"smooth"}):e.scrollTop=e.scrollHeight,this.showScrollDown=!1)}}},Bs={class:"wm-list__wrap"},Ss={key:0,class:"wm-list__loadMore",role:"status","aria-live":"polite"},Ns={class:"wm-list__loadMore-lbl"},As={key:1,class:"wm-list__historyEnd"},Vs={key:2,class:"wm-list__sep"},Ts={class:"wm-list__sep-label"},Ms={key:0,class:"wm-list__sep wm-list__sep--unread"},xs={class:"wm-list__sep-label wm-list__sep-label--unread"},Ls={key:0,class:"wm-list__sysep"},Rs={class:"wm-list__sysep-label"},Ds=["data-row-key","onPointerdown"],Os={key:0,class:"wm-list__avatarSlot"},Is={key:0},Fs={key:1,"aria-hidden":"true"},Ps={key:2},zs={key:0},Us={key:1,"aria-hidden":"true"},Hs={key:2},js={key:3,class:"wm-list__row wm-list__row--ai fade-up"},qs={class:"wm-list__avatarSlot"},Ks=["aria-label","title"];function Ws(e,t,s,o,a,r){const i=n.resolveComponent("AIAvatar"),l=n.resolveComponent("HumanAvatar"),m=n.resolveComponent("ActionResult"),y=n.resolveComponent("ArtifactRenderer"),g=n.resolveComponent("Bubble"),b=n.resolveComponent("AttachmentPreview"),N=n.resolveComponent("Typing");return n.openBlock(),n.createElementBlock("div",Bs,[n.createElementVNode("div",{ref:"scrollEl",class:n.normalizeClass(["wm-list",{"wm-list--silent":a.silentFades}]),onScrollPassive:t[4]||(t[4]=(...k)=>r.onScroll&&r.onScroll(...k))},[s.loadingMore?(n.openBlock(),n.createElementBlock("div",Ss,[t[6]||(t[6]=n.createElementVNode("span",{class:"wm-list__loadMore-spinner","aria-hidden":"true"},null,-1)),n.createElementVNode("span",Ns,n.toDisplayString(r.t("messageList.loadingHistory")),1)])):r.historyExhausted?(n.openBlock(),n.createElementBlock("div",As,n.toDisplayString(r.t("messageList.conversationStart")),1)):n.createCommentVNode("",!0),s.dateLabel?(n.openBlock(),n.createElementBlock("div",Vs,[t[7]||(t[7]=n.createElementVNode("div",{class:"wm-list__line"},null,-1)),n.createElementVNode("span",Ts,n.toDisplayString(s.dateLabel),1),t[8]||(t[8]=n.createElementVNode("div",{class:"wm-list__line"},null,-1))])):n.createCommentVNode("",!0),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.groups,(k,x)=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:k.key},[k.key===r.unreadGroupKey?(n.openBlock(),n.createElementBlock("div",Ms,[t[9]||(t[9]=n.createElementVNode("div",{class:"wm-list__line wm-list__line--unread"},null,-1)),n.createElementVNode("span",xs,n.toDisplayString(r.t("messageList.unread")),1),t[10]||(t[10]=n.createElementVNode("div",{class:"wm-list__line wm-list__line--unread"},null,-1))])):n.createCommentVNode("",!0),k.role==="system"||k.items.length?(n.openBlock(),n.createElementBlock("div",{key:1,class:n.normalizeClass(["wm-list__group","wm-list__group--"+k.role])},[k.role==="system"?(n.openBlock(),n.createElementBlock("div",Ls,[t[11]||(t[11]=n.createElementVNode("div",{class:"wm-list__line wm-list__line--strong"},null,-1)),n.createElementVNode("span",Rs,n.toDisplayString(k.systemLabel),1),t[12]||(t[12]=n.createElementVNode("div",{class:"wm-list__line wm-list__line--strong"},null,-1))])):(n.openBlock(),n.createElementBlock(n.Fragment,{key:1},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(k.items,(C,V)=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:`${r.messageKey(C.message)}-${C.partKey}`},[n.createElementVNode("div",{"data-row-key":`${r.messageKey(C.message)}-${C.partKey}`,class:n.normalizeClass(["wm-list__row fade-up",["wm-list__row--"+k.role,{"is-pending":C.message._pending,"is-failed":C.message._failed}]]),style:n.normalizeStyle(r.cornersStyle(k,V)),onPointerdown:E=>r.onPressStart(`${r.messageKey(C.message)}-${C.partKey}`),onPointerup:t[0]||(t[0]=E=>r.onPressEnd()),onPointercancel:t[1]||(t[1]=E=>r.onPressEnd()),onPointerleave:t[2]||(t[2]=E=>r.onPressEnd()),onContextmenu:t[3]||(t[3]=n.withModifiers(()=>{},["prevent"]))},[k.role!=="user"?(n.openBlock(),n.createElementBlock("div",Os,[V===k.items.length-1?(n.openBlock(),n.createElementBlock(n.Fragment,{key:0},[k.role==="ai"?(n.openBlock(),n.createBlock(i,{key:0,size:26,tail:!0,name:s.aiAgentName,"image-url":s.aiAgentAvatarUrl},null,8,["name","image-url"])):(n.openBlock(),n.createBlock(l,{key:1,name:k.agentName,"avatar-url":k.agentAvatarUrl,size:26,tail:!0},null,8,["name","avatar-url"]))],64)):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0),C.renderAs==="action"?(n.openBlock(),n.createBlock(m,{key:1,state:C.message.payload.state,label:r.actionLabel(C.message),detail:r.actionDetail(C.message)},null,8,["state","label","detail"])):C.renderAs==="admin-pending"?(n.openBlock(),n.createBlock(m,{key:2,state:"awaiting",label:r.t("messageList.approvalRequestSent"),detail:C.message.text_md||""},null,8,["label","detail"])):C.renderAs==="artifact-of-action"?(n.openBlock(),n.createBlock(y,{key:3,artifact:r.actionArtifact(C.message)},null,8,["artifact"])):C.renderAs==="artifact"?(n.openBlock(),n.createBlock(y,{key:4,artifact:r.artifactOf(C.message)},null,8,["artifact"])):(n.openBlock(),n.createElementBlock("div",{key:5,class:n.normalizeClass(["wm-list__body",{"wm-list__body--mixed":!!C.message.text_md&&r.attachmentsOf(C.message).length>0}])},[C.message.text_md?(n.openBlock(),n.createBlock(g,{key:0,role:k.role,text:C.message.text_md},null,8,["role","text"])):n.createCommentVNode("",!0),r.attachmentsOf(C.message).length?(n.openBlock(),n.createElementBlock("div",{key:1,class:n.normalizeClass(["wm-list__atts",{"wm-list__atts--align-end":k.role==="user","wm-list__atts--mosaic":r.attachmentsOf(C.message).length>=2}]),style:n.normalizeStyle(r.mosaicGridStyle(r.attachmentsOf(C.message).length))},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.attachmentsOf(C.message),(E,L)=>(n.openBlock(),n.createBlock(b,{key:`${r.messageKey(C.message)}-att-${L}`,attachment:E,style:n.normalizeStyle(r.mosaicCornerStyle(L,r.attachmentsOf(C.message).length,!!C.message.text_md))},null,8,["attachment","style"]))),128))],6)):n.createCommentVNode("",!0)],2))],46,Ds),V<k.items.length-1&&a.pressedItemKey===`${r.messageKey(C.message)}-${C.partKey}`&&(k.role!=="user"||r.timeOf(C.message))?(n.openBlock(),n.createElementBlock("div",{key:0,class:n.normalizeClass(["wm-list__meta wm-list__meta--press",{"wm-list__meta--right":k.role==="user"}])},[k.role!=="user"?(n.openBlock(),n.createElementBlock("span",Is,n.toDisplayString(r.roleLabel(k)),1)):n.createCommentVNode("",!0),k.role!=="user"&&r.timeOf(C.message)?(n.openBlock(),n.createElementBlock("span",Fs,"•")):n.createCommentVNode("",!0),r.timeOf(C.message)?(n.openBlock(),n.createElementBlock("span",Ps,n.toDisplayString(r.timeOf(C.message)),1)):n.createCommentVNode("",!0)],2)):n.createCommentVNode("",!0)],64))),128)),(k.role!=="user"||r.lastTimeOf(k))&&!r.hasTrailingOverlay(k)?(n.openBlock(),n.createElementBlock("div",{key:0,class:n.normalizeClass(["wm-list__meta",{"wm-list__meta--right":k.role==="user"}])},[k.role!=="user"?(n.openBlock(),n.createElementBlock("span",zs,n.toDisplayString(r.roleLabel(k)),1)):n.createCommentVNode("",!0),k.role!=="user"&&r.lastTimeOf(k)?(n.openBlock(),n.createElementBlock("span",Us,"•")):n.createCommentVNode("",!0),r.lastTimeOf(k)?(n.openBlock(),n.createElementBlock("span",Hs,n.toDisplayString(r.lastTimeOf(k)),1)):n.createCommentVNode("",!0)],2)):n.createCommentVNode("",!0)],64))],2)):n.createCommentVNode("",!0)],64))),128)),s.streamingActive?(n.openBlock(),n.createElementBlock("div",js,[n.createElementVNode("div",qs,[n.createVNode(i,{size:26,tail:!0,name:s.aiAgentName,"image-url":s.aiAgentAvatarUrl},null,8,["name","image-url"])]),n.createVNode(N)])):n.createCommentVNode("",!0)],34),n.createVNode(n.Transition,{name:"wm-scrollDown"},{default:n.withCtx(()=>[a.showScrollDown?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"wm-list__scrollDown","aria-label":r.t("messageList.scrollToBottom"),title:r.t("messageList.scrollToBottom"),onClick:t[5]||(t[5]=(...k)=>r.scrollToBottomSmooth&&r.scrollToBottomSmooth(...k))},[...t[13]||(t[13]=[n.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M6 9l6 6 6-6"})],-1)])],8,Ks)):n.createCommentVNode("",!0)]),_:1})])}const je=A(Es,[["render",Ws],["__scopeId","data-v-1a6f0182"]]),ee=typeof navigator<"u"&&!!navigator.mediaDevices&&typeof navigator.mediaDevices.getDisplayMedia=="function",le=typeof window<"u"&&typeof window.MediaRecorder<"u";function qe(){return le&&["video/webm;codecs=vp9,opus","video/webm;codecs=vp8,opus","video/webm","video/mp4"].find(t=>{var s,o;return(o=(s=window.MediaRecorder).isTypeSupported)==null?void 0:o.call(s,t)})||""}function Ke({audio:e}){return{video:!0,audio:!!e,selfBrowserSurface:"include",surfaceSwitching:"include",systemAudio:e?"include":"exclude"}}function $s(e){return e?e.startsWith("image/")?"image":e.startsWith("video/")?"video":"file":"file"}async function We(){if(!ee)return null;let e;try{e=await navigator.mediaDevices.getDisplayMedia(Ke({audio:!1}))}catch(t){return(t==null?void 0:t.name)!=="NotAllowedError"&&console.error("[media] screenshot picker",t),null}try{return await Gs(e)}catch(t){return console.error("[media] screenshot capture",t),null}finally{e.getTracks().forEach(t=>{t.stop()})}}async function Gs(e){const t=document.createElement("video");t.muted=!0,t.playsInline=!0,t.srcObject=e,await t.play(),await new Promise(l=>requestAnimationFrame(l));const s=t.videoWidth||1280,o=t.videoHeight||720,a=document.createElement("canvas");a.width=s,a.height=o,a.getContext("2d").drawImage(t,0,0,s,o);const r=await new Promise((l,m)=>{a.toBlob(y=>y?l(y):m(new Error("toBlob failed")),"image/png")}),i=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19);return new File([r],`capture-${i}.png`,{type:"image/png"})}async function $e(e={}){var y;if(!ee||!le)return null;let t;try{t=await navigator.mediaDevices.getDisplayMedia(Ke({audio:!0}))}catch(g){return(g==null?void 0:g.name)!=="NotAllowedError"&&console.error("[media] record picker",g),null}const s=qe();let o;try{o=s?new window.MediaRecorder(t,{mimeType:s}):new window.MediaRecorder(t)}catch(g){return console.error("[media] recorder init",g),t.getTracks().forEach(b=>{b.stop()}),null}const a=[];let r=null,i=!1;o.addEventListener("dataavailable",g=>{g.data&&g.data.size>0&&a.push(g.data)}),o.addEventListener("stop",()=>{var g,b;if(r&&clearInterval(r),t.getTracks().forEach(N=>{N.stop()}),a.length){const N=o.mimeType||s||"video/webm",k=new Blob(a,{type:N}),x=/mp4/.test(N)?"mp4":"webm",C=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19),V=new File([k],`ecran-${C}.${x}`,{type:N});(g=e.onfinalize)==null||g.call(e,V)}else(b=e.oncancel)==null||b.call(e)}),t.getVideoTracks().forEach(g=>{g.addEventListener("ended",()=>l(),{once:!0})});function l(){if(!i&&(i=!0,o.state!=="inactive"))try{o.stop()}catch(g){console.error("[media] recorder stop",g)}}try{o.start(1e3)}catch(g){return console.error("[media] recorder start",g),t.getTracks().forEach(b=>{b.stop()}),null}(y=e.onstart)==null||y.call(e);const m=Date.now();return r=setInterval(()=>{var g;(g=e.ontick)==null||g.call(e,Date.now()-m)},500),{stop:l,get state(){return o.state}}}const Ys=[{action:"file",labelKey:"composer.attachFile",path:"M21.44 11.05l-9.19 9.19a6 6 0 01-8.49-8.49l9.19-9.19a4 4 0 015.66 5.66l-9.2 9.19a2 2 0 01-2.83-2.83l8.49-8.48"},{action:"screenshot",labelKey:"composer.screenshot",path:"M23 19a2 2 0 01-2 2H3a2 2 0 01-2-2V8a2 2 0 012-2h4l2-3h6l2 3h4a2 2 0 012 2z M12 17a4 4 0 100-8 4 4 0 000 8z"},{action:"record",labelKey:"composer.recordScreen",path:"M23 7l-7 5 7 5V7z M1 5a2 2 0 012-2h12a2 2 0 012 2v14a2 2 0 01-2 2H3a2 2 0 01-2-2V5z"}],Js={name:"WmComposer",inject:{t:{default:()=>T()}},props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Écrivez votre message…"},disabled:{type:Boolean,default:!1},attachLabel:{type:String,default:"Joindre"},displayMode:{type:String,default:"floating"}},emits:["update:modelValue","send","attach","focus","blur"],data(){return{local:this.modelValue,focused:!1,attachOpen:!1,recording:!1,recordingElapsed:0,recorder:null,kbOffset:0}},computed:{canSend(){return!this.disabled&&!!this.local.trim()},expanded(){return this.focused||!!this.local.trim()||this.attachOpen||this.recording},attachItems(){return Ys.map(e=>({...e,label:this.t(e.labelKey),disabled:e.action==="screenshot"&&!ee||e.action==="record"&&(!ee||!le)}))},recordingElapsedLabel(){const e=Math.floor(this.recordingElapsed/1e3),t=Math.floor(e/60),s=e%60;return`${t}:${s.toString().padStart(2,"0")}`}},watch:{modelValue(e){e!==this.local&&(this.local=e,this.$nextTick(()=>this.autosize()))},local(e){this.$emit("update:modelValue",e)}},mounted(){this.autosize(),this.displayMode==="sheet"&&this.setupKeyboardTracking()},beforeUnmount(){if(this.recorder)try{this.recorder.stop()}catch{}this.teardownKeyboardTracking()},methods:{focus(){const e=this.$refs.inputEl;if(!(!e||this.disabled))try{e.focus({preventScroll:!0})}catch{e.focus()}},onFocus(){this.focused=!0,this.$emit("focus"),this.$nextTick(()=>this.autosize())},onBlur(){this.focused=!1,this.$emit("blur"),this.$nextTick(()=>this.autosize())},onSubmit(){if(!this.canSend)return;const e=this.local.trim();this.local="",this.$emit("send",e),this.$nextTick(()=>this.autosize())},onKeydown(e){e.key==="Enter"&&!e.shiftKey&&!e.ctrlKey&&!e.metaKey&&!e.isComposing&&(e.preventDefault(),this.onSubmit())},autosize(){const e=this.$refs.inputEl;if(!e||e.clientWidth<80)return;e.style.height="auto",e.style.minHeight="0px";const t=e.scrollHeight;e.style.minHeight="",e.style.height=t>62?`${Math.min(t,120)}px`:""},onFile(e){const t=Array.from(e.target.files||[]);for(const s of t)this.$emit("attach",s);e.target.value=""},onAttachAction(e){this.attachOpen=!1,e==="file"?this.pickFile():e==="screenshot"?this.captureScreenshot():e==="record"&&this.startRecording()},pickFile(){var e;(e=this.$refs.fileEl)==null||e.click()},async captureScreenshot(){if(this.disabled)return;const e=await We();e&&this.$emit("attach",e)},async startRecording(){if(this.recording||this.disabled)return;this.recordingElapsed=0;const e=await $e({onstart:()=>{this.recording=!0},ontick:t=>{this.recordingElapsed=t},onfinalize:t=>{this.$emit("attach",t),this.recording=!1,this.recordingElapsed=0,this.recorder=null},oncancel:()=>{this.recording=!1,this.recordingElapsed=0,this.recorder=null}});e&&(this.recorder=e)},stopRecording(){if(this.recorder)try{this.recorder.stop()}catch(e){console.error("[composer] stop recording",e)}},setupKeyboardTracking(){const e=window.visualViewport;e&&(this._vvHandler=()=>{const t=Math.max(0,window.innerHeight-e.height-e.offsetTop);this.kbOffset=t},e.addEventListener("resize",this._vvHandler),e.addEventListener("scroll",this._vvHandler))},teardownKeyboardTracking(){const e=window.visualViewport;!e||!this._vvHandler||(e.removeEventListener("resize",this._vvHandler),e.removeEventListener("scroll",this._vvHandler),this._vvHandler=null)}}},Xs={key:0,class:"wm-rec"},Qs={class:"wm-rec__lbl"},Zs={key:1,class:"wm-compose__menu",role:"menu"},eo=["disabled","onClick"],to={class:"wm-compose__menuIcon"},no={viewBox:"0 0 24 24",width:"14",height:"14","aria-hidden":"true"},ro=["d"],so=["placeholder","disabled"],oo={class:"wm-compose__actions"},ao=["title","aria-label","disabled"],io=["disabled","aria-label"];function lo(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["wm-compose-wrap",{"wm-compose-wrap--sheet":s.displayMode==="sheet"}]),style:n.normalizeStyle(a.kbOffset?{transform:`translateY(-${a.kbOffset}px)`}:null)},[a.recording?(n.openBlock(),n.createElementBlock("div",Xs,[t[11]||(t[11]=n.createElementVNode("span",{class:"wm-rec__dot","aria-hidden":"true"},null,-1)),n.createElementVNode("span",Qs,n.toDisplayString(r.t("composer.recording",{time:r.recordingElapsedLabel})),1),n.createElementVNode("button",{type:"button",class:"wm-rec__stop",onClick:t[0]||(t[0]=(...i)=>r.stopRecording&&r.stopRecording(...i))},n.toDisplayString(r.t("composer.stop")),1)])):n.createCommentVNode("",!0),n.createElementVNode("form",{class:n.normalizeClass(["wm-compose",{"has-attach":a.attachOpen,"is-expanded":r.expanded}]),onSubmit:t[10]||(t[10]=n.withModifiers((...i)=>r.onSubmit&&r.onSubmit(...i),["prevent"]))},[n.createElementVNode("input",{ref:"fileEl",type:"file",hidden:"",multiple:"",onChange:t[1]||(t[1]=(...i)=>r.onFile&&r.onFile(...i))},null,544),a.attachOpen?(n.openBlock(),n.createElementBlock("div",{key:0,class:"wm-compose__overlay",onClick:t[2]||(t[2]=i=>a.attachOpen=!1)})):n.createCommentVNode("",!0),a.attachOpen?(n.openBlock(),n.createElementBlock("div",Zs,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.attachItems,i=>(n.openBlock(),n.createElementBlock("button",{key:i.action,type:"button",class:"wm-compose__menuItem",disabled:i.disabled,onClick:l=>r.onAttachAction(i.action)},[n.createElementVNode("span",to,[(n.openBlock(),n.createElementBlock("svg",no,[n.createElementVNode("path",{d:i.path,stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round",fill:"none"},null,8,ro)]))]),n.createElementVNode("span",null,n.toDisplayString(i.label),1)],8,eo))),128))])):n.createCommentVNode("",!0),n.withDirectives(n.createElementVNode("textarea",{ref:"inputEl","onUpdate:modelValue":t[3]||(t[3]=i=>a.local=i),class:"wm-compose__input",rows:"1",placeholder:s.placeholder,disabled:s.disabled,onKeydown:t[4]||(t[4]=(...i)=>r.onKeydown&&r.onKeydown(...i)),onInput:t[5]||(t[5]=(...i)=>r.autosize&&r.autosize(...i)),onFocus:t[6]||(t[6]=(...i)=>r.onFocus&&r.onFocus(...i)),onBlur:t[7]||(t[7]=(...i)=>r.onBlur&&r.onBlur(...i))},null,40,so),[[n.vModelText,a.local]]),n.createElementVNode("div",oo,[n.createElementVNode("button",{type:"button",class:n.normalizeClass(["wm-compose__icon",{"is-open":a.attachOpen}]),title:s.attachLabel,"aria-label":s.attachLabel,disabled:a.recording,onMousedown:t[8]||(t[8]=n.withModifiers(()=>{},["prevent"])),onClick:t[9]||(t[9]=i=>a.attachOpen=!a.attachOpen)},[...t[12]||(t[12]=[n.createElementVNode("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M21.44 11.05l-9.19 9.19a6 6 0 01-8.49-8.49l9.19-9.19a4 4 0 015.66 5.66l-9.2 9.19a2 2 0 01-2.83-2.83l8.49-8.48"})],-1)])],42,ao),n.createElementVNode("button",{type:"submit",class:n.normalizeClass(["wm-compose__send",{"is-empty":!r.canSend}]),disabled:!r.canSend,"aria-label":r.t("composer.send")},[...t[13]||(t[13]=[n.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z"})],-1)])],10,io)])],34)],6)}const Ge=A(Js,[["render",lo],["__scopeId","data-v-a9738520"]]),co={name:"WmInlineCallbacks",props:{items:{type:Array,default:()=>[]},variant:{type:String,default:"chips",validator:e=>e==="chips"||e==="buttons"},baseDelay:{type:Number,default:360},stepDelay:{type:Number,default:90}},emits:["select"],computed:{batchKey(){return this.items.map(e=>(e==null?void 0:e.label)||(e==null?void 0:e.text)||"").join("§")},headerTitle(){if(this.variant!=="buttons")return"";const e=this.items.find(t=>typeof(t==null?void 0:t.title)=="string"&&t.title.trim());return e?e.title.trim():""}},methods:{btnClass(e){return this.variant==="chips"?"wm-icb__btn--chip":["wm-icb__btn--action",`wm-icb__btn--${(e==null?void 0:e.style)||"neutral"}`]}}},uo=["onClick"],mo={key:0,class:"wm-icb__title"},ho={class:"wm-icb__row"},fo=["onClick"];function go(e,t,s,o,a,r){return s.items.length?(n.openBlock(),n.createElementBlock("div",{key:r.batchKey,class:n.normalizeClass(["wm-icb",`wm-icb--${s.variant}`])},[s.variant==="chips"?(n.openBlock(!0),n.createElementBlock(n.Fragment,{key:0},n.renderList(s.items,(i,l)=>(n.openBlock(),n.createElementBlock("button",{key:i.id!=null?i.id:l,type:"button",class:"wm-icb__btn wm-icb__btn--chip",style:n.normalizeStyle({animationDelay:s.baseDelay+l*s.stepDelay+"ms"}),onClick:m=>e.$emit("select",i)},n.toDisplayString(i.label),13,uo))),128)):(n.openBlock(),n.createElementBlock(n.Fragment,{key:1},[r.headerTitle?(n.openBlock(),n.createElementBlock("div",mo,n.toDisplayString(r.headerTitle),1)):n.createCommentVNode("",!0),n.createElementVNode("div",ho,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(s.items,(i,l)=>(n.openBlock(),n.createElementBlock("button",{key:i.id!=null?i.id:l,type:"button",class:n.normalizeClass(["wm-icb__btn",r.btnClass(i)]),onClick:m=>e.$emit("select",i)},n.toDisplayString(i.label),11,fo))),128))])],64))],2)):n.createCommentVNode("",!0)}const Ye=A(co,[["render",go],["__scopeId","data-v-c8cc8cbf"]]);let ke=0;const po=new Set(["text","textarea","number","boolean","select","multiselect","date"]),_o={name:"WmFormCard",components:{AIAvatar:Y},inject:{t:{default:()=>T()}},props:{form:{type:Object,required:!0},readOnly:{type:Boolean,default:!1},initialValues:{type:Object,default:null},agentName:{type:String,default:""},agentAvatarUrl:{type:String,default:null}},emits:["submit"],data(){return ke+=1,{_uid:ke,values:{},busy:!1,error:""}},computed:{normalizedFields(){var t;return(Array.isArray((t=this.form)==null?void 0:t.fields)?this.form.fields:[]).filter(s=>!(!(s!=null&&s.key)||!(s!=null&&s.label)||!po.has(s==null?void 0:s.type)||(s.type==="select"||s.type==="multiselect")&&(!Array.isArray(s.options)||s.options.length===0)))}},created(){this.resetValues()},methods:{resetValues(){const e=this.initialValues&&typeof this.initialValues=="object"?this.initialValues:{},t={};for(const s of this.normalizedFields){if(e[s.key]!==void 0){t[s.key]=e[s.key];continue}s.type==="boolean"?t[s.key]=!1:s.type==="multiselect"?t[s.key]=[]:t[s.key]=""}this.values=t,this.error=""},toggleMulti(e,t,s){const o=Array.isArray(this.values[e])?this.values[e].slice():[],a=o.indexOf(t);s&&a===-1?o.push(t):!s&&a!==-1&&o.splice(a,1),this.values={...this.values,[e]:o}},validate(){for(const e of this.normalizedFields){if(!e.required)continue;const t=this.values[e.key];if(e.type!=="boolean"){if(e.type==="multiselect"){if(!Array.isArray(t)||t.length===0)return this.t("form.fieldRequired",{label:e.label});continue}if(t==null||t==="")return this.t("form.fieldRequired",{label:e.label})}}return""},async onSubmit(){if(this.readOnly||this.busy)return;const e=this.validate();if(e){this.error=e;return}this.error="",this.busy=!0;try{await this.$emit("submit",{values:this.values})}finally{this.busy=!1}}}},yo={class:"wm-form"},vo={class:"wm-form__head"},wo={class:"wm-form__icon"},ko={class:"wm-form__main"},bo={class:"wm-form__title"},Co={key:0,class:"wm-form__detail"},Eo=["for"],Bo={key:0,class:"wm-form__req","aria-hidden":"true"},So=["id","onUpdate:modelValue","placeholder","required","disabled"],No=["id","onUpdate:modelValue","placeholder","required","disabled"],Ao=["id","onUpdate:modelValue","placeholder","required","disabled"],Vo=["id","onUpdate:modelValue","required","disabled"],To={key:4,class:"wm-form__bool"},Mo=["id","onUpdate:modelValue","disabled"],xo=["id","onUpdate:modelValue","required","disabled"],Lo={value:"",disabled:""},Ro=["value"],Do={key:6,class:"wm-form__multi"},Oo=["value","checked","disabled","onChange"],Io={key:0,class:"wm-form__err"},Fo=["disabled"],Po={key:0,class:"wm-form__spinner","aria-hidden":"true"},zo={key:2,class:"wm-form__doneLbl"};function Uo(e,t,s,o,a,r){const i=n.resolveComponent("AIAvatar");return n.openBlock(),n.createElementBlock("div",yo,[n.createElementVNode("div",vo,[n.createElementVNode("div",wo,[n.createVNode(i,{size:24,name:s.agentName,"image-url":s.agentAvatarUrl},null,8,["name","image-url"])]),n.createElementVNode("div",ko,[n.createElementVNode("div",bo,n.toDisplayString(s.form.title||r.t("form.title")),1),s.form.description?(n.openBlock(),n.createElementBlock("div",Co,n.toDisplayString(s.form.description),1)):n.createCommentVNode("",!0)])]),n.createElementVNode("form",{class:"wm-form__body",onSubmit:t[0]||(t[0]=n.withModifiers((...l)=>r.onSubmit&&r.onSubmit(...l),["prevent"]))},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.normalizedFields,l=>(n.openBlock(),n.createElementBlock("div",{key:l.key,class:"wm-form__field"},[n.createElementVNode("label",{for:`wm-f-${a._uid}-${l.key}`,class:"wm-form__label"},[n.createTextVNode(n.toDisplayString(l.label),1),l.required?(n.openBlock(),n.createElementBlock("span",Bo,"*")):n.createCommentVNode("",!0)],8,Eo),l.type==="text"?n.withDirectives((n.openBlock(),n.createElementBlock("input",{key:0,id:`wm-f-${a._uid}-${l.key}`,"onUpdate:modelValue":m=>a.values[l.key]=m,type:"text",class:"wm-form__input",placeholder:l.placeholder||"",required:l.required,disabled:s.readOnly||a.busy},null,8,So)),[[n.vModelText,a.values[l.key]]]):l.type==="textarea"?n.withDirectives((n.openBlock(),n.createElementBlock("textarea",{key:1,id:`wm-f-${a._uid}-${l.key}`,"onUpdate:modelValue":m=>a.values[l.key]=m,class:"wm-form__textarea",rows:"3",placeholder:l.placeholder||"",required:l.required,disabled:s.readOnly||a.busy},null,8,No)),[[n.vModelText,a.values[l.key]]]):l.type==="number"?n.withDirectives((n.openBlock(),n.createElementBlock("input",{key:2,id:`wm-f-${a._uid}-${l.key}`,"onUpdate:modelValue":m=>a.values[l.key]=m,type:"number",class:"wm-form__input",placeholder:l.placeholder||"",required:l.required,disabled:s.readOnly||a.busy},null,8,Ao)),[[n.vModelText,a.values[l.key],void 0,{number:!0}]]):l.type==="date"?n.withDirectives((n.openBlock(),n.createElementBlock("input",{key:3,id:`wm-f-${a._uid}-${l.key}`,"onUpdate:modelValue":m=>a.values[l.key]=m,type:"date",class:"wm-form__input",required:l.required,disabled:s.readOnly||a.busy},null,8,Vo)),[[n.vModelText,a.values[l.key]]]):l.type==="boolean"?(n.openBlock(),n.createElementBlock("label",To,[n.withDirectives(n.createElementVNode("input",{id:`wm-f-${a._uid}-${l.key}`,"onUpdate:modelValue":m=>a.values[l.key]=m,type:"checkbox",disabled:s.readOnly||a.busy},null,8,Mo),[[n.vModelCheckbox,a.values[l.key]]]),n.createElementVNode("span",null,n.toDisplayString(l.placeholder||r.t("common.yes")),1)])):l.type==="select"?n.withDirectives((n.openBlock(),n.createElementBlock("select",{key:5,id:`wm-f-${a._uid}-${l.key}`,"onUpdate:modelValue":m=>a.values[l.key]=m,class:"wm-form__select",required:l.required,disabled:s.readOnly||a.busy},[n.createElementVNode("option",Lo,n.toDisplayString(l.placeholder||r.t("form.choose")),1),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(l.options,m=>(n.openBlock(),n.createElementBlock("option",{key:m.value,value:m.value},n.toDisplayString(m.label),9,Ro))),128))],8,xo)),[[n.vModelSelect,a.values[l.key]]]):l.type==="multiselect"?(n.openBlock(),n.createElementBlock("div",Do,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(l.options,m=>(n.openBlock(),n.createElementBlock("label",{key:m.value,class:"wm-form__multiItem"},[n.createElementVNode("input",{type:"checkbox",value:m.value,checked:Array.isArray(a.values[l.key])&&a.values[l.key].includes(m.value),disabled:s.readOnly||a.busy,onChange:y=>r.toggleMulti(l.key,m.value,y.target.checked)},null,40,Oo),n.createElementVNode("span",null,n.toDisplayString(m.label),1)]))),128))])):n.createCommentVNode("",!0)]))),128)),a.error?(n.openBlock(),n.createElementBlock("div",Io,n.toDisplayString(a.error),1)):n.createCommentVNode("",!0),s.readOnly?(n.openBlock(),n.createElementBlock("div",zo,n.toDisplayString(r.t("form.responseSent")),1)):(n.openBlock(),n.createElementBlock("button",{key:1,type:"submit",class:"wm-form__submit",disabled:a.busy},[a.busy?(n.openBlock(),n.createElementBlock("span",Po)):n.createCommentVNode("",!0),n.createElementVNode("span",null,n.toDisplayString(a.busy?r.t("common.sending"):s.form.submit_label||r.t("common.send")),1)],8,Fo))],32)])}const Je=A(_o,[["render",Uo],["__scopeId","data-v-fe65cc56"]]),Ho={name:"WmFeedback",inject:{t:{default:()=>T()}},props:{busy:{type:Boolean,default:!1},done:{type:Boolean,default:!1}},emits:["submit"],data(){return{sel:null}},computed:{options(){return[{v:1,e:"😞",l:this.t("feedback.rating1")},{v:2,e:"😐",l:this.t("feedback.rating2")},{v:3,e:"🙂",l:this.t("feedback.rating3")},{v:4,e:"😄",l:this.t("feedback.rating4")},{v:5,e:"🤩",l:this.t("feedback.rating5")}]}},methods:{onSend(){!this.sel||this.busy||this.$emit("submit",{rating:this.sel})}}},jo={class:"wm-fb"},qo={class:"wm-fb__title"},Ko={class:"wm-fb__sub"},Wo={class:"wm-fb__row"},$o=["onClick"],Go={class:"wm-fb__emoji"},Yo={class:"wm-fb__label"},Jo=["disabled"],Xo={key:1,class:"wm-fb__done"},Qo={class:"wm-fb__doneTitle"},Zo={class:"wm-fb__doneSub"};function ea(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",jo,[s.done?(n.openBlock(),n.createElementBlock("div",Xo,[t[1]||(t[1]=n.createElementVNode("div",{class:"wm-fb__check"},[n.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"#fff","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M20 6L9 17l-5-5"})])],-1)),n.createElementVNode("div",Qo,n.toDisplayString(r.t("feedback.doneTitle")),1),n.createElementVNode("div",Zo,n.toDisplayString(r.t("feedback.doneSubtitle")),1)])):(n.openBlock(),n.createElementBlock(n.Fragment,{key:0},[n.createElementVNode("div",qo,n.toDisplayString(r.t("feedback.question")),1),n.createElementVNode("div",Ko,n.toDisplayString(r.t("feedback.subtitle")),1),n.createElementVNode("div",Wo,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.options,i=>(n.openBlock(),n.createElementBlock("button",{key:i.v,type:"button",class:n.normalizeClass(["wm-fb__opt",{"is-selected":a.sel===i.v}]),onClick:l=>a.sel=i.v},[n.createElementVNode("span",Go,n.toDisplayString(i.e),1),n.createElementVNode("span",Yo,n.toDisplayString(i.l),1)],10,$o))),128))]),n.createElementVNode("button",{type:"button",class:"wm-fb__send",disabled:!a.sel||s.busy,onClick:t[0]||(t[0]=(...i)=>r.onSend&&r.onSend(...i))},n.toDisplayString(s.busy?r.t("common.sending"):r.t("feedback.submit")),9,Jo)],64))])}const Xe=A(Ho,[["render",ea],["__scopeId","data-v-9b630564"]]),ta={name:"WmMoreMenu",inject:{t:{default:()=>T()}},props:{canRename:{type:Boolean,default:!0},canExport:{type:Boolean,default:!0},soundEnabled:{type:Boolean,default:!0},statusUrl:{type:String,default:""},helpUrl:{type:String,default:""}},emits:["close","action","sound-toggle"],data(){return{soundOn:this.soundEnabled}},watch:{soundEnabled(e){this.soundOn=!!e}},methods:{emit(e){this.$emit("action",e)},toggleSound(){this.soundOn=!this.soundOn,this.$emit("sound-toggle",this.soundOn)}}},na={class:"wm-mm"},ra={class:"wm-mm__pop",role:"menu"},sa={key:0,class:"wm-mm__section"},oa={class:"wm-mm__label"},aa={class:"wm-mm__label"},ia={key:1,class:"wm-mm__sep"},la={class:"wm-mm__section"},ca={class:"wm-mm__label"},da={class:"wm-mm__section"},ua={class:"wm-mm__label"},ma={class:"wm-mm__label"};function ha(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",na,[n.createElementVNode("div",{class:"wm-mm__scrim",onClick:t[0]||(t[0]=i=>e.$emit("close"))}),n.createElementVNode("div",ra,[s.canRename||s.canExport?(n.openBlock(),n.createElementBlock("div",sa,[s.canRename?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"wm-mm__item",onClick:t[1]||(t[1]=i=>r.emit("rename"))},[t[6]||(t[6]=n.createElementVNode("span",{class:"wm-mm__icon"},[n.createElementVNode("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M12 20h9"}),n.createElementVNode("path",{d:"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z"})])],-1)),n.createElementVNode("span",oa,n.toDisplayString(r.t("moreMenu.editTitle")),1)])):n.createCommentVNode("",!0),s.canExport?(n.openBlock(),n.createElementBlock("button",{key:1,type:"button",class:"wm-mm__item",onClick:t[2]||(t[2]=i=>r.emit("export"))},[t[7]||(t[7]=n.createElementVNode("span",{class:"wm-mm__icon"},[n.createElementVNode("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M4 12v8a2 2 0 002 2h12a2 2 0 002-2v-8M16 6l-4-4-4 4M12 2v13"})])],-1)),n.createElementVNode("span",aa,n.toDisplayString(r.t("moreMenu.exportTranscript")),1),t[8]||(t[8]=n.createElementVNode("span",{class:"wm-mm__hint"},".txt",-1))])):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0),s.canRename||s.canExport?(n.openBlock(),n.createElementBlock("div",ia)):n.createCommentVNode("",!0),n.createElementVNode("div",la,[n.createElementVNode("button",{type:"button",class:"wm-mm__item",onClick:t[3]||(t[3]=(...i)=>r.toggleSound&&r.toggleSound(...i))},[t[10]||(t[10]=n.createElementVNode("span",{class:"wm-mm__icon"},[n.createElementVNode("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M11 5L6 9H2v6h4l5 4V5z"}),n.createElementVNode("path",{d:"M15.54 8.46a5 5 0 010 7.07M19.07 4.93a10 10 0 010 14.14"})])],-1)),n.createElementVNode("span",ca,n.toDisplayString(r.t("moreMenu.sound")),1),n.createElementVNode("span",{class:n.normalizeClass(["wm-mm__toggle",{"wm-mm__toggle--on":a.soundOn}])},[...t[9]||(t[9]=[n.createElementVNode("span",{class:"wm-mm__knob"},null,-1)])],2)])]),t[13]||(t[13]=n.createElementVNode("div",{class:"wm-mm__sep"},null,-1)),n.createElementVNode("div",da,[s.statusUrl?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"wm-mm__item",onClick:t[4]||(t[4]=i=>r.emit("status"))},[t[11]||(t[11]=n.createElementVNode("span",{class:"wm-mm__icon"},[n.createElementVNode("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zM10 6v4l3 2"})])],-1)),n.createElementVNode("span",ua,n.toDisplayString(r.t("moreMenu.serviceStatus")),1)])):n.createCommentVNode("",!0),s.helpUrl?(n.openBlock(),n.createElementBlock("button",{key:1,type:"button",class:"wm-mm__item",onClick:t[5]||(t[5]=i=>r.emit("help"))},[t[12]||(t[12]=n.createElementVNode("span",{class:"wm-mm__icon"},[n.createElementVNode("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M9 11a3 3 0 116 0c0 2-3 2-3 5M12 19h.01M12 22a10 10 0 110-20 10 10 0 010 20z"})])],-1)),n.createElementVNode("span",ma,n.toDisplayString(r.t("moreMenu.helpCenter")),1)])):n.createCommentVNode("",!0)])])])}const Qe=A(ta,[["render",ha],["__scopeId","data-v-4cf6d578"]]),fa={name:"WmRenameDialog",inject:{t:{default:()=>T()}},props:{title:{type:String,default:""},initialValue:{type:String,default:""},placeholder:{type:String,default:""}},emits:["close","submit"],data(){return{value:this.initialValue||""}},computed:{canSubmit(){const e=(this.value||"").trim();return!!e&&e!==(this.initialValue||"").trim()}},mounted(){this.$nextTick(()=>{const e=this.$refs.input;if(e){e.focus();try{e.select()}catch{}}})},methods:{onSubmit(){this.canSubmit&&this.$emit("submit",this.value.trim())}}},ga={class:"wm-dialog"},pa={class:"wm-dialog__card",role:"dialog","aria-modal":"true"},_a={class:"wm-dialog__head"},ya={class:"wm-dialog__title"},va=["aria-label"],wa={class:"wm-dialog__body"},ka=["placeholder"],ba={class:"wm-dialog__actions"},Ca=["disabled"];function Ea(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",ga,[n.createElementVNode("div",{class:"wm-dialog__scrim",onClick:t[0]||(t[0]=i=>e.$emit("close"))}),n.createElementVNode("div",pa,[n.createElementVNode("div",_a,[n.createElementVNode("div",ya,n.toDisplayString(s.title||r.t("rename.title")),1),n.createElementVNode("button",{type:"button",class:"wm-dialog__close","aria-label":r.t("common.close"),onClick:t[1]||(t[1]=i=>e.$emit("close"))},[...t[7]||(t[7]=[n.createElementVNode("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,va)]),n.createElementVNode("div",wa,[n.withDirectives(n.createElementVNode("input",{ref:"input","onUpdate:modelValue":t[2]||(t[2]=i=>a.value=i),type:"text",class:"wm-dialog__input",placeholder:s.placeholder||r.t("rename.placeholder"),maxlength:120,onKeydown:[t[3]||(t[3]=n.withKeys(n.withModifiers((...i)=>r.onSubmit&&r.onSubmit(...i),["prevent"]),["enter"])),t[4]||(t[4]=n.withKeys(n.withModifiers(i=>e.$emit("close"),["prevent"]),["esc"]))]},null,40,ka),[[n.vModelText,a.value]])]),n.createElementVNode("div",ba,[n.createElementVNode("button",{type:"button",class:"wm-dialog__btn",onClick:t[5]||(t[5]=i=>e.$emit("close"))},n.toDisplayString(r.t("common.cancel")),1),n.createElementVNode("button",{type:"button",class:"wm-dialog__btn wm-dialog__btn--primary",disabled:!r.canSubmit,onClick:t[6]||(t[6]=(...i)=>r.onSubmit&&r.onSubmit(...i))},n.toDisplayString(r.t("common.save")),9,Ca)])])])}const Ba=A(fa,[["render",Ea],["__scopeId","data-v-6d5f94a8"]]),be="ww-messenger-tokens",Sa={name:"Messenger",components:{Launcher:Me,Header:Le,Onboarding:Re,History:cr,MessageList:je,Composer:Ge,InlineCallbacks:Ye,FormCard:Je,Feedback:Xe,MoreMenu:Qe,RenameDialog:Ba},mixins:[_t,yt,wt],provide(){return{signAttachmentFn:e=>{var t,s;return((s=(t=this.store)==null?void 0:t.signAttachment)==null?void 0:s.call(t,e))||null},t:(e,t)=>this.t(e,t),wmLocale:()=>this.locale}},props:{baseUrl:{type:String,default:Se},widgetId:{type:String,default:""},context:{type:Object,default:null},displayMode:{type:String,default:"floating"},devtools:{type:Boolean,default:!1},language:{type:String,default:""}},data(){return{transport:null,store:null,isOpen:!1,launcherHovered:!1,draft:"",busy:!1,bootError:null,pendingAttachments:[],feedbackBusy:!1,feedbackDone:{},convOpenedAt:0,moreOpen:!1,renameDialogOpen:!1,draftConv:null,launching:!1,launchStage:"idle",pendingLaunchText:"",reopenedLocally:{},activeConvId:null,showOnboarding:!1,showHistory:!1,backToHistory:!1,welcomeRevealedAt:{},welcomeRevealTimers:{},dismissedPeeks:{},floatHeight:0,floatRO:null,parentOrigin:"",parentToken:"",parentVariables:null,parentAllowUnauthenticated:!1,parentInitReceived:!1,parentInitDeferred:null}},computed:{isEditor(){return!!this.devtools},isEmbedded(){return this.displayMode==="embedded"},customerLanguage(){var s,o,a,r;const e=(s=this.s)==null?void 0:s.customer,t=e&&(e.language||((o=e.values)==null?void 0:o.language));return t||((r=(a=this.context)==null?void 0:a.customer)==null?void 0:r.language)||""},locale(){var e;return ie(this.language||this.customerLanguage||((e=this.widget)==null?void 0:e.default_language)||"")},translator(){return T(this.locale)},error(){var e;return this.bootError||((e=this.s)==null?void 0:e.error)||null},canBoot(){return!!(this.baseUrl&&this.widgetId)},s(){var e;return((e=this.store)==null?void 0:e.state)||null},ready(){var e;return!!((e=this.s)!=null&&e.ready)},allConversations(){var t;const e=(t=this.s)==null?void 0:t.conversations;return Array.isArray(e)?e:[]},drawerConversations(){var s;const e=((s=this.s)==null?void 0:s.messagesByConv)||{},t=this.revealedAt;return this.allConversations.map(o=>{var y;const a=e[o.id]||[],r=O(o.last_read_message_id);let i=0,l=null;for(let g=a.length-1;g>=0;g--){const b=a[g];if(!b)continue;if(((y=b.author)==null?void 0:y.type)==="user")break;const N=O(b.id);if(N!=null){if(r!=null&&N<=r)break;t[b.id]!==0&&(!l&&b.author&&(l=b.author),i++)}}if(!a.length){const g=O(o.last_message_id);g!=null&&(r==null||g>r)&&(i=1,l=o.last_message_author||null)}const m=a.filter(g=>!((g==null?void 0:g.id)!=null&&t[g.id]===0));return{...o,_preview:ht(o,m),_unread:i>0,_unreadCount:i,_lastAuthor:l}})},unreadCount(){return this.drawerConversations.filter(e=>e._unread).length},openThreads(){var t;const e=((t=this.s)==null?void 0:t.messagesByConv)||{};return this.drawerConversations.filter(s=>{const o=this.convStatus(s);return o!=="resolved"&&o!=="closed"}).map(s=>({id:s.id,title:s.name||this.t("common.newConversation"),preview:s._preview||this.t("onboarding.newMessage"),unread:!!s._unread,author:s._lastAuthor||null,_ts:ve(s,e[s.id]||[])})).sort((s,o)=>s._ts<o._ts?1:s._ts>o._ts?-1:0)},latestUnreads(){var s;const e=((s=this.s)==null?void 0:s.messagesByConv)||{},t=[];for(const o of this.drawerConversations){if(!o._unread)continue;const a=ve(o,e[o.id]||[]),r=o._lastAuthor,i=!r||r.type==="agent_ia",l=(r==null?void 0:r.name)||(i?this.agentName:"")||"",m=(r==null?void 0:r.avatar_url)||(i?this.agentAvatarUrl:null);t.push({convId:o.id,preview:o._preview||this.t("notification.youHaveNewMessage"),ts:a,count:o._unreadCount||1,senderName:l,senderAvatarUrl:m})}return t.sort((o,a)=>o.ts<a.ts?1:o.ts>a.ts?-1:0),t},launcherPeeks(){if(this.isOpen||this.isEmbedded)return[];const e=this.dismissedPeeks||{};return this.latestUnreads.filter(t=>e[t.convId]!==t.ts)},isViewingThread(){return(this.isOpen||this.isEmbedded)&&!!this.currentConv},currentConv(){if(this.draftConv)return this.draftConv;if(this.showOnboarding||this.showHistory)return null;const e=this.allConversations;if(!e.length)return null;if(this.activeConvId!=null){const t=e.find(s=>s.id===this.activeConvId);if(t)return t}return e[0]||null},canBack(){return!!this.currentConv||this.showHistory},statusUrl(){var s;const e=(s=this.widget)==null?void 0:s.quick_links;if(!Array.isArray(e))return"";const t=e.find(o=>o.icon==="status"&&o.url);return(t==null?void 0:t.url)||""},helpUrl(){var s;const e=(s=this.widget)==null?void 0:s.quick_links;if(!Array.isArray(e))return"";const t=e.find(o=>(o.icon==="chat"||o.icon==="help")&&o.url);return(t==null?void 0:t.url)||""},widget(){var e,t;return((t=(e=this.s)==null?void 0:e.config)==null?void 0:t.widget)||null},rootStyle(){var t;const e=(t=this.widget)==null?void 0:t.primary_color;return e&&dt(e)?{"--wm-primary":e}:null},widgetTitle(){var e;return((e=this.widget)==null?void 0:e.title)||""},widgetWelcomeMessage(){var e;return((e=this.widget)==null?void 0:e.welcome_message)||""},widgetSubtitle(){var e;return((e=this.widget)==null?void 0:e.subtitle)||""},defaultIconUrl(){var e;return((e=this.widget)==null?void 0:e.default_icon_url)||null},coverImageUrl(){var e;return((e=this.widget)==null?void 0:e.cover_image_url)||null},agentName(){var e,t,s;return((s=(t=(e=this.s)==null?void 0:e.config)==null?void 0:t.agent)==null?void 0:s.name)||""},agentAvatarUrl(){var e,t,s;return((s=(t=(e=this.s)==null?void 0:e.config)==null?void 0:t.agent)==null?void 0:s.avatar_url)||null},quickLinks(){var t;const e=(t=this.widget)==null?void 0:t.quick_links;return Array.isArray(e)?e:[]},teamMembers(){var t;const e=(t=this.widget)==null?void 0:t.team_members;return Array.isArray(e)?e:[]},responseLabel(){var e;return((e=this.widget)==null?void 0:e.response_time_label)||""},humanMessageAuthor(){var t,s,o;if(!this.currentConv)return null;const e=((t=this.s.messagesByConv)==null?void 0:t[this.currentConv.id])||[];for(let a=e.length-1;a>=0;a--)if(((o=(s=e[a])==null?void 0:s.author)==null?void 0:o.type)==="agent_human")return e[a].author;return null},humanAgentName(){var e;return((e=this.humanMessageAuthor)==null?void 0:e.name)||""},humanAgentAvatarUrl(){var e;return((e=this.humanMessageAuthor)==null?void 0:e.avatar_url)||null},isEscalated(){return!!this.humanMessageAuthor},isWaitingHuman(){return this.currentStatus==="waiting_human_response"},isTerminal(){return this.currentStatus==="resolved"||this.currentStatus==="closed"},isClosed(){return this.currentStatus==="closed"},endedBlockVisible(){var e;return!(!this.isTerminal||this.isClosed&&this.reopenedLocally[(e=this.currentConv)==null?void 0:e.id])},headerTitle(){var e,t;return((e=this.currentConv)==null?void 0:e.name)||((t=this.widget)==null?void 0:t.name)||this.t("common.newConversation")},composerPlaceholder(){return this.isEscalated&&this.humanAgentName?this.t("composer.replyTo",{name:this.humanAgentName.split(" ")[0]}):this.isWaitingHuman?this.t("composer.agentTakingOver"):this.t("composer.placeholder")},displayedMessages(){var a,r;const e=this.currentConv;if(!e)return[];const t=this.welcomeRevealedAt[e.id]>0?this.buildWelcomePrefix(e):[];if(!e._draft){const i=(r=(a=this.s)==null?void 0:a.paginationByConv)==null?void 0:r[e.id];if(!(i!=null&&i.loaded))return t}const s=this.revealedAt,o=(this.s.messagesByConv[e.id]||[]).filter(i=>{var l,m,y,g,b;return(i==null?void 0:i.type)==="action"&&((l=i==null?void 0:i.payload)==null?void 0:l.state)==="pending"||Z(i)&&!(s[i.id]>0)?!1:(i==null?void 0:i.type)==="action"||(i==null?void 0:i.type)==="system"||((m=i==null?void 0:i.payload)==null?void 0:m.type)==="system"||Array.isArray((y=i==null?void 0:i.payload)==null?void 0:y.attachments)&&i.payload.attachments.length||(g=i==null?void 0:i.metadata)!=null&&g.artifact||(b=i==null?void 0:i.metadata)!=null&&b.form||Array.isArray(i==null?void 0:i.callbacks)&&i.callbacks.some(N=>(N==null?void 0:N.intent)==="submit_form")?!0:typeof(i==null?void 0:i.text_md)=="string"&&i.text_md.trim().length>0});return t.length?[...t,...o]:o},streamingActive(){var s,o,a;const e=this.currentConv;return e?Object.keys(((s=this.s)==null?void 0:s.streamingByMsgId)||{}).length>0?!0:this.actionInFlight?!1:this.widgetWelcomeMessage&&this.welcomeRevealedAt[e.id]===0?!0:(((a=(o=this.s)==null?void 0:o.messagesByConv)==null?void 0:a[e.id])||[]).some(r=>Z(r)&&!(this.revealedAt[r.id]>0)):!1},currentConvMessages(){var t,s,o;const e=(t=this.currentConv)==null?void 0:t.id;return e?((o=(s=this.s)==null?void 0:s.messagesByConv)==null?void 0:o[e])||[]:[]},pendingResolution(){var t,s,o,a,r;if(!this.currentConv)return null;const e=((s=(t=this.s)==null?void 0:t.messagesByConv)==null?void 0:s[this.currentConv.id])||[];for(let i=e.length-1;i>=0;i--){const l=e[i];if((o=l==null?void 0:l.metadata)!=null&&o.resolution_request)return!Array.isArray(l.callbacks)||!l.callbacks.length||(r=(a=this.s)==null?void 0:a.awaitingCallback)!=null&&r[l.id]?null:l}return null},resolutionCallbacks(){const e=this.pendingResolution;if(!e||!Array.isArray(e.callbacks))return[];const t={resolve_confirm:this.t("resolution.confirm"),resolve_decline:this.t("resolution.decline")};return e.callbacks.map(s=>({...s,label:t[s.id]||s.label}))},pendingApproval(){var t,s,o,a;if(!this.currentConv)return null;const e=((s=(t=this.s)==null?void 0:t.messagesByConv)==null?void 0:s[this.currentConv.id])||[];for(let r=e.length-1;r>=0;r--){const i=e[r];if(!(!Array.isArray(i==null?void 0:i.callbacks)||!i.callbacks.length||!i.callbacks.some(m=>(m==null?void 0:m.intent)==="approve"&&(m.audience??"customer")==="customer")))return(a=(o=this.s)==null?void 0:o.awaitingCallback)!=null&&a[i.id]?null:i}return null},approvalCallbacks(){const e=this.pendingApproval;return!e||!Array.isArray(e.callbacks)?[]:e.callbacks.filter(t=>(t==null?void 0:t.intent)==="approve"||(t==null?void 0:t.intent)==="reject")},currentStatus(){return this.convStatus(this.currentConv)},actionInFlight(){var e,t;return!this.currentConv||!this.store?null:((t=(e=this.store).getActionInFlight)==null?void 0:t.call(e,this.currentConv.id))||null},actionInFlightName(){var t;const e=this.actionInFlight;return e?((t=e.payload)==null?void 0:t.name)||e.text_md||this.t("common.action"):""},suggestions(){return this.currentConv?this.isTerminal?[]:this.streamingActive?[]:this.pendingForm?[]:this.conversationIsEmpty?this.starterPrompts:this.store?this.store.getLatestSuggestions(this.currentConv.id):[]:[]},conversationIsEmpty(){var s,o;const e=this.currentConv;return e?e._draft?!0:(((o=(s=this.s)==null?void 0:s.messagesByConv)==null?void 0:o[e.id])||[]).length===0:!1},starterPrompts(){var s;const e=(s=this.widget)==null?void 0:s.starter_prompts;if(!Array.isArray(e))return[];const t=[];for(const o of e){if(!o||typeof o!="object")continue;const a=typeof o.title=="string"?o.title.trim():"";if(!a)continue;const r=typeof o.message=="string"?o.message.trim():"";t.push({label:a,text:r||a,kind:"starter"})}return t},pendingForm(){var e,t;return!this.currentConv||!this.store||this.actionInFlight||this.streamingActive?null:((t=(e=this.store).getLatestForm)==null?void 0:t.call(e,this.currentConv.id))||null},showFeedback(){var t;const e=this.currentConv;return!e||this.currentStatus!=="resolved"?!1:this.feedbackDone[e.id]?!0:!((t=e.metadata)!=null&&t.feedback)},floatVisible(){return!!this.pendingApproval||!!this.pendingResolution||!!this.pendingForm||this.showFeedback||this.suggestions.length>0},dateLabel(){var s,o,a;const e=this.currentConv;let t=new Date;if(e){const i=((a=(((o=(s=this.s)==null?void 0:s.messagesByConv)==null?void 0:o[e.id])||[]).find(l=>l==null?void 0:l.created_at))==null?void 0:a.created_at)||e.created_at;if(i){const l=new Date(i);Number.isNaN(l.getTime())||(t=l)}}return this.t("messageList.today",{time:se(t,U(this.locale))})},paginationState(){var s,o,a;const e=(s=this.currentConv)==null?void 0:s.id,t=e?(a=(o=this.s)==null?void 0:o.paginationByConv)==null?void 0:a[e]:null;return{loading:!!(t!=null&&t.loading),hasMore:!!(t!=null&&t.nextCursor)}}},watch:{latestUnreads:{handler(e){const t=new Set(e.map(i=>i.convId)),s=this.dismissedPeeks||{},o=Object.keys(s);if(!o.length)return;const a={};let r=!1;for(const i of o)t.has(i)?a[i]=s[i]:r=!0;r&&(this.dismissedPeeks=a)},deep:!0},"currentConv.id":{handler(e){var t;this.resetRevealQueue(),this.convOpenedAt=Date.now(),this.moreOpen=!1,this.renameDialogOpen=!1,this.isViewingThread&&(this.unreadAnchorId=O((t=this.currentConv)==null?void 0:t.last_read_message_id),this.unreadBoundaryTs=e?new Date().toISOString():""),e&&this.scheduleWelcomeReveal(e)},immediate:!0},isViewingThread(e,t){var s;e&&!t?(this.unreadAnchorId=O((s=this.currentConv)==null?void 0:s.last_read_message_id),this.unreadBoundaryTs=new Date().toISOString()):e||(this.unreadAnchorId=null,this.unreadBoundaryTs="")},floatVisible:{handler(e){this.$nextTick(()=>this.syncFloatObserver(e))},immediate:!0},currentConvMessages(e){var t;this.paceMessages(e,(t=this.currentConv)==null?void 0:t.id),(this.isOpen||this.isEmbedded)&&this.currentConv&&this.markConvRead(this.currentConv)}},async mounted(){if(typeof document<"u"&&!document.getElementById(be)){const e=document.createElement("style");e.id=be,e.textContent=Be,document.head.appendChild(e)}this._parentMessageHandler=this.onParentMessage.bind(this),window.addEventListener("message",this._parentMessageHandler),window.parent&&window.parent!==window&&window.parent.postMessage({type:"READY"},"*"),this.isEmbedded?(await this.boot(),this.store&&await this.open()):(await this.$nextTick(),this.sendCurrentLauncherSize(),this.observeLauncherSize())},beforeUnmount(){this._parentMessageHandler&&(window.removeEventListener("message",this._parentMessageHandler),this._parentMessageHandler=null),this._launcherRo&&(this._launcherRo.disconnect(),this._launcherRo=null),this.cancelReveals(),this.cancelWelcomeTimers(),this.teardownLiveReveal(),this.disconnectFloatRO(),this.teardownNotifications(),this.store&&this.store.destroy()},methods:{convStatus(e){var s,o,a,r;if(!e)return"open";const t=((o=(s=this.s)==null?void 0:s.messagesByConv)==null?void 0:o[e.id])||[];for(let i=t.length-1;i>=0;i--){const l=(r=(a=t[i])==null?void 0:a.metadata)==null?void 0:r.conversation_status;if(l)return l}return e.status||"open"},t(e,t){return this.translator(e,t)},waitForParentInit(){if(this.parentInitReceived)return Promise.resolve();if(!this.parentInitDeferred){let e;this.parentInitDeferred=new Promise(t=>{e=t}),this.parentInitDeferred._resolve=e}return this.parentInitDeferred},onParentMessage(e){var s;const t=e==null?void 0:e.data;if(!(!t||typeof t!="object")){if(t.type==="UPDATE"){this.transport&&t.payload&&this.transport.update(t.payload).catch(o=>{console.warn("[messenger] update failed",o)});return}if(t.type==="CONTEXT"){this.transport&&t.payload&&this.transport.context(t.payload);return}t.type==="INIT"&&(this.parentOrigin=e.origin,this.parentToken=typeof t.token=="string"?t.token:"",this.parentVariables=t.variables&&typeof t.variables=="object"?t.variables:t.context&&typeof t.context=="object"?t.context:null,this.parentAllowUnauthenticated=t.allowUnauthenticated===!0,this.parentInitReceived=!0,(s=this.parentInitDeferred)!=null&&s._resolve&&this.parentInitDeferred._resolve(),!this.isEmbedded&&!this.isOpen&&!this.parentAllowUnauthenticated&&this.parentToken&&this.hasValidSessionMarker()&&this.boot().catch(o=>{console.warn("[messenger] eager boot failed",o)}))}},hasValidSessionMarker(){if(typeof document>"u")return!1;const t=(document.cookie||"").match(/(?:^|; )messenger_session_marker=([^;]+)/);if(!t)return!1;const s=parseInt(t[1],10);return Number.isFinite(s)?s>Date.now():!1},async boot(){if(!this.canBoot){console.warn("[messenger] boot skipped — missing creds");return}try{await this.waitForParentInit(),this.transport=n.markRaw(Ce({baseUrl:this.baseUrl,widgetId:this.widgetId})),this.store=n.markRaw(Ee(this.transport)),this.hydrateNotifPref();const e=this.parentVariables||this.context||null;if(await this.store.start({origin:this.parentOrigin,token:this.parentToken||void 0,allowUnauthenticated:this.parentAllowUnauthenticated,variables:e&&typeof e=="object"?e:void 0}),e&&typeof e=="object"){const t={};for(const[s,o]of Object.entries(e))s!=="customer"&&o&&typeof o=="object"&&!Array.isArray(o)&&(t[s]=o);Object.keys(t).length>0&&this.transport.context(t)}this.setupLiveReveal()}catch(e){console.error("[ww-messenger] bootstrap failed",e),this.bootError=(e==null?void 0:e.message)||String(e)}},async refresh(){this.store&&this.store.destroy(),this.cancelReveals(),this.cancelWelcomeTimers(),this.welcomeRevealedAt={},this.teardownLiveReveal(),this.teardownNotifications(),this.convOpenedAt=0,this.transport=null,this.store=null,this.isOpen=!1,this.draft="",this.busy=!1,this.bootError=null,this.pendingAttachments=[],this.feedbackBusy=!1,this.feedbackDone={},this.moreOpen=!1,this.renameDialogOpen=!1,this.draftConv=null,this.activeConvId=null,this.showOnboarding=!1,this.showHistory=!1,this.backToHistory=!1,await this.boot(),this.isEmbedded&&this.store&&await this.open()},syncFloatObserver(e){if(this.disconnectFloatRO(),!e){this.floatHeight=0;return}const t=this.$refs.floatEl;if(t){if(typeof ResizeObserver>"u"){this.floatHeight=Math.ceil(t.getBoundingClientRect().height+8);return}this.floatRO=new ResizeObserver(s=>{const o=s[0];if(!o)return;const a=Math.ceil(o.contentRect.height+8);a!==this.floatHeight&&(this.floatHeight=a,this.$nextTick(()=>{var r,i;(i=(r=this.$refs.messageList)==null?void 0:r.keepPinnedToBottom)==null||i.call(r)}))}),this.floatRO.observe(t)}},disconnectFloatRO(){if(this.floatRO){try{this.floatRO.disconnect()}catch{}this.floatRO=null}},async open(){this.isOpen=!0,this.notifyParentResize("open"),this._launcherRo&&this._launcherRo.disconnect(),this.store||await this.boot(),this.store&&this.store.setPanelOpen(!0);const e=this.currentConv;if(e&&!e._draft){this.activeConvId==null&&(this.activeConvId=e.id);try{await this.store.openConversation(e.id)}catch(t){console.error("[ww-messenger] load messages failed",t)}this.markConvRead(e)}},async close(){this.isOpen=!1,await this.$nextTick(),this.sendCurrentLauncherSize(),this.observeLauncherSize(),this.store&&this.store.setPanelOpen(!1)},notifyParentResize(e,t){if(window.parent&&window.parent!==window)try{window.parent.postMessage({type:"RESIZE",state:e,displayMode:this.displayMode,...t||{}},"*")}catch(s){console.warn("[ww-messenger] notifyParentResize failed",s)}},onLauncherHover(e){this.launcherHovered=e,this.sendCurrentLauncherSize()},sendCurrentLauncherSize(){var g,b,N,k,x,C,V;if(this.isOpen)return;const e=(b=(g=this.$el)==null?void 0:g.querySelector)==null?void 0:b.call(g,".wm-launcherWrap");if(!e)return;const t=e.getBoundingClientRect();if(!t.width||!t.height)return;const s=(((N=this.launcherPeeks)==null?void 0:N.length)??0)>0,o=16,a=Math.ceil(t.width),r=Math.ceil(t.height),i=(x=(k=this.$el)==null?void 0:k.querySelector)==null?void 0:x.call(k,".wm-launcher"),l=(V=(C=this.$el)==null?void 0:C.querySelectorAll)==null?void 0:V.call(C,".wm-peek"),m=l&&l.length?l[l.length-1]:null;let y=null;if(m){const E=m.getBoundingClientRect();y={width:Math.ceil(E.width),height:Math.ceil(E.height),rightOffset:Math.max(0,Math.ceil(t.right-E.right)),bottomOffset:Math.max(0,Math.ceil(t.bottom-E.bottom))}}this.notifyParentResize("closed",{width:a+o,height:r+o,launcherWidth:(i==null?void 0:i.offsetWidth)||null,launcherHeight:(i==null?void 0:i.offsetHeight)||null,launcherHovered:this.launcherHovered,peek:y,peekHovered:this.launcherHovered&&s})},observeLauncherSize(){var s,o;if(typeof ResizeObserver>"u")return;const e=(o=(s=this.$el)==null?void 0:s.querySelector)==null?void 0:o.call(s,".wm-launcherWrap");if(!e)return;this._launcherRo&&this._launcherRo.disconnect();const t=new ResizeObserver(()=>{this.isOpen||this.sendCurrentLauncherSize()});t.observe(e),this._launcherRo=t},async openFromPeek(e){var s,o;const t=e||((s=this.latestUnreads[0])==null?void 0:s.convId);t&&t!==((o=this.currentConv)==null?void 0:o.id)&&(this.draftConv=null,this.activeConvId=t,this.showOnboarding=!1,this.showHistory=!1,this.backToHistory=!1),await this.open()},dismissPeek(e){const t=this.latestUnreads.find(s=>s.convId===e);t&&(this.dismissedPeeks={...this.dismissedPeeks,[e]:t.ts})},onOnboardingStart(e){this.pendingLaunchText=(e||"").trim(),this.launching=!0,this.launchStage="whiteslide"},onHomeLaunched(){const e=this.pendingLaunchText;this.pendingLaunchText="",this.startConv(),e&&this.$nextTick(()=>this.onSend(e)),this.launchStage="header",window.setTimeout(()=>{this.launching&&(this.launchStage="messages")},520),window.setTimeout(()=>{this.launching=!1,this.launchStage="idle"},1160)},startConv(){this.draftConv={id:"__draft__",_draft:!0,name:"",created_at:new Date().toISOString()},this.activeConvId=null,this.showOnboarding=!1,this.showHistory=!1,this.backToHistory=!1,this.focusComposer()},onReopen(){var t;const e=(t=this.currentConv)==null?void 0:t.id;e&&(this.reopenedLocally={...this.reopenedLocally,[e]:!0},this.focusComposer())},async ensureRealConv(){const e=this.currentConv;if(!e)return null;if(!e._draft)return e;if(this.busy)return null;this.busy=!0;try{const t=await this.store.createConversation({}),s=this.welcomeRevealedAt.__draft__;return s!==void 0&&(this.welcomeRevealedAt={...this.welcomeRevealedAt,[t.id]:s>0?s:Date.now()}),this.draftConv=null,this.activeConvId=t.id,await this.store.openConversation(t.id),this.markConvRead(t),t}catch(t){return console.error("[ww-messenger] create conv failed",t),this.bootError=(t==null?void 0:t.message)||String(t),null}finally{this.busy=!1}},focusComposer(){this.$nextTick(()=>{var e;return(e=this.$refs.composer)==null?void 0:e.focus()})},buildWelcomePrefix(e){const t=this.widgetWelcomeMessage;return!t||typeof t!="string"||!t.trim()?[]:[{id:"__welcome__",text_md:t.trim(),author:{type:"agent_ia",name:this.agentName,avatar_url:this.agentAvatarUrl},created_at:(e==null?void 0:e.created_at)||new Date(0).toISOString()}]},scheduleWelcomeReveal(e){if(!e)return;const t=this.widgetWelcomeMessage;if(!t||typeof t!="string"||!t.trim()||this.welcomeRevealedAt[e]!==void 0)return;const s=this.currentConv;if(!((s==null?void 0:s._draft)||!(s!=null&&s.last_message_id))){this.welcomeRevealedAt={...this.welcomeRevealedAt,[e]:Date.now()};return}this.welcomeRevealedAt={...this.welcomeRevealedAt,[e]:0};const a=this.revealPacing,r=t.trim().length,i=Math.min(a.maxTypingMs,Math.max(a.minTypingMs,r*a.msPerChar)),l=a.firstRevealDelayMs+i,m=setTimeout(()=>{this.welcomeRevealedAt={...this.welcomeRevealedAt,[e]:Date.now()};const y={...this.welcomeRevealTimers};delete y[e],this.welcomeRevealTimers=y},l);this.welcomeRevealTimers={...this.welcomeRevealTimers,[e]:m}},cancelWelcomeTimers(){for(const e of Object.values(this.welcomeRevealTimers))try{clearTimeout(e)}catch{}this.welcomeRevealTimers={}},toggleMore(){this.moreOpen=!this.moreOpen},goHome(){this.moreOpen=!1,this.draftConv=null,this.activeConvId=null,this.backToHistory?(this.showOnboarding=!1,this.showHistory=!0,this.backToHistory=!1):(this.showOnboarding=!0,this.showHistory=!1)},async onDrawerPick(e){if(!(e!=null&&e.id)||!this.store)return;const t=this.showHistory;this.draftConv=null,this.activeConvId=e.id,this.showOnboarding=!1,this.showHistory=!1,this.backToHistory=t;try{await this.store.openConversation(e.id)}catch(o){console.error("[ww-messenger] open conv failed",o)}const s=this.allConversations.find(o=>o.id===e.id);s&&this.markConvRead(s)},async onMoreAction(e){var t,s;switch(this.moreOpen=!1,e){case"rename":this.openRenameDialog();break;case"export":pt(this.currentConv,this.currentConv?(s=(t=this.s)==null?void 0:t.messagesByConv)==null?void 0:s[this.currentConv.id]:[],this.translator,this.locale);break;case"status":if(re(this.statusUrl))try{window.open(this.statusUrl,"_blank","noopener")}catch{}break;case"help":if(re(this.helpUrl))try{window.open(this.helpUrl,"_blank","noopener")}catch{}break}},openRenameDialog(){const e=this.currentConv;!e||e._draft||(this.renameDialogOpen=!0)},async onRenameSubmit(e){const t=this.currentConv;if(this.renameDialogOpen=!1,!t||t._draft||!this.store)return;const s=(e||"").trim();if(!(!s||s===t.name))try{await this.store.patchConversation(t.id,{name:s})}catch(o){console.error("[ww-messenger] rename failed",o)}},async onSend(e){let t=this.currentConv;if(!t&&(this.startConv(),t=this.currentConv,!t)||t._draft&&(t=await this.ensureRealConv(),!t))return;const s=t.id,o=this.pendingAttachments.slice();this.pendingAttachments=[],this.unreadAnchorId=null,this.unreadBoundaryTs="";const a=o.map(r=>{const{previewUrl:i,...l}=r;return l});await this.store.send(s,e,{attachments:a.length?a:void 0})},async onSuggestion(e){const t=(e==null?void 0:e.text)||(e==null?void 0:e.label);t&&await this.onSend(t)},async onLoadMore(){var t;const e=(t=this.currentConv)==null?void 0:t.id;!e||!this.store||await this.store.loadMore(e)},async onResolutionSelect(e){const t=this.pendingResolution;!t||!(e!=null&&e.id)||await this.store.clickCallback(t.id,e.id)},async onApprovalSelect(e){const t=this.pendingApproval;!t||!(e!=null&&e.id)||await this.store.clickCallback(t.id,e.id)},async onFormSubmit({values:e}){const t=this.pendingForm;if(!(t!=null&&t.form))return;const s=ut(t.form,e,this.translator);if(!s)return;let o=this.currentConv;o&&(o._draft&&(o=await this.ensureRealConv(),!o)||await this.store.send(o.id,s,{metadata:{artifact:mt(t.form,e,this.translator)}}))},formatAttachmentSize(e){return e?e<1024?this.t("attachment.bytes",{size:e}):e<1024*1024?this.t("attachment.kilobytes",{size:(e/1024).toFixed(0)}):this.t("attachment.megabytes",{size:(e/(1024*1024)).toFixed(1)}):""},removePendingAttachment(e){this.pendingAttachments.splice(e,1)},async onAttach(e){var t,s;if(!(!e||!this.transport))try{const o=await this.transport.uploadAttachment(e),a=(o==null?void 0:o.type)==="image"||(e.type||"").toLowerCase().startsWith("image/")||((o==null?void 0:o.mime_type)||"").toLowerCase().startsWith("image/");let r=null;if(a)try{r=await((s=(t=this.store)==null?void 0:t.signAttachment)==null?void 0:s.call(t,o.path))||null}catch{}this.pendingAttachments.push({type:o.type||"file",path:o.path,name:e.name||this.t("attachment.fileFallbackName"),mime_type:e.type,size_bytes:e.size,previewUrl:r})}catch(o){console.error("[ww-messenger] attachment upload failed",o)}},onPanelClick(e){const t=e.target&&e.target.closest?e.target.closest('a[href^="#"]'):null;t&&(e.preventDefault(),this.openInternalUrl(t.getAttribute("href")))},async openInternalUrl(e){if(typeof e!="string"||!e.startsWith("#"))return!1;const t=e.slice(1);if(t==="new"||t==="new-conversation")return this.isOpen||await this.open(),this.startConv(),!0;if(t.startsWith("conversation/")){const s=t.slice(13);return s&&await this.openFromPeek(s),!0}return console.warn("[messenger] unknown internal url",e),!0},async onQuickLink(e){if(e){if(e.url){if(await this.openInternalUrl(e.url))return;if(!re(e.url)){console.warn("[messenger] refusing unsafe quick-link url",e.url);return}try{window.open(e.url,"_blank","noopener")}catch{}return}this.currentConv||this.startConv(),await this.onSend(e.label)}},async onFeedback({rating:e,comment:t}){if(this.currentConv){this.feedbackBusy=!0;try{await this.store.submitFeedback(this.currentConv.id,{rating:e,comment:t}),this.feedbackDone={...this.feedbackDone,[this.currentConv.id]:!0}}catch(s){console.error("[ww-messenger] feedback failed",s)}finally{this.feedbackBusy=!1}}}}},Na={key:0,class:"wm-loading","aria-busy":"true","aria-live":"polite"},Aa=["aria-label"],Va={class:"wm-screens"},Ta={key:"error",class:"wm-screen wm-state"},Ma={class:"wm-state__err"},xa={class:"wm-state__errTitle"},La={class:"wm-state__errSub"},Ra={key:"chat",class:"wm-screen wm-screen--chat"},Da={class:"wm-bottom"},Oa={key:0,ref:"floatEl",class:"wm-float"},Ia={key:1,class:"wm-actionWait",role:"status","aria-live":"polite"},Fa={class:"wm-actionWait__lbl"},Pa={key:2,class:"wm-attached"},za=["src","alt"],Ua={key:1,class:"wm-attached__file"},Ha={class:"wm-attached__fileMeta"},ja={class:"wm-attached__fileName"},qa={key:0,class:"wm-attached__fileSize"},Ka=["aria-label","onClick"],Wa={key:3,class:"wm-ended",role:"status","aria-live":"polite"},$a={class:"wm-ended__lbl"};function Ga(e,t,s,o,a,r){const i=n.resolveComponent("Launcher"),l=n.resolveComponent("Header"),m=n.resolveComponent("History"),y=n.resolveComponent("Onboarding"),g=n.resolveComponent("MessageList"),b=n.resolveComponent("InlineCallbacks"),N=n.resolveComponent("FormCard"),k=n.resolveComponent("Feedback"),x=n.resolveComponent("Composer"),C=n.resolveComponent("MoreMenu"),V=n.resolveComponent("RenameDialog");return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["wm-root",`wm-root--${s.displayMode}`]),style:n.normalizeStyle(r.rootStyle)},[!a.isOpen&&!r.isEmbedded?(n.openBlock(),n.createBlock(i,{key:0,"unread-count":r.unreadCount,peeks:r.launcherPeeks,onOpen:r.openFromPeek,onDismiss:r.dismissPeek,onHover:r.onLauncherHover},null,8,["unread-count","peeks","onOpen","onDismiss","onHover"])):n.createCommentVNode("",!0),a.isOpen||r.isEmbedded?(n.openBlock(),n.createElementBlock("section",{key:1,class:n.normalizeClass(["wm-panel",`wm-panel--${s.displayMode}`,{"wm-panel--welcome":r.ready&&!r.error&&!r.currentConv},a.launching?`wm-launch-${a.launchStage}`:""]),style:n.normalizeStyle(a.floatHeight?{"--wm-float-h":a.floatHeight+"px"}:null),role:"dialog","aria-label":"Messenger",onClick:t[7]||(t[7]=(...E)=>r.onPanelClick&&r.onPanelClick(...E))},[!r.ready&&!r.error?(n.openBlock(),n.createElementBlock("div",Na,[r.isEmbedded?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"wm-loading__close","aria-label":r.t("loading.minimize"),onClick:t[0]||(t[0]=(...E)=>r.close&&r.close(...E))},[...t[8]||(t[8]=[n.createElementVNode("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,Aa)),t[9]||(t[9]=n.createElementVNode("div",{class:"wm-loading__spinner","aria-hidden":"true"},null,-1))])):(n.openBlock(),n.createElementBlock(n.Fragment,{key:1},[n.createVNode(l,{title:r.headerTitle,"team-members":r.teamMembers,"response-label":r.responseLabel,"show-identity":!!r.currentConv,"show-back":r.canBack,"show-close":!r.isEmbedded,"more-active":a.moreOpen,"agent-name":r.agentName,"agent-avatar-url":r.agentAvatarUrl,onBack:r.goHome,onMore:r.toggleMore,onClose:r.close},null,8,["title","team-members","response-label","show-identity","show-back","show-close","more-active","agent-name","agent-avatar-url","onBack","onMore","onClose"]),n.createElementVNode("div",Va,[n.createVNode(n.Transition,{name:"wm-none"},{default:n.withCtx(()=>[r.error?(n.openBlock(),n.createElementBlock("div",Ta,[n.createElementVNode("div",Ma,[t[10]||(t[10]=n.createElementVNode("div",{class:"wm-state__errIcon"},[n.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})])],-1)),n.createElementVNode("div",null,[n.createElementVNode("div",xa,n.toDisplayString(r.t("error.connectionFailed")),1),n.createElementVNode("div",La,n.toDisplayString(r.error),1)])])])):!r.currentConv&&a.showHistory?(n.openBlock(),n.createBlock(m,{key:"history",class:"wm-screen",threads:r.openThreads,onResume:r.onDrawerPick},null,8,["threads","onResume"])):r.currentConv?(n.openBlock(),n.createElementBlock("div",Ra,[n.createVNode(g,{ref:"messageList",messages:r.displayedMessages,"streaming-active":r.streamingActive,"date-label":r.dateLabel,"conversation-id":r.currentConv?r.currentConv.id:null,"loading-more":r.paginationState.loading,"has-more":r.paginationState.hasMore,"unread-anchor-id":e.unreadAnchorId,"unread-boundary-ts":e.unreadBoundaryTs,"ai-agent-name":r.agentName,"ai-agent-avatar-url":r.agentAvatarUrl,onLoadMore:r.onLoadMore},null,8,["messages","streaming-active","date-label","conversation-id","loading-more","has-more","unread-anchor-id","unread-boundary-ts","ai-agent-name","ai-agent-avatar-url","onLoadMore"]),n.createElementVNode("div",Da,[r.floatVisible?(n.openBlock(),n.createElementBlock("div",Oa,[r.pendingApproval?(n.openBlock(),n.createBlock(b,{key:`appr-${r.pendingApproval.id}`,variant:"buttons",items:r.approvalCallbacks,onSelect:r.onApprovalSelect},null,8,["items","onSelect"])):r.pendingResolution?(n.openBlock(),n.createBlock(b,{key:`res-${r.pendingResolution.id}`,variant:"buttons",items:r.resolutionCallbacks,onSelect:r.onResolutionSelect},null,8,["items","onSelect"])):r.pendingForm?(n.openBlock(),n.createBlock(N,{key:r.pendingForm.message&&r.pendingForm.message.id,form:r.pendingForm.form,"agent-name":r.agentName,"agent-avatar-url":r.agentAvatarUrl,onSubmit:r.onFormSubmit},null,8,["form","agent-name","agent-avatar-url","onSubmit"])):r.showFeedback?(n.openBlock(),n.createBlock(k,{key:3,busy:a.feedbackBusy,done:!!(r.currentConv&&a.feedbackDone[r.currentConv.id]),onSubmit:r.onFeedback},null,8,["busy","done","onSubmit"])):(n.openBlock(),n.createBlock(b,{key:4,items:r.suggestions,onSelect:r.onSuggestion},null,8,["items","onSelect"]))],512)):n.createCommentVNode("",!0),r.actionInFlight?(n.openBlock(),n.createElementBlock("div",Ia,[t[11]||(t[11]=n.createElementVNode("span",{class:"wm-actionWait__spinner","aria-hidden":"true"},null,-1)),n.createElementVNode("span",Fa,n.toDisplayString(r.t("action.inProgress",{name:r.actionInFlightName})),1)])):n.createCommentVNode("",!0),a.pendingAttachments.length?(n.openBlock(),n.createElementBlock("div",Pa,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(a.pendingAttachments,(E,L)=>(n.openBlock(),n.createElementBlock("div",{key:E.path||L,class:"wm-attached__item"},[E.previewUrl?(n.openBlock(),n.createElementBlock("img",{key:0,class:"wm-attached__thumb",src:E.previewUrl,alt:E.name},null,8,za)):(n.openBlock(),n.createElementBlock("div",Ua,[t[12]||(t[12]=n.createElementVNode("span",{class:"wm-attached__fileIcon"},[n.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.7","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"}),n.createElementVNode("path",{d:"M14 2v6h6"})])],-1)),n.createElementVNode("span",Ha,[n.createElementVNode("span",ja,n.toDisplayString(E.name),1),r.formatAttachmentSize(E.size_bytes)?(n.openBlock(),n.createElementBlock("span",qa,n.toDisplayString(r.formatAttachmentSize(E.size_bytes)),1)):n.createCommentVNode("",!0)])])),n.createElementVNode("button",{type:"button",class:"wm-attached__remove","aria-label":r.t("attachment.remove"),onClick:I=>r.removePendingAttachment(L)},[...t[13]||(t[13]=[n.createElementVNode("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.4","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,Ka)]))),128))])):n.createCommentVNode("",!0),r.endedBlockVisible?(n.openBlock(),n.createElementBlock("div",Wa,[n.createElementVNode("span",$a,n.toDisplayString(r.isClosed?r.t("composer.conversationClosed"):r.t("composer.conversationEnded")),1),n.createElementVNode("button",{type:"button",class:"wm-ended__btn",onClick:t[2]||(t[2]=E=>r.isClosed?r.onReopen():r.startConv())},n.toDisplayString(r.isClosed?r.t("composer.reopen"):r.t("composer.newConversation")),1)])):r.actionInFlight?n.createCommentVNode("",!0):(n.openBlock(),n.createBlock(x,{key:4,ref:"composer",modelValue:a.draft,"onUpdate:modelValue":t[3]||(t[3]=E=>a.draft=E),placeholder:r.composerPlaceholder,"attach-label":r.t("composer.attachFile"),"display-mode":s.displayMode,onSend:r.onSend,onAttach:r.onAttach},null,8,["modelValue","placeholder","attach-label","display-mode","onSend","onAttach"]))]),a.moreOpen?(n.openBlock(),n.createBlock(C,{key:0,"can-rename":!!r.currentConv&&!r.currentConv._draft,"can-export":!!r.currentConv&&!r.currentConv._draft,"sound-enabled":e.soundEnabled,"status-url":r.statusUrl,"help-url":r.helpUrl,onClose:t[4]||(t[4]=E=>a.moreOpen=!1),onSoundToggle:e.onSoundToggle,onAction:r.onMoreAction},null,8,["can-rename","can-export","sound-enabled","status-url","help-url","onSoundToggle","onAction"])):n.createCommentVNode("",!0),a.renameDialogOpen&&r.currentConv&&!r.currentConv._draft?(n.openBlock(),n.createBlock(V,{key:1,"initial-value":r.currentConv.name||"",title:r.t("rename.dialogTitle"),onClose:t[5]||(t[5]=E=>a.renameDialogOpen=!1),onSubmit:r.onRenameSubmit},null,8,["initial-value","title","onSubmit"])):n.createCommentVNode("",!0)])):(n.openBlock(),n.createBlock(y,{key:"home",class:"wm-screen",title:r.widgetTitle,subtitle:r.widgetSubtitle,"agent-name":r.agentName,"default-icon-url":r.defaultIconUrl,"cover-image-url":r.coverImageUrl,"quick-links":r.quickLinks,"open-threads":r.openThreads,busy:a.busy,launching:a.launching,"welcome-message":r.widgetWelcomeMessage,onStart:r.onOnboardingStart,onLaunched:r.onHomeLaunched,onSelect:r.onQuickLink,onResume:r.onDrawerPick,onViewHistory:t[1]||(t[1]=E=>a.showHistory=!0)},null,8,["title","subtitle","agent-name","default-icon-url","cover-image-url","quick-links","open-threads","busy","launching","welcome-message","onStart","onLaunched","onSelect","onResume"]))]),_:1})]),a.moreOpen&&!r.currentConv?(n.openBlock(),n.createBlock(C,{key:0,"can-rename":!1,"can-export":!1,"sound-enabled":e.soundEnabled,"status-url":r.statusUrl,"help-url":r.helpUrl,onClose:t[6]||(t[6]=E=>a.moreOpen=!1),onSoundToggle:e.onSoundToggle,onAction:r.onMoreAction},null,8,["sound-enabled","status-url","help-url","onSoundToggle","onAction"])):n.createCommentVNode("",!0)],64))],6)):n.createCommentVNode("",!0)],6)}const Ze=A(Sa,[["render",Ga],["__scopeId","data-v-801581ca"]]),Ya="0.6.28";exports.AIAvatar=Y;exports.AVATAR_COLORS=ne;exports.ActionResult=De;exports.ArtifactFormResponse=Oe;exports.ArtifactInfoCard=Ie;exports.ArtifactRenderer=Pe;exports.ArtifactTicket=Fe;exports.AttachmentPreview=ze;exports.Bubble=Ue;exports.Composer=Ge;exports.DEFAULT_BASE_URL=Se;exports.DEFAULT_LANGUAGE=G;exports.Feedback=Xe;exports.FormCard=Je;exports.Header=Le;exports.HumanAvatar=te;exports.InlineCallbacks=Ye;exports.Launcher=Me;exports.MEDIA_RECORDER_SUPPORTED=le;exports.MessageList=je;exports.Messenger=Ze;exports.MoreMenu=Qe;exports.Onboarding=Re;exports.SCREEN_CAPTURE_SUPPORTED=ee;exports.SUPPORTED_LANGUAGES=Ne;exports.TeamAvatars=xe;exports.Typing=He;exports.VERSION=Ya;exports.avatarColor=oe;exports.avatarInitials=ae;exports.captureScreenshotFile=We;exports.colors=M;exports.createStore=Ee;exports.createTranslator=T;exports.createTransport=Ce;exports.dateLocale=U;exports.default=Ze;exports.formatTime=se;exports.guessAttachmentKind=$s;exports.pickRecorderMime=qe;exports.renderInlineMarkdown=fe;exports.renderMarkdown=Te;exports.resolveLanguage=ie;exports.startScreenRecording=$e;exports.tokensCss=Be;exports.uuid=he;exports.v4=he;
58
+ `)}function pt(e,t,s=T(),o){if(!e)return;const a=gt(e,t||[],s,U(o)),r=new Blob([a],{type:"text/plain;charset=utf-8"});try{const i=URL.createObjectURL(r),l=document.createElement("a");l.href=i,l.download=`${(e.name||"conversation").replace(/[^a-z0-9-_]+/gi,"_")}.txt`,document.body.appendChild(l),l.click(),document.body.removeChild(l),setTimeout(()=>URL.revokeObjectURL(i),1e3)}catch(i){console.error("[ww-messenger] export failed",i)}}const _t={data(){const e=typeof Notification<"u";return{notifPermission:e?Notification.permission:"denied",soundEnabled:!0,browserNotifEnabled:e&&Notification.permission==="granted",_audioCtx:null}},methods:{teardownNotifications(){var e,t;if(this._audioCtx){try{(t=(e=this._audioCtx).close)==null||t.call(e)}catch{}this._audioCtx=null}},soundStorageKey(){return`wm:notif:sound:${this.widgetId||""}`},browserNotifStorageKey(){return`wm:notif:browser:${this.widgetId||""}`},hydrateNotifPref(){try{if(typeof localStorage>"u")return;const e=localStorage.getItem(this.soundStorageKey());e==="0"?this.soundEnabled=!1:e==="1"&&(this.soundEnabled=!0);const t=localStorage.getItem(this.browserNotifStorageKey());t==="0"?this.browserNotifEnabled=!1:t==="1"&&(this.browserNotifEnabled=typeof Notification<"u"&&Notification.permission==="granted")}catch{}},persistSoundPref(){try{if(typeof localStorage>"u")return;localStorage.setItem(this.soundStorageKey(),this.soundEnabled?"1":"0")}catch{}},persistBrowserNotifPref(){try{if(typeof localStorage>"u")return;localStorage.setItem(this.browserNotifStorageKey(),this.browserNotifEnabled?"1":"0")}catch{}},onSoundToggle(e){this.soundEnabled=!!e,this.persistSoundPref()},async onBrowserNotifToggle(e){if(typeof Notification>"u"){this.browserNotifEnabled=!1,this.persistBrowserNotifPref();return}if(!e){this.browserNotifEnabled=!1,this.persistBrowserNotifPref();return}let t=Notification.permission;if(t==="default"){try{t=await Notification.requestPermission()}catch(s){console.warn("[ww-messenger] notif permission request failed",s),t="denied"}this.notifPermission=t}this.browserNotifEnabled=t==="granted",this.persistBrowserNotifPref()},onMessageRevealed(e,t){var a;if(!this.soundEnabled&&!this.browserNotifEnabled||!t||!e||!Z(e))return;const s=typeof document<"u"&&document.hidden;this.isOpen&&!s&&((a=this.currentConv)==null?void 0:a.id)===t||(this.soundEnabled&&this.playNotificationSound(),this.browserNotifEnabled&&this.showBrowserNotification(t,e))},playNotificationSound(){if(typeof window>"u")return;const e=window.AudioContext||window.webkitAudioContext;if(e)try{this._audioCtx||(this._audioCtx=new e);const t=this._audioCtx;if(t.state==="suspended")try{t.resume()}catch{}const s=t.currentTime,o=t.createOscillator(),a=t.createGain();o.connect(a),a.connect(t.destination),o.type="sine",o.frequency.setValueAtTime(880,s),o.frequency.exponentialRampToValueAtTime(1320,s+.08),a.gain.setValueAtTime(0,s),a.gain.linearRampToValueAtTime(.12,s+.02),a.gain.exponentialRampToValueAtTime(1e-4,s+.28),o.start(s),o.stop(s+.32)}catch{}},showBrowserNotification(e,t){if(typeof Notification>"u"||Notification.permission!=="granted")return;const s=t==null?void 0:t.author,o=!s||s.type==="agent_ia",r=((s==null?void 0:s.name)||(o?this.agentName:"")||this.t("launcher.theAgent"))+this.t("launcher.repliedToYou"),i=typeof(t==null?void 0:t.text_md)=="string"?t.text_md.trim():"",l=i?i.slice(0,140):this.t("notification.youHaveNewMessage");try{const m=new Notification(r,{body:l,tag:`wm-${e}`,renotify:!1,silent:!0});m.onclick=()=>{try{window.focus()}catch{}this.draftConv=null,this.showOnboarding=!1,this.activeConvId=e,this.isOpen=!0,this.store&&this.store.setPanelOpen(!0);try{m.close()}catch{}}}catch(m){console.warn("[ww-messenger] notification failed",m)}}}},J=Object.freeze({firstRevealDelayMs:450,msPerChar:50,minTypingMs:900,maxTypingMs:12e3,pauseBetweenMs:300}),X=(e,t)=>Number.isFinite(e)?e:t,yt={computed:{revealPacing(){var t;const e=((t=this.widget)==null?void 0:t.reveal_pacing)||{};return{firstRevealDelayMs:X(e.first_reveal_delay_ms,J.firstRevealDelayMs),msPerChar:X(e.ms_per_char,J.msPerChar),minTypingMs:X(e.min_typing_ms,J.minTypingMs),maxTypingMs:X(e.max_typing_ms,J.maxTypingMs),pauseBetweenMs:X(e.pause_between_ms,J.pauseBetweenMs)}}},data(){return{revealedAt:{},nextRevealAt:0,revealTimers:[],_liveRevealOff:null,_liveRevealConvSnapshot:null,_liveHwm:{}}},methods:{cancelReveals(){for(const e of this.revealTimers)clearTimeout(e);this.revealTimers=[]},resetRevealQueue(){this.cancelReveals(),this.revealedAt={},this.nextRevealAt=0},setupLiveReveal(){var s,o;if(!this.transport)return;this.teardownLiveReveal();const e=this.transport.on("message",a=>{const r=a==null?void 0:a.conversation_id,i=a==null?void 0:a.message;r&&i&&this.paceLiveMessage(i,r)});this._liveRevealConvSnapshot=new Map((((s=this.s)==null?void 0:s.conversations)||[]).map(a=>[a.id,(a==null?void 0:a.last_message_at)||""])),this._liveHwm=Object.fromEntries((((o=this.s)==null?void 0:o.conversations)||[]).map(a=>[a.id,(a==null?void 0:a.last_message_at)||""]));const t=this.transport.on("activity",a=>{this.handleLiveActivity(a)});this._liveRevealOff=()=>{try{e()}catch{}try{t()}catch{}}},teardownLiveReveal(){if(this._liveRevealOff){try{this._liveRevealOff()}catch{}this._liveRevealOff=null}this._liveRevealConvSnapshot=null,this._liveHwm={}},async handleLiveActivity(e){var a,r;const t=e==null?void 0:e.conversations;if(!Array.isArray(t)||!this.store)return;const s=this._liveRevealConvSnapshot||new Map,o=[];for(const i of t){if(!(i!=null&&i.id))continue;const l=i.last_message_at||"";if(!l)continue;const m=s.get(i.id)||"";l>m&&o.push(i.id)}this._liveRevealConvSnapshot=new Map(t.map(i=>[i.id,(i==null?void 0:i.last_message_at)||""]));for(const i of o)try{const l=await((r=(a=this.store).fetchSinceLast)==null?void 0:r.call(a,i));if(!Array.isArray(l))continue;for(const m of l)this.paceLiveMessage(m,i)}catch(l){console.error("[ww-messenger] activity delta fetch failed",l)}},scheduleReveal(e,t){const s=this.revealPacing,o=Date.now(),a=((e==null?void 0:e.text_md)||"").length,r=Math.min(s.maxTypingMs,Math.max(s.minTypingMs,a*s.msPerChar)),l=Math.max(o+s.firstRevealDelayMs,this.nextRevealAt+s.pauseBetweenMs)+r;this.nextRevealAt=l;const m=Math.max(0,l-o),y=e.id,g=setTimeout(()=>{this.revealedAt={...this.revealedAt,[y]:Date.now()},this.revealTimers=this.revealTimers.filter(b=>b!==g),typeof this.onMessageRevealed=="function"&&this.onMessageRevealed(e,t)},m);this.revealTimers.push(g)},paceMessages(e,t){var a;if(!Array.isArray(e)||!e.length)return;const s=Date.now(),o={...this.revealedAt};for(const r of e){if((r==null?void 0:r.id)==null||o[r.id]!==void 0)continue;if(!Z(r)){o[r.id]=s;continue}const i=r!=null&&r.created_at?Date.parse(r.created_at):NaN;if(!Number.isFinite(i)||i<this.convOpenedAt){o[r.id]=s;continue}const l=typeof(r==null?void 0:r.text_md)=="string"&&r.text_md.trim().length>0,m=Array.isArray((a=r==null?void 0:r.payload)==null?void 0:a.attachments)&&r.payload.attachments.length>0;if(!l&&!m){o[r.id]=s;continue}o[r.id]=0,this.scheduleReveal(r,t)}this.revealedAt=o},paceLiveMessage(e,t){var l;if(!(e!=null&&e.id)||this.revealedAt[e.id]!==void 0)return;if(!Z(e)){this.revealedAt={...this.revealedAt,[e.id]:Date.now()};return}const s=typeof(e==null?void 0:e.text_md)=="string"&&e.text_md.trim().length>0,o=Array.isArray((l=e==null?void 0:e.payload)==null?void 0:l.attachments)&&e.payload.attachments.length>0;if(!s&&!o){this.revealedAt={...this.revealedAt,[e.id]:Date.now()};return}const a=this._liveHwm[t],r=(e==null?void 0:e.created_at)||"";if(r&&(a===void 0||r>a)&&(this._liveHwm={...this._liveHwm,[t]:r}),!(a!==void 0&&r&&r>a)){this.revealedAt={...this.revealedAt,[e.id]:Date.now()};return}this.revealedAt={...this.revealedAt,[e.id]:0},this.scheduleReveal(e,t)}}},vt=300,wt={data(){return{unreadAnchorId:null,unreadBoundaryTs:""}},created(){this._readMarkerTimer=null,this._readMarkerPending=null},beforeUnmount(){this._readMarkerTimer&&(clearTimeout(this._readMarkerTimer),this._readMarkerTimer=null),this._readMarkerPending=null},methods:{markConvRead(e){var r,i;if(!(e!=null&&e.id)||e._draft||!this.store)return;const t=((i=(r=this.s)==null?void 0:r.messagesByConv)==null?void 0:i[e.id])||[],s=kt(t);if(s==null)return;const o=O(e.last_read_message_id),a=O(s);a!=null&&(o!=null&&a<=o||(this._readMarkerPending={convId:e.id,messageId:s},!this._readMarkerTimer&&(this._readMarkerTimer=setTimeout(()=>{const l=this._readMarkerPending;this._readMarkerPending=null,this._readMarkerTimer=null,l&&this.store&&this.store.markConversationRead(l.convId,l.messageId)},vt))))}}};function kt(e){for(let t=e.length-1;t>=0;t--){const s=e[t];if(!(!s||s._pending)&&O(s.id)!=null)return s.id}return null}const A=(e,t)=>{const s=e.__vccOpts||e;for(const[o,a]of t)s[o]=a;return s},bt={name:"WmHumanAvatar",props:{name:{type:String,default:""},avatarUrl:{type:String,default:null},size:{type:Number,default:26},tail:{type:Boolean,default:!1}},computed:{bg(){return this.avatarUrl?"transparent":oe(this.name)},initials(){return ae(this.name)}}},Ct=["src","alt"];function Et(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["wm-huav",{"wm-huav--tail":s.tail}]),style:n.normalizeStyle({width:s.size+"px",height:s.size+"px","--wm-avr":Math.round(s.size*.32)+"px",background:r.bg})},[s.avatarUrl?(n.openBlock(),n.createElementBlock("img",{key:0,src:s.avatarUrl,alt:s.name||""},null,8,Ct)):(n.openBlock(),n.createElementBlock("span",{key:1,style:n.normalizeStyle({fontSize:s.size*.36+"px"})},n.toDisplayString(r.initials),5))],6)}const te=A(bt,[["render",Et],["__scopeId","data-v-14e10c0d"]]),Bt=3,St={name:"WmLauncher",components:{HumanAvatar:te},inject:{t:{default:()=>T()}},props:{unreadCount:{type:Number,default:0},peeks:{type:Array,default:()=>[]}},emits:["open","dismiss"],computed:{visiblePeeks(){return this.peeks.slice(0,Bt).reverse()}}},Nt=["aria-label","onClick","onKeydown"],At=["aria-label","onClick"],Vt={class:"wm-peek__avatar"},Tt=["aria-label"],Mt={class:"wm-peek__body"},xt={class:"wm-peek__head"},Lt={class:"wm-peek__name"},Rt={class:"wm-peek__action"},Dt={class:"wm-peek__text"},Ot=["onClick"],It=["aria-label"],Ft=["aria-label"];function Pt(e,t,s,o,a,r){const i=n.resolveComponent("HumanAvatar");return n.openBlock(),n.createElementBlock("div",{class:"wm-launcherWrap",onMouseenter:t[1]||(t[1]=l=>e.$emit("hover",!0)),onMouseleave:t[2]||(t[2]=l=>e.$emit("hover",!1)),onFocusin:t[3]||(t[3]=l=>e.$emit("hover",!0)),onFocusout:t[4]||(t[4]=l=>e.$emit("hover",!1))},[n.createVNode(n.Transition,{name:"wm-peek"},{default:n.withCtx(()=>[r.visiblePeeks.length?(n.openBlock(),n.createElementBlock("div",{key:0,class:n.normalizeClass(["wm-peekStack",{"wm-peekStack--multi":r.visiblePeeks.length>1}])},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.visiblePeeks,(l,m)=>(n.openBlock(),n.createElementBlock("div",{key:l.convId,class:"wm-peek",style:n.normalizeStyle({"--depth":r.visiblePeeks.length-1-m,zIndex:m+1}),role:"button",tabindex:"0","aria-label":r.t("launcher.openConversationWith",{name:l.senderName||r.t("launcher.theAgent")}),onClick:y=>e.$emit("open",l.convId),onKeydown:[n.withKeys(n.withModifiers(y=>e.$emit("open",l.convId),["prevent"]),["enter"]),n.withKeys(n.withModifiers(y=>e.$emit("open",l.convId),["prevent"]),["space"])]},[n.createElementVNode("button",{type:"button",class:"wm-peek__close","aria-label":r.t("launcher.dismiss"),onClick:n.withModifiers(y=>e.$emit("dismiss",l.convId),["stop"])},[...t[5]||(t[5]=[n.createElementVNode("svg",{width:"9",height:"9",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,At),n.createElementVNode("div",Vt,[n.createVNode(i,{name:l.senderName,"avatar-url":l.senderAvatarUrl,size:34},null,8,["name","avatar-url"]),l.count>1?(n.openBlock(),n.createElementBlock("span",{key:0,class:"wm-peek__avatarBadge","aria-label":r.t("launcher.unreadMessages",{count:l.count})},n.toDisplayString(l.count>9?"9+":l.count),9,Tt)):n.createCommentVNode("",!0)]),n.createElementVNode("div",Mt,[n.createElementVNode("div",xt,[n.createElementVNode("span",Lt,n.toDisplayString(l.senderName||r.t("common.agent")),1),n.createElementVNode("span",Rt,n.toDisplayString(r.t("launcher.repliedToYou")),1)]),n.createElementVNode("p",Dt,n.toDisplayString(l.preview),1)]),n.createElementVNode("button",{type:"button",class:"wm-peek__open",onClick:n.withModifiers(y=>e.$emit("open",l.convId),["stop"])},n.toDisplayString(r.t("common.open")),9,Ot)],44,Nt))),128))],2)):n.createCommentVNode("",!0)]),_:1}),n.createElementVNode("button",{type:"button",class:"wm-launcher","aria-label":r.t("launcher.open"),onClick:t[0]||(t[0]=l=>e.$emit("open"))},[t[6]||(t[6]=n.createElementVNode("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.7","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})],-1)),s.unreadCount>0?(n.openBlock(),n.createElementBlock("span",{key:0,class:"wm-launcher__badge","aria-label":s.unreadCount>1?r.t("launcher.unreadConversationsMany",{count:s.unreadCount}):r.t("launcher.unreadConversationsOne",{count:s.unreadCount})},n.toDisplayString(s.unreadCount>9?"9+":s.unreadCount),9,Ft)):n.createCommentVNode("",!0)],8,It)],32)}const Me=A(St,[["render",Pt],["__scopeId","data-v-d81459bc"]]),zt={name:"WmAIAvatar",props:{size:{type:Number,default:26},pulse:{type:Boolean,default:!1},tail:{type:Boolean,default:!1},name:{type:String,default:""},imageUrl:{type:String,default:null}},computed:{initials(){return ae(this.name)},bgColor(){return oe(this.name)}}},Ut={key:0,class:"wm-aiav__pulse"},Ht=["src","alt"],jt=["width","height"];function qt(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["wm-aiav",{"wm-aiav--tail":s.tail}]),style:n.normalizeStyle({width:s.size+"px",height:s.size+"px","--wm-avr":s.size*.32+"px"})},[s.pulse?(n.openBlock(),n.createElementBlock("div",Ut)):n.createCommentVNode("",!0),n.createElementVNode("div",{class:n.normalizeClass(["wm-aiav__inner",{"wm-aiav__inner--glow":s.pulse,"wm-aiav__inner--img":!!s.imageUrl,"wm-aiav__inner--initials":!s.imageUrl&&!!r.initials}]),style:n.normalizeStyle(!s.imageUrl&&r.initials?{background:r.bgColor}:null)},[s.imageUrl?(n.openBlock(),n.createElementBlock("img",{key:0,src:s.imageUrl,alt:s.name||""},null,8,Ht)):r.initials?(n.openBlock(),n.createElementBlock("span",{key:1,style:n.normalizeStyle({fontSize:s.size*.36+"px"})},n.toDisplayString(r.initials),5)):(n.openBlock(),n.createElementBlock("svg",{key:2,width:s.size*.5,height:s.size*.5,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},[...t[0]||(t[0]=[n.createElementVNode("path",{d:"M12 2 L13.5 9 L20 10.5 L13.5 12 L12 19 L10.5 12 L4 10.5 L10.5 9 Z",fill:"white",opacity:"0.92"},null,-1),n.createElementVNode("circle",{cx:"19",cy:"5",r:"1.5",fill:"white",opacity:"0.55"},null,-1),n.createElementVNode("circle",{cx:"5",cy:"18",r:"1",fill:"white",opacity:"0.38"},null,-1)])],8,jt))],6)],6)}const Y=A(zt,[["render",qt],["__scopeId","data-v-6f7f685d"]]),Kt={name:"WmTeamAvatars",props:{members:{type:Array,default:()=>[]},responseLabel:{type:String,default:""}},computed:{visible(){return Array.isArray(this.members)&&this.members.length>0},stackWidth(){return Math.min(this.members.length,3)===1?20:16+Math.min(this.members.length,3)*13}},methods:{colorFor(e){return e.avatar_url?"transparent":oe(e.name||"")},initialsFor(e){return ae(e.name||"")}}},Wt={key:0,class:"wm-team"},Gt=["src","alt"],$t={key:1},Yt={key:0,class:"wm-team__label"};function Jt(e,t,s,o,a,r){return r.visible?(n.openBlock(),n.createElementBlock("div",Wt,[n.createElementVNode("div",{class:"wm-team__stack",style:n.normalizeStyle({width:r.stackWidth+"px"})},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(s.members.slice(0,3),(i,l)=>(n.openBlock(),n.createElementBlock("div",{key:l,class:"wm-team__pill",style:n.normalizeStyle({left:l*13+"px",zIndex:3-l,background:r.colorFor(i)})},[i.avatar_url?(n.openBlock(),n.createElementBlock("img",{key:0,src:i.avatar_url,alt:i.name||""},null,8,Gt)):(n.openBlock(),n.createElementBlock("span",$t,n.toDisplayString(r.initialsFor(i)),1))],4))),128))],4),s.responseLabel?(n.openBlock(),n.createElementBlock("span",Yt,n.toDisplayString(s.responseLabel),1)):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0)}const xe=A(Kt,[["render",Jt],["__scopeId","data-v-e49a9063"]]),Xt={name:"WmHeader",components:{AIAvatar:Y,TeamAvatars:xe},inject:{t:{default:()=>T()}},props:{title:{type:String,default:"Nouvelle conversation"},showBack:{type:Boolean,default:!1},teamMembers:{type:Array,default:()=>[]},responseLabel:{type:String,default:""},showClose:{type:Boolean,default:!0},showMore:{type:Boolean,default:!0},moreActive:{type:Boolean,default:!1},showIdentity:{type:Boolean,default:!0},agentName:{type:String,default:""},agentAvatarUrl:{type:String,default:null}},emits:["back","close","more"],computed:{hasTeam(){return Array.isArray(this.teamMembers)&&this.teamMembers.length>0},displayedTeamMembers(){const e=Array.isArray(this.teamMembers)?this.teamMembers:[];if(e.length<=3)return e;const t=new Date().getHours()%e.length,s=[];for(let o=0;o<3;o++)s.push(e[(t+o)%e.length]);return s}}},Qt={class:"wm-header"},Zt=["aria-label"],en={key:1,style:{width:"30px",height:"30px","flex-shrink":"0"}},tn={class:"wm-header__avatar"},nn={class:"wm-header__main"},rn={class:"wm-header__title"},sn={key:3,class:"wm-header__fill"},on={class:"wm-header__actions"},an=["aria-label","title"],ln=["aria-label","title"];function cn(e,t,s,o,a,r){const i=n.resolveComponent("AIAvatar"),l=n.resolveComponent("TeamAvatars");return n.openBlock(),n.createElementBlock("div",Qt,[s.showBack?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"wm-header__icon wm-header__back","aria-label":r.t("header.backToHome"),onClick:t[0]||(t[0]=m=>e.$emit("back"))},[...t[3]||(t[3]=[n.createElementVNode("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M19 12H5M12 5l-7 7 7 7"})],-1)])],8,Zt)):(n.openBlock(),n.createElementBlock("div",en)),s.showIdentity?(n.openBlock(),n.createElementBlock(n.Fragment,{key:2},[n.createElementVNode("div",tn,[n.createVNode(i,{size:30,name:s.agentName,"image-url":s.agentAvatarUrl},null,8,["name","image-url"])]),n.createElementVNode("div",nn,[n.createElementVNode("div",rn,n.toDisplayString(s.title),1)]),r.hasTeam?(n.openBlock(),n.createBlock(l,{key:0,members:r.displayedTeamMembers,"response-label":""},null,8,["members"])):n.createCommentVNode("",!0)],64)):(n.openBlock(),n.createElementBlock("div",sn)),n.createElementVNode("div",on,[s.showMore?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:n.normalizeClass(["wm-header__icon",{"wm-header__icon--active":s.moreActive}]),"aria-label":r.t("header.moreOptions"),title:r.t("header.moreOptions"),onClick:t[1]||(t[1]=m=>e.$emit("more"))},[...t[4]||(t[4]=[n.createElementVNode("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},[n.createElementVNode("circle",{cx:"12",cy:"5",r:"1.6"}),n.createElementVNode("circle",{cx:"12",cy:"12",r:"1.6"}),n.createElementVNode("circle",{cx:"12",cy:"19",r:"1.6"})],-1)])],10,an)):n.createCommentVNode("",!0),s.showClose?(n.openBlock(),n.createElementBlock("button",{key:1,type:"button",class:"wm-header__icon","aria-label":r.t("header.closeWidget"),title:r.t("header.closeWidget"),onClick:t[2]||(t[2]=m=>e.$emit("close"))},[...t[5]||(t[5]=[n.createElementVNode("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,ln)):n.createCommentVNode("",!0)])])}const Le=A(Xt,[["render",cn],["__scopeId","data-v-27232009"]]),we={book:"M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253",changelog:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2",status:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z",chat:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z",link:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"},dn={name:"WmOnboarding",components:{AIAvatar:Y,HumanAvatar:te},inject:{t:{default:()=>T()},wmLocale:{default:()=>()=>"fr"}},props:{title:{type:String,default:""},subtitle:{type:String,default:""},agentName:{type:String,default:""},defaultIconUrl:{type:String,default:null},coverImageUrl:{type:String,default:null},quickLinks:{type:Array,default:()=>[]},openThreads:{type:Array,default:()=>[]},busy:{type:Boolean,default:!1},launching:{type:Boolean,default:!1},welcomeMessage:{type:String,default:""}},emits:["start","launched","select","resume","view-history"],data(){return{launchPhase:"idle",inputFocused:!1,launchDone:!1,starterText:""}},watch:{launching(e){e&&this.runLaunch()}},computed:{canStart(){return!this.busy&&!!this.starterText.trim()},typing(){return this.inputFocused&&!!this.starterText.trim()},heroTitle(){return this.title?this.title:this.agentName?this.t("onboarding.greetingNamed",{name:this.agentName}):this.t("onboarding.greeting")},heroSub(){return this.subtitle||this.t("onboarding.heroSub")},unreadThreads(){return this.openThreads.filter(e=>e.unread)},safeCoverUrl(){return ge(this.coverImageUrl)},hasCover(){return!!this.safeCoverUrl},coverStyle(){return this.safeCoverUrl?{backgroundImage:`url("${this.safeCoverUrl}")`}:null}},methods:{submitStarter(){this.canStart&&this.$emit("start",this.starterText.trim())},onStarterKeydown(e){e.key==="Enter"&&!e.shiftKey&&(e.preventDefault(),this.submitStarter())},onInputFocus(){this.launchPhase==="idle"&&(this.inputFocused=!0,this.$nextTick(()=>this.autosize()))},onInputBlur(){this.launchPhase==="idle"&&(this.inputFocused=!1,this.$nextTick(()=>this.autosize()))},autosize(){const e=this.$refs.starterInput;if(!e||e.clientWidth<40)return;e.style.height="auto",e.style.minHeight="0px";const t=e.scrollHeight;e.style.minHeight="",e.style.height=t>62?`${Math.min(t,120)}px`:""},async runLaunch(){const e=this.$refs.starterForm,t=typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(!e||t){this.launchPhase="fade",await this.wait(t?120:0),this.finishLaunch();return}this.launchPhase="fade",await this.wait(320);const s=e.getBoundingClientRect();this.launchPhase="slide",await this.$nextTick();const o=e.getBoundingClientRect(),a=s.left-o.left,r=s.top-o.top;e.style.transition="none",e.style.transform=`translate(${a}px, ${r}px)`,e.offsetWidth,e.style.transition="transform 0.44s cubic-bezier(0.32, 0.72, 0, 1)",e.style.transform="translate(0, 0)";const i=()=>{e.removeEventListener("transitionend",i),this.finishLaunch()};e.addEventListener("transitionend",i),this.wait(520).then(()=>this.finishLaunch())},finishLaunch(){this.launchDone||(this.launchDone=!0,this.$emit("launched"))},wait(e){return new Promise(t=>window.setTimeout(t,e))},iconPath(e){return we[e]||we.link},isExternalLink(e){const t=e==null?void 0:e.url;return!!t&&!t.startsWith("#")},safeIconUrl(e){return ge(e==null?void 0:e.icon_url)},iconUrlStyle(e){const t=this.safeIconUrl(e);return t?{"--icon-url":`url("${t}")`}:null},renderPreview(e){return fe(e)},avatarComponent(e){var t;return((t=e==null?void 0:e.author)==null?void 0:t.type)==="agent_human"?"HumanAvatar":"AIAvatar"},avatarProps(e){const t=e==null?void 0:e.author;return(t==null?void 0:t.type)==="agent_human"?{size:40,name:t.name||"",avatarUrl:t.avatar_url||null}:{size:40,name:(t==null?void 0:t.name)||"",imageUrl:(t==null?void 0:t.avatar_url)||null}},isDefaultAvatar(e){const t=e==null?void 0:e.author;return!(t!=null&&t.avatar_url||t!=null&&t.name)},avatarWrapperClass(e){return this.isDefaultAvatar(e)&&!(e!=null&&e.unread)?"wm-onb__avatar--muted":null},senderLabel(e){var t;return((t=e==null?void 0:e.author)==null?void 0:t.name)||""},formatTs(e){if(!e)return"";const t=new Date(e);if(Number.isNaN(t.getTime()))return"";const s=U(this.wmLocale()),o=new Date;if(t.toDateString()===o.toDateString())return t.toLocaleTimeString(s,{hour:"2-digit",minute:"2-digit"});if(o.getTime()-t.getTime()<7*864e5){const i=t.toLocaleDateString(s,{weekday:"short"});return i.charAt(0).toUpperCase()+i.slice(1)}return t.toLocaleDateString(s,{day:"2-digit",month:"2-digit"})}}},un=["aria-label"],mn={key:1,class:"wm-onb__hero-deco",width:"180",height:"180",viewBox:"0 0 180 180",fill:"none","aria-hidden":"true"},hn={class:"wm-onb__hero-text"},fn={class:"wm-onb__hero-default"},gn={class:"wm-onb__title"},pn={class:"wm-onb__sub"},_n={key:0,class:"wm-onb__welcome"},yn={key:0,class:"wm-onb__alertList"},vn=["onClick"],wn={key:0,class:"wm-onb__defaultAvatar"},kn=["aria-label"],bn={class:"wm-onb__alert-body"},Cn={class:"wm-onb__alert-title"},En={class:"wm-onb__alert-preview"},Bn={key:0,class:"wm-onb__alert-sender"},Sn=["innerHTML"],Nn={class:"wm-onb__alert-meta"},An={key:0,class:"wm-onb__alert-time"},Vn={class:"wm-onb__alert-resume"},Tn={class:"wm-onb__actions"},Mn=["onClick"],xn={class:"wm-onb__btn-icon"},Ln=["aria-label"],Rn={key:1,width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.9","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},Dn=["d"],On={class:"wm-onb__btn-label"},In={key:0,class:"wm-onb__btn-trail",width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},Fn={class:"wm-onb__btn-icon"},Pn={width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},zn=["d"],Un={class:"wm-onb__btn-label"},Hn={class:"wm-onb__btn-count"},jn=["placeholder","disabled","aria-label"],qn=["disabled","aria-label"],Kn={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},Wn={key:1,class:"wm-onb__starter-spinner","aria-hidden":"true"};function Gn(e,t,s,o,a,r){const i=n.resolveComponent("AIAvatar");return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["wm-onb",{"wm-onb--launching":a.launchPhase!=="idle","wm-onb--sliding":a.launchPhase==="slide","wm-onb--focused":a.inputFocused,"wm-onb--typing":r.typing}])},[n.createElementVNode("div",{class:n.normalizeClass(["wm-onb__hero",{"wm-onb__hero--cover":r.hasCover}])},[r.hasCover?(n.openBlock(),n.createElementBlock("div",{key:0,class:"wm-onb__cover",style:n.normalizeStyle(r.coverStyle),role:"img","aria-label":r.heroTitle},null,12,un)):n.createCommentVNode("",!0),r.hasCover?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("svg",mn,[...t[7]||(t[7]=[n.createElementVNode("circle",{cx:"170",cy:"10",r:"105",stroke:"#5B5FEF","stroke-width":"1","stroke-dasharray":"1 5",opacity:"0.35"},null,-1),n.createElementVNode("circle",{cx:"170",cy:"10",r:"72",stroke:"#5B5FEF","stroke-width":"1","stroke-dasharray":"1 5",opacity:"0.5"},null,-1),n.createElementVNode("circle",{cx:"152",cy:"34",r:"2.5",fill:"#5B5FEF",opacity:"0.65"},null,-1)])])),n.createVNode(i,{size:52,"image-url":s.defaultIconUrl},null,8,["image-url"]),n.createElementVNode("div",hn,[n.createElementVNode("div",fn,[n.createElementVNode("div",gn,n.toDisplayString(r.heroTitle),1),n.createElementVNode("div",pn,n.toDisplayString(r.heroSub),1)]),s.welcomeMessage?(n.openBlock(),n.createElementBlock("div",_n,n.toDisplayString(s.welcomeMessage),1)):n.createCommentVNode("",!0)])],2),r.unreadThreads.length?(n.openBlock(),n.createElementBlock("div",yn,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.unreadThreads,l=>(n.openBlock(),n.createElementBlock("button",{key:l.id,type:"button",class:"wm-onb__alert",onClick:m=>e.$emit("resume",l)},[n.createElementVNode("span",{class:n.normalizeClass(["wm-onb__alert-avatar",r.avatarWrapperClass(l)])},[r.isDefaultAvatar(l)?(n.openBlock(),n.createElementBlock("span",wn,[...t[8]||(t[8]=[n.createElementVNode("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.7","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})],-1)])])):(n.openBlock(),n.createBlock(n.resolveDynamicComponent(r.avatarComponent(l)),n.mergeProps({key:1,ref_for:!0},r.avatarProps(l)),null,16)),n.createElementVNode("span",{class:"wm-onb__alert-dot","aria-label":r.t("onboarding.unread")},null,8,kn)],2),n.createElementVNode("span",bn,[n.createElementVNode("span",Cn,n.toDisplayString(l.title),1),n.createElementVNode("span",En,[r.senderLabel(l)?(n.openBlock(),n.createElementBlock("span",Bn,n.toDisplayString(r.senderLabel(l))+" · ",1)):n.createCommentVNode("",!0),n.createElementVNode("span",{innerHTML:r.renderPreview(l.preview)},null,8,Sn)])]),n.createElementVNode("span",Nn,[r.formatTs(l._ts)?(n.openBlock(),n.createElementBlock("span",An,n.toDisplayString(r.formatTs(l._ts)),1)):n.createCommentVNode("",!0),n.createElementVNode("span",Vn,n.toDisplayString(r.t("onboarding.resume")),1)])],8,vn))),128))])):n.createCommentVNode("",!0),n.createElementVNode("div",Tn,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(s.quickLinks,(l,m)=>(n.openBlock(),n.createElementBlock("button",{key:"ql-"+m,type:"button",class:"wm-onb__btn",onClick:y=>e.$emit("select",l)},[n.createElementVNode("span",xn,[r.safeIconUrl(l)?(n.openBlock(),n.createElementBlock("span",{key:0,class:"wm-onb__btn-iconImg",style:n.normalizeStyle(r.iconUrlStyle(l)),role:"img","aria-label":l.label||""},null,12,Ln)):(n.openBlock(),n.createElementBlock("svg",Rn,[n.createElementVNode("path",{d:r.iconPath(l.icon)},null,8,Dn)]))]),n.createElementVNode("span",On,n.toDisplayString(l.label),1),r.isExternalLink(l)?(n.openBlock(),n.createElementBlock("svg",In,[...t[9]||(t[9]=[n.createElementVNode("path",{d:"M7 17L17 7M9 7h8v8"},null,-1)])])):n.createCommentVNode("",!0)],8,Mn))),128)),s.openThreads.length?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"wm-onb__btn",onClick:t[0]||(t[0]=l=>e.$emit("view-history"))},[n.createElementVNode("span",Fn,[(n.openBlock(),n.createElementBlock("svg",Pn,[n.createElementVNode("path",{d:r.iconPath("chat")},null,8,zn)]))]),n.createElementVNode("span",Un,n.toDisplayString(r.t("onboarding.allConversations")),1),n.createElementVNode("span",Hn,n.toDisplayString(s.openThreads.length),1),t[10]||(t[10]=n.createElementVNode("svg",{class:"wm-onb__btn-trail",width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M9 18l6-6-6-6"})],-1))])):n.createCommentVNode("",!0),n.createElementVNode("form",{ref:"starterForm",class:n.normalizeClass(["wm-onb__starter",{"is-active":!!a.starterText.trim(),"is-expanded":a.inputFocused,"wm-onb__starter--toBottom":a.launchPhase==="slide"}]),onSubmit:t[6]||(t[6]=n.withModifiers((...l)=>r.submitStarter&&r.submitStarter(...l),["prevent"]))},[n.withDirectives(n.createElementVNode("textarea",{ref:"starterInput","onUpdate:modelValue":t[1]||(t[1]=l=>a.starterText=l),class:"wm-onb__starter-input",rows:"1",placeholder:r.t("onboarding.starterPlaceholder"),disabled:s.busy,"aria-label":r.t("onboarding.start"),enterkeyhint:"send",onKeydown:t[2]||(t[2]=(...l)=>r.onStarterKeydown&&r.onStarterKeydown(...l)),onInput:t[3]||(t[3]=(...l)=>r.autosize&&r.autosize(...l)),onFocus:t[4]||(t[4]=(...l)=>r.onInputFocus&&r.onInputFocus(...l)),onBlur:t[5]||(t[5]=(...l)=>r.onInputBlur&&r.onInputBlur(...l))},null,40,jn),[[n.vModelText,a.starterText]]),n.createElementVNode("button",{type:"submit",class:n.normalizeClass(["wm-onb__starter-send",{"is-empty":!r.canStart}]),disabled:s.busy||!r.canStart,"aria-label":r.t("composer.send")},[s.busy?(n.openBlock(),n.createElementBlock("span",Wn)):(n.openBlock(),n.createElementBlock("svg",Kn,[...t[11]||(t[11]=[n.createElementVNode("path",{d:"M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z"},null,-1)])]))],10,qn)],34)])],2)}const Re=A(dn,[["render",Gn],["__scopeId","data-v-cfaffcfa"]]),$n={name:"WmHistory",components:{AIAvatar:Y,HumanAvatar:te},inject:{t:{default:()=>T()},wmLocale:{default:()=>()=>"fr"}},props:{threads:{type:Array,default:()=>[]}},emits:["resume"],data(){return{query:""}},computed:{filteredThreads(){const e=this.query.trim().toLowerCase();return e?this.threads.filter(t=>(t.title||"").toLowerCase().includes(e)||(t.preview||"").toLowerCase().includes(e)):this.threads}},methods:{renderPreview(e){return fe(e)},avatarComponent(e){var t;return((t=e==null?void 0:e.author)==null?void 0:t.type)==="agent_human"?"HumanAvatar":"AIAvatar"},avatarProps(e){const t=e==null?void 0:e.author;return(t==null?void 0:t.type)==="agent_human"?{size:40,name:t.name||"",avatarUrl:t.avatar_url||null}:{size:40,name:(t==null?void 0:t.name)||"",imageUrl:(t==null?void 0:t.avatar_url)||null}},isDefaultAvatar(e){const t=e==null?void 0:e.author;return!(t!=null&&t.avatar_url||t!=null&&t.name)},avatarWrapperClass(e){return this.isDefaultAvatar(e)&&!(e!=null&&e.unread)?"wm-hist__avatar--muted":null},formatTs(e){if(!e)return"";const t=new Date(e);if(Number.isNaN(t.getTime()))return"";const s=U(this.wmLocale()),o=new Date;if(t.toDateString()===o.toDateString())return t.toLocaleTimeString(s,{hour:"2-digit",minute:"2-digit"});if(o.getTime()-t.getTime()<7*864e5){const i=t.toLocaleDateString(s,{weekday:"short"});return i.charAt(0).toUpperCase()+i.slice(1)}return t.toLocaleDateString(s,{day:"2-digit",month:"2-digit"})}}},Yn={class:"wm-hist"},Jn={class:"wm-hist__search"},Xn=["placeholder","aria-label"],Qn={class:"wm-hist__list"},Zn=["onClick"],er={key:0,class:"wm-hist__defaultAvatar"},tr=["aria-label"],nr={class:"wm-hist__thread-body"},rr={class:"wm-hist__thread-title"},sr=["innerHTML"],or={class:"wm-hist__thread-meta"},ar={key:0,class:"wm-hist__thread-time"},ir={key:0,class:"wm-hist__empty"};function lr(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",Yn,[n.createElementVNode("div",Jn,[t[1]||(t[1]=n.createElementVNode("span",{class:"wm-hist__searchIcon"},[n.createElementVNode("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M21 21l-4.35-4.35M11 17a6 6 0 100-12 6 6 0 000 12z"})])],-1)),n.withDirectives(n.createElementVNode("input",{"onUpdate:modelValue":t[0]||(t[0]=i=>a.query=i),type:"text",placeholder:r.t("onboarding.search"),"aria-label":r.t("onboarding.search")},null,8,Xn),[[n.vModelText,a.query]])]),n.createElementVNode("div",Qn,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.filteredThreads,i=>(n.openBlock(),n.createElementBlock("button",{key:i.id,type:"button",class:n.normalizeClass(["wm-hist__thread",{"wm-hist__thread--unread":i.unread}]),onClick:l=>e.$emit("resume",i)},[n.createElementVNode("span",{class:n.normalizeClass(["wm-hist__thread-avatar",r.avatarWrapperClass(i)])},[r.isDefaultAvatar(i)?(n.openBlock(),n.createElementBlock("span",er,[...t[2]||(t[2]=[n.createElementVNode("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"})],-1)])])):(n.openBlock(),n.createBlock(n.resolveDynamicComponent(r.avatarComponent(i)),n.mergeProps({key:1,ref_for:!0},r.avatarProps(i)),null,16)),i.unread?(n.openBlock(),n.createElementBlock("span",{key:2,class:"wm-hist__thread-dot","aria-label":r.t("onboarding.unread")},null,8,tr)):n.createCommentVNode("",!0)],2),n.createElementVNode("span",nr,[n.createElementVNode("span",rr,n.toDisplayString(i.title),1),n.createElementVNode("span",{class:"wm-hist__thread-preview",innerHTML:r.renderPreview(i.preview)},null,8,sr)]),n.createElementVNode("span",or,[r.formatTs(i._ts)?(n.openBlock(),n.createElementBlock("span",ar,n.toDisplayString(r.formatTs(i._ts)),1)):n.createCommentVNode("",!0),t[3]||(t[3]=n.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round",class:"wm-hist__thread-chev","aria-hidden":"true"},[n.createElementVNode("path",{d:"M5 12h14M13 5l7 7-7 7"})],-1))])],10,Zn))),128)),r.filteredThreads.length?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("div",ir,n.toDisplayString(a.query?r.t("onboarding.noResults",{query:a.query}):r.t("onboarding.noConversations")),1))])])}const cr=A($n,[["render",lr],["__scopeId","data-v-6bf35ef1"]]);function dr(e){return typeof e!="string"?"":e.replace(/`([^`]+)`/g,"$1").replace(/\*\*([^*]+)\*\*/g,"$1").replace(new RegExp("(?<!\\*)\\*([^*]+)\\*(?!\\*)","g"),"$1").replace(/__([^_]+)__/g,"$1").replace(/\[([^\]]+)\]\([^)]+\)/g,"$1").replace(/\s+/g," ").trim()}const ur={name:"WmActionResult",props:{state:{type:String,default:"success"},label:{type:String,required:!0},detail:{type:String,default:""}},computed:{detailText(){return dr(this.detail)}}},mr={class:"wm-result__icon","aria-hidden":"true"},hr={key:0,width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.8","stroke-linecap":"round","stroke-linejoin":"round"},fr={key:1,width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.6","stroke-linecap":"round","stroke-linejoin":"round"},gr={key:2,width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.4","stroke-linecap":"round","stroke-linejoin":"round"},pr={key:3,width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.2","stroke-linecap":"round","stroke-linejoin":"round"},_r={class:"wm-result__body"},yr={class:"wm-result__label"},vr={class:"wm-result__detail"};function wr(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["wm-result",`wm-result--${s.state}`])},[n.createElementVNode("span",mr,[s.state==="success"?(n.openBlock(),n.createElementBlock("svg",hr,[...t[0]||(t[0]=[n.createElementVNode("path",{d:"M20 6L9 17l-5-5"},null,-1)])])):s.state==="rejected"?(n.openBlock(),n.createElementBlock("svg",fr,[...t[1]||(t[1]=[n.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"},null,-1)])])):s.state==="awaiting"?(n.openBlock(),n.createElementBlock("svg",gr,[...t[2]||(t[2]=[n.createElementVNode("circle",{cx:"12",cy:"12",r:"10"},null,-1),n.createElementVNode("polyline",{points:"12 7 12 12 15 14"},null,-1)])])):(n.openBlock(),n.createElementBlock("svg",pr,[...t[3]||(t[3]=[n.createElementVNode("path",{d:"M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z"},null,-1),n.createElementVNode("line",{x1:"12",y1:"9",x2:"12",y2:"13"},null,-1),n.createElementVNode("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"},null,-1)])]))]),n.createElementVNode("span",_r,[n.createElementVNode("span",yr,n.toDisplayString(s.label),1),r.detailText?(n.openBlock(),n.createElementBlock(n.Fragment,{key:0},[t[4]||(t[4]=n.createElementVNode("span",{class:"wm-result__sep","aria-hidden":"true"}," · ",-1)),n.createElementVNode("span",vr,n.toDisplayString(r.detailText),1)],64)):n.createCommentVNode("",!0)])],2)}const De=A(ur,[["render",wr],["__scopeId","data-v-7284acd0"]]),kr={name:"WmArtifactFormResponse",inject:{t:{default:()=>T()}},props:{data:{type:Object,required:!0}},computed:{fields(){var e;return Array.isArray((e=this.data)==null?void 0:e.fields)?this.data.fields:[]}}},br={class:"wm-art wm-art--formResponse"},Cr={class:"wm-art__head"},Er={class:"wm-art__title"},Br={class:"wm-art__badge wm-art__badge--success"},Sr={class:"wm-art__body"},Nr={class:"wm-art__fieldLabel"};function Ar(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",br,[n.createElementVNode("div",Cr,[n.createElementVNode("div",Er,n.toDisplayString(s.data.title||r.t("form.title")),1),n.createElementVNode("span",Br,[t[0]||(t[0]=n.createElementVNode("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("polyline",{points:"20 6 9 17 4 12"})],-1)),n.createTextVNode(" "+n.toDisplayString(r.t("form.sent")),1)])]),n.createElementVNode("div",Sr,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.fields,(i,l)=>(n.openBlock(),n.createElementBlock("div",{key:l,class:"wm-art__field"},[n.createElementVNode("div",Nr,n.toDisplayString(i.label),1),n.createElementVNode("div",{class:n.normalizeClass(["wm-art__fieldValue",{"wm-art__fieldValue--multi":i.multiline}])},n.toDisplayString(i.value),3)]))),128))])])}const Oe=A(kr,[["render",Ar],["__scopeId","data-v-713aecf1"]]),Vr={name:"WmArtifactInfoCard",props:{data:{type:Object,required:!0}},computed:{fields(){var e;return Array.isArray((e=this.data)==null?void 0:e.fields)?this.data.fields:[]},hasBody(){var e;return!!((e=this.data)!=null&&e.body)||this.fields.length>0}}},Tr={class:"wm-art wm-art--infoCard"},Mr={key:0,class:"wm-art__image"},xr=["src","alt"],Lr={class:"wm-art__head"},Rr={class:"wm-art__headMain"},Dr={class:"wm-art__title"},Or={key:0,class:"wm-art__subtitle"},Ir={key:1,class:"wm-art__body"},Fr={key:0,class:"wm-art__text"},Pr={class:"wm-art__fieldLabel"};function zr(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",Tr,[s.data.image_url?(n.openBlock(),n.createElementBlock("figure",Mr,[n.createElementVNode("img",{src:s.data.image_url,alt:s.data.title||"",loading:"lazy"},null,8,xr)])):n.createCommentVNode("",!0),n.createElementVNode("div",Lr,[n.createElementVNode("div",Rr,[n.createElementVNode("div",Dr,n.toDisplayString(s.data.title),1),s.data.subtitle?(n.openBlock(),n.createElementBlock("div",Or,n.toDisplayString(s.data.subtitle),1)):n.createCommentVNode("",!0)]),s.data.badge&&s.data.badge.label?(n.openBlock(),n.createElementBlock("span",{key:0,class:n.normalizeClass(["wm-art__badge",`wm-art__badge--${s.data.badge.tone||"neutral"}`])},n.toDisplayString(s.data.badge.label),3)):n.createCommentVNode("",!0)]),r.hasBody?(n.openBlock(),n.createElementBlock("div",Ir,[s.data.body?(n.openBlock(),n.createElementBlock("div",Fr,n.toDisplayString(s.data.body),1)):n.createCommentVNode("",!0),r.fields.length?(n.openBlock(!0),n.createElementBlock(n.Fragment,{key:1},n.renderList(r.fields,(i,l)=>(n.openBlock(),n.createElementBlock("div",{key:l,class:"wm-art__field"},[n.createElementVNode("div",Pr,n.toDisplayString(i.label),1),n.createElementVNode("div",{class:n.normalizeClass(["wm-art__fieldValue",{"wm-art__fieldValue--multi":i.multiline}])},n.toDisplayString(i.value),3)]))),128)):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0)])}const Ie=A(Vr,[["render",zr],["__scopeId","data-v-7eae0e4a"]]);function Ur(e,t,s){if(!e)return"";const o=new Date(e);if(Number.isNaN(o.getTime()))return e;const a=o.toLocaleDateString(t,{day:"numeric",month:"long",year:"numeric"}),r=o.toLocaleTimeString(t,{hour:"2-digit",minute:"2-digit"});return`${a}${s}${r}`}const Hr={name:"WmArtifactTicket",inject:{t:{default:()=>T()},wmLocale:{default:()=>()=>"fr"}},props:{data:{type:Object,required:!0}},computed:{fields(){var e;return Array.isArray((e=this.data)==null?void 0:e.fields)?this.data.fields:[]},formattedDate(){var e;return Ur((e=this.data)==null?void 0:e.created_at,U(this.wmLocale()),this.t("ticket.dateAt"))}},methods:{isPriority(e){return/priorit|^prio$/i.test(String(e||"").trim())},isDate(e){return/date|échéanc|echeanc|deadline|due|créé|cree/i.test(String(e||"").trim())},priorityLevel(e){const t=String(e||"").toLowerCase();return/high|haute|élev|elev|critic|critiq|urgent/.test(t)?3:/low|basse|faible|minor/.test(t)?1:2}}},jr={class:"wm-art wm-art--ticket"},qr={class:"wm-art__head wm-tk__head"},Kr={class:"wm-art__title wm-tk__title"},Wr={class:"wm-tk__sub"},Gr={class:"wm-tk__ref"},$r={key:0,class:"wm-tk__text"},Yr={key:0,class:"wm-art__body"},Jr={class:"wm-art__fieldLabel"},Xr=["data-level"],Qr={key:1,class:"wm-tk__date",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},Zr={key:1,class:"wm-art__footer wm-tk__footer"};function es(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",jr,[n.createElementVNode("div",qr,[n.createElementVNode("div",Kr,n.toDisplayString(s.data.title),1),n.createElementVNode("div",Wr,[n.createElementVNode("div",Gr,[t[0]||(t[0]=n.createElementVNode("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M20 12a2 2 0 0 1 2-2V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v4a2 2 0 0 1 0 4v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 1-2-2z"}),n.createElementVNode("path",{d:"M13 5v2M13 17v2M13 11v2"})],-1)),n.createElementVNode("span",null,n.toDisplayString(s.data.reference),1)]),n.createElementVNode("span",{class:n.normalizeClass(["wm-art__badge","wm-tk__badge",`wm-art__badge--${s.data.status.tone||"neutral"}`])},[t[1]||(t[1]=n.createElementVNode("span",{class:"wm-tk__dot","aria-hidden":"true"},null,-1)),n.createTextVNode(" "+n.toDisplayString(s.data.status.label),1)],2)]),s.data.body?(n.openBlock(),n.createElementBlock("div",$r,n.toDisplayString(s.data.body),1)):n.createCommentVNode("",!0)]),r.fields.length?(n.openBlock(),n.createElementBlock("div",Yr,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.fields,(i,l)=>(n.openBlock(),n.createElementBlock("div",{key:l,class:"wm-art__field"},[n.createElementVNode("div",Jr,n.toDisplayString(i.label),1),n.createElementVNode("div",{class:n.normalizeClass(["wm-art__fieldValue",{"wm-art__fieldValue--multi":i.multiline}])},[r.isPriority(i.label)?(n.openBlock(),n.createElementBlock("svg",{key:0,class:"wm-tk__prio","data-level":r.priorityLevel(i.value),width:"12",height:"12",viewBox:"0 0 12 12","aria-hidden":"true"},[...t[2]||(t[2]=[n.createElementVNode("rect",{x:"1",y:"8",width:"2",height:"3",rx:"0.5"},null,-1),n.createElementVNode("rect",{x:"5",y:"5",width:"2",height:"6",rx:"0.5"},null,-1),n.createElementVNode("rect",{x:"9",y:"2",width:"2",height:"9",rx:"0.5"},null,-1)])],8,Xr)):r.isDate(i.label)?(n.openBlock(),n.createElementBlock("svg",Qr,[...t[3]||(t[3]=[n.createElementVNode("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2"},null,-1),n.createElementVNode("path",{d:"M16 2v4M8 2v4M3 10h18"},null,-1)])])):n.createCommentVNode("",!0),n.createElementVNode("span",null,n.toDisplayString(i.value),1)],2)]))),128))])):n.createCommentVNode("",!0),s.data.created_at?(n.openBlock(),n.createElementBlock("div",Zr,[t[4]||(t[4]=n.createElementVNode("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2"}),n.createElementVNode("path",{d:"M16 2v4M8 2v4M3 10h18"})],-1)),n.createElementVNode("span",null,n.toDisplayString(r.formattedDate),1)])):n.createCommentVNode("",!0)])}const Fe=A(Hr,[["render",es],["__scopeId","data-v-5f30c914"]]),ts={form_response:Oe,info_card:Ie,ticket:Fe},ns={name:"WmArtifactRenderer",props:{artifact:{type:Object,required:!0}},computed:{component(){var t;const e=(t=this.artifact)==null?void 0:t.kind;return e&&ts[e]||null}}};function rs(e,t,s,o,a,r){return r.component?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(r.component),{key:0,data:s.artifact.data},null,8,["data"])):n.createCommentVNode("",!0)}const Pe=A(ns,[["render",rs]]),ss={name:"WmAttachmentPreview",inject:{signAttachmentFn:{default:null},t:{default:()=>T()}},props:{attachment:{type:Object,required:!0}},data(){return{url:null,loading:!1}},computed:{kind(){var s,o;const e=(s=this.attachment)==null?void 0:s.type;if(e)return e;const t=(((o=this.attachment)==null?void 0:o.mime_type)||"").toLowerCase();return t.startsWith("image/")?"image":t.startsWith("audio/")?"audio":t.startsWith("video/")?"video":"file"},displayName(){var e,t,s;return((t=(e=this.attachment)==null?void 0:e.metadata)==null?void 0:t.name)||((s=this.attachment)==null?void 0:s.name)||this.guessNameFromPath()||this.t("attachment.fallbackName")},safeHref(){const e=String(this.url||"").trim();return/^(https?:\/\/|blob:|data:image\/)/i.test(e)?e:"#"},sizeLabel(){var t;const e=(t=this.attachment)==null?void 0:t.size_bytes;return e?e<1024?this.t("attachment.bytes",{size:e}):e<1024*1024?this.t("attachment.kilobytes",{size:(e/1024).toFixed(0)}):this.t("attachment.megabytes",{size:(e/(1024*1024)).toFixed(1)}):""}},watch:{"attachment.path":{handler(){this.refresh()},immediate:!0}},methods:{guessNameFromPath(){var s;return((((s=this.attachment)==null?void 0:s.path)||"").split("/").pop()||"").replace(/^[0-9a-f-]{8,}-/,"")},async refresh(){var e;if(!(!((e=this.attachment)!=null&&e.path)||!this.signAttachmentFn)){this.loading=!0;try{this.url=await this.signAttachmentFn(this.attachment.path)}finally{this.loading=!1}}},onFileClick(e){this.safeHref==="#"&&e.preventDefault()}}},os=["href"],as=["src","alt"],is=["src"],ls=["src"],cs=["href","download"],ds={class:"wm-att__main"},us={class:"wm-att__name"},ms={key:0,class:"wm-att__meta"},hs={key:0,class:"wm-att__spin","aria-hidden":"true"};function fs(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["wm-att",["wm-att--"+(r.kind||"file")]])},[r.kind==="image"&&a.url?(n.openBlock(),n.createElementBlock("a",{key:0,href:r.safeHref,target:"_blank",rel:"noopener",class:"wm-att__imgWrap"},[n.createElementVNode("img",{src:a.url,alt:r.displayName,loading:"lazy"},null,8,as)],8,os)):r.kind==="audio"&&a.url?(n.openBlock(),n.createElementBlock("audio",{key:1,src:a.url,controls:"",preload:"metadata"},null,8,is)):r.kind==="video"&&a.url?(n.openBlock(),n.createElementBlock("video",{key:2,src:a.url,controls:"",playsinline:"",preload:"auto"},null,8,ls)):(n.openBlock(),n.createElementBlock("a",{key:3,class:"wm-att__file",href:r.safeHref,download:r.displayName,target:"_blank",rel:"noopener",onClick:t[0]||(t[0]=(...i)=>r.onFileClick&&r.onFileClick(...i))},[t[1]||(t[1]=n.createElementVNode("span",{class:"wm-att__icon"},[n.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.7","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"}),n.createElementVNode("path",{d:"M14 2v6h6"})])],-1)),n.createElementVNode("span",ds,[n.createElementVNode("span",us,n.toDisplayString(r.displayName),1),r.sizeLabel?(n.openBlock(),n.createElementBlock("span",ms,n.toDisplayString(r.sizeLabel),1)):n.createCommentVNode("",!0)]),a.loading?(n.openBlock(),n.createElementBlock("span",hs)):n.createCommentVNode("",!0)],8,cs))],2)}const ze=A(ss,[["render",fs],["__scopeId","data-v-b207a8bd"]]),gs={name:"WmBubble",props:{role:{type:String,default:"ai"},text:{type:String,default:""}},computed:{rendered(){return Te(this.text)}}},ps=["innerHTML"];function _s(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["wm-bubble","wm-bubble--"+s.role])},[n.renderSlot(e.$slots,"default",{},()=>[n.createElementVNode("span",{innerHTML:r.rendered},null,8,ps)],!0)],2)}const Ue=A(gs,[["render",_s],["__scopeId","data-v-7ab13147"]]),ys={name:"WmTyping"},vs={class:"wm-typing"};function ws(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",vs,[...t[0]||(t[0]=[n.createElementVNode("span",{style:{"animation-delay":"0s"}},null,-1),n.createElementVNode("span",{style:{"animation-delay":"0.2s"}},null,-1),n.createElementVNode("span",{style:{"animation-delay":"0.4s"}},null,-1)])])}const He=A(ys,[["render",ws],["__scopeId","data-v-df2447fd"]]);function q(e){return e?e.client_msg_id||e.id:""}const ks={transferred_to_human:"system.transferredToHuman",assigned:"system.assigned",unassigned:"system.unassigned",resolved:"system.resolved",closed:"system.closed",reopened:"system.reopened",idle:"system.idle"},bs=80,Cs=200,Es={name:"WmMessageList",components:{AIAvatar:Y,HumanAvatar:te,Bubble:Ue,Typing:He,ActionResult:De,AttachmentPreview:ze,ArtifactRenderer:Pe},inject:{t:{default:()=>T()},wmLocale:{default:()=>()=>"fr"}},props:{messages:{type:Array,default:()=>[]},streamingActive:{type:Boolean,default:!1},dateLabel:{type:String,default:""},conversationId:{type:[String,Number],default:null},loadingMore:{type:Boolean,default:!1},hasMore:{type:Boolean,default:!1},unreadAnchorId:{type:Number,default:null},unreadBoundaryTs:{type:String,default:""},aiAgentName:{type:String,default:""},aiAgentAvatarUrl:{type:String,default:null}},emits:["load-more"],data(){return{silentFades:!1,widthByKey:Object.freeze({}),showScrollDown:!1,pressedItemKey:null}},computed:{historyExhausted(){return!this.hasMore&&!this.loadingMore&&this.messages.length>=20},groups(){var s,o,a,r,i;const e=[];for(const l of this.messages){if((s=l==null?void 0:l.metadata)!=null&&s.resolution_request)continue;const m=this.roleOf(l);if(m==="system"){if(((o=l==null?void 0:l.payload)==null?void 0:o.event)==="action_admin_pending"){const b=e[e.length-1];b&&b.role==="ai"?b.messages.push(l):e.push({key:`g-${q(l)}`,role:"ai",agentName:"",agentAvatarUrl:null,messages:[l],items:[]});continue}e.push({key:`sys-${q(l)}`,role:m,messages:[l],items:[],systemLabel:this.systemLabel(l)});continue}const y=e[e.length-1];y&&y.role===m&&(m==="ai"||y.agentName===(((a=l==null?void 0:l.author)==null?void 0:a.name)||""))?y.messages.push(l):e.push({key:`g-${q(l)}`,role:m,agentName:((r=l==null?void 0:l.author)==null?void 0:r.name)||"",agentAvatarUrl:((i=l==null?void 0:l.author)==null?void 0:i.avatar_url)||null,messages:[l],items:[]})}for(const l of e){if(l.role==="system")continue;const m=[];for(const y of l.messages)for(const g of this.itemsOf(y))m.push(g);l.items=m}const t=[];for(const l of e){if(l.role!=="system"&&!l.items.length)continue;const m=t[t.length-1];if(m&&m.role!=="system"&&m.role===l.role&&(l.role==="ai"||m.agentName===l.agentName)){m.messages.push(...l.messages),m.items.push(...l.items);continue}t.push(l)}for(const l of t)l.role!=="system"&&(l.key=this.stableGroupKey(l.messages));return t},unreadGroupKey(){if(this.unreadAnchorId==null)return null;const e=this.unreadAnchorId,t=this.unreadBoundaryTs;for(const s of this.groups){if(s.role==="user"||s.role==="system"||!s.items.length)continue;const o=s.messages[0];if(!o)continue;const a=O(o.id);if(a!=null&&!(a<=e)&&!(t&&o.created_at&&o.created_at>t))return s.key}return null}},watch:{messages:{handler:"snapshotAndRestore",deep:!0},conversationId(e,t){e!==t&&(this._groupIdByMsgKey=null,this.silentFades=!1)},loadingMore(e){e||(this._pendingLoadMore=!1),e&&(this.silentFades=!0),this.snapshotAndRestore()},streamingActive:"snapshotAndRestore"},mounted(){this._lastSeenConvId=this.conversationId,this.scrollToBottom(),this._measureFrame=null,this._ro=new ResizeObserver(()=>this.scheduleMeasure()),this.$refs.scrollEl&&this._ro.observe(this.$refs.scrollEl),this.$nextTick(()=>this.measureRows())},beforeUnmount(){var e;(e=this._ro)==null||e.disconnect(),this._measureFrame&&cancelAnimationFrame(this._measureFrame),this._pinFrame&&cancelAnimationFrame(this._pinFrame),this._pressTimer&&clearTimeout(this._pressTimer)},updated(){this.scheduleMeasure()},methods:{messageKey:q,stableGroupKey(e){this._groupIdByMsgKey||(this._groupIdByMsgKey=new Map,this._groupIdCounter=0);const t=this._groupIdByMsgKey;let s=null;for(const o of e){const a=q(o);if(a&&t.has(a)){s=t.get(a);break}}s==null&&(s=++this._groupIdCounter);for(const o of e){const a=q(o);a&&t.set(a,s)}return`g-${s}`},isAtBottom(e){return e.scrollHeight-e.scrollTop-e.clientHeight<=bs},onScroll(){const e=this.$refs.scrollEl;e&&(this.showScrollDown=!this.isAtBottom(e),!(this.loadingMore||!this.hasMore)&&(this._pendingLoadMore||e.scrollTop<=Cs&&(this._pendingLoadMore=!0,this.$emit("load-more"))))},snapshotAndRestore(){const e=this.$refs.scrollEl;if(!e||this._scrollSnap)return;const t=this._lastSeenConvId!==this.conversationId;this._lastSeenConvId=this.conversationId;const s=this.isAtBottom(e);let o=null;if(!t&&!s){const r=this.pickAnchor(e);if(r!=null&&r.rowKey){const i=this.findRowByKey(e,r.rowKey);if(i){const l=e.getBoundingClientRect().top;o={rowKey:r.rowKey,relY:i.getBoundingClientRect().top-l}}}}const a={forceBottom:t,wasPinned:s,anchor:o};this._scrollSnap=a,this.$nextTick(()=>{if(this._scrollSnap=null,a.forceBottom||a.wasPinned){e.scrollTop=e.scrollHeight;return}if(!a.anchor)return;const r=()=>{const i=a.anchor,l=this.findRowByKey(e,i.rowKey);if(!l)return;const y=l.getBoundingClientRect().top-e.getBoundingClientRect().top-i.relY;Math.abs(y)>.5&&(e.scrollTop+=y)};r(),requestAnimationFrame(()=>{r(),requestAnimationFrame(r)})})},pickAnchor(e){const t=e.getBoundingClientRect().top,s=e.querySelectorAll(".wm-list__row[data-row-key]");let o=null;for(const a of s)if(o||(o=a),a.getBoundingClientRect().bottom>=t)return{rowKey:a.dataset.rowKey};return o?{rowKey:o.dataset.rowKey}:null},findRowByKey(e,t){if(!t)return null;const s=typeof CSS<"u"&&CSS.escape?CSS.escape(t):t.replace(/["\\]/g,"\\$&");return e.querySelector(`.wm-list__row[data-row-key="${s}"]`)},roleOf(e){var s,o;if((e==null?void 0:e.type)==="system"||((s=e==null?void 0:e.payload)==null?void 0:s.type)==="system")return"system";const t=(o=e==null?void 0:e.author)==null?void 0:o.type;return t==="user"?"user":t==="agent_human"?"human":"ai"},roleLabel(e){if(e.role==="human")return e.agentName||this.t("common.agent");const t=this.t("common.aiAssistant");return this.aiAgentName?`${this.aiAgentName} • ${t}`:t},itemsOf(e){var t;if(!e)return[];if(e.type==="system"&&((t=e==null?void 0:e.payload)==null?void 0:t.event)==="action_admin_pending")return[{message:e,partKey:"main",renderAs:"admin-pending",kind:{top:"bubble",bottom:"bubble"}}];if(e.type==="action"&&e.payload&&e.payload.state!=="pending"){const s=[{message:e,partKey:"main",renderAs:"action",kind:{top:"bubble",bottom:"bubble"}}];return this.actionArtifact(e)&&s.push({message:e,partKey:"artifact",renderAs:"artifact-of-action",kind:{top:"card",bottom:"card"}}),s}return this.artifactOf(e)?[{message:e,partKey:"main",renderAs:"artifact",kind:{top:"card",bottom:"card"}}]:e.text_md||this.attachmentsOf(e).length?[{message:e,partKey:"main",renderAs:"bubble",kind:{top:"bubble",bottom:"bubble"}}]:[]},cornersFor(e,t){var K,W,F;const s=e.items,o=(K=s[t])==null?void 0:K.kind,a=(W=s[t-1])==null?void 0:W.kind,r=(F=s[t+1])==null?void 0:F.kind,i=e.role==="user",l=14,m=4,y=a==null?void 0:a.bottom,g=r==null?void 0:r.top,b=this.widthByKey[this.rowKeyOf(e,t)],N=this.widthByKey[this.rowKeyOf(e,t-1)],k=this.widthByKey[this.rowKeyOf(e,t+1)],x=.5,C=(P,G,z)=>P!=null&&b!=null?P+x>=b:G===z||G==="card"&&z==="bubble";let V=l,E=l,L=l,I=l;return i?(y&&(E=m),(g||!r)&&(L=m),y&&C(N,y,o==null?void 0:o.top)&&(V=m),g&&C(k,g,o==null?void 0:o.bottom)&&(I=m)):(y&&(V=m),(g||!r)&&(I=m),y&&C(N,y,o==null?void 0:o.top)&&(E=m),g&&C(k,g,o==null?void 0:o.bottom)&&(L=m)),{tl:V,tr:E,br:L,bl:I}},mosaicGridStyle(e){return!e||e<2?null:{"grid-template-columns":`repeat(${Math.min(e,4)}, 1fr)`}},mosaicCornerStyle(e,t,s){if(!t||t<2)return null;const o=Math.min(t,4),a=Math.floor(e/o),r=e%o,i=r>0,l=r<o-1&&e+1<t,m=a>0,y=e+o<t,g="4px",b={};return(i||m)&&(b["--wm-r-tl"]=g),(l||m)&&(b["--wm-r-tr"]=g),(i||y)&&(b["--wm-r-bl"]=g),(l||y)&&(b["--wm-r-br"]=g),s&&(b["--wm-r-tl"]=g,b["--wm-r-tr"]=g),Object.keys(b).length?b:null},cornersStyle(e,t){if(e.items.length<2)return null;const s=this.cornersFor(e,t);return{"--wm-r-tl":`${s.tl}px`,"--wm-r-tr":`${s.tr}px`,"--wm-r-br":`${s.br}px`,"--wm-r-bl":`${s.bl}px`}},rowKeyOf(e,t){var o;const s=(o=e==null?void 0:e.items)==null?void 0:o[t];return s?`${q(s.message)}-${s.partKey}`:""},scheduleMeasure(){this._measureFrame||(this._measureFrame=requestAnimationFrame(()=>{this._measureFrame=null,this.measureRows()}))},measureRows(){const e=this.$refs.scrollEl;if(!e)return;const t={};for(const r of e.querySelectorAll(".wm-list__row[data-row-key]")){const i=r.dataset.rowKey;if(!i)continue;const l=r.querySelector(".wm-bubble, .wm-result, .wm-art, .wm-list__body");if(!l)continue;const m=l.getBoundingClientRect().width;m>0&&(t[i]=m)}const s=this.widthByKey,o=Object.keys(s),a=Object.keys(t);if(o.length===a.length){let r=!0;for(const i of a)if(Math.abs((s[i]??0)-t[i])>.5){r=!1;break}if(r)return}this.widthByKey=Object.freeze(t)},onPressStart(e){this.onPressEnd(),this._pressTimer=setTimeout(()=>{this._pressTimer=null,this.pressedItemKey=e},400)},onPressEnd(){this._pressTimer&&(clearTimeout(this._pressTimer),this._pressTimer=null),this.pressedItemKey!==null&&(this.pressedItemKey=null)},timeOf(e){if(!(e!=null&&e.created_at))return"";try{return se(new Date(e.created_at),U(this.wmLocale()))}catch{return""}},lastTimeOf(e){const t=e.items[e.items.length-1],s=(t==null?void 0:t.message)||e.messages[e.messages.length-1];if(!(s!=null&&s.created_at))return"";try{return se(new Date(s.created_at),U(this.wmLocale()))}catch{return""}},hasTrailingOverlay(e){if(!e.messages.length)return!1;const t=e.messages[e.messages.length-1],s=e.items[e.items.length-1];return!!t&&(s==null?void 0:s.message)!==t},attachmentsOf(e){var s;const t=(s=e==null?void 0:e.payload)==null?void 0:s.attachments;return Array.isArray(t)?t:[]},artifactOf(e){var s;const t=(s=e==null?void 0:e.metadata)==null?void 0:s.artifact;return!t||typeof t!="object"||typeof t.kind!="string"?null:t},actionLabel(e){var t;return((t=e==null?void 0:e.payload)==null?void 0:t.name)||(e==null?void 0:e.text_md)||this.t("common.action")},actionDetail(e){var s,o,a,r,i,l,m,y;const t=e==null?void 0:e.payload;if(!t)return"";if(t.state==="success")return((s=t.success)==null?void 0:s.summary)||((a=(o=t.success)==null?void 0:o.metadata)==null?void 0:a.description)||"";if(t.state==="rejected"){if((r=t.rejected)!=null&&r.reason)return t.rejected.reason;const g=(l=(i=t.rejected)==null?void 0:i.metadata)==null?void 0:l.resolution,b=typeof g=="string"&&g.startsWith("admin")?"action.rejectedByAdmin":"action.rejectedByUser";return this.t(b)}return t.state==="failure"&&(((m=t.failure)==null?void 0:m.summary)||((y=t.failure)==null?void 0:y.error))||""},actionArtifact(e){var s,o;const t=(o=(s=e==null?void 0:e.payload)==null?void 0:s.success)==null?void 0:o.artifact;return!t||typeof t!="object"||typeof t.kind!="string"?null:t},systemLabel(e){var a,r,i;const t=(a=e==null?void 0:e.payload)==null?void 0:a.event,s=ks[t],o=((r=e==null?void 0:e.metadata)==null?void 0:r.agent_name)||((i=e==null?void 0:e.author)==null?void 0:i.name)||this.t("messageList.anAgent");return s?this.t(s,{name:o}):(e==null?void 0:e.text_md)||this.t("messageList.conversationUpdate")},scrollToBottom(){const e=this.$refs.scrollEl;e&&(e.scrollTop=e.scrollHeight),this.showScrollDown=!1},keepPinnedToBottom(e=320){const t=this.$refs.scrollEl;if(!t)return;this._pinFrame&&cancelAnimationFrame(this._pinFrame);let s=null;const o=a=>{s===null&&(s=a),t.scrollTop=t.scrollHeight,a-s<e?this._pinFrame=requestAnimationFrame(o):this._pinFrame=null};this._pinFrame=requestAnimationFrame(o),this.showScrollDown=!1},scrollToBottomSmooth(){const e=this.$refs.scrollEl;e&&(typeof e.scrollTo=="function"?e.scrollTo({top:e.scrollHeight,behavior:"smooth"}):e.scrollTop=e.scrollHeight,this.showScrollDown=!1)}}},Bs={class:"wm-list__wrap"},Ss={key:0,class:"wm-list__loadMore",role:"status","aria-live":"polite"},Ns={class:"wm-list__loadMore-lbl"},As={key:1,class:"wm-list__historyEnd"},Vs={key:2,class:"wm-list__sep"},Ts={class:"wm-list__sep-label"},Ms={key:0,class:"wm-list__sep wm-list__sep--unread"},xs={class:"wm-list__sep-label wm-list__sep-label--unread"},Ls={key:0,class:"wm-list__sysep"},Rs={class:"wm-list__sysep-label"},Ds=["data-row-key","onPointerdown"],Os={key:0,class:"wm-list__avatarSlot"},Is={key:0},Fs={key:1,"aria-hidden":"true"},Ps={key:2},zs={key:0},Us={key:1,"aria-hidden":"true"},Hs={key:2},js={key:3,class:"wm-list__row wm-list__row--ai fade-up"},qs={class:"wm-list__avatarSlot"},Ks=["aria-label","title"];function Ws(e,t,s,o,a,r){const i=n.resolveComponent("AIAvatar"),l=n.resolveComponent("HumanAvatar"),m=n.resolveComponent("ActionResult"),y=n.resolveComponent("ArtifactRenderer"),g=n.resolveComponent("Bubble"),b=n.resolveComponent("AttachmentPreview"),N=n.resolveComponent("Typing");return n.openBlock(),n.createElementBlock("div",Bs,[n.createElementVNode("div",{ref:"scrollEl",class:n.normalizeClass(["wm-list",{"wm-list--silent":a.silentFades}]),onScrollPassive:t[4]||(t[4]=(...k)=>r.onScroll&&r.onScroll(...k))},[s.loadingMore?(n.openBlock(),n.createElementBlock("div",Ss,[t[6]||(t[6]=n.createElementVNode("span",{class:"wm-list__loadMore-spinner","aria-hidden":"true"},null,-1)),n.createElementVNode("span",Ns,n.toDisplayString(r.t("messageList.loadingHistory")),1)])):r.historyExhausted?(n.openBlock(),n.createElementBlock("div",As,n.toDisplayString(r.t("messageList.conversationStart")),1)):n.createCommentVNode("",!0),s.dateLabel?(n.openBlock(),n.createElementBlock("div",Vs,[t[7]||(t[7]=n.createElementVNode("div",{class:"wm-list__line"},null,-1)),n.createElementVNode("span",Ts,n.toDisplayString(s.dateLabel),1),t[8]||(t[8]=n.createElementVNode("div",{class:"wm-list__line"},null,-1))])):n.createCommentVNode("",!0),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.groups,(k,x)=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:k.key},[k.key===r.unreadGroupKey?(n.openBlock(),n.createElementBlock("div",Ms,[t[9]||(t[9]=n.createElementVNode("div",{class:"wm-list__line wm-list__line--unread"},null,-1)),n.createElementVNode("span",xs,n.toDisplayString(r.t("messageList.unread")),1),t[10]||(t[10]=n.createElementVNode("div",{class:"wm-list__line wm-list__line--unread"},null,-1))])):n.createCommentVNode("",!0),k.role==="system"||k.items.length?(n.openBlock(),n.createElementBlock("div",{key:1,class:n.normalizeClass(["wm-list__group","wm-list__group--"+k.role])},[k.role==="system"?(n.openBlock(),n.createElementBlock("div",Ls,[t[11]||(t[11]=n.createElementVNode("div",{class:"wm-list__line wm-list__line--strong"},null,-1)),n.createElementVNode("span",Rs,n.toDisplayString(k.systemLabel),1),t[12]||(t[12]=n.createElementVNode("div",{class:"wm-list__line wm-list__line--strong"},null,-1))])):(n.openBlock(),n.createElementBlock(n.Fragment,{key:1},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(k.items,(C,V)=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:`${r.messageKey(C.message)}-${C.partKey}`},[n.createElementVNode("div",{"data-row-key":`${r.messageKey(C.message)}-${C.partKey}`,class:n.normalizeClass(["wm-list__row fade-up",["wm-list__row--"+k.role,{"is-pending":C.message._pending,"is-failed":C.message._failed}]]),style:n.normalizeStyle(r.cornersStyle(k,V)),onPointerdown:E=>r.onPressStart(`${r.messageKey(C.message)}-${C.partKey}`),onPointerup:t[0]||(t[0]=E=>r.onPressEnd()),onPointercancel:t[1]||(t[1]=E=>r.onPressEnd()),onPointerleave:t[2]||(t[2]=E=>r.onPressEnd()),onContextmenu:t[3]||(t[3]=n.withModifiers(()=>{},["prevent"]))},[k.role!=="user"?(n.openBlock(),n.createElementBlock("div",Os,[V===k.items.length-1?(n.openBlock(),n.createElementBlock(n.Fragment,{key:0},[k.role==="ai"?(n.openBlock(),n.createBlock(i,{key:0,size:26,tail:!0,name:s.aiAgentName,"image-url":s.aiAgentAvatarUrl},null,8,["name","image-url"])):(n.openBlock(),n.createBlock(l,{key:1,name:k.agentName,"avatar-url":k.agentAvatarUrl,size:26,tail:!0},null,8,["name","avatar-url"]))],64)):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0),C.renderAs==="action"?(n.openBlock(),n.createBlock(m,{key:1,state:C.message.payload.state,label:r.actionLabel(C.message),detail:r.actionDetail(C.message)},null,8,["state","label","detail"])):C.renderAs==="admin-pending"?(n.openBlock(),n.createBlock(m,{key:2,state:"awaiting",label:r.t("messageList.approvalRequestSent"),detail:C.message.text_md||""},null,8,["label","detail"])):C.renderAs==="artifact-of-action"?(n.openBlock(),n.createBlock(y,{key:3,artifact:r.actionArtifact(C.message)},null,8,["artifact"])):C.renderAs==="artifact"?(n.openBlock(),n.createBlock(y,{key:4,artifact:r.artifactOf(C.message)},null,8,["artifact"])):(n.openBlock(),n.createElementBlock("div",{key:5,class:n.normalizeClass(["wm-list__body",{"wm-list__body--mixed":!!C.message.text_md&&r.attachmentsOf(C.message).length>0}])},[C.message.text_md?(n.openBlock(),n.createBlock(g,{key:0,role:k.role,text:C.message.text_md},null,8,["role","text"])):n.createCommentVNode("",!0),r.attachmentsOf(C.message).length?(n.openBlock(),n.createElementBlock("div",{key:1,class:n.normalizeClass(["wm-list__atts",{"wm-list__atts--align-end":k.role==="user","wm-list__atts--mosaic":r.attachmentsOf(C.message).length>=2}]),style:n.normalizeStyle(r.mosaicGridStyle(r.attachmentsOf(C.message).length))},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.attachmentsOf(C.message),(E,L)=>(n.openBlock(),n.createBlock(b,{key:`${r.messageKey(C.message)}-att-${L}`,attachment:E,style:n.normalizeStyle(r.mosaicCornerStyle(L,r.attachmentsOf(C.message).length,!!C.message.text_md))},null,8,["attachment","style"]))),128))],6)):n.createCommentVNode("",!0)],2))],46,Ds),V<k.items.length-1&&a.pressedItemKey===`${r.messageKey(C.message)}-${C.partKey}`&&(k.role!=="user"||r.timeOf(C.message))?(n.openBlock(),n.createElementBlock("div",{key:0,class:n.normalizeClass(["wm-list__meta wm-list__meta--press",{"wm-list__meta--right":k.role==="user"}])},[k.role!=="user"?(n.openBlock(),n.createElementBlock("span",Is,n.toDisplayString(r.roleLabel(k)),1)):n.createCommentVNode("",!0),k.role!=="user"&&r.timeOf(C.message)?(n.openBlock(),n.createElementBlock("span",Fs,"•")):n.createCommentVNode("",!0),r.timeOf(C.message)?(n.openBlock(),n.createElementBlock("span",Ps,n.toDisplayString(r.timeOf(C.message)),1)):n.createCommentVNode("",!0)],2)):n.createCommentVNode("",!0)],64))),128)),a.pressedItemKey===r.rowKeyOf(k,k.items.length-1)&&(k.role!=="user"||r.lastTimeOf(k))&&!r.hasTrailingOverlay(k)?(n.openBlock(),n.createElementBlock("div",{key:0,class:n.normalizeClass(["wm-list__meta wm-list__meta--press",{"wm-list__meta--right":k.role==="user"}])},[k.role!=="user"?(n.openBlock(),n.createElementBlock("span",zs,n.toDisplayString(r.roleLabel(k)),1)):n.createCommentVNode("",!0),k.role!=="user"&&r.lastTimeOf(k)?(n.openBlock(),n.createElementBlock("span",Us,"•")):n.createCommentVNode("",!0),r.lastTimeOf(k)?(n.openBlock(),n.createElementBlock("span",Hs,n.toDisplayString(r.lastTimeOf(k)),1)):n.createCommentVNode("",!0)],2)):n.createCommentVNode("",!0)],64))],2)):n.createCommentVNode("",!0)],64))),128)),s.streamingActive?(n.openBlock(),n.createElementBlock("div",js,[n.createElementVNode("div",qs,[n.createVNode(i,{size:26,tail:!0,name:s.aiAgentName,"image-url":s.aiAgentAvatarUrl},null,8,["name","image-url"])]),n.createVNode(N)])):n.createCommentVNode("",!0)],34),n.createVNode(n.Transition,{name:"wm-scrollDown"},{default:n.withCtx(()=>[a.showScrollDown?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"wm-list__scrollDown","aria-label":r.t("messageList.scrollToBottom"),title:r.t("messageList.scrollToBottom"),onClick:t[5]||(t[5]=(...k)=>r.scrollToBottomSmooth&&r.scrollToBottomSmooth(...k))},[...t[13]||(t[13]=[n.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M6 9l6 6 6-6"})],-1)])],8,Ks)):n.createCommentVNode("",!0)]),_:1})])}const je=A(Es,[["render",Ws],["__scopeId","data-v-5a563f2b"]]),ee=typeof navigator<"u"&&!!navigator.mediaDevices&&typeof navigator.mediaDevices.getDisplayMedia=="function",le=typeof window<"u"&&typeof window.MediaRecorder<"u";function qe(){return le&&["video/webm;codecs=vp9,opus","video/webm;codecs=vp8,opus","video/webm","video/mp4"].find(t=>{var s,o;return(o=(s=window.MediaRecorder).isTypeSupported)==null?void 0:o.call(s,t)})||""}function Ke({audio:e}){return{video:!0,audio:!!e,selfBrowserSurface:"include",surfaceSwitching:"include",systemAudio:e?"include":"exclude"}}function Gs(e){return e?e.startsWith("image/")?"image":e.startsWith("video/")?"video":"file":"file"}async function We(){if(!ee)return null;let e;try{e=await navigator.mediaDevices.getDisplayMedia(Ke({audio:!1}))}catch(t){return(t==null?void 0:t.name)!=="NotAllowedError"&&console.error("[media] screenshot picker",t),null}try{return await $s(e)}catch(t){return console.error("[media] screenshot capture",t),null}finally{e.getTracks().forEach(t=>{t.stop()})}}async function $s(e){const t=document.createElement("video");t.muted=!0,t.playsInline=!0,t.srcObject=e,await t.play(),await new Promise(l=>requestAnimationFrame(l));const s=t.videoWidth||1280,o=t.videoHeight||720,a=document.createElement("canvas");a.width=s,a.height=o,a.getContext("2d").drawImage(t,0,0,s,o);const r=await new Promise((l,m)=>{a.toBlob(y=>y?l(y):m(new Error("toBlob failed")),"image/png")}),i=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19);return new File([r],`capture-${i}.png`,{type:"image/png"})}async function Ge(e={}){var y;if(!ee||!le)return null;let t;try{t=await navigator.mediaDevices.getDisplayMedia(Ke({audio:!0}))}catch(g){return(g==null?void 0:g.name)!=="NotAllowedError"&&console.error("[media] record picker",g),null}const s=qe();let o;try{o=s?new window.MediaRecorder(t,{mimeType:s}):new window.MediaRecorder(t)}catch(g){return console.error("[media] recorder init",g),t.getTracks().forEach(b=>{b.stop()}),null}const a=[];let r=null,i=!1;o.addEventListener("dataavailable",g=>{g.data&&g.data.size>0&&a.push(g.data)}),o.addEventListener("stop",()=>{var g,b;if(r&&clearInterval(r),t.getTracks().forEach(N=>{N.stop()}),a.length){const N=o.mimeType||s||"video/webm",k=new Blob(a,{type:N}),x=/mp4/.test(N)?"mp4":"webm",C=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19),V=new File([k],`ecran-${C}.${x}`,{type:N});(g=e.onfinalize)==null||g.call(e,V)}else(b=e.oncancel)==null||b.call(e)}),t.getVideoTracks().forEach(g=>{g.addEventListener("ended",()=>l(),{once:!0})});function l(){if(!i&&(i=!0,o.state!=="inactive"))try{o.stop()}catch(g){console.error("[media] recorder stop",g)}}try{o.start(1e3)}catch(g){return console.error("[media] recorder start",g),t.getTracks().forEach(b=>{b.stop()}),null}(y=e.onstart)==null||y.call(e);const m=Date.now();return r=setInterval(()=>{var g;(g=e.ontick)==null||g.call(e,Date.now()-m)},500),{stop:l,get state(){return o.state}}}const Ys=[{action:"file",labelKey:"composer.attachFile",path:"M21.44 11.05l-9.19 9.19a6 6 0 01-8.49-8.49l9.19-9.19a4 4 0 015.66 5.66l-9.2 9.19a2 2 0 01-2.83-2.83l8.49-8.48"},{action:"screenshot",labelKey:"composer.screenshot",path:"M23 19a2 2 0 01-2 2H3a2 2 0 01-2-2V8a2 2 0 012-2h4l2-3h6l2 3h4a2 2 0 012 2z M12 17a4 4 0 100-8 4 4 0 000 8z"},{action:"record",labelKey:"composer.recordScreen",path:"M23 7l-7 5 7 5V7z M1 5a2 2 0 012-2h12a2 2 0 012 2v14a2 2 0 01-2 2H3a2 2 0 01-2-2V5z"}],Js={name:"WmComposer",inject:{t:{default:()=>T()}},props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Écrivez votre message…"},disabled:{type:Boolean,default:!1},attachLabel:{type:String,default:"Joindre"},displayMode:{type:String,default:"floating"}},emits:["update:modelValue","send","attach","focus","blur"],data(){return{local:this.modelValue,focused:!1,attachOpen:!1,recording:!1,recordingElapsed:0,recorder:null,kbOffset:0}},computed:{canSend(){return!this.disabled&&!!this.local.trim()},expanded(){return this.focused||!!this.local.trim()||this.attachOpen||this.recording},attachItems(){return Ys.map(e=>({...e,label:this.t(e.labelKey),disabled:e.action==="screenshot"&&!ee||e.action==="record"&&(!ee||!le)}))},recordingElapsedLabel(){const e=Math.floor(this.recordingElapsed/1e3),t=Math.floor(e/60),s=e%60;return`${t}:${s.toString().padStart(2,"0")}`}},watch:{modelValue(e){e!==this.local&&(this.local=e,this.$nextTick(()=>this.autosize()))},local(e){this.$emit("update:modelValue",e)}},mounted(){this.autosize(),this.displayMode==="sheet"&&this.setupKeyboardTracking()},beforeUnmount(){if(this.recorder)try{this.recorder.stop()}catch{}this.teardownKeyboardTracking()},methods:{focus(){const e=this.$refs.inputEl;if(!(!e||this.disabled))try{e.focus({preventScroll:!0})}catch{e.focus()}},onFocus(){this.focused=!0,this.$emit("focus"),this.$nextTick(()=>this.autosize())},onBlur(){this.focused=!1,this.$emit("blur"),this.$nextTick(()=>this.autosize())},onSubmit(){if(!this.canSend)return;const e=this.local.trim();this.local="",this.$emit("send",e),this.$nextTick(()=>this.autosize())},onKeydown(e){e.key==="Enter"&&!e.shiftKey&&!e.ctrlKey&&!e.metaKey&&!e.isComposing&&(e.preventDefault(),this.onSubmit())},autosize(){const e=this.$refs.inputEl;if(!e||e.clientWidth<80)return;e.style.height="auto",e.style.minHeight="0px";const t=e.scrollHeight;e.style.minHeight="",e.style.height=t>62?`${Math.min(t,120)}px`:""},onFile(e){const t=Array.from(e.target.files||[]);for(const s of t)this.$emit("attach",s);e.target.value=""},onAttachAction(e){this.attachOpen=!1,e==="file"?this.pickFile():e==="screenshot"?this.captureScreenshot():e==="record"&&this.startRecording()},pickFile(){var e;(e=this.$refs.fileEl)==null||e.click()},async captureScreenshot(){if(this.disabled)return;const e=await We();e&&this.$emit("attach",e)},async startRecording(){if(this.recording||this.disabled)return;this.recordingElapsed=0;const e=await Ge({onstart:()=>{this.recording=!0},ontick:t=>{this.recordingElapsed=t},onfinalize:t=>{this.$emit("attach",t),this.recording=!1,this.recordingElapsed=0,this.recorder=null},oncancel:()=>{this.recording=!1,this.recordingElapsed=0,this.recorder=null}});e&&(this.recorder=e)},stopRecording(){if(this.recorder)try{this.recorder.stop()}catch(e){console.error("[composer] stop recording",e)}},setupKeyboardTracking(){const e=window.visualViewport;e&&(this._vvHandler=()=>{const t=Math.max(0,window.innerHeight-e.height-e.offsetTop);this.kbOffset=t},e.addEventListener("resize",this._vvHandler),e.addEventListener("scroll",this._vvHandler))},teardownKeyboardTracking(){const e=window.visualViewport;!e||!this._vvHandler||(e.removeEventListener("resize",this._vvHandler),e.removeEventListener("scroll",this._vvHandler),this._vvHandler=null)}}},Xs={key:0,class:"wm-rec"},Qs={class:"wm-rec__lbl"},Zs={key:1,class:"wm-compose__menu",role:"menu"},eo=["disabled","onClick"],to={class:"wm-compose__menuIcon"},no={viewBox:"0 0 24 24",width:"14",height:"14","aria-hidden":"true"},ro=["d"],so=["placeholder","disabled"],oo={class:"wm-compose__actions"},ao=["title","aria-label","disabled"],io=["disabled","aria-label"];function lo(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["wm-compose-wrap",{"wm-compose-wrap--sheet":s.displayMode==="sheet"}]),style:n.normalizeStyle(a.kbOffset?{transform:`translateY(-${a.kbOffset}px)`}:null)},[a.recording?(n.openBlock(),n.createElementBlock("div",Xs,[t[11]||(t[11]=n.createElementVNode("span",{class:"wm-rec__dot","aria-hidden":"true"},null,-1)),n.createElementVNode("span",Qs,n.toDisplayString(r.t("composer.recording",{time:r.recordingElapsedLabel})),1),n.createElementVNode("button",{type:"button",class:"wm-rec__stop",onClick:t[0]||(t[0]=(...i)=>r.stopRecording&&r.stopRecording(...i))},n.toDisplayString(r.t("composer.stop")),1)])):n.createCommentVNode("",!0),n.createElementVNode("form",{class:n.normalizeClass(["wm-compose",{"has-attach":a.attachOpen,"is-expanded":r.expanded}]),onSubmit:t[10]||(t[10]=n.withModifiers((...i)=>r.onSubmit&&r.onSubmit(...i),["prevent"]))},[n.createElementVNode("input",{ref:"fileEl",type:"file",hidden:"",multiple:"",onChange:t[1]||(t[1]=(...i)=>r.onFile&&r.onFile(...i))},null,544),a.attachOpen?(n.openBlock(),n.createElementBlock("div",{key:0,class:"wm-compose__overlay",onClick:t[2]||(t[2]=i=>a.attachOpen=!1)})):n.createCommentVNode("",!0),a.attachOpen?(n.openBlock(),n.createElementBlock("div",Zs,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.attachItems,i=>(n.openBlock(),n.createElementBlock("button",{key:i.action,type:"button",class:"wm-compose__menuItem",disabled:i.disabled,onClick:l=>r.onAttachAction(i.action)},[n.createElementVNode("span",to,[(n.openBlock(),n.createElementBlock("svg",no,[n.createElementVNode("path",{d:i.path,stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round",fill:"none"},null,8,ro)]))]),n.createElementVNode("span",null,n.toDisplayString(i.label),1)],8,eo))),128))])):n.createCommentVNode("",!0),n.withDirectives(n.createElementVNode("textarea",{ref:"inputEl","onUpdate:modelValue":t[3]||(t[3]=i=>a.local=i),class:"wm-compose__input",rows:"1",placeholder:s.placeholder,disabled:s.disabled,onKeydown:t[4]||(t[4]=(...i)=>r.onKeydown&&r.onKeydown(...i)),onInput:t[5]||(t[5]=(...i)=>r.autosize&&r.autosize(...i)),onFocus:t[6]||(t[6]=(...i)=>r.onFocus&&r.onFocus(...i)),onBlur:t[7]||(t[7]=(...i)=>r.onBlur&&r.onBlur(...i))},null,40,so),[[n.vModelText,a.local]]),n.createElementVNode("div",oo,[n.createElementVNode("button",{type:"button",class:n.normalizeClass(["wm-compose__icon",{"is-open":a.attachOpen}]),title:s.attachLabel,"aria-label":s.attachLabel,disabled:a.recording,onMousedown:t[8]||(t[8]=n.withModifiers(()=>{},["prevent"])),onClick:t[9]||(t[9]=i=>a.attachOpen=!a.attachOpen)},[...t[12]||(t[12]=[n.createElementVNode("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M21.44 11.05l-9.19 9.19a6 6 0 01-8.49-8.49l9.19-9.19a4 4 0 015.66 5.66l-9.2 9.19a2 2 0 01-2.83-2.83l8.49-8.48"})],-1)])],42,ao),n.createElementVNode("button",{type:"submit",class:n.normalizeClass(["wm-compose__send",{"is-empty":!r.canSend}]),disabled:!r.canSend,"aria-label":r.t("composer.send")},[...t[13]||(t[13]=[n.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z"})],-1)])],10,io)])],34)],6)}const $e=A(Js,[["render",lo],["__scopeId","data-v-a9738520"]]),co={name:"WmInlineCallbacks",props:{items:{type:Array,default:()=>[]},variant:{type:String,default:"chips",validator:e=>e==="chips"||e==="buttons"},baseDelay:{type:Number,default:360},stepDelay:{type:Number,default:90}},emits:["select"],computed:{batchKey(){return this.items.map(e=>(e==null?void 0:e.label)||(e==null?void 0:e.text)||"").join("§")},headerTitle(){if(this.variant!=="buttons")return"";const e=this.items.find(t=>typeof(t==null?void 0:t.title)=="string"&&t.title.trim());return e?e.title.trim():""}},methods:{btnClass(e){return this.variant==="chips"?"wm-icb__btn--chip":["wm-icb__btn--action",`wm-icb__btn--${(e==null?void 0:e.style)||"neutral"}`]}}},uo=["onClick"],mo={key:0,class:"wm-icb__title"},ho={class:"wm-icb__row"},fo=["onClick"];function go(e,t,s,o,a,r){return s.items.length?(n.openBlock(),n.createElementBlock("div",{key:r.batchKey,class:n.normalizeClass(["wm-icb",`wm-icb--${s.variant}`])},[s.variant==="chips"?(n.openBlock(!0),n.createElementBlock(n.Fragment,{key:0},n.renderList(s.items,(i,l)=>(n.openBlock(),n.createElementBlock("button",{key:i.id!=null?i.id:l,type:"button",class:"wm-icb__btn wm-icb__btn--chip",style:n.normalizeStyle({animationDelay:s.baseDelay+l*s.stepDelay+"ms"}),onClick:m=>e.$emit("select",i)},n.toDisplayString(i.label),13,uo))),128)):(n.openBlock(),n.createElementBlock(n.Fragment,{key:1},[r.headerTitle?(n.openBlock(),n.createElementBlock("div",mo,n.toDisplayString(r.headerTitle),1)):n.createCommentVNode("",!0),n.createElementVNode("div",ho,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(s.items,(i,l)=>(n.openBlock(),n.createElementBlock("button",{key:i.id!=null?i.id:l,type:"button",class:n.normalizeClass(["wm-icb__btn",r.btnClass(i)]),onClick:m=>e.$emit("select",i)},n.toDisplayString(i.label),11,fo))),128))])],64))],2)):n.createCommentVNode("",!0)}const Ye=A(co,[["render",go],["__scopeId","data-v-c8cc8cbf"]]);let ke=0;const po=new Set(["text","textarea","number","boolean","select","multiselect","date"]),_o={name:"WmFormCard",components:{AIAvatar:Y},inject:{t:{default:()=>T()}},props:{form:{type:Object,required:!0},readOnly:{type:Boolean,default:!1},initialValues:{type:Object,default:null},agentName:{type:String,default:""},agentAvatarUrl:{type:String,default:null}},emits:["submit"],data(){return ke+=1,{_uid:ke,values:{},busy:!1,error:""}},computed:{normalizedFields(){var t;return(Array.isArray((t=this.form)==null?void 0:t.fields)?this.form.fields:[]).filter(s=>!(!(s!=null&&s.key)||!(s!=null&&s.label)||!po.has(s==null?void 0:s.type)||(s.type==="select"||s.type==="multiselect")&&(!Array.isArray(s.options)||s.options.length===0)))}},created(){this.resetValues()},methods:{resetValues(){const e=this.initialValues&&typeof this.initialValues=="object"?this.initialValues:{},t={};for(const s of this.normalizedFields){if(e[s.key]!==void 0){t[s.key]=e[s.key];continue}s.type==="boolean"?t[s.key]=!1:s.type==="multiselect"?t[s.key]=[]:t[s.key]=""}this.values=t,this.error=""},toggleMulti(e,t,s){const o=Array.isArray(this.values[e])?this.values[e].slice():[],a=o.indexOf(t);s&&a===-1?o.push(t):!s&&a!==-1&&o.splice(a,1),this.values={...this.values,[e]:o}},validate(){for(const e of this.normalizedFields){if(!e.required)continue;const t=this.values[e.key];if(e.type!=="boolean"){if(e.type==="multiselect"){if(!Array.isArray(t)||t.length===0)return this.t("form.fieldRequired",{label:e.label});continue}if(t==null||t==="")return this.t("form.fieldRequired",{label:e.label})}}return""},async onSubmit(){if(this.readOnly||this.busy)return;const e=this.validate();if(e){this.error=e;return}this.error="",this.busy=!0;try{await this.$emit("submit",{values:this.values})}finally{this.busy=!1}}}},yo={class:"wm-form"},vo={class:"wm-form__head"},wo={class:"wm-form__icon"},ko={class:"wm-form__main"},bo={class:"wm-form__title"},Co={key:0,class:"wm-form__detail"},Eo=["for"],Bo={key:0,class:"wm-form__req","aria-hidden":"true"},So=["id","onUpdate:modelValue","placeholder","required","disabled"],No=["id","onUpdate:modelValue","placeholder","required","disabled"],Ao=["id","onUpdate:modelValue","placeholder","required","disabled"],Vo=["id","onUpdate:modelValue","required","disabled"],To={key:4,class:"wm-form__bool"},Mo=["id","onUpdate:modelValue","disabled"],xo=["id","onUpdate:modelValue","required","disabled"],Lo={value:"",disabled:""},Ro=["value"],Do={key:6,class:"wm-form__multi"},Oo=["value","checked","disabled","onChange"],Io={key:0,class:"wm-form__err"},Fo=["disabled"],Po={key:0,class:"wm-form__spinner","aria-hidden":"true"},zo={key:2,class:"wm-form__doneLbl"};function Uo(e,t,s,o,a,r){const i=n.resolveComponent("AIAvatar");return n.openBlock(),n.createElementBlock("div",yo,[n.createElementVNode("div",vo,[n.createElementVNode("div",wo,[n.createVNode(i,{size:24,name:s.agentName,"image-url":s.agentAvatarUrl},null,8,["name","image-url"])]),n.createElementVNode("div",ko,[n.createElementVNode("div",bo,n.toDisplayString(s.form.title||r.t("form.title")),1),s.form.description?(n.openBlock(),n.createElementBlock("div",Co,n.toDisplayString(s.form.description),1)):n.createCommentVNode("",!0)])]),n.createElementVNode("form",{class:"wm-form__body",onSubmit:t[0]||(t[0]=n.withModifiers((...l)=>r.onSubmit&&r.onSubmit(...l),["prevent"]))},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.normalizedFields,l=>(n.openBlock(),n.createElementBlock("div",{key:l.key,class:"wm-form__field"},[n.createElementVNode("label",{for:`wm-f-${a._uid}-${l.key}`,class:"wm-form__label"},[n.createTextVNode(n.toDisplayString(l.label),1),l.required?(n.openBlock(),n.createElementBlock("span",Bo,"*")):n.createCommentVNode("",!0)],8,Eo),l.type==="text"?n.withDirectives((n.openBlock(),n.createElementBlock("input",{key:0,id:`wm-f-${a._uid}-${l.key}`,"onUpdate:modelValue":m=>a.values[l.key]=m,type:"text",class:"wm-form__input",placeholder:l.placeholder||"",required:l.required,disabled:s.readOnly||a.busy},null,8,So)),[[n.vModelText,a.values[l.key]]]):l.type==="textarea"?n.withDirectives((n.openBlock(),n.createElementBlock("textarea",{key:1,id:`wm-f-${a._uid}-${l.key}`,"onUpdate:modelValue":m=>a.values[l.key]=m,class:"wm-form__textarea",rows:"3",placeholder:l.placeholder||"",required:l.required,disabled:s.readOnly||a.busy},null,8,No)),[[n.vModelText,a.values[l.key]]]):l.type==="number"?n.withDirectives((n.openBlock(),n.createElementBlock("input",{key:2,id:`wm-f-${a._uid}-${l.key}`,"onUpdate:modelValue":m=>a.values[l.key]=m,type:"number",class:"wm-form__input",placeholder:l.placeholder||"",required:l.required,disabled:s.readOnly||a.busy},null,8,Ao)),[[n.vModelText,a.values[l.key],void 0,{number:!0}]]):l.type==="date"?n.withDirectives((n.openBlock(),n.createElementBlock("input",{key:3,id:`wm-f-${a._uid}-${l.key}`,"onUpdate:modelValue":m=>a.values[l.key]=m,type:"date",class:"wm-form__input",required:l.required,disabled:s.readOnly||a.busy},null,8,Vo)),[[n.vModelText,a.values[l.key]]]):l.type==="boolean"?(n.openBlock(),n.createElementBlock("label",To,[n.withDirectives(n.createElementVNode("input",{id:`wm-f-${a._uid}-${l.key}`,"onUpdate:modelValue":m=>a.values[l.key]=m,type:"checkbox",disabled:s.readOnly||a.busy},null,8,Mo),[[n.vModelCheckbox,a.values[l.key]]]),n.createElementVNode("span",null,n.toDisplayString(l.placeholder||r.t("common.yes")),1)])):l.type==="select"?n.withDirectives((n.openBlock(),n.createElementBlock("select",{key:5,id:`wm-f-${a._uid}-${l.key}`,"onUpdate:modelValue":m=>a.values[l.key]=m,class:"wm-form__select",required:l.required,disabled:s.readOnly||a.busy},[n.createElementVNode("option",Lo,n.toDisplayString(l.placeholder||r.t("form.choose")),1),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(l.options,m=>(n.openBlock(),n.createElementBlock("option",{key:m.value,value:m.value},n.toDisplayString(m.label),9,Ro))),128))],8,xo)),[[n.vModelSelect,a.values[l.key]]]):l.type==="multiselect"?(n.openBlock(),n.createElementBlock("div",Do,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(l.options,m=>(n.openBlock(),n.createElementBlock("label",{key:m.value,class:"wm-form__multiItem"},[n.createElementVNode("input",{type:"checkbox",value:m.value,checked:Array.isArray(a.values[l.key])&&a.values[l.key].includes(m.value),disabled:s.readOnly||a.busy,onChange:y=>r.toggleMulti(l.key,m.value,y.target.checked)},null,40,Oo),n.createElementVNode("span",null,n.toDisplayString(m.label),1)]))),128))])):n.createCommentVNode("",!0)]))),128)),a.error?(n.openBlock(),n.createElementBlock("div",Io,n.toDisplayString(a.error),1)):n.createCommentVNode("",!0),s.readOnly?(n.openBlock(),n.createElementBlock("div",zo,n.toDisplayString(r.t("form.responseSent")),1)):(n.openBlock(),n.createElementBlock("button",{key:1,type:"submit",class:"wm-form__submit",disabled:a.busy},[a.busy?(n.openBlock(),n.createElementBlock("span",Po)):n.createCommentVNode("",!0),n.createElementVNode("span",null,n.toDisplayString(a.busy?r.t("common.sending"):s.form.submit_label||r.t("common.send")),1)],8,Fo))],32)])}const Je=A(_o,[["render",Uo],["__scopeId","data-v-fe65cc56"]]),Ho={name:"WmFeedback",inject:{t:{default:()=>T()}},props:{busy:{type:Boolean,default:!1},done:{type:Boolean,default:!1}},emits:["submit"],data(){return{sel:null}},computed:{options(){return[{v:1,e:"😞",l:this.t("feedback.rating1")},{v:2,e:"😐",l:this.t("feedback.rating2")},{v:3,e:"🙂",l:this.t("feedback.rating3")},{v:4,e:"😄",l:this.t("feedback.rating4")},{v:5,e:"🤩",l:this.t("feedback.rating5")}]}},methods:{onSend(){!this.sel||this.busy||this.$emit("submit",{rating:this.sel})}}},jo={class:"wm-fb"},qo={class:"wm-fb__title"},Ko={class:"wm-fb__sub"},Wo={class:"wm-fb__row"},Go=["onClick"],$o={class:"wm-fb__emoji"},Yo={class:"wm-fb__label"},Jo=["disabled"],Xo={key:1,class:"wm-fb__done"},Qo={class:"wm-fb__doneTitle"},Zo={class:"wm-fb__doneSub"};function ea(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",jo,[s.done?(n.openBlock(),n.createElementBlock("div",Xo,[t[1]||(t[1]=n.createElementVNode("div",{class:"wm-fb__check"},[n.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"#fff","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M20 6L9 17l-5-5"})])],-1)),n.createElementVNode("div",Qo,n.toDisplayString(r.t("feedback.doneTitle")),1),n.createElementVNode("div",Zo,n.toDisplayString(r.t("feedback.doneSubtitle")),1)])):(n.openBlock(),n.createElementBlock(n.Fragment,{key:0},[n.createElementVNode("div",qo,n.toDisplayString(r.t("feedback.question")),1),n.createElementVNode("div",Ko,n.toDisplayString(r.t("feedback.subtitle")),1),n.createElementVNode("div",Wo,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(r.options,i=>(n.openBlock(),n.createElementBlock("button",{key:i.v,type:"button",class:n.normalizeClass(["wm-fb__opt",{"is-selected":a.sel===i.v}]),onClick:l=>a.sel=i.v},[n.createElementVNode("span",$o,n.toDisplayString(i.e),1),n.createElementVNode("span",Yo,n.toDisplayString(i.l),1)],10,Go))),128))]),n.createElementVNode("button",{type:"button",class:"wm-fb__send",disabled:!a.sel||s.busy,onClick:t[0]||(t[0]=(...i)=>r.onSend&&r.onSend(...i))},n.toDisplayString(s.busy?r.t("common.sending"):r.t("feedback.submit")),9,Jo)],64))])}const Xe=A(Ho,[["render",ea],["__scopeId","data-v-9b630564"]]),ta={name:"WmMoreMenu",inject:{t:{default:()=>T()}},props:{canRename:{type:Boolean,default:!0},canExport:{type:Boolean,default:!0},soundEnabled:{type:Boolean,default:!0},statusUrl:{type:String,default:""},helpUrl:{type:String,default:""}},emits:["close","action","sound-toggle"],data(){return{soundOn:this.soundEnabled}},watch:{soundEnabled(e){this.soundOn=!!e}},methods:{emit(e){this.$emit("action",e)},toggleSound(){this.soundOn=!this.soundOn,this.$emit("sound-toggle",this.soundOn)}}},na={class:"wm-mm"},ra={class:"wm-mm__pop",role:"menu"},sa={key:0,class:"wm-mm__section"},oa={class:"wm-mm__label"},aa={class:"wm-mm__label"},ia={key:1,class:"wm-mm__sep"},la={class:"wm-mm__section"},ca={class:"wm-mm__label"},da={class:"wm-mm__section"},ua={class:"wm-mm__label"},ma={class:"wm-mm__label"};function ha(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",na,[n.createElementVNode("div",{class:"wm-mm__scrim",onClick:t[0]||(t[0]=i=>e.$emit("close"))}),n.createElementVNode("div",ra,[s.canRename||s.canExport?(n.openBlock(),n.createElementBlock("div",sa,[s.canRename?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"wm-mm__item",onClick:t[1]||(t[1]=i=>r.emit("rename"))},[t[6]||(t[6]=n.createElementVNode("span",{class:"wm-mm__icon"},[n.createElementVNode("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M12 20h9"}),n.createElementVNode("path",{d:"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z"})])],-1)),n.createElementVNode("span",oa,n.toDisplayString(r.t("moreMenu.editTitle")),1)])):n.createCommentVNode("",!0),s.canExport?(n.openBlock(),n.createElementBlock("button",{key:1,type:"button",class:"wm-mm__item",onClick:t[2]||(t[2]=i=>r.emit("export"))},[t[7]||(t[7]=n.createElementVNode("span",{class:"wm-mm__icon"},[n.createElementVNode("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M4 12v8a2 2 0 002 2h12a2 2 0 002-2v-8M16 6l-4-4-4 4M12 2v13"})])],-1)),n.createElementVNode("span",aa,n.toDisplayString(r.t("moreMenu.exportTranscript")),1),t[8]||(t[8]=n.createElementVNode("span",{class:"wm-mm__hint"},".txt",-1))])):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0),s.canRename||s.canExport?(n.openBlock(),n.createElementBlock("div",ia)):n.createCommentVNode("",!0),n.createElementVNode("div",la,[n.createElementVNode("button",{type:"button",class:"wm-mm__item",onClick:t[3]||(t[3]=(...i)=>r.toggleSound&&r.toggleSound(...i))},[t[10]||(t[10]=n.createElementVNode("span",{class:"wm-mm__icon"},[n.createElementVNode("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M11 5L6 9H2v6h4l5 4V5z"}),n.createElementVNode("path",{d:"M15.54 8.46a5 5 0 010 7.07M19.07 4.93a10 10 0 010 14.14"})])],-1)),n.createElementVNode("span",ca,n.toDisplayString(r.t("moreMenu.sound")),1),n.createElementVNode("span",{class:n.normalizeClass(["wm-mm__toggle",{"wm-mm__toggle--on":a.soundOn}])},[...t[9]||(t[9]=[n.createElementVNode("span",{class:"wm-mm__knob"},null,-1)])],2)])]),t[13]||(t[13]=n.createElementVNode("div",{class:"wm-mm__sep"},null,-1)),n.createElementVNode("div",da,[s.statusUrl?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"wm-mm__item",onClick:t[4]||(t[4]=i=>r.emit("status"))},[t[11]||(t[11]=n.createElementVNode("span",{class:"wm-mm__icon"},[n.createElementVNode("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zM10 6v4l3 2"})])],-1)),n.createElementVNode("span",ua,n.toDisplayString(r.t("moreMenu.serviceStatus")),1)])):n.createCommentVNode("",!0),s.helpUrl?(n.openBlock(),n.createElementBlock("button",{key:1,type:"button",class:"wm-mm__item",onClick:t[5]||(t[5]=i=>r.emit("help"))},[t[12]||(t[12]=n.createElementVNode("span",{class:"wm-mm__icon"},[n.createElementVNode("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M9 11a3 3 0 116 0c0 2-3 2-3 5M12 19h.01M12 22a10 10 0 110-20 10 10 0 010 20z"})])],-1)),n.createElementVNode("span",ma,n.toDisplayString(r.t("moreMenu.helpCenter")),1)])):n.createCommentVNode("",!0)])])])}const Qe=A(ta,[["render",ha],["__scopeId","data-v-4cf6d578"]]),fa={name:"WmRenameDialog",inject:{t:{default:()=>T()}},props:{title:{type:String,default:""},initialValue:{type:String,default:""},placeholder:{type:String,default:""}},emits:["close","submit"],data(){return{value:this.initialValue||""}},computed:{canSubmit(){const e=(this.value||"").trim();return!!e&&e!==(this.initialValue||"").trim()}},mounted(){this.$nextTick(()=>{const e=this.$refs.input;if(e){e.focus();try{e.select()}catch{}}})},methods:{onSubmit(){this.canSubmit&&this.$emit("submit",this.value.trim())}}},ga={class:"wm-dialog"},pa={class:"wm-dialog__card",role:"dialog","aria-modal":"true"},_a={class:"wm-dialog__head"},ya={class:"wm-dialog__title"},va=["aria-label"],wa={class:"wm-dialog__body"},ka=["placeholder"],ba={class:"wm-dialog__actions"},Ca=["disabled"];function Ea(e,t,s,o,a,r){return n.openBlock(),n.createElementBlock("div",ga,[n.createElementVNode("div",{class:"wm-dialog__scrim",onClick:t[0]||(t[0]=i=>e.$emit("close"))}),n.createElementVNode("div",pa,[n.createElementVNode("div",_a,[n.createElementVNode("div",ya,n.toDisplayString(s.title||r.t("rename.title")),1),n.createElementVNode("button",{type:"button",class:"wm-dialog__close","aria-label":r.t("common.close"),onClick:t[1]||(t[1]=i=>e.$emit("close"))},[...t[7]||(t[7]=[n.createElementVNode("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,va)]),n.createElementVNode("div",wa,[n.withDirectives(n.createElementVNode("input",{ref:"input","onUpdate:modelValue":t[2]||(t[2]=i=>a.value=i),type:"text",class:"wm-dialog__input",placeholder:s.placeholder||r.t("rename.placeholder"),maxlength:120,onKeydown:[t[3]||(t[3]=n.withKeys(n.withModifiers((...i)=>r.onSubmit&&r.onSubmit(...i),["prevent"]),["enter"])),t[4]||(t[4]=n.withKeys(n.withModifiers(i=>e.$emit("close"),["prevent"]),["esc"]))]},null,40,ka),[[n.vModelText,a.value]])]),n.createElementVNode("div",ba,[n.createElementVNode("button",{type:"button",class:"wm-dialog__btn",onClick:t[5]||(t[5]=i=>e.$emit("close"))},n.toDisplayString(r.t("common.cancel")),1),n.createElementVNode("button",{type:"button",class:"wm-dialog__btn wm-dialog__btn--primary",disabled:!r.canSubmit,onClick:t[6]||(t[6]=(...i)=>r.onSubmit&&r.onSubmit(...i))},n.toDisplayString(r.t("common.save")),9,Ca)])])])}const Ba=A(fa,[["render",Ea],["__scopeId","data-v-6d5f94a8"]]),be="ww-messenger-tokens",Sa={name:"Messenger",components:{Launcher:Me,Header:Le,Onboarding:Re,History:cr,MessageList:je,Composer:$e,InlineCallbacks:Ye,FormCard:Je,Feedback:Xe,MoreMenu:Qe,RenameDialog:Ba},mixins:[_t,yt,wt],provide(){return{signAttachmentFn:e=>{var t,s;return((s=(t=this.store)==null?void 0:t.signAttachment)==null?void 0:s.call(t,e))||null},t:(e,t)=>this.t(e,t),wmLocale:()=>this.locale}},props:{baseUrl:{type:String,default:Se},widgetId:{type:String,default:""},context:{type:Object,default:null},displayMode:{type:String,default:"floating"},devtools:{type:Boolean,default:!1},language:{type:String,default:""}},data(){return{transport:null,store:null,isOpen:!1,launcherHovered:!1,draft:"",busy:!1,bootError:null,pendingAttachments:[],feedbackBusy:!1,feedbackDone:{},convOpenedAt:0,moreOpen:!1,renameDialogOpen:!1,draftConv:null,launching:!1,launchStage:"idle",pendingLaunchText:"",reopenedLocally:{},activeConvId:null,showOnboarding:!1,showHistory:!1,backToHistory:!1,welcomeRevealedAt:{},welcomeRevealTimers:{},dismissedPeeks:{},floatHeight:0,floatRO:null,parentOrigin:"",parentToken:"",parentVariables:null,parentAllowUnauthenticated:!1,parentInitReceived:!1,parentInitDeferred:null}},computed:{isEditor(){return!!this.devtools},isEmbedded(){return this.displayMode==="embedded"},customerLanguage(){var s,o,a,r;const e=(s=this.s)==null?void 0:s.customer,t=e&&(e.language||((o=e.values)==null?void 0:o.language));return t||((r=(a=this.context)==null?void 0:a.customer)==null?void 0:r.language)||""},locale(){var e;return ie(this.language||this.customerLanguage||((e=this.widget)==null?void 0:e.default_language)||"")},translator(){return T(this.locale)},error(){var e;return this.bootError||((e=this.s)==null?void 0:e.error)||null},canBoot(){return!!(this.baseUrl&&this.widgetId)},s(){var e;return((e=this.store)==null?void 0:e.state)||null},ready(){var e;return!!((e=this.s)!=null&&e.ready)},allConversations(){var t;const e=(t=this.s)==null?void 0:t.conversations;return Array.isArray(e)?e:[]},drawerConversations(){var s;const e=((s=this.s)==null?void 0:s.messagesByConv)||{},t=this.revealedAt;return this.allConversations.map(o=>{var y;const a=e[o.id]||[],r=O(o.last_read_message_id);let i=0,l=null;for(let g=a.length-1;g>=0;g--){const b=a[g];if(!b)continue;if(((y=b.author)==null?void 0:y.type)==="user")break;const N=O(b.id);if(N!=null){if(r!=null&&N<=r)break;t[b.id]!==0&&(!l&&b.author&&(l=b.author),i++)}}if(!a.length){const g=O(o.last_message_id);g!=null&&(r==null||g>r)&&(i=1,l=o.last_message_author||null)}const m=a.filter(g=>!((g==null?void 0:g.id)!=null&&t[g.id]===0));return{...o,_preview:ht(o,m),_unread:i>0,_unreadCount:i,_lastAuthor:l}})},unreadCount(){return this.drawerConversations.filter(e=>e._unread).length},openThreads(){var t;const e=((t=this.s)==null?void 0:t.messagesByConv)||{};return this.drawerConversations.filter(s=>{const o=this.convStatus(s);return o!=="resolved"&&o!=="closed"}).map(s=>({id:s.id,title:s.name||this.t("common.newConversation"),preview:s._preview||this.t("onboarding.newMessage"),unread:!!s._unread,author:s._lastAuthor||null,_ts:ve(s,e[s.id]||[])})).sort((s,o)=>s._ts<o._ts?1:s._ts>o._ts?-1:0)},latestUnreads(){var s;const e=((s=this.s)==null?void 0:s.messagesByConv)||{},t=[];for(const o of this.drawerConversations){if(!o._unread)continue;const a=ve(o,e[o.id]||[]),r=o._lastAuthor,i=!r||r.type==="agent_ia",l=(r==null?void 0:r.name)||(i?this.agentName:"")||"",m=(r==null?void 0:r.avatar_url)||(i?this.agentAvatarUrl:null);t.push({convId:o.id,preview:o._preview||this.t("notification.youHaveNewMessage"),ts:a,count:o._unreadCount||1,senderName:l,senderAvatarUrl:m})}return t.sort((o,a)=>o.ts<a.ts?1:o.ts>a.ts?-1:0),t},launcherPeeks(){if(this.isOpen||this.isEmbedded)return[];const e=this.dismissedPeeks||{};return this.latestUnreads.filter(t=>e[t.convId]!==t.ts)},isViewingThread(){return(this.isOpen||this.isEmbedded)&&!!this.currentConv},currentConv(){if(this.draftConv)return this.draftConv;if(this.showOnboarding||this.showHistory)return null;const e=this.allConversations;if(!e.length)return null;if(this.activeConvId!=null){const t=e.find(s=>s.id===this.activeConvId);if(t)return t}return e[0]||null},canBack(){return!!this.currentConv||this.showHistory},statusUrl(){var s;const e=(s=this.widget)==null?void 0:s.quick_links;if(!Array.isArray(e))return"";const t=e.find(o=>o.icon==="status"&&o.url);return(t==null?void 0:t.url)||""},helpUrl(){var s;const e=(s=this.widget)==null?void 0:s.quick_links;if(!Array.isArray(e))return"";const t=e.find(o=>(o.icon==="chat"||o.icon==="help")&&o.url);return(t==null?void 0:t.url)||""},widget(){var e,t;return((t=(e=this.s)==null?void 0:e.config)==null?void 0:t.widget)||null},rootStyle(){var t;const e=(t=this.widget)==null?void 0:t.primary_color;return e&&dt(e)?{"--wm-primary":e}:null},widgetTitle(){var e;return((e=this.widget)==null?void 0:e.title)||""},widgetWelcomeMessage(){var e;return((e=this.widget)==null?void 0:e.welcome_message)||""},widgetSubtitle(){var e;return((e=this.widget)==null?void 0:e.subtitle)||""},defaultIconUrl(){var e;return((e=this.widget)==null?void 0:e.default_icon_url)||null},coverImageUrl(){var e;return((e=this.widget)==null?void 0:e.cover_image_url)||null},agentName(){var e,t,s;return((s=(t=(e=this.s)==null?void 0:e.config)==null?void 0:t.agent)==null?void 0:s.name)||""},agentAvatarUrl(){var e,t,s;return((s=(t=(e=this.s)==null?void 0:e.config)==null?void 0:t.agent)==null?void 0:s.avatar_url)||null},quickLinks(){var t;const e=(t=this.widget)==null?void 0:t.quick_links;return Array.isArray(e)?e:[]},teamMembers(){var t;const e=(t=this.widget)==null?void 0:t.team_members;return Array.isArray(e)?e:[]},responseLabel(){var e;return((e=this.widget)==null?void 0:e.response_time_label)||""},humanMessageAuthor(){var t,s,o;if(!this.currentConv)return null;const e=((t=this.s.messagesByConv)==null?void 0:t[this.currentConv.id])||[];for(let a=e.length-1;a>=0;a--)if(((o=(s=e[a])==null?void 0:s.author)==null?void 0:o.type)==="agent_human")return e[a].author;return null},humanAgentName(){var e;return((e=this.humanMessageAuthor)==null?void 0:e.name)||""},humanAgentAvatarUrl(){var e;return((e=this.humanMessageAuthor)==null?void 0:e.avatar_url)||null},isEscalated(){return!!this.humanMessageAuthor},isWaitingHuman(){return this.currentStatus==="waiting_human_response"},isTerminal(){return this.currentStatus==="resolved"||this.currentStatus==="closed"},isClosed(){return this.currentStatus==="closed"},endedBlockVisible(){var e;return!(!this.isTerminal||this.isClosed&&this.reopenedLocally[(e=this.currentConv)==null?void 0:e.id])},headerTitle(){var e,t;return((e=this.currentConv)==null?void 0:e.name)||((t=this.widget)==null?void 0:t.name)||this.t("common.newConversation")},composerPlaceholder(){return this.isEscalated&&this.humanAgentName?this.t("composer.replyTo",{name:this.humanAgentName.split(" ")[0]}):this.isWaitingHuman?this.t("composer.agentTakingOver"):this.t("composer.placeholder")},displayedMessages(){var a,r;const e=this.currentConv;if(!e)return[];const t=this.welcomeRevealedAt[e.id]>0?this.buildWelcomePrefix(e):[];if(!e._draft){const i=(r=(a=this.s)==null?void 0:a.paginationByConv)==null?void 0:r[e.id];if(!(i!=null&&i.loaded))return t}const s=this.revealedAt,o=(this.s.messagesByConv[e.id]||[]).filter(i=>{var l,m,y,g,b;return(i==null?void 0:i.type)==="action"&&((l=i==null?void 0:i.payload)==null?void 0:l.state)==="pending"||Z(i)&&!(s[i.id]>0)?!1:(i==null?void 0:i.type)==="action"||(i==null?void 0:i.type)==="system"||((m=i==null?void 0:i.payload)==null?void 0:m.type)==="system"||Array.isArray((y=i==null?void 0:i.payload)==null?void 0:y.attachments)&&i.payload.attachments.length||(g=i==null?void 0:i.metadata)!=null&&g.artifact||(b=i==null?void 0:i.metadata)!=null&&b.form||Array.isArray(i==null?void 0:i.callbacks)&&i.callbacks.some(N=>(N==null?void 0:N.intent)==="submit_form")?!0:typeof(i==null?void 0:i.text_md)=="string"&&i.text_md.trim().length>0});return t.length?[...t,...o]:o},streamingActive(){var s,o,a;const e=this.currentConv;return e?Object.keys(((s=this.s)==null?void 0:s.streamingByMsgId)||{}).length>0?!0:this.actionInFlight?!1:this.widgetWelcomeMessage&&this.welcomeRevealedAt[e.id]===0?!0:(((a=(o=this.s)==null?void 0:o.messagesByConv)==null?void 0:a[e.id])||[]).some(r=>Z(r)&&!(this.revealedAt[r.id]>0)):!1},currentConvMessages(){var t,s,o;const e=(t=this.currentConv)==null?void 0:t.id;return e?((o=(s=this.s)==null?void 0:s.messagesByConv)==null?void 0:o[e])||[]:[]},pendingResolution(){var t,s,o,a,r;if(!this.currentConv)return null;const e=((s=(t=this.s)==null?void 0:t.messagesByConv)==null?void 0:s[this.currentConv.id])||[];for(let i=e.length-1;i>=0;i--){const l=e[i];if((o=l==null?void 0:l.metadata)!=null&&o.resolution_request)return!Array.isArray(l.callbacks)||!l.callbacks.length||(r=(a=this.s)==null?void 0:a.awaitingCallback)!=null&&r[l.id]?null:l}return null},resolutionCallbacks(){const e=this.pendingResolution;if(!e||!Array.isArray(e.callbacks))return[];const t={resolve_confirm:this.t("resolution.confirm"),resolve_decline:this.t("resolution.decline")};return e.callbacks.map(s=>({...s,label:t[s.id]||s.label}))},pendingApproval(){var t,s,o,a;if(!this.currentConv)return null;const e=((s=(t=this.s)==null?void 0:t.messagesByConv)==null?void 0:s[this.currentConv.id])||[];for(let r=e.length-1;r>=0;r--){const i=e[r];if(!(!Array.isArray(i==null?void 0:i.callbacks)||!i.callbacks.length||!i.callbacks.some(m=>(m==null?void 0:m.intent)==="approve"&&(m.audience??"customer")==="customer")))return(a=(o=this.s)==null?void 0:o.awaitingCallback)!=null&&a[i.id]?null:i}return null},approvalCallbacks(){const e=this.pendingApproval;return!e||!Array.isArray(e.callbacks)?[]:e.callbacks.filter(t=>(t==null?void 0:t.intent)==="approve"||(t==null?void 0:t.intent)==="reject")},currentStatus(){return this.convStatus(this.currentConv)},actionInFlight(){var e,t;return!this.currentConv||!this.store?null:((t=(e=this.store).getActionInFlight)==null?void 0:t.call(e,this.currentConv.id))||null},actionInFlightName(){var t;const e=this.actionInFlight;return e?((t=e.payload)==null?void 0:t.name)||e.text_md||this.t("common.action"):""},suggestions(){return this.currentConv?this.isTerminal?[]:this.streamingActive?[]:this.pendingForm?[]:this.conversationIsEmpty?this.starterPrompts:this.store?this.store.getLatestSuggestions(this.currentConv.id):[]:[]},conversationIsEmpty(){var s,o;const e=this.currentConv;return e?e._draft?!0:(((o=(s=this.s)==null?void 0:s.messagesByConv)==null?void 0:o[e.id])||[]).length===0:!1},starterPrompts(){var s;const e=(s=this.widget)==null?void 0:s.starter_prompts;if(!Array.isArray(e))return[];const t=[];for(const o of e){if(!o||typeof o!="object")continue;const a=typeof o.title=="string"?o.title.trim():"";if(!a)continue;const r=typeof o.message=="string"?o.message.trim():"";t.push({label:a,text:r||a,kind:"starter"})}return t},pendingForm(){var e,t;return!this.currentConv||!this.store||this.actionInFlight||this.streamingActive?null:((t=(e=this.store).getLatestForm)==null?void 0:t.call(e,this.currentConv.id))||null},showFeedback(){var t;const e=this.currentConv;return!e||this.currentStatus!=="resolved"?!1:this.feedbackDone[e.id]?!0:!((t=e.metadata)!=null&&t.feedback)},floatVisible(){return!!this.pendingApproval||!!this.pendingResolution||!!this.pendingForm||this.showFeedback||this.suggestions.length>0},dateLabel(){var s,o,a;const e=this.currentConv;let t=new Date;if(e){const i=((a=(((o=(s=this.s)==null?void 0:s.messagesByConv)==null?void 0:o[e.id])||[]).find(l=>l==null?void 0:l.created_at))==null?void 0:a.created_at)||e.created_at;if(i){const l=new Date(i);Number.isNaN(l.getTime())||(t=l)}}return this.t("messageList.today",{time:se(t,U(this.locale))})},paginationState(){var s,o,a;const e=(s=this.currentConv)==null?void 0:s.id,t=e?(a=(o=this.s)==null?void 0:o.paginationByConv)==null?void 0:a[e]:null;return{loading:!!(t!=null&&t.loading),hasMore:!!(t!=null&&t.nextCursor)}}},watch:{latestUnreads:{handler(e){const t=new Set(e.map(i=>i.convId)),s=this.dismissedPeeks||{},o=Object.keys(s);if(!o.length)return;const a={};let r=!1;for(const i of o)t.has(i)?a[i]=s[i]:r=!0;r&&(this.dismissedPeeks=a)},deep:!0},"currentConv.id":{handler(e){var t;this.resetRevealQueue(),this.convOpenedAt=Date.now(),this.moreOpen=!1,this.renameDialogOpen=!1,this.isViewingThread&&(this.unreadAnchorId=O((t=this.currentConv)==null?void 0:t.last_read_message_id),this.unreadBoundaryTs=e?new Date().toISOString():""),e&&this.scheduleWelcomeReveal(e)},immediate:!0},isViewingThread(e,t){var s;e&&!t?(this.unreadAnchorId=O((s=this.currentConv)==null?void 0:s.last_read_message_id),this.unreadBoundaryTs=new Date().toISOString()):e||(this.unreadAnchorId=null,this.unreadBoundaryTs="")},floatVisible:{handler(e){this.$nextTick(()=>this.syncFloatObserver(e))},immediate:!0},currentConvMessages(e){var t;this.paceMessages(e,(t=this.currentConv)==null?void 0:t.id),(this.isOpen||this.isEmbedded)&&this.currentConv&&this.markConvRead(this.currentConv)}},async mounted(){if(typeof document<"u"&&!document.getElementById(be)){const e=document.createElement("style");e.id=be,e.textContent=Be,document.head.appendChild(e)}this._parentMessageHandler=this.onParentMessage.bind(this),window.addEventListener("message",this._parentMessageHandler),window.parent&&window.parent!==window&&window.parent.postMessage({type:"READY"},"*"),this.isEmbedded?(await this.boot(),this.store&&await this.open()):(await this.$nextTick(),this.sendCurrentLauncherSize(),this.observeLauncherSize())},beforeUnmount(){this._parentMessageHandler&&(window.removeEventListener("message",this._parentMessageHandler),this._parentMessageHandler=null),this._launcherRo&&(this._launcherRo.disconnect(),this._launcherRo=null),this.cancelReveals(),this.cancelWelcomeTimers(),this.teardownLiveReveal(),this.disconnectFloatRO(),this.teardownNotifications(),this.store&&this.store.destroy()},methods:{convStatus(e){var s,o,a,r;if(!e)return"open";const t=((o=(s=this.s)==null?void 0:s.messagesByConv)==null?void 0:o[e.id])||[];for(let i=t.length-1;i>=0;i--){const l=(r=(a=t[i])==null?void 0:a.metadata)==null?void 0:r.conversation_status;if(l)return l}return e.status||"open"},t(e,t){return this.translator(e,t)},waitForParentInit(){if(this.parentInitReceived)return Promise.resolve();if(!this.parentInitDeferred){let e;this.parentInitDeferred=new Promise(t=>{e=t}),this.parentInitDeferred._resolve=e}return this.parentInitDeferred},onParentMessage(e){var s;const t=e==null?void 0:e.data;if(!(!t||typeof t!="object")){if(t.type==="UPDATE"){this.transport&&t.payload&&this.transport.update(t.payload).catch(o=>{console.warn("[messenger] update failed",o)});return}if(t.type==="CONTEXT"){this.transport&&t.payload&&this.transport.context(t.payload);return}t.type==="INIT"&&(this.parentOrigin=e.origin,this.parentToken=typeof t.token=="string"?t.token:"",this.parentVariables=t.variables&&typeof t.variables=="object"?t.variables:t.context&&typeof t.context=="object"?t.context:null,this.parentAllowUnauthenticated=t.allowUnauthenticated===!0,this.parentInitReceived=!0,(s=this.parentInitDeferred)!=null&&s._resolve&&this.parentInitDeferred._resolve(),!this.isEmbedded&&!this.isOpen&&!this.parentAllowUnauthenticated&&this.parentToken&&this.hasValidSessionMarker()&&this.boot().catch(o=>{console.warn("[messenger] eager boot failed",o)}))}},hasValidSessionMarker(){if(typeof document>"u")return!1;const t=(document.cookie||"").match(/(?:^|; )messenger_session_marker=([^;]+)/);if(!t)return!1;const s=parseInt(t[1],10);return Number.isFinite(s)?s>Date.now():!1},async boot(){if(!this.canBoot){console.warn("[messenger] boot skipped — missing creds");return}try{await this.waitForParentInit(),this.transport=n.markRaw(Ce({baseUrl:this.baseUrl,widgetId:this.widgetId})),this.store=n.markRaw(Ee(this.transport)),this.hydrateNotifPref();const e=this.parentVariables||this.context||null;if(await this.store.start({origin:this.parentOrigin,token:this.parentToken||void 0,allowUnauthenticated:this.parentAllowUnauthenticated,variables:e&&typeof e=="object"?e:void 0}),e&&typeof e=="object"){const t={};for(const[s,o]of Object.entries(e))s!=="customer"&&o&&typeof o=="object"&&!Array.isArray(o)&&(t[s]=o);Object.keys(t).length>0&&this.transport.context(t)}this.setupLiveReveal()}catch(e){console.error("[ww-messenger] bootstrap failed",e),this.bootError=(e==null?void 0:e.message)||String(e)}},async refresh(){this.store&&this.store.destroy(),this.cancelReveals(),this.cancelWelcomeTimers(),this.welcomeRevealedAt={},this.teardownLiveReveal(),this.teardownNotifications(),this.convOpenedAt=0,this.transport=null,this.store=null,this.isOpen=!1,this.draft="",this.busy=!1,this.bootError=null,this.pendingAttachments=[],this.feedbackBusy=!1,this.feedbackDone={},this.moreOpen=!1,this.renameDialogOpen=!1,this.draftConv=null,this.activeConvId=null,this.showOnboarding=!1,this.showHistory=!1,this.backToHistory=!1,await this.boot(),this.isEmbedded&&this.store&&await this.open()},syncFloatObserver(e){if(this.disconnectFloatRO(),!e){this.floatHeight=0;return}const t=this.$refs.floatEl;if(t){if(typeof ResizeObserver>"u"){this.floatHeight=Math.ceil(t.getBoundingClientRect().height+8);return}this.floatRO=new ResizeObserver(s=>{const o=s[0];if(!o)return;const a=Math.ceil(o.contentRect.height+8);a!==this.floatHeight&&(this.floatHeight=a,this.$nextTick(()=>{var r,i;(i=(r=this.$refs.messageList)==null?void 0:r.keepPinnedToBottom)==null||i.call(r)}))}),this.floatRO.observe(t)}},disconnectFloatRO(){if(this.floatRO){try{this.floatRO.disconnect()}catch{}this.floatRO=null}},async open(){this.isOpen=!0,this.notifyParentResize("open"),this._launcherRo&&this._launcherRo.disconnect(),this.store||await this.boot(),this.store&&this.store.setPanelOpen(!0);const e=this.currentConv;if(e&&!e._draft){this.activeConvId==null&&(this.activeConvId=e.id);try{await this.store.openConversation(e.id)}catch(t){console.error("[ww-messenger] load messages failed",t)}this.markConvRead(e)}},async close(){this.isOpen=!1,await this.$nextTick(),this.sendCurrentLauncherSize(),this.observeLauncherSize(),this.store&&this.store.setPanelOpen(!1)},notifyParentResize(e,t){if(window.parent&&window.parent!==window)try{window.parent.postMessage({type:"RESIZE",state:e,displayMode:this.displayMode,...t||{}},"*")}catch(s){console.warn("[ww-messenger] notifyParentResize failed",s)}},onLauncherHover(e){this.launcherHovered=e,this.sendCurrentLauncherSize()},sendCurrentLauncherSize(){var g,b,N,k,x,C,V;if(this.isOpen)return;const e=(b=(g=this.$el)==null?void 0:g.querySelector)==null?void 0:b.call(g,".wm-launcherWrap");if(!e)return;const t=e.getBoundingClientRect();if(!t.width||!t.height)return;const s=(((N=this.launcherPeeks)==null?void 0:N.length)??0)>0,o=16,a=Math.ceil(t.width),r=Math.ceil(t.height),i=(x=(k=this.$el)==null?void 0:k.querySelector)==null?void 0:x.call(k,".wm-launcher"),l=(V=(C=this.$el)==null?void 0:C.querySelectorAll)==null?void 0:V.call(C,".wm-peek"),m=l&&l.length?l[l.length-1]:null;let y=null;if(m){const E=m.getBoundingClientRect();y={width:Math.ceil(E.width),height:Math.ceil(E.height),rightOffset:Math.max(0,Math.ceil(t.right-E.right)),bottomOffset:Math.max(0,Math.ceil(t.bottom-E.bottom))}}this.notifyParentResize("closed",{width:a+o,height:r+o,launcherWidth:(i==null?void 0:i.offsetWidth)||null,launcherHeight:(i==null?void 0:i.offsetHeight)||null,launcherHovered:this.launcherHovered,peek:y,peekHovered:this.launcherHovered&&s})},observeLauncherSize(){var s,o;if(typeof ResizeObserver>"u")return;const e=(o=(s=this.$el)==null?void 0:s.querySelector)==null?void 0:o.call(s,".wm-launcherWrap");if(!e)return;this._launcherRo&&this._launcherRo.disconnect();const t=new ResizeObserver(()=>{this.isOpen||this.sendCurrentLauncherSize()});t.observe(e),this._launcherRo=t},async openFromPeek(e){var s,o;const t=e||((s=this.latestUnreads[0])==null?void 0:s.convId);t&&t!==((o=this.currentConv)==null?void 0:o.id)&&(this.draftConv=null,this.activeConvId=t,this.showOnboarding=!1,this.showHistory=!1,this.backToHistory=!1),await this.open()},dismissPeek(e){const t=this.latestUnreads.find(s=>s.convId===e);t&&(this.dismissedPeeks={...this.dismissedPeeks,[e]:t.ts})},onOnboardingStart(e){this.pendingLaunchText=(e||"").trim(),this.launching=!0,this.launchStage="whiteslide"},onHomeLaunched(){const e=this.pendingLaunchText;this.pendingLaunchText="",this.startConv(),e&&this.$nextTick(()=>this.onSend(e)),this.launchStage="header",window.setTimeout(()=>{this.launching&&(this.launchStage="messages")},520),window.setTimeout(()=>{this.launching=!1,this.launchStage="idle"},1160)},startConv(){this.draftConv={id:"__draft__",_draft:!0,name:"",created_at:new Date().toISOString()},this.activeConvId=null,this.showOnboarding=!1,this.showHistory=!1,this.backToHistory=!1,this.focusComposer()},onReopen(){var t;const e=(t=this.currentConv)==null?void 0:t.id;e&&(this.reopenedLocally={...this.reopenedLocally,[e]:!0},this.focusComposer())},async ensureRealConv(){const e=this.currentConv;if(!e)return null;if(!e._draft)return e;if(this.busy)return null;this.busy=!0;try{const t=await this.store.createConversation({}),s=this.welcomeRevealedAt.__draft__;return s!==void 0&&(this.welcomeRevealedAt={...this.welcomeRevealedAt,[t.id]:s>0?s:Date.now()}),this.draftConv=null,this.activeConvId=t.id,await this.store.openConversation(t.id),this.markConvRead(t),t}catch(t){return console.error("[ww-messenger] create conv failed",t),this.bootError=(t==null?void 0:t.message)||String(t),null}finally{this.busy=!1}},focusComposer(){this.$nextTick(()=>{var e;return(e=this.$refs.composer)==null?void 0:e.focus()})},buildWelcomePrefix(e){const t=this.widgetWelcomeMessage;return!t||typeof t!="string"||!t.trim()?[]:[{id:"__welcome__",text_md:t.trim(),author:{type:"agent_ia",name:this.agentName,avatar_url:this.agentAvatarUrl},created_at:(e==null?void 0:e.created_at)||new Date(0).toISOString()}]},scheduleWelcomeReveal(e){if(!e)return;const t=this.widgetWelcomeMessage;if(!t||typeof t!="string"||!t.trim()||this.welcomeRevealedAt[e]!==void 0)return;const s=this.currentConv;if(!((s==null?void 0:s._draft)||!(s!=null&&s.last_message_id))){this.welcomeRevealedAt={...this.welcomeRevealedAt,[e]:Date.now()};return}this.welcomeRevealedAt={...this.welcomeRevealedAt,[e]:0};const a=this.revealPacing,r=t.trim().length,i=Math.min(a.maxTypingMs,Math.max(a.minTypingMs,r*a.msPerChar)),l=a.firstRevealDelayMs+i,m=setTimeout(()=>{this.welcomeRevealedAt={...this.welcomeRevealedAt,[e]:Date.now()};const y={...this.welcomeRevealTimers};delete y[e],this.welcomeRevealTimers=y},l);this.welcomeRevealTimers={...this.welcomeRevealTimers,[e]:m}},cancelWelcomeTimers(){for(const e of Object.values(this.welcomeRevealTimers))try{clearTimeout(e)}catch{}this.welcomeRevealTimers={}},toggleMore(){this.moreOpen=!this.moreOpen},goHome(){this.moreOpen=!1,this.draftConv=null,this.activeConvId=null,this.backToHistory?(this.showOnboarding=!1,this.showHistory=!0,this.backToHistory=!1):(this.showOnboarding=!0,this.showHistory=!1)},async onDrawerPick(e){if(!(e!=null&&e.id)||!this.store)return;const t=this.showHistory;this.draftConv=null,this.activeConvId=e.id,this.showOnboarding=!1,this.showHistory=!1,this.backToHistory=t;try{await this.store.openConversation(e.id)}catch(o){console.error("[ww-messenger] open conv failed",o)}const s=this.allConversations.find(o=>o.id===e.id);s&&this.markConvRead(s)},async onMoreAction(e){var t,s;switch(this.moreOpen=!1,e){case"rename":this.openRenameDialog();break;case"export":pt(this.currentConv,this.currentConv?(s=(t=this.s)==null?void 0:t.messagesByConv)==null?void 0:s[this.currentConv.id]:[],this.translator,this.locale);break;case"status":if(re(this.statusUrl))try{window.open(this.statusUrl,"_blank","noopener")}catch{}break;case"help":if(re(this.helpUrl))try{window.open(this.helpUrl,"_blank","noopener")}catch{}break}},openRenameDialog(){const e=this.currentConv;!e||e._draft||(this.renameDialogOpen=!0)},async onRenameSubmit(e){const t=this.currentConv;if(this.renameDialogOpen=!1,!t||t._draft||!this.store)return;const s=(e||"").trim();if(!(!s||s===t.name))try{await this.store.patchConversation(t.id,{name:s})}catch(o){console.error("[ww-messenger] rename failed",o)}},async onSend(e){let t=this.currentConv;if(!t&&(this.startConv(),t=this.currentConv,!t)||t._draft&&(t=await this.ensureRealConv(),!t))return;const s=t.id,o=this.pendingAttachments.slice();this.pendingAttachments=[],this.unreadAnchorId=null,this.unreadBoundaryTs="";const a=o.map(r=>{const{previewUrl:i,...l}=r;return l});await this.store.send(s,e,{attachments:a.length?a:void 0})},async onSuggestion(e){const t=(e==null?void 0:e.text)||(e==null?void 0:e.label);t&&await this.onSend(t)},async onLoadMore(){var t;const e=(t=this.currentConv)==null?void 0:t.id;!e||!this.store||await this.store.loadMore(e)},async onResolutionSelect(e){const t=this.pendingResolution;!t||!(e!=null&&e.id)||await this.store.clickCallback(t.id,e.id)},async onApprovalSelect(e){const t=this.pendingApproval;!t||!(e!=null&&e.id)||await this.store.clickCallback(t.id,e.id)},async onFormSubmit({values:e}){const t=this.pendingForm;if(!(t!=null&&t.form))return;const s=ut(t.form,e,this.translator);if(!s)return;let o=this.currentConv;o&&(o._draft&&(o=await this.ensureRealConv(),!o)||await this.store.send(o.id,s,{metadata:{artifact:mt(t.form,e,this.translator)}}))},formatAttachmentSize(e){return e?e<1024?this.t("attachment.bytes",{size:e}):e<1024*1024?this.t("attachment.kilobytes",{size:(e/1024).toFixed(0)}):this.t("attachment.megabytes",{size:(e/(1024*1024)).toFixed(1)}):""},removePendingAttachment(e){this.pendingAttachments.splice(e,1)},async onAttach(e){var t,s;if(!(!e||!this.transport))try{const o=await this.transport.uploadAttachment(e),a=(o==null?void 0:o.type)==="image"||(e.type||"").toLowerCase().startsWith("image/")||((o==null?void 0:o.mime_type)||"").toLowerCase().startsWith("image/");let r=null;if(a)try{r=await((s=(t=this.store)==null?void 0:t.signAttachment)==null?void 0:s.call(t,o.path))||null}catch{}this.pendingAttachments.push({type:o.type||"file",path:o.path,name:e.name||this.t("attachment.fileFallbackName"),mime_type:e.type,size_bytes:e.size,previewUrl:r})}catch(o){console.error("[ww-messenger] attachment upload failed",o)}},onPanelClick(e){const t=e.target&&e.target.closest?e.target.closest('a[href^="#"]'):null;t&&(e.preventDefault(),this.openInternalUrl(t.getAttribute("href")))},async openInternalUrl(e){if(typeof e!="string"||!e.startsWith("#"))return!1;const t=e.slice(1);if(t==="new"||t==="new-conversation")return this.isOpen||await this.open(),this.startConv(),!0;if(t.startsWith("conversation/")){const s=t.slice(13);return s&&await this.openFromPeek(s),!0}return console.warn("[messenger] unknown internal url",e),!0},async onQuickLink(e){if(e){if(e.url){if(await this.openInternalUrl(e.url))return;if(!re(e.url)){console.warn("[messenger] refusing unsafe quick-link url",e.url);return}try{window.open(e.url,"_blank","noopener")}catch{}return}this.currentConv||this.startConv(),await this.onSend(e.label)}},async onFeedback({rating:e,comment:t}){if(this.currentConv){this.feedbackBusy=!0;try{await this.store.submitFeedback(this.currentConv.id,{rating:e,comment:t}),this.feedbackDone={...this.feedbackDone,[this.currentConv.id]:!0}}catch(s){console.error("[ww-messenger] feedback failed",s)}finally{this.feedbackBusy=!1}}}}},Na={key:0,class:"wm-loading","aria-busy":"true","aria-live":"polite"},Aa=["aria-label"],Va={class:"wm-screens"},Ta={key:"error",class:"wm-screen wm-state"},Ma={class:"wm-state__err"},xa={class:"wm-state__errTitle"},La={class:"wm-state__errSub"},Ra={key:"chat",class:"wm-screen wm-screen--chat"},Da={class:"wm-bottom"},Oa={key:0,ref:"floatEl",class:"wm-float"},Ia={key:1,class:"wm-actionWait",role:"status","aria-live":"polite"},Fa={class:"wm-actionWait__lbl"},Pa={key:2,class:"wm-attached"},za=["src","alt"],Ua={key:1,class:"wm-attached__file"},Ha={class:"wm-attached__fileMeta"},ja={class:"wm-attached__fileName"},qa={key:0,class:"wm-attached__fileSize"},Ka=["aria-label","onClick"],Wa={key:3,class:"wm-ended",role:"status","aria-live":"polite"},Ga={class:"wm-ended__lbl"};function $a(e,t,s,o,a,r){const i=n.resolveComponent("Launcher"),l=n.resolveComponent("Header"),m=n.resolveComponent("History"),y=n.resolveComponent("Onboarding"),g=n.resolveComponent("MessageList"),b=n.resolveComponent("InlineCallbacks"),N=n.resolveComponent("FormCard"),k=n.resolveComponent("Feedback"),x=n.resolveComponent("Composer"),C=n.resolveComponent("MoreMenu"),V=n.resolveComponent("RenameDialog");return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["wm-root",`wm-root--${s.displayMode}`]),style:n.normalizeStyle(r.rootStyle)},[!a.isOpen&&!r.isEmbedded?(n.openBlock(),n.createBlock(i,{key:0,"unread-count":r.unreadCount,peeks:r.launcherPeeks,onOpen:r.openFromPeek,onDismiss:r.dismissPeek,onHover:r.onLauncherHover},null,8,["unread-count","peeks","onOpen","onDismiss","onHover"])):n.createCommentVNode("",!0),a.isOpen||r.isEmbedded?(n.openBlock(),n.createElementBlock("section",{key:1,class:n.normalizeClass(["wm-panel",`wm-panel--${s.displayMode}`,{"wm-panel--welcome":r.ready&&!r.error&&!r.currentConv},a.launching?`wm-launch-${a.launchStage}`:""]),style:n.normalizeStyle(a.floatHeight?{"--wm-float-h":a.floatHeight+"px"}:null),role:"dialog","aria-label":"Messenger",onClick:t[7]||(t[7]=(...E)=>r.onPanelClick&&r.onPanelClick(...E))},[!r.ready&&!r.error?(n.openBlock(),n.createElementBlock("div",Na,[r.isEmbedded?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"wm-loading__close","aria-label":r.t("loading.minimize"),onClick:t[0]||(t[0]=(...E)=>r.close&&r.close(...E))},[...t[8]||(t[8]=[n.createElementVNode("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,Aa)),t[9]||(t[9]=n.createElementVNode("div",{class:"wm-loading__spinner","aria-hidden":"true"},null,-1))])):(n.openBlock(),n.createElementBlock(n.Fragment,{key:1},[n.createVNode(l,{title:r.headerTitle,"team-members":r.teamMembers,"response-label":r.responseLabel,"show-identity":!!r.currentConv,"show-back":r.canBack,"show-close":!r.isEmbedded,"more-active":a.moreOpen,"agent-name":r.agentName,"agent-avatar-url":r.agentAvatarUrl,onBack:r.goHome,onMore:r.toggleMore,onClose:r.close},null,8,["title","team-members","response-label","show-identity","show-back","show-close","more-active","agent-name","agent-avatar-url","onBack","onMore","onClose"]),n.createElementVNode("div",Va,[n.createVNode(n.Transition,{name:"wm-none"},{default:n.withCtx(()=>[r.error?(n.openBlock(),n.createElementBlock("div",Ta,[n.createElementVNode("div",Ma,[t[10]||(t[10]=n.createElementVNode("div",{class:"wm-state__errIcon"},[n.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})])],-1)),n.createElementVNode("div",null,[n.createElementVNode("div",xa,n.toDisplayString(r.t("error.connectionFailed")),1),n.createElementVNode("div",La,n.toDisplayString(r.error),1)])])])):!r.currentConv&&a.showHistory?(n.openBlock(),n.createBlock(m,{key:"history",class:"wm-screen",threads:r.openThreads,onResume:r.onDrawerPick},null,8,["threads","onResume"])):r.currentConv?(n.openBlock(),n.createElementBlock("div",Ra,[n.createVNode(g,{ref:"messageList",messages:r.displayedMessages,"streaming-active":r.streamingActive,"date-label":r.dateLabel,"conversation-id":r.currentConv?r.currentConv.id:null,"loading-more":r.paginationState.loading,"has-more":r.paginationState.hasMore,"unread-anchor-id":e.unreadAnchorId,"unread-boundary-ts":e.unreadBoundaryTs,"ai-agent-name":r.agentName,"ai-agent-avatar-url":r.agentAvatarUrl,onLoadMore:r.onLoadMore},null,8,["messages","streaming-active","date-label","conversation-id","loading-more","has-more","unread-anchor-id","unread-boundary-ts","ai-agent-name","ai-agent-avatar-url","onLoadMore"]),n.createElementVNode("div",Da,[r.floatVisible?(n.openBlock(),n.createElementBlock("div",Oa,[r.pendingApproval?(n.openBlock(),n.createBlock(b,{key:`appr-${r.pendingApproval.id}`,variant:"buttons",items:r.approvalCallbacks,onSelect:r.onApprovalSelect},null,8,["items","onSelect"])):r.pendingResolution?(n.openBlock(),n.createBlock(b,{key:`res-${r.pendingResolution.id}`,variant:"buttons",items:r.resolutionCallbacks,onSelect:r.onResolutionSelect},null,8,["items","onSelect"])):r.pendingForm?(n.openBlock(),n.createBlock(N,{key:r.pendingForm.message&&r.pendingForm.message.id,form:r.pendingForm.form,"agent-name":r.agentName,"agent-avatar-url":r.agentAvatarUrl,onSubmit:r.onFormSubmit},null,8,["form","agent-name","agent-avatar-url","onSubmit"])):r.showFeedback?(n.openBlock(),n.createBlock(k,{key:3,busy:a.feedbackBusy,done:!!(r.currentConv&&a.feedbackDone[r.currentConv.id]),onSubmit:r.onFeedback},null,8,["busy","done","onSubmit"])):(n.openBlock(),n.createBlock(b,{key:4,items:r.suggestions,onSelect:r.onSuggestion},null,8,["items","onSelect"]))],512)):n.createCommentVNode("",!0),r.actionInFlight?(n.openBlock(),n.createElementBlock("div",Ia,[t[11]||(t[11]=n.createElementVNode("span",{class:"wm-actionWait__spinner","aria-hidden":"true"},null,-1)),n.createElementVNode("span",Fa,n.toDisplayString(r.t("action.inProgress",{name:r.actionInFlightName})),1)])):n.createCommentVNode("",!0),a.pendingAttachments.length?(n.openBlock(),n.createElementBlock("div",Pa,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(a.pendingAttachments,(E,L)=>(n.openBlock(),n.createElementBlock("div",{key:E.path||L,class:"wm-attached__item"},[E.previewUrl?(n.openBlock(),n.createElementBlock("img",{key:0,class:"wm-attached__thumb",src:E.previewUrl,alt:E.name},null,8,za)):(n.openBlock(),n.createElementBlock("div",Ua,[t[12]||(t[12]=n.createElementVNode("span",{class:"wm-attached__fileIcon"},[n.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.7","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"}),n.createElementVNode("path",{d:"M14 2v6h6"})])],-1)),n.createElementVNode("span",Ha,[n.createElementVNode("span",ja,n.toDisplayString(E.name),1),r.formatAttachmentSize(E.size_bytes)?(n.openBlock(),n.createElementBlock("span",qa,n.toDisplayString(r.formatAttachmentSize(E.size_bytes)),1)):n.createCommentVNode("",!0)])])),n.createElementVNode("button",{type:"button",class:"wm-attached__remove","aria-label":r.t("attachment.remove"),onClick:I=>r.removePendingAttachment(L)},[...t[13]||(t[13]=[n.createElementVNode("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.4","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,Ka)]))),128))])):n.createCommentVNode("",!0),r.endedBlockVisible?(n.openBlock(),n.createElementBlock("div",Wa,[n.createElementVNode("span",Ga,n.toDisplayString(r.isClosed?r.t("composer.conversationClosed"):r.t("composer.conversationEnded")),1),n.createElementVNode("button",{type:"button",class:"wm-ended__btn",onClick:t[2]||(t[2]=E=>r.isClosed?r.onReopen():r.startConv())},n.toDisplayString(r.isClosed?r.t("composer.reopen"):r.t("composer.newConversation")),1)])):r.actionInFlight?n.createCommentVNode("",!0):(n.openBlock(),n.createBlock(x,{key:4,ref:"composer",modelValue:a.draft,"onUpdate:modelValue":t[3]||(t[3]=E=>a.draft=E),placeholder:r.composerPlaceholder,"attach-label":r.t("composer.attachFile"),"display-mode":s.displayMode,onSend:r.onSend,onAttach:r.onAttach},null,8,["modelValue","placeholder","attach-label","display-mode","onSend","onAttach"]))]),a.moreOpen?(n.openBlock(),n.createBlock(C,{key:0,"can-rename":!!r.currentConv&&!r.currentConv._draft,"can-export":!!r.currentConv&&!r.currentConv._draft,"sound-enabled":e.soundEnabled,"status-url":r.statusUrl,"help-url":r.helpUrl,onClose:t[4]||(t[4]=E=>a.moreOpen=!1),onSoundToggle:e.onSoundToggle,onAction:r.onMoreAction},null,8,["can-rename","can-export","sound-enabled","status-url","help-url","onSoundToggle","onAction"])):n.createCommentVNode("",!0),a.renameDialogOpen&&r.currentConv&&!r.currentConv._draft?(n.openBlock(),n.createBlock(V,{key:1,"initial-value":r.currentConv.name||"",title:r.t("rename.dialogTitle"),onClose:t[5]||(t[5]=E=>a.renameDialogOpen=!1),onSubmit:r.onRenameSubmit},null,8,["initial-value","title","onSubmit"])):n.createCommentVNode("",!0)])):(n.openBlock(),n.createBlock(y,{key:"home",class:"wm-screen",title:r.widgetTitle,subtitle:r.widgetSubtitle,"agent-name":r.agentName,"default-icon-url":r.defaultIconUrl,"cover-image-url":r.coverImageUrl,"quick-links":r.quickLinks,"open-threads":r.openThreads,busy:a.busy,launching:a.launching,"welcome-message":r.widgetWelcomeMessage,onStart:r.onOnboardingStart,onLaunched:r.onHomeLaunched,onSelect:r.onQuickLink,onResume:r.onDrawerPick,onViewHistory:t[1]||(t[1]=E=>a.showHistory=!0)},null,8,["title","subtitle","agent-name","default-icon-url","cover-image-url","quick-links","open-threads","busy","launching","welcome-message","onStart","onLaunched","onSelect","onResume"]))]),_:1})]),a.moreOpen&&!r.currentConv?(n.openBlock(),n.createBlock(C,{key:0,"can-rename":!1,"can-export":!1,"sound-enabled":e.soundEnabled,"status-url":r.statusUrl,"help-url":r.helpUrl,onClose:t[6]||(t[6]=E=>a.moreOpen=!1),onSoundToggle:e.onSoundToggle,onAction:r.onMoreAction},null,8,["sound-enabled","status-url","help-url","onSoundToggle","onAction"])):n.createCommentVNode("",!0)],64))],6)):n.createCommentVNode("",!0)],6)}const Ze=A(Sa,[["render",$a],["__scopeId","data-v-801581ca"]]),Ya="0.6.29";exports.AIAvatar=Y;exports.AVATAR_COLORS=ne;exports.ActionResult=De;exports.ArtifactFormResponse=Oe;exports.ArtifactInfoCard=Ie;exports.ArtifactRenderer=Pe;exports.ArtifactTicket=Fe;exports.AttachmentPreview=ze;exports.Bubble=Ue;exports.Composer=$e;exports.DEFAULT_BASE_URL=Se;exports.DEFAULT_LANGUAGE=$;exports.Feedback=Xe;exports.FormCard=Je;exports.Header=Le;exports.HumanAvatar=te;exports.InlineCallbacks=Ye;exports.Launcher=Me;exports.MEDIA_RECORDER_SUPPORTED=le;exports.MessageList=je;exports.Messenger=Ze;exports.MoreMenu=Qe;exports.Onboarding=Re;exports.SCREEN_CAPTURE_SUPPORTED=ee;exports.SUPPORTED_LANGUAGES=Ne;exports.TeamAvatars=xe;exports.Typing=He;exports.VERSION=Ya;exports.avatarColor=oe;exports.avatarInitials=ae;exports.captureScreenshotFile=We;exports.colors=M;exports.createStore=Ee;exports.createTranslator=T;exports.createTransport=Ce;exports.dateLocale=U;exports.default=Ze;exports.formatTime=se;exports.guessAttachmentKind=Gs;exports.pickRecorderMime=qe;exports.renderInlineMarkdown=fe;exports.renderMarkdown=Te;exports.resolveLanguage=ie;exports.startScreenRecording=Ge;exports.tokensCss=Be;exports.uuid=he;exports.v4=he;