@_solaris/messenger-widget 0.5.51 → 0.5.53

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 t=require("vue"),Qe=["connected","message","message_stream","conversation_updated","config_updated","action_status"],ce="/client",Ze=5*60*1e3,et=10*60*1e3,tt=5*60*1e3;function ke(e){const n={baseUrl:nt(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(!n.baseUrl||!n.widgetId)throw new Error("[transport] baseUrl and widgetId are required");function r(c,h){return n.listeners.has(c)||n.listeners.set(c,new Set),n.listeners.get(c).add(h),()=>n.listeners.get(c).delete(h)}function a(c,h){const p=n.listeners.get(c);p&&p.forEach(w=>{try{w(h)}catch(B){console.error("[transport] listener",c,B)}})}function s(c){n.connection!==c&&(n.connection=c,a("connection",c))}function o(){return{"Content-Type":"application/json","X-Widget-Id":n.widgetId,...n.origin?{"X-Parent-Origin":n.origin}:{}}}async function i(c,h,p){const w=await fetch(`${n.baseUrl}${ce}${h}`,{method:c,credentials:"include",headers:o(),body:p!==void 0?JSON.stringify(p):void 0});if(!w.ok){const B=await l(w),E=new Error(`HTTP ${w.status} ${c} ${h} :: ${(B==null?void 0:B.error)||w.statusText}`);throw E.status=w.status,E.body=B,E}return w.status===204?null:w.json()}async function l(c){try{return await c.json()}catch{return null}}async function f(c){if(n.started)return n.lastBootstrap;if(!(c!=null&&c.origin))throw new Error("[transport] start requires origin");n.started=!0,n.origin=c.origin,n.token=c.token||"";const h=await fetch(`${n.baseUrl}${ce}/session`,{method:"POST",credentials:"include",headers:o(),body:JSON.stringify({origin:n.origin,...n.token?{token:n.token}:{},allowUnauthenticated:c.allowUnauthenticated===!0,...c.variables&&typeof c.variables=="object"?{variables:c.variables}:{}})});if(!h.ok){const L=await l(h),z=new Error(`Session bootstrap failed: HTTP ${h.status} :: ${(L==null?void 0:L.error)||h.statusText}`);throw z.status=h.status,z.body=L,z}const p=await h.json();n.userId=p.external_id;const[w,B]=await Promise.all([fetch(`${n.baseUrl}/widgets/${encodeURIComponent(n.widgetId)}/config`,{credentials:"include"}).then(async L=>{if(!L.ok){const z=await l(L);throw new Error(`HTTP ${L.status} GET /widgets/:id/config :: ${(z==null?void 0:z.error)||L.statusText}`)}return L.json()}),i("GET","/customers/me")]),E={config:w,customer:(B==null?void 0:B.customer)??null};return n.lastBootstrap=E,await y(),typeof document<"u"&&(n.visibilityHandler=u,document.addEventListener("visibilitychange",n.visibilityHandler)),ee(),E}async function y(){try{const c=await S();n.lastActivityAt=c.reduce((h,p)=>{const w=p==null?void 0:p.last_message_at;return w&&(!h||w>h)?w:h},null)}catch(c){console.error("[transport] initial /conversations failed",c)}}async function _(){const c=await i("GET","/customers/me");return(c==null?void 0:c.customer)??null}async function C(c){const h=await i("PATCH","/customers/me",c);return(h==null?void 0:h.customer)??null}async function S(){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 D(c){return(await i("GET",`/conversations/${encodeURIComponent(c)}`)).conversation}async function b(c,h){return(await i("PATCH",`/conversations/${encodeURIComponent(c)}`,h)).conversation}async function V(c,h){return i("PATCH",`/conversations/${encodeURIComponent(c)}/read`,{message_id:h})}async function M(c,h={}){const p=new URLSearchParams;h.before&&p.set("before",h.before),h.since&&p.set("since",h.since),h.limit&&p.set("limit",String(h.limit));const w=p.toString()?`?${p.toString()}`:"";return i("GET",`/conversations/${encodeURIComponent(c)}/messages${w}`)}async function A(c,h){W();const p={client_msg_id:h.client_msg_id,type:"content",text_md:h.text_md,author:{id:n.userId,type:"user"},created_at:h.created_at||new Date().toISOString()};return Array.isArray(h.attachments)&&h.attachments.length&&(p.payload={type:"content",attachments:h.attachments}),h.metadata&&typeof h.metadata=="object"&&(p.metadata=h.metadata),n.currentContext&&Object.keys(n.currentContext).length>0&&(p.context=n.currentContext),i("POST",`/conversations/${encodeURIComponent(c)}/messages`,p)}async function O(c,h,p){return W(),i("POST",`/messages/${encodeURIComponent(c)}/callbacks/${encodeURIComponent(h)}`,p?{inputs:p}:{})}async function U(c){const h=c.name||"attachment",p=c.type||"application/octet-stream",w=c.size||0,B=await i("POST","/attachments",{mime_type:p,size_bytes:w,name:h}),E=await fetch(B.upload_url,{method:"PUT",headers:{"Content-Type":p},body:c});if(!E.ok)throw new Error(`HTTP ${E.status} PUT signed upload`);return{type:rt(p),path:B.path,mime_type:p,size_bytes:w}}async function q(c){return i("GET",`/attachments/sign?path=${encodeURIComponent(c)}`)}function $(){const c=new URLSearchParams({widgetId:n.widgetId}).toString();return`${n.baseUrl}${ce}/stream?${c}`}function I(){if(!n.eventSource&&!(typeof document<"u"&&document.hidden)&&n.started)try{const c=new EventSource($(),{withCredentials:!0});for(const h of Qe)c.addEventListener(h,p=>K(h,p.data));c.addEventListener("error",()=>a("error",new Error("SSE error"))),n.eventSource=c,s("open")}catch(c){console.error("[transport] SSE open failed",c),a("error",c)}}function K(c,h){try{const p=JSON.parse(h),w=p&&typeof p=="object"&&"data"in p?p.data:p;a(c,w)}catch(p){console.error("[transport] bad SSE payload",c,p)}}function F(){n.eventSource&&(n.eventSource.close(),n.eventSource=null),n.connection!=="paused"&&s("idle")}function W(){clearTimeout(n.burstTimer),I(),n.panelOpen||(n.burstTimer=setTimeout(()=>{n.panelOpen||F()},et))}function Z(c){n.panelOpen=!!c,n.panelOpen?(clearTimeout(n.burstTimer),I()):W()}async function le(){try{const c=await S(),h=c.reduce((w,B)=>{const E=B==null?void 0:B.last_message_at;return E&&(!w||E>w)?E:w},null);h&&(!n.lastActivityAt||h>n.lastActivityAt)&&(n.lastActivityAt=h,a("activity",{conversations:c,latestAt:h}),W())}catch(c){console.error("[transport] poll failed",c)}}function ee(){d(),!(typeof document<"u"&&document.hidden)&&(n.pollTimer=setInterval(le,Ze))}function d(){n.pollTimer&&(clearInterval(n.pollTimer),n.pollTimer=null)}function u(){if(document.hidden)clearTimeout(n.hiddenGraceTimer),n.hiddenGraceTimer=setTimeout(()=>{n.hiddenGraceTimer=null,document.hidden&&(d(),F(),s("paused"))},tt);else{if(n.hiddenGraceTimer){clearTimeout(n.hiddenGraceTimer),n.hiddenGraceTimer=null;return}s("idle"),ee(),n.panelOpen&&I()}}function m(){d(),clearTimeout(n.burstTimer),clearTimeout(n.hiddenGraceTimer),n.hiddenGraceTimer=null,F(),n.visibilityHandler&&(document.removeEventListener("visibilitychange",n.visibilityHandler),n.visibilityHandler=null),n.started=!1}async function g(c){return!c||typeof c!="object"?null:i("POST","/update",c)}function v(c){if(!(!c||typeof c!="object"))for(const[h,p]of Object.entries(c)){if(p===null){delete n.currentContext[h];continue}typeof p=="object"&&!Array.isArray(p)&&(n.currentContext[h]={...p})}}return{on:r,start:f,stop:m,setPanelOpen:Z,update:g,context:v,getCustomer:_,patchCustomer:C,listConversations:S,createConversation:k,getConversation:D,patchConversation:b,markConversationRead:V,listMessages:M,postMessage:A,postCallback:O,uploadAttachment:U,signAttachment:q,get connection(){return n.connection}}}function nt(e){return e.endsWith("/")?e.slice(0,-1):e}function rt(e){return e.startsWith("image/")?"image":e.startsWith("video/")?"video":e.startsWith("audio/")?"audio":"file"}function ue(){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 r=0;r<16;r++)e[r]=Math.floor(Math.random()*256);e[6]=e[6]&15|64,e[8]=e[8]&63|128;const n=[...e].map(r=>r.toString(16).padStart(2,"0"));return n.slice(0,4).join("")+"-"+n.slice(4,6).join("")+"-"+n.slice(6,8).join("")+"-"+n.slice(8,10).join("")+"-"+n.slice(10,16).join("")}function we(e){const n=t.reactive({ready:!1,error:null,config:null,customer:null,conversations:[],messagesByConv:{},paginationByConv:{},streamingByMsgId:{},awaitingCallback:{},runningActionsByConv:{},connection:"idle"}),r=[];r.push(e.on("connection",d=>{n.connection=d})),r.push(e.on("message",d=>{const u=d==null?void 0:d.conversation_id,m=d==null?void 0:d.message;!u||!(m!=null&&m.id)||(I(u,m),m.client_msg_id&&delete n.streamingByMsgId[m.client_msg_id],W(u,m.created_at))})),r.push(e.on("message_stream",d=>{const u=d==null?void 0:d.message_id,m=d==null?void 0:d.token;!u||typeof m!="string"||(n.streamingByMsgId[u]=(n.streamingByMsgId[u]||"")+m)})),r.push(e.on("conversation_updated",d=>{const u=d==null?void 0:d.conversation_id,m=d==null?void 0:d.changes;if(!u||!m)return;const g=n.conversations.findIndex(v=>v.id===u);g!==-1&&(n.conversations[g]={...n.conversations[g],...m})})),r.push(e.on("config_updated",d=>{d!=null&&d.config&&(n.config=d.config)})),r.push(e.on("action_status",d=>{const u=d==null?void 0:d.conversation_id,m=d==null?void 0:d.action_id,g=d==null?void 0:d.action_name;if(!u||!m)return;const v=n.runningActionsByConv[u]||{};d.state==="running"?(v[m]=g||m,n.runningActionsByConv[u]={...v}):d.state==="done"&&(delete v[m],n.runningActionsByConv[u]={...v})})),r.push(e.on("activity",d=>{Array.isArray(d==null?void 0:d.conversations)&&(n.conversations=d.conversations)}));async function a(d){try{const u=new Promise((g,v)=>setTimeout(()=>v(new Error("bootstrap timeout (15s) — check baseUrl, CORS, and network")),15e3)),m=await Promise.race([e.start(d),u]);n.config=m.config,n.customer=m.customer,n.conversations=await Promise.race([e.listConversations(),u]),n.ready=!0}catch(u){console.error("[store] start failed",u),n.error=(u==null?void 0:u.message)||String(u)}}function s(){for(const d of r)try{d()}catch{}e.stop()}async function o(d){const u=le(d);if(!u)return n.customer;try{const m=await e.patchCustomer(u);m&&(n.customer=m)}catch(m){console.error("[store] applyCustomer failed",m)}return n.customer}async function i(d={}){const u=await e.createConversation(d),m=n.conversations.findIndex(g=>g.id===u.id);return m===-1?n.conversations=[u,...n.conversations]:n.conversations[m]=u,u}const l=50;async function f(d){const u=n.paginationByConv[d];if(!(u!=null&&u.loaded||u!=null&&u.loading)){_(d,{nextCursor:null,loading:!0,loaded:!1});try{const m=await e.listMessages(d,{limit:l}),g=(m==null?void 0:m.messages)??[],v=n.messagesByConv[d]||[],c=new Set;for(const p of g)(p==null?void 0:p.id)!=null&&c.add(`id:${String(p.id)}`),p!=null&&p.client_msg_id&&c.add(`c:${p.client_msg_id}`);const h=v.filter(p=>!((p==null?void 0:p.id)!=null&&c.has(`id:${String(p.id)}`)||p!=null&&p.client_msg_id&&c.has(`c:${p.client_msg_id}`)));n.messagesByConv[d]=[...g,...h].sort(Z),_(d,{nextCursor:(m==null?void 0:m.next_cursor)??null,loading:!1,loaded:!0})}catch(m){console.error("[store] openConversation failed",m),_(d,{nextCursor:null,loading:!1,loaded:!1})}}}async function y(d){var v;const u=n.paginationByConv[d];if(!u||u.loading||!u.nextCursor)return;const g=(v=(n.messagesByConv[d]||[]).find(c=>c==null?void 0:c.created_at))==null?void 0:v.created_at;if(g){_(d,{...u,loading:!0});try{const c=await e.listMessages(d,{before:g,limit:l}),h=(c==null?void 0:c.messages)??[],p=n.messagesByConv[d]||[],w=new Set;for(const E of p)(E==null?void 0:E.id)!=null&&w.add(`id:${String(E.id)}`),E!=null&&E.client_msg_id&&w.add(`c:${E.client_msg_id}`);const B=h.filter(E=>!((E==null?void 0:E.id)!=null&&w.has(`id:${String(E.id)}`)||E!=null&&E.client_msg_id&&w.has(`c:${E.client_msg_id}`)));n.messagesByConv[d]=[...B,...p],_(d,{nextCursor:(c==null?void 0:c.next_cursor)??null,loading:!1,loaded:!0})}catch(c){console.error("[store] loadMore failed",c),_(d,{...u,loading:!1})}}}function _(d,u){n.paginationByConv={...n.paginationByConv,[d]:u}}async function C(d,u){const m=await e.patchConversation(d,u),g=n.conversations.findIndex(v=>v.id===d);g!==-1&&(n.conversations[g]=m)}async function S(d){if(!d)return[];const u=n.messagesByConv[d]||[];let m="";for(const g of u)g!=null&&g.created_at&&g.created_at>m&&(m=g.created_at);try{const g=await e.listMessages(d,m?{since:m}:{}),v=(g==null?void 0:g.messages)||[];if(!v.length)return[];const c=new Set,h=new Set;for(const w of u)(w==null?void 0:w.id)!=null&&c.add(String(w.id)),w!=null&&w.client_msg_id&&h.add(w.client_msg_id);const p=[];for(const w of v){const B=(w==null?void 0:w.id)!=null&&c.has(String(w.id))||(w==null?void 0:w.client_msg_id)&&h.has(w.client_msg_id);I(d,w),B||p.push(w)}return p}catch(g){return console.error("[store] fetchSinceLast failed",g),[]}}async function k(d,u){if(!(!d||u==null))try{const m=await e.markConversationRead(d,u),g=(m==null?void 0:m.last_read_message_id)??u,v=n.conversations.findIndex(c=>(c==null?void 0:c.id)===d);v!==-1&&(n.conversations[v]={...n.conversations[v],last_read_message_id:g})}catch(m){console.error("[store] markConversationRead failed",m)}}async function D(d,u,{attachments:m,metadata:g}={}){var B;const v=(u||"").trim(),c=Array.isArray(m)&&m.length>0;if(!d||!v&&!c)return;const h=ue(),p=ee(d),w={id:h,client_msg_id:h,conversation_id:d,type:"content",text_md:v,author:{type:"user",id:((B=n.customer)==null?void 0:B.external_id)||null},created_at:p,_pending:!0,...c?{payload:{type:"content",attachments:m}}:{},...g&&typeof g=="object"?{metadata:g}:{}};I(d,w);try{await e.postMessage(d,{client_msg_id:h,text_md:v,created_at:p,...c?{attachments:m}:{},...g&&typeof g=="object"?{metadata:g}:{}})}catch(E){console.error("[store] send failed",E),F(d,h,{_failed:!0,_pending:!1})}}async function b(d,u,m){d!=null&&(n.awaitingCallback[d]=!0);try{await e.postCallback(d,u,m)}catch(g){console.error("[store] callback failed",g),d!=null&&delete n.awaitingCallback[d]}}const V=new Map;async function M(d){if(!d)return null;const u=V.get(d);if(u!=null&&u.url){const m=u.expires_at?Date.parse(u.expires_at):0;if(!m||m-Date.now()>6e4)return u.url}try{const m=await e.signAttachment(d);if(m!=null&&m.signed_url)return V.set(d,{url:m.signed_url,expires_at:m.expires_at}),m.signed_url}catch(m){console.error("[store] sign attachment failed",m)}return null}async function A(d,{rating:u,comment:m}={}){const g=n.conversations.find(h=>h.id===d),c={...(g==null?void 0:g.metadata)||{},feedback:{rating:u,comment:m||null,submitted_at:new Date().toISOString()}};await C(d,{metadata:c})}function O(d){var m,g;const u=n.messagesByConv[d]||[];for(let v=u.length-1;v>=0;v--){const c=u[v];if((c==null?void 0:c.type)==="action"&&((m=c==null?void 0:c.payload)==null?void 0:m.type)==="action"&&((g=c==null?void 0:c.payload)==null?void 0:g.state)==="pending"&&Array.isArray(c==null?void 0:c.callbacks)&&c.callbacks.length>0&&!n.awaitingCallback[c.id])return c}return null}function U(d){var m,g,v;const u=n.messagesByConv[d]||[];for(let c=u.length-1;c>=0;c--){const h=u[c];if(((m=h==null?void 0:h.author)==null?void 0:m.type)==="user"||(h==null?void 0:h.type)==="action"&&((g=h==null?void 0:h.payload)==null?void 0:g.state)==="pending")return null;const p=(v=h==null?void 0:h.metadata)==null?void 0:v.form;if(p&&Array.isArray(p.fields)&&p.fields.length>0)return{message:h,form:p}}return null}function q(d){const u=n.runningActionsByConv[d];if(!u)return null;const m=Object.keys(u);if(m.length===0)return null;const g=m[0];return{id:g,payload:{name:u[g]}}}function $(d){var m,g,v,c;const u=n.messagesByConv[d]||[];for(let h=u.length-1;h>=0;h--){const p=u[h];if(((m=p==null?void 0:p.author)==null?void 0:m.type)==="user")return[];if((p==null?void 0:p.type)==="action"&&((g=p==null?void 0:p.payload)==null?void 0:g.state)==="pending")return[];if(((v=p==null?void 0:p.author)==null?void 0:v.type)!=="agent_ia")continue;const w=(c=p==null?void 0:p.metadata)==null?void 0:c.suggested_replies;return Array.isArray(w)&&w.length?w.map(B=>{if(typeof B=="string"){const E=B.trim();return E?{label:E,kind:null}:null}if(B&&typeof B=="object"&&typeof B.label=="string"){const E=B.label.trim();if(!E)return null;const L=B.kind==="cta"||B.kind==="choice"||B.kind==="followup"?B.kind:null;return{label:E,kind:L}}return null}).filter(Boolean).slice(0,4):[]}return[]}function I(d,u){var c;const m=n.messagesByConv[d]||[];let g=-1;u!=null&&u.client_msg_id&&(g=m.findIndex(h=>(h==null?void 0:h.client_msg_id)&&h.client_msg_id===u.client_msg_id)),g===-1&&(u==null?void 0:u.id)!==void 0&&(u==null?void 0:u.id)!==null&&(g=m.findIndex(h=>K(h==null?void 0:h.id,u.id)));let v;g===-1?v=[...m,u].sort(Z):(v=m.slice(),v[g]={...m[g],...u,_pending:!1,_failed:!1}),n.messagesByConv[d]=v,(u==null?void 0:u.type)==="action"&&((c=u==null?void 0:u.payload)!=null&&c.state)&&u.payload.state!=="pending"&&(u==null?void 0:u.id)!=null&&n.awaitingCallback[u.id]&&delete n.awaitingCallback[u.id]}function K(d,u){return d===u?!0:d==null||u==null?!1:String(d)===String(u)}function F(d,u,m){const g=n.messagesByConv[d];if(!g)return;const v=g.findIndex(h=>h.id===u);if(v===-1)return;const c=g.slice();c[v]={...g[v],...m},n.messagesByConv[d]=c}function W(d,u){const m=n.conversations.findIndex(v=>v.id===d);if(m===-1)return;const g=n.conversations[m];if(u&&(!g.last_message_at||u>g.last_message_at)){const v=n.conversations.slice();v[m]={...g,last_message_at:u},v.sort((c,h)=>(h.last_message_at||"").localeCompare(c.last_message_at||"")),n.conversations=v}}function Z(d,u){return(d.created_at||"").localeCompare(u.created_at||"")}function le(d){if(!d||typeof d!="object")return null;const u={},m={};for(const[g,v]of Object.entries(d))v!==void 0&&(g==="name"||g==="email"||g==="language"?v!=null&&String(v).trim()!==""&&(u[g]=v):(g==="values"||g==="metadata")&&v&&typeof v=="object"?Object.assign(m,v):m[g]=v);return Object.keys(m).length&&(u.values=m),Object.keys(u).length?u:null}function ee(d){const u=n.messagesByConv[d]||[];let m="";for(const c of u)c!=null&&c.created_at&&c.created_at>m&&(m=c.created_at);const g=new Date().toISOString();return!m||g>m?g:new Date(Date.parse(m)+1).toISOString()}return{state:n,start:a,destroy:s,applyCustomer:o,createConversation:i,openConversation:f,loadMore:y,fetchSinceLast:S,patchConversation:C,markConversationRead:k,send:D,clickCallback:b,signAttachment:M,submitFeedback:A,getPendingApproval:O,getActionInFlight:q,getLatestSuggestions:$,getLatestForm:U,setPanelOpen:e.setPanelOpen}}const x={w:"#ffffff",g50:"#F9F9F7",g100:"#F2F1EE",g150:"#E8E6E2",g200:"#D9D6CF",g300:"#B4B0A8",g400:"#888480",g500:"#5A5753",g700:"#2B2926",g900:"#17161A",accent:"#5B5FEF",accentLight:"#EEEFFE",green:"#22C55E",red:"#B91C1C",redBg:"#FDECEC"},te=["#5B5FEF","#7C3AED","#DB2777","#0891B2","#D97706","#059669"];function oe(e=""){return e?te[e.charCodeAt(0)%te.length]:te[0]}function ae(e=""){return e.split(" ").map(n=>n[0]||"").join("").toUpperCase().slice(0,2)}function re(e=new Date,n="fr-FR"){return e.toLocaleTimeString(n,{hour:"2-digit",minute:"2-digit"})}const be=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),Qe=["connected","message","message_stream","conversation_updated","config_updated","action_status"],ce="/client",Ze=5*60*1e3,et=10*60*1e3,tt=5*60*1e3;function ke(e){const n={baseUrl:nt(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(!n.baseUrl||!n.widgetId)throw new Error("[transport] baseUrl and widgetId are required");function r(c,h){return n.listeners.has(c)||n.listeners.set(c,new Set),n.listeners.get(c).add(h),()=>n.listeners.get(c).delete(h)}function a(c,h){const p=n.listeners.get(c);p&&p.forEach(w=>{try{w(h)}catch(B){console.error("[transport] listener",c,B)}})}function s(c){n.connection!==c&&(n.connection=c,a("connection",c))}function o(){return{"Content-Type":"application/json","X-Widget-Id":n.widgetId,...n.origin?{"X-Parent-Origin":n.origin}:{}}}async function i(c,h,p){const w=await fetch(`${n.baseUrl}${ce}${h}`,{method:c,credentials:"include",headers:o(),body:p!==void 0?JSON.stringify(p):void 0});if(!w.ok){const B=await l(w),E=new Error(`HTTP ${w.status} ${c} ${h} :: ${(B==null?void 0:B.error)||w.statusText}`);throw E.status=w.status,E.body=B,E}return w.status===204?null:w.json()}async function l(c){try{return await c.json()}catch{return null}}async function f(c){if(n.started)return n.lastBootstrap;if(!(c!=null&&c.origin))throw new Error("[transport] start requires origin");n.started=!0,n.origin=c.origin,n.token=c.token||"";const h=await fetch(`${n.baseUrl}${ce}/session`,{method:"POST",credentials:"include",headers:o(),body:JSON.stringify({origin:n.origin,...n.token?{token:n.token}:{},allowUnauthenticated:c.allowUnauthenticated===!0,...c.variables&&typeof c.variables=="object"?{variables:c.variables}:{}})});if(!h.ok){const D=await l(h),z=new Error(`Session bootstrap failed: HTTP ${h.status} :: ${(D==null?void 0:D.error)||h.statusText}`);throw z.status=h.status,z.body=D,z}const p=await h.json();n.userId=p.external_id;const[w,B]=await Promise.all([fetch(`${n.baseUrl}/widgets/${encodeURIComponent(n.widgetId)}/config`,{credentials:"include"}).then(async D=>{if(!D.ok){const z=await l(D);throw new Error(`HTTP ${D.status} GET /widgets/:id/config :: ${(z==null?void 0:z.error)||D.statusText}`)}return D.json()}),i("GET","/customers/me")]),E={config:w,customer:(B==null?void 0:B.customer)??null};return n.lastBootstrap=E,await y(),typeof document<"u"&&(n.visibilityHandler=u,document.addEventListener("visibilitychange",n.visibilityHandler)),ee(),E}async function y(){try{const c=await S();n.lastActivityAt=c.reduce((h,p)=>{const w=p==null?void 0:p.last_message_at;return w&&(!h||w>h)?w:h},null)}catch(c){console.error("[transport] initial /conversations failed",c)}}async function _(){const c=await i("GET","/customers/me");return(c==null?void 0:c.customer)??null}async function C(c){const h=await i("PATCH","/customers/me",c);return(h==null?void 0:h.customer)??null}async function S(){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 L(c){return(await i("GET",`/conversations/${encodeURIComponent(c)}`)).conversation}async function b(c,h){return(await i("PATCH",`/conversations/${encodeURIComponent(c)}`,h)).conversation}async function V(c,h){return i("PATCH",`/conversations/${encodeURIComponent(c)}/read`,{message_id:h})}async function M(c,h={}){const p=new URLSearchParams;h.before&&p.set("before",h.before),h.since&&p.set("since",h.since),h.limit&&p.set("limit",String(h.limit));const w=p.toString()?`?${p.toString()}`:"";return i("GET",`/conversations/${encodeURIComponent(c)}/messages${w}`)}async function A(c,h){W();const p={client_msg_id:h.client_msg_id,type:"content",text_md:h.text_md,author:{id:n.userId,type:"user"},created_at:h.created_at||new Date().toISOString()};return Array.isArray(h.attachments)&&h.attachments.length&&(p.payload={type:"content",attachments:h.attachments}),h.metadata&&typeof h.metadata=="object"&&(p.metadata=h.metadata),n.currentContext&&Object.keys(n.currentContext).length>0&&(p.context=n.currentContext),i("POST",`/conversations/${encodeURIComponent(c)}/messages`,p)}async function O(c,h,p){return W(),i("POST",`/messages/${encodeURIComponent(c)}/callbacks/${encodeURIComponent(h)}`,p?{inputs:p}:{})}async function U(c){const h=c.name||"attachment",p=c.type||"application/octet-stream",w=c.size||0,B=await i("POST","/attachments",{mime_type:p,size_bytes:w,name:h}),E=await fetch(B.upload_url,{method:"PUT",headers:{"Content-Type":p},body:c});if(!E.ok)throw new Error(`HTTP ${E.status} PUT signed upload`);return{type:rt(p),path:B.path,mime_type:p,size_bytes:w}}async function q(c){return i("GET",`/attachments/sign?path=${encodeURIComponent(c)}`)}function $(){const c=new URLSearchParams({widgetId:n.widgetId}).toString();return`${n.baseUrl}${ce}/stream?${c}`}function I(){if(!n.eventSource&&!(typeof document<"u"&&document.hidden)&&n.started)try{const c=new EventSource($(),{withCredentials:!0});for(const h of Qe)c.addEventListener(h,p=>K(h,p.data));c.addEventListener("error",()=>a("error",new Error("SSE error"))),n.eventSource=c,s("open")}catch(c){console.error("[transport] SSE open failed",c),a("error",c)}}function K(c,h){try{const p=JSON.parse(h),w=p&&typeof p=="object"&&"data"in p?p.data:p;a(c,w)}catch(p){console.error("[transport] bad SSE payload",c,p)}}function F(){n.eventSource&&(n.eventSource.close(),n.eventSource=null),n.connection!=="paused"&&s("idle")}function W(){clearTimeout(n.burstTimer),I(),n.panelOpen||(n.burstTimer=setTimeout(()=>{n.panelOpen||F()},et))}function Z(c){n.panelOpen=!!c,n.panelOpen?(clearTimeout(n.burstTimer),I()):W()}async function le(){try{const c=await S(),h=c.reduce((w,B)=>{const E=B==null?void 0:B.last_message_at;return E&&(!w||E>w)?E:w},null);h&&(!n.lastActivityAt||h>n.lastActivityAt)&&(n.lastActivityAt=h,a("activity",{conversations:c,latestAt:h}),W())}catch(c){console.error("[transport] poll failed",c)}}function ee(){d(),!(typeof document<"u"&&document.hidden)&&(n.pollTimer=setInterval(le,Ze))}function d(){n.pollTimer&&(clearInterval(n.pollTimer),n.pollTimer=null)}function u(){if(document.hidden)clearTimeout(n.hiddenGraceTimer),n.hiddenGraceTimer=setTimeout(()=>{n.hiddenGraceTimer=null,document.hidden&&(d(),F(),s("paused"))},tt);else{if(n.hiddenGraceTimer){clearTimeout(n.hiddenGraceTimer),n.hiddenGraceTimer=null;return}s("idle"),ee(),n.panelOpen&&I()}}function m(){d(),clearTimeout(n.burstTimer),clearTimeout(n.hiddenGraceTimer),n.hiddenGraceTimer=null,F(),n.visibilityHandler&&(document.removeEventListener("visibilitychange",n.visibilityHandler),n.visibilityHandler=null),n.started=!1}async function g(c){return!c||typeof c!="object"?null:i("POST","/update",c)}function v(c){if(!(!c||typeof c!="object"))for(const[h,p]of Object.entries(c)){if(p===null){delete n.currentContext[h];continue}typeof p=="object"&&!Array.isArray(p)&&(n.currentContext[h]={...p})}}return{on:r,start:f,stop:m,setPanelOpen:Z,update:g,context:v,getCustomer:_,patchCustomer:C,listConversations:S,createConversation:k,getConversation:L,patchConversation:b,markConversationRead:V,listMessages:M,postMessage:A,postCallback:O,uploadAttachment:U,signAttachment:q,get connection(){return n.connection}}}function nt(e){return e.endsWith("/")?e.slice(0,-1):e}function rt(e){return e.startsWith("image/")?"image":e.startsWith("video/")?"video":e.startsWith("audio/")?"audio":"file"}function ue(){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 r=0;r<16;r++)e[r]=Math.floor(Math.random()*256);e[6]=e[6]&15|64,e[8]=e[8]&63|128;const n=[...e].map(r=>r.toString(16).padStart(2,"0"));return n.slice(0,4).join("")+"-"+n.slice(4,6).join("")+"-"+n.slice(6,8).join("")+"-"+n.slice(8,10).join("")+"-"+n.slice(10,16).join("")}function we(e){const n=t.reactive({ready:!1,error:null,config:null,customer:null,conversations:[],messagesByConv:{},paginationByConv:{},streamingByMsgId:{},awaitingCallback:{},runningActionsByConv:{},connection:"idle"}),r=[];r.push(e.on("connection",d=>{n.connection=d})),r.push(e.on("message",d=>{const u=d==null?void 0:d.conversation_id,m=d==null?void 0:d.message;!u||!(m!=null&&m.id)||(I(u,m),m.client_msg_id&&delete n.streamingByMsgId[m.client_msg_id],W(u,m.created_at))})),r.push(e.on("message_stream",d=>{const u=d==null?void 0:d.message_id,m=d==null?void 0:d.token;!u||typeof m!="string"||(n.streamingByMsgId[u]=(n.streamingByMsgId[u]||"")+m)})),r.push(e.on("conversation_updated",d=>{const u=d==null?void 0:d.conversation_id,m=d==null?void 0:d.changes;if(!u||!m)return;const g=n.conversations.findIndex(v=>v.id===u);g!==-1&&(n.conversations[g]={...n.conversations[g],...m})})),r.push(e.on("config_updated",d=>{d!=null&&d.config&&(n.config=d.config)})),r.push(e.on("action_status",d=>{const u=d==null?void 0:d.conversation_id,m=d==null?void 0:d.action_id,g=d==null?void 0:d.action_name;if(!u||!m)return;const v=n.runningActionsByConv[u]||{};d.state==="running"?(v[m]=g||m,n.runningActionsByConv[u]={...v}):d.state==="done"&&(delete v[m],n.runningActionsByConv[u]={...v})})),r.push(e.on("activity",d=>{Array.isArray(d==null?void 0:d.conversations)&&(n.conversations=d.conversations)}));async function a(d){try{const u=new Promise((g,v)=>setTimeout(()=>v(new Error("bootstrap timeout (15s) — check baseUrl, CORS, and network")),15e3)),m=await Promise.race([e.start(d),u]);n.config=m.config,n.customer=m.customer,n.conversations=await Promise.race([e.listConversations(),u]),n.ready=!0}catch(u){console.error("[store] start failed",u),n.error=(u==null?void 0:u.message)||String(u)}}function s(){for(const d of r)try{d()}catch{}e.stop()}async function o(d){const u=le(d);if(!u)return n.customer;try{const m=await e.patchCustomer(u);m&&(n.customer=m)}catch(m){console.error("[store] applyCustomer failed",m)}return n.customer}async function i(d={}){const u=await e.createConversation(d),m=n.conversations.findIndex(g=>g.id===u.id);return m===-1?n.conversations=[u,...n.conversations]:n.conversations[m]=u,u}const l=50;async function f(d){const u=n.paginationByConv[d];if(!(u!=null&&u.loaded||u!=null&&u.loading)){_(d,{nextCursor:null,loading:!0,loaded:!1});try{const m=await e.listMessages(d,{limit:l}),g=(m==null?void 0:m.messages)??[],v=n.messagesByConv[d]||[],c=new Set;for(const p of g)(p==null?void 0:p.id)!=null&&c.add(`id:${String(p.id)}`),p!=null&&p.client_msg_id&&c.add(`c:${p.client_msg_id}`);const h=v.filter(p=>!((p==null?void 0:p.id)!=null&&c.has(`id:${String(p.id)}`)||p!=null&&p.client_msg_id&&c.has(`c:${p.client_msg_id}`)));n.messagesByConv[d]=[...g,...h].sort(Z),_(d,{nextCursor:(m==null?void 0:m.next_cursor)??null,loading:!1,loaded:!0})}catch(m){console.error("[store] openConversation failed",m),_(d,{nextCursor:null,loading:!1,loaded:!1})}}}async function y(d){var v;const u=n.paginationByConv[d];if(!u||u.loading||!u.nextCursor)return;const g=(v=(n.messagesByConv[d]||[]).find(c=>c==null?void 0:c.created_at))==null?void 0:v.created_at;if(g){_(d,{...u,loading:!0});try{const c=await e.listMessages(d,{before:g,limit:l}),h=(c==null?void 0:c.messages)??[],p=n.messagesByConv[d]||[],w=new Set;for(const E of p)(E==null?void 0:E.id)!=null&&w.add(`id:${String(E.id)}`),E!=null&&E.client_msg_id&&w.add(`c:${E.client_msg_id}`);const B=h.filter(E=>!((E==null?void 0:E.id)!=null&&w.has(`id:${String(E.id)}`)||E!=null&&E.client_msg_id&&w.has(`c:${E.client_msg_id}`)));n.messagesByConv[d]=[...B,...p],_(d,{nextCursor:(c==null?void 0:c.next_cursor)??null,loading:!1,loaded:!0})}catch(c){console.error("[store] loadMore failed",c),_(d,{...u,loading:!1})}}}function _(d,u){n.paginationByConv={...n.paginationByConv,[d]:u}}async function C(d,u){const m=await e.patchConversation(d,u),g=n.conversations.findIndex(v=>v.id===d);g!==-1&&(n.conversations[g]=m)}async function S(d){if(!d)return[];const u=n.messagesByConv[d]||[];let m="";for(const g of u)g!=null&&g.created_at&&g.created_at>m&&(m=g.created_at);try{const g=await e.listMessages(d,m?{since:m}:{}),v=(g==null?void 0:g.messages)||[];if(!v.length)return[];const c=new Set,h=new Set;for(const w of u)(w==null?void 0:w.id)!=null&&c.add(String(w.id)),w!=null&&w.client_msg_id&&h.add(w.client_msg_id);const p=[];for(const w of v){const B=(w==null?void 0:w.id)!=null&&c.has(String(w.id))||(w==null?void 0:w.client_msg_id)&&h.has(w.client_msg_id);I(d,w),B||p.push(w)}return p}catch(g){return console.error("[store] fetchSinceLast failed",g),[]}}async function k(d,u){if(!(!d||u==null))try{const m=await e.markConversationRead(d,u),g=(m==null?void 0:m.last_read_message_id)??u,v=n.conversations.findIndex(c=>(c==null?void 0:c.id)===d);v!==-1&&(n.conversations[v]={...n.conversations[v],last_read_message_id:g})}catch(m){console.error("[store] markConversationRead failed",m)}}async function L(d,u,{attachments:m,metadata:g}={}){var B;const v=(u||"").trim(),c=Array.isArray(m)&&m.length>0;if(!d||!v&&!c)return;const h=ue(),p=ee(d),w={id:h,client_msg_id:h,conversation_id:d,type:"content",text_md:v,author:{type:"user",id:((B=n.customer)==null?void 0:B.external_id)||null},created_at:p,_pending:!0,...c?{payload:{type:"content",attachments:m}}:{},...g&&typeof g=="object"?{metadata:g}:{}};I(d,w);try{await e.postMessage(d,{client_msg_id:h,text_md:v,created_at:p,...c?{attachments:m}:{},...g&&typeof g=="object"?{metadata:g}:{}})}catch(E){console.error("[store] send failed",E),F(d,h,{_failed:!0,_pending:!1})}}async function b(d,u,m){d!=null&&(n.awaitingCallback[d]=!0);try{await e.postCallback(d,u,m)}catch(g){console.error("[store] callback failed",g),d!=null&&delete n.awaitingCallback[d]}}const V=new Map;async function M(d){if(!d)return null;const u=V.get(d);if(u!=null&&u.url){const m=u.expires_at?Date.parse(u.expires_at):0;if(!m||m-Date.now()>6e4)return u.url}try{const m=await e.signAttachment(d);if(m!=null&&m.signed_url)return V.set(d,{url:m.signed_url,expires_at:m.expires_at}),m.signed_url}catch(m){console.error("[store] sign attachment failed",m)}return null}async function A(d,{rating:u,comment:m}={}){const g=n.conversations.find(h=>h.id===d),c={...(g==null?void 0:g.metadata)||{},feedback:{rating:u,comment:m||null,submitted_at:new Date().toISOString()}};await C(d,{metadata:c})}function O(d){var m,g;const u=n.messagesByConv[d]||[];for(let v=u.length-1;v>=0;v--){const c=u[v];if((c==null?void 0:c.type)==="action"&&((m=c==null?void 0:c.payload)==null?void 0:m.type)==="action"&&((g=c==null?void 0:c.payload)==null?void 0:g.state)==="pending"&&Array.isArray(c==null?void 0:c.callbacks)&&c.callbacks.length>0&&!n.awaitingCallback[c.id])return c}return null}function U(d){var m,g,v;const u=n.messagesByConv[d]||[];for(let c=u.length-1;c>=0;c--){const h=u[c];if(((m=h==null?void 0:h.author)==null?void 0:m.type)==="user"||(h==null?void 0:h.type)==="action"&&((g=h==null?void 0:h.payload)==null?void 0:g.state)==="pending")return null;const p=(v=h==null?void 0:h.metadata)==null?void 0:v.form;if(p&&Array.isArray(p.fields)&&p.fields.length>0)return{message:h,form:p}}return null}function q(d){const u=n.runningActionsByConv[d];if(!u)return null;const m=Object.keys(u);if(m.length===0)return null;const g=m[0];return{id:g,payload:{name:u[g]}}}function $(d){var m,g,v,c;const u=n.messagesByConv[d]||[];for(let h=u.length-1;h>=0;h--){const p=u[h];if(((m=p==null?void 0:p.author)==null?void 0:m.type)==="user")return[];if((p==null?void 0:p.type)==="action"&&((g=p==null?void 0:p.payload)==null?void 0:g.state)==="pending")return[];if(((v=p==null?void 0:p.author)==null?void 0:v.type)!=="agent_ia")continue;const w=(c=p==null?void 0:p.metadata)==null?void 0:c.suggested_replies;return Array.isArray(w)&&w.length?w.map(B=>{if(typeof B=="string"){const E=B.trim();return E?{label:E,kind:null}:null}if(B&&typeof B=="object"&&typeof B.label=="string"){const E=B.label.trim();if(!E)return null;const D=B.kind==="cta"||B.kind==="choice"||B.kind==="followup"?B.kind:null;return{label:E,kind:D}}return null}).filter(Boolean).slice(0,4):[]}return[]}function I(d,u){var c;const m=n.messagesByConv[d]||[];let g=-1;u!=null&&u.client_msg_id&&(g=m.findIndex(h=>(h==null?void 0:h.client_msg_id)&&h.client_msg_id===u.client_msg_id)),g===-1&&(u==null?void 0:u.id)!==void 0&&(u==null?void 0:u.id)!==null&&(g=m.findIndex(h=>K(h==null?void 0:h.id,u.id)));let v;g===-1?v=[...m,u].sort(Z):(v=m.slice(),v[g]={...m[g],...u,_pending:!1,_failed:!1}),n.messagesByConv[d]=v,(u==null?void 0:u.type)==="action"&&((c=u==null?void 0:u.payload)!=null&&c.state)&&u.payload.state!=="pending"&&(u==null?void 0:u.id)!=null&&n.awaitingCallback[u.id]&&delete n.awaitingCallback[u.id]}function K(d,u){return d===u?!0:d==null||u==null?!1:String(d)===String(u)}function F(d,u,m){const g=n.messagesByConv[d];if(!g)return;const v=g.findIndex(h=>h.id===u);if(v===-1)return;const c=g.slice();c[v]={...g[v],...m},n.messagesByConv[d]=c}function W(d,u){const m=n.conversations.findIndex(v=>v.id===d);if(m===-1)return;const g=n.conversations[m];if(u&&(!g.last_message_at||u>g.last_message_at)){const v=n.conversations.slice();v[m]={...g,last_message_at:u},v.sort((c,h)=>(h.last_message_at||"").localeCompare(c.last_message_at||"")),n.conversations=v}}function Z(d,u){return(d.created_at||"").localeCompare(u.created_at||"")}function le(d){if(!d||typeof d!="object")return null;const u={},m={};for(const[g,v]of Object.entries(d))v!==void 0&&(g==="name"||g==="email"||g==="language"?v!=null&&String(v).trim()!==""&&(u[g]=v):(g==="values"||g==="metadata")&&v&&typeof v=="object"?Object.assign(m,v):m[g]=v);return Object.keys(m).length&&(u.values=m),Object.keys(u).length?u:null}function ee(d){const u=n.messagesByConv[d]||[];let m="";for(const c of u)c!=null&&c.created_at&&c.created_at>m&&(m=c.created_at);const g=new Date().toISOString();return!m||g>m?g:new Date(Date.parse(m)+1).toISOString()}return{state:n,start:a,destroy:s,applyCustomer:o,createConversation:i,openConversation:f,loadMore:y,fetchSinceLast:S,patchConversation:C,markConversationRead:k,send:L,clickCallback:b,signAttachment:M,submitFeedback:A,getPendingApproval:O,getActionInFlight:q,getLatestSuggestions:$,getLatestForm:U,setPanelOpen:e.setPanelOpen}}const x={w:"#ffffff",g50:"#F9F9F7",g100:"#F2F1EE",g150:"#E8E6E2",g200:"#D9D6CF",g300:"#B4B0A8",g400:"#888480",g500:"#5A5753",g700:"#2B2926",g900:"#17161A",accent:"#5B5FEF",accentLight:"#EEEFFE",green:"#22C55E",red:"#B91C1C",redBg:"#FDECEC"},te=["#5B5FEF","#7C3AED","#DB2777","#0891B2","#D97706","#059669"];function oe(e=""){return e?te[e.charCodeAt(0)%te.length]:te[0]}function ae(e=""){return e.split(" ").map(n=>n[0]||"").join("").toUpperCase().slice(0,2)}function re(e=new Date,n="fr-FR"){return e.toLocaleTimeString(n,{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 {
@@ -55,4 +55,4 @@ ${l}`)}return s.join(`
55
55
  `),r=[];let a=0;for(;a<n.length;){const o=n[a];if(/^\s*```([\w-]*)\s*$/.exec(o)){a++;const y=[];for(;a<n.length&&!/^\s*```\s*$/.test(n[a]);)y.push(n[a]),a++;a<n.length&&a++,r.push({type:"block",html:`<pre class="wm-md-pre"><code>${y.join(`
56
56
  `)}</code></pre>`});continue}if(/^\s*[-*]\s+/.test(o)){const y=[];for(;a<n.length;){const C=/^\s*[-*]\s+(.*)$/.exec(n[a]);if(!C)break;y.push(C[1]),a++}const _=y.map(C=>`<li>${Y(C)}</li>`).join("");r.push({type:"block",html:`<ul class="wm-md-ul">${_}</ul>`});continue}const l=/^\s*(\d+)\.\s+(.*)$/.exec(o);if(l){const y=parseInt(l[1],10),_=[l[2]];for(a++;a<n.length;){const k=/^\s*\d+\.\s+(.*)$/.exec(n[a]);if(!k)break;_.push(k[1]),a++}const C=_.map(k=>`<li>${Y(k)}</li>`).join(""),S=y!==1?` start="${y}"`:"";r.push({type:"block",html:`<ol class="wm-md-ol"${S}>${C}</ol>`});continue}const f=/^(#{1,6})\s+(.*)$/.exec(o);if(f){const y=f[1].length;r.push({type:"block",html:`<h${y} class="wm-md-h wm-md-h${y}">${Y(f[2])}</h${y}>`}),a++;continue}r.push({type:"text",html:Y(o)}),a++}let s="";for(let o=0;o<r.length;o++){const i=r[o];s+=i.html;const l=r[o+1];l&&i.type!=="block"&&l.type!=="block"&&(s+=`
57
57
  `)}return s}function X(e){var r;const n=(r=e==null?void 0:e.author)==null?void 0:r.type;return n==="agent_ia"||n==="agent_human"}function R(e){if(e==null)return null;const n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?n:null}function ge(e,n){let r=(e==null?void 0:e.last_message_at)||(e==null?void 0:e.updated_at)||(e==null?void 0:e.created_at)||"";for(const a of n)a!=null&&a.created_at&&a.created_at>r&&(r=a.created_at);return r}function ut(e,n){var r,a,s;for(let o=n.length-1;o>=0;o--){const i=n[o];if(!i)continue;const l=typeof i.text_md=="string"?i.text_md.trim():"";if(l)return(((r=i.author)==null?void 0:r.type)==="user"?"Vous : ":"")+l.replace(/\s+/g," ");const f=(a=i.payload)==null?void 0:a.attachments;if(Array.isArray(f)&&f.length)return"📎 Pièce jointe"}return(e==null?void 0:e.last_message_preview)||(e==null?void 0:e.preview)||((s=e==null?void 0:e.metadata)==null?void 0:s.last_preview)||""}function mt(e,n){return(e==null?void 0:e.name)||((e==null?void 0:e.type)==="user"?n("common.you"):(e==null?void 0:e.type)==="agent_human"?n("common.agent"):(e==null?void 0:e.type)==="agent_ia"?n("common.aiAssistant"):n("common.system"))}function ht(e,n,r,a){const s=[`# ${e.name||r("common.conversation")}`,e.created_at?r("export.createdOn",{date:new Date(e.created_at).toLocaleString(a)}):"",""];for(const o of n){if(!o)continue;const i=(o.text_md||"").trim();if(!i)continue;const l=mt(o.author,r),f=o.created_at?new Date(o.created_at).toLocaleString(a):"";s.push(`[${f}] ${l} :`),s.push(i),s.push("")}return s.join(`
58
- `)}function ft(e,n,r=T(),a){if(!e)return;const s=ht(e,n||[],r,P(a)),o=new Blob([s],{type:"text/plain;charset=utf-8"});try{const i=URL.createObjectURL(o),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 pt={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,n;if(this._audioCtx){try{(n=(e=this._audioCtx).close)==null||n.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 n=localStorage.getItem(this.browserNotifStorageKey());n==="0"?this.browserNotifEnabled=!1:n==="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 n=Notification.permission;if(n==="default"){try{n=await Notification.requestPermission()}catch(r){console.warn("[ww-messenger] notif permission request failed",r),n="denied"}this.notifPermission=n}this.browserNotifEnabled=n==="granted",this.persistBrowserNotifPref()},onMessageRevealed(e,n){var s;if(!this.soundEnabled&&!this.browserNotifEnabled||!n||!e||!X(e))return;const r=typeof document<"u"&&document.hidden;this.isOpen&&!r&&((s=this.currentConv)==null?void 0:s.id)===n||(this.soundEnabled&&this.playNotificationSound(),this.browserNotifEnabled&&this.showBrowserNotification(n,e))},playNotificationSound(){if(typeof window>"u")return;const e=window.AudioContext||window.webkitAudioContext;if(e)try{this._audioCtx||(this._audioCtx=new e);const n=this._audioCtx;if(n.state==="suspended")try{n.resume()}catch{}const r=n.currentTime,a=n.createOscillator(),s=n.createGain();a.connect(s),s.connect(n.destination),a.type="sine",a.frequency.setValueAtTime(880,r),a.frequency.exponentialRampToValueAtTime(1320,r+.08),s.gain.setValueAtTime(0,r),s.gain.linearRampToValueAtTime(.12,r+.02),s.gain.exponentialRampToValueAtTime(1e-4,r+.28),a.start(r),a.stop(r+.32)}catch{}},showBrowserNotification(e,n){if(typeof Notification>"u"||Notification.permission!=="granted")return;const r=n==null?void 0:n.author,a=!r||r.type==="agent_ia",o=((r==null?void 0:r.name)||(a?this.agentName:"")||this.t("launcher.theAgent"))+this.t("launcher.repliedToYou"),i=typeof(n==null?void 0:n.text_md)=="string"?n.text_md.trim():"",l=i?i.slice(0,140):this.t("notification.youHaveNewMessage");try{const f=new Notification(o,{body:l,tag:`wm-${e}`,renotify:!1,silent:!0});f.onclick=()=>{try{window.focus()}catch{}this.draftConv=null,this.showOnboarding=!1,this.activeConvId=e,this.isOpen=!0,this.store&&this.store.setPanelOpen(!0);try{f.close()}catch{}}}catch(f){console.warn("[ww-messenger] notification failed",f)}}}},gt=450,_t=50,yt=900,vt=12e3,kt=300,wt={data(){return{revealedAt:{},nextRevealAt:0,revealTimers:[],_liveRevealOff:null,_liveRevealConvSnapshot:null}},methods:{cancelReveals(){for(const e of this.revealTimers)clearTimeout(e);this.revealTimers=[]},resetRevealQueue(){this.cancelReveals(),this.revealedAt={},this.nextRevealAt=0},setupLiveReveal(){var r;if(!this.transport)return;this.teardownLiveReveal();const e=this.transport.on("message",a=>{const s=a==null?void 0:a.conversation_id,o=a==null?void 0:a.message;s&&o&&this.paceLiveMessage(o,s)});this._liveRevealConvSnapshot=new Map((((r=this.s)==null?void 0:r.conversations)||[]).map(a=>[a.id,(a==null?void 0:a.last_message_at)||""]));const n=this.transport.on("activity",a=>{this.handleLiveActivity(a)});this._liveRevealOff=()=>{try{e()}catch{}try{n()}catch{}}},teardownLiveReveal(){if(this._liveRevealOff){try{this._liveRevealOff()}catch{}this._liveRevealOff=null}this._liveRevealConvSnapshot=null},async handleLiveActivity(e){var s,o;const n=e==null?void 0:e.conversations;if(!Array.isArray(n)||!this.store)return;const r=this._liveRevealConvSnapshot||new Map,a=[];for(const i of n){if(!(i!=null&&i.id))continue;const l=i.last_message_at||"";if(!l)continue;const f=r.get(i.id)||"";l>f&&a.push(i.id)}this._liveRevealConvSnapshot=new Map(n.map(i=>[i.id,(i==null?void 0:i.last_message_at)||""]));for(const i of a)try{const l=await((o=(s=this.store).fetchSinceLast)==null?void 0:o.call(s,i));if(!Array.isArray(l))continue;for(const f of l)this.paceLiveMessage(f,i)}catch(l){console.error("[ww-messenger] activity delta fetch failed",l)}},scheduleReveal(e,n){const r=Date.now(),a=((e==null?void 0:e.text_md)||"").length,s=Math.min(vt,Math.max(yt,a*_t)),i=Math.max(r+gt,this.nextRevealAt+kt)+s;this.nextRevealAt=i;const l=Math.max(0,i-r),f=e.id,y=setTimeout(()=>{this.revealedAt={...this.revealedAt,[f]:Date.now()},this.revealTimers=this.revealTimers.filter(_=>_!==y),typeof this.onMessageRevealed=="function"&&this.onMessageRevealed(e,n)},l);this.revealTimers.push(y)},paceMessages(e,n){var s;if(!Array.isArray(e)||!e.length)return;const r=Date.now(),a={...this.revealedAt};for(const o of e){if((o==null?void 0:o.id)==null||a[o.id]!==void 0)continue;if(!X(o)){a[o.id]=r;continue}const i=o!=null&&o.created_at?Date.parse(o.created_at):NaN;if(!Number.isFinite(i)||i<this.convOpenedAt){a[o.id]=r;continue}const l=typeof(o==null?void 0:o.text_md)=="string"&&o.text_md.trim().length>0,f=Array.isArray((s=o==null?void 0:o.payload)==null?void 0:s.attachments)&&o.payload.attachments.length>0;if(!l&&!f){a[o.id]=r;continue}a[o.id]=0,this.scheduleReveal(o,n)}this.revealedAt=a},paceLiveMessage(e,n){var s;if(!(e!=null&&e.id)||this.revealedAt[e.id]!==void 0)return;if(!X(e)){this.revealedAt={...this.revealedAt,[e.id]:Date.now()};return}const r=typeof(e==null?void 0:e.text_md)=="string"&&e.text_md.trim().length>0,a=Array.isArray((s=e==null?void 0:e.payload)==null?void 0:s.attachments)&&e.payload.attachments.length>0;if(!r&&!a){this.revealedAt={...this.revealedAt,[e.id]:Date.now()};return}this.revealedAt={...this.revealedAt,[e.id]:0},this.scheduleReveal(e,n)}}},bt={data(){return{approvalSettled:!0,approvalSettleTimer:null,approvalLatchId:null}},methods:{resetApprovalPacing(){this.approvalSettleTimer&&(clearTimeout(this.approvalSettleTimer),this.approvalSettleTimer=null),this.approvalSettled=!0,this.approvalLatchId=null},bumpApprovalSettle(e=800){this.approvalSettled=!1,this.approvalSettleTimer&&clearTimeout(this.approvalSettleTimer),this.approvalSettleTimer=setTimeout(()=>{this.approvalSettled=!0,this.approvalSettleTimer=null},e)}}},Et=300,Ct={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 o,i;if(!(e!=null&&e.id)||e._draft||!this.store)return;const n=((i=(o=this.s)==null?void 0:o.messagesByConv)==null?void 0:i[e.id])||[],r=Bt(n);if(r==null)return;const a=R(e.last_read_message_id),s=R(r);s!=null&&(a!=null&&s<=a||(this._readMarkerPending={convId:e.id,messageId:r},!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)},Et))))}}};function Bt(e){for(let n=e.length-1;n>=0;n--){const r=e[n];if(!(!r||r._pending)&&R(r.id)!=null)return r.id}return null}const N=(e,n)=>{const r=e.__vccOpts||e;for(const[a,s]of n)r[a]=s;return r},St={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)}}},Nt=["src","alt"];function At(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["wm-huav",{"wm-huav--tail":r.tail}]),style:t.normalizeStyle({width:r.size+"px",height:r.size+"px","--wm-avr":Math.round(r.size*.32)+"px",background:o.bg})},[r.avatarUrl?(t.openBlock(),t.createElementBlock("img",{key:0,src:r.avatarUrl,alt:r.name||""},null,8,Nt)):(t.openBlock(),t.createElementBlock("span",{key:1,style:t.normalizeStyle({fontSize:r.size*.36+"px"})},t.toDisplayString(o.initials),5))],6)}const Q=N(St,[["render",At],["__scopeId","data-v-14e10c0d"]]),Vt=3,Mt={name:"WmLauncher",components:{HumanAvatar:Q},inject:{t:{default:()=>T()}},props:{unreadCount:{type:Number,default:0},peeks:{type:Array,default:()=>[]}},emits:["open","dismiss"],computed:{visiblePeeks(){return this.peeks.slice(0,Vt).reverse()}}},Tt=["aria-label","onClick","onKeydown"],xt=["aria-label","onClick"],Dt={class:"wm-peek__avatar"},Lt=["aria-label"],Ot={class:"wm-peek__body"},It={class:"wm-peek__head"},Rt={class:"wm-peek__name"},Ft={class:"wm-peek__action"},Pt={class:"wm-peek__text"},Ut=["onClick"],zt=["aria-label"],jt=["aria-label"];function Ht(e,n,r,a,s,o){const i=t.resolveComponent("HumanAvatar");return t.openBlock(),t.createElementBlock("div",{class:"wm-launcherWrap",onMouseenter:n[1]||(n[1]=l=>e.$emit("hover",!0)),onMouseleave:n[2]||(n[2]=l=>e.$emit("hover",!1)),onFocusin:n[3]||(n[3]=l=>e.$emit("hover",!0)),onFocusout:n[4]||(n[4]=l=>e.$emit("hover",!1))},[t.createVNode(t.Transition,{name:"wm-peek"},{default:t.withCtx(()=>[o.visiblePeeks.length?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["wm-peekStack",{"wm-peekStack--multi":o.visiblePeeks.length>1}])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.visiblePeeks,(l,f)=>(t.openBlock(),t.createElementBlock("div",{key:l.convId,class:"wm-peek",style:t.normalizeStyle({"--depth":o.visiblePeeks.length-1-f,zIndex:f+1}),role:"button",tabindex:"0","aria-label":o.t("launcher.openConversationWith",{name:l.senderName||o.t("launcher.theAgent")}),onClick:y=>e.$emit("open",l.convId),onKeydown:[t.withKeys(t.withModifiers(y=>e.$emit("open",l.convId),["prevent"]),["enter"]),t.withKeys(t.withModifiers(y=>e.$emit("open",l.convId),["prevent"]),["space"])]},[t.createElementVNode("button",{type:"button",class:"wm-peek__close","aria-label":o.t("launcher.dismiss"),onClick:t.withModifiers(y=>e.$emit("dismiss",l.convId),["stop"])},[...n[5]||(n[5]=[t.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"},[t.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,xt),t.createElementVNode("div",Dt,[t.createVNode(i,{name:l.senderName,"avatar-url":l.senderAvatarUrl,size:34},null,8,["name","avatar-url"]),l.count>1?(t.openBlock(),t.createElementBlock("span",{key:0,class:"wm-peek__avatarBadge","aria-label":o.t("launcher.unreadMessages",{count:l.count})},t.toDisplayString(l.count>9?"9+":l.count),9,Lt)):t.createCommentVNode("",!0)]),t.createElementVNode("div",Ot,[t.createElementVNode("div",It,[t.createElementVNode("span",Rt,t.toDisplayString(l.senderName||o.t("common.agent")),1),t.createElementVNode("span",Ft,t.toDisplayString(o.t("launcher.repliedToYou")),1)]),t.createElementVNode("p",Pt,t.toDisplayString(l.preview),1)]),t.createElementVNode("button",{type:"button",class:"wm-peek__open",onClick:t.withModifiers(y=>e.$emit("open",l.convId),["stop"])},t.toDisplayString(o.t("common.open")),9,Ut)],44,Tt))),128))],2)):t.createCommentVNode("",!0)]),_:1}),t.createElementVNode("button",{type:"button",class:"wm-launcher","aria-label":o.t("launcher.open"),onClick:n[0]||(n[0]=l=>e.$emit("open"))},[n[6]||(n[6]=t.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"},[t.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)),r.unreadCount>0?(t.openBlock(),t.createElementBlock("span",{key:0,class:"wm-launcher__badge","aria-label":r.unreadCount>1?o.t("launcher.unreadConversationsMany",{count:r.unreadCount}):o.t("launcher.unreadConversationsOne",{count:r.unreadCount})},t.toDisplayString(r.unreadCount>9?"9+":r.unreadCount),9,jt)):t.createCommentVNode("",!0)],8,zt)],32)}const Ae=N(Mt,[["render",Ht],["__scopeId","data-v-44ddf1a1"]]),qt={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)}}},$t={key:0,class:"wm-aiav__pulse"},Kt=["src","alt"],Wt=["width","height"];function Gt(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["wm-aiav",{"wm-aiav--tail":r.tail}]),style:t.normalizeStyle({width:r.size+"px",height:r.size+"px","--wm-avr":r.size*.32+"px"})},[r.pulse?(t.openBlock(),t.createElementBlock("div",$t)):t.createCommentVNode("",!0),t.createElementVNode("div",{class:t.normalizeClass(["wm-aiav__inner",{"wm-aiav__inner--glow":r.pulse,"wm-aiav__inner--img":!!r.imageUrl,"wm-aiav__inner--initials":!r.imageUrl&&!!o.initials}]),style:t.normalizeStyle(!r.imageUrl&&o.initials?{background:o.bgColor}:null)},[r.imageUrl?(t.openBlock(),t.createElementBlock("img",{key:0,src:r.imageUrl,alt:r.name||""},null,8,Kt)):o.initials?(t.openBlock(),t.createElementBlock("span",{key:1,style:t.normalizeStyle({fontSize:r.size*.36+"px"})},t.toDisplayString(o.initials),5)):(t.openBlock(),t.createElementBlock("svg",{key:2,width:r.size*.5,height:r.size*.5,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},[...n[0]||(n[0]=[t.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),t.createElementVNode("circle",{cx:"19",cy:"5",r:"1.5",fill:"white",opacity:"0.55"},null,-1),t.createElementVNode("circle",{cx:"5",cy:"18",r:"1",fill:"white",opacity:"0.38"},null,-1)])],8,Wt))],6)],6)}const H=N(qt,[["render",Gt],["__scopeId","data-v-6f7f685d"]]),Yt={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||"")}}},Xt={key:0,class:"wm-team"},Jt=["src","alt"],Qt={key:1},Zt={key:0,class:"wm-team__label"};function en(e,n,r,a,s,o){return o.visible?(t.openBlock(),t.createElementBlock("div",Xt,[t.createElementVNode("div",{class:"wm-team__stack",style:t.normalizeStyle({width:o.stackWidth+"px"})},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.members.slice(0,3),(i,l)=>(t.openBlock(),t.createElementBlock("div",{key:l,class:"wm-team__pill",style:t.normalizeStyle({left:l*13+"px",zIndex:3-l,background:o.colorFor(i)})},[i.avatar_url?(t.openBlock(),t.createElementBlock("img",{key:0,src:i.avatar_url,alt:i.name||""},null,8,Jt)):(t.openBlock(),t.createElementBlock("span",Qt,t.toDisplayString(o.initialsFor(i)),1))],4))),128))],4),r.responseLabel?(t.openBlock(),t.createElementBlock("span",Zt,t.toDisplayString(r.responseLabel),1)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)}const Ve=N(Yt,[["render",en],["__scopeId","data-v-e49a9063"]]),tn={name:"WmHeader",components:{AIAvatar:H,TeamAvatars:Ve},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 n=new Date().getHours()%e.length,r=[];for(let a=0;a<3;a++)r.push(e[(n+a)%e.length]);return r}}},nn={class:"wm-header"},rn=["aria-label"],on={key:1,style:{width:"30px",height:"30px","flex-shrink":"0"}},an={class:"wm-header__avatar"},sn={class:"wm-header__main"},ln={class:"wm-header__title"},cn={key:3,class:"wm-header__fill"},dn={class:"wm-header__actions"},un=["aria-label","title"],mn=["aria-label","title"];function hn(e,n,r,a,s,o){const i=t.resolveComponent("AIAvatar"),l=t.resolveComponent("TeamAvatars");return t.openBlock(),t.createElementBlock("div",nn,[r.showBack?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"wm-header__icon","aria-label":o.t("header.backToHome"),onClick:n[0]||(n[0]=f=>e.$emit("back"))},[...n[3]||(n[3]=[t.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"},[t.createElementVNode("path",{d:"M19 12H5M12 5l-7 7 7 7"})],-1)])],8,rn)):(t.openBlock(),t.createElementBlock("div",on)),r.showIdentity?(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[t.createElementVNode("div",an,[t.createVNode(i,{size:30,name:r.agentName,"image-url":r.agentAvatarUrl},null,8,["name","image-url"])]),t.createElementVNode("div",sn,[t.createElementVNode("div",ln,t.toDisplayString(r.title),1)]),o.hasTeam?(t.openBlock(),t.createBlock(l,{key:0,members:o.displayedTeamMembers,"response-label":""},null,8,["members"])):t.createCommentVNode("",!0)],64)):(t.openBlock(),t.createElementBlock("div",cn)),t.createElementVNode("div",dn,[r.showMore?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:t.normalizeClass(["wm-header__icon",{"wm-header__icon--active":r.moreActive}]),"aria-label":o.t("header.moreOptions"),title:o.t("header.moreOptions"),onClick:n[1]||(n[1]=f=>e.$emit("more"))},[...n[4]||(n[4]=[t.createElementVNode("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},[t.createElementVNode("circle",{cx:"12",cy:"5",r:"1.6"}),t.createElementVNode("circle",{cx:"12",cy:"12",r:"1.6"}),t.createElementVNode("circle",{cx:"12",cy:"19",r:"1.6"})],-1)])],10,un)):t.createCommentVNode("",!0),r.showClose?(t.openBlock(),t.createElementBlock("button",{key:1,type:"button",class:"wm-header__icon","aria-label":o.t("header.closeWidget"),title:o.t("header.closeWidget"),onClick:n[2]||(n[2]=f=>e.$emit("close"))},[...n[5]||(n[5]=[t.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"},[t.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,mn)):t.createCommentVNode("",!0)])])}const Me=N(tn,[["render",hn],["__scopeId","data-v-7af4c118"]]),_e={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"},fn={name:"WmOnboarding",components:{AIAvatar:H,HumanAvatar:Q},inject:{t:{default:()=>T()},wmLocale:{default:()=>()=>"fr"}},props:{welcomeMessage:{type:String,default:""},subtitle:{type:String,default:""},agentName:{type:String,default:""},defaultIconUrl:{type:String,default:null},quickLinks:{type:Array,default:()=>[]},openThreads:{type:Array,default:()=>[]},busy:{type:Boolean,default:!1}},emits:["start","select","resume","view-history"],computed:{heroTitle(){return this.welcomeMessage?this.welcomeMessage: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)}},methods:{iconPath(e){return _e[e]||_e.link},isExternalLink(e){const n=e==null?void 0:e.url;return!!n&&!n.startsWith("#")},safeIconUrl(e){return lt(e==null?void 0:e.icon_url)},iconUrlStyle(e){const n=this.safeIconUrl(e);return n?{"--icon-url":`url("${n}")`}:null},renderPreview(e){return me(e)},avatarComponent(e){var n;return((n=e==null?void 0:e.author)==null?void 0:n.type)==="agent_human"?"HumanAvatar":"AIAvatar"},avatarProps(e){const n=e==null?void 0:e.author;return(n==null?void 0:n.type)==="agent_human"?{size:40,name:n.name||"",avatarUrl:n.avatar_url||null}:{size:40,name:(n==null?void 0:n.name)||"",imageUrl:(n==null?void 0:n.avatar_url)||null}},isDefaultAvatar(e){const n=e==null?void 0:e.author;return!(n!=null&&n.avatar_url||n!=null&&n.name)},avatarWrapperClass(e){return this.isDefaultAvatar(e)&&!(e!=null&&e.unread)?"wm-onb__avatar--muted":null},formatTs(e){if(!e)return"";const n=new Date(e);if(Number.isNaN(n.getTime()))return"";const r=P(this.wmLocale()),a=new Date;if(n.toDateString()===a.toDateString())return n.toLocaleTimeString(r,{hour:"2-digit",minute:"2-digit"});if(a.getTime()-n.getTime()<7*864e5){const i=n.toLocaleDateString(r,{weekday:"short"});return i.charAt(0).toUpperCase()+i.slice(1)}return n.toLocaleDateString(r,{day:"2-digit",month:"2-digit"})}}},pn={class:"wm-onb"},gn={class:"wm-onb__hero"},_n={class:"wm-onb__hero-text"},yn={class:"wm-onb__title"},vn={class:"wm-onb__sub"},kn={class:"wm-onb__bottom"},wn={key:0,class:"wm-onb__alertList"},bn=["onClick"],En={key:0,class:"wm-onb__defaultAvatar"},Cn=["aria-label"],Bn={class:"wm-onb__alert-body"},Sn={class:"wm-onb__alert-title"},Nn=["innerHTML"],An={class:"wm-onb__alert-meta"},Vn={key:0,class:"wm-onb__alert-time"},Mn={class:"wm-onb__alert-resume"},Tn={class:"wm-onb__actions"},xn=["disabled"],Dn={class:"wm-onb__btn-label"},Ln=["onClick"],On={class:"wm-onb__btn-icon"},In=["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"},Fn=["d"],Pn={class:"wm-onb__btn-label"},Un={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"},zn={class:"wm-onb__btn-icon"},jn={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"},Hn=["d"],qn={class:"wm-onb__btn-label"},$n={class:"wm-onb__btn-count"};function Kn(e,n,r,a,s,o){const i=t.resolveComponent("AIAvatar");return t.openBlock(),t.createElementBlock("div",pn,[t.createElementVNode("div",gn,[n[2]||(n[2]=t.createElementVNode("svg",{class:"wm-onb__hero-deco",width:"180",height:"180",viewBox:"0 0 180 180",fill:"none","aria-hidden":"true"},[t.createElementVNode("circle",{cx:"170",cy:"10",r:"105",stroke:"#5B5FEF","stroke-width":"1","stroke-dasharray":"1 5",opacity:"0.35"}),t.createElementVNode("circle",{cx:"170",cy:"10",r:"72",stroke:"#5B5FEF","stroke-width":"1","stroke-dasharray":"1 5",opacity:"0.5"}),t.createElementVNode("circle",{cx:"152",cy:"34",r:"2.5",fill:"#5B5FEF",opacity:"0.65"})],-1)),t.createVNode(i,{size:52,"image-url":r.defaultIconUrl},null,8,["image-url"]),t.createElementVNode("div",_n,[t.createElementVNode("div",yn,t.toDisplayString(o.heroTitle),1),t.createElementVNode("div",vn,t.toDisplayString(o.heroSub),1)])]),t.createElementVNode("div",kn,[o.unreadThreads.length?(t.openBlock(),t.createElementBlock("div",wn,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.unreadThreads,l=>(t.openBlock(),t.createElementBlock("button",{key:l.id,type:"button",class:"wm-onb__alert",onClick:f=>e.$emit("resume",l)},[t.createElementVNode("span",{class:t.normalizeClass(["wm-onb__alert-avatar",o.avatarWrapperClass(l)])},[o.isDefaultAvatar(l)?(t.openBlock(),t.createElementBlock("span",En,[...n[3]||(n[3]=[t.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"},[t.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)])])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.avatarComponent(l)),t.mergeProps({key:1,ref_for:!0},o.avatarProps(l)),null,16)),t.createElementVNode("span",{class:"wm-onb__alert-dot","aria-label":o.t("onboarding.unread")},null,8,Cn)],2),t.createElementVNode("span",Bn,[t.createElementVNode("span",Sn,t.toDisplayString(l.title),1),t.createElementVNode("span",{class:"wm-onb__alert-preview",innerHTML:o.renderPreview(l.preview)},null,8,Nn)]),t.createElementVNode("span",An,[o.formatTs(l._ts)?(t.openBlock(),t.createElementBlock("span",Vn,t.toDisplayString(o.formatTs(l._ts)),1)):t.createCommentVNode("",!0),t.createElementVNode("span",Mn,t.toDisplayString(o.t("onboarding.resume")),1)])],8,bn))),128))])):t.createCommentVNode("",!0),t.createElementVNode("div",Tn,[t.createElementVNode("button",{type:"button",class:"wm-onb__btn wm-onb__btn--start",disabled:r.busy,onClick:n[0]||(n[0]=l=>e.$emit("start"))},[n[4]||(n[4]=t.createElementVNode("span",{class:"wm-onb__btn-icon"},[t.createElementVNode("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[t.createElementVNode("path",{d:"M12 5v14M5 12h14"})])],-1)),t.createElementVNode("span",Dn,t.toDisplayString(r.busy?"…":o.t("onboarding.start")),1)],8,xn),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.quickLinks,(l,f)=>(t.openBlock(),t.createElementBlock("button",{key:"ql-"+f,type:"button",class:"wm-onb__btn",onClick:y=>e.$emit("select",l)},[t.createElementVNode("span",On,[o.safeIconUrl(l)?(t.openBlock(),t.createElementBlock("span",{key:0,class:"wm-onb__btn-iconImg",style:t.normalizeStyle(o.iconUrlStyle(l)),role:"img","aria-label":l.label||""},null,12,In)):(t.openBlock(),t.createElementBlock("svg",Rn,[t.createElementVNode("path",{d:o.iconPath(l.icon)},null,8,Fn)]))]),t.createElementVNode("span",Pn,t.toDisplayString(l.label),1),o.isExternalLink(l)?(t.openBlock(),t.createElementBlock("svg",Un,[...n[5]||(n[5]=[t.createElementVNode("path",{d:"M7 17L17 7M9 7h8v8"},null,-1)])])):t.createCommentVNode("",!0)],8,Ln))),128)),r.openThreads.length?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"wm-onb__btn",onClick:n[1]||(n[1]=l=>e.$emit("view-history"))},[t.createElementVNode("span",zn,[(t.openBlock(),t.createElementBlock("svg",jn,[t.createElementVNode("path",{d:o.iconPath("chat")},null,8,Hn)]))]),t.createElementVNode("span",qn,t.toDisplayString(o.t("onboarding.allConversations")),1),t.createElementVNode("span",$n,t.toDisplayString(r.openThreads.length),1),n[6]||(n[6]=t.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"},[t.createElementVNode("path",{d:"M9 18l6-6-6-6"})],-1))])):t.createCommentVNode("",!0)])])])}const Te=N(fn,[["render",Kn],["__scopeId","data-v-22d4189e"]]),Wn={name:"WmHistory",components:{AIAvatar:H,HumanAvatar:Q},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(n=>(n.title||"").toLowerCase().includes(e)||(n.preview||"").toLowerCase().includes(e)):this.threads}},methods:{renderPreview(e){return me(e)},avatarComponent(e){var n;return((n=e==null?void 0:e.author)==null?void 0:n.type)==="agent_human"?"HumanAvatar":"AIAvatar"},avatarProps(e){const n=e==null?void 0:e.author;return(n==null?void 0:n.type)==="agent_human"?{size:40,name:n.name||"",avatarUrl:n.avatar_url||null}:{size:40,name:(n==null?void 0:n.name)||"",imageUrl:(n==null?void 0:n.avatar_url)||null}},isDefaultAvatar(e){const n=e==null?void 0:e.author;return!(n!=null&&n.avatar_url||n!=null&&n.name)},avatarWrapperClass(e){return this.isDefaultAvatar(e)&&!(e!=null&&e.unread)?"wm-hist__avatar--muted":null},formatTs(e){if(!e)return"";const n=new Date(e);if(Number.isNaN(n.getTime()))return"";const r=P(this.wmLocale()),a=new Date;if(n.toDateString()===a.toDateString())return n.toLocaleTimeString(r,{hour:"2-digit",minute:"2-digit"});if(a.getTime()-n.getTime()<7*864e5){const i=n.toLocaleDateString(r,{weekday:"short"});return i.charAt(0).toUpperCase()+i.slice(1)}return n.toLocaleDateString(r,{day:"2-digit",month:"2-digit"})}}},Gn={class:"wm-hist"},Yn={class:"wm-hist__search"},Xn=["placeholder","aria-label"],Jn={class:"wm-hist__list"},Qn=["onClick"],Zn={key:0,class:"wm-hist__defaultAvatar"},er=["aria-label"],tr={class:"wm-hist__thread-body"},nr={class:"wm-hist__thread-title"},rr=["innerHTML"],or={class:"wm-hist__thread-meta"},ar={key:0,class:"wm-hist__thread-time"},sr={key:0,class:"wm-hist__empty"};function ir(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",Gn,[t.createElementVNode("div",Yn,[n[1]||(n[1]=t.createElementVNode("span",{class:"wm-hist__searchIcon"},[t.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"},[t.createElementVNode("path",{d:"M21 21l-4.35-4.35M11 17a6 6 0 100-12 6 6 0 000 12z"})])],-1)),t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=i=>s.query=i),type:"text",placeholder:o.t("onboarding.search"),"aria-label":o.t("onboarding.search")},null,8,Xn),[[t.vModelText,s.query]])]),t.createElementVNode("div",Jn,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.filteredThreads,i=>(t.openBlock(),t.createElementBlock("button",{key:i.id,type:"button",class:t.normalizeClass(["wm-hist__thread",{"wm-hist__thread--unread":i.unread}]),onClick:l=>e.$emit("resume",i)},[t.createElementVNode("span",{class:t.normalizeClass(["wm-hist__thread-avatar",o.avatarWrapperClass(i)])},[o.isDefaultAvatar(i)?(t.openBlock(),t.createElementBlock("span",Zn,[...n[2]||(n[2]=[t.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"},[t.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)])])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.avatarComponent(i)),t.mergeProps({key:1,ref_for:!0},o.avatarProps(i)),null,16)),i.unread?(t.openBlock(),t.createElementBlock("span",{key:2,class:"wm-hist__thread-dot","aria-label":o.t("onboarding.unread")},null,8,er)):t.createCommentVNode("",!0)],2),t.createElementVNode("span",tr,[t.createElementVNode("span",nr,t.toDisplayString(i.title),1),t.createElementVNode("span",{class:"wm-hist__thread-preview",innerHTML:o.renderPreview(i.preview)},null,8,rr)]),t.createElementVNode("span",or,[o.formatTs(i._ts)?(t.openBlock(),t.createElementBlock("span",ar,t.toDisplayString(o.formatTs(i._ts)),1)):t.createCommentVNode("",!0),n[3]||(n[3]=t.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"},[t.createElementVNode("path",{d:"M5 12h14M13 5l7 7-7 7"})],-1))])],10,Qn))),128)),o.filteredThreads.length?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",sr,t.toDisplayString(s.query?o.t("onboarding.noResults",{query:s.query}):o.t("onboarding.noConversations")),1))])])}const lr=N(Wn,[["render",ir],["__scopeId","data-v-42ca3dc1"]]);function cr(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 dr={name:"WmActionResult",props:{state:{type:String,default:"success"},label:{type:String,required:!0},detail:{type:String,default:""}},computed:{detailText(){return cr(this.detail)}}},ur={class:"wm-result__icon","aria-hidden":"true"},mr={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"},hr={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"},fr={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"},gr={class:"wm-result__body"},_r={class:"wm-result__label"},yr={class:"wm-result__detail"};function vr(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["wm-result",`wm-result--${r.state}`])},[t.createElementVNode("span",ur,[r.state==="success"?(t.openBlock(),t.createElementBlock("svg",mr,[...n[0]||(n[0]=[t.createElementVNode("path",{d:"M20 6L9 17l-5-5"},null,-1)])])):r.state==="rejected"?(t.openBlock(),t.createElementBlock("svg",hr,[...n[1]||(n[1]=[t.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"},null,-1)])])):r.state==="awaiting"?(t.openBlock(),t.createElementBlock("svg",fr,[...n[2]||(n[2]=[t.createElementVNode("circle",{cx:"12",cy:"12",r:"10"},null,-1),t.createElementVNode("polyline",{points:"12 7 12 12 15 14"},null,-1)])])):(t.openBlock(),t.createElementBlock("svg",pr,[...n[3]||(n[3]=[t.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),t.createElementVNode("line",{x1:"12",y1:"9",x2:"12",y2:"13"},null,-1),t.createElementVNode("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"},null,-1)])]))]),t.createElementVNode("span",gr,[t.createElementVNode("span",_r,t.toDisplayString(r.label),1),o.detailText?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[n[4]||(n[4]=t.createElementVNode("span",{class:"wm-result__sep","aria-hidden":"true"}," · ",-1)),t.createElementVNode("span",yr,t.toDisplayString(o.detailText),1)],64)):t.createCommentVNode("",!0)])],2)}const xe=N(dr,[["render",vr],["__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:[]}}},wr={class:"wm-art wm-art--formResponse"},br={class:"wm-art__head"},Er={class:"wm-art__title"},Cr={class:"wm-art__badge wm-art__badge--success"},Br={class:"wm-art__body"},Sr={class:"wm-art__fieldLabel"};function Nr(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",wr,[t.createElementVNode("div",br,[t.createElementVNode("div",Er,t.toDisplayString(r.data.title||o.t("form.title")),1),t.createElementVNode("span",Cr,[n[0]||(n[0]=t.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"},[t.createElementVNode("polyline",{points:"20 6 9 17 4 12"})],-1)),t.createTextVNode(" "+t.toDisplayString(o.t("form.sent")),1)])]),t.createElementVNode("div",Br,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.fields,(i,l)=>(t.openBlock(),t.createElementBlock("div",{key:l,class:"wm-art__field"},[t.createElementVNode("div",Sr,t.toDisplayString(i.label),1),t.createElementVNode("div",{class:t.normalizeClass(["wm-art__fieldValue",{"wm-art__fieldValue--multi":i.multiline}])},t.toDisplayString(i.value),3)]))),128))])])}const De=N(kr,[["render",Nr],["__scopeId","data-v-713aecf1"]]),Ar={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}}},Vr={class:"wm-art wm-art--infoCard"},Mr={key:0,class:"wm-art__image"},Tr=["src","alt"],xr={class:"wm-art__head"},Dr={class:"wm-art__headMain"},Lr={class:"wm-art__title"},Or={key:0,class:"wm-art__subtitle"},Ir={key:1,class:"wm-art__body"},Rr={key:0,class:"wm-art__text"},Fr={class:"wm-art__fieldLabel"};function Pr(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",Vr,[r.data.image_url?(t.openBlock(),t.createElementBlock("figure",Mr,[t.createElementVNode("img",{src:r.data.image_url,alt:r.data.title||"",loading:"lazy"},null,8,Tr)])):t.createCommentVNode("",!0),t.createElementVNode("div",xr,[t.createElementVNode("div",Dr,[t.createElementVNode("div",Lr,t.toDisplayString(r.data.title),1),r.data.subtitle?(t.openBlock(),t.createElementBlock("div",Or,t.toDisplayString(r.data.subtitle),1)):t.createCommentVNode("",!0)]),r.data.badge&&r.data.badge.label?(t.openBlock(),t.createElementBlock("span",{key:0,class:t.normalizeClass(["wm-art__badge",`wm-art__badge--${r.data.badge.tone||"neutral"}`])},t.toDisplayString(r.data.badge.label),3)):t.createCommentVNode("",!0)]),o.hasBody?(t.openBlock(),t.createElementBlock("div",Ir,[r.data.body?(t.openBlock(),t.createElementBlock("div",Rr,t.toDisplayString(r.data.body),1)):t.createCommentVNode("",!0),o.fields.length?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:1},t.renderList(o.fields,(i,l)=>(t.openBlock(),t.createElementBlock("div",{key:l,class:"wm-art__field"},[t.createElementVNode("div",Fr,t.toDisplayString(i.label),1),t.createElementVNode("div",{class:t.normalizeClass(["wm-art__fieldValue",{"wm-art__fieldValue--multi":i.multiline}])},t.toDisplayString(i.value),3)]))),128)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)])}const Le=N(Ar,[["render",Pr],["__scopeId","data-v-7eae0e4a"]]);function Ur(e,n,r){if(!e)return"";const a=new Date(e);if(Number.isNaN(a.getTime()))return e;const s=a.toLocaleDateString(n,{day:"numeric",month:"long",year:"numeric"}),o=a.toLocaleTimeString(n,{hour:"2-digit",minute:"2-digit"});return`${s}${r}${o}`}const zr={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,P(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 n=String(e||"").toLowerCase();return/high|haute|élev|elev|critic|critiq|urgent/.test(n)?3:/low|basse|faible|minor/.test(n)?1:2}}},jr={class:"wm-art wm-art--ticket"},Hr={class:"wm-art__head wm-tk__head"},qr={class:"wm-art__title wm-tk__title"},$r={class:"wm-tk__sub"},Kr={class:"wm-tk__ref"},Wr={key:0,class:"wm-tk__text"},Gr={key:0,class:"wm-art__body"},Yr={class:"wm-art__fieldLabel"},Xr=["data-level"],Jr={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"},Qr={key:1,class:"wm-art__footer wm-tk__footer"};function Zr(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",jr,[t.createElementVNode("div",Hr,[t.createElementVNode("div",qr,t.toDisplayString(r.data.title),1),t.createElementVNode("div",$r,[t.createElementVNode("div",Kr,[n[0]||(n[0]=t.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"},[t.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"}),t.createElementVNode("path",{d:"M13 5v2M13 17v2M13 11v2"})],-1)),t.createElementVNode("span",null,t.toDisplayString(r.data.reference),1)]),t.createElementVNode("span",{class:t.normalizeClass(["wm-art__badge","wm-tk__badge",`wm-art__badge--${r.data.status.tone||"neutral"}`])},[n[1]||(n[1]=t.createElementVNode("span",{class:"wm-tk__dot","aria-hidden":"true"},null,-1)),t.createTextVNode(" "+t.toDisplayString(r.data.status.label),1)],2)]),r.data.body?(t.openBlock(),t.createElementBlock("div",Wr,t.toDisplayString(r.data.body),1)):t.createCommentVNode("",!0)]),o.fields.length?(t.openBlock(),t.createElementBlock("div",Gr,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.fields,(i,l)=>(t.openBlock(),t.createElementBlock("div",{key:l,class:"wm-art__field"},[t.createElementVNode("div",Yr,t.toDisplayString(i.label),1),t.createElementVNode("div",{class:t.normalizeClass(["wm-art__fieldValue",{"wm-art__fieldValue--multi":i.multiline}])},[o.isPriority(i.label)?(t.openBlock(),t.createElementBlock("svg",{key:0,class:"wm-tk__prio","data-level":o.priorityLevel(i.value),width:"12",height:"12",viewBox:"0 0 12 12","aria-hidden":"true"},[...n[2]||(n[2]=[t.createElementVNode("rect",{x:"1",y:"8",width:"2",height:"3",rx:"0.5"},null,-1),t.createElementVNode("rect",{x:"5",y:"5",width:"2",height:"6",rx:"0.5"},null,-1),t.createElementVNode("rect",{x:"9",y:"2",width:"2",height:"9",rx:"0.5"},null,-1)])],8,Xr)):o.isDate(i.label)?(t.openBlock(),t.createElementBlock("svg",Jr,[...n[3]||(n[3]=[t.createElementVNode("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2"},null,-1),t.createElementVNode("path",{d:"M16 2v4M8 2v4M3 10h18"},null,-1)])])):t.createCommentVNode("",!0),t.createElementVNode("span",null,t.toDisplayString(i.value),1)],2)]))),128))])):t.createCommentVNode("",!0),r.data.created_at?(t.openBlock(),t.createElementBlock("div",Qr,[n[4]||(n[4]=t.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"},[t.createElementVNode("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2"}),t.createElementVNode("path",{d:"M16 2v4M8 2v4M3 10h18"})],-1)),t.createElementVNode("span",null,t.toDisplayString(o.formattedDate),1)])):t.createCommentVNode("",!0)])}const Oe=N(zr,[["render",Zr],["__scopeId","data-v-5f30c914"]]),eo={form_response:De,info_card:Le,ticket:Oe},to={name:"WmArtifactRenderer",props:{artifact:{type:Object,required:!0}},computed:{component(){var n;const e=(n=this.artifact)==null?void 0:n.kind;return e&&eo[e]||null}}};function no(e,n,r,a,s,o){return o.component?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.component),{key:0,data:r.artifact.data},null,8,["data"])):t.createCommentVNode("",!0)}const Ie=N(to,[["render",no]]),ro={name:"WmAttachmentPreview",inject:{signAttachmentFn:{default:null},t:{default:()=>T()}},props:{attachment:{type:Object,required:!0}},data(){return{url:null,loading:!1}},computed:{kind(){var r,a;const e=(r=this.attachment)==null?void 0:r.type;if(e)return e;const n=(((a=this.attachment)==null?void 0:a.mime_type)||"").toLowerCase();return n.startsWith("image/")?"image":n.startsWith("audio/")?"audio":n.startsWith("video/")?"video":"file"},displayName(){var e,n,r;return((n=(e=this.attachment)==null?void 0:e.metadata)==null?void 0:n.name)||((r=this.attachment)==null?void 0:r.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 n;const e=(n=this.attachment)==null?void 0:n.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 r;return((((r=this.attachment)==null?void 0:r.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()}}},oo=["href"],ao=["src","alt"],so=["src"],io=["src"],lo=["href","download"],co={class:"wm-att__main"},uo={class:"wm-att__name"},mo={key:0,class:"wm-att__meta"},ho={key:0,class:"wm-att__spin","aria-hidden":"true"};function fo(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["wm-att",["wm-att--"+(o.kind||"file")]])},[o.kind==="image"&&s.url?(t.openBlock(),t.createElementBlock("a",{key:0,href:o.safeHref,target:"_blank",rel:"noopener",class:"wm-att__imgWrap"},[t.createElementVNode("img",{src:s.url,alt:o.displayName,loading:"lazy"},null,8,ao)],8,oo)):o.kind==="audio"&&s.url?(t.openBlock(),t.createElementBlock("audio",{key:1,src:s.url,controls:"",preload:"metadata"},null,8,so)):o.kind==="video"&&s.url?(t.openBlock(),t.createElementBlock("video",{key:2,src:s.url,controls:"",preload:"metadata"},null,8,io)):(t.openBlock(),t.createElementBlock("a",{key:3,class:"wm-att__file",href:o.safeHref,download:o.displayName,target:"_blank",rel:"noopener",onClick:n[0]||(n[0]=(...i)=>o.onFileClick&&o.onFileClick(...i))},[n[1]||(n[1]=t.createElementVNode("span",{class:"wm-att__icon"},[t.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"},[t.createElementVNode("path",{d:"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"}),t.createElementVNode("path",{d:"M14 2v6h6"})])],-1)),t.createElementVNode("span",co,[t.createElementVNode("span",uo,t.toDisplayString(o.displayName),1),o.sizeLabel?(t.openBlock(),t.createElementBlock("span",mo,t.toDisplayString(o.sizeLabel),1)):t.createCommentVNode("",!0)]),s.loading?(t.openBlock(),t.createElementBlock("span",ho)):t.createCommentVNode("",!0)],8,lo))],2)}const Re=N(ro,[["render",fo],["__scopeId","data-v-0c877a62"]]),po={name:"WmBubble",props:{role:{type:String,default:"ai"},text:{type:String,default:""}},computed:{rendered(){return Ne(this.text)}}},go=["innerHTML"];function _o(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["wm-bubble","wm-bubble--"+r.role])},[t.renderSlot(e.$slots,"default",{},()=>[t.createElementVNode("span",{innerHTML:o.rendered},null,8,go)],!0)],2)}const Fe=N(po,[["render",_o],["__scopeId","data-v-7ab13147"]]),yo={name:"WmTyping"},vo={class:"wm-typing"};function ko(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",vo,[...n[0]||(n[0]=[t.createElementVNode("span",{style:{"animation-delay":"0s"}},null,-1),t.createElementVNode("span",{style:{"animation-delay":"0.2s"}},null,-1),t.createElementVNode("span",{style:{"animation-delay":"0.4s"}},null,-1)])])}const Pe=N(yo,[["render",ko],["__scopeId","data-v-df2447fd"]]);function j(e){return e?e.client_msg_id||e.id:""}const wo={transferred_to_human:"system.transferredToHuman",assigned:"system.assigned",unassigned:"system.unassigned",resolved:"system.resolved",reopened:"system.reopened",idle:"system.idle"},bo=80,Eo=200,Co={name:"WmMessageList",components:{AIAvatar:H,HumanAvatar:Q,Bubble:Fe,Typing:Pe,ActionResult:xe,AttachmentPreview:Re,ArtifactRenderer:Ie},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 r,a,s,o;const e=[];for(const i of this.messages){const l=this.roleOf(i);if(l==="system"){if(((r=i==null?void 0:i.payload)==null?void 0:r.event)==="action_admin_pending"){const _=e[e.length-1];_&&_.role==="ai"?_.messages.push(i):e.push({key:`g-${j(i)}`,role:"ai",agentName:"",agentAvatarUrl:null,messages:[i],items:[]});continue}e.push({key:`sys-${j(i)}`,role:l,messages:[i],items:[],systemLabel:this.systemLabel(i)});continue}const f=e[e.length-1];f&&f.role===l&&(l==="ai"||f.agentName===(((a=i==null?void 0:i.author)==null?void 0:a.name)||""))?f.messages.push(i):e.push({key:`g-${j(i)}`,role:l,agentName:((s=i==null?void 0:i.author)==null?void 0:s.name)||"",agentAvatarUrl:((o=i==null?void 0:i.author)==null?void 0:o.avatar_url)||null,messages:[i],items:[]})}for(const i of e){if(i.role==="system")continue;const l=[];for(const f of i.messages)for(const y of this.itemsOf(f))l.push(y);i.items=l}const n=[];for(const i of e){if(i.role!=="system"&&!i.items.length)continue;const l=n[n.length-1];if(l&&l.role!=="system"&&l.role===i.role&&(i.role==="ai"||l.agentName===i.agentName)){l.messages.push(...i.messages),l.items.push(...i.items);continue}n.push(i)}for(const i of n)i.role!=="system"&&(i.key=this.stableGroupKey(i.messages));return n},unreadGroupKey(){if(this.unreadAnchorId==null)return null;const e=this.unreadAnchorId,n=this.unreadBoundaryTs;for(const r of this.groups){if(r.role==="user"||r.role==="system"||!r.items.length)continue;const a=r.messages[0];if(!a)continue;const s=R(a.id);if(s!=null&&!(s<=e)&&!(n&&a.created_at&&a.created_at>n))return r.key}return null}},watch:{messages:{handler:"snapshotAndRestore",deep:!0},conversationId(e,n){e!==n&&(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._pressTimer&&clearTimeout(this._pressTimer)},updated(){this.scheduleMeasure()},methods:{messageKey:j,stableGroupKey(e){this._groupIdByMsgKey||(this._groupIdByMsgKey=new Map,this._groupIdCounter=0);const n=this._groupIdByMsgKey;let r=null;for(const a of e){const s=j(a);if(s&&n.has(s)){r=n.get(s);break}}r==null&&(r=++this._groupIdCounter);for(const a of e){const s=j(a);s&&n.set(s,r)}return`g-${r}`},isAtBottom(e){return e.scrollHeight-e.scrollTop-e.clientHeight<=bo},onScroll(){const e=this.$refs.scrollEl;e&&(this.showScrollDown=!this.isAtBottom(e),!(this.loadingMore||!this.hasMore)&&(this._pendingLoadMore||e.scrollTop<=Eo&&(this._pendingLoadMore=!0,this.$emit("load-more"))))},snapshotAndRestore(){const e=this.$refs.scrollEl;if(!e||this._scrollSnap)return;const n=this._lastSeenConvId!==this.conversationId;this._lastSeenConvId=this.conversationId;const r=this.isAtBottom(e);let a=null;if(!n&&!r){const o=this.pickAnchor(e);if(o!=null&&o.rowKey){const i=this.findRowByKey(e,o.rowKey);if(i){const l=e.getBoundingClientRect().top;a={rowKey:o.rowKey,relY:i.getBoundingClientRect().top-l}}}}const s={forceBottom:n,wasPinned:r,anchor:a};this._scrollSnap=s,this.$nextTick(()=>{if(this._scrollSnap=null,s.forceBottom||s.wasPinned){e.scrollTop=e.scrollHeight;return}if(!s.anchor)return;const o=()=>{const i=s.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)};o(),requestAnimationFrame(()=>{o(),requestAnimationFrame(o)})})},pickAnchor(e){const n=e.getBoundingClientRect().top,r=e.querySelectorAll(".wm-list__row[data-row-key]");let a=null;for(const s of r)if(a||(a=s),s.getBoundingClientRect().bottom>=n)return{rowKey:s.dataset.rowKey};return a?{rowKey:a.dataset.rowKey}:null},findRowByKey(e,n){if(!n)return null;const r=typeof CSS<"u"&&CSS.escape?CSS.escape(n):n.replace(/["\\]/g,"\\$&");return e.querySelector(`.wm-list__row[data-row-key="${r}"]`)},roleOf(e){var r,a;if((e==null?void 0:e.type)==="system"||((r=e==null?void 0:e.payload)==null?void 0:r.type)==="system")return"system";const n=(a=e==null?void 0:e.author)==null?void 0:a.type;return n==="user"?"user":n==="agent_human"?"human":"ai"},roleLabel(e){if(e.role==="human")return e.agentName||this.t("common.agent");const n=this.t("common.aiAssistant");return this.aiAgentName?`${this.aiAgentName} • ${n}`:n},itemsOf(e){var n;if(!e)return[];if(e.type==="system"&&((n=e==null?void 0:e.payload)==null?void 0:n.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 r=[{message:e,partKey:"main",renderAs:"action",kind:{top:"bubble",bottom:"bubble"}}];return this.actionArtifact(e)&&r.push({message:e,partKey:"artifact",renderAs:"artifact-of-action",kind:{top:"card",bottom:"card"}}),r}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,n){var U,q,$;const r=e.items,a=(U=r[n])==null?void 0:U.kind,s=(q=r[n-1])==null?void 0:q.kind,o=($=r[n+1])==null?void 0:$.kind,i=e.role==="user",l=14,f=4,y=s==null?void 0:s.bottom,_=o==null?void 0:o.top,C=this.widthByKey[this.rowKeyOf(e,n)],S=this.widthByKey[this.rowKeyOf(e,n-1)],k=this.widthByKey[this.rowKeyOf(e,n+1)],D=.5,b=(I,K,F)=>I!=null&&C!=null?I+D>=C:K===F||K==="card"&&F==="bubble";let V=l,M=l,A=l,O=l;return i?(y&&(M=f),(_||!o)&&(A=f),y&&b(S,y,a==null?void 0:a.top)&&(V=f),_&&b(k,_,a==null?void 0:a.bottom)&&(O=f)):(y&&(V=f),(_||!o)&&(O=f),y&&b(S,y,a==null?void 0:a.top)&&(M=f),_&&b(k,_,a==null?void 0:a.bottom)&&(A=f)),{tl:V,tr:M,br:A,bl:O}},cornersStyle(e,n){if(e.items.length<2)return null;const r=this.cornersFor(e,n);return{"--wm-r-tl":`${r.tl}px`,"--wm-r-tr":`${r.tr}px`,"--wm-r-br":`${r.br}px`,"--wm-r-bl":`${r.bl}px`}},rowKeyOf(e,n){var a;const r=(a=e==null?void 0:e.items)==null?void 0:a[n];return r?`${j(r.message)}-${r.partKey}`:""},scheduleMeasure(){this._measureFrame||(this._measureFrame=requestAnimationFrame(()=>{this._measureFrame=null,this.measureRows()}))},measureRows(){const e=this.$refs.scrollEl;if(!e)return;const n={};for(const o of e.querySelectorAll(".wm-list__row[data-row-key]")){const i=o.dataset.rowKey;if(!i)continue;const l=o.querySelector(".wm-bubble, .wm-result, .wm-art, .wm-list__body");if(!l)continue;const f=l.getBoundingClientRect().width;f>0&&(n[i]=f)}const r=this.widthByKey,a=Object.keys(r),s=Object.keys(n);if(a.length===s.length){let o=!0;for(const i of s)if(Math.abs((r[i]??0)-n[i])>.5){o=!1;break}if(o)return}this.widthByKey=Object.freeze(n)},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 re(new Date(e.created_at),P(this.wmLocale()))}catch{return""}},lastTimeOf(e){const n=e.items[e.items.length-1],r=(n==null?void 0:n.message)||e.messages[e.messages.length-1];if(!(r!=null&&r.created_at))return"";try{return re(new Date(r.created_at),P(this.wmLocale()))}catch{return""}},hasTrailingOverlay(e){if(!e.messages.length)return!1;const n=e.messages[e.messages.length-1],r=e.items[e.items.length-1];return!!n&&(r==null?void 0:r.message)!==n},attachmentsOf(e){var r;const n=(r=e==null?void 0:e.payload)==null?void 0:r.attachments;return Array.isArray(n)?n:[]},artifactOf(e){var r;const n=(r=e==null?void 0:e.metadata)==null?void 0:r.artifact;return!n||typeof n!="object"||typeof n.kind!="string"?null:n},actionLabel(e){var n;return((n=e==null?void 0:e.payload)==null?void 0:n.name)||(e==null?void 0:e.text_md)||this.t("common.action")},actionDetail(e){var r,a,s,o,i,l;const n=e==null?void 0:e.payload;return n?n.state==="success"?((r=n.success)==null?void 0:r.summary)||((s=(a=n.success)==null?void 0:a.metadata)==null?void 0:s.description)||"":n.state==="rejected"?((o=n.rejected)==null?void 0:o.reason)||this.t("action.rejectedByUser"):n.state==="failure"&&(((i=n.failure)==null?void 0:i.summary)||((l=n.failure)==null?void 0:l.error))||"":""},actionArtifact(e){var r,a;const n=(a=(r=e==null?void 0:e.payload)==null?void 0:r.success)==null?void 0:a.artifact;return!n||typeof n!="object"||typeof n.kind!="string"?null:n},systemLabel(e){var s,o,i;const n=(s=e==null?void 0:e.payload)==null?void 0:s.event,r=wo[n],a=((o=e==null?void 0:e.metadata)==null?void 0:o.agent_name)||((i=e==null?void 0:e.author)==null?void 0:i.name)||this.t("messageList.anAgent");return r?this.t(r,{name:a}):(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},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)}}},Bo={class:"wm-list__wrap"},So={key:0,class:"wm-list__loadMore",role:"status","aria-live":"polite"},No={class:"wm-list__loadMore-lbl"},Ao={key:1,class:"wm-list__historyEnd"},Vo={key:2,class:"wm-list__sep"},Mo={class:"wm-list__sep-label"},To={key:0,class:"wm-list__sep wm-list__sep--unread"},xo={class:"wm-list__sep-label wm-list__sep-label--unread"},Do={key:0,class:"wm-list__sysep"},Lo={class:"wm-list__sysep-label"},Oo=["data-row-key","onPointerdown"],Io={key:0,class:"wm-list__avatarSlot"},Ro={key:5,class:"wm-list__body"},Fo={key:0},Po={key:1,"aria-hidden":"true"},Uo={key:2},zo={key:0},jo={key:1,"aria-hidden":"true"},Ho={key:2},qo={key:3,class:"wm-list__row wm-list__row--ai fade-up"},$o={class:"wm-list__avatarSlot"},Ko=["aria-label","title"];function Wo(e,n,r,a,s,o){const i=t.resolveComponent("AIAvatar"),l=t.resolveComponent("HumanAvatar"),f=t.resolveComponent("ActionResult"),y=t.resolveComponent("ArtifactRenderer"),_=t.resolveComponent("Bubble"),C=t.resolveComponent("AttachmentPreview"),S=t.resolveComponent("Typing");return t.openBlock(),t.createElementBlock("div",Bo,[t.createElementVNode("div",{ref:"scrollEl",class:t.normalizeClass(["wm-list",{"wm-list--silent":s.silentFades}]),onScrollPassive:n[4]||(n[4]=(...k)=>o.onScroll&&o.onScroll(...k))},[r.loadingMore?(t.openBlock(),t.createElementBlock("div",So,[n[6]||(n[6]=t.createElementVNode("span",{class:"wm-list__loadMore-spinner","aria-hidden":"true"},null,-1)),t.createElementVNode("span",No,t.toDisplayString(o.t("messageList.loadingHistory")),1)])):o.historyExhausted?(t.openBlock(),t.createElementBlock("div",Ao,t.toDisplayString(o.t("messageList.conversationStart")),1)):t.createCommentVNode("",!0),r.dateLabel?(t.openBlock(),t.createElementBlock("div",Vo,[n[7]||(n[7]=t.createElementVNode("div",{class:"wm-list__line"},null,-1)),t.createElementVNode("span",Mo,t.toDisplayString(r.dateLabel),1),n[8]||(n[8]=t.createElementVNode("div",{class:"wm-list__line"},null,-1))])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.groups,(k,D)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:k.key},[k.key===o.unreadGroupKey?(t.openBlock(),t.createElementBlock("div",To,[n[9]||(n[9]=t.createElementVNode("div",{class:"wm-list__line wm-list__line--unread"},null,-1)),t.createElementVNode("span",xo,t.toDisplayString(o.t("messageList.unread")),1),n[10]||(n[10]=t.createElementVNode("div",{class:"wm-list__line wm-list__line--unread"},null,-1))])):t.createCommentVNode("",!0),k.role==="system"||k.items.length?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["wm-list__group","wm-list__group--"+k.role])},[k.role==="system"?(t.openBlock(),t.createElementBlock("div",Do,[n[11]||(n[11]=t.createElementVNode("div",{class:"wm-list__line wm-list__line--strong"},null,-1)),t.createElementVNode("span",Lo,t.toDisplayString(k.systemLabel),1),n[12]||(n[12]=t.createElementVNode("div",{class:"wm-list__line wm-list__line--strong"},null,-1))])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(k.items,(b,V)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:`${o.messageKey(b.message)}-${b.partKey}`},[t.createElementVNode("div",{"data-row-key":`${o.messageKey(b.message)}-${b.partKey}`,class:t.normalizeClass(["wm-list__row fade-up",["wm-list__row--"+k.role,{"is-pending":b.message._pending,"is-failed":b.message._failed}]]),style:t.normalizeStyle(o.cornersStyle(k,V)),onPointerdown:M=>o.onPressStart(`${o.messageKey(b.message)}-${b.partKey}`),onPointerup:n[0]||(n[0]=M=>o.onPressEnd()),onPointercancel:n[1]||(n[1]=M=>o.onPressEnd()),onPointerleave:n[2]||(n[2]=M=>o.onPressEnd()),onContextmenu:n[3]||(n[3]=t.withModifiers(()=>{},["prevent"]))},[k.role!=="user"?(t.openBlock(),t.createElementBlock("div",Io,[V===k.items.length-1?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[k.role==="ai"?(t.openBlock(),t.createBlock(i,{key:0,size:26,tail:!0,name:r.aiAgentName,"image-url":r.aiAgentAvatarUrl},null,8,["name","image-url"])):(t.openBlock(),t.createBlock(l,{key:1,name:k.agentName,"avatar-url":k.agentAvatarUrl,size:26,tail:!0},null,8,["name","avatar-url"]))],64)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),b.renderAs==="action"?(t.openBlock(),t.createBlock(f,{key:1,state:b.message.payload.state,label:o.actionLabel(b.message),detail:o.actionDetail(b.message)},null,8,["state","label","detail"])):b.renderAs==="admin-pending"?(t.openBlock(),t.createBlock(f,{key:2,state:"awaiting",label:o.t("messageList.approvalRequestSent"),detail:b.message.text_md||""},null,8,["label","detail"])):b.renderAs==="artifact-of-action"?(t.openBlock(),t.createBlock(y,{key:3,artifact:o.actionArtifact(b.message)},null,8,["artifact"])):b.renderAs==="artifact"?(t.openBlock(),t.createBlock(y,{key:4,artifact:o.artifactOf(b.message)},null,8,["artifact"])):(t.openBlock(),t.createElementBlock("div",Ro,[b.message.text_md?(t.openBlock(),t.createBlock(_,{key:0,role:k.role,text:b.message.text_md},null,8,["role","text"])):t.createCommentVNode("",!0),o.attachmentsOf(b.message).length?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["wm-list__atts",{"wm-list__atts--align-end":k.role==="user"}])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.attachmentsOf(b.message),(M,A)=>(t.openBlock(),t.createBlock(C,{key:`${o.messageKey(b.message)}-att-${A}`,attachment:M},null,8,["attachment"]))),128))],2)):t.createCommentVNode("",!0)]))],46,Oo),V<k.items.length-1&&s.pressedItemKey===`${o.messageKey(b.message)}-${b.partKey}`&&(k.role!=="user"||o.timeOf(b.message))?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["wm-list__meta wm-list__meta--press",{"wm-list__meta--right":k.role==="user"}])},[k.role!=="user"?(t.openBlock(),t.createElementBlock("span",Fo,t.toDisplayString(o.roleLabel(k)),1)):t.createCommentVNode("",!0),k.role!=="user"&&o.timeOf(b.message)?(t.openBlock(),t.createElementBlock("span",Po,"•")):t.createCommentVNode("",!0),o.timeOf(b.message)?(t.openBlock(),t.createElementBlock("span",Uo,t.toDisplayString(o.timeOf(b.message)),1)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0)],64))),128)),(k.role!=="user"||o.lastTimeOf(k))&&!o.hasTrailingOverlay(k)?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["wm-list__meta",{"wm-list__meta--right":k.role==="user"}])},[k.role!=="user"?(t.openBlock(),t.createElementBlock("span",zo,t.toDisplayString(o.roleLabel(k)),1)):t.createCommentVNode("",!0),k.role!=="user"&&o.lastTimeOf(k)?(t.openBlock(),t.createElementBlock("span",jo,"•")):t.createCommentVNode("",!0),o.lastTimeOf(k)?(t.openBlock(),t.createElementBlock("span",Ho,t.toDisplayString(o.lastTimeOf(k)),1)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0)],64))],2)):t.createCommentVNode("",!0)],64))),128)),r.streamingActive?(t.openBlock(),t.createElementBlock("div",qo,[t.createElementVNode("div",$o,[t.createVNode(i,{size:26,tail:!0,name:r.aiAgentName,"image-url":r.aiAgentAvatarUrl},null,8,["name","image-url"])]),t.createVNode(S)])):t.createCommentVNode("",!0)],34),t.createVNode(t.Transition,{name:"wm-scrollDown"},{default:t.withCtx(()=>[s.showScrollDown?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"wm-list__scrollDown","aria-label":o.t("messageList.scrollToBottom"),title:o.t("messageList.scrollToBottom"),onClick:n[5]||(n[5]=(...k)=>o.scrollToBottomSmooth&&o.scrollToBottomSmooth(...k))},[...n[13]||(n[13]=[t.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"},[t.createElementVNode("path",{d:"M6 9l6 6 6-6"})],-1)])],8,Ko)):t.createCommentVNode("",!0)]),_:1})])}const Ue=N(Co,[["render",Wo],["__scopeId","data-v-cf20685c"]]),J=typeof navigator<"u"&&!!navigator.mediaDevices&&typeof navigator.mediaDevices.getDisplayMedia=="function",ie=typeof window<"u"&&typeof window.MediaRecorder<"u";function ze(){return ie&&["video/webm;codecs=vp9,opus","video/webm;codecs=vp8,opus","video/webm","video/mp4"].find(n=>{var r,a;return(a=(r=window.MediaRecorder).isTypeSupported)==null?void 0:a.call(r,n)})||""}function je({audio:e}){return{video:!0,audio:!!e,selfBrowserSurface:"include",surfaceSwitching:"include",systemAudio:e?"include":"exclude"}}function Go(e){return e?e.startsWith("image/")?"image":e.startsWith("video/")?"video":"file":"file"}async function He(){if(!J)return null;let e;try{e=await navigator.mediaDevices.getDisplayMedia(je({audio:!1}))}catch(n){return(n==null?void 0:n.name)!=="NotAllowedError"&&console.error("[media] screenshot picker",n),null}try{return await Yo(e)}catch(n){return console.error("[media] screenshot capture",n),null}finally{e.getTracks().forEach(n=>{n.stop()})}}async function Yo(e){const n=document.createElement("video");n.muted=!0,n.playsInline=!0,n.srcObject=e,await n.play(),await new Promise(l=>requestAnimationFrame(l));const r=n.videoWidth||1280,a=n.videoHeight||720,s=document.createElement("canvas");s.width=r,s.height=a,s.getContext("2d").drawImage(n,0,0,r,a);const o=await new Promise((l,f)=>{s.toBlob(y=>y?l(y):f(new Error("toBlob failed")),"image/png")}),i=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19);return new File([o],`capture-${i}.png`,{type:"image/png"})}async function qe(e={}){var y;if(!J||!ie)return null;let n;try{n=await navigator.mediaDevices.getDisplayMedia(je({audio:!0}))}catch(_){return(_==null?void 0:_.name)!=="NotAllowedError"&&console.error("[media] record picker",_),null}const r=ze();let a;try{a=r?new window.MediaRecorder(n,{mimeType:r}):new window.MediaRecorder(n)}catch(_){return console.error("[media] recorder init",_),n.getTracks().forEach(C=>{C.stop()}),null}const s=[];let o=null,i=!1;a.addEventListener("dataavailable",_=>{_.data&&_.data.size>0&&s.push(_.data)}),a.addEventListener("stop",()=>{var _,C;if(o&&clearInterval(o),n.getTracks().forEach(S=>{S.stop()}),s.length){const S=a.mimeType||r||"video/webm",k=new Blob(s,{type:S}),D=/mp4/.test(S)?"mp4":"webm",b=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19),V=new File([k],`ecran-${b}.${D}`,{type:S});(_=e.onfinalize)==null||_.call(e,V)}else(C=e.oncancel)==null||C.call(e)}),n.getVideoTracks().forEach(_=>{_.addEventListener("ended",()=>l(),{once:!0})});function l(){if(!i&&(i=!0,a.state!=="inactive"))try{a.stop()}catch(_){console.error("[media] recorder stop",_)}}try{a.start(1e3)}catch(_){return console.error("[media] recorder start",_),n.getTracks().forEach(C=>{C.stop()}),null}(y=e.onstart)==null||y.call(e);const f=Date.now();return o=setInterval(()=>{var _;(_=e.ontick)==null||_.call(e,Date.now()-f)},500),{stop:l,get state(){return a.state}}}const Xo=[{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"}],Jo={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"],data(){return{local:this.modelValue,attachOpen:!1,recording:!1,recordingElapsed:0,recorder:null,kbOffset:0}},computed:{canSend(){return!this.disabled&&!!this.local.trim()},attachItems(){return Xo.map(e=>({...e,label:this.t(e.labelKey),disabled:e.action==="screenshot"&&!J||e.action==="record"&&(!J||!ie)}))},recordingElapsedLabel(){const e=Math.floor(this.recordingElapsed/1e3),n=Math.floor(e/60),r=e%60;return`${n}:${r.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()}},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;e&&(e.clientWidth<80||(e.style.height="auto",e.style.height=`${e.scrollHeight}px`))},onFile(e){const n=Array.from(e.target.files||[]);for(const r of n)this.$emit("attach",r);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 He();e&&this.$emit("attach",e)},async startRecording(){if(this.recording||this.disabled)return;this.recordingElapsed=0;const e=await qe({onstart:()=>{this.recording=!0},ontick:n=>{this.recordingElapsed=n},onfinalize:n=>{this.$emit("attach",n),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 n=Math.max(0,window.innerHeight-e.height-e.offsetTop);this.kbOffset=n},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)}}},Qo={key:0,class:"wm-rec"},Zo={class:"wm-rec__lbl"},ea={key:1,class:"wm-compose__menu",role:"menu"},ta=["disabled","onClick"],na={class:"wm-compose__menuIcon"},ra={viewBox:"0 0 24 24",width:"14",height:"14","aria-hidden":"true"},oa=["d"],aa=["placeholder","disabled"],sa={class:"wm-compose__actions"},ia=["title","aria-label","disabled"],la=["disabled","aria-label"];function ca(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["wm-compose-wrap",{"wm-compose-wrap--sheet":r.displayMode==="sheet"}]),style:t.normalizeStyle(s.kbOffset?{transform:`translateY(-${s.kbOffset}px)`}:null)},[s.recording?(t.openBlock(),t.createElementBlock("div",Qo,[n[8]||(n[8]=t.createElementVNode("span",{class:"wm-rec__dot","aria-hidden":"true"},null,-1)),t.createElementVNode("span",Zo,t.toDisplayString(o.t("composer.recording",{time:o.recordingElapsedLabel})),1),t.createElementVNode("button",{type:"button",class:"wm-rec__stop",onClick:n[0]||(n[0]=(...i)=>o.stopRecording&&o.stopRecording(...i))},t.toDisplayString(o.t("composer.stop")),1)])):t.createCommentVNode("",!0),t.createElementVNode("form",{class:t.normalizeClass(["wm-compose",{"has-attach":s.attachOpen}]),onSubmit:n[7]||(n[7]=t.withModifiers((...i)=>o.onSubmit&&o.onSubmit(...i),["prevent"]))},[t.createElementVNode("input",{ref:"fileEl",type:"file",hidden:"",multiple:"",onChange:n[1]||(n[1]=(...i)=>o.onFile&&o.onFile(...i))},null,544),s.attachOpen?(t.openBlock(),t.createElementBlock("div",{key:0,class:"wm-compose__overlay",onClick:n[2]||(n[2]=i=>s.attachOpen=!1)})):t.createCommentVNode("",!0),s.attachOpen?(t.openBlock(),t.createElementBlock("div",ea,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.attachItems,i=>(t.openBlock(),t.createElementBlock("button",{key:i.action,type:"button",class:"wm-compose__menuItem",disabled:i.disabled,onClick:l=>o.onAttachAction(i.action)},[t.createElementVNode("span",na,[(t.openBlock(),t.createElementBlock("svg",ra,[t.createElementVNode("path",{d:i.path,stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round",fill:"none"},null,8,oa)]))]),t.createElementVNode("span",null,t.toDisplayString(i.label),1)],8,ta))),128))])):t.createCommentVNode("",!0),t.withDirectives(t.createElementVNode("textarea",{ref:"inputEl","onUpdate:modelValue":n[3]||(n[3]=i=>s.local=i),class:"wm-compose__input",rows:"3",placeholder:r.placeholder,disabled:r.disabled,onKeydown:n[4]||(n[4]=(...i)=>o.onKeydown&&o.onKeydown(...i)),onInput:n[5]||(n[5]=(...i)=>o.autosize&&o.autosize(...i))},null,40,aa),[[t.vModelText,s.local]]),t.createElementVNode("div",sa,[t.createElementVNode("button",{type:"button",class:t.normalizeClass(["wm-compose__icon",{"is-open":s.attachOpen}]),title:r.attachLabel,"aria-label":r.attachLabel,disabled:s.recording,onClick:n[6]||(n[6]=i=>s.attachOpen=!s.attachOpen)},[...n[9]||(n[9]=[t.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"},[t.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)])],10,ia),t.createElementVNode("button",{type:"submit",class:t.normalizeClass(["wm-compose__send",{"is-empty":!o.canSend}]),disabled:!o.canSend,"aria-label":o.t("composer.send")},[...n[10]||(n[10]=[t.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"},[t.createElementVNode("path",{d:"M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z"})],-1)])],10,la)])],34)],6)}const $e=N(Jo,[["render",ca],["__scopeId","data-v-01e81a27"]]),da={name:"WmSuggestionChips",props:{items:{type:Array,default:()=>[]},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("§")}}},ua=["onClick"];function ma(e,n,r,a,s,o){return r.items.length?(t.openBlock(),t.createElementBlock("div",{key:o.batchKey,class:"wm-chips"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.items,(i,l)=>(t.openBlock(),t.createElementBlock("button",{key:l,type:"button",class:"wm-chip",style:t.normalizeStyle({animationDelay:r.baseDelay+l*r.stepDelay+"ms"}),onClick:f=>e.$emit("select",i)},t.toDisplayString(i.label),13,ua))),128))])):t.createCommentVNode("",!0)}const Ke=N(da,[["render",ma],["__scopeId","data-v-47ad8085"]]),ha={name:"WmApprovalCard",components:{AIAvatar:H},inject:{t:{default:()=>T()}},props:{action:{type:String,required:!0},detail:{type:String,default:""},callbacks:{type:Array,default:()=>[]},agentName:{type:String,default:""},agentAvatarUrl:{type:String,default:null}},emits:["callback"],computed:{approveCallback(){return this.callbacks.find(e=>e.id==="approve"||e.style==="primary")||this.callbacks[0]},rejectCallback(){return this.callbacks.find(e=>e.id==="reject"||e.style==="danger"||e.style==="neutral")||(this.callbacks.length>1?this.callbacks[1]:null)},approveId(){var e;return(e=this.approveCallback)==null?void 0:e.id},rejectId(){var e;return(e=this.rejectCallback)==null?void 0:e.id},approveLabel(){var e;return((e=this.approveCallback)==null?void 0:e.label)||this.t("approval.approve")},rejectLabel(){var e;return((e=this.rejectCallback)==null?void 0:e.label)||this.t("approval.reject")}}},fa={class:"wm-approval"},pa={class:"wm-approval__head"},ga={class:"wm-approval__icon"},_a={class:"wm-approval__main"},ya={class:"wm-approval__title"},va={key:0,class:"wm-approval__detail"},ka={class:"wm-approval__actions"};function wa(e,n,r,a,s,o){const i=t.resolveComponent("AIAvatar");return t.openBlock(),t.createElementBlock("div",fa,[t.createElementVNode("div",pa,[t.createElementVNode("div",ga,[t.createVNode(i,{size:24,name:r.agentName,"image-url":r.agentAvatarUrl},null,8,["name","image-url"])]),t.createElementVNode("div",_a,[t.createElementVNode("div",ya,t.toDisplayString(r.action),1),r.detail?(t.openBlock(),t.createElementBlock("div",va,t.toDisplayString(r.detail),1)):t.createCommentVNode("",!0)])]),t.createElementVNode("div",ka,[o.rejectId?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"wm-approval__btn wm-approval__btn--neutral",onClick:n[0]||(n[0]=l=>e.$emit("callback",o.rejectId))},t.toDisplayString(o.rejectLabel),1)):t.createCommentVNode("",!0),o.approveId?(t.openBlock(),t.createElementBlock("button",{key:1,type:"button",class:"wm-approval__btn wm-approval__btn--primary",onClick:n[1]||(n[1]=l=>e.$emit("callback",o.approveId))},t.toDisplayString(o.approveLabel),1)):t.createCommentVNode("",!0)])])}const We=N(ha,[["render",wa],["__scopeId","data-v-a2bed37e"]]);let ye=0;const ba=new Set(["text","textarea","number","boolean","select","multiselect","date"]),Ea={name:"WmFormCard",components:{AIAvatar:H},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 ye+=1,{_uid:ye,values:{},busy:!1,error:""}},computed:{normalizedFields(){var n;return(Array.isArray((n=this.form)==null?void 0:n.fields)?this.form.fields:[]).filter(r=>!(!(r!=null&&r.key)||!(r!=null&&r.label)||!ba.has(r==null?void 0:r.type)||(r.type==="select"||r.type==="multiselect")&&(!Array.isArray(r.options)||r.options.length===0)))}},created(){this.resetValues()},methods:{resetValues(){const e=this.initialValues&&typeof this.initialValues=="object"?this.initialValues:{},n={};for(const r of this.normalizedFields){if(e[r.key]!==void 0){n[r.key]=e[r.key];continue}r.type==="boolean"?n[r.key]=!1:r.type==="multiselect"?n[r.key]=[]:n[r.key]=""}this.values=n,this.error=""},toggleMulti(e,n,r){const a=Array.isArray(this.values[e])?this.values[e].slice():[],s=a.indexOf(n);r&&s===-1?a.push(n):!r&&s!==-1&&a.splice(s,1),this.values={...this.values,[e]:a}},validate(){for(const e of this.normalizedFields){if(!e.required)continue;const n=this.values[e.key];if(e.type!=="boolean"){if(e.type==="multiselect"){if(!Array.isArray(n)||n.length===0)return this.t("form.fieldRequired",{label:e.label});continue}if(n==null||n==="")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}}}},Ca={class:"wm-form"},Ba={class:"wm-form__head"},Sa={class:"wm-form__icon"},Na={class:"wm-form__main"},Aa={class:"wm-form__title"},Va={key:0,class:"wm-form__detail"},Ma=["for"],Ta={key:0,class:"wm-form__req","aria-hidden":"true"},xa=["id","onUpdate:modelValue","placeholder","required","disabled"],Da=["id","onUpdate:modelValue","placeholder","required","disabled"],La=["id","onUpdate:modelValue","placeholder","required","disabled"],Oa=["id","onUpdate:modelValue","required","disabled"],Ia={key:4,class:"wm-form__bool"},Ra=["id","onUpdate:modelValue","disabled"],Fa=["id","onUpdate:modelValue","required","disabled"],Pa={value:"",disabled:""},Ua=["value"],za={key:6,class:"wm-form__multi"},ja=["value","checked","disabled","onChange"],Ha={key:0,class:"wm-form__err"},qa=["disabled"],$a={key:0,class:"wm-form__spinner","aria-hidden":"true"},Ka={key:2,class:"wm-form__doneLbl"};function Wa(e,n,r,a,s,o){const i=t.resolveComponent("AIAvatar");return t.openBlock(),t.createElementBlock("div",Ca,[t.createElementVNode("div",Ba,[t.createElementVNode("div",Sa,[t.createVNode(i,{size:24,name:r.agentName,"image-url":r.agentAvatarUrl},null,8,["name","image-url"])]),t.createElementVNode("div",Na,[t.createElementVNode("div",Aa,t.toDisplayString(r.form.title||o.t("form.title")),1),r.form.description?(t.openBlock(),t.createElementBlock("div",Va,t.toDisplayString(r.form.description),1)):t.createCommentVNode("",!0)])]),t.createElementVNode("form",{class:"wm-form__body",onSubmit:n[0]||(n[0]=t.withModifiers((...l)=>o.onSubmit&&o.onSubmit(...l),["prevent"]))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.normalizedFields,l=>(t.openBlock(),t.createElementBlock("div",{key:l.key,class:"wm-form__field"},[t.createElementVNode("label",{for:`wm-f-${s._uid}-${l.key}`,class:"wm-form__label"},[t.createTextVNode(t.toDisplayString(l.label),1),l.required?(t.openBlock(),t.createElementBlock("span",Ta,"*")):t.createCommentVNode("",!0)],8,Ma),l.type==="text"?t.withDirectives((t.openBlock(),t.createElementBlock("input",{key:0,id:`wm-f-${s._uid}-${l.key}`,"onUpdate:modelValue":f=>s.values[l.key]=f,type:"text",class:"wm-form__input",placeholder:l.placeholder||"",required:l.required,disabled:r.readOnly||s.busy},null,8,xa)),[[t.vModelText,s.values[l.key]]]):l.type==="textarea"?t.withDirectives((t.openBlock(),t.createElementBlock("textarea",{key:1,id:`wm-f-${s._uid}-${l.key}`,"onUpdate:modelValue":f=>s.values[l.key]=f,class:"wm-form__textarea",rows:"3",placeholder:l.placeholder||"",required:l.required,disabled:r.readOnly||s.busy},null,8,Da)),[[t.vModelText,s.values[l.key]]]):l.type==="number"?t.withDirectives((t.openBlock(),t.createElementBlock("input",{key:2,id:`wm-f-${s._uid}-${l.key}`,"onUpdate:modelValue":f=>s.values[l.key]=f,type:"number",class:"wm-form__input",placeholder:l.placeholder||"",required:l.required,disabled:r.readOnly||s.busy},null,8,La)),[[t.vModelText,s.values[l.key],void 0,{number:!0}]]):l.type==="date"?t.withDirectives((t.openBlock(),t.createElementBlock("input",{key:3,id:`wm-f-${s._uid}-${l.key}`,"onUpdate:modelValue":f=>s.values[l.key]=f,type:"date",class:"wm-form__input",required:l.required,disabled:r.readOnly||s.busy},null,8,Oa)),[[t.vModelText,s.values[l.key]]]):l.type==="boolean"?(t.openBlock(),t.createElementBlock("label",Ia,[t.withDirectives(t.createElementVNode("input",{id:`wm-f-${s._uid}-${l.key}`,"onUpdate:modelValue":f=>s.values[l.key]=f,type:"checkbox",disabled:r.readOnly||s.busy},null,8,Ra),[[t.vModelCheckbox,s.values[l.key]]]),t.createElementVNode("span",null,t.toDisplayString(l.placeholder||o.t("common.yes")),1)])):l.type==="select"?t.withDirectives((t.openBlock(),t.createElementBlock("select",{key:5,id:`wm-f-${s._uid}-${l.key}`,"onUpdate:modelValue":f=>s.values[l.key]=f,class:"wm-form__select",required:l.required,disabled:r.readOnly||s.busy},[t.createElementVNode("option",Pa,t.toDisplayString(l.placeholder||o.t("form.choose")),1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.options,f=>(t.openBlock(),t.createElementBlock("option",{key:f.value,value:f.value},t.toDisplayString(f.label),9,Ua))),128))],8,Fa)),[[t.vModelSelect,s.values[l.key]]]):l.type==="multiselect"?(t.openBlock(),t.createElementBlock("div",za,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.options,f=>(t.openBlock(),t.createElementBlock("label",{key:f.value,class:"wm-form__multiItem"},[t.createElementVNode("input",{type:"checkbox",value:f.value,checked:Array.isArray(s.values[l.key])&&s.values[l.key].includes(f.value),disabled:r.readOnly||s.busy,onChange:y=>o.toggleMulti(l.key,f.value,y.target.checked)},null,40,ja),t.createElementVNode("span",null,t.toDisplayString(f.label),1)]))),128))])):t.createCommentVNode("",!0)]))),128)),s.error?(t.openBlock(),t.createElementBlock("div",Ha,t.toDisplayString(s.error),1)):t.createCommentVNode("",!0),r.readOnly?(t.openBlock(),t.createElementBlock("div",Ka,t.toDisplayString(o.t("form.responseSent")),1)):(t.openBlock(),t.createElementBlock("button",{key:1,type:"submit",class:"wm-form__submit",disabled:s.busy},[s.busy?(t.openBlock(),t.createElementBlock("span",$a)):t.createCommentVNode("",!0),t.createElementVNode("span",null,t.toDisplayString(s.busy?o.t("common.sending"):r.form.submit_label||o.t("common.send")),1)],8,qa))],32)])}const Ge=N(Ea,[["render",Wa],["__scopeId","data-v-fe65cc56"]]),Ga={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})}}},Ya={class:"wm-fb"},Xa={class:"wm-fb__title"},Ja={class:"wm-fb__sub"},Qa={class:"wm-fb__row"},Za=["onClick"],es={class:"wm-fb__emoji"},ts={class:"wm-fb__label"},ns=["disabled"],rs={key:1,class:"wm-fb__done"},os={class:"wm-fb__doneTitle"},as={class:"wm-fb__doneSub"};function ss(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",Ya,[r.done?(t.openBlock(),t.createElementBlock("div",rs,[n[1]||(n[1]=t.createElementVNode("div",{class:"wm-fb__check"},[t.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"},[t.createElementVNode("path",{d:"M20 6L9 17l-5-5"})])],-1)),t.createElementVNode("div",os,t.toDisplayString(o.t("feedback.doneTitle")),1),t.createElementVNode("div",as,t.toDisplayString(o.t("feedback.doneSubtitle")),1)])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("div",Xa,t.toDisplayString(o.t("feedback.question")),1),t.createElementVNode("div",Ja,t.toDisplayString(o.t("feedback.subtitle")),1),t.createElementVNode("div",Qa,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.options,i=>(t.openBlock(),t.createElementBlock("button",{key:i.v,type:"button",class:t.normalizeClass(["wm-fb__opt",{"is-selected":s.sel===i.v}]),onClick:l=>s.sel=i.v},[t.createElementVNode("span",es,t.toDisplayString(i.e),1),t.createElementVNode("span",ts,t.toDisplayString(i.l),1)],10,Za))),128))]),t.createElementVNode("button",{type:"button",class:"wm-fb__send",disabled:!s.sel||r.busy,onClick:n[0]||(n[0]=(...i)=>o.onSend&&o.onSend(...i))},t.toDisplayString(r.busy?o.t("common.sending"):o.t("feedback.submit")),9,ns)],64))])}const Ye=N(Ga,[["render",ss],["__scopeId","data-v-9b630564"]]),is={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)}}},ls={class:"wm-mm"},cs={class:"wm-mm__pop",role:"menu"},ds={key:0,class:"wm-mm__section"},us={class:"wm-mm__label"},ms={class:"wm-mm__label"},hs={key:1,class:"wm-mm__sep"},fs={class:"wm-mm__section"},ps={class:"wm-mm__label"},gs={class:"wm-mm__section"},_s={class:"wm-mm__label"},ys={class:"wm-mm__label"};function vs(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",ls,[t.createElementVNode("div",{class:"wm-mm__scrim",onClick:n[0]||(n[0]=i=>e.$emit("close"))}),t.createElementVNode("div",cs,[r.canRename||r.canExport?(t.openBlock(),t.createElementBlock("div",ds,[r.canRename?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"wm-mm__item",onClick:n[1]||(n[1]=i=>o.emit("rename"))},[n[6]||(n[6]=t.createElementVNode("span",{class:"wm-mm__icon"},[t.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"},[t.createElementVNode("path",{d:"M12 20h9"}),t.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)),t.createElementVNode("span",us,t.toDisplayString(o.t("moreMenu.editTitle")),1)])):t.createCommentVNode("",!0),r.canExport?(t.openBlock(),t.createElementBlock("button",{key:1,type:"button",class:"wm-mm__item",onClick:n[2]||(n[2]=i=>o.emit("export"))},[n[7]||(n[7]=t.createElementVNode("span",{class:"wm-mm__icon"},[t.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"},[t.createElementVNode("path",{d:"M4 12v8a2 2 0 002 2h12a2 2 0 002-2v-8M16 6l-4-4-4 4M12 2v13"})])],-1)),t.createElementVNode("span",ms,t.toDisplayString(o.t("moreMenu.exportTranscript")),1),n[8]||(n[8]=t.createElementVNode("span",{class:"wm-mm__hint"},".txt",-1))])):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),r.canRename||r.canExport?(t.openBlock(),t.createElementBlock("div",hs)):t.createCommentVNode("",!0),t.createElementVNode("div",fs,[t.createElementVNode("button",{type:"button",class:"wm-mm__item",onClick:n[3]||(n[3]=(...i)=>o.toggleSound&&o.toggleSound(...i))},[n[10]||(n[10]=t.createElementVNode("span",{class:"wm-mm__icon"},[t.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"},[t.createElementVNode("path",{d:"M11 5L6 9H2v6h4l5 4V5z"}),t.createElementVNode("path",{d:"M15.54 8.46a5 5 0 010 7.07M19.07 4.93a10 10 0 010 14.14"})])],-1)),t.createElementVNode("span",ps,t.toDisplayString(o.t("moreMenu.sound")),1),t.createElementVNode("span",{class:t.normalizeClass(["wm-mm__toggle",{"wm-mm__toggle--on":s.soundOn}])},[...n[9]||(n[9]=[t.createElementVNode("span",{class:"wm-mm__knob"},null,-1)])],2)])]),n[13]||(n[13]=t.createElementVNode("div",{class:"wm-mm__sep"},null,-1)),t.createElementVNode("div",gs,[r.statusUrl?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"wm-mm__item",onClick:n[4]||(n[4]=i=>o.emit("status"))},[n[11]||(n[11]=t.createElementVNode("span",{class:"wm-mm__icon"},[t.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"},[t.createElementVNode("path",{d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zM10 6v4l3 2"})])],-1)),t.createElementVNode("span",_s,t.toDisplayString(o.t("moreMenu.serviceStatus")),1)])):t.createCommentVNode("",!0),r.helpUrl?(t.openBlock(),t.createElementBlock("button",{key:1,type:"button",class:"wm-mm__item",onClick:n[5]||(n[5]=i=>o.emit("help"))},[n[12]||(n[12]=t.createElementVNode("span",{class:"wm-mm__icon"},[t.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"},[t.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)),t.createElementVNode("span",ys,t.toDisplayString(o.t("moreMenu.helpCenter")),1)])):t.createCommentVNode("",!0)])])])}const Xe=N(is,[["render",vs],["__scopeId","data-v-4cf6d578"]]),ks={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())}}},ws={class:"wm-dialog"},bs={class:"wm-dialog__card",role:"dialog","aria-modal":"true"},Es={class:"wm-dialog__head"},Cs={class:"wm-dialog__title"},Bs=["aria-label"],Ss={class:"wm-dialog__body"},Ns=["placeholder"],As={class:"wm-dialog__actions"},Vs=["disabled"];function Ms(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",ws,[t.createElementVNode("div",{class:"wm-dialog__scrim",onClick:n[0]||(n[0]=i=>e.$emit("close"))}),t.createElementVNode("div",bs,[t.createElementVNode("div",Es,[t.createElementVNode("div",Cs,t.toDisplayString(r.title||o.t("rename.title")),1),t.createElementVNode("button",{type:"button",class:"wm-dialog__close","aria-label":o.t("common.close"),onClick:n[1]||(n[1]=i=>e.$emit("close"))},[...n[7]||(n[7]=[t.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"},[t.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,Bs)]),t.createElementVNode("div",Ss,[t.withDirectives(t.createElementVNode("input",{ref:"input","onUpdate:modelValue":n[2]||(n[2]=i=>s.value=i),type:"text",class:"wm-dialog__input",placeholder:r.placeholder||o.t("rename.placeholder"),maxlength:120,onKeydown:[n[3]||(n[3]=t.withKeys(t.withModifiers((...i)=>o.onSubmit&&o.onSubmit(...i),["prevent"]),["enter"])),n[4]||(n[4]=t.withKeys(t.withModifiers(i=>e.$emit("close"),["prevent"]),["esc"]))]},null,40,Ns),[[t.vModelText,s.value]])]),t.createElementVNode("div",As,[t.createElementVNode("button",{type:"button",class:"wm-dialog__btn",onClick:n[5]||(n[5]=i=>e.$emit("close"))},t.toDisplayString(o.t("common.cancel")),1),t.createElementVNode("button",{type:"button",class:"wm-dialog__btn wm-dialog__btn--primary",disabled:!o.canSubmit,onClick:n[6]||(n[6]=(...i)=>o.onSubmit&&o.onSubmit(...i))},t.toDisplayString(o.t("common.save")),9,Vs)])])])}const Ts=N(ks,[["render",Ms],["__scopeId","data-v-6d5f94a8"]]),ve="ww-messenger-tokens",xs={name:"Messenger",components:{Launcher:Ae,Header:Me,Onboarding:Te,History:lr,MessageList:Ue,Composer:$e,SuggestionChips:Ke,ApprovalCard:We,FormCard:Ge,Feedback:Ye,MoreMenu:Xe,RenameDialog:Ts},mixins:[pt,wt,bt,Ct],provide(){return{signAttachmentFn:e=>{var n,r;return((r=(n=this.store)==null?void 0:n.signAttachment)==null?void 0:r.call(n,e))||null},t:(e,n)=>this.t(e,n),wmLocale:()=>this.locale}},props:{baseUrl:{type:String,default:Ee},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:!1,convOpenedAt:0,moreOpen:!1,renameDialogOpen:!1,draftConv:null,activeConvId:null,showOnboarding:!1,showHistory:!1,backToHistory:!1,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 r,a,s,o;const e=(r=this.s)==null?void 0:r.customer,n=e&&(e.language||((a=e.values)==null?void 0:a.language));return n||((o=(s=this.context)==null?void 0:s.customer)==null?void 0:o.language)||""},locale(){var e;return se(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 n;const e=(n=this.s)==null?void 0:n.conversations;return Array.isArray(e)?e:[]},drawerConversations(){var r;const e=((r=this.s)==null?void 0:r.messagesByConv)||{},n=this.revealedAt;return this.allConversations.map(a=>{var y;const s=e[a.id]||[],o=R(a.last_read_message_id);let i=0,l=null;for(let _=s.length-1;_>=0;_--){const C=s[_];if(!C)continue;if(((y=C.author)==null?void 0:y.type)==="user")break;const S=R(C.id);if(S!=null){if(o!=null&&S<=o)break;n[C.id]!==0&&(!l&&C.author&&(l=C.author),i++)}}if(!s.length){const _=R(a.last_message_id);_!=null&&(o==null||_>o)&&(i=1,l=a.last_message_author||null)}const f=s.filter(_=>!((_==null?void 0:_.id)!=null&&n[_.id]===0));return{...a,_preview:ut(a,f),_unread:i>0,_unreadCount:i,_lastAuthor:l}})},unreadCount(){return this.drawerConversations.filter(e=>e._unread).length},openThreads(){var n;const e=((n=this.s)==null?void 0:n.messagesByConv)||{};return this.drawerConversations.filter(r=>r.status!=="resolved").map(r=>({id:r.id,title:r.name||this.t("common.newConversation"),preview:r._preview||this.t("onboarding.newMessage"),unread:!!r._unread,author:r._lastAuthor||null,_ts:ge(r,e[r.id]||[])})).sort((r,a)=>r._ts<a._ts?1:r._ts>a._ts?-1:0)},latestUnreads(){var r;const e=((r=this.s)==null?void 0:r.messagesByConv)||{},n=[];for(const a of this.drawerConversations){if(!a._unread)continue;const s=ge(a,e[a.id]||[]),o=a._lastAuthor,i=!o||o.type==="agent_ia",l=(o==null?void 0:o.name)||(i?this.agentName:"")||"",f=(o==null?void 0:o.avatar_url)||(i?this.agentAvatarUrl:null);n.push({convId:a.id,preview:a._preview||this.t("notification.youHaveNewMessage"),ts:s,count:a._unreadCount||1,senderName:l,senderAvatarUrl:f})}return n.sort((a,s)=>a.ts<s.ts?1:a.ts>s.ts?-1:0),n},launcherPeeks(){if(this.isOpen||this.isEmbedded)return[];const e=this.dismissedPeeks||{};return this.latestUnreads.filter(n=>e[n.convId]!==n.ts)},isViewingThread(){return(this.isOpen||this.isEmbedded)&&!!this.currentConv},currentConv(){if(this.draftConv)return this.draftConv;if(this.showOnboarding)return null;const e=this.allConversations;if(!e.length)return null;if(this.activeConvId!=null){const n=e.find(r=>r.id===this.activeConvId);if(n)return n}return e[0]||null},canBack(){return!!this.currentConv||this.showHistory},statusUrl(){var r;const e=(r=this.widget)==null?void 0:r.quick_links;if(!Array.isArray(e))return"";const n=e.find(a=>a.icon==="status"&&a.url);return(n==null?void 0:n.url)||""},helpUrl(){var r;const e=(r=this.widget)==null?void 0:r.quick_links;if(!Array.isArray(e))return"";const n=e.find(a=>(a.icon==="chat"||a.icon==="help")&&a.url);return(n==null?void 0:n.url)||""},widget(){var e,n;return((n=(e=this.s)==null?void 0:e.config)==null?void 0:n.widget)||null},rootStyle(){var n;const e=(n=this.widget)==null?void 0:n.primary_color;return e&&it(e)?{"--wm-primary":e}:null},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},agentName(){var e,n,r;return((r=(n=(e=this.s)==null?void 0:e.config)==null?void 0:n.agent)==null?void 0:r.name)||""},agentAvatarUrl(){var e,n,r;return((r=(n=(e=this.s)==null?void 0:e.config)==null?void 0:n.agent)==null?void 0:r.avatar_url)||null},quickLinks(){var n;const e=(n=this.widget)==null?void 0:n.quick_links;return Array.isArray(e)?e:[]},teamMembers(){var n;const e=(n=this.widget)==null?void 0:n.team_members;return Array.isArray(e)?e:[]},responseLabel(){var e;return((e=this.widget)==null?void 0:e.response_time_label)||""},humanMessageAuthor(){var n,r,a;if(!this.currentConv)return null;const e=((n=this.s.messagesByConv)==null?void 0:n[this.currentConv.id])||[];for(let s=e.length-1;s>=0;s--)if(((a=(r=e[s])==null?void 0:r.author)==null?void 0:a.type)==="agent_human")return e[s].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(){var n;const e=(n=this.currentConv)==null?void 0:n.status;return e==="waiting"||e==="handled"},headerTitle(){var e,n;return((e=this.currentConv)==null?void 0:e.name)||((n=this.widget)==null?void 0:n.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 r,a;const e=this.currentConv;if(!e)return[];if(!e._draft){const s=(a=(r=this.s)==null?void 0:r.paginationByConv)==null?void 0:a[e.id];if(!(s!=null&&s.loaded))return[]}const n=this.revealedAt;return(this.s.messagesByConv[e.id]||[]).filter(s=>{var o,i,l,f,y;return(s==null?void 0:s.type)==="action"&&((o=s==null?void 0:s.payload)==null?void 0:o.state)==="pending"||X(s)&&!(n[s.id]>0)?!1:(s==null?void 0:s.type)==="action"||(s==null?void 0:s.type)==="system"||((i=s==null?void 0:s.payload)==null?void 0:i.type)==="system"||Array.isArray((l=s==null?void 0:s.payload)==null?void 0:l.attachments)&&s.payload.attachments.length||(f=s==null?void 0:s.metadata)!=null&&f.artifact||(y=s==null?void 0:s.metadata)!=null&&y.form?!0:typeof(s==null?void 0:s.text_md)=="string"&&s.text_md.trim().length>0})},streamingActive(){var r,a,s;const e=this.currentConv;return e?Object.keys(((r=this.s)==null?void 0:r.streamingByMsgId)||{}).length>0?!0:this.actionInFlight?!1:(((s=(a=this.s)==null?void 0:a.messagesByConv)==null?void 0:s[e.id])||[]).some(o=>X(o)&&!(this.revealedAt[o.id]>0)):!1},currentConvMessages(){var n,r,a;const e=(n=this.currentConv)==null?void 0:n.id;return e?((a=(r=this.s)==null?void 0:r.messagesByConv)==null?void 0:a[e])||[]:[]},pendingApproval(){return!this.currentConv||!this.store||this.actionInFlight?null:this.store.getPendingApproval(this.currentConv.id)},approvalReady(){return this.pendingApproval?this.pendingApproval.id===this.approvalLatchId?!0:!(this.streamingActive||!this.approvalSettled):!1},approvalTitle(){var e,n,r;return((n=(e=this.pendingApproval)==null?void 0:e.payload)==null?void 0:n.name)||((r=this.pendingApproval)==null?void 0:r.text_md)||this.t("action.title")},approvalDetail(){var a,s,o,i,l,f;const e=(o=(s=(a=this.pendingApproval)==null?void 0:a.payload)==null?void 0:s.pending)==null?void 0:o.user_explanation;if(typeof e=="string"&&e.trim())return e.trim();const n=(f=(l=(i=this.pendingApproval)==null?void 0:i.payload)==null?void 0:l.pending)==null?void 0:f.prepared_params;if(!n||typeof n!="object")return"";const r=Object.entries(n);return r.length?r.slice(0,2).map(([y,_])=>`${y}: ${_}`).join(" · "):""},actionInFlight(){var e,n;return!this.currentConv||!this.store?null:((n=(e=this.store).getActionInFlight)==null?void 0:n.call(e,this.currentConv.id))||null},actionInFlightName(){var n;const e=this.actionInFlight;return e?((n=e.payload)==null?void 0:n.name)||e.text_md||this.t("common.action"):""},suggestions(){return!this.currentConv||!this.store?[]:this.streamingActive?[]:this.pendingForm?[]:this.store.getLatestSuggestions(this.currentConv.id)},pendingForm(){var e,n;return!this.currentConv||!this.store||this.pendingApproval||this.actionInFlight||this.streamingActive||!this.approvalSettled?null:((n=(e=this.store).getLatestForm)==null?void 0:n.call(e,this.currentConv.id))||null},showFeedback(){var n;const e=this.currentConv;return e?this.feedbackDone?!0:e.status!=="resolved"?!1:!((n=e.metadata)!=null&&n.feedback):!1},floatVisible(){return this.approvalReady||!!this.pendingForm||this.showFeedback||this.suggestions.length>0},dateLabel(){var r,a,s;const e=this.currentConv;let n=new Date;if(e){const i=((s=(((a=(r=this.s)==null?void 0:r.messagesByConv)==null?void 0:a[e.id])||[]).find(l=>l==null?void 0:l.created_at))==null?void 0:s.created_at)||e.created_at;if(i){const l=new Date(i);Number.isNaN(l.getTime())||(n=l)}}return this.t("messageList.today",{time:re(n,P(this.locale))})},paginationState(){var r,a,s;const e=(r=this.currentConv)==null?void 0:r.id,n=e?(s=(a=this.s)==null?void 0:a.paginationByConv)==null?void 0:s[e]:null;return{loading:!!(n!=null&&n.loading),hasMore:!!(n!=null&&n.nextCursor)}}},watch:{latestUnreads:{handler(e){const n=new Set(e.map(i=>i.convId)),r=this.dismissedPeeks||{},a=Object.keys(r);if(!a.length)return;const s={};let o=!1;for(const i of a)n.has(i)?s[i]=r[i]:o=!0;o&&(this.dismissedPeeks=s)},deep:!0},"currentConv.id":{handler(e){var n;this.resetRevealQueue(),this.convOpenedAt=Date.now(),this.moreOpen=!1,this.renameDialogOpen=!1,this.resetApprovalPacing(),this.isViewingThread&&(this.unreadAnchorId=R((n=this.currentConv)==null?void 0:n.last_read_message_id),this.unreadBoundaryTs=e?new Date().toISOString():"")},immediate:!0},isViewingThread(e,n){var r;e&&!n?(this.unreadAnchorId=R((r=this.currentConv)==null?void 0:r.last_read_message_id),this.unreadBoundaryTs=new Date().toISOString()):e||(this.unreadAnchorId=null,this.unreadBoundaryTs="")},pendingApproval:{handler(e,n){if(e&&!n){const r=e!=null&&e.created_at?Date.parse(e.created_at):NaN;if(!(Number.isFinite(r)&&r>=this.convOpenedAt)){this.resetApprovalPacing();return}this.bumpApprovalSettle(2600)}else!e&&n&&this.resetApprovalPacing()},immediate:!1},streamingActive(e,n){e!==n&&this.pendingApproval&&this.pendingApproval.id!==this.approvalLatchId&&this.bumpApprovalSettle()},approvalReady(e){e&&this.pendingApproval&&(this.approvalLatchId=this.pendingApproval.id)},floatVisible:{handler(e){this.$nextTick(()=>this.syncFloatObserver(e))},immediate:!0},currentConvMessages(e){var n;this.paceMessages(e,(n=this.currentConv)==null?void 0:n.id),(this.isOpen||this.isEmbedded)&&this.currentConv&&this.markConvRead(this.currentConv)}},async mounted(){if(typeof document<"u"&&!document.getElementById(ve)){const e=document.createElement("style");e.id=ve,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.teardownLiveReveal(),this.disconnectFloatRO(),this.resetApprovalPacing(),this.teardownNotifications(),this.store&&this.store.destroy()},methods:{t(e,n){return this.translator(e,n)},waitForParentInit(){if(this.parentInitReceived)return Promise.resolve();if(!this.parentInitDeferred){let e;this.parentInitDeferred=new Promise(n=>{e=n}),this.parentInitDeferred._resolve=e}return this.parentInitDeferred},onParentMessage(e){var r;const n=e==null?void 0:e.data;if(!(!n||typeof n!="object")){if(n.type==="UPDATE"){this.transport&&n.payload&&this.transport.update(n.payload).catch(a=>{console.warn("[messenger] update failed",a)});return}if(n.type==="CONTEXT"){this.transport&&n.payload&&this.transport.context(n.payload);return}n.type==="INIT"&&(this.parentOrigin=e.origin,this.parentToken=typeof n.token=="string"?n.token:"",this.parentVariables=n.variables&&typeof n.variables=="object"?n.variables:n.context&&typeof n.context=="object"?n.context:null,this.parentAllowUnauthenticated=n.allowUnauthenticated===!0,this.parentInitReceived=!0,(r=this.parentInitDeferred)!=null&&r._resolve&&this.parentInitDeferred._resolve(),!this.isEmbedded&&!this.isOpen&&!this.parentAllowUnauthenticated&&this.parentToken&&this.hasValidSessionMarker()&&this.boot().catch(a=>{console.warn("[messenger] eager boot failed",a)}))}},hasValidSessionMarker(){if(typeof document>"u")return!1;const n=(document.cookie||"").match(/(?:^|; )messenger_session_marker=([^;]+)/);if(!n)return!1;const r=parseInt(n[1],10);return Number.isFinite(r)?r>Date.now():!1},async boot(){if(!this.canBoot){console.warn("[messenger] boot skipped — missing creds");return}try{await this.waitForParentInit(),this.transport=t.markRaw(ke({baseUrl:this.baseUrl,widgetId:this.widgetId})),this.store=t.markRaw(we(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 n={};for(const[r,a]of Object.entries(e))r!=="customer"&&a&&typeof a=="object"&&!Array.isArray(a)&&(n[r]=a);Object.keys(n).length>0&&this.transport.context(n)}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.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=!1,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 n=this.$refs.floatEl;if(n){if(typeof ResizeObserver>"u"){this.floatHeight=Math.ceil(n.getBoundingClientRect().height+8);return}this.floatRO=new ResizeObserver(r=>{const a=r[0];if(!a)return;const s=Math.ceil(a.contentRect.height+8);s!==this.floatHeight&&(this.floatHeight=s,this.$nextTick(()=>{var o,i;(i=(o=this.$refs.messageList)==null?void 0:o.scrollToBottom)==null||i.call(o)}))}),this.floatRO.observe(n)}},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(n){console.error("[ww-messenger] load messages failed",n)}this.markConvRead(e)}},async close(){this.isOpen=!1,await this.$nextTick(),this.sendCurrentLauncherSize(),this.observeLauncherSize(),this.store&&this.store.setPanelOpen(!1)},notifyParentResize(e,n){if(window.parent&&window.parent!==window)try{window.parent.postMessage({type:"RESIZE",state:e,displayMode:this.displayMode,...n||{}},"*")}catch(r){console.warn("[ww-messenger] notifyParentResize failed",r)}},onLauncherHover(e){this.launcherHovered=e,this.sendCurrentLauncherSize()},sendCurrentLauncherSize(){var _,C,S,k,D,b,V;if(this.isOpen)return;const e=(C=(_=this.$el)==null?void 0:_.querySelector)==null?void 0:C.call(_,".wm-launcherWrap");if(!e)return;const n=e.getBoundingClientRect();if(!n.width||!n.height)return;const r=(((S=this.launcherPeeks)==null?void 0:S.length)??0)>0,a=16,s=Math.ceil(n.width),o=Math.ceil(n.height),i=(D=(k=this.$el)==null?void 0:k.querySelector)==null?void 0:D.call(k,".wm-launcher"),l=(V=(b=this.$el)==null?void 0:b.querySelectorAll)==null?void 0:V.call(b,".wm-peek"),f=l&&l.length?l[l.length-1]:null;let y=null;if(f){const M=f.getBoundingClientRect();y={width:Math.ceil(M.width),height:Math.ceil(M.height),rightOffset:Math.max(0,Math.ceil(n.right-M.right)),bottomOffset:Math.max(0,Math.ceil(n.bottom-M.bottom))}}this.notifyParentResize("closed",{width:s+a,height:o+a,launcherWidth:(i==null?void 0:i.offsetWidth)||null,launcherHeight:(i==null?void 0:i.offsetHeight)||null,launcherHovered:this.launcherHovered,peek:y,peekHovered:this.launcherHovered&&r})},observeLauncherSize(){var r,a;if(typeof ResizeObserver>"u")return;const e=(a=(r=this.$el)==null?void 0:r.querySelector)==null?void 0:a.call(r,".wm-launcherWrap");if(!e)return;this._launcherRo&&this._launcherRo.disconnect();const n=new ResizeObserver(()=>{this.isOpen||this.sendCurrentLauncherSize()});n.observe(e),this._launcherRo=n},async openFromPeek(e){var r,a;const n=e||((r=this.latestUnreads[0])==null?void 0:r.convId);n&&n!==((a=this.currentConv)==null?void 0:a.id)&&(this.draftConv=null,this.activeConvId=n,this.showOnboarding=!1,this.showHistory=!1,this.backToHistory=!1),await this.open()},dismissPeek(e){const n=this.latestUnreads.find(r=>r.convId===e);n&&(this.dismissedPeeks={...this.dismissedPeeks,[e]:n.ts})},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()},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 n=await this.store.createConversation({});return this.draftConv=null,this.activeConvId=n.id,await this.store.openConversation(n.id),this.markConvRead(n),n}catch(n){return console.error("[ww-messenger] create conv failed",n),this.bootError=(n==null?void 0:n.message)||String(n),null}finally{this.busy=!1}},focusComposer(){this.$nextTick(()=>{var e;return(e=this.$refs.composer)==null?void 0:e.focus()})},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 n=this.showHistory;this.draftConv=null,this.activeConvId=e.id,this.showOnboarding=!1,this.showHistory=!1,this.backToHistory=n;try{await this.store.openConversation(e.id)}catch(a){console.error("[ww-messenger] open conv failed",a)}const r=this.allConversations.find(a=>a.id===e.id);r&&this.markConvRead(r)},async onMoreAction(e){var n,r;switch(this.moreOpen=!1,e){case"rename":this.openRenameDialog();break;case"export":ft(this.currentConv,this.currentConv?(r=(n=this.s)==null?void 0:n.messagesByConv)==null?void 0:r[this.currentConv.id]:[],this.translator,this.locale);break;case"status":if(ne(this.statusUrl))try{window.open(this.statusUrl,"_blank","noopener")}catch{}break;case"help":if(ne(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 n=this.currentConv;if(this.renameDialogOpen=!1,!n||n._draft||!this.store)return;const r=(e||"").trim();if(!(!r||r===n.name))try{await this.store.patchConversation(n.id,{name:r})}catch(a){console.error("[ww-messenger] rename failed",a)}},async onSend(e){let n=this.currentConv;if(!n&&(this.startConv(),n=this.currentConv,!n)||n._draft&&(n=await this.ensureRealConv(),!n))return;const r=n.id,a=this.pendingAttachments.slice();this.pendingAttachments=[],this.unreadAnchorId=null,this.unreadBoundaryTs="",await this.store.send(r,e,{attachments:a.length?a:void 0})},async onSuggestion(e){const n=e==null?void 0:e.label;n&&await this.onSend(n)},async onLoadMore(){var n;const e=(n=this.currentConv)==null?void 0:n.id;!e||!this.store||await this.store.loadMore(e)},async onApprovalCallback(e){const n=this.pendingApproval;n&&await this.store.clickCallback(n.id,e)},async onFormSubmit({values:e}){const n=this.pendingForm;if(!(n!=null&&n.form))return;const r=ct(n.form,e,this.translator);if(!r)return;let a=this.currentConv;a&&(a._draft&&(a=await this.ensureRealConv(),!a)||await this.store.send(a.id,r,{metadata:{artifact:dt(n.form,e,this.translator)}}))},async onAttach(e){if(!(!e||!this.transport))try{const n=await this.transport.uploadAttachment(e);this.pendingAttachments.push({type:n.type||"file",path:n.path,name:e.name||this.t("attachment.fileFallbackName"),mime_type:e.type,size_bytes:e.size})}catch(n){console.error("[ww-messenger] attachment upload failed",n)}},onPanelClick(e){const n=e.target&&e.target.closest?e.target.closest('a[href^="#"]'):null;n&&(e.preventDefault(),this.openInternalUrl(n.getAttribute("href")))},async openInternalUrl(e){if(typeof e!="string"||!e.startsWith("#"))return!1;const n=e.slice(1);if(n==="new"||n==="new-conversation")return this.isOpen||await this.open(),this.startConv(),!0;if(n.startsWith("conversation/")){const r=n.slice(13);return r&&await this.openFromPeek(r),!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(!ne(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:n}){if(this.currentConv){this.feedbackBusy=!0;try{await this.store.submitFeedback(this.currentConv.id,{rating:e,comment:n}),this.feedbackDone=!0}catch(r){console.error("[ww-messenger] feedback failed",r)}finally{this.feedbackBusy=!1}}}}},Ds={key:0,class:"wm-loading","aria-busy":"true","aria-live":"polite"},Ls=["aria-label"],Os={key:0,class:"wm-state"},Is={class:"wm-state__err"},Rs={class:"wm-state__errTitle"},Fs={class:"wm-state__errSub"},Ps={class:"wm-bottom"},Us={key:0,ref:"floatEl",class:"wm-float"},zs={key:1,class:"wm-actionWait",role:"status","aria-live":"polite"},js={class:"wm-actionWait__lbl"},Hs={key:2,class:"wm-attached"},qs=["aria-label","onClick"];function $s(e,n,r,a,s,o){const i=t.resolveComponent("Launcher"),l=t.resolveComponent("Header"),f=t.resolveComponent("History"),y=t.resolveComponent("Onboarding"),_=t.resolveComponent("MessageList"),C=t.resolveComponent("ApprovalCard"),S=t.resolveComponent("FormCard"),k=t.resolveComponent("Feedback"),D=t.resolveComponent("SuggestionChips"),b=t.resolveComponent("Composer"),V=t.resolveComponent("MoreMenu"),M=t.resolveComponent("RenameDialog");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["wm-root",`wm-root--${r.displayMode}`]),style:t.normalizeStyle(o.rootStyle)},[!s.isOpen&&!o.isEmbedded?(t.openBlock(),t.createBlock(i,{key:0,"unread-count":o.unreadCount,peeks:o.launcherPeeks,onOpen:o.openFromPeek,onDismiss:o.dismissPeek,onHover:o.onLauncherHover},null,8,["unread-count","peeks","onOpen","onDismiss","onHover"])):t.createCommentVNode("",!0),s.isOpen||o.isEmbedded?(t.openBlock(),t.createElementBlock("section",{key:1,class:t.normalizeClass(["wm-panel",`wm-panel--${r.displayMode}`,{"wm-panel--welcome":o.ready&&!o.error&&!o.currentConv}]),style:t.normalizeStyle(s.floatHeight?{"--wm-float-h":s.floatHeight+"px"}:null),role:"dialog","aria-label":"Messenger",onClick:n[6]||(n[6]=(...A)=>o.onPanelClick&&o.onPanelClick(...A))},[!o.ready&&!o.error?(t.openBlock(),t.createElementBlock("div",Ds,[o.isEmbedded?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"wm-loading__close","aria-label":o.t("loading.minimize"),onClick:n[0]||(n[0]=(...A)=>o.close&&o.close(...A))},[...n[7]||(n[7]=[t.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"},[t.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,Ls)),n[8]||(n[8]=t.createElementVNode("div",{class:"wm-loading__spinner","aria-hidden":"true"},null,-1))])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createVNode(l,{title:o.headerTitle,"team-members":o.teamMembers,"response-label":o.responseLabel,"show-identity":!!o.currentConv,"show-back":o.canBack,"show-close":!o.isEmbedded,"more-active":s.moreOpen,"agent-name":o.agentName,"agent-avatar-url":o.agentAvatarUrl,onBack:o.goHome,onMore:o.toggleMore,onClose:o.close},null,8,["title","team-members","response-label","show-identity","show-back","show-close","more-active","agent-name","agent-avatar-url","onBack","onMore","onClose"]),o.error?(t.openBlock(),t.createElementBlock("div",Os,[t.createElementVNode("div",Is,[n[9]||(n[9]=t.createElementVNode("div",{class:"wm-state__errIcon"},[t.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"},[t.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})])],-1)),t.createElementVNode("div",null,[t.createElementVNode("div",Rs,t.toDisplayString(o.t("error.connectionFailed")),1),t.createElementVNode("div",Fs,t.toDisplayString(o.error),1)])])])):!o.currentConv&&s.showHistory?(t.openBlock(),t.createBlock(f,{key:1,threads:o.openThreads,onResume:o.onDrawerPick},null,8,["threads","onResume"])):o.currentConv?(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[t.createVNode(_,{ref:"messageList",messages:o.displayedMessages,"streaming-active":o.streamingActive,"date-label":o.dateLabel,"conversation-id":o.currentConv?o.currentConv.id:null,"loading-more":o.paginationState.loading,"has-more":o.paginationState.hasMore,"unread-anchor-id":e.unreadAnchorId,"unread-boundary-ts":e.unreadBoundaryTs,"ai-agent-name":o.agentName,"ai-agent-avatar-url":o.agentAvatarUrl,onLoadMore:o.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"]),t.createElementVNode("div",Ps,[o.floatVisible?(t.openBlock(),t.createElementBlock("div",Us,[o.approvalReady?(t.openBlock(),t.createBlock(C,{key:0,action:o.approvalTitle,detail:o.approvalDetail,callbacks:o.pendingApproval.callbacks,"agent-name":o.agentName,"agent-avatar-url":o.agentAvatarUrl,onCallback:o.onApprovalCallback},null,8,["action","detail","callbacks","agent-name","agent-avatar-url","onCallback"])):o.pendingForm?(t.openBlock(),t.createBlock(S,{key:o.pendingForm.message&&o.pendingForm.message.id,form:o.pendingForm.form,"agent-name":o.agentName,"agent-avatar-url":o.agentAvatarUrl,onSubmit:o.onFormSubmit},null,8,["form","agent-name","agent-avatar-url","onSubmit"])):o.showFeedback?(t.openBlock(),t.createBlock(k,{key:2,busy:s.feedbackBusy,done:s.feedbackDone,onSubmit:o.onFeedback},null,8,["busy","done","onSubmit"])):(t.openBlock(),t.createBlock(D,{key:3,items:o.suggestions,onSelect:o.onSuggestion},null,8,["items","onSelect"]))],512)):t.createCommentVNode("",!0),o.actionInFlight?(t.openBlock(),t.createElementBlock("div",zs,[n[10]||(n[10]=t.createElementVNode("span",{class:"wm-actionWait__spinner","aria-hidden":"true"},null,-1)),t.createElementVNode("span",js,t.toDisplayString(o.t("action.inProgress",{name:o.actionInFlightName})),1)])):(t.openBlock(),t.createBlock(b,{key:2,ref:"composer",modelValue:s.draft,"onUpdate:modelValue":n[2]||(n[2]=A=>s.draft=A),placeholder:o.composerPlaceholder,disabled:!!o.pendingApproval,"attach-label":o.t("composer.attachFile"),"display-mode":r.displayMode,onSend:o.onSend,onAttach:o.onAttach},null,8,["modelValue","placeholder","disabled","attach-label","display-mode","onSend","onAttach"]))]),s.moreOpen?(t.openBlock(),t.createBlock(V,{key:0,"can-rename":!!o.currentConv&&!o.currentConv._draft,"can-export":!!o.currentConv&&!o.currentConv._draft,"sound-enabled":e.soundEnabled,"status-url":o.statusUrl,"help-url":o.helpUrl,onClose:n[3]||(n[3]=A=>s.moreOpen=!1),onSoundToggle:e.onSoundToggle,onAction:o.onMoreAction},null,8,["can-rename","can-export","sound-enabled","status-url","help-url","onSoundToggle","onAction"])):t.createCommentVNode("",!0),s.renameDialogOpen&&o.currentConv&&!o.currentConv._draft?(t.openBlock(),t.createBlock(M,{key:1,"initial-value":o.currentConv.name||"",title:o.t("rename.dialogTitle"),onClose:n[4]||(n[4]=A=>s.renameDialogOpen=!1),onSubmit:o.onRenameSubmit},null,8,["initial-value","title","onSubmit"])):t.createCommentVNode("",!0),s.pendingAttachments.length?(t.openBlock(),t.createElementBlock("div",Hs,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.pendingAttachments,(A,O)=>(t.openBlock(),t.createElementBlock("div",{key:O,class:"wm-attached__chip"},[n[12]||(n[12]=t.createElementVNode("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[t.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)),t.createElementVNode("span",null,t.toDisplayString(A.name),1),t.createElementVNode("button",{type:"button","aria-label":o.t("attachment.remove"),onClick:U=>s.pendingAttachments.splice(O,1)},[...n[11]||(n[11]=[t.createElementVNode("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[t.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,qs)]))),128))])):t.createCommentVNode("",!0)],64)):(t.openBlock(),t.createBlock(y,{key:2,"welcome-message":o.widgetWelcomeMessage,subtitle:o.widgetSubtitle,"agent-name":o.agentName,"default-icon-url":o.defaultIconUrl,"quick-links":o.quickLinks,"open-threads":o.openThreads,busy:s.busy,onStart:o.startConv,onSelect:o.onQuickLink,onResume:o.onDrawerPick,onViewHistory:n[1]||(n[1]=A=>s.showHistory=!0)},null,8,["welcome-message","subtitle","agent-name","default-icon-url","quick-links","open-threads","busy","onStart","onSelect","onResume"])),s.moreOpen&&!o.currentConv?(t.openBlock(),t.createBlock(V,{key:4,"can-rename":!1,"can-export":!1,"sound-enabled":e.soundEnabled,"status-url":o.statusUrl,"help-url":o.helpUrl,onClose:n[5]||(n[5]=A=>s.moreOpen=!1),onSoundToggle:e.onSoundToggle,onAction:o.onMoreAction},null,8,["sound-enabled","status-url","help-url","onSoundToggle","onAction"])):t.createCommentVNode("",!0)],64))],6)):t.createCommentVNode("",!0)],6)}const Je=N(xs,[["render",$s],["__scopeId","data-v-77e30aba"]]),Ks="0.5.51";exports.AIAvatar=H;exports.AVATAR_COLORS=te;exports.ActionResult=xe;exports.ApprovalCard=We;exports.ArtifactFormResponse=De;exports.ArtifactInfoCard=Le;exports.ArtifactRenderer=Ie;exports.ArtifactTicket=Oe;exports.AttachmentPreview=Re;exports.Bubble=Fe;exports.Composer=$e;exports.DEFAULT_BASE_URL=Ee;exports.DEFAULT_LANGUAGE=G;exports.Feedback=Ye;exports.FormCard=Ge;exports.Header=Me;exports.HumanAvatar=Q;exports.Launcher=Ae;exports.MEDIA_RECORDER_SUPPORTED=ie;exports.MessageList=Ue;exports.Messenger=Je;exports.MoreMenu=Xe;exports.Onboarding=Te;exports.SCREEN_CAPTURE_SUPPORTED=J;exports.SUPPORTED_LANGUAGES=Ce;exports.SuggestionChips=Ke;exports.TeamAvatars=Ve;exports.Typing=Pe;exports.VERSION=Ks;exports.avatarColor=oe;exports.avatarInitials=ae;exports.captureScreenshotFile=He;exports.colors=x;exports.createStore=we;exports.createTranslator=T;exports.createTransport=ke;exports.dateLocale=P;exports.default=Je;exports.formatTime=re;exports.guessAttachmentKind=Go;exports.pickRecorderMime=ze;exports.renderInlineMarkdown=me;exports.renderMarkdown=Ne;exports.resolveLanguage=se;exports.startScreenRecording=qe;exports.tokensCss=be;exports.uuid=ue;exports.v4=ue;
58
+ `)}function ft(e,n,r=T(),a){if(!e)return;const s=ht(e,n||[],r,P(a)),o=new Blob([s],{type:"text/plain;charset=utf-8"});try{const i=URL.createObjectURL(o),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 pt={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,n;if(this._audioCtx){try{(n=(e=this._audioCtx).close)==null||n.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 n=localStorage.getItem(this.browserNotifStorageKey());n==="0"?this.browserNotifEnabled=!1:n==="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 n=Notification.permission;if(n==="default"){try{n=await Notification.requestPermission()}catch(r){console.warn("[ww-messenger] notif permission request failed",r),n="denied"}this.notifPermission=n}this.browserNotifEnabled=n==="granted",this.persistBrowserNotifPref()},onMessageRevealed(e,n){var s;if(!this.soundEnabled&&!this.browserNotifEnabled||!n||!e||!X(e))return;const r=typeof document<"u"&&document.hidden;this.isOpen&&!r&&((s=this.currentConv)==null?void 0:s.id)===n||(this.soundEnabled&&this.playNotificationSound(),this.browserNotifEnabled&&this.showBrowserNotification(n,e))},playNotificationSound(){if(typeof window>"u")return;const e=window.AudioContext||window.webkitAudioContext;if(e)try{this._audioCtx||(this._audioCtx=new e);const n=this._audioCtx;if(n.state==="suspended")try{n.resume()}catch{}const r=n.currentTime,a=n.createOscillator(),s=n.createGain();a.connect(s),s.connect(n.destination),a.type="sine",a.frequency.setValueAtTime(880,r),a.frequency.exponentialRampToValueAtTime(1320,r+.08),s.gain.setValueAtTime(0,r),s.gain.linearRampToValueAtTime(.12,r+.02),s.gain.exponentialRampToValueAtTime(1e-4,r+.28),a.start(r),a.stop(r+.32)}catch{}},showBrowserNotification(e,n){if(typeof Notification>"u"||Notification.permission!=="granted")return;const r=n==null?void 0:n.author,a=!r||r.type==="agent_ia",o=((r==null?void 0:r.name)||(a?this.agentName:"")||this.t("launcher.theAgent"))+this.t("launcher.repliedToYou"),i=typeof(n==null?void 0:n.text_md)=="string"?n.text_md.trim():"",l=i?i.slice(0,140):this.t("notification.youHaveNewMessage");try{const f=new Notification(o,{body:l,tag:`wm-${e}`,renotify:!1,silent:!0});f.onclick=()=>{try{window.focus()}catch{}this.draftConv=null,this.showOnboarding=!1,this.activeConvId=e,this.isOpen=!0,this.store&&this.store.setPanelOpen(!0);try{f.close()}catch{}}}catch(f){console.warn("[ww-messenger] notification failed",f)}}}},gt=450,_t=50,yt=900,vt=12e3,kt=300,wt={data(){return{revealedAt:{},nextRevealAt:0,revealTimers:[],_liveRevealOff:null,_liveRevealConvSnapshot:null}},methods:{cancelReveals(){for(const e of this.revealTimers)clearTimeout(e);this.revealTimers=[]},resetRevealQueue(){this.cancelReveals(),this.revealedAt={},this.nextRevealAt=0},setupLiveReveal(){var r;if(!this.transport)return;this.teardownLiveReveal();const e=this.transport.on("message",a=>{const s=a==null?void 0:a.conversation_id,o=a==null?void 0:a.message;s&&o&&this.paceLiveMessage(o,s)});this._liveRevealConvSnapshot=new Map((((r=this.s)==null?void 0:r.conversations)||[]).map(a=>[a.id,(a==null?void 0:a.last_message_at)||""]));const n=this.transport.on("activity",a=>{this.handleLiveActivity(a)});this._liveRevealOff=()=>{try{e()}catch{}try{n()}catch{}}},teardownLiveReveal(){if(this._liveRevealOff){try{this._liveRevealOff()}catch{}this._liveRevealOff=null}this._liveRevealConvSnapshot=null},async handleLiveActivity(e){var s,o;const n=e==null?void 0:e.conversations;if(!Array.isArray(n)||!this.store)return;const r=this._liveRevealConvSnapshot||new Map,a=[];for(const i of n){if(!(i!=null&&i.id))continue;const l=i.last_message_at||"";if(!l)continue;const f=r.get(i.id)||"";l>f&&a.push(i.id)}this._liveRevealConvSnapshot=new Map(n.map(i=>[i.id,(i==null?void 0:i.last_message_at)||""]));for(const i of a)try{const l=await((o=(s=this.store).fetchSinceLast)==null?void 0:o.call(s,i));if(!Array.isArray(l))continue;for(const f of l)this.paceLiveMessage(f,i)}catch(l){console.error("[ww-messenger] activity delta fetch failed",l)}},scheduleReveal(e,n){const r=Date.now(),a=((e==null?void 0:e.text_md)||"").length,s=Math.min(vt,Math.max(yt,a*_t)),i=Math.max(r+gt,this.nextRevealAt+kt)+s;this.nextRevealAt=i;const l=Math.max(0,i-r),f=e.id,y=setTimeout(()=>{this.revealedAt={...this.revealedAt,[f]:Date.now()},this.revealTimers=this.revealTimers.filter(_=>_!==y),typeof this.onMessageRevealed=="function"&&this.onMessageRevealed(e,n)},l);this.revealTimers.push(y)},paceMessages(e,n){var s;if(!Array.isArray(e)||!e.length)return;const r=Date.now(),a={...this.revealedAt};for(const o of e){if((o==null?void 0:o.id)==null||a[o.id]!==void 0)continue;if(!X(o)){a[o.id]=r;continue}const i=o!=null&&o.created_at?Date.parse(o.created_at):NaN;if(!Number.isFinite(i)||i<this.convOpenedAt){a[o.id]=r;continue}const l=typeof(o==null?void 0:o.text_md)=="string"&&o.text_md.trim().length>0,f=Array.isArray((s=o==null?void 0:o.payload)==null?void 0:s.attachments)&&o.payload.attachments.length>0;if(!l&&!f){a[o.id]=r;continue}a[o.id]=0,this.scheduleReveal(o,n)}this.revealedAt=a},paceLiveMessage(e,n){var s;if(!(e!=null&&e.id)||this.revealedAt[e.id]!==void 0)return;if(!X(e)){this.revealedAt={...this.revealedAt,[e.id]:Date.now()};return}const r=typeof(e==null?void 0:e.text_md)=="string"&&e.text_md.trim().length>0,a=Array.isArray((s=e==null?void 0:e.payload)==null?void 0:s.attachments)&&e.payload.attachments.length>0;if(!r&&!a){this.revealedAt={...this.revealedAt,[e.id]:Date.now()};return}this.revealedAt={...this.revealedAt,[e.id]:0},this.scheduleReveal(e,n)}}},bt={data(){return{approvalSettled:!0,approvalSettleTimer:null,approvalLatchId:null}},methods:{resetApprovalPacing(){this.approvalSettleTimer&&(clearTimeout(this.approvalSettleTimer),this.approvalSettleTimer=null),this.approvalSettled=!0,this.approvalLatchId=null},bumpApprovalSettle(e=800){this.approvalSettled=!1,this.approvalSettleTimer&&clearTimeout(this.approvalSettleTimer),this.approvalSettleTimer=setTimeout(()=>{this.approvalSettled=!0,this.approvalSettleTimer=null},e)}}},Et=300,Ct={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 o,i;if(!(e!=null&&e.id)||e._draft||!this.store)return;const n=((i=(o=this.s)==null?void 0:o.messagesByConv)==null?void 0:i[e.id])||[],r=Bt(n);if(r==null)return;const a=R(e.last_read_message_id),s=R(r);s!=null&&(a!=null&&s<=a||(this._readMarkerPending={convId:e.id,messageId:r},!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)},Et))))}}};function Bt(e){for(let n=e.length-1;n>=0;n--){const r=e[n];if(!(!r||r._pending)&&R(r.id)!=null)return r.id}return null}const N=(e,n)=>{const r=e.__vccOpts||e;for(const[a,s]of n)r[a]=s;return r},St={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)}}},Nt=["src","alt"];function At(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["wm-huav",{"wm-huav--tail":r.tail}]),style:t.normalizeStyle({width:r.size+"px",height:r.size+"px","--wm-avr":Math.round(r.size*.32)+"px",background:o.bg})},[r.avatarUrl?(t.openBlock(),t.createElementBlock("img",{key:0,src:r.avatarUrl,alt:r.name||""},null,8,Nt)):(t.openBlock(),t.createElementBlock("span",{key:1,style:t.normalizeStyle({fontSize:r.size*.36+"px"})},t.toDisplayString(o.initials),5))],6)}const Q=N(St,[["render",At],["__scopeId","data-v-14e10c0d"]]),Vt=3,Mt={name:"WmLauncher",components:{HumanAvatar:Q},inject:{t:{default:()=>T()}},props:{unreadCount:{type:Number,default:0},peeks:{type:Array,default:()=>[]}},emits:["open","dismiss"],computed:{visiblePeeks(){return this.peeks.slice(0,Vt).reverse()}}},Tt=["aria-label","onClick","onKeydown"],xt=["aria-label","onClick"],Lt={class:"wm-peek__avatar"},Dt=["aria-label"],Ot={class:"wm-peek__body"},It={class:"wm-peek__head"},Rt={class:"wm-peek__name"},Ft={class:"wm-peek__action"},Pt={class:"wm-peek__text"},Ut=["onClick"],zt=["aria-label"],jt=["aria-label"];function Ht(e,n,r,a,s,o){const i=t.resolveComponent("HumanAvatar");return t.openBlock(),t.createElementBlock("div",{class:"wm-launcherWrap",onMouseenter:n[1]||(n[1]=l=>e.$emit("hover",!0)),onMouseleave:n[2]||(n[2]=l=>e.$emit("hover",!1)),onFocusin:n[3]||(n[3]=l=>e.$emit("hover",!0)),onFocusout:n[4]||(n[4]=l=>e.$emit("hover",!1))},[t.createVNode(t.Transition,{name:"wm-peek"},{default:t.withCtx(()=>[o.visiblePeeks.length?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["wm-peekStack",{"wm-peekStack--multi":o.visiblePeeks.length>1}])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.visiblePeeks,(l,f)=>(t.openBlock(),t.createElementBlock("div",{key:l.convId,class:"wm-peek",style:t.normalizeStyle({"--depth":o.visiblePeeks.length-1-f,zIndex:f+1}),role:"button",tabindex:"0","aria-label":o.t("launcher.openConversationWith",{name:l.senderName||o.t("launcher.theAgent")}),onClick:y=>e.$emit("open",l.convId),onKeydown:[t.withKeys(t.withModifiers(y=>e.$emit("open",l.convId),["prevent"]),["enter"]),t.withKeys(t.withModifiers(y=>e.$emit("open",l.convId),["prevent"]),["space"])]},[t.createElementVNode("button",{type:"button",class:"wm-peek__close","aria-label":o.t("launcher.dismiss"),onClick:t.withModifiers(y=>e.$emit("dismiss",l.convId),["stop"])},[...n[5]||(n[5]=[t.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"},[t.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,xt),t.createElementVNode("div",Lt,[t.createVNode(i,{name:l.senderName,"avatar-url":l.senderAvatarUrl,size:34},null,8,["name","avatar-url"]),l.count>1?(t.openBlock(),t.createElementBlock("span",{key:0,class:"wm-peek__avatarBadge","aria-label":o.t("launcher.unreadMessages",{count:l.count})},t.toDisplayString(l.count>9?"9+":l.count),9,Dt)):t.createCommentVNode("",!0)]),t.createElementVNode("div",Ot,[t.createElementVNode("div",It,[t.createElementVNode("span",Rt,t.toDisplayString(l.senderName||o.t("common.agent")),1),t.createElementVNode("span",Ft,t.toDisplayString(o.t("launcher.repliedToYou")),1)]),t.createElementVNode("p",Pt,t.toDisplayString(l.preview),1)]),t.createElementVNode("button",{type:"button",class:"wm-peek__open",onClick:t.withModifiers(y=>e.$emit("open",l.convId),["stop"])},t.toDisplayString(o.t("common.open")),9,Ut)],44,Tt))),128))],2)):t.createCommentVNode("",!0)]),_:1}),t.createElementVNode("button",{type:"button",class:"wm-launcher","aria-label":o.t("launcher.open"),onClick:n[0]||(n[0]=l=>e.$emit("open"))},[n[6]||(n[6]=t.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"},[t.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)),r.unreadCount>0?(t.openBlock(),t.createElementBlock("span",{key:0,class:"wm-launcher__badge","aria-label":r.unreadCount>1?o.t("launcher.unreadConversationsMany",{count:r.unreadCount}):o.t("launcher.unreadConversationsOne",{count:r.unreadCount})},t.toDisplayString(r.unreadCount>9?"9+":r.unreadCount),9,jt)):t.createCommentVNode("",!0)],8,zt)],32)}const Ae=N(Mt,[["render",Ht],["__scopeId","data-v-44ddf1a1"]]),qt={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)}}},$t={key:0,class:"wm-aiav__pulse"},Kt=["src","alt"],Wt=["width","height"];function Gt(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["wm-aiav",{"wm-aiav--tail":r.tail}]),style:t.normalizeStyle({width:r.size+"px",height:r.size+"px","--wm-avr":r.size*.32+"px"})},[r.pulse?(t.openBlock(),t.createElementBlock("div",$t)):t.createCommentVNode("",!0),t.createElementVNode("div",{class:t.normalizeClass(["wm-aiav__inner",{"wm-aiav__inner--glow":r.pulse,"wm-aiav__inner--img":!!r.imageUrl,"wm-aiav__inner--initials":!r.imageUrl&&!!o.initials}]),style:t.normalizeStyle(!r.imageUrl&&o.initials?{background:o.bgColor}:null)},[r.imageUrl?(t.openBlock(),t.createElementBlock("img",{key:0,src:r.imageUrl,alt:r.name||""},null,8,Kt)):o.initials?(t.openBlock(),t.createElementBlock("span",{key:1,style:t.normalizeStyle({fontSize:r.size*.36+"px"})},t.toDisplayString(o.initials),5)):(t.openBlock(),t.createElementBlock("svg",{key:2,width:r.size*.5,height:r.size*.5,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},[...n[0]||(n[0]=[t.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),t.createElementVNode("circle",{cx:"19",cy:"5",r:"1.5",fill:"white",opacity:"0.55"},null,-1),t.createElementVNode("circle",{cx:"5",cy:"18",r:"1",fill:"white",opacity:"0.38"},null,-1)])],8,Wt))],6)],6)}const H=N(qt,[["render",Gt],["__scopeId","data-v-6f7f685d"]]),Yt={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||"")}}},Xt={key:0,class:"wm-team"},Jt=["src","alt"],Qt={key:1},Zt={key:0,class:"wm-team__label"};function en(e,n,r,a,s,o){return o.visible?(t.openBlock(),t.createElementBlock("div",Xt,[t.createElementVNode("div",{class:"wm-team__stack",style:t.normalizeStyle({width:o.stackWidth+"px"})},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.members.slice(0,3),(i,l)=>(t.openBlock(),t.createElementBlock("div",{key:l,class:"wm-team__pill",style:t.normalizeStyle({left:l*13+"px",zIndex:3-l,background:o.colorFor(i)})},[i.avatar_url?(t.openBlock(),t.createElementBlock("img",{key:0,src:i.avatar_url,alt:i.name||""},null,8,Jt)):(t.openBlock(),t.createElementBlock("span",Qt,t.toDisplayString(o.initialsFor(i)),1))],4))),128))],4),r.responseLabel?(t.openBlock(),t.createElementBlock("span",Zt,t.toDisplayString(r.responseLabel),1)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)}const Ve=N(Yt,[["render",en],["__scopeId","data-v-e49a9063"]]),tn={name:"WmHeader",components:{AIAvatar:H,TeamAvatars:Ve},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 n=new Date().getHours()%e.length,r=[];for(let a=0;a<3;a++)r.push(e[(n+a)%e.length]);return r}}},nn={class:"wm-header"},rn=["aria-label"],on={key:1,style:{width:"30px",height:"30px","flex-shrink":"0"}},an={class:"wm-header__avatar"},sn={class:"wm-header__main"},ln={class:"wm-header__title"},cn={key:3,class:"wm-header__fill"},dn={class:"wm-header__actions"},un=["aria-label","title"],mn=["aria-label","title"];function hn(e,n,r,a,s,o){const i=t.resolveComponent("AIAvatar"),l=t.resolveComponent("TeamAvatars");return t.openBlock(),t.createElementBlock("div",nn,[r.showBack?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"wm-header__icon","aria-label":o.t("header.backToHome"),onClick:n[0]||(n[0]=f=>e.$emit("back"))},[...n[3]||(n[3]=[t.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"},[t.createElementVNode("path",{d:"M19 12H5M12 5l-7 7 7 7"})],-1)])],8,rn)):(t.openBlock(),t.createElementBlock("div",on)),r.showIdentity?(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[t.createElementVNode("div",an,[t.createVNode(i,{size:30,name:r.agentName,"image-url":r.agentAvatarUrl},null,8,["name","image-url"])]),t.createElementVNode("div",sn,[t.createElementVNode("div",ln,t.toDisplayString(r.title),1)]),o.hasTeam?(t.openBlock(),t.createBlock(l,{key:0,members:o.displayedTeamMembers,"response-label":""},null,8,["members"])):t.createCommentVNode("",!0)],64)):(t.openBlock(),t.createElementBlock("div",cn)),t.createElementVNode("div",dn,[r.showMore?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:t.normalizeClass(["wm-header__icon",{"wm-header__icon--active":r.moreActive}]),"aria-label":o.t("header.moreOptions"),title:o.t("header.moreOptions"),onClick:n[1]||(n[1]=f=>e.$emit("more"))},[...n[4]||(n[4]=[t.createElementVNode("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},[t.createElementVNode("circle",{cx:"12",cy:"5",r:"1.6"}),t.createElementVNode("circle",{cx:"12",cy:"12",r:"1.6"}),t.createElementVNode("circle",{cx:"12",cy:"19",r:"1.6"})],-1)])],10,un)):t.createCommentVNode("",!0),r.showClose?(t.openBlock(),t.createElementBlock("button",{key:1,type:"button",class:"wm-header__icon","aria-label":o.t("header.closeWidget"),title:o.t("header.closeWidget"),onClick:n[2]||(n[2]=f=>e.$emit("close"))},[...n[5]||(n[5]=[t.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"},[t.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,mn)):t.createCommentVNode("",!0)])])}const Me=N(tn,[["render",hn],["__scopeId","data-v-7af4c118"]]),_e={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"},fn={name:"WmOnboarding",components:{AIAvatar:H,HumanAvatar:Q},inject:{t:{default:()=>T()},wmLocale:{default:()=>()=>"fr"}},props:{welcomeMessage:{type:String,default:""},subtitle:{type:String,default:""},agentName:{type:String,default:""},defaultIconUrl:{type:String,default:null},quickLinks:{type:Array,default:()=>[]},openThreads:{type:Array,default:()=>[]},busy:{type:Boolean,default:!1}},emits:["start","select","resume","view-history"],computed:{heroTitle(){return this.welcomeMessage?this.welcomeMessage: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)}},methods:{iconPath(e){return _e[e]||_e.link},isExternalLink(e){const n=e==null?void 0:e.url;return!!n&&!n.startsWith("#")},safeIconUrl(e){return lt(e==null?void 0:e.icon_url)},iconUrlStyle(e){const n=this.safeIconUrl(e);return n?{"--icon-url":`url("${n}")`}:null},renderPreview(e){return me(e)},avatarComponent(e){var n;return((n=e==null?void 0:e.author)==null?void 0:n.type)==="agent_human"?"HumanAvatar":"AIAvatar"},avatarProps(e){const n=e==null?void 0:e.author;return(n==null?void 0:n.type)==="agent_human"?{size:40,name:n.name||"",avatarUrl:n.avatar_url||null}:{size:40,name:(n==null?void 0:n.name)||"",imageUrl:(n==null?void 0:n.avatar_url)||null}},isDefaultAvatar(e){const n=e==null?void 0:e.author;return!(n!=null&&n.avatar_url||n!=null&&n.name)},avatarWrapperClass(e){return this.isDefaultAvatar(e)&&!(e!=null&&e.unread)?"wm-onb__avatar--muted":null},senderLabel(e){var n;return((n=e==null?void 0:e.author)==null?void 0:n.name)||""},formatTs(e){if(!e)return"";const n=new Date(e);if(Number.isNaN(n.getTime()))return"";const r=P(this.wmLocale()),a=new Date;if(n.toDateString()===a.toDateString())return n.toLocaleTimeString(r,{hour:"2-digit",minute:"2-digit"});if(a.getTime()-n.getTime()<7*864e5){const i=n.toLocaleDateString(r,{weekday:"short"});return i.charAt(0).toUpperCase()+i.slice(1)}return n.toLocaleDateString(r,{day:"2-digit",month:"2-digit"})}}},pn={class:"wm-onb"},gn={class:"wm-onb__hero"},_n={class:"wm-onb__hero-text"},yn={class:"wm-onb__title"},vn={class:"wm-onb__sub"},kn={key:0,class:"wm-onb__alertList"},wn=["onClick"],bn={key:0,class:"wm-onb__defaultAvatar"},En=["aria-label"],Cn={class:"wm-onb__alert-body"},Bn={class:"wm-onb__alert-title"},Sn={class:"wm-onb__alert-preview"},Nn={key:0,class:"wm-onb__alert-sender"},An=["innerHTML"],Vn={class:"wm-onb__alert-meta"},Mn={key:0,class:"wm-onb__alert-time"},Tn={class:"wm-onb__alert-resume"},xn={class:"wm-onb__actions"},Ln=["disabled"],Dn={class:"wm-onb__btn-label"},On=["onClick"],In={class:"wm-onb__btn-icon"},Rn=["aria-label"],Fn={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"},Pn=["d"],Un={class:"wm-onb__btn-label"},zn={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"},jn={class:"wm-onb__btn-icon"},Hn={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"},qn=["d"],$n={class:"wm-onb__btn-label"},Kn={class:"wm-onb__btn-count"};function Wn(e,n,r,a,s,o){const i=t.resolveComponent("AIAvatar");return t.openBlock(),t.createElementBlock("div",pn,[t.createElementVNode("div",gn,[n[2]||(n[2]=t.createElementVNode("svg",{class:"wm-onb__hero-deco",width:"180",height:"180",viewBox:"0 0 180 180",fill:"none","aria-hidden":"true"},[t.createElementVNode("circle",{cx:"170",cy:"10",r:"105",stroke:"#5B5FEF","stroke-width":"1","stroke-dasharray":"1 5",opacity:"0.35"}),t.createElementVNode("circle",{cx:"170",cy:"10",r:"72",stroke:"#5B5FEF","stroke-width":"1","stroke-dasharray":"1 5",opacity:"0.5"}),t.createElementVNode("circle",{cx:"152",cy:"34",r:"2.5",fill:"#5B5FEF",opacity:"0.65"})],-1)),t.createVNode(i,{size:52,"image-url":r.defaultIconUrl},null,8,["image-url"]),t.createElementVNode("div",_n,[t.createElementVNode("div",yn,t.toDisplayString(o.heroTitle),1),t.createElementVNode("div",vn,t.toDisplayString(o.heroSub),1)])]),o.unreadThreads.length?(t.openBlock(),t.createElementBlock("div",kn,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.unreadThreads,l=>(t.openBlock(),t.createElementBlock("button",{key:l.id,type:"button",class:"wm-onb__alert",onClick:f=>e.$emit("resume",l)},[t.createElementVNode("span",{class:t.normalizeClass(["wm-onb__alert-avatar",o.avatarWrapperClass(l)])},[o.isDefaultAvatar(l)?(t.openBlock(),t.createElementBlock("span",bn,[...n[3]||(n[3]=[t.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"},[t.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)])])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.avatarComponent(l)),t.mergeProps({key:1,ref_for:!0},o.avatarProps(l)),null,16)),t.createElementVNode("span",{class:"wm-onb__alert-dot","aria-label":o.t("onboarding.unread")},null,8,En)],2),t.createElementVNode("span",Cn,[t.createElementVNode("span",Bn,t.toDisplayString(l.title),1),t.createElementVNode("span",Sn,[o.senderLabel(l)?(t.openBlock(),t.createElementBlock("span",Nn,t.toDisplayString(o.senderLabel(l))+" · ",1)):t.createCommentVNode("",!0),t.createElementVNode("span",{innerHTML:o.renderPreview(l.preview)},null,8,An)])]),t.createElementVNode("span",Vn,[o.formatTs(l._ts)?(t.openBlock(),t.createElementBlock("span",Mn,t.toDisplayString(o.formatTs(l._ts)),1)):t.createCommentVNode("",!0),t.createElementVNode("span",Tn,t.toDisplayString(o.t("onboarding.resume")),1)])],8,wn))),128))])):t.createCommentVNode("",!0),t.createElementVNode("div",xn,[t.createElementVNode("button",{type:"button",class:"wm-onb__btn wm-onb__btn--start",disabled:r.busy,onClick:n[0]||(n[0]=l=>e.$emit("start"))},[n[4]||(n[4]=t.createElementVNode("span",{class:"wm-onb__btn-icon"},[t.createElementVNode("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[t.createElementVNode("path",{d:"M12 5v14M5 12h14"})])],-1)),t.createElementVNode("span",Dn,t.toDisplayString(r.busy?"…":o.t("onboarding.start")),1)],8,Ln),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.quickLinks,(l,f)=>(t.openBlock(),t.createElementBlock("button",{key:"ql-"+f,type:"button",class:"wm-onb__btn",onClick:y=>e.$emit("select",l)},[t.createElementVNode("span",In,[o.safeIconUrl(l)?(t.openBlock(),t.createElementBlock("span",{key:0,class:"wm-onb__btn-iconImg",style:t.normalizeStyle(o.iconUrlStyle(l)),role:"img","aria-label":l.label||""},null,12,Rn)):(t.openBlock(),t.createElementBlock("svg",Fn,[t.createElementVNode("path",{d:o.iconPath(l.icon)},null,8,Pn)]))]),t.createElementVNode("span",Un,t.toDisplayString(l.label),1),o.isExternalLink(l)?(t.openBlock(),t.createElementBlock("svg",zn,[...n[5]||(n[5]=[t.createElementVNode("path",{d:"M7 17L17 7M9 7h8v8"},null,-1)])])):t.createCommentVNode("",!0)],8,On))),128)),r.openThreads.length?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"wm-onb__btn",onClick:n[1]||(n[1]=l=>e.$emit("view-history"))},[t.createElementVNode("span",jn,[(t.openBlock(),t.createElementBlock("svg",Hn,[t.createElementVNode("path",{d:o.iconPath("chat")},null,8,qn)]))]),t.createElementVNode("span",$n,t.toDisplayString(o.t("onboarding.allConversations")),1),t.createElementVNode("span",Kn,t.toDisplayString(r.openThreads.length),1),n[6]||(n[6]=t.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"},[t.createElementVNode("path",{d:"M9 18l6-6-6-6"})],-1))])):t.createCommentVNode("",!0)])])}const Te=N(fn,[["render",Wn],["__scopeId","data-v-1a297c38"]]),Gn={name:"WmHistory",components:{AIAvatar:H,HumanAvatar:Q},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(n=>(n.title||"").toLowerCase().includes(e)||(n.preview||"").toLowerCase().includes(e)):this.threads}},methods:{renderPreview(e){return me(e)},avatarComponent(e){var n;return((n=e==null?void 0:e.author)==null?void 0:n.type)==="agent_human"?"HumanAvatar":"AIAvatar"},avatarProps(e){const n=e==null?void 0:e.author;return(n==null?void 0:n.type)==="agent_human"?{size:40,name:n.name||"",avatarUrl:n.avatar_url||null}:{size:40,name:(n==null?void 0:n.name)||"",imageUrl:(n==null?void 0:n.avatar_url)||null}},isDefaultAvatar(e){const n=e==null?void 0:e.author;return!(n!=null&&n.avatar_url||n!=null&&n.name)},avatarWrapperClass(e){return this.isDefaultAvatar(e)&&!(e!=null&&e.unread)?"wm-hist__avatar--muted":null},formatTs(e){if(!e)return"";const n=new Date(e);if(Number.isNaN(n.getTime()))return"";const r=P(this.wmLocale()),a=new Date;if(n.toDateString()===a.toDateString())return n.toLocaleTimeString(r,{hour:"2-digit",minute:"2-digit"});if(a.getTime()-n.getTime()<7*864e5){const i=n.toLocaleDateString(r,{weekday:"short"});return i.charAt(0).toUpperCase()+i.slice(1)}return n.toLocaleDateString(r,{day:"2-digit",month:"2-digit"})}}},Yn={class:"wm-hist"},Xn={class:"wm-hist__search"},Jn=["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"},or=["innerHTML"],ar={class:"wm-hist__thread-meta"},sr={key:0,class:"wm-hist__thread-time"},ir={key:0,class:"wm-hist__empty"};function lr(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",Yn,[t.createElementVNode("div",Xn,[n[1]||(n[1]=t.createElementVNode("span",{class:"wm-hist__searchIcon"},[t.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"},[t.createElementVNode("path",{d:"M21 21l-4.35-4.35M11 17a6 6 0 100-12 6 6 0 000 12z"})])],-1)),t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=i=>s.query=i),type:"text",placeholder:o.t("onboarding.search"),"aria-label":o.t("onboarding.search")},null,8,Jn),[[t.vModelText,s.query]])]),t.createElementVNode("div",Qn,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.filteredThreads,i=>(t.openBlock(),t.createElementBlock("button",{key:i.id,type:"button",class:t.normalizeClass(["wm-hist__thread",{"wm-hist__thread--unread":i.unread}]),onClick:l=>e.$emit("resume",i)},[t.createElementVNode("span",{class:t.normalizeClass(["wm-hist__thread-avatar",o.avatarWrapperClass(i)])},[o.isDefaultAvatar(i)?(t.openBlock(),t.createElementBlock("span",er,[...n[2]||(n[2]=[t.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"},[t.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)])])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.avatarComponent(i)),t.mergeProps({key:1,ref_for:!0},o.avatarProps(i)),null,16)),i.unread?(t.openBlock(),t.createElementBlock("span",{key:2,class:"wm-hist__thread-dot","aria-label":o.t("onboarding.unread")},null,8,tr)):t.createCommentVNode("",!0)],2),t.createElementVNode("span",nr,[t.createElementVNode("span",rr,t.toDisplayString(i.title),1),t.createElementVNode("span",{class:"wm-hist__thread-preview",innerHTML:o.renderPreview(i.preview)},null,8,or)]),t.createElementVNode("span",ar,[o.formatTs(i._ts)?(t.openBlock(),t.createElementBlock("span",sr,t.toDisplayString(o.formatTs(i._ts)),1)):t.createCommentVNode("",!0),n[3]||(n[3]=t.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"},[t.createElementVNode("path",{d:"M5 12h14M13 5l7 7-7 7"})],-1))])],10,Zn))),128)),o.filteredThreads.length?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",ir,t.toDisplayString(s.query?o.t("onboarding.noResults",{query:s.query}):o.t("onboarding.noConversations")),1))])])}const cr=N(Gn,[["render",lr],["__scopeId","data-v-42ca3dc1"]]);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"},pr={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"},gr={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 kr(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["wm-result",`wm-result--${r.state}`])},[t.createElementVNode("span",mr,[r.state==="success"?(t.openBlock(),t.createElementBlock("svg",hr,[...n[0]||(n[0]=[t.createElementVNode("path",{d:"M20 6L9 17l-5-5"},null,-1)])])):r.state==="rejected"?(t.openBlock(),t.createElementBlock("svg",fr,[...n[1]||(n[1]=[t.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"},null,-1)])])):r.state==="awaiting"?(t.openBlock(),t.createElementBlock("svg",pr,[...n[2]||(n[2]=[t.createElementVNode("circle",{cx:"12",cy:"12",r:"10"},null,-1),t.createElementVNode("polyline",{points:"12 7 12 12 15 14"},null,-1)])])):(t.openBlock(),t.createElementBlock("svg",gr,[...n[3]||(n[3]=[t.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),t.createElementVNode("line",{x1:"12",y1:"9",x2:"12",y2:"13"},null,-1),t.createElementVNode("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"},null,-1)])]))]),t.createElementVNode("span",_r,[t.createElementVNode("span",yr,t.toDisplayString(r.label),1),o.detailText?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[n[4]||(n[4]=t.createElementVNode("span",{class:"wm-result__sep","aria-hidden":"true"}," · ",-1)),t.createElementVNode("span",vr,t.toDisplayString(o.detailText),1)],64)):t.createCommentVNode("",!0)])],2)}const xe=N(ur,[["render",kr],["__scopeId","data-v-7284acd0"]]),wr={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"},Er={class:"wm-art__head"},Cr={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,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",br,[t.createElementVNode("div",Er,[t.createElementVNode("div",Cr,t.toDisplayString(r.data.title||o.t("form.title")),1),t.createElementVNode("span",Br,[n[0]||(n[0]=t.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"},[t.createElementVNode("polyline",{points:"20 6 9 17 4 12"})],-1)),t.createTextVNode(" "+t.toDisplayString(o.t("form.sent")),1)])]),t.createElementVNode("div",Sr,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.fields,(i,l)=>(t.openBlock(),t.createElementBlock("div",{key:l,class:"wm-art__field"},[t.createElementVNode("div",Nr,t.toDisplayString(i.label),1),t.createElementVNode("div",{class:t.normalizeClass(["wm-art__fieldValue",{"wm-art__fieldValue--multi":i.multiline}])},t.toDisplayString(i.value),3)]))),128))])])}const Le=N(wr,[["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}}},Mr={class:"wm-art wm-art--infoCard"},Tr={key:0,class:"wm-art__image"},xr=["src","alt"],Lr={class:"wm-art__head"},Dr={class:"wm-art__headMain"},Or={class:"wm-art__title"},Ir={key:0,class:"wm-art__subtitle"},Rr={key:1,class:"wm-art__body"},Fr={key:0,class:"wm-art__text"},Pr={class:"wm-art__fieldLabel"};function Ur(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",Mr,[r.data.image_url?(t.openBlock(),t.createElementBlock("figure",Tr,[t.createElementVNode("img",{src:r.data.image_url,alt:r.data.title||"",loading:"lazy"},null,8,xr)])):t.createCommentVNode("",!0),t.createElementVNode("div",Lr,[t.createElementVNode("div",Dr,[t.createElementVNode("div",Or,t.toDisplayString(r.data.title),1),r.data.subtitle?(t.openBlock(),t.createElementBlock("div",Ir,t.toDisplayString(r.data.subtitle),1)):t.createCommentVNode("",!0)]),r.data.badge&&r.data.badge.label?(t.openBlock(),t.createElementBlock("span",{key:0,class:t.normalizeClass(["wm-art__badge",`wm-art__badge--${r.data.badge.tone||"neutral"}`])},t.toDisplayString(r.data.badge.label),3)):t.createCommentVNode("",!0)]),o.hasBody?(t.openBlock(),t.createElementBlock("div",Rr,[r.data.body?(t.openBlock(),t.createElementBlock("div",Fr,t.toDisplayString(r.data.body),1)):t.createCommentVNode("",!0),o.fields.length?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:1},t.renderList(o.fields,(i,l)=>(t.openBlock(),t.createElementBlock("div",{key:l,class:"wm-art__field"},[t.createElementVNode("div",Pr,t.toDisplayString(i.label),1),t.createElementVNode("div",{class:t.normalizeClass(["wm-art__fieldValue",{"wm-art__fieldValue--multi":i.multiline}])},t.toDisplayString(i.value),3)]))),128)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)])}const De=N(Vr,[["render",Ur],["__scopeId","data-v-7eae0e4a"]]);function zr(e,n,r){if(!e)return"";const a=new Date(e);if(Number.isNaN(a.getTime()))return e;const s=a.toLocaleDateString(n,{day:"numeric",month:"long",year:"numeric"}),o=a.toLocaleTimeString(n,{hour:"2-digit",minute:"2-digit"});return`${s}${r}${o}`}const jr={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 zr((e=this.data)==null?void 0:e.created_at,P(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 n=String(e||"").toLowerCase();return/high|haute|élev|elev|critic|critiq|urgent/.test(n)?3:/low|basse|faible|minor/.test(n)?1:2}}},Hr={class:"wm-art wm-art--ticket"},qr={class:"wm-art__head wm-tk__head"},$r={class:"wm-art__title wm-tk__title"},Kr={class:"wm-tk__sub"},Wr={class:"wm-tk__ref"},Gr={key:0,class:"wm-tk__text"},Yr={key:0,class:"wm-art__body"},Xr={class:"wm-art__fieldLabel"},Jr=["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 eo(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",Hr,[t.createElementVNode("div",qr,[t.createElementVNode("div",$r,t.toDisplayString(r.data.title),1),t.createElementVNode("div",Kr,[t.createElementVNode("div",Wr,[n[0]||(n[0]=t.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"},[t.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"}),t.createElementVNode("path",{d:"M13 5v2M13 17v2M13 11v2"})],-1)),t.createElementVNode("span",null,t.toDisplayString(r.data.reference),1)]),t.createElementVNode("span",{class:t.normalizeClass(["wm-art__badge","wm-tk__badge",`wm-art__badge--${r.data.status.tone||"neutral"}`])},[n[1]||(n[1]=t.createElementVNode("span",{class:"wm-tk__dot","aria-hidden":"true"},null,-1)),t.createTextVNode(" "+t.toDisplayString(r.data.status.label),1)],2)]),r.data.body?(t.openBlock(),t.createElementBlock("div",Gr,t.toDisplayString(r.data.body),1)):t.createCommentVNode("",!0)]),o.fields.length?(t.openBlock(),t.createElementBlock("div",Yr,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.fields,(i,l)=>(t.openBlock(),t.createElementBlock("div",{key:l,class:"wm-art__field"},[t.createElementVNode("div",Xr,t.toDisplayString(i.label),1),t.createElementVNode("div",{class:t.normalizeClass(["wm-art__fieldValue",{"wm-art__fieldValue--multi":i.multiline}])},[o.isPriority(i.label)?(t.openBlock(),t.createElementBlock("svg",{key:0,class:"wm-tk__prio","data-level":o.priorityLevel(i.value),width:"12",height:"12",viewBox:"0 0 12 12","aria-hidden":"true"},[...n[2]||(n[2]=[t.createElementVNode("rect",{x:"1",y:"8",width:"2",height:"3",rx:"0.5"},null,-1),t.createElementVNode("rect",{x:"5",y:"5",width:"2",height:"6",rx:"0.5"},null,-1),t.createElementVNode("rect",{x:"9",y:"2",width:"2",height:"9",rx:"0.5"},null,-1)])],8,Jr)):o.isDate(i.label)?(t.openBlock(),t.createElementBlock("svg",Qr,[...n[3]||(n[3]=[t.createElementVNode("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2"},null,-1),t.createElementVNode("path",{d:"M16 2v4M8 2v4M3 10h18"},null,-1)])])):t.createCommentVNode("",!0),t.createElementVNode("span",null,t.toDisplayString(i.value),1)],2)]))),128))])):t.createCommentVNode("",!0),r.data.created_at?(t.openBlock(),t.createElementBlock("div",Zr,[n[4]||(n[4]=t.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"},[t.createElementVNode("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2"}),t.createElementVNode("path",{d:"M16 2v4M8 2v4M3 10h18"})],-1)),t.createElementVNode("span",null,t.toDisplayString(o.formattedDate),1)])):t.createCommentVNode("",!0)])}const Oe=N(jr,[["render",eo],["__scopeId","data-v-5f30c914"]]),to={form_response:Le,info_card:De,ticket:Oe},no={name:"WmArtifactRenderer",props:{artifact:{type:Object,required:!0}},computed:{component(){var n;const e=(n=this.artifact)==null?void 0:n.kind;return e&&to[e]||null}}};function ro(e,n,r,a,s,o){return o.component?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.component),{key:0,data:r.artifact.data},null,8,["data"])):t.createCommentVNode("",!0)}const Ie=N(no,[["render",ro]]),oo={name:"WmAttachmentPreview",inject:{signAttachmentFn:{default:null},t:{default:()=>T()}},props:{attachment:{type:Object,required:!0}},data(){return{url:null,loading:!1}},computed:{kind(){var r,a;const e=(r=this.attachment)==null?void 0:r.type;if(e)return e;const n=(((a=this.attachment)==null?void 0:a.mime_type)||"").toLowerCase();return n.startsWith("image/")?"image":n.startsWith("audio/")?"audio":n.startsWith("video/")?"video":"file"},displayName(){var e,n,r;return((n=(e=this.attachment)==null?void 0:e.metadata)==null?void 0:n.name)||((r=this.attachment)==null?void 0:r.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 n;const e=(n=this.attachment)==null?void 0:n.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 r;return((((r=this.attachment)==null?void 0:r.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()}}},ao=["href"],so=["src","alt"],io=["src"],lo=["src"],co=["href","download"],uo={class:"wm-att__main"},mo={class:"wm-att__name"},ho={key:0,class:"wm-att__meta"},fo={key:0,class:"wm-att__spin","aria-hidden":"true"};function po(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["wm-att",["wm-att--"+(o.kind||"file")]])},[o.kind==="image"&&s.url?(t.openBlock(),t.createElementBlock("a",{key:0,href:o.safeHref,target:"_blank",rel:"noopener",class:"wm-att__imgWrap"},[t.createElementVNode("img",{src:s.url,alt:o.displayName,loading:"lazy"},null,8,so)],8,ao)):o.kind==="audio"&&s.url?(t.openBlock(),t.createElementBlock("audio",{key:1,src:s.url,controls:"",preload:"metadata"},null,8,io)):o.kind==="video"&&s.url?(t.openBlock(),t.createElementBlock("video",{key:2,src:s.url,controls:"",preload:"metadata"},null,8,lo)):(t.openBlock(),t.createElementBlock("a",{key:3,class:"wm-att__file",href:o.safeHref,download:o.displayName,target:"_blank",rel:"noopener",onClick:n[0]||(n[0]=(...i)=>o.onFileClick&&o.onFileClick(...i))},[n[1]||(n[1]=t.createElementVNode("span",{class:"wm-att__icon"},[t.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"},[t.createElementVNode("path",{d:"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"}),t.createElementVNode("path",{d:"M14 2v6h6"})])],-1)),t.createElementVNode("span",uo,[t.createElementVNode("span",mo,t.toDisplayString(o.displayName),1),o.sizeLabel?(t.openBlock(),t.createElementBlock("span",ho,t.toDisplayString(o.sizeLabel),1)):t.createCommentVNode("",!0)]),s.loading?(t.openBlock(),t.createElementBlock("span",fo)):t.createCommentVNode("",!0)],8,co))],2)}const Re=N(oo,[["render",po],["__scopeId","data-v-0c877a62"]]),go={name:"WmBubble",props:{role:{type:String,default:"ai"},text:{type:String,default:""}},computed:{rendered(){return Ne(this.text)}}},_o=["innerHTML"];function yo(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["wm-bubble","wm-bubble--"+r.role])},[t.renderSlot(e.$slots,"default",{},()=>[t.createElementVNode("span",{innerHTML:o.rendered},null,8,_o)],!0)],2)}const Fe=N(go,[["render",yo],["__scopeId","data-v-7ab13147"]]),vo={name:"WmTyping"},ko={class:"wm-typing"};function wo(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",ko,[...n[0]||(n[0]=[t.createElementVNode("span",{style:{"animation-delay":"0s"}},null,-1),t.createElementVNode("span",{style:{"animation-delay":"0.2s"}},null,-1),t.createElementVNode("span",{style:{"animation-delay":"0.4s"}},null,-1)])])}const Pe=N(vo,[["render",wo],["__scopeId","data-v-df2447fd"]]);function j(e){return e?e.client_msg_id||e.id:""}const bo={transferred_to_human:"system.transferredToHuman",assigned:"system.assigned",unassigned:"system.unassigned",resolved:"system.resolved",reopened:"system.reopened",idle:"system.idle"},Eo=80,Co=200,Bo={name:"WmMessageList",components:{AIAvatar:H,HumanAvatar:Q,Bubble:Fe,Typing:Pe,ActionResult:xe,AttachmentPreview:Re,ArtifactRenderer:Ie},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 r,a,s,o;const e=[];for(const i of this.messages){const l=this.roleOf(i);if(l==="system"){if(((r=i==null?void 0:i.payload)==null?void 0:r.event)==="action_admin_pending"){const _=e[e.length-1];_&&_.role==="ai"?_.messages.push(i):e.push({key:`g-${j(i)}`,role:"ai",agentName:"",agentAvatarUrl:null,messages:[i],items:[]});continue}e.push({key:`sys-${j(i)}`,role:l,messages:[i],items:[],systemLabel:this.systemLabel(i)});continue}const f=e[e.length-1];f&&f.role===l&&(l==="ai"||f.agentName===(((a=i==null?void 0:i.author)==null?void 0:a.name)||""))?f.messages.push(i):e.push({key:`g-${j(i)}`,role:l,agentName:((s=i==null?void 0:i.author)==null?void 0:s.name)||"",agentAvatarUrl:((o=i==null?void 0:i.author)==null?void 0:o.avatar_url)||null,messages:[i],items:[]})}for(const i of e){if(i.role==="system")continue;const l=[];for(const f of i.messages)for(const y of this.itemsOf(f))l.push(y);i.items=l}const n=[];for(const i of e){if(i.role!=="system"&&!i.items.length)continue;const l=n[n.length-1];if(l&&l.role!=="system"&&l.role===i.role&&(i.role==="ai"||l.agentName===i.agentName)){l.messages.push(...i.messages),l.items.push(...i.items);continue}n.push(i)}for(const i of n)i.role!=="system"&&(i.key=this.stableGroupKey(i.messages));return n},unreadGroupKey(){if(this.unreadAnchorId==null)return null;const e=this.unreadAnchorId,n=this.unreadBoundaryTs;for(const r of this.groups){if(r.role==="user"||r.role==="system"||!r.items.length)continue;const a=r.messages[0];if(!a)continue;const s=R(a.id);if(s!=null&&!(s<=e)&&!(n&&a.created_at&&a.created_at>n))return r.key}return null}},watch:{messages:{handler:"snapshotAndRestore",deep:!0},conversationId(e,n){e!==n&&(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._pressTimer&&clearTimeout(this._pressTimer)},updated(){this.scheduleMeasure()},methods:{messageKey:j,stableGroupKey(e){this._groupIdByMsgKey||(this._groupIdByMsgKey=new Map,this._groupIdCounter=0);const n=this._groupIdByMsgKey;let r=null;for(const a of e){const s=j(a);if(s&&n.has(s)){r=n.get(s);break}}r==null&&(r=++this._groupIdCounter);for(const a of e){const s=j(a);s&&n.set(s,r)}return`g-${r}`},isAtBottom(e){return e.scrollHeight-e.scrollTop-e.clientHeight<=Eo},onScroll(){const e=this.$refs.scrollEl;e&&(this.showScrollDown=!this.isAtBottom(e),!(this.loadingMore||!this.hasMore)&&(this._pendingLoadMore||e.scrollTop<=Co&&(this._pendingLoadMore=!0,this.$emit("load-more"))))},snapshotAndRestore(){const e=this.$refs.scrollEl;if(!e||this._scrollSnap)return;const n=this._lastSeenConvId!==this.conversationId;this._lastSeenConvId=this.conversationId;const r=this.isAtBottom(e);let a=null;if(!n&&!r){const o=this.pickAnchor(e);if(o!=null&&o.rowKey){const i=this.findRowByKey(e,o.rowKey);if(i){const l=e.getBoundingClientRect().top;a={rowKey:o.rowKey,relY:i.getBoundingClientRect().top-l}}}}const s={forceBottom:n,wasPinned:r,anchor:a};this._scrollSnap=s,this.$nextTick(()=>{if(this._scrollSnap=null,s.forceBottom||s.wasPinned){e.scrollTop=e.scrollHeight;return}if(!s.anchor)return;const o=()=>{const i=s.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)};o(),requestAnimationFrame(()=>{o(),requestAnimationFrame(o)})})},pickAnchor(e){const n=e.getBoundingClientRect().top,r=e.querySelectorAll(".wm-list__row[data-row-key]");let a=null;for(const s of r)if(a||(a=s),s.getBoundingClientRect().bottom>=n)return{rowKey:s.dataset.rowKey};return a?{rowKey:a.dataset.rowKey}:null},findRowByKey(e,n){if(!n)return null;const r=typeof CSS<"u"&&CSS.escape?CSS.escape(n):n.replace(/["\\]/g,"\\$&");return e.querySelector(`.wm-list__row[data-row-key="${r}"]`)},roleOf(e){var r,a;if((e==null?void 0:e.type)==="system"||((r=e==null?void 0:e.payload)==null?void 0:r.type)==="system")return"system";const n=(a=e==null?void 0:e.author)==null?void 0:a.type;return n==="user"?"user":n==="agent_human"?"human":"ai"},roleLabel(e){if(e.role==="human")return e.agentName||this.t("common.agent");const n=this.t("common.aiAssistant");return this.aiAgentName?`${this.aiAgentName} • ${n}`:n},itemsOf(e){var n;if(!e)return[];if(e.type==="system"&&((n=e==null?void 0:e.payload)==null?void 0:n.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 r=[{message:e,partKey:"main",renderAs:"action",kind:{top:"bubble",bottom:"bubble"}}];return this.actionArtifact(e)&&r.push({message:e,partKey:"artifact",renderAs:"artifact-of-action",kind:{top:"card",bottom:"card"}}),r}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,n){var U,q,$;const r=e.items,a=(U=r[n])==null?void 0:U.kind,s=(q=r[n-1])==null?void 0:q.kind,o=($=r[n+1])==null?void 0:$.kind,i=e.role==="user",l=14,f=4,y=s==null?void 0:s.bottom,_=o==null?void 0:o.top,C=this.widthByKey[this.rowKeyOf(e,n)],S=this.widthByKey[this.rowKeyOf(e,n-1)],k=this.widthByKey[this.rowKeyOf(e,n+1)],L=.5,b=(I,K,F)=>I!=null&&C!=null?I+L>=C:K===F||K==="card"&&F==="bubble";let V=l,M=l,A=l,O=l;return i?(y&&(M=f),(_||!o)&&(A=f),y&&b(S,y,a==null?void 0:a.top)&&(V=f),_&&b(k,_,a==null?void 0:a.bottom)&&(O=f)):(y&&(V=f),(_||!o)&&(O=f),y&&b(S,y,a==null?void 0:a.top)&&(M=f),_&&b(k,_,a==null?void 0:a.bottom)&&(A=f)),{tl:V,tr:M,br:A,bl:O}},cornersStyle(e,n){if(e.items.length<2)return null;const r=this.cornersFor(e,n);return{"--wm-r-tl":`${r.tl}px`,"--wm-r-tr":`${r.tr}px`,"--wm-r-br":`${r.br}px`,"--wm-r-bl":`${r.bl}px`}},rowKeyOf(e,n){var a;const r=(a=e==null?void 0:e.items)==null?void 0:a[n];return r?`${j(r.message)}-${r.partKey}`:""},scheduleMeasure(){this._measureFrame||(this._measureFrame=requestAnimationFrame(()=>{this._measureFrame=null,this.measureRows()}))},measureRows(){const e=this.$refs.scrollEl;if(!e)return;const n={};for(const o of e.querySelectorAll(".wm-list__row[data-row-key]")){const i=o.dataset.rowKey;if(!i)continue;const l=o.querySelector(".wm-bubble, .wm-result, .wm-art, .wm-list__body");if(!l)continue;const f=l.getBoundingClientRect().width;f>0&&(n[i]=f)}const r=this.widthByKey,a=Object.keys(r),s=Object.keys(n);if(a.length===s.length){let o=!0;for(const i of s)if(Math.abs((r[i]??0)-n[i])>.5){o=!1;break}if(o)return}this.widthByKey=Object.freeze(n)},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 re(new Date(e.created_at),P(this.wmLocale()))}catch{return""}},lastTimeOf(e){const n=e.items[e.items.length-1],r=(n==null?void 0:n.message)||e.messages[e.messages.length-1];if(!(r!=null&&r.created_at))return"";try{return re(new Date(r.created_at),P(this.wmLocale()))}catch{return""}},hasTrailingOverlay(e){if(!e.messages.length)return!1;const n=e.messages[e.messages.length-1],r=e.items[e.items.length-1];return!!n&&(r==null?void 0:r.message)!==n},attachmentsOf(e){var r;const n=(r=e==null?void 0:e.payload)==null?void 0:r.attachments;return Array.isArray(n)?n:[]},artifactOf(e){var r;const n=(r=e==null?void 0:e.metadata)==null?void 0:r.artifact;return!n||typeof n!="object"||typeof n.kind!="string"?null:n},actionLabel(e){var n;return((n=e==null?void 0:e.payload)==null?void 0:n.name)||(e==null?void 0:e.text_md)||this.t("common.action")},actionDetail(e){var r,a,s,o,i,l;const n=e==null?void 0:e.payload;return n?n.state==="success"?((r=n.success)==null?void 0:r.summary)||((s=(a=n.success)==null?void 0:a.metadata)==null?void 0:s.description)||"":n.state==="rejected"?((o=n.rejected)==null?void 0:o.reason)||this.t("action.rejectedByUser"):n.state==="failure"&&(((i=n.failure)==null?void 0:i.summary)||((l=n.failure)==null?void 0:l.error))||"":""},actionArtifact(e){var r,a;const n=(a=(r=e==null?void 0:e.payload)==null?void 0:r.success)==null?void 0:a.artifact;return!n||typeof n!="object"||typeof n.kind!="string"?null:n},systemLabel(e){var s,o,i;const n=(s=e==null?void 0:e.payload)==null?void 0:s.event,r=bo[n],a=((o=e==null?void 0:e.metadata)==null?void 0:o.agent_name)||((i=e==null?void 0:e.author)==null?void 0:i.name)||this.t("messageList.anAgent");return r?this.t(r,{name:a}):(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},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)}}},So={class:"wm-list__wrap"},No={key:0,class:"wm-list__loadMore",role:"status","aria-live":"polite"},Ao={class:"wm-list__loadMore-lbl"},Vo={key:1,class:"wm-list__historyEnd"},Mo={key:2,class:"wm-list__sep"},To={class:"wm-list__sep-label"},xo={key:0,class:"wm-list__sep wm-list__sep--unread"},Lo={class:"wm-list__sep-label wm-list__sep-label--unread"},Do={key:0,class:"wm-list__sysep"},Oo={class:"wm-list__sysep-label"},Io=["data-row-key","onPointerdown"],Ro={key:0,class:"wm-list__avatarSlot"},Fo={key:5,class:"wm-list__body"},Po={key:0},Uo={key:1,"aria-hidden":"true"},zo={key:2},jo={key:0},Ho={key:1,"aria-hidden":"true"},qo={key:2},$o={key:3,class:"wm-list__row wm-list__row--ai fade-up"},Ko={class:"wm-list__avatarSlot"},Wo=["aria-label","title"];function Go(e,n,r,a,s,o){const i=t.resolveComponent("AIAvatar"),l=t.resolveComponent("HumanAvatar"),f=t.resolveComponent("ActionResult"),y=t.resolveComponent("ArtifactRenderer"),_=t.resolveComponent("Bubble"),C=t.resolveComponent("AttachmentPreview"),S=t.resolveComponent("Typing");return t.openBlock(),t.createElementBlock("div",So,[t.createElementVNode("div",{ref:"scrollEl",class:t.normalizeClass(["wm-list",{"wm-list--silent":s.silentFades}]),onScrollPassive:n[4]||(n[4]=(...k)=>o.onScroll&&o.onScroll(...k))},[r.loadingMore?(t.openBlock(),t.createElementBlock("div",No,[n[6]||(n[6]=t.createElementVNode("span",{class:"wm-list__loadMore-spinner","aria-hidden":"true"},null,-1)),t.createElementVNode("span",Ao,t.toDisplayString(o.t("messageList.loadingHistory")),1)])):o.historyExhausted?(t.openBlock(),t.createElementBlock("div",Vo,t.toDisplayString(o.t("messageList.conversationStart")),1)):t.createCommentVNode("",!0),r.dateLabel?(t.openBlock(),t.createElementBlock("div",Mo,[n[7]||(n[7]=t.createElementVNode("div",{class:"wm-list__line"},null,-1)),t.createElementVNode("span",To,t.toDisplayString(r.dateLabel),1),n[8]||(n[8]=t.createElementVNode("div",{class:"wm-list__line"},null,-1))])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.groups,(k,L)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:k.key},[k.key===o.unreadGroupKey?(t.openBlock(),t.createElementBlock("div",xo,[n[9]||(n[9]=t.createElementVNode("div",{class:"wm-list__line wm-list__line--unread"},null,-1)),t.createElementVNode("span",Lo,t.toDisplayString(o.t("messageList.unread")),1),n[10]||(n[10]=t.createElementVNode("div",{class:"wm-list__line wm-list__line--unread"},null,-1))])):t.createCommentVNode("",!0),k.role==="system"||k.items.length?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["wm-list__group","wm-list__group--"+k.role])},[k.role==="system"?(t.openBlock(),t.createElementBlock("div",Do,[n[11]||(n[11]=t.createElementVNode("div",{class:"wm-list__line wm-list__line--strong"},null,-1)),t.createElementVNode("span",Oo,t.toDisplayString(k.systemLabel),1),n[12]||(n[12]=t.createElementVNode("div",{class:"wm-list__line wm-list__line--strong"},null,-1))])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(k.items,(b,V)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:`${o.messageKey(b.message)}-${b.partKey}`},[t.createElementVNode("div",{"data-row-key":`${o.messageKey(b.message)}-${b.partKey}`,class:t.normalizeClass(["wm-list__row fade-up",["wm-list__row--"+k.role,{"is-pending":b.message._pending,"is-failed":b.message._failed}]]),style:t.normalizeStyle(o.cornersStyle(k,V)),onPointerdown:M=>o.onPressStart(`${o.messageKey(b.message)}-${b.partKey}`),onPointerup:n[0]||(n[0]=M=>o.onPressEnd()),onPointercancel:n[1]||(n[1]=M=>o.onPressEnd()),onPointerleave:n[2]||(n[2]=M=>o.onPressEnd()),onContextmenu:n[3]||(n[3]=t.withModifiers(()=>{},["prevent"]))},[k.role!=="user"?(t.openBlock(),t.createElementBlock("div",Ro,[V===k.items.length-1?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[k.role==="ai"?(t.openBlock(),t.createBlock(i,{key:0,size:26,tail:!0,name:r.aiAgentName,"image-url":r.aiAgentAvatarUrl},null,8,["name","image-url"])):(t.openBlock(),t.createBlock(l,{key:1,name:k.agentName,"avatar-url":k.agentAvatarUrl,size:26,tail:!0},null,8,["name","avatar-url"]))],64)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),b.renderAs==="action"?(t.openBlock(),t.createBlock(f,{key:1,state:b.message.payload.state,label:o.actionLabel(b.message),detail:o.actionDetail(b.message)},null,8,["state","label","detail"])):b.renderAs==="admin-pending"?(t.openBlock(),t.createBlock(f,{key:2,state:"awaiting",label:o.t("messageList.approvalRequestSent"),detail:b.message.text_md||""},null,8,["label","detail"])):b.renderAs==="artifact-of-action"?(t.openBlock(),t.createBlock(y,{key:3,artifact:o.actionArtifact(b.message)},null,8,["artifact"])):b.renderAs==="artifact"?(t.openBlock(),t.createBlock(y,{key:4,artifact:o.artifactOf(b.message)},null,8,["artifact"])):(t.openBlock(),t.createElementBlock("div",Fo,[b.message.text_md?(t.openBlock(),t.createBlock(_,{key:0,role:k.role,text:b.message.text_md},null,8,["role","text"])):t.createCommentVNode("",!0),o.attachmentsOf(b.message).length?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["wm-list__atts",{"wm-list__atts--align-end":k.role==="user"}])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.attachmentsOf(b.message),(M,A)=>(t.openBlock(),t.createBlock(C,{key:`${o.messageKey(b.message)}-att-${A}`,attachment:M},null,8,["attachment"]))),128))],2)):t.createCommentVNode("",!0)]))],46,Io),V<k.items.length-1&&s.pressedItemKey===`${o.messageKey(b.message)}-${b.partKey}`&&(k.role!=="user"||o.timeOf(b.message))?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["wm-list__meta wm-list__meta--press",{"wm-list__meta--right":k.role==="user"}])},[k.role!=="user"?(t.openBlock(),t.createElementBlock("span",Po,t.toDisplayString(o.roleLabel(k)),1)):t.createCommentVNode("",!0),k.role!=="user"&&o.timeOf(b.message)?(t.openBlock(),t.createElementBlock("span",Uo,"•")):t.createCommentVNode("",!0),o.timeOf(b.message)?(t.openBlock(),t.createElementBlock("span",zo,t.toDisplayString(o.timeOf(b.message)),1)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0)],64))),128)),(k.role!=="user"||o.lastTimeOf(k))&&!o.hasTrailingOverlay(k)?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["wm-list__meta",{"wm-list__meta--right":k.role==="user"}])},[k.role!=="user"?(t.openBlock(),t.createElementBlock("span",jo,t.toDisplayString(o.roleLabel(k)),1)):t.createCommentVNode("",!0),k.role!=="user"&&o.lastTimeOf(k)?(t.openBlock(),t.createElementBlock("span",Ho,"•")):t.createCommentVNode("",!0),o.lastTimeOf(k)?(t.openBlock(),t.createElementBlock("span",qo,t.toDisplayString(o.lastTimeOf(k)),1)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0)],64))],2)):t.createCommentVNode("",!0)],64))),128)),r.streamingActive?(t.openBlock(),t.createElementBlock("div",$o,[t.createElementVNode("div",Ko,[t.createVNode(i,{size:26,tail:!0,name:r.aiAgentName,"image-url":r.aiAgentAvatarUrl},null,8,["name","image-url"])]),t.createVNode(S)])):t.createCommentVNode("",!0)],34),t.createVNode(t.Transition,{name:"wm-scrollDown"},{default:t.withCtx(()=>[s.showScrollDown?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"wm-list__scrollDown","aria-label":o.t("messageList.scrollToBottom"),title:o.t("messageList.scrollToBottom"),onClick:n[5]||(n[5]=(...k)=>o.scrollToBottomSmooth&&o.scrollToBottomSmooth(...k))},[...n[13]||(n[13]=[t.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"},[t.createElementVNode("path",{d:"M6 9l6 6 6-6"})],-1)])],8,Wo)):t.createCommentVNode("",!0)]),_:1})])}const Ue=N(Bo,[["render",Go],["__scopeId","data-v-cf20685c"]]),J=typeof navigator<"u"&&!!navigator.mediaDevices&&typeof navigator.mediaDevices.getDisplayMedia=="function",ie=typeof window<"u"&&typeof window.MediaRecorder<"u";function ze(){return ie&&["video/webm;codecs=vp9,opus","video/webm;codecs=vp8,opus","video/webm","video/mp4"].find(n=>{var r,a;return(a=(r=window.MediaRecorder).isTypeSupported)==null?void 0:a.call(r,n)})||""}function je({audio:e}){return{video:!0,audio:!!e,selfBrowserSurface:"include",surfaceSwitching:"include",systemAudio:e?"include":"exclude"}}function Yo(e){return e?e.startsWith("image/")?"image":e.startsWith("video/")?"video":"file":"file"}async function He(){if(!J)return null;let e;try{e=await navigator.mediaDevices.getDisplayMedia(je({audio:!1}))}catch(n){return(n==null?void 0:n.name)!=="NotAllowedError"&&console.error("[media] screenshot picker",n),null}try{return await Xo(e)}catch(n){return console.error("[media] screenshot capture",n),null}finally{e.getTracks().forEach(n=>{n.stop()})}}async function Xo(e){const n=document.createElement("video");n.muted=!0,n.playsInline=!0,n.srcObject=e,await n.play(),await new Promise(l=>requestAnimationFrame(l));const r=n.videoWidth||1280,a=n.videoHeight||720,s=document.createElement("canvas");s.width=r,s.height=a,s.getContext("2d").drawImage(n,0,0,r,a);const o=await new Promise((l,f)=>{s.toBlob(y=>y?l(y):f(new Error("toBlob failed")),"image/png")}),i=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19);return new File([o],`capture-${i}.png`,{type:"image/png"})}async function qe(e={}){var y;if(!J||!ie)return null;let n;try{n=await navigator.mediaDevices.getDisplayMedia(je({audio:!0}))}catch(_){return(_==null?void 0:_.name)!=="NotAllowedError"&&console.error("[media] record picker",_),null}const r=ze();let a;try{a=r?new window.MediaRecorder(n,{mimeType:r}):new window.MediaRecorder(n)}catch(_){return console.error("[media] recorder init",_),n.getTracks().forEach(C=>{C.stop()}),null}const s=[];let o=null,i=!1;a.addEventListener("dataavailable",_=>{_.data&&_.data.size>0&&s.push(_.data)}),a.addEventListener("stop",()=>{var _,C;if(o&&clearInterval(o),n.getTracks().forEach(S=>{S.stop()}),s.length){const S=a.mimeType||r||"video/webm",k=new Blob(s,{type:S}),L=/mp4/.test(S)?"mp4":"webm",b=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19),V=new File([k],`ecran-${b}.${L}`,{type:S});(_=e.onfinalize)==null||_.call(e,V)}else(C=e.oncancel)==null||C.call(e)}),n.getVideoTracks().forEach(_=>{_.addEventListener("ended",()=>l(),{once:!0})});function l(){if(!i&&(i=!0,a.state!=="inactive"))try{a.stop()}catch(_){console.error("[media] recorder stop",_)}}try{a.start(1e3)}catch(_){return console.error("[media] recorder start",_),n.getTracks().forEach(C=>{C.stop()}),null}(y=e.onstart)==null||y.call(e);const f=Date.now();return o=setInterval(()=>{var _;(_=e.ontick)==null||_.call(e,Date.now()-f)},500),{stop:l,get state(){return a.state}}}const Jo=[{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"}],Qo={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"],data(){return{local:this.modelValue,attachOpen:!1,recording:!1,recordingElapsed:0,recorder:null,kbOffset:0}},computed:{canSend(){return!this.disabled&&!!this.local.trim()},attachItems(){return Jo.map(e=>({...e,label:this.t(e.labelKey),disabled:e.action==="screenshot"&&!J||e.action==="record"&&(!J||!ie)}))},recordingElapsedLabel(){const e=Math.floor(this.recordingElapsed/1e3),n=Math.floor(e/60),r=e%60;return`${n}:${r.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()}},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;e&&(e.clientWidth<80||(e.style.height="auto",e.style.height=`${e.scrollHeight}px`))},onFile(e){const n=Array.from(e.target.files||[]);for(const r of n)this.$emit("attach",r);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 He();e&&this.$emit("attach",e)},async startRecording(){if(this.recording||this.disabled)return;this.recordingElapsed=0;const e=await qe({onstart:()=>{this.recording=!0},ontick:n=>{this.recordingElapsed=n},onfinalize:n=>{this.$emit("attach",n),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 n=Math.max(0,window.innerHeight-e.height-e.offsetTop);this.kbOffset=n},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)}}},Zo={key:0,class:"wm-rec"},ea={class:"wm-rec__lbl"},ta={key:1,class:"wm-compose__menu",role:"menu"},na=["disabled","onClick"],ra={class:"wm-compose__menuIcon"},oa={viewBox:"0 0 24 24",width:"14",height:"14","aria-hidden":"true"},aa=["d"],sa=["placeholder","disabled"],ia={class:"wm-compose__actions"},la=["title","aria-label","disabled"],ca=["disabled","aria-label"];function da(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["wm-compose-wrap",{"wm-compose-wrap--sheet":r.displayMode==="sheet"}]),style:t.normalizeStyle(s.kbOffset?{transform:`translateY(-${s.kbOffset}px)`}:null)},[s.recording?(t.openBlock(),t.createElementBlock("div",Zo,[n[8]||(n[8]=t.createElementVNode("span",{class:"wm-rec__dot","aria-hidden":"true"},null,-1)),t.createElementVNode("span",ea,t.toDisplayString(o.t("composer.recording",{time:o.recordingElapsedLabel})),1),t.createElementVNode("button",{type:"button",class:"wm-rec__stop",onClick:n[0]||(n[0]=(...i)=>o.stopRecording&&o.stopRecording(...i))},t.toDisplayString(o.t("composer.stop")),1)])):t.createCommentVNode("",!0),t.createElementVNode("form",{class:t.normalizeClass(["wm-compose",{"has-attach":s.attachOpen}]),onSubmit:n[7]||(n[7]=t.withModifiers((...i)=>o.onSubmit&&o.onSubmit(...i),["prevent"]))},[t.createElementVNode("input",{ref:"fileEl",type:"file",hidden:"",multiple:"",onChange:n[1]||(n[1]=(...i)=>o.onFile&&o.onFile(...i))},null,544),s.attachOpen?(t.openBlock(),t.createElementBlock("div",{key:0,class:"wm-compose__overlay",onClick:n[2]||(n[2]=i=>s.attachOpen=!1)})):t.createCommentVNode("",!0),s.attachOpen?(t.openBlock(),t.createElementBlock("div",ta,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.attachItems,i=>(t.openBlock(),t.createElementBlock("button",{key:i.action,type:"button",class:"wm-compose__menuItem",disabled:i.disabled,onClick:l=>o.onAttachAction(i.action)},[t.createElementVNode("span",ra,[(t.openBlock(),t.createElementBlock("svg",oa,[t.createElementVNode("path",{d:i.path,stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round",fill:"none"},null,8,aa)]))]),t.createElementVNode("span",null,t.toDisplayString(i.label),1)],8,na))),128))])):t.createCommentVNode("",!0),t.withDirectives(t.createElementVNode("textarea",{ref:"inputEl","onUpdate:modelValue":n[3]||(n[3]=i=>s.local=i),class:"wm-compose__input",rows:"3",placeholder:r.placeholder,disabled:r.disabled,onKeydown:n[4]||(n[4]=(...i)=>o.onKeydown&&o.onKeydown(...i)),onInput:n[5]||(n[5]=(...i)=>o.autosize&&o.autosize(...i))},null,40,sa),[[t.vModelText,s.local]]),t.createElementVNode("div",ia,[t.createElementVNode("button",{type:"button",class:t.normalizeClass(["wm-compose__icon",{"is-open":s.attachOpen}]),title:r.attachLabel,"aria-label":r.attachLabel,disabled:s.recording,onClick:n[6]||(n[6]=i=>s.attachOpen=!s.attachOpen)},[...n[9]||(n[9]=[t.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"},[t.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)])],10,la),t.createElementVNode("button",{type:"submit",class:t.normalizeClass(["wm-compose__send",{"is-empty":!o.canSend}]),disabled:!o.canSend,"aria-label":o.t("composer.send")},[...n[10]||(n[10]=[t.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"},[t.createElementVNode("path",{d:"M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z"})],-1)])],10,ca)])],34)],6)}const $e=N(Qo,[["render",da],["__scopeId","data-v-01e81a27"]]),ua={name:"WmSuggestionChips",props:{items:{type:Array,default:()=>[]},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("§")}}},ma=["onClick"];function ha(e,n,r,a,s,o){return r.items.length?(t.openBlock(),t.createElementBlock("div",{key:o.batchKey,class:"wm-chips"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.items,(i,l)=>(t.openBlock(),t.createElementBlock("button",{key:l,type:"button",class:"wm-chip",style:t.normalizeStyle({animationDelay:r.baseDelay+l*r.stepDelay+"ms"}),onClick:f=>e.$emit("select",i)},t.toDisplayString(i.label),13,ma))),128))])):t.createCommentVNode("",!0)}const Ke=N(ua,[["render",ha],["__scopeId","data-v-47ad8085"]]),fa={name:"WmApprovalCard",components:{AIAvatar:H},inject:{t:{default:()=>T()}},props:{action:{type:String,required:!0},detail:{type:String,default:""},callbacks:{type:Array,default:()=>[]},agentName:{type:String,default:""},agentAvatarUrl:{type:String,default:null}},emits:["callback"],computed:{approveCallback(){return this.callbacks.find(e=>e.id==="approve"||e.style==="primary")||this.callbacks[0]},rejectCallback(){return this.callbacks.find(e=>e.id==="reject"||e.style==="danger"||e.style==="neutral")||(this.callbacks.length>1?this.callbacks[1]:null)},approveId(){var e;return(e=this.approveCallback)==null?void 0:e.id},rejectId(){var e;return(e=this.rejectCallback)==null?void 0:e.id},approveLabel(){var e;return((e=this.approveCallback)==null?void 0:e.label)||this.t("approval.approve")},rejectLabel(){var e;return((e=this.rejectCallback)==null?void 0:e.label)||this.t("approval.reject")}}},pa={class:"wm-approval"},ga={class:"wm-approval__head"},_a={class:"wm-approval__icon"},ya={class:"wm-approval__main"},va={class:"wm-approval__title"},ka={key:0,class:"wm-approval__detail"},wa={class:"wm-approval__actions"};function ba(e,n,r,a,s,o){const i=t.resolveComponent("AIAvatar");return t.openBlock(),t.createElementBlock("div",pa,[t.createElementVNode("div",ga,[t.createElementVNode("div",_a,[t.createVNode(i,{size:24,name:r.agentName,"image-url":r.agentAvatarUrl},null,8,["name","image-url"])]),t.createElementVNode("div",ya,[t.createElementVNode("div",va,t.toDisplayString(r.action),1),r.detail?(t.openBlock(),t.createElementBlock("div",ka,t.toDisplayString(r.detail),1)):t.createCommentVNode("",!0)])]),t.createElementVNode("div",wa,[o.rejectId?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"wm-approval__btn wm-approval__btn--neutral",onClick:n[0]||(n[0]=l=>e.$emit("callback",o.rejectId))},t.toDisplayString(o.rejectLabel),1)):t.createCommentVNode("",!0),o.approveId?(t.openBlock(),t.createElementBlock("button",{key:1,type:"button",class:"wm-approval__btn wm-approval__btn--primary",onClick:n[1]||(n[1]=l=>e.$emit("callback",o.approveId))},t.toDisplayString(o.approveLabel),1)):t.createCommentVNode("",!0)])])}const We=N(fa,[["render",ba],["__scopeId","data-v-a2bed37e"]]);let ye=0;const Ea=new Set(["text","textarea","number","boolean","select","multiselect","date"]),Ca={name:"WmFormCard",components:{AIAvatar:H},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 ye+=1,{_uid:ye,values:{},busy:!1,error:""}},computed:{normalizedFields(){var n;return(Array.isArray((n=this.form)==null?void 0:n.fields)?this.form.fields:[]).filter(r=>!(!(r!=null&&r.key)||!(r!=null&&r.label)||!Ea.has(r==null?void 0:r.type)||(r.type==="select"||r.type==="multiselect")&&(!Array.isArray(r.options)||r.options.length===0)))}},created(){this.resetValues()},methods:{resetValues(){const e=this.initialValues&&typeof this.initialValues=="object"?this.initialValues:{},n={};for(const r of this.normalizedFields){if(e[r.key]!==void 0){n[r.key]=e[r.key];continue}r.type==="boolean"?n[r.key]=!1:r.type==="multiselect"?n[r.key]=[]:n[r.key]=""}this.values=n,this.error=""},toggleMulti(e,n,r){const a=Array.isArray(this.values[e])?this.values[e].slice():[],s=a.indexOf(n);r&&s===-1?a.push(n):!r&&s!==-1&&a.splice(s,1),this.values={...this.values,[e]:a}},validate(){for(const e of this.normalizedFields){if(!e.required)continue;const n=this.values[e.key];if(e.type!=="boolean"){if(e.type==="multiselect"){if(!Array.isArray(n)||n.length===0)return this.t("form.fieldRequired",{label:e.label});continue}if(n==null||n==="")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}}}},Ba={class:"wm-form"},Sa={class:"wm-form__head"},Na={class:"wm-form__icon"},Aa={class:"wm-form__main"},Va={class:"wm-form__title"},Ma={key:0,class:"wm-form__detail"},Ta=["for"],xa={key:0,class:"wm-form__req","aria-hidden":"true"},La=["id","onUpdate:modelValue","placeholder","required","disabled"],Da=["id","onUpdate:modelValue","placeholder","required","disabled"],Oa=["id","onUpdate:modelValue","placeholder","required","disabled"],Ia=["id","onUpdate:modelValue","required","disabled"],Ra={key:4,class:"wm-form__bool"},Fa=["id","onUpdate:modelValue","disabled"],Pa=["id","onUpdate:modelValue","required","disabled"],Ua={value:"",disabled:""},za=["value"],ja={key:6,class:"wm-form__multi"},Ha=["value","checked","disabled","onChange"],qa={key:0,class:"wm-form__err"},$a=["disabled"],Ka={key:0,class:"wm-form__spinner","aria-hidden":"true"},Wa={key:2,class:"wm-form__doneLbl"};function Ga(e,n,r,a,s,o){const i=t.resolveComponent("AIAvatar");return t.openBlock(),t.createElementBlock("div",Ba,[t.createElementVNode("div",Sa,[t.createElementVNode("div",Na,[t.createVNode(i,{size:24,name:r.agentName,"image-url":r.agentAvatarUrl},null,8,["name","image-url"])]),t.createElementVNode("div",Aa,[t.createElementVNode("div",Va,t.toDisplayString(r.form.title||o.t("form.title")),1),r.form.description?(t.openBlock(),t.createElementBlock("div",Ma,t.toDisplayString(r.form.description),1)):t.createCommentVNode("",!0)])]),t.createElementVNode("form",{class:"wm-form__body",onSubmit:n[0]||(n[0]=t.withModifiers((...l)=>o.onSubmit&&o.onSubmit(...l),["prevent"]))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.normalizedFields,l=>(t.openBlock(),t.createElementBlock("div",{key:l.key,class:"wm-form__field"},[t.createElementVNode("label",{for:`wm-f-${s._uid}-${l.key}`,class:"wm-form__label"},[t.createTextVNode(t.toDisplayString(l.label),1),l.required?(t.openBlock(),t.createElementBlock("span",xa,"*")):t.createCommentVNode("",!0)],8,Ta),l.type==="text"?t.withDirectives((t.openBlock(),t.createElementBlock("input",{key:0,id:`wm-f-${s._uid}-${l.key}`,"onUpdate:modelValue":f=>s.values[l.key]=f,type:"text",class:"wm-form__input",placeholder:l.placeholder||"",required:l.required,disabled:r.readOnly||s.busy},null,8,La)),[[t.vModelText,s.values[l.key]]]):l.type==="textarea"?t.withDirectives((t.openBlock(),t.createElementBlock("textarea",{key:1,id:`wm-f-${s._uid}-${l.key}`,"onUpdate:modelValue":f=>s.values[l.key]=f,class:"wm-form__textarea",rows:"3",placeholder:l.placeholder||"",required:l.required,disabled:r.readOnly||s.busy},null,8,Da)),[[t.vModelText,s.values[l.key]]]):l.type==="number"?t.withDirectives((t.openBlock(),t.createElementBlock("input",{key:2,id:`wm-f-${s._uid}-${l.key}`,"onUpdate:modelValue":f=>s.values[l.key]=f,type:"number",class:"wm-form__input",placeholder:l.placeholder||"",required:l.required,disabled:r.readOnly||s.busy},null,8,Oa)),[[t.vModelText,s.values[l.key],void 0,{number:!0}]]):l.type==="date"?t.withDirectives((t.openBlock(),t.createElementBlock("input",{key:3,id:`wm-f-${s._uid}-${l.key}`,"onUpdate:modelValue":f=>s.values[l.key]=f,type:"date",class:"wm-form__input",required:l.required,disabled:r.readOnly||s.busy},null,8,Ia)),[[t.vModelText,s.values[l.key]]]):l.type==="boolean"?(t.openBlock(),t.createElementBlock("label",Ra,[t.withDirectives(t.createElementVNode("input",{id:`wm-f-${s._uid}-${l.key}`,"onUpdate:modelValue":f=>s.values[l.key]=f,type:"checkbox",disabled:r.readOnly||s.busy},null,8,Fa),[[t.vModelCheckbox,s.values[l.key]]]),t.createElementVNode("span",null,t.toDisplayString(l.placeholder||o.t("common.yes")),1)])):l.type==="select"?t.withDirectives((t.openBlock(),t.createElementBlock("select",{key:5,id:`wm-f-${s._uid}-${l.key}`,"onUpdate:modelValue":f=>s.values[l.key]=f,class:"wm-form__select",required:l.required,disabled:r.readOnly||s.busy},[t.createElementVNode("option",Ua,t.toDisplayString(l.placeholder||o.t("form.choose")),1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.options,f=>(t.openBlock(),t.createElementBlock("option",{key:f.value,value:f.value},t.toDisplayString(f.label),9,za))),128))],8,Pa)),[[t.vModelSelect,s.values[l.key]]]):l.type==="multiselect"?(t.openBlock(),t.createElementBlock("div",ja,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.options,f=>(t.openBlock(),t.createElementBlock("label",{key:f.value,class:"wm-form__multiItem"},[t.createElementVNode("input",{type:"checkbox",value:f.value,checked:Array.isArray(s.values[l.key])&&s.values[l.key].includes(f.value),disabled:r.readOnly||s.busy,onChange:y=>o.toggleMulti(l.key,f.value,y.target.checked)},null,40,Ha),t.createElementVNode("span",null,t.toDisplayString(f.label),1)]))),128))])):t.createCommentVNode("",!0)]))),128)),s.error?(t.openBlock(),t.createElementBlock("div",qa,t.toDisplayString(s.error),1)):t.createCommentVNode("",!0),r.readOnly?(t.openBlock(),t.createElementBlock("div",Wa,t.toDisplayString(o.t("form.responseSent")),1)):(t.openBlock(),t.createElementBlock("button",{key:1,type:"submit",class:"wm-form__submit",disabled:s.busy},[s.busy?(t.openBlock(),t.createElementBlock("span",Ka)):t.createCommentVNode("",!0),t.createElementVNode("span",null,t.toDisplayString(s.busy?o.t("common.sending"):r.form.submit_label||o.t("common.send")),1)],8,$a))],32)])}const Ge=N(Ca,[["render",Ga],["__scopeId","data-v-fe65cc56"]]),Ya={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})}}},Xa={class:"wm-fb"},Ja={class:"wm-fb__title"},Qa={class:"wm-fb__sub"},Za={class:"wm-fb__row"},es=["onClick"],ts={class:"wm-fb__emoji"},ns={class:"wm-fb__label"},rs=["disabled"],os={key:1,class:"wm-fb__done"},as={class:"wm-fb__doneTitle"},ss={class:"wm-fb__doneSub"};function is(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",Xa,[r.done?(t.openBlock(),t.createElementBlock("div",os,[n[1]||(n[1]=t.createElementVNode("div",{class:"wm-fb__check"},[t.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"},[t.createElementVNode("path",{d:"M20 6L9 17l-5-5"})])],-1)),t.createElementVNode("div",as,t.toDisplayString(o.t("feedback.doneTitle")),1),t.createElementVNode("div",ss,t.toDisplayString(o.t("feedback.doneSubtitle")),1)])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("div",Ja,t.toDisplayString(o.t("feedback.question")),1),t.createElementVNode("div",Qa,t.toDisplayString(o.t("feedback.subtitle")),1),t.createElementVNode("div",Za,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.options,i=>(t.openBlock(),t.createElementBlock("button",{key:i.v,type:"button",class:t.normalizeClass(["wm-fb__opt",{"is-selected":s.sel===i.v}]),onClick:l=>s.sel=i.v},[t.createElementVNode("span",ts,t.toDisplayString(i.e),1),t.createElementVNode("span",ns,t.toDisplayString(i.l),1)],10,es))),128))]),t.createElementVNode("button",{type:"button",class:"wm-fb__send",disabled:!s.sel||r.busy,onClick:n[0]||(n[0]=(...i)=>o.onSend&&o.onSend(...i))},t.toDisplayString(r.busy?o.t("common.sending"):o.t("feedback.submit")),9,rs)],64))])}const Ye=N(Ya,[["render",is],["__scopeId","data-v-9b630564"]]),ls={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)}}},cs={class:"wm-mm"},ds={class:"wm-mm__pop",role:"menu"},us={key:0,class:"wm-mm__section"},ms={class:"wm-mm__label"},hs={class:"wm-mm__label"},fs={key:1,class:"wm-mm__sep"},ps={class:"wm-mm__section"},gs={class:"wm-mm__label"},_s={class:"wm-mm__section"},ys={class:"wm-mm__label"},vs={class:"wm-mm__label"};function ks(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",cs,[t.createElementVNode("div",{class:"wm-mm__scrim",onClick:n[0]||(n[0]=i=>e.$emit("close"))}),t.createElementVNode("div",ds,[r.canRename||r.canExport?(t.openBlock(),t.createElementBlock("div",us,[r.canRename?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"wm-mm__item",onClick:n[1]||(n[1]=i=>o.emit("rename"))},[n[6]||(n[6]=t.createElementVNode("span",{class:"wm-mm__icon"},[t.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"},[t.createElementVNode("path",{d:"M12 20h9"}),t.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)),t.createElementVNode("span",ms,t.toDisplayString(o.t("moreMenu.editTitle")),1)])):t.createCommentVNode("",!0),r.canExport?(t.openBlock(),t.createElementBlock("button",{key:1,type:"button",class:"wm-mm__item",onClick:n[2]||(n[2]=i=>o.emit("export"))},[n[7]||(n[7]=t.createElementVNode("span",{class:"wm-mm__icon"},[t.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"},[t.createElementVNode("path",{d:"M4 12v8a2 2 0 002 2h12a2 2 0 002-2v-8M16 6l-4-4-4 4M12 2v13"})])],-1)),t.createElementVNode("span",hs,t.toDisplayString(o.t("moreMenu.exportTranscript")),1),n[8]||(n[8]=t.createElementVNode("span",{class:"wm-mm__hint"},".txt",-1))])):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),r.canRename||r.canExport?(t.openBlock(),t.createElementBlock("div",fs)):t.createCommentVNode("",!0),t.createElementVNode("div",ps,[t.createElementVNode("button",{type:"button",class:"wm-mm__item",onClick:n[3]||(n[3]=(...i)=>o.toggleSound&&o.toggleSound(...i))},[n[10]||(n[10]=t.createElementVNode("span",{class:"wm-mm__icon"},[t.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"},[t.createElementVNode("path",{d:"M11 5L6 9H2v6h4l5 4V5z"}),t.createElementVNode("path",{d:"M15.54 8.46a5 5 0 010 7.07M19.07 4.93a10 10 0 010 14.14"})])],-1)),t.createElementVNode("span",gs,t.toDisplayString(o.t("moreMenu.sound")),1),t.createElementVNode("span",{class:t.normalizeClass(["wm-mm__toggle",{"wm-mm__toggle--on":s.soundOn}])},[...n[9]||(n[9]=[t.createElementVNode("span",{class:"wm-mm__knob"},null,-1)])],2)])]),n[13]||(n[13]=t.createElementVNode("div",{class:"wm-mm__sep"},null,-1)),t.createElementVNode("div",_s,[r.statusUrl?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"wm-mm__item",onClick:n[4]||(n[4]=i=>o.emit("status"))},[n[11]||(n[11]=t.createElementVNode("span",{class:"wm-mm__icon"},[t.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"},[t.createElementVNode("path",{d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zM10 6v4l3 2"})])],-1)),t.createElementVNode("span",ys,t.toDisplayString(o.t("moreMenu.serviceStatus")),1)])):t.createCommentVNode("",!0),r.helpUrl?(t.openBlock(),t.createElementBlock("button",{key:1,type:"button",class:"wm-mm__item",onClick:n[5]||(n[5]=i=>o.emit("help"))},[n[12]||(n[12]=t.createElementVNode("span",{class:"wm-mm__icon"},[t.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"},[t.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)),t.createElementVNode("span",vs,t.toDisplayString(o.t("moreMenu.helpCenter")),1)])):t.createCommentVNode("",!0)])])])}const Xe=N(ls,[["render",ks],["__scopeId","data-v-4cf6d578"]]),ws={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())}}},bs={class:"wm-dialog"},Es={class:"wm-dialog__card",role:"dialog","aria-modal":"true"},Cs={class:"wm-dialog__head"},Bs={class:"wm-dialog__title"},Ss=["aria-label"],Ns={class:"wm-dialog__body"},As=["placeholder"],Vs={class:"wm-dialog__actions"},Ms=["disabled"];function Ts(e,n,r,a,s,o){return t.openBlock(),t.createElementBlock("div",bs,[t.createElementVNode("div",{class:"wm-dialog__scrim",onClick:n[0]||(n[0]=i=>e.$emit("close"))}),t.createElementVNode("div",Es,[t.createElementVNode("div",Cs,[t.createElementVNode("div",Bs,t.toDisplayString(r.title||o.t("rename.title")),1),t.createElementVNode("button",{type:"button",class:"wm-dialog__close","aria-label":o.t("common.close"),onClick:n[1]||(n[1]=i=>e.$emit("close"))},[...n[7]||(n[7]=[t.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"},[t.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,Ss)]),t.createElementVNode("div",Ns,[t.withDirectives(t.createElementVNode("input",{ref:"input","onUpdate:modelValue":n[2]||(n[2]=i=>s.value=i),type:"text",class:"wm-dialog__input",placeholder:r.placeholder||o.t("rename.placeholder"),maxlength:120,onKeydown:[n[3]||(n[3]=t.withKeys(t.withModifiers((...i)=>o.onSubmit&&o.onSubmit(...i),["prevent"]),["enter"])),n[4]||(n[4]=t.withKeys(t.withModifiers(i=>e.$emit("close"),["prevent"]),["esc"]))]},null,40,As),[[t.vModelText,s.value]])]),t.createElementVNode("div",Vs,[t.createElementVNode("button",{type:"button",class:"wm-dialog__btn",onClick:n[5]||(n[5]=i=>e.$emit("close"))},t.toDisplayString(o.t("common.cancel")),1),t.createElementVNode("button",{type:"button",class:"wm-dialog__btn wm-dialog__btn--primary",disabled:!o.canSubmit,onClick:n[6]||(n[6]=(...i)=>o.onSubmit&&o.onSubmit(...i))},t.toDisplayString(o.t("common.save")),9,Ms)])])])}const xs=N(ws,[["render",Ts],["__scopeId","data-v-6d5f94a8"]]),ve="ww-messenger-tokens",Ls={name:"Messenger",components:{Launcher:Ae,Header:Me,Onboarding:Te,History:cr,MessageList:Ue,Composer:$e,SuggestionChips:Ke,ApprovalCard:We,FormCard:Ge,Feedback:Ye,MoreMenu:Xe,RenameDialog:xs},mixins:[pt,wt,bt,Ct],provide(){return{signAttachmentFn:e=>{var n,r;return((r=(n=this.store)==null?void 0:n.signAttachment)==null?void 0:r.call(n,e))||null},t:(e,n)=>this.t(e,n),wmLocale:()=>this.locale}},props:{baseUrl:{type:String,default:Ee},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:!1,convOpenedAt:0,moreOpen:!1,renameDialogOpen:!1,draftConv:null,activeConvId:null,showOnboarding:!1,showHistory:!1,backToHistory:!1,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 r,a,s,o;const e=(r=this.s)==null?void 0:r.customer,n=e&&(e.language||((a=e.values)==null?void 0:a.language));return n||((o=(s=this.context)==null?void 0:s.customer)==null?void 0:o.language)||""},locale(){var e;return se(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 n;const e=(n=this.s)==null?void 0:n.conversations;return Array.isArray(e)?e:[]},drawerConversations(){var r;const e=((r=this.s)==null?void 0:r.messagesByConv)||{},n=this.revealedAt;return this.allConversations.map(a=>{var y;const s=e[a.id]||[],o=R(a.last_read_message_id);let i=0,l=null;for(let _=s.length-1;_>=0;_--){const C=s[_];if(!C)continue;if(((y=C.author)==null?void 0:y.type)==="user")break;const S=R(C.id);if(S!=null){if(o!=null&&S<=o)break;n[C.id]!==0&&(!l&&C.author&&(l=C.author),i++)}}if(!s.length){const _=R(a.last_message_id);_!=null&&(o==null||_>o)&&(i=1,l=a.last_message_author||null)}const f=s.filter(_=>!((_==null?void 0:_.id)!=null&&n[_.id]===0));return{...a,_preview:ut(a,f),_unread:i>0,_unreadCount:i,_lastAuthor:l}})},unreadCount(){return this.drawerConversations.filter(e=>e._unread).length},openThreads(){var n;const e=((n=this.s)==null?void 0:n.messagesByConv)||{};return this.drawerConversations.filter(r=>r.status!=="resolved").map(r=>({id:r.id,title:r.name||this.t("common.newConversation"),preview:r._preview||this.t("onboarding.newMessage"),unread:!!r._unread,author:r._lastAuthor||null,_ts:ge(r,e[r.id]||[])})).sort((r,a)=>r._ts<a._ts?1:r._ts>a._ts?-1:0)},latestUnreads(){var r;const e=((r=this.s)==null?void 0:r.messagesByConv)||{},n=[];for(const a of this.drawerConversations){if(!a._unread)continue;const s=ge(a,e[a.id]||[]),o=a._lastAuthor,i=!o||o.type==="agent_ia",l=(o==null?void 0:o.name)||(i?this.agentName:"")||"",f=(o==null?void 0:o.avatar_url)||(i?this.agentAvatarUrl:null);n.push({convId:a.id,preview:a._preview||this.t("notification.youHaveNewMessage"),ts:s,count:a._unreadCount||1,senderName:l,senderAvatarUrl:f})}return n.sort((a,s)=>a.ts<s.ts?1:a.ts>s.ts?-1:0),n},launcherPeeks(){if(this.isOpen||this.isEmbedded)return[];const e=this.dismissedPeeks||{};return this.latestUnreads.filter(n=>e[n.convId]!==n.ts)},isViewingThread(){return(this.isOpen||this.isEmbedded)&&!!this.currentConv},currentConv(){if(this.draftConv)return this.draftConv;if(this.showOnboarding)return null;const e=this.allConversations;if(!e.length)return null;if(this.activeConvId!=null){const n=e.find(r=>r.id===this.activeConvId);if(n)return n}return e[0]||null},canBack(){return!!this.currentConv||this.showHistory},statusUrl(){var r;const e=(r=this.widget)==null?void 0:r.quick_links;if(!Array.isArray(e))return"";const n=e.find(a=>a.icon==="status"&&a.url);return(n==null?void 0:n.url)||""},helpUrl(){var r;const e=(r=this.widget)==null?void 0:r.quick_links;if(!Array.isArray(e))return"";const n=e.find(a=>(a.icon==="chat"||a.icon==="help")&&a.url);return(n==null?void 0:n.url)||""},widget(){var e,n;return((n=(e=this.s)==null?void 0:e.config)==null?void 0:n.widget)||null},rootStyle(){var n;const e=(n=this.widget)==null?void 0:n.primary_color;return e&&it(e)?{"--wm-primary":e}:null},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},agentName(){var e,n,r;return((r=(n=(e=this.s)==null?void 0:e.config)==null?void 0:n.agent)==null?void 0:r.name)||""},agentAvatarUrl(){var e,n,r;return((r=(n=(e=this.s)==null?void 0:e.config)==null?void 0:n.agent)==null?void 0:r.avatar_url)||null},quickLinks(){var n;const e=(n=this.widget)==null?void 0:n.quick_links;return Array.isArray(e)?e:[]},teamMembers(){var n;const e=(n=this.widget)==null?void 0:n.team_members;return Array.isArray(e)?e:[]},responseLabel(){var e;return((e=this.widget)==null?void 0:e.response_time_label)||""},humanMessageAuthor(){var n,r,a;if(!this.currentConv)return null;const e=((n=this.s.messagesByConv)==null?void 0:n[this.currentConv.id])||[];for(let s=e.length-1;s>=0;s--)if(((a=(r=e[s])==null?void 0:r.author)==null?void 0:a.type)==="agent_human")return e[s].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(){var n;const e=(n=this.currentConv)==null?void 0:n.status;return e==="waiting"||e==="handled"},headerTitle(){var e,n;return((e=this.currentConv)==null?void 0:e.name)||((n=this.widget)==null?void 0:n.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 r,a;const e=this.currentConv;if(!e)return[];if(!e._draft){const s=(a=(r=this.s)==null?void 0:r.paginationByConv)==null?void 0:a[e.id];if(!(s!=null&&s.loaded))return[]}const n=this.revealedAt;return(this.s.messagesByConv[e.id]||[]).filter(s=>{var o,i,l,f,y;return(s==null?void 0:s.type)==="action"&&((o=s==null?void 0:s.payload)==null?void 0:o.state)==="pending"||X(s)&&!(n[s.id]>0)?!1:(s==null?void 0:s.type)==="action"||(s==null?void 0:s.type)==="system"||((i=s==null?void 0:s.payload)==null?void 0:i.type)==="system"||Array.isArray((l=s==null?void 0:s.payload)==null?void 0:l.attachments)&&s.payload.attachments.length||(f=s==null?void 0:s.metadata)!=null&&f.artifact||(y=s==null?void 0:s.metadata)!=null&&y.form?!0:typeof(s==null?void 0:s.text_md)=="string"&&s.text_md.trim().length>0})},streamingActive(){var r,a,s;const e=this.currentConv;return e?Object.keys(((r=this.s)==null?void 0:r.streamingByMsgId)||{}).length>0?!0:this.actionInFlight?!1:(((s=(a=this.s)==null?void 0:a.messagesByConv)==null?void 0:s[e.id])||[]).some(o=>X(o)&&!(this.revealedAt[o.id]>0)):!1},currentConvMessages(){var n,r,a;const e=(n=this.currentConv)==null?void 0:n.id;return e?((a=(r=this.s)==null?void 0:r.messagesByConv)==null?void 0:a[e])||[]:[]},pendingApproval(){return!this.currentConv||!this.store||this.actionInFlight?null:this.store.getPendingApproval(this.currentConv.id)},approvalReady(){return this.pendingApproval?this.pendingApproval.id===this.approvalLatchId?!0:!(this.streamingActive||!this.approvalSettled):!1},approvalTitle(){var e,n,r;return((n=(e=this.pendingApproval)==null?void 0:e.payload)==null?void 0:n.name)||((r=this.pendingApproval)==null?void 0:r.text_md)||this.t("action.title")},approvalDetail(){var a,s,o,i,l,f;const e=(o=(s=(a=this.pendingApproval)==null?void 0:a.payload)==null?void 0:s.pending)==null?void 0:o.user_explanation;if(typeof e=="string"&&e.trim())return e.trim();const n=(f=(l=(i=this.pendingApproval)==null?void 0:i.payload)==null?void 0:l.pending)==null?void 0:f.prepared_params;if(!n||typeof n!="object")return"";const r=Object.entries(n);return r.length?r.slice(0,2).map(([y,_])=>`${y}: ${_}`).join(" · "):""},actionInFlight(){var e,n;return!this.currentConv||!this.store?null:((n=(e=this.store).getActionInFlight)==null?void 0:n.call(e,this.currentConv.id))||null},actionInFlightName(){var n;const e=this.actionInFlight;return e?((n=e.payload)==null?void 0:n.name)||e.text_md||this.t("common.action"):""},suggestions(){return!this.currentConv||!this.store?[]:this.streamingActive?[]:this.pendingForm?[]:this.store.getLatestSuggestions(this.currentConv.id)},pendingForm(){var e,n;return!this.currentConv||!this.store||this.pendingApproval||this.actionInFlight||this.streamingActive||!this.approvalSettled?null:((n=(e=this.store).getLatestForm)==null?void 0:n.call(e,this.currentConv.id))||null},showFeedback(){var n;const e=this.currentConv;return e?this.feedbackDone?!0:e.status!=="resolved"?!1:!((n=e.metadata)!=null&&n.feedback):!1},floatVisible(){return this.approvalReady||!!this.pendingForm||this.showFeedback||this.suggestions.length>0},dateLabel(){var r,a,s;const e=this.currentConv;let n=new Date;if(e){const i=((s=(((a=(r=this.s)==null?void 0:r.messagesByConv)==null?void 0:a[e.id])||[]).find(l=>l==null?void 0:l.created_at))==null?void 0:s.created_at)||e.created_at;if(i){const l=new Date(i);Number.isNaN(l.getTime())||(n=l)}}return this.t("messageList.today",{time:re(n,P(this.locale))})},paginationState(){var r,a,s;const e=(r=this.currentConv)==null?void 0:r.id,n=e?(s=(a=this.s)==null?void 0:a.paginationByConv)==null?void 0:s[e]:null;return{loading:!!(n!=null&&n.loading),hasMore:!!(n!=null&&n.nextCursor)}}},watch:{latestUnreads:{handler(e){const n=new Set(e.map(i=>i.convId)),r=this.dismissedPeeks||{},a=Object.keys(r);if(!a.length)return;const s={};let o=!1;for(const i of a)n.has(i)?s[i]=r[i]:o=!0;o&&(this.dismissedPeeks=s)},deep:!0},"currentConv.id":{handler(e){var n;this.resetRevealQueue(),this.convOpenedAt=Date.now(),this.moreOpen=!1,this.renameDialogOpen=!1,this.resetApprovalPacing(),this.isViewingThread&&(this.unreadAnchorId=R((n=this.currentConv)==null?void 0:n.last_read_message_id),this.unreadBoundaryTs=e?new Date().toISOString():"")},immediate:!0},isViewingThread(e,n){var r;e&&!n?(this.unreadAnchorId=R((r=this.currentConv)==null?void 0:r.last_read_message_id),this.unreadBoundaryTs=new Date().toISOString()):e||(this.unreadAnchorId=null,this.unreadBoundaryTs="")},pendingApproval:{handler(e,n){if(e&&!n){const r=e!=null&&e.created_at?Date.parse(e.created_at):NaN;if(!(Number.isFinite(r)&&r>=this.convOpenedAt)){this.resetApprovalPacing();return}this.bumpApprovalSettle(2600)}else!e&&n&&this.resetApprovalPacing()},immediate:!1},streamingActive(e,n){e!==n&&this.pendingApproval&&this.pendingApproval.id!==this.approvalLatchId&&this.bumpApprovalSettle()},approvalReady(e){e&&this.pendingApproval&&(this.approvalLatchId=this.pendingApproval.id)},floatVisible:{handler(e){this.$nextTick(()=>this.syncFloatObserver(e))},immediate:!0},currentConvMessages(e){var n;this.paceMessages(e,(n=this.currentConv)==null?void 0:n.id),(this.isOpen||this.isEmbedded)&&this.currentConv&&this.markConvRead(this.currentConv)}},async mounted(){if(typeof document<"u"&&!document.getElementById(ve)){const e=document.createElement("style");e.id=ve,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.teardownLiveReveal(),this.disconnectFloatRO(),this.resetApprovalPacing(),this.teardownNotifications(),this.store&&this.store.destroy()},methods:{t(e,n){return this.translator(e,n)},waitForParentInit(){if(this.parentInitReceived)return Promise.resolve();if(!this.parentInitDeferred){let e;this.parentInitDeferred=new Promise(n=>{e=n}),this.parentInitDeferred._resolve=e}return this.parentInitDeferred},onParentMessage(e){var r;const n=e==null?void 0:e.data;if(!(!n||typeof n!="object")){if(n.type==="UPDATE"){this.transport&&n.payload&&this.transport.update(n.payload).catch(a=>{console.warn("[messenger] update failed",a)});return}if(n.type==="CONTEXT"){this.transport&&n.payload&&this.transport.context(n.payload);return}n.type==="INIT"&&(this.parentOrigin=e.origin,this.parentToken=typeof n.token=="string"?n.token:"",this.parentVariables=n.variables&&typeof n.variables=="object"?n.variables:n.context&&typeof n.context=="object"?n.context:null,this.parentAllowUnauthenticated=n.allowUnauthenticated===!0,this.parentInitReceived=!0,(r=this.parentInitDeferred)!=null&&r._resolve&&this.parentInitDeferred._resolve(),!this.isEmbedded&&!this.isOpen&&!this.parentAllowUnauthenticated&&this.parentToken&&this.hasValidSessionMarker()&&this.boot().catch(a=>{console.warn("[messenger] eager boot failed",a)}))}},hasValidSessionMarker(){if(typeof document>"u")return!1;const n=(document.cookie||"").match(/(?:^|; )messenger_session_marker=([^;]+)/);if(!n)return!1;const r=parseInt(n[1],10);return Number.isFinite(r)?r>Date.now():!1},async boot(){if(!this.canBoot){console.warn("[messenger] boot skipped — missing creds");return}try{await this.waitForParentInit(),this.transport=t.markRaw(ke({baseUrl:this.baseUrl,widgetId:this.widgetId})),this.store=t.markRaw(we(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 n={};for(const[r,a]of Object.entries(e))r!=="customer"&&a&&typeof a=="object"&&!Array.isArray(a)&&(n[r]=a);Object.keys(n).length>0&&this.transport.context(n)}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.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=!1,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 n=this.$refs.floatEl;if(n){if(typeof ResizeObserver>"u"){this.floatHeight=Math.ceil(n.getBoundingClientRect().height+8);return}this.floatRO=new ResizeObserver(r=>{const a=r[0];if(!a)return;const s=Math.ceil(a.contentRect.height+8);s!==this.floatHeight&&(this.floatHeight=s,this.$nextTick(()=>{var o,i;(i=(o=this.$refs.messageList)==null?void 0:o.scrollToBottom)==null||i.call(o)}))}),this.floatRO.observe(n)}},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(n){console.error("[ww-messenger] load messages failed",n)}this.markConvRead(e)}},async close(){this.isOpen=!1,await this.$nextTick(),this.sendCurrentLauncherSize(),this.observeLauncherSize(),this.store&&this.store.setPanelOpen(!1)},notifyParentResize(e,n){if(window.parent&&window.parent!==window)try{window.parent.postMessage({type:"RESIZE",state:e,displayMode:this.displayMode,...n||{}},"*")}catch(r){console.warn("[ww-messenger] notifyParentResize failed",r)}},onLauncherHover(e){this.launcherHovered=e,this.sendCurrentLauncherSize()},sendCurrentLauncherSize(){var _,C,S,k,L,b,V;if(this.isOpen)return;const e=(C=(_=this.$el)==null?void 0:_.querySelector)==null?void 0:C.call(_,".wm-launcherWrap");if(!e)return;const n=e.getBoundingClientRect();if(!n.width||!n.height)return;const r=(((S=this.launcherPeeks)==null?void 0:S.length)??0)>0,a=16,s=Math.ceil(n.width),o=Math.ceil(n.height),i=(L=(k=this.$el)==null?void 0:k.querySelector)==null?void 0:L.call(k,".wm-launcher"),l=(V=(b=this.$el)==null?void 0:b.querySelectorAll)==null?void 0:V.call(b,".wm-peek"),f=l&&l.length?l[l.length-1]:null;let y=null;if(f){const M=f.getBoundingClientRect();y={width:Math.ceil(M.width),height:Math.ceil(M.height),rightOffset:Math.max(0,Math.ceil(n.right-M.right)),bottomOffset:Math.max(0,Math.ceil(n.bottom-M.bottom))}}this.notifyParentResize("closed",{width:s+a,height:o+a,launcherWidth:(i==null?void 0:i.offsetWidth)||null,launcherHeight:(i==null?void 0:i.offsetHeight)||null,launcherHovered:this.launcherHovered,peek:y,peekHovered:this.launcherHovered&&r})},observeLauncherSize(){var r,a;if(typeof ResizeObserver>"u")return;const e=(a=(r=this.$el)==null?void 0:r.querySelector)==null?void 0:a.call(r,".wm-launcherWrap");if(!e)return;this._launcherRo&&this._launcherRo.disconnect();const n=new ResizeObserver(()=>{this.isOpen||this.sendCurrentLauncherSize()});n.observe(e),this._launcherRo=n},async openFromPeek(e){var r,a;const n=e||((r=this.latestUnreads[0])==null?void 0:r.convId);n&&n!==((a=this.currentConv)==null?void 0:a.id)&&(this.draftConv=null,this.activeConvId=n,this.showOnboarding=!1,this.showHistory=!1,this.backToHistory=!1),await this.open()},dismissPeek(e){const n=this.latestUnreads.find(r=>r.convId===e);n&&(this.dismissedPeeks={...this.dismissedPeeks,[e]:n.ts})},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()},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 n=await this.store.createConversation({});return this.draftConv=null,this.activeConvId=n.id,await this.store.openConversation(n.id),this.markConvRead(n),n}catch(n){return console.error("[ww-messenger] create conv failed",n),this.bootError=(n==null?void 0:n.message)||String(n),null}finally{this.busy=!1}},focusComposer(){this.$nextTick(()=>{var e;return(e=this.$refs.composer)==null?void 0:e.focus()})},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 n=this.showHistory;this.draftConv=null,this.activeConvId=e.id,this.showOnboarding=!1,this.showHistory=!1,this.backToHistory=n;try{await this.store.openConversation(e.id)}catch(a){console.error("[ww-messenger] open conv failed",a)}const r=this.allConversations.find(a=>a.id===e.id);r&&this.markConvRead(r)},async onMoreAction(e){var n,r;switch(this.moreOpen=!1,e){case"rename":this.openRenameDialog();break;case"export":ft(this.currentConv,this.currentConv?(r=(n=this.s)==null?void 0:n.messagesByConv)==null?void 0:r[this.currentConv.id]:[],this.translator,this.locale);break;case"status":if(ne(this.statusUrl))try{window.open(this.statusUrl,"_blank","noopener")}catch{}break;case"help":if(ne(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 n=this.currentConv;if(this.renameDialogOpen=!1,!n||n._draft||!this.store)return;const r=(e||"").trim();if(!(!r||r===n.name))try{await this.store.patchConversation(n.id,{name:r})}catch(a){console.error("[ww-messenger] rename failed",a)}},async onSend(e){let n=this.currentConv;if(!n&&(this.startConv(),n=this.currentConv,!n)||n._draft&&(n=await this.ensureRealConv(),!n))return;const r=n.id,a=this.pendingAttachments.slice();this.pendingAttachments=[],this.unreadAnchorId=null,this.unreadBoundaryTs="",await this.store.send(r,e,{attachments:a.length?a:void 0})},async onSuggestion(e){const n=e==null?void 0:e.label;n&&await this.onSend(n)},async onLoadMore(){var n;const e=(n=this.currentConv)==null?void 0:n.id;!e||!this.store||await this.store.loadMore(e)},async onApprovalCallback(e){const n=this.pendingApproval;n&&await this.store.clickCallback(n.id,e)},async onFormSubmit({values:e}){const n=this.pendingForm;if(!(n!=null&&n.form))return;const r=ct(n.form,e,this.translator);if(!r)return;let a=this.currentConv;a&&(a._draft&&(a=await this.ensureRealConv(),!a)||await this.store.send(a.id,r,{metadata:{artifact:dt(n.form,e,this.translator)}}))},async onAttach(e){if(!(!e||!this.transport))try{const n=await this.transport.uploadAttachment(e);this.pendingAttachments.push({type:n.type||"file",path:n.path,name:e.name||this.t("attachment.fileFallbackName"),mime_type:e.type,size_bytes:e.size})}catch(n){console.error("[ww-messenger] attachment upload failed",n)}},onPanelClick(e){const n=e.target&&e.target.closest?e.target.closest('a[href^="#"]'):null;n&&(e.preventDefault(),this.openInternalUrl(n.getAttribute("href")))},async openInternalUrl(e){if(typeof e!="string"||!e.startsWith("#"))return!1;const n=e.slice(1);if(n==="new"||n==="new-conversation")return this.isOpen||await this.open(),this.startConv(),!0;if(n.startsWith("conversation/")){const r=n.slice(13);return r&&await this.openFromPeek(r),!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(!ne(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:n}){if(this.currentConv){this.feedbackBusy=!0;try{await this.store.submitFeedback(this.currentConv.id,{rating:e,comment:n}),this.feedbackDone=!0}catch(r){console.error("[ww-messenger] feedback failed",r)}finally{this.feedbackBusy=!1}}}}},Ds={key:0,class:"wm-loading","aria-busy":"true","aria-live":"polite"},Os=["aria-label"],Is={key:0,class:"wm-state"},Rs={class:"wm-state__err"},Fs={class:"wm-state__errTitle"},Ps={class:"wm-state__errSub"},Us={class:"wm-bottom"},zs={key:0,ref:"floatEl",class:"wm-float"},js={key:1,class:"wm-actionWait",role:"status","aria-live":"polite"},Hs={class:"wm-actionWait__lbl"},qs={key:2,class:"wm-attached"},$s=["aria-label","onClick"];function Ks(e,n,r,a,s,o){const i=t.resolveComponent("Launcher"),l=t.resolveComponent("Header"),f=t.resolveComponent("History"),y=t.resolveComponent("Onboarding"),_=t.resolveComponent("MessageList"),C=t.resolveComponent("ApprovalCard"),S=t.resolveComponent("FormCard"),k=t.resolveComponent("Feedback"),L=t.resolveComponent("SuggestionChips"),b=t.resolveComponent("Composer"),V=t.resolveComponent("MoreMenu"),M=t.resolveComponent("RenameDialog");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["wm-root",`wm-root--${r.displayMode}`]),style:t.normalizeStyle(o.rootStyle)},[!s.isOpen&&!o.isEmbedded?(t.openBlock(),t.createBlock(i,{key:0,"unread-count":o.unreadCount,peeks:o.launcherPeeks,onOpen:o.openFromPeek,onDismiss:o.dismissPeek,onHover:o.onLauncherHover},null,8,["unread-count","peeks","onOpen","onDismiss","onHover"])):t.createCommentVNode("",!0),s.isOpen||o.isEmbedded?(t.openBlock(),t.createElementBlock("section",{key:1,class:t.normalizeClass(["wm-panel",`wm-panel--${r.displayMode}`,{"wm-panel--welcome":o.ready&&!o.error&&!o.currentConv}]),style:t.normalizeStyle(s.floatHeight?{"--wm-float-h":s.floatHeight+"px"}:null),role:"dialog","aria-label":"Messenger",onClick:n[6]||(n[6]=(...A)=>o.onPanelClick&&o.onPanelClick(...A))},[!o.ready&&!o.error?(t.openBlock(),t.createElementBlock("div",Ds,[o.isEmbedded?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"wm-loading__close","aria-label":o.t("loading.minimize"),onClick:n[0]||(n[0]=(...A)=>o.close&&o.close(...A))},[...n[7]||(n[7]=[t.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"},[t.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,Os)),n[8]||(n[8]=t.createElementVNode("div",{class:"wm-loading__spinner","aria-hidden":"true"},null,-1))])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createVNode(l,{title:o.headerTitle,"team-members":o.teamMembers,"response-label":o.responseLabel,"show-identity":!!o.currentConv,"show-back":o.canBack,"show-close":!o.isEmbedded,"more-active":s.moreOpen,"agent-name":o.agentName,"agent-avatar-url":o.agentAvatarUrl,onBack:o.goHome,onMore:o.toggleMore,onClose:o.close},null,8,["title","team-members","response-label","show-identity","show-back","show-close","more-active","agent-name","agent-avatar-url","onBack","onMore","onClose"]),o.error?(t.openBlock(),t.createElementBlock("div",Is,[t.createElementVNode("div",Rs,[n[9]||(n[9]=t.createElementVNode("div",{class:"wm-state__errIcon"},[t.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"},[t.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})])],-1)),t.createElementVNode("div",null,[t.createElementVNode("div",Fs,t.toDisplayString(o.t("error.connectionFailed")),1),t.createElementVNode("div",Ps,t.toDisplayString(o.error),1)])])])):!o.currentConv&&s.showHistory?(t.openBlock(),t.createBlock(f,{key:1,threads:o.openThreads,onResume:o.onDrawerPick},null,8,["threads","onResume"])):o.currentConv?(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[t.createVNode(_,{ref:"messageList",messages:o.displayedMessages,"streaming-active":o.streamingActive,"date-label":o.dateLabel,"conversation-id":o.currentConv?o.currentConv.id:null,"loading-more":o.paginationState.loading,"has-more":o.paginationState.hasMore,"unread-anchor-id":e.unreadAnchorId,"unread-boundary-ts":e.unreadBoundaryTs,"ai-agent-name":o.agentName,"ai-agent-avatar-url":o.agentAvatarUrl,onLoadMore:o.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"]),t.createElementVNode("div",Us,[o.floatVisible?(t.openBlock(),t.createElementBlock("div",zs,[o.approvalReady?(t.openBlock(),t.createBlock(C,{key:0,action:o.approvalTitle,detail:o.approvalDetail,callbacks:o.pendingApproval.callbacks,"agent-name":o.agentName,"agent-avatar-url":o.agentAvatarUrl,onCallback:o.onApprovalCallback},null,8,["action","detail","callbacks","agent-name","agent-avatar-url","onCallback"])):o.pendingForm?(t.openBlock(),t.createBlock(S,{key:o.pendingForm.message&&o.pendingForm.message.id,form:o.pendingForm.form,"agent-name":o.agentName,"agent-avatar-url":o.agentAvatarUrl,onSubmit:o.onFormSubmit},null,8,["form","agent-name","agent-avatar-url","onSubmit"])):o.showFeedback?(t.openBlock(),t.createBlock(k,{key:2,busy:s.feedbackBusy,done:s.feedbackDone,onSubmit:o.onFeedback},null,8,["busy","done","onSubmit"])):(t.openBlock(),t.createBlock(L,{key:3,items:o.suggestions,onSelect:o.onSuggestion},null,8,["items","onSelect"]))],512)):t.createCommentVNode("",!0),o.actionInFlight?(t.openBlock(),t.createElementBlock("div",js,[n[10]||(n[10]=t.createElementVNode("span",{class:"wm-actionWait__spinner","aria-hidden":"true"},null,-1)),t.createElementVNode("span",Hs,t.toDisplayString(o.t("action.inProgress",{name:o.actionInFlightName})),1)])):(t.openBlock(),t.createBlock(b,{key:2,ref:"composer",modelValue:s.draft,"onUpdate:modelValue":n[2]||(n[2]=A=>s.draft=A),placeholder:o.composerPlaceholder,disabled:!!o.pendingApproval,"attach-label":o.t("composer.attachFile"),"display-mode":r.displayMode,onSend:o.onSend,onAttach:o.onAttach},null,8,["modelValue","placeholder","disabled","attach-label","display-mode","onSend","onAttach"]))]),s.moreOpen?(t.openBlock(),t.createBlock(V,{key:0,"can-rename":!!o.currentConv&&!o.currentConv._draft,"can-export":!!o.currentConv&&!o.currentConv._draft,"sound-enabled":e.soundEnabled,"status-url":o.statusUrl,"help-url":o.helpUrl,onClose:n[3]||(n[3]=A=>s.moreOpen=!1),onSoundToggle:e.onSoundToggle,onAction:o.onMoreAction},null,8,["can-rename","can-export","sound-enabled","status-url","help-url","onSoundToggle","onAction"])):t.createCommentVNode("",!0),s.renameDialogOpen&&o.currentConv&&!o.currentConv._draft?(t.openBlock(),t.createBlock(M,{key:1,"initial-value":o.currentConv.name||"",title:o.t("rename.dialogTitle"),onClose:n[4]||(n[4]=A=>s.renameDialogOpen=!1),onSubmit:o.onRenameSubmit},null,8,["initial-value","title","onSubmit"])):t.createCommentVNode("",!0),s.pendingAttachments.length?(t.openBlock(),t.createElementBlock("div",qs,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.pendingAttachments,(A,O)=>(t.openBlock(),t.createElementBlock("div",{key:O,class:"wm-attached__chip"},[n[12]||(n[12]=t.createElementVNode("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[t.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)),t.createElementVNode("span",null,t.toDisplayString(A.name),1),t.createElementVNode("button",{type:"button","aria-label":o.t("attachment.remove"),onClick:U=>s.pendingAttachments.splice(O,1)},[...n[11]||(n[11]=[t.createElementVNode("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[t.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,$s)]))),128))])):t.createCommentVNode("",!0)],64)):(t.openBlock(),t.createBlock(y,{key:2,"welcome-message":o.widgetWelcomeMessage,subtitle:o.widgetSubtitle,"agent-name":o.agentName,"default-icon-url":o.defaultIconUrl,"quick-links":o.quickLinks,"open-threads":o.openThreads,busy:s.busy,onStart:o.startConv,onSelect:o.onQuickLink,onResume:o.onDrawerPick,onViewHistory:n[1]||(n[1]=A=>s.showHistory=!0)},null,8,["welcome-message","subtitle","agent-name","default-icon-url","quick-links","open-threads","busy","onStart","onSelect","onResume"])),s.moreOpen&&!o.currentConv?(t.openBlock(),t.createBlock(V,{key:4,"can-rename":!1,"can-export":!1,"sound-enabled":e.soundEnabled,"status-url":o.statusUrl,"help-url":o.helpUrl,onClose:n[5]||(n[5]=A=>s.moreOpen=!1),onSoundToggle:e.onSoundToggle,onAction:o.onMoreAction},null,8,["sound-enabled","status-url","help-url","onSoundToggle","onAction"])):t.createCommentVNode("",!0)],64))],6)):t.createCommentVNode("",!0)],6)}const Je=N(Ls,[["render",Ks],["__scopeId","data-v-77e30aba"]]),Ws="0.5.53";exports.AIAvatar=H;exports.AVATAR_COLORS=te;exports.ActionResult=xe;exports.ApprovalCard=We;exports.ArtifactFormResponse=Le;exports.ArtifactInfoCard=De;exports.ArtifactRenderer=Ie;exports.ArtifactTicket=Oe;exports.AttachmentPreview=Re;exports.Bubble=Fe;exports.Composer=$e;exports.DEFAULT_BASE_URL=Ee;exports.DEFAULT_LANGUAGE=G;exports.Feedback=Ye;exports.FormCard=Ge;exports.Header=Me;exports.HumanAvatar=Q;exports.Launcher=Ae;exports.MEDIA_RECORDER_SUPPORTED=ie;exports.MessageList=Ue;exports.Messenger=Je;exports.MoreMenu=Xe;exports.Onboarding=Te;exports.SCREEN_CAPTURE_SUPPORTED=J;exports.SUPPORTED_LANGUAGES=Ce;exports.SuggestionChips=Ke;exports.TeamAvatars=Ve;exports.Typing=Pe;exports.VERSION=Ws;exports.avatarColor=oe;exports.avatarInitials=ae;exports.captureScreenshotFile=He;exports.colors=x;exports.createStore=we;exports.createTranslator=T;exports.createTransport=ke;exports.dateLocale=P;exports.default=Je;exports.formatTime=re;exports.guessAttachmentKind=Yo;exports.pickRecorderMime=ze;exports.renderInlineMarkdown=me;exports.renderMarkdown=Ne;exports.resolveLanguage=se;exports.startScreenRecording=qe;exports.tokensCss=be;exports.uuid=ue;exports.v4=ue;