@deepdesk/deepdesk-sdk 18.2.1-beta.14 → 18.2.1-beta.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -7,6 +7,6 @@ Try polyfilling it using "@formatjs/intl-pluralrules"
7
7
  c32.4,32.4,47.8,70,47.8,115.2v70h11.9c9.4,0,17.9,3.4,24.7,10.2C462.1,250,465.5,257.7,465.5,267.9z`})})});import{jsx as Kl}from"react/jsx-runtime";var Rf={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},Wl=({className:t,color:e})=>Kl("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Kl("path",{d:"M172.03 0.0199966H0V86.03C47.5 86.03 86 124.54 86 172.04C86 124.54 124.51 86.03 172.01 86.03C219.51 86.03 258.03 124.54 258.03 172.04C258.03 219.54 219.52 258.05 172.01 258.05C124.5 258.05 86 219.54 86 172.04C86 219.54 47.5 258.05 0 258.05V344.06H172.03C267.04 344.06 344.06 267.04 344.06 172.03C344.06 77.02 267.04 0 172.03 0V0.0199966Z",fill:Rf[e||"pink"]})});var zl={root:"dd-LbeUM",text:"dd-Dpfn1",isLoggedIn:"dd-XvHAn",isLoggedOut:"dd-21y-z",icon:"dd-8rLqS",logo:"dd-slXhD",lock:"dd-ByzlR"};var gr={};q(gr,{enUS:()=>Pf,nlNL:()=>If});var Pf={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},If={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};import{useDispatch as Mf}from"react-redux";import{jsx as fr,jsxs as Vl}from"react/jsx-runtime";var jl=({onLogIn:t})=>{let e=k(gr),n=w("floatingMenu"),o=w("productName"),s=Mf(),r=Af(X),i=S("FloatingMenu",zl);if(r===null||n===!1)return null;let a=()=>{r===!0?s(me(!0)):t()};return Vl("button",{type:"button",className:Lf(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[fr("div",{className:i.text,children:e(r?"search":"signin",{productName:o})}),Vl("div",{className:i.icon,children:[fr(Wl,{className:i.logo,color:"pink"}),r===!1&&fr(Ul,{className:i.lock})]})]})};import{useEffect as th,useRef as nh}from"react";import{useDispatch as oh,useSelector as Bt}from"react-redux";import{useEffect as Nf}from"react";function dt(t){Nf(()=>{let e=n=>{n.isWithinRoot||t(n)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function ct(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}function be(t){let{showMidSentenceSuggestions:e,showSuggestionsBeforePattern:n,showSuggestionsAfterPattern:o}=t.settings,{text:s,selection:r}=t.input;return r.start!==r.end?!1:r.end>=s.length?!0:e?n&&new RegExp(n).test(s.substring(r.end))||o&&new RegExp(o).test(s.substring(0,r.end))?!0:n===!1&&o===!1:!1}import{createSlice as Of}from"@reduxjs/toolkit";var Df={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1},Mo=({ui:t})=>t.overlayCollapsed,$l=Of({name:"ui",initialState:Df,reducers:{setShowTabHint(t,e){t.showTabHint=e.payload},setInputFocus(t,e){t.overlayCollapsedUserOverwrite!==!0&&(e.payload===!0&&(t.overlayCollapsed=!1),t.inputHasFocus=e.payload)},setOverlayCollapsed(t,e){e.payload.collapse===!1&&(t.openOverlayWhenTyping=!1),!(e.payload.skipWhenInputFocus&&t.inputHasFocus)&&(t.overlayCollapsed=e.payload.collapse)},setOpenOverlayWhenTyping(t,e){t.openOverlayWhenTyping=e.payload},setOverlayCollapsedUserOverwrite(t,e){t.overlayCollapsedUserOverwrite=e.payload,t.overlayCollapsed=e.payload}}}),{setShowTabHint:Mn,setInputFocus:No,setOverlayCollapsed:Ge,setOpenOverlayWhenTyping:Gl,setOverlayCollapsedUserOverwrite:ql}=$l.actions,Xl=$l.reducer;import{useMemo as Zf}from"react";import{Interweave as Kf}from"interweave";import{useEffect as Wf,useMemo as zf,useRef as Vf,useState as jf}from"react";import{useDispatch as $f,useSelector as ed}from"react-redux";import{useEffect as _f}from"react";function Jl(t,e,n){_f(()=>{let o=t.current;return o?(o.addEventListener(e,n),()=>{o.removeEventListener(e,n)}):()=>{}},[t,e,n])}var Ql={root:"dd-1MBCO",actions:"dd--x4cy",closeIconContainer:"dd-1z5NR",closeIcon:"dd-8qMF-",badge:"dd-4Fpkz",formattedText:"dd-EzvTB"};import{jsx as Zl,jsxs as Ff}from"react/jsx-runtime";var Yl=({title:t})=>Ff("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18px",height:"18px",viewBox:"0 0 24 24","aria-labelledby":"closeTitle",children:[Zl("title",{id:"closeTitle",children:t}),Zl("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})]});var hr={};q(hr,{enUS:()=>Hf,nlNL:()=>Bf});var Hf={assistant:[{type:0,value:"Assistant"}],close:[{type:0,value:"Close"}]},Bf={assistant:[{type:0,value:"Assistent"}],close:[{type:0,value:"Sluiten"}]};import{jsx as ut,jsxs as Qf}from"react/jsx-runtime";var Gf=["search","personal-collection-search","search-autocomplete"];function qf(t,e,n,o={}){var r;let s="";return Gf.includes(e)?s=Ja(Ys(t,n,{stripAgentPart:!0}),(r=o.searchKeywords)!=null?r:[n]):s=Ys(t,n,o),o.placeholders===!0&&(s=Qa(s)),s}var Xf=()=>{},Jf=({selected:t,suggestion:e})=>{let n=k(hr),o=w("inlineSuggestions"),s=ed(Pt),[r,i]=jf(!1),a=w("enableSuggestionFeedback"),d=ed(h=>h.input.text),l=$f(),c=S("TextSuggestion",Ql),p=Vf(null),u=e.source==="assistant",m=a&&!u;Wf(()=>{let h=setTimeout(()=>{l(Qi({text:e.text,suggestion:e}))},500);return()=>{clearTimeout(h)}},[e]),Jl(p,"click",()=>{l(se({suggestion:e,text:e.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let f=()=>{l(tt({source:e.source,text:e.text,assistantCode:e.assistantCode}))},g=zf(()=>qf(e.text,e.source,s,{stripAgentPart:o,placeholders:!0,searchKeywords:e.searchKeywords}),[o,e.text,e.source,s,e.searchKeywords]);return e.source==="gpt"&&!o?null:Qf("div",{className:c.root,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),children:[ut(M,{ref:p,as:"button","data-testid":"suggestions-overlay-item",selected:t,onClick:Xf,children:ut(Kf,{attributes:e.source==="assistant"?{"data-label":n("assistant")}:void 0,containerTagName:"div",noWrap:!1,tagName:"span",className:c.formattedText,content:g})}),m&&r&&ut("div",{className:c.actions,children:ut(Po,{source:"overlay",context:d,suggestion:e})}),u&&r&&ut("div",{className:c.closeIconContainer,children:ut("button",{type:"button",className:c.closeIcon,onClick:f,title:n("close"),children:ut(Yl,{title:n("close")})})})]})},td=Jf;import{jsx as eh}from"react/jsx-runtime";var Yf=({suggestions:t,selectedIndex:e,reverse:n})=>Zf(()=>{let s=t.map((r,i)=>eh(td,{index:i,selected:i===e,suggestion:r},`${r.text}-${r.source}`));return n?s.reverse():s},[t,e,n]),Oo=Yf;var nd={root:"dd-PfvRI",paper:"dd-HYlyY"};import{jsx as Do}from"react/jsx-runtime";var sh=()=>{let t=nh(null),e=S("InlineSuggestionsOverlay",nd),n=Bt(be),o=oh(),s=Bt(X),r=Bt(Rt),i=Bt(Mo),a=w("showTextSuggestions"),d=Bt(et),l=Bt(dn);return dt(()=>{setTimeout(()=>{o(Ge({collapse:!0,skipWhenInputFocus:!0}))})}),th(()=>{let c=t.current;if(!c||!c.parentElement)return;c.parentElement.style.left="0px";let p=c.getBoundingClientRect();c.parentElement.style.left=`${Math.min(window.innerWidth-4-p.right,0)}px`}),i||!n||!a||d.length===0||s!==!0||r===!1?null:Do("div",{className:e.root,"data-variant":"inline",children:Do("div",{ref:t,className:e.paper,children:Do(te,{children:Do(Oo,{suggestions:d,selectedIndex:l})})})})},od=sh;import{Provider as rh}from"react-redux";import{jsx as _o}from"react/jsx-runtime";var ih=({children:t})=>{let n=w("locale").replace("-","");return _o($s.Provider,{value:n,children:t})},ah=({store:t,customStyles:e={},children:n})=>_o(rh,{store:t,children:_o(ih,{children:_o(sn.Provider,{value:e,children:n})})}),Oe=ah;import br from"classnames";import{useEffect as Sh,useRef as xh,useState as bh}from"react";import{useDispatch as Ch,useSelector as pt}from"react-redux";import{useState as lh}from"react";function sd(t,e){let[n,o]=lh(()=>{if(typeof window=="undefined")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return E.error(r),e}});return[n,r=>{try{let i=r instanceof Function?r(n):r;o(i),typeof window!="undefined"&&window.localStorage.setItem(t,JSON.stringify(i))}catch(i){E.error(i)}}]}var rd=()=>/Mac/i.test(navigator.platform);import uh from"classnames";import{Fragment as ph,useCallback as vr,useMemo as ad}from"react";var yr={};q(yr,{enUS:()=>dh,nlNL:()=>ch});var dh={loginPlease:[{type:8,value:"login",children:[{type:0,value:"Sign in"}]},{type:0,value:" to enable "},{type:1,value:"productName"},{type:0,value:"."}],snooze:[{type:0,value:"Snooze for "},{type:8,value:"min",children:[{type:0,value:"10 minutes"}]},{type:0,value:", "},{type:8,value:"hour",children:[{type:0,value:"1 hour"}]},{type:0,value:" or "},{type:8,value:"day",children:[{type:0,value:"1 day"}]}]},ch={loginPlease:[{type:8,value:"login",children:[{type:0,value:"Log in"}]},{type:0,value:" bij "},{type:1,value:"productName"},{type:0,value:"."}],snooze:[{type:0,value:"Snooze voor "},{type:8,value:"min",children:[{type:0,value:"10 minuten"}]},{type:0,value:", "},{type:8,value:"hour",children:[{type:0,value:"1 uur"}]},{type:0,value:" of "},{type:8,value:"day",children:[{type:0,value:"1 dag"}]}]};var id={root:"dd-uTPjX",anchor:"dd-C8lsZ",anchorButton:"dd-IoSx9"};import{jsx as Fo,jsxs as ld}from"react/jsx-runtime";var Sr=(t,e,n)=>o=>Fo("button",{className:t.anchorButton,type:"button",value:e,onClick:n,children:o},e),mh=({className:t,loginUrl:e,isEmbedded:n,onSnooze:o,onLogIn:s})=>{let r=k(yr),i=ne(),a=S("Login",id),d=w("productName"),l=vr(h=>{h.preventDefault(),o&&o(Number.parseInt(h.target.value,10))},[]),c=vr(h=>{h.preventDefault(),i.send(Nt,!0)},[e]),p=ad(()=>h=>Fo("a",{onClick:T=>{T.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:h},"login"),[e]),u=vr(h=>Fo("button",{type:"button",className:a.anchorButton,onClick:c,children:h},"prompt"),[c]),{min:m,hour:f,day:g}=ad(()=>({min:Sr(a,600,l),hour:Sr(a,3600,l),day:Sr(a,3600*12,l)}),[]);return ld("div",{className:uh(t,a.root),children:[r("loginPlease",{login:n?u:p,productName:d}),o&&ld(ph,{children:[Fo("br",{}),r("snooze",{min:m,hour:f,day:g})]})]})},Ho=mh;import{useDispatch as gh}from"react-redux";var dd={root:"dd-DoQhb",text:"dd-Jwnev"};import{jsx as cd,jsxs as hh}from"react/jsx-runtime";var fh=({title:t})=>{let e=S("SearchTrigger",dd),n=gh(),o=W();return hh("button",{type:"button",className:e.root,onClick:()=>{n(me(!0)),o("open search",{via:"autocomplete-overlay"})},children:[cd(_t,{}),cd("span",{className:e.text,children:t})]})},ud=fh;var xr={};q(xr,{enUS:()=>yh,nlNL:()=>vh});var yh={arrowHint:[{type:0,value:"Tip: use arrow keys to navigate suggestions"}],searchHintWindows:[{type:0,value:"Press CTRL+"},{type:1,value:"searchTriggerKey"},{type:0,value:" to search"}],searchHintMac:[{type:0,value:"Press CMD+"},{type:1,value:"searchTriggerKey"},{type:0,value:" to search"}],open:[{type:0,value:"Open "},{type:1,value:"productName"}],collapse:[{type:0,value:"Close"}],search:[{type:0,value:"Search"}]},vh={arrowHint:[{type:0,value:"Tip: Selecteer suggesties met pijltoetsen"}],searchHintWindows:[{type:0,value:"Druk CTRL+"},{type:1,value:"searchTriggerKey"},{type:0,value:" om te zoeken"}],searchHintMac:[{type:0,value:"Druk CMD+"},{type:1,value:"searchTriggerKey"},{type:0,value:" om te zoeken"}],open:[{type:0,value:"Open "},{type:1,value:"productName"}],collapse:[{type:0,value:"Sluiten"}],search:[{type:0,value:"Zoeken"}]};var pd={root:"dd-oa7Vc",isInline:"dd-bwk31",toggleButton:"dd-MSB8Z",toggleButtonWrapper:"dd-ZkCzT",toggleButtonWrapperHidden:"dd-Sq66c",isCollapsed:"dd-vkrPk",collapsible:"dd-CWQJe",hints:"dd-IOoo3",hintsHidden:"dd-psVuT",triggers:"dd-toIoo",triggersRight:"dd-mc4l2"};import{jsx as J,jsxs as Nn}from"react/jsx-runtime";var Th=({onLogIn:t})=>{let e=S("SuggestionsOverlay",pd),n=k(xr),o=pt(be),s=pt(Ji),r=Ch(),i=xh(null),a=w("searchTriggerKey"),d=w("productName"),l=pt(Mo),c=pt(X),p=pt(Rt),[u,m]=bh(null),f=w("showSearch"),g=w("showTextSuggestions"),h=w("adminUrl"),C=w("isEmbedded"),T=w("suggestionsPlacement"),[b,R]=sd("dd-snooze-until-ms",0),I=l||b>Date.now(),O=pt(et),_=pt(dn),K=O.filter(N=>N.source!=="gpt").length,ae=()=>{I&&R(0),r(ql(!I))},Re=N=>{let U=Date.now()+N*1e3;R(U),E.info(`Snooze until: ${new Date(U)}`),r(Ge({collapse:!0}))};return Sh(()=>{K===0&&m(null)},[O,K]),dt(()=>{r(Ge({collapse:!0,skipWhenInputFocus:!0}))}),c===null||p===!1?null:c===!1?Nn("div",{ref:i,className:br(e.root,{[e.isCollapsed]:I}),children:[!I&&Nn("div",{className:e.triggers,children:[J("div",{style:{flex:1}}),J("div",{className:e.triggersRight,children:J(Ct,{className:e.toggleButton,title:n("collapse"),onClick:ae,isCollapsed:!1})})]}),J("div",{className:e.toggleButtonWrapper,children:J(Ct,{className:e.toggleButton,title:n("open",{productName:d}),onClick:ae,isCollapsed:!0})}),J("div",{className:e.collapsible,children:J(Ho,{loginUrl:h,isEmbedded:C,onLogIn:t,onSnooze:Re})})]}):!s||!o?null:Nn("div",{ref:i,className:br(e.root,{[e.isCollapsed]:I}),children:[!I&&Nn("div",{className:e.triggers,children:[J("div",{style:{flex:1},children:f&&J("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>m(n(rd()?"searchHintMac":"searchHintWindows",{searchTriggerKey:a.toUpperCase()})),onMouseLeave:()=>m(null),children:J(ud,{title:n("search")})})}),Nn("div",{className:e.triggersRight,onFocus:()=>{},children:[J("div",{className:br(!u&&e.hintsHidden,e.hints),children:u}),J(Ct,{className:e.toggleButton,title:n("collapse"),onClick:ae,isCollapsed:!1})]})]}),J("div",{className:e.toggleButtonWrapper,children:J(Ct,{className:e.toggleButton,title:n("open",{productName:d}),onClick:ae,isCollapsed:!0})}),K>0&&g&&J("div",{className:e.collapsible,onFocus:()=>{},children:J(te,{children:J(Oo,{suggestions:O,selectedIndex:_,reverse:T==="above"})})})]})},md=Th;import Mr from"classnames";import{Interweave as by}from"interweave";import{useCallback as Cy,useEffect as Ty,useMemo as Hd,useRef as wy}from"react";import{connect as Ey}from"react-redux";import{useEffect as wh,useRef as Eh,useState as kh}from"react";function Bo(t){return t.contentEditable==="true"}function Rh(t){let e=0,n=0,o=window.getSelection();if(o.rangeCount!==0){let s=o.getRangeAt(0),r=s.cloneRange();r.selectNodeContents(t),r.setEnd(s.endContainer,s.endOffset),n=r.toString().length,r.selectNodeContents(t),r.setEnd(s.startContainer,s.startOffset),e=r.toString().length}return{selectionStart:e,selectionEnd:n}}function gd(t){let{selectionStart:e,selectionEnd:n}=Bo(t)?Rh(t):t;return[e,n]}function fd(t){let[,e]=kh(),n=Eh(null);return n.current=gd(t),wh(()=>{let o=()=>{var a;let[s,r]=(a=n.current)!=null?a:[],i=gd(t);(!i||s!==i[0]||r!==i[1])&&(n.current=i,e({}))};return t.addEventListener("keyup",o),t.addEventListener("click",o),t.addEventListener("focus",o),document.addEventListener("selectionchange",o),()=>{t.removeEventListener("keyup",o),t.removeEventListener("click",o),t.removeEventListener("focus",o),document.removeEventListener("selectionchange",o)}},[t]),n.current}function hd(t,e){if(!e)return;let n=t,{value:o}=n,[s,r]=e,i=o.match(Xn);if(!i||i.length===0)return;let a=0;i.find(d=>{let l=o.indexOf(d,a);return s>l&&r<l+d.length?(n.selectionStart=l,n.selectionEnd=l+d.length,!0):(a=l+d.length,!1)})}import{cloneElement as Ph}from"react";var Ih=["div","span","mark","strong","b","i","u","em"];function Cr(t,e,n=0){var r;let o=t[t.length-1],s=typeof o=="object"&&o!==null?(r=o.props)==null?void 0:r.tagName:void 0;if(s==="br")return t.pop(),[...t,...e,o];if(Ih.includes(s)){let i=Array.isArray(o.props.children)?o.props.children:[o.props.children];return[...t.slice(0,t.length-1),Ph(o,{children:Cr(i,e,n+1)})]}return[...t,...e]}function mt(t){return t.tagName.toLowerCase()==="textarea"}var yd={root:"dd-7-cgW",container:"dd-PsRQ8",agentText:"dd-qnW-V",tabText:"dd-cUHUr",hint:"dd-v7fSg",matchSelection:"dd-8cr8y",focus:"dd-3tr9l",resetIndent:"dd-TvQfZ",matchKeyword:"dd-oJkRD",matchPlaceholder:"dd-QvNoo",hover:"dd--wi0R",hintText:"dd-7gQQh",popover:"dd-xbRu-",popoverRoot:"dd-rA2x8",popoverContentContainer:"dd-JHICl",popoverContent:"dd--mfkC",selectionOptions:"dd-p52wn",selectionOptionsIsHidden:"dd-sSTDp",selectionOptionsButton:"dd-Q6kRY",caret:"dd-jIhc8",popoverSuggestionsRoot:"dd-iFDbL",suggestionsOverlayInputStyles:"dd-zzENA"};import Xh from"classnames";import{Matcher as Jh}from"interweave";import{useEffect as Qh,useMemo as Zh}from"react";import{useEffect as Lh,useRef as Ah,useState as Mh}from"react";function vd(t,e){let n;return[(...o)=>{window.cancelAnimationFrame(n);let s=e?e(...o):o;n=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(n)]}function Uo(t){let e=Ah(null),[n,o]=Mh(!1);return Lh(()=>{var c;let s=!1,r=Number.parseFloat((c=window.getComputedStyle(document.body).zoom)!=null?c:"1"),[i,a]=vd((p,u)=>{let m=e.current;if(!m)return;let f=p/r,g=u/r,h=m.getBoundingClientRect(),C=f>h.x&&f<h.x+h.width&&g>h.y&&g<h.y+h.height;C&&!s?(s=!0,o(!0)):!C&&s&&(s=!1,o(!1))},({clientX:p,clientY:u})=>[p,u]),[d,l]=vd(()=>{s=!1,o(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",d),()=>{a(),l(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",d)}},[e]),[e,n]}function Sd(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function Ko(t){return e=>{t.forEach(n=>{typeof n=="function"?n(e):n!=null&&(n.current=e)})}}function xd(t){return t!=null}import Ed from"classnames";import{createRef as Wh,useCallback as wr,useMemo as zh,useRef as Vh,useState as jh}from"react";import{useState as Nh,useLayoutEffect as Oh}from"react";var Dh=["bottom","height","left","right","top","width"],_h=(t={},e={})=>Dh.some(n=>t[n]!==e[n]),De=new Map,bd,Cd=()=>{let t=[],e=[];De.forEach((n,o)=>{if(o instanceof Element&&!o.isConnected){e.push(o);return}let s=o.getBoundingClientRect();_h(s,n.rect)&&(n.rect=s,t.push(n))}),e.forEach(n=>{De.delete(n)}),t.forEach(n=>{n.callbacks.forEach(o=>o(n.rect))}),bd=window.requestAnimationFrame(Cd)};function Fh(t,e){return{observe(){let n=De.size===0;if(De.has(t)){let o=De.get(t);o.callbacks.push(e),o.rect&&e(o.rect)}else De.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});n&&Cd()},unobserve(){let n=De.get(t);if(n){let o=n.callbacks.indexOf(e);o>=0&&n.callbacks.splice(o,1),n.callbacks.length||De.delete(t),De.size||cancelAnimationFrame(bd)}}}}function Tr(t){let[e,n]=Nh(null);return Oh(()=>{if(!t.current)return;let o=Fh(t.current,s=>{n(s)});return o.observe(),()=>{o.unobserve()}},[t]),e}import{useContext as Hh,useLayoutEffect as Bh,useState as Uh}from"react";import{createPortal as Kh}from"react-dom";var Td={root:"dd-r-dgo"};var wd=({children:t,parentNode:e})=>{let[n,o]=Uh(null),s=Hh(sn);return Bh(()=>{let r=document.createElement("div");return ct(r),r.classList.add(Td.root),s!=null&&s.portalRootNode&&r.classList.add(s==null?void 0:s.portalRootNode),(e||document.body).appendChild(r),o(r),()=>{r.isConnected&&r.remove()}},[]),n?Kh(t,n):null};var Ce={ref:"dd-iz-KP",root:"dd-vEMon",positionAbove:"dd-mUCxM",positionBelow:"dd-7oZI7",positionLeft:"dd-BiWvD",positionRight:"dd-JIWea",alignStart:"dd-5ivu6",alignCenter:"dd-rnVkP",alignEnd:"dd-gZBp4"};import{jsx as Er}from"react/jsx-runtime";var Wo=(t=!1)=>{let[e,n]=jh(t),o=wr(()=>n(!0),[]),s=wr(()=>n(!1),[]),r=wr(()=>n(a=>!a),[]),i=Vh(null);return{opened:e,open:o,close:s,toggle:r,triggerRef:i}};function kr(t,e=null,n=0){if(!t)return{display:"none"};let o=e?t.top-e.top<0||t.top<e.top-n?e.top-n:t.top+t.height>e.top+e.height+n?e.top+e.height+n-t.height:t.top:t.top,s=e?t.left<e.left-n?e.left-n:t.left+t.width>e.left+e.width+n?e.left+e.width+n-t.width:t.left:t.left;return{top:o,left:s,height:t.height,width:t.width}}var Ut=l=>{var c=l,{className:t,triggerRef:e,boundaryRef:n=Wh(),position:o="above",align:s="center",children:r,toStyle:i=kr,parentNode:a}=c,d=A(c,["className","triggerRef","boundaryRef","position","align","children","toStyle","parentNode"]);let p=Tr(e),u=Tr(n),m=zh(()=>i(p,u,0),[p,u]);return Er(wd,{parentNode:a,children:Er("div",x(y({className:Ed(Ce.ref,{[Ce.positionAbove]:o==="above",[Ce.positionBelow]:o==="below",[Ce.positionLeft]:o==="left",[Ce.positionRight]:o==="right",[Ce.alignStart]:s==="start",[Ce.alignCenter]:s==="center",[Ce.alignEnd]:s==="end"}),style:m},d),{role:"dialog",children:Er("div",{className:Ed(t,Ce.root),children:r})}))})};import $h from"classnames";import{forwardRef as Gh,useRef as qh}from"react";var _e={root:"dd-7-cgW",container:"dd-PsRQ8",agentText:"dd-qnW-V",tabText:"dd-cUHUr",hint:"dd-v7fSg",matchSelection:"dd-8cr8y",focus:"dd-3tr9l",resetIndent:"dd-TvQfZ",matchKeyword:"dd-oJkRD",matchPlaceholder:"dd-QvNoo",hover:"dd--wi0R",hintText:"dd-7gQQh",popover:"dd-xbRu-",popoverRoot:"dd-rA2x8",popoverContentContainer:"dd-JHICl",popoverContent:"dd--mfkC",selectionOptions:"dd-p52wn",selectionOptionsIsHidden:"dd-sSTDp",selectionOptionsButton:"dd-Q6kRY",caret:"dd-jIhc8",popoverSuggestionsRoot:"dd-iFDbL",suggestionsOverlayInputStyles:"dd-zzENA"};import{jsx as kd}from"react/jsx-runtime";var zo=Gh((s,o)=>{var r=s,{className:t,children:e}=r,n=A(r,["className","children"]);let i=qh(null),a=S("TabCompletion",_e);return kd("div",x(y({ref:Ko([i,o]),className:$h(t,a.popoverContentContainer)},n),{children:kd("div",{className:a.popoverContent,children:e})}))});import{jsx as On,jsxs as ty}from"react/jsx-runtime";var Yh=t=>e=>{let n=kr(e);return"top"in n&&(n.width=t.width-(e.left-t.left)-10),n},ey=({inputElement:t,boundaryRef:e,inputStyle:n,children:o,suggestion:s})=>{let r=S("TabCompletion",_e),i=Wo(),a=Zh(()=>Yh(t.getBoundingClientRect()),[t]),[d,l]=Uo(t);return Qh(()=>{l?i.open():i.close()},[l]),ty("span",{children:[On("mark",{ref:Ko([d,i.triggerRef]),className:Xh(r.matchKeyword,{[r.hover]:l}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:o}),i.opened&&On(Ut,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:On(zo,{style:n,children:On("div",{className:r.hintText,children:s})})})]})},Vo=class extends Jh{constructor(){super(...arguments);this.keywordMatches=[];this.preparedKeywordMatches=[];this.usedKeywordMatches=new Set}onBeforeParse(n,o){return o.keywordMatches&&o.keywordMatches!==this.keywordMatches&&(this.preparedKeywordMatches=o.keywordMatches.map(s=>x(y({},s),{keywordRegex:new RegExp(`\\b${Sd(s.keyword)}\\b`,"i")})),this.keywordMatches=o.keywordMatches),this.usedKeywordMatches.clear(),n}match(n){let o=this.preparedKeywordMatches.map(r=>{if(this.usedKeywordMatches.has(r))return null;let i=n.match(r.keywordRegex);if(!i)return null;let a=n.charAt(i.index-1),d=n.charAt(i.index+r.keyword.length);return a==="{"&&d==="}"?null:{index:i.index,length:i[0].length,match:i[0],matchString:i[0],suggestion:r.suggestion,preparedKeywordMatch:r,valid:!0}}).filter(xd);if(o.length===0)return null;let s=o.reduce((r,i)=>i.index<r.index?i:r);return this.usedKeywordMatches.add(s.preparedKeywordMatch),s}replaceWith(n,o){return On(ey,{inputElement:o.inputElement,suggestion:o.suggestion,inputStyle:o.inputStyle,boundaryRef:o.boundaryRef,children:n},`keyword_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import{Matcher as ny}from"interweave";import oy from"classnames";import{jsx as Rd}from"react/jsx-runtime";var sy=({inputElement:t,children:e})=>{let n=S("TabCompletion",_e),[o,s]=Uo(t);return Rd("mark",{ref:o,className:oy(n.matchPlaceholder,{[n.hover]:s}),children:e})},jo=class extends ny{match(e){let n=e.match(/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\}(?!\}))/);return n?{index:n.index,length:n[0].length,match:n[0],matchString:n[0],valid:!0}:null}replaceWith(e,n){return Rd(sy,{inputElement:n.inputElement,children:e},`placeholder_${n.matchString}_${n.key}`)}asTag(){return"mark"}};import Ar from"classnames";import{Matcher as gy}from"interweave";import{createRef as fy,forwardRef as hy,useCallback as yy,useEffect as Dd,useRef as _d,useState as Fd}from"react";import{useDispatch as vy}from"react-redux";import{jsx as Pd}from"react/jsx-runtime";var Id=()=>Pd("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:Pd("path",{fill:"currentColor",d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"})});import{useCallback as ry,useEffect as Ad,useMemo as iy,useState as Md}from"react";import{useDispatch as ay,useSelector as Nd}from"react-redux";import ly from"lodash.debounce";var Ld={root:"dd-ky-Bv",content:"dd-kV5e1"};function $o(t,e,n){var s;let o=((s=t.imageSizes)==null?void 0:s[e])||t.image||n;if(!o)return null;try{return new URL(o).toString()}catch(r){return null}}function Rr(t){return t.replace("https://www.","").replace("https://","")}import{jsx as gt,jsxs as Pr}from"react/jsx-runtime";var dy=3,cy=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),uy=({onSelectLink:t,onDismiss:e,placeholder:n,visitUrlText:o,linkCount:s=dy})=>{let r=S("LinkSearch",Ld),[i,a]=Md(""),d=ay(),l=Nd(Ll("url")),c=Nd(xa("URL")),p=iy(()=>c.map(cy),[c]),[u,m]=Md(p.length-1),f=w("fallbackImage"),g=b=>{let R=b.target;a(R.value)},h=(b,R)=>{b.stopPropagation(),b.preventDefault(),window.open(R,"_blank")},C=b=>{var O;let R=u-1<0?p.length-1:u-1,I=u+1===p.length?0:u+1;b.code==="Escape"&&(a(""),e()),b.code==="ArrowUp"&&m(R),b.code==="ArrowDown"&&m(I),b.code==="Enter"&&t(((O=p[u])==null?void 0:O.text)||i)},T=ry(ly(b=>{d(ot({query:b,type:"URL",tags:["link-search"]}))},300),[]);return Ad(()=>{i&&T(i)},[i]),Ad(()=>()=>{d(lo())},[]),Pr("div",{className:r.root,children:[gt(te,{withDivider:!0,children:(i?p:l).slice(0,s).map((b,R)=>gt(M,{selected:u===R,onClick:()=>t(b.text),"data-testid":"linksearch-suggestion",children:Pr(D,{children:[gt(D.Image,{src:$o(b,"small",f||void 0),title:b.title||b.text}),Pr(D.Content,{className:r.content,cropText:!0,children:[gt(D.Title,{children:b.title||Rr(b.text)}),b.title&&Rr(b.text)]}),gt(M.Actions,{children:gt(M.ActionButton,{label:o,onClick:I=>h(I,b.text)})})]})},b.text))}),gt(Tn,{value:i,onChange:g,autoFocus:!0,placeholder:n,onKeyUp:C})]})},Od=uy;var Ir={};q(Ir,{enUS:()=>py,nlNL:()=>my});var py={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}]},my={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}]};import{jsx as Te,jsxs as Lr}from"react/jsx-runtime";var Sy=hy((t,e)=>{let n=S("TabCompletion",_e);return Te("mark",{ref:e,className:Ar(n.matchSelection)},"selection-start")}),xy=({startRef:t,boundaryRef:e,inputStyle:n,inputElement:o,children:s})=>{let r=k(Ir),i=S("TabCompletion",_e),a=_d(null),d=_d(null),[l,c]=Fd(null),p=vy(),u=Wo(document.activeElement===o),[m]=Fd(()=>document.createRange());u.triggerRef.current=m,Dd(()=>()=>m.detach(),[]),Dd(()=>{let g=t.current,h=a.current;!g||!h||(m.setStart(g,0),m.setEnd(h,0))},[t.current,a.current]),dt(()=>{u.close()});let f=yy(g=>{let h=m.toString(),C=/^http(s?):\/\//.test(g)?g:`https://${g}`,T=`[${h}](${C})`;p(se({text:T,suggestion:{text:T,source:"search-url",type:"url"},eventMetrics:{inputType:"mouse"},replace:"selection"}))},[]);return Lr("span",{children:[Te("mark",{ref:a,className:Ar(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":u.opened?"true":"false",children:s}),u.opened&&Te(Ut,{className:i.popoverRoot,triggerRef:u.triggerRef,boundaryRef:e,position:"above",align:"start",children:Lr(zo,{style:n,ref:d,children:[Te("div",{className:Ar(i.selectionOptions,{[i.selectionOptionsIsHidden]:l!==null}),children:Lr("button",{type:"button",tabIndex:l===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>c("insertLink"),children:[Te(Id,{}),Te("span",{children:"\xA0"}),Te("span",{children:r("insertLink")})]})}),l==="insertLink"&&Te(Od,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:f,onDismiss:()=>{c(null),u.close()}})]})})]},"selection-end")},Go=class extends gy{constructor(){super(...arguments);this.charCount=0;this.foundIndex=0;this.startRef=null}onBeforeParse(n,o){return this.props=o,this.charCount=0,this.startRef=fy(),this.foundIndex=0,n}match(n){if(!this.props||this.props.selection===null||this.foundIndex===2)return null;let[o,s]=this.props.selection;if(o===s)return null;let r=this.foundIndex===0?o:s,i=r>=this.charCount&&r<=this.charCount+n.length?{index:r-this.charCount,length:0,match:"",valid:!0}:null;i&&this.foundIndex++;let a=this.foundIndex===1;return i&&a?this.charCount+=r-this.charCount:this.charCount+=n.length,i?y({isStart:a},i):null}replaceWith(n,o){return o.isStart?Te(Sy,{ref:this.startRef}):Te(xy,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};import{useSelector as ky}from"react-redux";import{jsx as Kt,jsxs as Iy}from"react/jsx-runtime";var Ry=({enabled:t,content:e,tabText:n,showTabHint:o,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:d})=>{let l=S("TabCompletion",yd),c=w("insertLink"),p=w("showMidSentenceSuggestions"),u=w("inlineSuggestions"),m=fd(a),f=wy(null),g=ky(X);Ty(()=>{mt(a)&&m&&hd(a,m)},[m]);let h=Cy(b=>{if(!s||!n)return b;let R=[Kt("span",{className:l.resetIndent,children:"\u200B"},"u200B"),Kt("span",{"data-testid":"tab-completion",className:Mr(l.tabText,l.resetIndent),"data-source":d,children:n},"tabText")];return o&&R.push(Kt("span",{className:Mr(l.hint,l.resetIndent),children:Kt(ws,{keyCode:"tab"},"tabHint")},"tabHint")),Cr(b,R)},[s,n,o]),C=Hd(()=>{let b=[];return c&&b.push(new Go("selection")),b.push(new jo("placeholders")),r&&b.push(new Vo("keywords")),b},[u,c,r]),T=Hd(()=>{let b=window.getComputedStyle(a);return{"--dd-color":b.color,"--dd-font-size":b.fontSize,"--dd-font-family":b.fontFamily,"--dd-font-variant":b.fontVariant}},[]);return!t||!g?null:Iy("div",{ref:b=>{b!=null&&b.parentElement&&(f.current=b==null?void 0:b.parentElement)},className:l.root,style:T,children:[Kt(by,{tagName:"span",containerTagName:"div",className:Mr(l.container,l.agentText),disableLineBreaks:mt(a),content:e||"\u200B",onAfterParse:h,matchers:C,selection:m,keywordMatches:i,inputElement:a,inputStyle:T,boundaryRef:f,inlineSuggestionsOnlyAtEnd:!p}),Kt("br",{})]},"tab-completion")},Py=t=>{var h,C,T;let{input:e,ui:n,settings:o,styleSuggestions:s,conversation:r}=t,i=It({input:e}),a=(i==null?void 0:i.text)||"",d=(i==null?void 0:i.source)||"",l=(h=e.html)!=null?h:Pn(e.text),c=a.indexOf(e.text)===0?a.slice(e.text.length):"",{showTabHint:p}=n,{isSupported:u}=r,{showTabCompletion:m,visible:f,showStyleSuggestions:g}=o;return{showTabHint:p,showStyleSuggestions:g,showTabCompletion:m&&be(t),content:l,tabText:c,source:d,keywordMatches:(T=(C=s.list)==null?void 0:C.keywordMatches)!=null?T:[],enabled:f&&u!==!1}},Bd=Ey(Py)(Ry);import{Fragment as Xv,useEffect as Gr,useState as Jv}from"react";import{useDispatch as Uc,useSelector as Z}from"react-redux";import{createAction as Wd,createAsyncThunk as zd,createSlice as Ay}from"@reduxjs/toolkit";import{Marked as Ly}from"marked";var Ud=(t,e)=>{let n=[],o=new Ly,s=r=>{r.type==="code"&&r.lang===e&&n.push(r.text)};return o.use({walkTokens:s}),o.parse(t),n};var Kd={cues:[],threads:{},pending:[]},Vd=t=>{var e;return(e=t.assistants)==null?void 0:e.cues};var jd=t=>e=>{var n,o;return(o=(n=e.assistants)==null?void 0:n.threads[t])!=null?o:null},qo=Wd("assistants/callToAction"),Dn=zd("assistants/evaluateKnowledgeAssistant",(t,e)=>v(null,null,function*(){var l;let{threadId:n}=t,{onNewThreadId:o}=t,{deepdeskAPI:s}=e.extra,r=e.getState(),{platformVariables:i}=r.info;n||(n=(yield s.createAssistantThread({assistantCode:t.assistantCode})).id,o&&o(n)),yield s.postMessageToAssistantThread({assistantCode:t.assistantCode,threadId:n,message:t.input});let a=yield e.dispatch(we(x(y({skipState:!0},t),{input:{},threadId:n})));if(a.error)throw new Error(a.error.message);let d=a.payload.output[0];return{threadId:n,question:t.input,evaluationId:a.payload.evaluationId,answer:{answer:pe(d.response,i!=null?i:{}),sources:(l=d.sources)!=null?l:[]}}})),rM=Wd("assistants/extractedTextSuggestions"),we=zd("assistants/evaluate",(t,e)=>v(null,null,function*(){var g;let{deepdeskAPI:n,dynamicThunkObject:o}=e.extra,{transcript:s,input:r={},threadId:i}=t,a=e.getState(),{platformVariables:d}=a.info,l=(g=a.conversation.current)==null?void 0:g.externalId,c;if(s==="in-memory-transcript"){if(!o.conversationQuery)throw new Error("Can't include in-memory-transcript, setConversationQuery is not defined");c=yield o.conversationQuery()}else Array.isArray(s)&&(c=s);if(t.includeMetadata){if(!a.conversation.current)throw new Error("Can't include metadata, no current conversation");let{metadata:h}=a.conversation.current;Object.assign(r,{metadata:h})}let p=yield n.evaluateAssistant(t.assistantCode,{input:r,transcript:c,externalConversationId:l,threadId:i});if(p.evaluationStatus!=="success")return e.rejectWithValue(`Assistant ${t.assistantCode} evaluation failed: ${p.evaluationStatus}`);let m=(Array.isArray(p.output)?p.output:[p.output]).map(h=>x(y({},h),{name:pe(h.name,d),response:pe(h.response,d)})),f=[];return m.forEach(h=>{let C=Ud(h.response,"reply");f.push(...C.map(T=>({text:T,type:"text",source:"assistant",assistantCode:h.code,sourceLabel:h.name})))}),f.length>0&&e.dispatch(Lt(f)),x(y({},p),{output:m})})),$d=Ay({name:"assistants",initialState:Kd,reducers:{resetCues(t){t.cues=[]},removeCueByCode(t,e){t.cues=t.cues.filter(n=>n.code!==e.payload.code)},removeThreadById(t,e){delete t.threads[e.payload]},receiveChunk(t,e){let{code:n,name:o,payload:s,evaluationId:r}=e.payload,i=t.cues.findIndex(a=>a.code===n);i!==-1?t.cues[i].response+=s.text:t.cues.push({code:n,name:o,evaluationId:r,response:s.text})},userNotification(t,e){let n=t.cues.filter(d=>d.code!==e.payload.code),{code:o,name:s,evaluationId:r,payload:i}=e.payload,{callToAction:a}=i;t.cues=[...n,{code:o,name:s,evaluationId:r,response:i.message,editable:i.editableMessage,callToAction:a&&{label:a.displayName,event:a.onClickEvent,value:a.eventPayload}}]}},extraReducers:t=>{t.addCase(we.pending,(e,n)=>{e.pending.includes(n.meta.arg.assistantCode)&&E.warn(`Assistant ${n.meta.arg.assistantCode} already evaluating`),e.pending.push(n.meta.arg.assistantCode)}).addCase(we.rejected,(e,n)=>{var s;E.warn((s=n.error)==null?void 0:s.message);let o=e.pending.indexOf(n.meta.arg.assistantCode);o!==-1&&e.pending.splice(o,1)}).addCase(we.fulfilled,(e,n)=>{let o=e.pending.indexOf(n.meta.arg.assistantCode);if(o!==-1&&e.pending.splice(o,1),n.meta.arg.skipState)return;let{evaluationId:s,output:r}=n.payload,i=r.map(l=>l.code),a=e.cues.filter(l=>!i.includes(l.code)),d=r.map(l=>x(y({},l),{evaluationId:s}));e.cues=[...a,...d]}).addCase(Dn.fulfilled,(e,n)=>{let r=n.payload,{threadId:o}=r,s=A(r,["threadId"]);e.threads[o]=[...e.threads[o]||[],s]}).addCase(V,()=>Kd)}}),{removeCueByCode:Xo,resetCues:iM,removeThreadById:Gd,receiveChunk:qd,userNotification:Xd}=$d.actions,Jd=$d.reducer;import{createAsyncThunk as Qd,createSlice as My}from"@reduxjs/toolkit";var Ny={token:null,interval:null},Nr=Qd("passwordlessToken/getTemporaryPasswordlessToken",(t,e)=>v(null,null,function*(){let{deepdeskAPI:n}=e.extra;return{token:yield n.requestPasswordlessToken()}})),Or=Qd("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:n=1e3*60*10}=t,{dispatch:o}=e;return o(Nr()),setInterval(()=>o(Nr()),n)}),Zd=My({name:"passwordlessToken",initialState:Ny,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(Nr.fulfilled,(e,n)=>{e.token=n.payload.token}),t.addCase(Or.fulfilled,(e,n)=>{e.interval=n.payload})}}),{stopPollPasswordlessToken:Yd}=Zd.actions,ec=Zd.reducer;import{createSelector as Oy}from"@reduxjs/toolkit";function Dy(t){let e=0;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n),e|=0;return e}var tc=Oy([Vd],t=>t.map(n=>({text:n.response,title:n.name,callToAction:n.callToAction,editable:n.editable,isLoading:n.isLoading,evaluationId:n.evaluationId,rule:{id:Dy(n.code),label:n.code,name:n.name,description:n.name}})));import{useEffect as _y,useState as Fy}from"react";import sc from"classnames";import{jsx as nc}from"react/jsx-runtime";var Wt=()=>nc("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:nc("path",{d:"M502.6 70.63l-61.25-61.25C435.4 3.371 427.2 0 418.7 0H255.1c-35.35 0-64 28.66-64 64l.0195 256C192 355.4 220.7 384 256 384h192c35.2 0 64-28.8 64-64V93.25C512 84.77 508.6 76.63 502.6 70.63zM464 320c0 8.836-7.164 16-16 16H255.1c-8.838 0-16-7.164-16-16L239.1 64.13c0-8.836 7.164-16 16-16h128L384 96c0 17.67 14.33 32 32 32h47.1V320zM272 448c0 8.836-7.164 16-16 16H63.1c-8.838 0-16-7.164-16-16L47.98 192.1c0-8.836 7.164-16 16-16H160V128H63.99c-35.35 0-64 28.65-64 64l.0098 256C.002 483.3 28.66 512 64 512h192c35.2 0 64-28.8 64-64v-32h-47.1L272 448z"})});var oc={root:"dd-WcEru",entity:"dd-LfP8y",entityText:"dd-L-v0f",iconWrapper:"dd-9Deh1",icon:"dd-tM7E2",iconClicked:"dd-EEdDL"};import{jsx as zt,jsxs as rc}from"react/jsx-runtime";var Hy=({entities:t})=>{let e=S("EntitiesWidgetList",oc),[n,o]=Fy(void 0),s=W(),r=()=>{o(void 0)},i=a=>{t&&(o(t.indexOf(a)),ve(a.text),s("entity copied",{entity:a,type:"copy"}))};return _y(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[n]),!t||t.length===0?null:zt("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,d)=>rc("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[zt("span",{className:e.entityText,children:a.text}),rc("span",{className:e.iconWrapper,children:[zt("span",{className:sc(e.icon),children:zt(Wt,{})}),zt("span",{className:sc(e.icon,n===d&&e.iconClicked),children:zt(Wt,{})})]})]},a.text))})},ic=Hy;import{jsx as ac}from"react/jsx-runtime";var lc=()=>ac("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:ac("path",{d:"M17 13.5v6H5v-12h6m3-3h6v6m0-6-9 9",stroke:"currentColor",strokeWidth:"1.5",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"})});import{useRef as $y}from"react";import{useSelector as Gy}from"react-redux";import{useRef as By,useState as Dr}from"react";import{useDispatch as Uy}from"react-redux";function Jo(t,e){let n=By(t);n.current=t;let[o,s]=Dr(void 0),[r,i]=Dr(void 0),[a,d]=Dr("idle"),l=Uy();return{error:r,state:a,data:o,call:u=>v(null,null,function*(){d("loading"),yield l(n.current(u)).unwrap().then(m=>{s(m),d("done"),e!=null&&e.onSuccess&&(e==null||e.onSuccess(m))}).catch(m=>{i(m),d("error"),e!=null&&e.onError&&(e==null||e.onError(m))})}),reset:()=>{d("idle"),s(void 0),i(void 0)}}}var dc={root:"dd-ohnXe",trigger:"dd-7i-S3",button:"dd-t53Cg",nav:"dd-qZFnm",item:"dd-FZC0F"};var cc={root:"dd-nazq3",rotation:"dd-3EHTv"};import{jsx as Wy}from"react/jsx-runtime";var Ky=({size:t=12})=>{let e=S("LoadingSpinner",cc);return Wy("span",{"data-testid":"loading-spinner",style:{width:`${t}px`,height:`${t}px`},className:e.root})},uc=Ky;import{jsx as pc}from"react/jsx-runtime";var mc=()=>pc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 512 512",fill:"currentColor",children:pc("path",{d:"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32z"})});import{jsx as gc,jsxs as zy}from"react/jsx-runtime";var fc=t=>zy("svg",x(y({xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 448 512","aria-labelledby":"checkTitle"},t),{children:[gc("title",{id:"checkTitle",children:"Check"}),gc("path",{fill:"#666",d:"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"})]}));var _r={};q(_r,{enUS:()=>Vy,nlNL:()=>jy});var Vy={error:[{type:0,value:"Something went wrong"}]},jy={error:[{type:0,value:"Er ging iets fout"}]};import{jsx as Fe,jsxs as hc}from"react/jsx-runtime";var qy=3e3,Xy=({assistantOptions:t})=>{let e=S("OnDemandAssistants",dc),n=k(_r),o=$y(),s=Jo(we),r=Gy(za),i=W(),a=r.filter(c=>c.isPinned),d=r.filter(c=>!c.isPinned),l=c=>v(null,null,function*(){clearTimeout(o.current),i("trigger on demand assistant",{assistantCode:c}),yield s.call(x(y({},t),{assistantCode:c})),o.current=setTimeout(()=>s.reset(),qy)});return r.length===0?null:hc("div",{className:e.root,children:[a.map(({assistant:c,assistantName:p,displayName:u})=>Fe("button",{type:"button",className:e.button,disabled:s.state==="loading",onClick:()=>l(c),children:u||p},c)),d.length>0&&hc($,{placement:"top-end",children:[Fe($.Trigger,{className:e.trigger,disabled:s.state==="loading",children:Fe(Eo,{"data-testid":"trigger"})}),Fe($.Content,{className:e.nav,"data-testid":"popover",children:d.map(({assistant:c,assistantName:p,displayName:u})=>Fe($.Button,{className:e.item,disabled:s.state==="loading",onClick:()=>l(c),children:u||p},c))})]}),s.state==="loading"&&Fe(uc,{}),s.state==="done"&&Fe(fc,{"data-testid":"trigger-done"}),s.state==="error"&&Fe(ol,{trigger:Fe(mc,{}),children:n("error")})]})},yc=Xy;import{useDispatch as bv}from"react-redux";import{useRef as Zy}from"react";var vc={loadingBar:"dd-6as-V",placeHolderShimmer:"dd-TFYmA"};import{jsx as Qy}from"react/jsx-runtime";var Jy=({width:t})=>{let e=S("LoadingProgressBar",vc);return Qy("div",{className:e.loadingBar,style:{width:t}})},Qo=Jy;import{jsx as Vt,jsxs as Yy}from"react/jsx-runtime";var Zo=({title:t})=>{let e=Zy(null);return qn(e),Vt(M,{ref:e,children:Vt(D,{children:Yy(D.Content,{children:[Vt(D.Title,{children:t}),Vt(Qo,{width:"60%"}),Vt(Qo,{width:"90%"}),Vt(Qo,{width:"50%"})]})})})};var _n={};q(_n,{enUS:()=>ev,nlNL:()=>tv});var ev={useCue:[{type:0,value:"Add to message"}],__summarizerAssistant__:[{type:0,value:"Summary"}],copyCue:[{type:0,value:"Copy"}],removeCue:[{type:0,value:"Close"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},tv={useCue:[{type:0,value:"Voeg toe aan bericht"}],__summarizerAssistant__:[{type:0,value:"Samenvatting"}],copyCue:[{type:0,value:"Kopi\xEBren"}],removeCue:[{type:0,value:"Sluiten"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};import{useEffect as kc,useRef as fv,useState as hv}from"react";import Br from"classnames";import{useState as sv}from"react";import{jsx as Sc}from"react/jsx-runtime";var Fr=t=>Sc("svg",x(y({width:"16",height:"16",fill:"#000000"},t),{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:Sc("path",{fillRule:"evenodd",d:"M6.57086468,14.9173453 C6.38997052,14.9711236 6.19835748,15 6,15 L4,15 C2.8954305,15 2,14.1045695 2,13 L2,4 C2,2.8954305 2.8954305,2 4,2 L6,2 C6.68685475,2 7.29284112,2.34623869 7.65294381,2.87370078 C7.95642355,2.67736738 8.29504785,2.51351337 8.66312366,2.3818197 C9.50544052,2.08044754 10.3408482,1.9879107 10.9989281,1.99971266 C11.0150698,2.00005426 13.3487605,2.00015005 18,2 C20.7551411,2 22,6.05643086 22,12 C22,13.6824804 20.8695981,15 19,15 L15.9269768,15 C15.9359266,15.0245465 15.9451954,15.0497804 15.9547911,15.0757271 C16.007193,15.2174219 16.2391583,15.8256341 16.2970775,15.9810953 C16.4872151,16.4914441 16.6259612,16.9026411 16.7382242,17.3098712 C16.9079007,17.9253665 17,18.4798886 17,19 C17,20.4720069 16.091867,21.3862822 14.748281,21.777514 C14.1422801,21.9539723 13.6147967,22.0000922 13.0076976,22.0000008 L12.5204954,22 L12.2202699,21.6261158 C11.2556275,20.4248034 7.64562469,16.4822788 6.57086468,14.9173453 Z M8,13 C8,13.2401953 8.04443154,13.4528921 8.14171093,13.6800176 C8.40663864,14.2985643 11.914268,18.1371493 13.4599624,19.9848695 C13.7113931,19.9660111 13.9483736,19.9273712 14.1891338,19.8572655 C14.7621788,19.6904035 15,19.4509737 15,19 C15,18.6834183 14.9359344,18.2976852 14.8101464,17.8413935 C14.7161494,17.500423 14.5944107,17.1396301 14.4229225,16.6793379 C14.3689242,16.5344009 14.1358033,15.923159 14.0789589,15.7694517 C13.9489218,15.4178313 13.8632547,15.1589343 13.8046536,14.9236885 C13.5555377,13.9236468 13.8054549,13 15,13 L19,13 C19.6912225,13 20,12.6401099 20,12 C20,7.20925475 19.015127,4 18,4 C15.9322103,4 15.9322103,4 10.9655994,3.99940813 C10.5253746,3.99154158 9.91062406,4.05963657 9.33687634,4.2649175 C8.45196659,4.58152894 8,5.09776992 8,6 L8,13 Z M4,4 L4,13 L6,13 L6,4 L4,4 Z"})}));import{jsx as xc}from"react/jsx-runtime";var bc=t=>xc("svg",x(y({width:"16",height:"16",fill:"#000000"},t),{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:xc("path",{fillRule:"evenodd",d:"M7.65336736,21.1256786 C7.2933164,21.6534897 6.68712411,22 6,22 L4,22 C2.8954305,22 2,21.1045695 2,20 L2,11 C2,9.8954305 2.8954305,9 4,9 L6,9 C6.198171,9 6.38961023,9.02882212 6.57035446,9.08250314 C7.6444817,7.51807482 11.2554748,3.57449216 12.2202699,2.37298955 L12.5204954,1.99910538 L13,1.99910538 C13.6147967,1.99901314 14.1422801,2.04513312 14.748281,2.22159137 C16.091867,2.61282321 17,3.52709845 17,4.99910538 C17,5.51921677 16.9079007,6.07373891 16.7382242,6.68923415 C16.6259612,7.09646424 16.4872151,7.50766133 16.2970775,8.01801005 C16.2391583,8.17347129 16.007193,8.78168345 15.9547911,8.92337824 C15.9451954,8.94932503 15.9359266,8.9745589 15.9269768,8.99910538 L19,8.99910538 C20.8695981,8.99910538 22,10.316625 22,11.9991054 C22,17.9426745 20.7551411,21.9991054 18,21.9991054 L11.0344006,21.9985135 C10.3408482,22.0111947 9.50544052,21.9186578 8.66312366,21.6172857 C8.29521907,21.4856533 7.9567386,21.3218904 7.65336736,21.1256786 Z M8,17.9991054 C8,18.9013355 8.45196659,19.4175764 9.33687634,19.7341879 C9.91062406,19.9394688 10.5253746,20.0075638 10.963066,19.9997143 C10.9703499,19.9995545 10.9703499,19.9995545 11,19.9991054 L18,19.9991054 C19.015127,19.9991054 20,16.7898506 20,11.9991054 C20,11.3589955 19.6912225,10.9991054 19,10.9991054 L15,10.9991054 C13.8054549,10.9991054 13.5555377,10.0754586 13.8046536,9.07541689 C13.8632547,8.84017106 13.9489218,8.5812741 14.0789589,8.22965366 C14.1358033,8.07594642 14.3689242,7.46470447 14.4229225,7.31976744 C14.5944107,6.85947528 14.7161494,6.4986824 14.8101464,6.1577119 C14.9359344,5.70142019 15,5.31568707 15,4.99910538 C15,4.54813166 14.7621788,4.30870189 14.1891338,4.1418399 C13.9483736,4.07173418 13.7113931,4.0330943 13.4599624,4.01423587 C11.914268,5.86195611 8.40663864,9.70054105 8.14171093,10.3190878 C8.04443154,10.5462133 8,10.7589101 8,10.9991054 L8,17.9991054 Z M4,11 L4,20 L6,20 L6,11 L4,11 Z"})}));function jt(t,e){var s;let n=t.cloneNode(!0);n.style.top=`${t.offsetTop}px`,n.style.left=`${t.offsetLeft}px`,n.style.position="absolute",e.split(" ").forEach(r=>{n.classList.add(r)}),n.addEventListener("animationend",()=>n.remove()),(s=t.parentElement)==null||s.appendChild(n)}var Hr={};q(Hr,{enUS:()=>nv,nlNL:()=>ov});var nv={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},ov={thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};var Cc={thumbs:"dd-5F1zq",fadeup:"dd-eTmY-",fadedown:"dd-sS85z",selected:"dd-rid-f",thumbsUp:"dd-4poEf",thumbsDown:"dd-3KozS"};import{useSelector as Tc}from"react-redux";import{jsx as $t,jsxs as iv}from"react/jsx-runtime";var rv=({assistantCode:t,assistantOutput:e,evaluationId:n,feedbackType:o,feedbackText:s})=>{let r=S("FeedbackThumbs",Cc),i=w("enableFeedbackForm"),a=Tc(ye),d=Tc(Ht(`/admin/feedback?conversationId=${a}&evaluationId=${n}&type=${o}&text=${s}&assistantCode=${t}&assistantOutput=${e}`)),l=k(Hr),c=W(),[p,u]=sv(null),m=h=>{c("Assistant response feedback",{assistantCode:t,assistantOutput:e,evaluationId:n,rating:h})},f=h=>{h.stopPropagation(),jt(h.target,r.fadeup),u("up"),m("up")},g=h=>{h.stopPropagation(),jt(h.target,r.fadedown),u("down"),m("down")};return iv("div",{className:r.thumbs,children:[$t(M.Button,{title:l("thumbsUp"),onClick:f,icon:$t(bc,{}),className:Br(r.thumbsUp,p==="up"&&r.selected),disabled:!!p}),i&&d?$t(M.Button,{as:"a",title:l("thumbsDown"),href:d,target:"_blank",rel:"noreferrer",onClick:g,icon:$t(Fr,{}),className:Br(r.thumbsDown,p==="down"&&r.selected),disabled:!!p}):$t(M.Button,{title:l("thumbsDown"),onClick:g,icon:$t(Fr,{}),className:Br(r.thumbsDown,p==="down"&&r.selected),disabled:!!p})]})},Yo=rv;import av from"dompurify";import{Fragment as Ec,useMemo as lv,useRef as dv,useState as cv}from"react";var wc={root:"dd-L7b3z",popover:"dd-OQOTB",options:"dd-Y12RE",arrow:"dd-cv33T",copyIcon:"dd-6xOsH",option:"dd-9oFX4",divider:"dd-aiZf8",fadeup:"dd-Jq9pd"};import{marked as uv}from"marked";import{jsx as Fn,jsxs as es}from"react/jsx-runtime";function pv(t){return`<button type="button" data-copy-icon class=${t}><svg version="1.1" x="0px" y="0px" viewBox="0 0 115.77 122.88" width="10px" height="10px" fill="black"><g><path d="M89.62,13.96v7.73h12.19h0.01v0.02c3.85,0.01,7.34,1.57,9.86,4.1c2.5,2.51,4.06,5.98,4.07,9.82h0.02v0.02 v73.27v0.01h-0.02c-0.01,3.84-1.57,7.33-4.1,9.86c-2.51,2.5-5.98,4.06-9.82,4.07v0.02h-0.02h-61.7H40.1v-0.02 c-3.84-0.01-7.34-1.57-9.86-4.1c-2.5-2.51-4.06-5.98-4.07-9.82h-0.02v-0.02V92.51H13.96h-0.01v-0.02c-3.84-0.01-7.34-1.57-9.86-4.1 c-2.5-2.51-4.06-5.98-4.07-9.82H0v-0.02V13.96v-0.01h0.02c0.01-3.85,1.58-7.34,4.1-9.86c2.51-2.5,5.98-4.06,9.82-4.07V0h0.02h61.7 h0.01v0.02c3.85,0.01,7.34,1.57,9.86,4.1c2.5,2.51,4.06,5.98,4.07,9.82h0.02V13.96L89.62,13.96z M79.04,21.69v-7.73v-0.02h0.02 c0-0.91-0.39-1.75-1.01-2.37c-0.61-0.61-1.46-1-2.37-1v0.02h-0.01h-61.7h-0.02v-0.02c-0.91,0-1.75,0.39-2.37,1.01 c-0.61,0.61-1,1.46-1,2.37h0.02v0.01v64.59v0.02h-0.02c0,0.91,0.39,1.75,1.01,2.37c0.61,0.61,1.46,1,2.37,1v-0.02h0.01h12.19V35.65 v-0.01h0.02c0.01-3.85,1.58-7.34,4.1-9.86c2.51-2.5,5.98-4.06,9.82-4.07v-0.02h0.02H79.04L79.04,21.69z M105.18,108.92V35.65v-0.02 h0.02c0-0.91-0.39-1.75-1.01-2.37c-0.61-0.61-1.46-1-2.37-1v0.02h-0.01h-61.7h-0.02v-0.02c-0.91,0-1.75,0.39-2.37,1.01 c-0.61,0.61-1,1.46-1,2.37h0.02v0.01v73.27v0.02h-0.02c0,0.91,0.39,1.75,1.01,2.37c0.61,0.61,1.46,1,2.37,1v-0.02h0.01h61.7h0.02 v0.02c0.91,0,1.75-0.39,2.37-1.01c0.61-0.61,1-1.46,1-2.37h-0.02V108.92L105.18,108.92z"/></g></svg></button>`}function Ur(t){var n,o;let e=t.cloneNode(!0);return e.querySelectorAll("div,button").forEach(s=>s.remove()),(o=(n=e.textContent)==null?void 0:n.trim())!=null?o:""}function mv(t){return t.replace(/\r\n/g,`
8
8
  `)}var gv=({content:t,useLabel:e,copyLabel:n,onCopy:o,onUse:s})=>{let r=S("Markdown",wc),i=dv(null),[a,d]=cv(null),l=lv(()=>{let g=uv.parse(mv(t));return av.sanitize(g.toString()).replaceAll("</code>",`${pv(r.copyIcon)}</code>`).replaceAll('<a href="','<a target="_blank" rel="noreferrer noopener" href="')},[t]),c=g=>{var T;let h=g.target,C=!!((T=i.current)!=null&&T.querySelector("code"));if(["A","BUTTON"].includes(h.tagName)){d(null);return}a||C&&h.tagName!=="CODE"||!C&&h!==i.current||(h.addEventListener("mouseleave",()=>d(null),{once:!0}),d(h))},p=()=>{if(!a)return;d(null);let g=a.querySelector("button");g&&(jt(g,r.fadeup),o==null||o(Ur(a)))},u=g=>{let h=g.target;if(h.tagName==="A"){g.stopPropagation();return}"copyIcon"in h.dataset&&(jt(h,r.fadeup),o==null||o(Ur(h.parentElement)))},m=()=>{!a||!s||(d(null),s(Ur(a)))},f=g=>{if(g===null)return;let h=g.getBoundingClientRect();h.left<0?g.style.transform=`translateX(${-h.left+2}px)`:h.right>window.innerWidth&&(g.style.transform=`translateX(${window.innerWidth-h.right-2}px)`)};return es(Ec,{children:[a&&(o||s)&&es(Ut,{triggerRef:{current:a},className:r.popover,parentNode:a,children:[es("div",{className:r.options,ref:f,children:[o&&Fn("button",{type:"button",className:r.option,onClick:p,children:n}),s&&es(Ec,{children:[Fn("div",{className:r.divider}),Fn("button",{type:"button",className:r.option,onClick:m,children:e})]})]}),Fn("div",{className:r.arrow})]}),Fn("div",{ref:i,"data-testid":"widget-markdown-content",className:r.root,dangerouslySetInnerHTML:{__html:l},onMouseOver:c,onClick:u})]})},ft=gv;var Kr={title:"dd-YBHrC",fadeup:"dd-cRM0K",fadedown:"dd-7D4Pq",selected:"dd-bueui",actions:"dd-9Iqn9",thumbsUp:"dd-6QwVx",thumbsDown:"dd-d3E8l",form:"dd-sPNU2",formInput:"dd-F3E4I",formSubmit:"dd-vw5S0",actionButton:"dd-cCWyJ",editableCue:"dd-nWSD-",inputSpace:"dd-DGYB1"};import{jsx as He,jsxs as ts}from"react/jsx-runtime";var yv=500,vv=100,Sv=({content:t,onChange:e,onCopy:n})=>{let o=fv(null),s=S("WidgetCue",Kr);return kc(()=>{let r=o.current;if(!r)return;r.style.setProperty("height","0px");let i=Math.min(Math.max(r.scrollHeight,vv),yv);r.style.setProperty("height",`${i}px`)},[t]),He("textarea",{ref:o,className:s.editableCue,onCopy:n,onChange:e,value:t})},xv=({cue:t,onCallToAction:e,onRemove:n,onCopy:o,onUse:s})=>{let r=S("WidgetCue",Kr),i=k(_n),a=W(),d=w("hasKeyboardInput"),[l,c]=hv(t.text),p=()=>{e&&e(l,t),n(t)},u=g=>{o&&o(g,t)},m=g=>{s&&s(g,t)},f=g=>{g.preventDefault(),g.stopPropagation(),n(t)};return kc(()=>{a("Assistant response displayed",{evaluationId:t.evaluationId,assistantCode:t.rule.label,assistantOutput:t.text})},[]),ts(M,{"data-testid":"cue",children:[He(D,{children:ts(D.Content,{children:[t.title&&He(D.Title,{className:r.title,"data-testid":"widget-cue-title",children:t.rule.label.startsWith("__")?i(t.rule.label):t.title}),t.editable?He(Sv,{content:l,onCopy:()=>{let g=document.getSelection();g&&u(g.toString())},onChange:g=>{var h;return c((h=g.target.value)!=null?h:"")}}):He(ft,{content:t.text,useLabel:i("useCue"),copyLabel:i("copyCue"),onCopy:u,onUse:d?m:void 0})]})}),ts(M.ButtonsContainer,{children:[ts("div",{className:r.actions,children:[t.editable&&He(M.Button,{onClick:()=>u(l),variant:"primary",children:i("copyCue")}),t.callToAction&&He(M.Button,{onClick:p,variant:"primary",children:t.callToAction.label}),He(M.Button,{onClick:f,variant:"secondary",children:i("removeCue")})]}),He(Yo,{evaluationId:t.evaluationId,assistantCode:t.rule.label,assistantOutput:t.text,feedbackText:t.text,feedbackType:"assistant"})]})]})},Rc=xv;import{Fragment as Tv,jsx as Wr}from"react/jsx-runtime";var Cv=({cues:t})=>{let e=bv(),n=ne(),o=k(_n),s=W(),r=l=>{e(Xo({code:l.rule.label})),s("Assistant response closed",{evaluationId:l.evaluationId,assistantCode:l.rule.label,assistantOutput:l.text})},i=(l,c)=>{ve(l),s("Assistant response copied",{evaluationId:c.evaluationId,assistantCode:c.rule.label,assistantOutput:c.text,copiedText:l})},a=(l,c)=>{var p;c.callToAction&&(e(qo(c)),s("Assistant call to action",{evaluationId:c.evaluationId,assistantCode:c.rule.label,assistantOutput:c.text,eventName:c.callToAction.event,value:(p=c.callToAction.value)!=null?p:l}))},d=(l,c)=>{var p;n.send(Le,{text:l,suggestion:{source:"assistant",assistantCode:(p=c.rule)==null?void 0:p.label,sourceText:l}}),s("Assistant response used",{evaluationId:c.evaluationId,assistantCode:c.rule.label,assistantOutput:c.text,usedText:l})};return Wr(Tv,{children:t.map(l=>l.isLoading?Wr(Zo,{title:l.rule.label.startsWith("__")?o(l.rule.label):l.title},l.rule.id):Wr(Rc,{cue:l,onCallToAction:a,onRemove:r,onCopy:i,onUse:d},l.evaluationId))})},Pc=Cv;import{Fragment as wv,useEffect as Ev}from"react";var Ic={root:"dd-cvTAY",label:"dd-QWQxD",value:"dd-WSUHF",copyButton:"dd-67o9H",copyButtonText:"dd-oos-l",isTrue:"dd--1g2O",isFalse:"dd-sz2ir"};import{jsx as Be,jsxs as zr}from"react/jsx-runtime";function kv(t,e){return e.split(".").reduce((n,o)=>!n||typeof n!="object"||!(o in n)?null:n[o],t)}var Lc=({data:t,schema:e})=>{let n=S("WidgetCustomData",Ic),o=s=>{ve(s)};return Ev(()=>{E.info("Custom data",t,e)},[t]),Be("dl",{className:n.root,children:e.map(s=>{let r=kv(t,s.path);return zr(wv,{children:[Be("dt",{className:n.label,children:s.label}),Be("dd",{className:n.value,children:s.type==="boolean"&&r?Be("span",{className:n.isTrue,children:s.trueValue}):s.type==="boolean"&&!r?Be("span",{className:n.isFalse,children:s.falseValue}):s.type==="array"&&Array.isArray(r)&&r.length>0?zr("button",{type:"button",onClick:()=>o(r.join(", ")),className:n.copyButton,children:[Be("span",{className:n.copyButtonText,children:r.join(", ")}),Be(Wt,{})]}):typeof r=="string"||typeof r=="number"?zr("button",{type:"button",onClick:()=>o(`${r}`),className:n.copyButton,children:[Be("span",{className:n.copyButtonText,children:r}),Be(Wt,{})]}):"-"})]},s.label)})})};import{createContext as Nv,Fragment as Ov,useContext as jr,useEffect as Dv,useRef as Oc,useState as ht}from"react";import{useDispatch as _v,useSelector as Fv}from"react-redux";var Gt={};q(Gt,{enUS:()=>Rv,nlNL:()=>Pv});var Rv={inputPlaceholder:[{type:0,value:"What is your question?"}],useCue:[{type:0,value:"Add to message"}],copyCue:[{type:0,value:"Copy"}],removeCue:[{type:0,value:"Close"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}],submitLabel:[{type:0,value:"Submit"}],resetLabel:[{type:0,value:"Reset"}],showMore:[{type:0,value:"Show "},{type:1,value:"amount"},{type:0,value:" more"}]},Pv={inputPlaceholder:[{type:0,value:"Wat is je vraag?"}],useCue:[{type:0,value:"Voeg toe aan bericht"}],copyCue:[{type:0,value:"Kopi\xEBren"}],removeCue:[{type:0,value:"Sluiten"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}],submitLabel:[{type:0,value:"Verzend"}],resetLabel:[{type:0,value:"Gesprek wissen"}],showMore:[{type:0,value:"Toon "},{type:1,value:"amount"},{type:0,value:" meer"}]};var ns={form:"dd-pleCH",formInput:"dd-pGJMY",formSubmit:"dd--gkRg",actionButton:"dd-I2NEH",resetContainer:"dd-qKIDX",sources:"dd-xf9c6",source:"dd-a-vyX",tooltip:"dd-EsgcZ",linkContent:"dd-gARDA",showMoreSources:"dd-uDGi-"};import{useRef as Av}from"react";var Ac={error:"dd-CoAuB"};var Vr={};q(Vr,{enUS:()=>Iv,nlNL:()=>Lv});var Iv={errorPrefix:[{type:0,value:"Error:"}]},Lv={errorPrefix:[{type:0,value:"Foutmelding:"}]};import{jsx as Mc,jsxs as Mv}from"react/jsx-runtime";var Nc=({message:t})=>{let e=Av(null),n=S("WidgetCardError",Ac),o=k(Vr);return qn(e),Mc(M,{ref:e,children:Mc(D,{children:Mv(D.Content,{className:n.error,children:[o("errorPrefix")," ",t]})})})};import{jsx as H,jsxs as Ue}from"react/jsx-runtime";var Hv=3,Bv=({sources:t,onClick:e})=>{let n=k(Gt),o=S("WidgetKnowledgeAssistant",ns),[s,r]=ht(!1),i=s?t:t.slice(0,Hv);return i.length===0?null:Ue("ul",{className:o.sources,children:[i.map(a=>H("li",{className:o.source,"data-testid":"knowledge-assist-source",children:Ue($,{tooltip:!0,placement:"top-start",children:[H($.Trigger,{as:"a",rel:"noreferrer",target:"_blank",href:a.url,onClick:d=>{d.stopPropagation(),e(a)},children:H("span",{className:o.linkContent,children:a.name})}),a.url&&H($.Content,{className:o.tooltip,children:decodeURIComponent(a.url)})]})},a.name)),i<t&&H("button",{type:"button",className:o.showMoreSources,onClick:()=>r(!0),children:n("showMore",{amount:t.length-i.length})})]})},Uv=({title:t,description:e})=>H(M,{"data-testid":"knowledge-assist-empty-state",children:H(D,{children:Ue(D.Content,{children:[H(D.Title,{children:t}),H(ft,{content:e})]})})}),Kv=({innerRef:t,item:e,hasKeyboardInput:n,onCopy:o,onUse:s,onSourceClick:r})=>{var d;let i=k(Gt),a=jr(os);return Ue(M,{"data-testid":"knowledge-assist-answer",ref:t,children:[H(D,{children:Ue(D.Content,{children:[H(D.Title,{children:e.question}),H(ft,{content:e.answer.answer,useLabel:i("useCue"),copyLabel:i("copyCue"),onCopy:o,onUse:n?s:void 0}),H(Bv,{sources:(d=e.answer.sources)!=null?d:[],onClick:r})]})}),a.assistantCode&&Ue(M.ButtonsContainer,{children:[H("div",{}),H(Yo,{evaluationId:e.evaluationId,feedbackType:"assistant",assistantCode:a.assistantCode,assistantOutput:e.answer.answer,feedbackText:e.answer.answer})]})]})},os=Nv(null),ss=({assistantCode:t,evaluateKnowledgeAssistFn:e,initialQuestion:n,children:o})=>{let[s,r]=ht(null),[i,a]=ht(!1),[d,l]=ht(null),[c,p]=ht(!!n),[u,m]=ht(null),f=_v(),g=W(),h=Jo(b=>{if(!t)throw new Error("No knowledge assistant was defined");return l(null),e({assistantCode:t,input:b,threadId:s,onNewThreadId(R){r(R)}})},{onSuccess(b){var R;g("Assistant response displayed",{evaluationId:b.evaluationId,assistantCode:t,assistantOutput:b.answer.answer,input:b.question,sources:(R=b.answer.sources)!=null?R:[]}),p(!1)},onError(b){var R;l((R=b.message)!=null?R:"Unknown error")}}),C=b=>v(null,null,function*(){a(!0),m(b),yield h.call(b),a(!1),m(null)}),T={isEnabled:!!t,assistantCode:t,isSubmitting:i,threadId:s,pendingInput:u,errorMessage:d,onSubmit:C,onReset(){s&&f(Gd(s)),l(null),r(null),t&&g("Assistant thread reset",{threadId:s!=null?s:void 0,assistantCode:t})}};return Dv(()=>{n&&T.isEnabled&&C(n)},[n]),H(os.Provider,{value:T,children:o})},rs=()=>{let t=k(Gt),e=S("WidgetKnowledgeAssistant",ns),n=jr(os),o=Oc(null),[s,r]=ht(""),i=d=>{r(d.target.value)},a=d=>{d.preventDefault(),n.onSubmit(s).then(()=>{var l;o.current&&((l=o.current)==null||l.focus(),r(""))})};return n.isEnabled?Ue("form",{className:e.form,onSubmit:a,children:[H("input",{ref:o,className:e.formInput,placeholder:t("inputPlaceholder"),type:"text",disabled:n.isSubmitting,value:s,onChange:i}),H("button",{type:"submit",disabled:n.isSubmitting||s==="",className:e.formSubmit,children:t("submitLabel")})]}):null},is=({title:t,emptyState:e})=>{var f,g;let n=k(Gt),o=W(),s=S("WidgetKnowledgeAssistant",ns),r=Oc(null),i=jr(os),a=(g=Fv(jd((f=i.threadId)!=null?f:-1)))!=null?g:[],d=w("hasKeyboardInput"),l=ne(),c=(h,C)=>{ve(h),i.assistantCode&&o("Assistant response copied",{assistantCode:i.assistantCode,assistantOutput:h,copiedText:h,evaluationId:C.evaluationId})},p=(h,C)=>{i.assistantCode&&o("Assistant source clicked",{evaluationId:C.evaluationId,assistantCode:i.assistantCode,source:h})},u=h=>{h.preventDefault(),i.onReset()},m=(h,C)=>{l.send(Le,{text:h,suggestion:{source:"assistant",sourceText:h}}),i.assistantCode&&o("Assistant response used",{assistantCode:i.assistantCode,evaluationId:C.evaluationId,assistantOutput:C.answer.answer,usedText:h})};return!i.isEnabled||(a==null?void 0:a.length)===0&&!i.isSubmitting&&!e&&!i.errorMessage?null:Ue(Ov,{children:[H(Pe,{type:"knowledge",title:t,"data-testid":"knowledge",children:Ue(te,{withDivider:!0,children:[e&&a.length===0&&!i.pendingInput&&H(Uv,y({},e)),a.map((h,C)=>H(Kv,{innerRef:C===a.length-1?r:void 0,item:h,hasKeyboardInput:d,onCopy:T=>c(T,h),onUse:T=>m(T,h),onSourceClick:T=>p(T,h)},`${h.question}_${h.answer}_${C}`)),i.pendingInput&&H(Zo,{title:i.pendingInput}),i.errorMessage&&H(Nc,{message:i.errorMessage})]})}),a.length>0&&H("div",{className:s.resetContainer,children:H(M.Button,{disabled:i.threadId===null||i.isSubmitting,onClick:u,children:n("resetLabel")})})]})};import{useCallback as zv}from"react";var Wv=/(https?:\/\/[^\s]+)/,_c=t=>t.split(" ").find(e=>Wv.test(e));import{jsx as qt,jsxs as as}from"react/jsx-runtime";var Vv=({suggestion:t,lines:e,onUse:n})=>{var p;let o=t.text||t.url||t.message,s=_c(o),r=k(In),i=w("showImages"),a=w("fallbackImage"),d=w("hasKeyboardInput"),l=u=>{u.preventDefault(),u.stopPropagation(),d&&n(o)},c=zv(u=>{window.open(s,"_blank"),u.stopPropagation(),u.preventDefault()},[s]);return as(M,{onClick:d?l:void 0,"data-testid":"edit-suggestion",children:[as(D,{children:[i&&t.image&&qt(D.Image,{src:$o(t,"small",a||void 0),title:t.title}),as(D.Content,{children:[t.title&&qt(D.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((p=t.searchKeywords)==null?void 0:p.length)>0&&qt(M.Labels,{labels:t.searchKeywords}),qt(D.Content,{cropText:e==="single",lineClamp:e==="multiple",children:o})]})]}),as(M.Actions,{children:[s&&qt(M.ActionButton,{onClick:c,label:r("visitUrl")}),d&&qt(M.ActionButton,{primary:!0,onClick:l,label:r("useSuggestion")})]})]})},Fc=Vv;import{Fragment as $v,jsx as Hc}from"react/jsx-runtime";var jv=({lines:t,suggestions:e})=>{let n=ne(),o=(s,r)=>{n.send(Le,{text:s,suggestion:x(y({},r),{source:r.source,sourceText:r.text})})};return Hc($v,{children:e.map(s=>Hc(Fc,{suggestion:s,lines:t,onUse:r=>o(r,s)},s.text||s.url||s.message))})},Bc=jv;var Hn={};q(Hn,{enUS:()=>Gv,nlNL:()=>qv});var Gv={waiting:[{type:0,value:"Loading\u2026"}],waitingForConversation:[{type:0,value:"Waiting for conversation\u2026"}],notSupported:[{type:0,value:"This conversation is not supported"}],noResults:[{type:0,value:"No results found\u2026"}],titleCues:[{type:0,value:"Assistant updates"}],actions:[{type:0,value:"Shortcuts"}],linkStudioLogin:[{type:0,value:"My "},{type:1,value:"productName"}],linkSummary:[{type:0,value:"Summarize"}],linkKnowledgeSearch:[{type:0,value:"Knowledge Assist"}],linkSearch:[{type:0,value:"Search"}],close:[{type:0,value:"Close"}]},qv={waiting:[{type:0,value:"Laden\u2026"}],waitingForConversation:[{type:0,value:"Wachten op gesprek\u2026"}],notSupported:[{type:0,value:"Dit gesprek wordt niet ondersteund"}],noResults:[{type:0,value:"Geen resultaten gevonden\u2026"}],titleCues:[{type:0,value:"Assistant updates"}],actions:[{type:0,value:"Shortcuts"}],linkStudioLogin:[{type:0,value:"Mijn "},{type:1,value:"productName"}],linkSummary:[{type:0,value:"Gesprek samenvatten"}],linkKnowledgeSearch:[{type:0,value:"Knowledge assist"}],linkSearch:[{type:0,value:"Zoeken"}],close:[{type:0,value:"Sluiten"}]};var Xt={root:"dd-W9VCG",loginText:"dd--dS6t",stateText:"dd-348OC",footer:"dd-tvofr",shortcutList:"dd-MuKK-",shortcut:"dd-5CnK9",footerShortcut:"dd-dH7XJ",link:"dd-DRo0x"};import{jsx as P,jsxs as Bn}from"react/jsx-runtime";var Kc=(t,e)=>{let n=Z(X);Gr(()=>n?e.every(o=>!!o)?t():()=>{}:()=>{},[...e,n])},Qv=({onLogIn:t})=>{let e=S("Widget",Xt),n=w("isEmbedded"),o=w("adminUrl");return P("div",{className:e.loginText,children:P("div",{children:P(Ho,{isEmbedded:n,loginUrl:o,onLogIn:t})})},"login")},$r=({text:t})=>{let e=S("Widget",Xt);return P("div",{className:e.stateText,children:P("div",{children:P("p",{children:t})})},"notification")},Zv=()=>{let t=k(Hn),e=Uc(),n=S("Widget",Xt),o=w("showSearch"),s=w("isEmbedded"),r=Z(Ht("/admin/")),i=ne(),a=w("productName"),d=W();return Kc(()=>{if(s)return e(Or()),()=>{e(Yd())}},[e,s]),!o&&!r?null:Bn("div",{className:n.shortcutList,children:[o&&P(M.Button,{"data-testid":"shortcut-search","aria-label":t("linkSearch"),className:n.shortcut,icon:P(_t,{}),onClick:()=>{i.send("ShowCommandPalette",{isOpen:!0}),d("open search",{via:"widget-shortcut"})},children:t("linkSearch")}),r&&P(M.Button,{as:"a",target:"_blank",icon:P(lc,{}),href:r,"data-testid":"shortcut-studio-login","aria-label":t("linkStudioLogin",{productName:a}),className:n.shortcut,rel:"noreferrer",onClick:()=>{d("open my deepdesk",{via:"widget-shortcut"})},children:t("linkStudioLogin",{productName:a})})]})},Yv=({title:t,content:e})=>{let n=k(Hn),[o,s]=Jv(!0);return o?P(Pe,{"data-testid":"custom-data-banner",type:"custom-data-banner",title:t,children:P(te,{withDivider:!0,children:Bn(M,{children:[P(D,{children:P(D.Content,{children:P(ft,{content:e})})}),P(M.ButtonsContainer,{children:P(M.Button,{onClick:()=>s(!1),children:n("close")})})]})})}):null},eS=()=>{let t=Uc(),e=Z(kn),n=Z(ja),o=Z(tc),s=Z(da),r=Z(wo),i=Z(Io),a=Z(rt),d=Z(ye);return Gr(()=>{!!s&&!n&&E.warn("Custom data provided, but no schema.")},[s,n]),Kc(()=>{e.forEach(({type:l})=>{l==="entities"?t(ge()):Jn.includes(l)||t(fe(l))})},[t,d,a]),Gr(()=>{o.length>0&&!e.some(l=>l.type==="cues")&&E.warn("Received cues, but cues are not configured in widget.")},[e,o]),P(Xv,{children:e.map(({type:l,title:c,amount:p,lines:u,schema:m,property:f})=>{var g,h;switch(l){case"entities":return r&&r.length>0&&P(Pe,{type:l,title:c,"data-testid":`type-${l}`,children:P(ic,{entities:r})},l);case"cues":return o&&o.length>0&&P(Pe,{type:l,title:c,"data-testid":`type-${l}`,children:P(te,{withDivider:!0,children:P(Pc,{cues:o})})},l);case"custom-data-banner":return s&&f&&s[f]&&P(Yv,{title:c,content:String(s[f])},l);case"custom-data":return s&&m&&P(Pe,{type:l,title:c,"data-testid":`type-${l}`,children:P(te,{withDivider:!0,children:P(Lc,{data:s,schema:m})})},l);default:return((h=(g=i[l])==null?void 0:g.suggestions)==null?void 0:h.length)>0&&P(Pe,{type:l,title:c,"data-testid":`type-${l}`,children:P(te,{withDivider:!0,children:P(Bc,{lines:u,contentType:l,suggestions:i[l].suggestions.slice(0,p)||[]})})},l)}})})},qr=({children:t})=>{let e=S("Widget",Xt);return P("div",{className:e.footer,children:t})},Xr=({children:t})=>{let e=S("Widget",Xt);return P("div",{className:e.root,"data-testid":"widget",children:t})},tS=({onLogIn:t,knowledgeAssistOptions:e={},assistantOptions:n={transcript:"in-memory-transcript"}})=>{let o=k(Hn),s=Z(Rt),r=Z(X),i=Z($i),a=Z(rt),d=Z(Va("knowledge-assist")),l=Z($a);return s===!1?P($r,{text:o("notSupported")}):r===!1?P(Qv,{onLogIn:t}):r===null?P($r,{text:o("waiting")}):!i||!a?P($r,{text:o("waitingForConversation")}):P(Xr,{children:Bn(ss,{initialQuestion:e.initialQuestion,assistantCode:l!=null?l:void 0,evaluateKnowledgeAssistFn:Dn,children:[Bn(rn,{children:[P(Zv,{}),P(eS,{}),d&&P(is,{title:d.title,emptyState:e.emptyState})]}),Bn(qr,{children:[d&&P(rs,{}),P(yc,{assistantOptions:n})]})]})})},Wc=tS;function Kn(t){let e=new Range;return e.selectNodeContents(t),e}function zc(t,e,n){try{return yt(t,e,n),!0}catch(o){return!1}}function ls(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function ds(t){return"tagName"in t&&t.tagName==="BR"}var Un=/[\u200B-\u200D\uFEFF]/g;function yt(t,e,n){let o=new Range;if(t.firstChild===null&&e===0&&n===0)return o.selectNodeContents(t),o;let s=0,r=!1;function i(d,l){let c=-1,p=/[\u200B-\u200D\uFEFF]/;if(!p.test(d))return l;for(let u=0;u<=d.length;u++)if(p.test(d[u])||c++,c===l)return u;throw new Error("Offset out of range")}function a(d){switch(d.nodeType){case Node.TEXT_NODE:{let l=d.textContent,c=l.replace(Un,""),p=s+c.length,u=e>=s&&e<=p,m=n>=s&&n<=p;if(u){let f=i(l,e-s);f===0&&!m?o.setStartBefore(d):o.setStart(d,f)}m&&(o.setEnd(d,i(l,n-s)),r=!0),s=p;break}case Node.ELEMENT_NODE:{if(ds(d)&&(s===e&&o.setStartBefore(d),s++,s===n)){o.setEndAfter(d),r=!0;return}for(let c=0;c<d.childNodes.length&&(a(d.childNodes[c]),!r);c++);let l=d.lastChild;ls(d)&&l&&!ls(l)&&!ds(l)&&s++;break}default:break}}if(a(t),o.startContainer===document)throw new Error("Offsets out of bound");return o}function cs(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:n,startOffset:o,endContainer:s,endOffset:r,collapsed:i}=e,a,d,l=0;function c(p){let u=p===t,m=p===n,f=p===s;switch(p.nodeType){case Node.TEXT_NODE:{let g=p.textContent;m&&(a=l+g.substring(0,o).replace(Un,"").length),f&&(d=l+g.substring(0,r).replace(Un,"").length),l+=g.replace(Un,"").length;break}case Node.ELEMENT_NODE:{if(ds(p)&&p.nextSibling){l++;break}!u&&ls(p)&&p.previousSibling&&l++;for(let g=0;g<p.childNodes.length;g++){let h=m&&g===o,C=f&&g===r;if(h&&(a=l),C&&(d=l),d!==void 0||((!h||!i)&&c(p.childNodes[g]),f&&g===r-1&&(d=l),d!==void 0))break}f&&(d=l);break}default:break}}if(c(t),d===void 0)throw new Error("Could not determine start and end");return{start:a!=null?a:d,end:d}}function us(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:n,startOffset:o,endContainer:s,endOffset:r,collapsed:i}=e,a=0,d="";function l(c){let p=c===t,u=c===n,m=c===s;switch(u&&(a=1),c.nodeType){case Node.TEXT_NODE:{if(a!==1)return;let f=u?o:0,g=m?r:void 0;d+=c.textContent.replace(Un,"").substring(f,g);break}case Node.ELEMENT_NODE:{if(!i&&a===1&&ds(c)&&c.nextSibling){d+=`
9
9
  `;break}!p&&!i&&a===1&&ls(c)&&c.previousSibling&&(d+=`
10
- `);let f=u?o:0,g=m?Math.min(r,c.childNodes.length):c.childNodes.length;for(let h=f;h<g&&(l(c.childNodes[h]),a!==2);h++);break}default:break}m&&(a=2)}return l(t),d}var Vc=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(Vc||{}),qe=class{constructor(e){this.element=e;this.isFocused=!1;this.isActive=!0;this.isDisposed=!1;this.eventListeners={};this.disposeHandlers=[];this.cachedText="";this.cachedCaretPosition=null;this.cachedSelection={start:0,end:0};this.cachedHTML="";this.isSubmitting=!1;this.isPossibleClearInputAction=!1;this.cachedText=this.getText(),this.cachedHTML=this.getHTML(),this.cachedSelection=this.getSelection(),this.listen()}addEventListener(e,n){let o=s=>{n(s)};this.element.addEventListener(e,o),this.disposeHandlers.push(()=>{this.element.removeEventListener(e,o)})}removeEventListener(e,n){this.element.removeEventListener(e,n)}handleInteraction(){let e=this.getText(),n=this.getHTML(),o=this.getSelection(),s=this.cachedCaretPosition===null;if(!this.isActive||(e===""&&this.cachedText!==""&&!this.isPossibleClearInputAction&&this.emit("submit"),e!==this.cachedText?(this.cachedText=e,this.cachedHTML=n,s=!0,this.emit("change",{plainText:e,rawHTML:n})):n!==null&&n!==this.cachedHTML&&(this.cachedHTML=n,s=!0,this.emit("change",{plainText:e,rawHTML:n})),(o.start!==this.cachedSelection.start||o.end!==this.cachedSelection.end)&&(this.cachedSelection=o,s=!0,this.emit("selection",o)),!s))return;let r=this.getCaretPosition();Ve(r,this.cachedCaretPosition)||(this.cachedCaretPosition=r,this.emit("caretposition",r))}handleClick(){this.handleInteraction()}handleFocus(){let e=!this.isFocused;this.isFocused=!0,e&&this.emit("focus"),this.handleInteraction()}handleBlur(){this.isPossibleClearInputAction=!1;let e=this.isFocused;this.isFocused=!1,e&&this.emit("blur")}handleKeyDown(e){let{key:n,ctrlKey:o,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(Vc).includes(n)||n.toLowerCase()==="z"&&(o||s),this.emit("keydown",e)}handleKeyUp(e){this.handleInteraction(),this.emit("keyup",e)}handleCut(){this.isPossibleClearInputAction=!0,this.emit("cut",{selectionText:this.getSelectedText()})}handlePaste(e){var o,s;let n=((o=e.clipboardData)==null?void 0:o.getData("text"))||((s=e.clipboardData)==null?void 0:s.getData("text/plain"))||"";this.emit("paste",{pastedText:n,selectionText:this.getSelectedText()})}listen(){this.addEventListener("keydown",n=>this.handleKeyDown(n)),this.addEventListener("keyup",n=>this.handleKeyUp(n)),this.addEventListener("input",()=>this.handleInteraction()),this.addEventListener("change",()=>this.handleInteraction()),this.addEventListener("focus",()=>this.handleFocus()),this.addEventListener("blur",()=>this.handleBlur()),this.addEventListener("cut",()=>this.handleCut()),this.addEventListener("paste",n=>this.handlePaste(n)),this.addEventListener("click",()=>this.handleInteraction()),document.activeElement===this.element&&(this.isFocused=!0);let e=new MutationObserver(()=>{this.element.isConnected||(this.emit("unmounted"),this.dispose())});e.observe(document.body,{subtree:!0,childList:!0}),this.disposeHandlers.push(()=>{e.disconnect()})}focus(){this.element.focus()}emit(e,...n){this.isDisposed||this.eventListeners[e]&&this.eventListeners[e].forEach(o=>{o(...n)})}on(e,n){this.isDisposed||(this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(n))}off(e,n){if(!this.eventListeners[e])return;let o=this.eventListeners[e].indexOf(n);o!==-1&&this.eventListeners[e].splice(o,1)}activate(){let e=this.isActive===!1;this.isActive=!0,e&&this.handleInteraction()}deactivate(){this.isActive=!1}dispose(){this.disposeHandlers.forEach(e=>e()),this.eventListeners={},this.isDisposed=!0}};function jc(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var Jt=class extends qe{constructor(){super(...arguments);this.lastKnownSelection=null}getRootNode(){return this.element.getRootNode()}getText(){let n=new Range;return n.selectNodeContents(this.element),us(this.element,n)}getHTML(){return this.element.innerHTML||""}getRange(){let n=this.getRootNode();if(n.activeElement!==this.element)return null;let o="getSelection"in n?n.getSelection():window.getSelection();if(!o)return null;let s=o.rangeCount>0?o.getRangeAt(0):null;if(!s)return null;let r=this.element.ownerDocument.createRange();return r.setStart(s==null?void 0:s.startContainer,s==null?void 0:s.startOffset),r.setEnd(s==null?void 0:s.endContainer,s==null?void 0:s.endOffset),!r||!this.element.contains(r.startContainer)||!this.element.contains(r.endContainer)?null:r}getCaretPosition(){let n=this.getRange();if(!n||!n.collapsed||!("getBoundingClientRect"in n))return null;let o=n.getBoundingClientRect();return!jc(o)&&(n.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=n.getBoundingClientRect(),n.deleteContents(),!jc(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let n=this.getRange();if(n)return cs(this.element,n);let o=this.lastKnownSelection;if(o&&zc(this.element,o.start,o.end))return o;let s=Kn(this.element);return s.collapse(!1),cs(this.element,s)}getSelectedText(){let{start:n,end:o}=this.getSelection();return us(this.element,yt(this.element,n,o))}listen(){super.listen();let n=new MutationObserver(r=>{var i,a;r.length===2&&r[0].addedNodes.length===1&&((i=r[0].addedNodes[0])==null?void 0:i.textContent)==="\u2060"&&((a=r[1].removedNodes[0])==null?void 0:a.textContent)==="\u2060"||setTimeout(()=>{this.handleInteraction()},0)});n.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0}),this.disposeHandlers.push(()=>n.disconnect());let o=this.element.isContentEditable,s=new MutationObserver(()=>{this.element.isContentEditable!==o&&(o=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});s.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>s.disconnect())}};var nS=["direction","boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize"];function $c(t,e){let n="mozInnerScreenX"in window,o=document.createElement("div");o.id="input-textarea-caret-position-mirror-div";let s=o.style,r=window.getComputedStyle(t),i=t.ownerDocument.body;s.whiteSpace="pre-wrap",s.wordWrap="break-word",s.position="absolute",s.visibility="hidden",nS.forEach(c=>{s[c]=r[c]}),n?t.scrollHeight>Number.parseInt(r.height)&&(s.overflowY="scroll"):s.overflow="hidden",o.textContent=t.value.substring(0,e);let a=document.createElement("span");a.textContent=t.value.substring(e)||".",o.appendChild(a),i.appendChild(o);let d=t.getBoundingClientRect(),l={top:d.top-t.scrollTop+a.offsetTop+Number.parseInt(r.borderTopWidth)+a.offsetHeight,left:d.left-t.scrollLeft+a.offsetLeft+Number.parseInt(r.borderLeftWidth)};return i.removeChild(o),l}var Qt=class extends qe{constructor(){super(...arguments);this.lastKnownSelection=null}getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:n,selectionEnd:o}=this.element;return{start:n,end:o}}getSelectedText(){let n=this.getSelection();return n?this.getText().slice(n.start,n.end):""}getCaretPosition(){return $c(this.element,this.element.selectionEnd)}listen(){super.listen();let n=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value");Object.defineProperty(this.element,"value",{configurable:!0,get:()=>{var r;return(r=n==null?void 0:n.get)==null?void 0:r.call(this.element)},set:r=>{var i;(i=n==null?void 0:n.set)==null||i.call(this.element,r),this.handleInteraction()}}),this.addEventListener("scroll",()=>{this.emit("caretposition",this.getCaretPosition())});let o=this.element.disabled,s=new MutationObserver(()=>{this.element.disabled!==o&&(o=this.element.disabled,this.emit(o?"disabled":"enabled"))});s.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>s.disconnect())}};function Gc(t,e,n){let o=`deepdesk-iframe-${t}`,s=document.getElementById(o);if(s)return s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(n).forEach(([a,d])=>{i.searchParams.append(a,d)}),r.style.position="absolute",r.style.left="-999em",r.style.width="0px",r.style.height="0px",r.tabIndex=-1,r.id=o,r.title=`iframe-${t}`,r.src=i.toString(),window.document.body.appendChild(r),r}function oS(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch(e){return t}}var Jr=class{constructor(e){this.name=e;this.disposeHandlers=[];this.broadcastChannel=new BroadcastChannel(e)}onMessage(e){this.broadcastChannel.addEventListener("message",e),this.disposeHandlers.push(()=>{this.broadcastChannel.removeEventListener("message",e)})}postMessage(e){this.broadcastChannel.postMessage(JSON.stringify(e))}close(){this.disposeHandlers.forEach(e=>e()),this.broadcastChannel.close()}},Qr=class{constructor(e,n,o){this.name=e;this.targetOrigin=n;this.options=o;this.disposeHandlers=[];this.iframe=Gc(e,`${this.targetOrigin}/sdk/proxy/proxy.html`,{channel:this.name,host:window.location.origin,debug:"1"}),document.body.appendChild(this.iframe)}onMessage(e){window.addEventListener("message",e),this.disposeHandlers.push(()=>{window.removeEventListener("message",e)})}postMessage(e){var n;(n=this.iframe.contentWindow)==null||n.postMessage(JSON.stringify(e),this.targetOrigin)}close(){var e;this.disposeHandlers.forEach(n=>n()),(e=this.iframe)==null||e.remove()}},Zr=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.externalId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setExternalId(e){this.externalId!==e&&(this.cleanup(),E.info("Set externalId",e),this.externalId=e,this.channel=this.createChannel(e))}createChannel(e){let n=this.params.createCustomChannel?this.params.createCustomChannel(e):this.isCrossOrigin?new Qr(e,this.deepdeskUrl,{debug:!0}):new Jr(e),o=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=oS(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(E.info("Received broadcast event",this.externalId,s),(a=(i=this.eventMap)[r.name])==null||a.call(i,r.payload))};return n.onMessage(o),n}send(e,n,o){var i,a;E.info("Broadcast event",{externalId:this.externalId,name:e,payload:n});let s={type:"event",name:e,payload:n};o!==!1&&((a=(i=this.eventMap)[e])==null||a.call(i,n));let r=this.externalId==="deepdesk-general"?this.defaultChannel:this.channel;r==null||r.postMessage(x(y({},s),{channel:this.externalId}))}cleanup(e=!1){var n,o;(n=this.channel)==null||n.close(),this.channel=void 0,e&&((o=this.defaultChannel)==null||o.close(),this.defaultChannel=void 0)}},qc=Zr;function sS(t){return t.replace(/(_\w)/g,e=>e[1].toUpperCase())}function B(t){return Array.isArray(t)?t.map(B):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,n)=>x(y({},e),{[sS(n)]:B(t[n])}),{}):t}function rS(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function Y(t){return Array.isArray(t)?t.map(Y):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,n)=>x(y({},e),{[rS(n)]:Y(t[n])}),{}):t}var Zt=class extends Error{constructor(n,o){super(n);this.body=o;this.name="CustomError"}};var Yr=t=>new Promise(e=>{setTimeout(e,t)});var Yt=class extends Zt{constructor(){super(...arguments);this.name="ClientError"}},ti=class extends Zt{constructor(){super(...arguments);this.name="ServerError"}},ei=new Map;function iS(t){return v(this,null,function*(){if(t.status===204)return t.text().catch(()=>{}),null;let e=t.headers.get("content-type");if(e!=null&&e.includes("application/json"))return t.json();let n=yield t.text();return n===""?null:(E.warn("Unexpected response body:",n.slice(0,20)),JSON.parse(n))})}var Xe=class Xe{constructor(e="",n={}){this.baseUrl=e;this.options=n;this.latestRequestByUrl={};var o;this.fetch=(o=n.fetch)!=null?o:window.fetch.bind(window)}patchFetch(e){this.fetch=e(this.fetch)}setCsrfToken(e){this.csrfToken=e}request(e,n={}){return new Promise((o,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,d=n.method===void 0||n.method.toLowerCase()==="get",O=n,{useCache:l=!1,abortLatest:c=!1,attempts:p=1,retryDelay:u=500,refreshTokenOn401:m=!0,retryOnError:f=_=>_ instanceof TypeError,retryOnResponse:g=_=>_.status>=500,version:h=null}=O,C=A(O,["useCache","abortLatest","attempts","retryDelay","refreshTokenOn401","retryOnError","retryOnResponse","version"]);if(l){if(!d)throw new Error(`Can't use 'useCache' for ${n.method}`);if(ei.has(i)){o(ei.get(i));return}}let T=x(y({credentials:"include"},C),{headers:y({Accept:"application/json","Content-Type":"application/json"},C.headers)});!d&&this.csrfToken&&(T.headers=x(y({},T.headers),{"X-CSRFToken":this.csrfToken})),typeof h=="string"&&(T.headers=x(y({},T.headers),{"X-Deepdesk-API-Version":h}));let b=p,R=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&c&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let I=()=>v(this,null,function*(){return b--,a(i,T).then(_=>v(this,null,function*(){return g(_)&&!r.isAborted&&b>0?(yield Yr(u),I()):_.status===401&&m===!0&&R===!1?(R=!0,yield this.refreshToken(),I()):_})).catch(_=>v(this,null,function*(){if(f(_)&&!r.isAborted&&b>0)return yield Yr(u),I();throw _}))});I().then(_=>v(this,null,function*(){let K=yield iS(_);if(delete this.latestRequestByUrl[i],_.status>=500){s(new ti("Server Error",K));return}if(_.status===401){s(new Yt("Unauthorized",K));return}if(_.status===403){s(new Yt("Forbidden",K));return}if(_.status===404){s(new Yt("Not Found",K));return}if(_.status>=400){s(new Yt("Bad Request",K));return}l&&ei.set(i,K),o(K)})).catch(_=>{s(_)})})}validateToken(){return v(this,null,function*(){let{has_valid_access_token:e,is_logged_in:n}=yield this.get("/apis/admin/session/validate/");if(!e)try{yield this.refreshToken();let{is_logged_in:o}=yield this.get("/apis/admin/session/validate/");return o}catch(o){return!1}return n})}refreshToken(){return Xe.refreshingToken||(Xe.refreshingToken=this.get("/apis/admin/session/refresh/",{refreshTokenOn401:!1}).finally(()=>{setTimeout(()=>{Xe.refreshingToken=null},1e3*60)})),Xe.refreshingToken}get(e,n){return this.request(e,n)}post(e,n,o){return this.request(e,y({method:"POST",body:JSON.stringify(n)},o))}patch(e,n,o){return this.request(e,y({method:"PATCH",body:JSON.stringify(n)},o))}put(e,n,o){return this.request(e,y({method:"PUT",body:JSON.stringify(n)},o))}delete(e,n){return this.request(e,y({method:"DELETE"},n))}};Xe.refreshingToken=null;var en=Xe;var Xc;(e=>{let t;(a=>(a.SUCCESS="success",a.FAILURE="failure",a.CONDITIONS_NOT_MET="conditions_not_met",a.MAX_RECURSION_LEVEL="max_recursion_level",a.NO_ACCESS_TO_ASSISTANT="no_access_to_assistant"))(t=e.EvaluationStatus||(e.EvaluationStatus={}))})(Xc||(Xc={}));function ni(t){return x(y({},B(t)),{metadata:t.metadata})}var vt=class vt{constructor(e,n={}){this.options=n;this.latestReceivedDeepdeskVersions={};this.shouldFetchCsrfToken=!0;this.client=new en(e,{fetch:n.fetch}),this.client.patchFetch(o=>(s,r)=>v(this,null,function*(){let i=yield o(s,r);return this.handleDeepdeskVersionHeaders(i),i}))}preflight(){return v(this,null,function*(){if(this.shouldFetchCsrfToken){this.shouldFetchCsrfToken=!1;let e=yield this.getCsrfToken();this.client.setCsrfToken(e)}return this.options.token?(vt.exchangeTokenPromise||(vt.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),vt.exchangeTokenPromise):Promise.resolve()})}createConversation(e){return v(this,null,function*(){var o;yield this.preflight(),E.info(`Creating conversation for session ${e.externalId} and agent ${e.agentId}`);let n=yield this.client.post("/api/v2/conversations",x(y({chat_start_time:new Date().toISOString()},Y(e)),{metadata:(o=e.metadata)!=null?o:{}}));return ni(n)})}getMe(){return v(this,null,function*(){let e=yield this.client.get("/apis/admin/session/me/");return B(e)})}postIdentity(e){return v(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/me/identities/",Y(e))})}patchMe(e){return v(this,null,function*(){yield this.preflight();let n=yield this.client.patch("/apis/admin/session/me/",Y(e));return B(n)})}getProfile(e){return v(this,null,function*(){let n=yield this.client.get(`/apis/admin/profiles/${e}/`,{useCache:!0});return B(n)})}getKnowledgeAssistant(e){return v(this,null,function*(){let n=yield this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{useCache:!0});return B(n)})}getContentTypes(){return v(this,null,function*(){let e=yield this.client.get("/apis/admin/content-types/",{useCache:!0});return B(e)})}getAccount(){return v(this,null,function*(){let e=yield this.client.get("/apis/admin/account/",{useCache:!0});return B(e)})}getPlatformConfig(e){return v(this,null,function*(){let n=e!==void 0?`/platform/config/${e}/`:"/platform/config/",{config:o}=yield this.client.get(n,{useCache:!0});return B(o)})}checkUserExists(e){return v(this,null,function*(){let{exists:n}=yield this.client.get(`/apis/admin/users/exists?external_id=${e}`,{version:"v1"});return n})}getConversationByExternalId(o){return v(this,arguments,function*(e,n={}){yield this.preflight(),E.info(`Getting conversation for session ${e}`);let{attempts:s=1,retryDelay:r=1e3}=n,i=yield this.client.get(`/api/v2/conversations/by_external_id/${e}`,{attempts:s,retryDelay:r,retryOnResponse:a=>a.status===404||a.status>=500,version:"v2"});return E.info(`Successfully retrieved conversation ${i.id} for session ${e}`),ni(i)})}isConversationSupported(o){return v(this,arguments,function*(e,n={}){E.info(`Check if conversation for session ${e} is supported`);let{attempts:s=1,retryDelay:r=1e3}=n;return(yield this.client.get(`/api/v2/conversations/by_external_id/${e}/has_active_profile`,{attempts:s,retryDelay:r,retryOnResponse:a=>a.status===404||a.status>=500})).has_active_profile})}updateConversation(e,n){return v(this,null,function*(){var r;yield this.preflight();let o=Y(n);n.metadata&&(o.metadata=(r=n.metadata)!=null?r:{});let s=yield this.client.put(`/api/v2/conversations/${e}`,o);return ni(s)})}postMessages(e,n){return v(this,null,function*(){yield this.preflight(),yield this.client.post(`/api/v2/conversations/${e}/messages`,n.map(o=>x(y({},Y(o)),{metadata:o.metadata})))})}sendEvent(e,n){return v(this,null,function*(){yield this.preflight();let a=n,{data:o}=a,s=A(a,["data"]),r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((d,[l,c])=>x(y({},d),{[l]:c}),{}),i=["platform","agentId","agentName","agentEmail","conversationId"].reduce((d,l)=>(s[l]&&(d[l]=s[l]),d),{});return this.client.post("/api/v2/events",Y(x(y(y({},r),i),{data:o,name:e})),{version:"v2"})})}getEntities(e){return v(this,null,function*(){return yield this.preflight(),yield this.client.post("/api/v2/entities",{messages:e.filter(o=>o.text)})})}getTemporaryExchangeToken(){return v(this,null,function*(){return(yield this.client.get("/apis/admin/session/exchange-token/")).jwt})}exchangeTokenForAccessCookie(e){return v(this,null,function*(){return this.client.post("/apis/admin/session/jwt/",{jwt:e}).catch(n=>{throw E.warn(`Invalid token '${e}'`),n})})}authenticateWithKey(e,n){return v(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/api-key/",Y(n),{refreshTokenOn401:!1,headers:{apikey:e}})})}getTextSuggestions(s){return v(this,arguments,function*(e,n={},o){if(yield this.preflight(),o==="sticky-messages")throw new Error("Use getPinnedMessages instead");return(yield this.client.post(`/api/v2/conversations/${e}/recommend/${o}`,Y(n),{abortLatest:!0})).map(i=>x(y({},B(i)),{text:i.text||i.url||i.message,source:o,type:o})).filter((i,a,d)=>a===d.findIndex(l=>l.text===i.text))})}isLoggedIn(){return v(this,null,function*(){return yield this.preflight(),this.client.validateToken()})}getAutocompleteSuggestions(e,n){return v(this,null,function*(){return yield this.preflight(),(yield this.client.post(`/api/v2/conversations/${e}/autocomplete`,Y(n),{abortLatest:!0})).map(s=>({score:1,source:s.source,sourceText:s.source_text,text:s.label,trainingJobs:s.training_jobs,searchKeywords:s.search_keywords,type:s.source})).filter((s,r,i)=>r===i.findIndex(a=>a.text===s.text))})}getPinnedMessages(e){return v(this,null,function*(){let n=yield this.client.get(`/api/v2/profiles/${e}/pinned-messages`,{abortLatest:!0});return B(n).map(o=>x(y({},o),{text:o.message,source:"sticky-messages",type:"pinned-message"}))})}getStyleSuggestions(e){return v(this,null,function*(){let n=yield this.client.post("/api/v2/style-suggestions",Y(e),{abortLatest:!0,version:"v2"});return B(n)})}search(e){return v(this,null,function*(){let n=yield this.client.post(`/api/v2/profiles/${e.profile}/search`,Y(e));return B(n)})}requestLoginByEmail(e){return v(this,null,function*(){yield this.preflight();let n=yield this.client.post("/apis/admin/session/passwordless/request/",{email:e});return B(n)})}requestPasswordlessToken(){return v(this,null,function*(){let e=yield this.client.get("/apis/admin/session/passwordless/request/");return B(e.token)})}getCsrfToken(){return v(this,null,function*(){let{token:e}=yield this.client.get("/apis/admin/session/csrf/");return e})}verifyLoginToken(e){return v(this,null,function*(){let n=yield this.client.post("/apis/admin/session/passwordless/login/",{token:e});return B(n)})}evaluateAssistant(e,n){return v(this,null,function*(){var i;yield this.preflight();let o=new URLSearchParams;n!=null&&n.externalConversationId&&o.append("external_conversation_id",n.externalConversationId);let s=n!=null&&n.threadId?`/api/v2/assistants/${e}/threads/${n==null?void 0:n.threadId}/evaluate?${o.toString()}`:`/api/v2/assistants/${e}/evaluate?${o.toString()}`,r=yield this.client.post(s,{input:(i=n==null?void 0:n.input)!=null?i:{},conversation:n==null?void 0:n.transcript});return B(r)})}createAssistantThread(e){return v(this,null,function*(){yield this.preflight();let{assistantCode:n}=e,o=yield this.client.post(`/apis/admin/assistants/${n}/threads/`,{});return B(o)})}postMessageToAssistantThread(e){return v(this,null,function*(){yield this.preflight();let{assistantCode:n,threadId:o,message:s}=e,r=yield this.client.post(`/apis/admin/assistants/${n}/threads/${o}/messages/`,{content:s,role:"user"});return B(r)})}translateMessages(e){return v(this,null,function*(){yield this.preflight();let n=yield this.client.post("/api/v2/translate",Y(e));return B(n)})}handleDeepdeskVersionHeaders(e){e.headers.forEach((n,o)=>{let s=o.toLowerCase(),r=s.match(Mi);if(!n||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&n&&a!==n&&E.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(n)}`),this.latestReceivedDeepdeskVersions[i]=n})}};vt.exchangeTokenPromise=null;var Je=vt;import{combineReducers as mS,configureStore as gS}from"@reduxjs/toolkit";import{createSlice as aS}from"@reduxjs/toolkit";var Jc={startTime:null,stopTime:null},Qc=t=>t.handlingTime,Zc=aS({name:"handlingTime",initialState:Jc,reducers:{handlingTimeStart(t){if(t.startTime&&!t.stopTime)throw new Error("Timing already started");t.startTime=new Date,t.stopTime=null},handlingTimeStop(t){if(!t.startTime)throw new Error("Timing not started");t.stopTime=new Date},handlingTimeReset(t){t.startTime=null,t.stopTime=null}},extraReducers:t=>{t.addCase(V,()=>Jc)}}),{handlingTimeStart:Yc,handlingTimeStop:ps,handlingTimeReset:eu}=Zc.actions,tu=Zc.reducer;var nu=(t={})=>{let e=y({onAuthError:Et(!1)},t);return n=>o=>s=>("error"in s&&s.error.message==="Unauthorized"&&n.dispatch(e.onAuthError),o(s))};import{createAsyncThunk as lS,createSlice as dS}from"@reduxjs/toolkit";var ms={list:{keywordMatches:[]},fetchState:"idle"};var St=lS("styleSuggestions/getAll",(n,o)=>v(null,[n,o],function*({text:t},e){var d;let{deepdeskAPI:s}=e.extra,r=e.getState(),{showStyleSuggestions:i}=r.settings,a=(d=r.conversation.current)==null?void 0:d.profileCode;if(!i)return ms.list;if(!a)throw new Error("No current conversation to fetch pinned messages");return s.getStyleSuggestions({profileCode:a,message:t})})),cS=dS({name:"styleSuggestions",initialState:ms,reducers:{},extraReducers:t=>{t.addCase(St.pending,e=>{e.fetchState="loading"}).addCase(St.rejected,e=>{e.fetchState="error"}).addCase(St.fulfilled,(e,n)=>{e.fetchState="done",Ve(e.list,n.payload)||(e.list=n.payload)}).addCase(nt,e=>{e.list=ms.list}).addCase(V,()=>ms)}}),ou=cS.reducer;var su=(t={})=>{let e,n=!0,o=y({getStyleSuggestions:St,debounce:500},t);return s=>r=>i=>{var m;let a=s.getState().input.text,d=r(i),l=s.getState();if(l.auth.isLoggedIn!==!0)return d;let{showStyleSuggestions:c}=l.settings;if(!((m=l.conversation.current)==null?void 0:m.id)||!c)return d;let{text:u}=l.input;return u===a&&!n||(clearTimeout(e),u==="")||(e=setTimeout(()=>{n=!1,s.dispatch(o.getStyleSuggestions({text:u}))},t.debounce)),d}};function uS(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var ru=(t={})=>{let e=y({getTextSuggestions:fe,getAutocompleteSuggestions:An,debounce:200,check:be},t),n;return o=>s=>r=>{var g;let{input:i}=o.getState(),a=s(r),d=o.getState();if(d.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:l,showTabCompletion:c}=d.settings,p=(g=d.conversation.current)==null?void 0:g.id,u=r.type===Lo.toString();if(!p||!l&&!c)return a;let{input:m}=d;return uS(m,i)&&!u||(clearTimeout(n),!e.check(d))||(n=setTimeout(()=>{let h=Pt(d);h===""?o.dispatch(e.getTextSuggestions("default")):o.dispatch(e.getAutocompleteSuggestions(h))},u?0:e.debounce)),a}};var iu=St.fulfilled.toString();function pS(t,e){let n=new Set([...e.keywordMatches.map(s=>s.keyword)]),o=[];return n.forEach(s=>{let r=t.keywordMatches.filter(d=>d.keyword===s),i=e.keywordMatches.filter(d=>d.keyword===s),a=i.length-r.length;a<=0||o.push(...i.slice(0,a))}),o}var au=t=>e=>n=>o=>{var l;if(o.type!==iu){n(o);return}let s=e.getState().styleSuggestions.list;n(o);let r=e.getState(),i=r.styleSuggestions.list,a=(l=r.conversation)==null?void 0:l.current;if(s===i)return;let d=pS(s,i);o.type===iu&&d.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:d}})};var fS=mS({assistants:Jd,auth:Ki,conversation:Gi,contentTypes:Wa,passwordlessToken:ec,entities:Sl,handlingTime:tu,info:ha,input:ia,settings:Di,profile:Ga,search:Ca,styleSuggestions:ou,ui:Xl,textSuggestions:Nl});function lu(t){return gS({reducer:fS,middleware:e=>{var o;let n=e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI}},serializableCheck:!1}).concat(nu()).concat(ru({debounce:200})).concat(su({debounce:500})).concat(au(t.deepdeskAPI));return((o=t.middleware)!=null?o:[]).reduce((s,r)=>s.concat(r),n)},preloadedState:t.preloadedState})}var hS=t=>{var e,n;return(n=(e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())!=null?n:"unknown"},yS=t=>e=>n=>o=>{var a,d;let s=e.getState(),r=wt("inlineSuggestions")(s);switch(o.type){case Et.toString():{!o.payload&&t.emit("logout",void 0);break}case ge.fulfilled.toString():o.payload.length>0&&t.sendEvent("entities found",{conversationId:(a=s.conversation.current)==null?void 0:a.id,data:{entities:o.payload}});break;case nt.toString():t.logSendMessage(o.payload);break;case qo.toString():t.emit("call-to-action",{cue:o.payload});break;case we.fulfilled.toString():o.isBroadcasted||t.broadcast(_s,o,!1);break;default:break}let i=n(o);switch(o.type){case nt.toString():t.handleAfterSendMessage(o.payload);break;case Mn.toString():t.onUpdateShowTabHint(o.payload);break;case ps.toString():t.logHandlingTime();break;case Lt.toString():t.broadcast(uo,o);break;case tt.toString():t.broadcast(uo,o);break;case Xo.toString():e.dispatch(tt({source:"assistant",assistantCode:o.payload.code}));break;case"analytics/logEvent/fulfilled":{let l=s.assistants.cues.find(c=>c.code===o.meta.arg.data.assistantCode);t.emit("event",x(y({},o.meta.arg),{cue:l}));break}case se.toString():{let{start:l,end:c}=s.input.selection;t.emit("select-suggestion",x(y({type:hS(o.payload.suggestion)},o.payload),{replace:o.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}})),r&&e.dispatch(je([]));break}case no.toString():t.emit("select-image",o.payload),t.sendEvent("Image attached",{conversationId:(d=s.conversation.current)==null?void 0:d.id,data:{path:o.payload.suggestion.image,title:o.payload.suggestion.title}});break;case je.toString():{r&&o.payload.length>0&&e.dispatch(oo(0));break}default:break}return i},du=yS;import{createSelector as vS}from"@reduxjs/toolkit";function oi(t){return t.toISOString().replace("T"," ").replace("Z","")}var SS=(t,e)=>e.version,cu=vS([At,ye,Qc,SS],(t,e,n,o)=>{if(!e)return E.warn("No conversationId for handling time metrics"),null;let{startTime:s,stopTime:r}=n;return!s||!r?(E.warn("No startTime and stopTime for handling time metrics"),null):{conversationId:e,clientVersion:o,agentId:t==null?void 0:t.agentId,agentName:t==null?void 0:t.agentName,agentEmail:t==null?void 0:t.agentEmail,timeStart:oi(s),timeStop:oi(r)}});function uu(t,e){let{text:n,metrics:{numPaste:o,pastes:s,textSuggestions:r}}=t.input,i=n.length;return{source:"agent",clientVersion:e.version,pastes:s,lenTextTotal:i,numPastes:o,suggestions:r}}function si(t,e){var r;let n=t.closest(e);if(n)return n;let o=t.getRootNode().host;if(o instanceof HTMLElement)return si(o,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?si(s,e):null}function ri(t,e){return si(t,e)}function pu(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function xS(t){return typeof t=="object"&&t!==null&&"tagName"in t}function ii(t){return xS(t)&&(mt(t)||Bo(t))}var gu,Ee=new Map,bS=["bottom","height","left","right","top","width"],mu=(t,e)=>!t&&!e?!1:t&&!e||!t&&e?!0:bS.some(n=>t[n]!==e[n]);function fu(t){var n,o,s;if(t.ownerDocument===document)return[];let e=(s=(o=(n=t.ownerDocument)==null?void 0:n.defaultView)==null?void 0:o.frameElement)!=null?s:null;return e?[e,...fu(e)]:[]}function hu(t,e){return!t||!e?null:x(y({},t),{top:t.top+e.top,left:t.left+e.left})}var gs=!1,yu=()=>{gs=!0;let t=[];if(Ee.forEach((e,n)=>{if(!n.isConnected){e.rect=null,t.push(e),Ee.delete(n);return}let o=n.getBoundingClientRect();mu(o,e.rect)&&(e.rect=o,t.push(e))}),t.forEach(e=>{let n=e.parentRects?e.parentRects.reduce(hu,e.rect):e.rect;mu(n,e.totalRect)&&e.callbacks.forEach(o=>o(n)),e.totalRect=n}),Ee.size===0){gs=!1;return}gu=window.requestAnimationFrame(yu)};function ai(t,e){let n=fu(t),o=[],s=n.map((r,i)=>ai(r,a=>{o[i]=a;let d=Ee.get(t);if(!d)return;let l=o.reduce(hu,d.rect);d.callbacks.forEach(c=>c(l))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),Ee.has(t)){let i=Ee.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else Ee.set(t,{rect:void 0,callbacks:[e],parentRects:o});r&&!gs&&yu()},unobserve(){s.forEach(i=>i.unobserve());let r=Ee.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||Ee.delete(t),Ee.size||(cancelAnimationFrame(gu),gs=!1)}}}}var vu,ke=new Map,Su=()=>{ke.forEach((t,e)=>{if(!e.isConnected){ke.delete(e);return}let{clientHeight:n,scrollHeight:o}=e,s=o>n;t.visible!==s&&(t.visible=s,t.callbacks.forEach(r=>r(t.visible)))}),ke.size!==0&&(vu=window.requestAnimationFrame(Su))};function xu(t,e){return{observe(){let n=ke.size===0;ke.has(t)?ke.get(t).callbacks.push(e):ke.set(t,{visible:void 0,callbacks:[e]}),n&&Su()},unobserve(){let n=ke.get(t);if(n){let o=n.callbacks.indexOf(e);o>=0&&n.callbacks.splice(o,1),n.callbacks.length||ke.delete(t),ke.size||cancelAnimationFrame(vu)}}}}var li=["borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","borderStyle","boxSizing","color","overflowWrap","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontWeight","fontKerning","lineHeight","letterSpacing","paddingLeft","paddingTop","paddingRight","paddingBottom","width","height","textIndent","whiteSpace","wordBreak","wordSpacing","wordWrap"];function di(t,e,n){return n.forEach(o=>{e.style[o]=t[o]})}function tn(t){return Number.parseFloat(t)}function fs(t){return Math.round(t*1e6)}function bu(t){return t/1e6}function ci(t,e,n){if(t.boxSizing==="content-box")return;let{clientWidth:o}=e,s=tn(t.width),r=tn(t.borderLeftWidth),i=tn(t.borderRightWidth),a=tn(t.paddingRight),d=bu(fs(s)-fs(r)-fs(i)),l=bu(fs(o));if(d-l>2){let c=d-l;n.style.paddingRight=`${a+c}px`}}function hs(t,e={}){var c,p;let n=e.overlayContainer||document.createElement("div");n.style.display="none",n.style.position=(c=e.position)!=null?c:"fixed",n.style.pointerEvents="none",n.style.borderColor="transparent",ct(n);let o=window.getComputedStyle(t),s=!0,r=()=>{n.scrollTop=t.scrollTop};di(o,n,li),ci(o,t,n),e.mirrorOverflow&&(n.style.overflow="hidden",t.addEventListener("scroll",r));let i=xu(t,()=>{di(o,n,li),ci(o,t,n),r(),setTimeout(r,0)}),a,d=!0,l=ai(t,u=>{if(u===null){e.onRemove&&e.onRemove(),n.remove();return}if(!d&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),d=!0),clearTimeout(a),a=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),d=!1},200),u.height===0&&u.width===0){if(s===!0)return;e.onHide&&e.onHide(),n.style.display="none",s=!0;return}if(di(o,n,li),ci(o,t,n),r(),e.placement==="below"&&n.classList.add("below"),n.style.top=`${u.top}px`,n.style.left=`${u.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let m=e.closestScrollElement.getBoundingClientRect(),f=window.getComputedStyle(e.closestScrollElement),g=tn(f.borderTopWidth),h=tn(f.borderBottomWidth),C=m.top+g-u.top,T=u.top+u.height+-(m.top+m.height-h);n.style.clipPath=`inset(${C}px 0px ${T}px 0px)`}s&&(n.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(n):(p=t.parentElement)==null||p.appendChild(n),l.observe(),i.observe(),[n,()=>{t.removeEventListener("scroll",r),l.unobserve(),i.unobserve(),n.remove()}]}var Cu=(t,e)=>({value(){try{let n=sessionStorage.getItem(`dd-${t}`);if(!n)return e;try{return JSON.parse(n)}catch(o){return e}}catch(n){return e}},update(n){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(n))}catch(o){E.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function CS(t){return t.offsetParent!==null}function Tu(t){if(!CS(t))return!1;let e=t.getBoundingClientRect();return e.top>=0&&e.left>=0&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&e.right<=(window.innerWidth||document.documentElement.clientWidth)}function ui(t,e,n=100){let o=Tu(t);e({isVisible:o});let s=setInterval(()=>{let r=Tu(t);r!==o&&(o=r,e({isVisible:o}))},n);return()=>{clearTimeout(s)}}var Wn=class extends Error{};function TS(){let t,e;return{promise:new Promise((o,s)=>{t=o,e=s}),resolve:t,reject:e}}var ys=class{constructor(){this.queues={}}push(e,n){let o=()=>{let r=this.queues[e][1];r?(this.queues[e]=[r.promise,null],r.resolve()):delete this.queues[e]};if(!this.queues[e]){let r=n().finally(o);return this.queues[e]=[r,null],r}this.queues[e][1]&&this.queues[e][1].reject(new Wn("Queued async function is outdated"));let s=TS();return this.queues[e][1]=s,s.promise.then(()=>n().finally(o))}};var wS={accepted:"onConversationAcceptedAssistants","new-message":"onConversationNewMessageAssistants",ended:"onConversationEndedAssistants"},wu=(t,e)=>{var s,r,i;if(!((i=(r=(s=t.uiConfig)==null?void 0:s.widget)==null?void 0:r.types.find(a=>a.type==="cues"))==null?void 0:i.isActive))return E.warn("Triggered a conversation assistant, but cues are not configured in widget."),[];let o=t[wS[e]];return o&&o.length>0?o.map(a=>a.code):(E.warn(`No assistant set in profile for conversation event "${e}"`),[])};var vs=class{constructor(e){this.options=e;this.socket=null;this.maxReconnectAttempts=5;this.reconnectInterval=25e3;this.cleanupCallbacks=[];var n,o;this.socket,this.eventListeners=new Map,this.url=e.url,this.maxReconnectAttempts=(n=e.maxReconnectAttempts)!=null?n:this.maxReconnectAttempts,this.reconnectInterval=(o=e.reconnectInterval)!=null?o:this.reconnectInterval,this.shouldReconnect=e.shouldReconnect}connect(){let e=()=>this.cleanup();window.addEventListener("beforeunload",e),this.cleanupCallbacks.push(()=>window.removeEventListener("beforeunload",e)),this.reconnect()}setupListeners(){this.socket&&(this.socket.onmessage=e=>{var n;try{let o=B(JSON.parse(e.data));o.event&&this.eventListeners.has(o.event)&&((n=this.eventListeners.get(o.event))==null||n.forEach(s=>s(o.data)))}catch(o){console.error("Error parsing WebSocket message:",o)}},this.socket.onclose=e=>{console.log("WebSocket connection closed:",e),setTimeout(()=>{this.reconnect()},this.reconnectInterval)},this.socket.onerror=e=>{console.error("WebSocket error:",e)})}reconnect(){var e,n;if(this.maxReconnectAttempts<=0){console.error("Max reconnect attempts reached, closing WebSocket connection."),(e=this.socket)==null||e.close();return}if(!this.shouldReconnect()){console.error("Should not reconnect, closing WebSocket connection."),(n=this.socket)==null||n.close();return}this.socket&&(this.socket.onmessage=null,this.socket.onclose=null,this.socket.onerror=null,this.socket.close()),this.socket=new WebSocket(this.url),this.setupListeners(),this.maxReconnectAttempts--}send(e,n){if(!this.socket){console.error("WebSocket connection is not open.");return}this.socket.send(JSON.stringify({event:e,data:n}))}on(e,n){this.eventListeners.has(e)||this.eventListeners.set(e,[]);let o=this.eventListeners.get(e);o&&!o.includes(n)&&o.push(n)}close(){var e;(e=this.socket)==null||e.close()}cleanup(){this.close(),this.cleanupCallbacks.forEach(e=>e()),this.cleanupCallbacks=[]}};import RS,{useState as mi,useEffect as PS}from"react";var Eu={root:"dd-7zvcP",dialogContent:"dd-4C0lK",continueButton:"dd-YUPQW",buttonContinueWrapper:"dd-IKpYs",nicknameInput:"dd-rxhGp",titleWrapper:"dd-nw3nD",title:"dd-5iof5",closeButtonWrapper:"dd-UUAzA",closeButton:"dd-7rjP5",buttonsWrapper:"dd-5e9Xb",errorMessage:"dd--5VgX",errorLink:"dd-u461n"};import{useSelector as IS}from"react-redux";var pi={};q(pi,{enUS:()=>ES,nlNL:()=>kS});var ES={title:[{type:0,value:"Enter your nickname"}],close:[{type:0,value:"Close"}],nicknameDialogTitle:[{type:0,value:"Please enter the name you'd like customers to see during chat conversations. This nickname will be used across your Deepdesk environment.Please enter the name you'd like customers to see during chat conversations. This nickname will be used across your Deepdesk environment."}],nicknameDialogInputPlaceholder:[{type:0,value:"Enter your nickname"}],nicknameDialogContinueButton:[{type:0,value:"Continue"}],nicknameDialogError:[{type:0,value:"Nickname cannot be empty or spaces only"}],nicknameDialogEmojiError:[{type:0,value:"You cannot use emojis in this field."}],nicknameDialogSaveError:[{type:0,value:"We couldn't save your details just now. Please try again, or update it at "},{type:1,value:"account"},{type:0,value:".deepdesk.com/admin/user-settings"}],nicknameDialogSaveErrorWithoutLink:[{type:0,value:"We couldn\u2019t save your details just now. Please try again later, or update them in My Deepdesk \u2192 Settings."}]},kS={title:[{type:0,value:"Voer je bijnaam in"}],close:[{type:0,value:"Sluiten"}],nicknameDialogTitle:[{type:0,value:"Voer de naam in die je wilt dat klanten zien tijdens chatgesprekken. Deze bijnaam wordt gebruikt in je Deepdesk-omgeving."}],nicknameDialogInputPlaceholder:[{type:0,value:"Voer je bijnaam in"}],nicknameDialogContinueButton:[{type:0,value:"Doorgaan"}],nicknameDialogError:[{type:0,value:"Bijnaam mag niet leeg of alleen spaties zijn"}],nicknameDialogEmojiError:[{type:0,value:"Je kunt geen emoji's gebruiken in dit veld."}],nicknameDialogSaveError:[{type:0,value:"We konden je gegevens nu niet opslaan. Probeer het opnieuw of werk het bij op "},{type:1,value:"account"},{type:0,value:".deepdesk.com/admin/user-settings"}],nicknameDialogSaveErrorWithoutLink:[{type:0,value:"We konden je gegevens nu niet opslaan. Probeer het opnieuw later, of werk ze bij in My Deepdesk \u2192 Instellingen."}]};import{Fragment as LS,jsx as he,jsxs as Ss}from"react/jsx-runtime";var ku=({onClose:t,onSave:e,id:n,error:o})=>{let[s,r]=mi(""),[i,a]=mi(!1),[d,l]=mi(!1),c=S("Nickname",Eu),p=RS.useRef(null),u=IS(C=>C.info.showNicknameDialog),m=k(pi),f=w("adminUrl");PS(()=>{o&&a(!0)},[o]);let g=()=>{if(!p.current)return;s.trim()?p.current.setCustomValidity(""):p.current.setCustomValidity(m("nicknameDialogError")),p.current.reportValidity()},h=C=>{C.preventDefault();let T=s.trim(),b=C.currentTarget.querySelector("#nickname-input");if(!T){b.setCustomValidity(m("nicknameDialogError")),b.reportValidity();return}b.setCustomValidity(""),e(T)};return Ss(Ot,{isOpen:u,"datatest-id":n,onClose:t||(()=>{}),onBack:t||(()=>{}),children:[he("div",{className:c.titleWrapper,children:he("h1",{className:c.title,children:m("title")})}),Ss("form",{className:c.dialogContent,onSubmit:h,children:[he("p",{children:m("nicknameDialogTitle")}),i&&o&&he("div",{className:c.errorMessage,children:f?(()=>{let C=m("nicknameDialogSaveError",{account:f}),T=`${f}.deepdesk.com/admin/user-settings`,b=C.indexOf(T);if(b!==-1){let R=C.substring(0,b),I=C.substring(b+T.length);return Ss(LS,{children:[R,he("a",{href:T,target:"_blank",rel:"noopener noreferrer",className:c.errorLink,children:T}),I]})}return C})():m("nicknameDialogSaveErrorWithoutLink")}),he("input",{required:!0,minLength:1,maxLength:20,"data-testid":"nickname-input",id:"nickname-input",className:c.nicknameInput,type:"text",placeholder:m("nicknameDialogInputPlaceholder"),value:s,onChange:C=>{l(new RegExp("\\p{Extended_Pictographic}","u").test(C.target.value)),r(C.target.value)},onBlur:g,ref:p}),d&&he("div",{className:c.errorMessage,role:"alert",children:m("nicknameDialogEmojiError")}),Ss("div",{className:c.buttonsWrapper,children:[o?he("div",{className:c.closeButtonWrapper,children:he("button",{type:"button",className:c.closeButton,onClick:()=>t==null?void 0:t(),children:m("close")})}):null,he("div",{className:c.buttonContinueWrapper,children:he("button",{type:"submit",className:c.continueButton,disabled:!s.trim()||new RegExp("\\p{Extended_Pictographic}","u").test(s),children:m("nicknameDialogContinueButton")})})]})]})]})};import{jsx as F,jsxs as AS}from"react/jsx-runtime";var Ru=Cu("showTabHint",!0),nn=class nn{constructor({deepdeskUrl:e,version:n=nn.version||"unknown",locale:o="en-US",token:s,fetch:r,productName:i,createCustomChannel:a,websocketClient:d=vs}){this.inputMediator=null;this.eventListeners={};this.unmountHandlers=[];this.disposeHandlers=[];this.inlineSuggestions=null;this.aboveSuggestions=null;this.belowSuggestions=null;this.floatingMenu=null;this.widgetElement=null;this.widgetRoot=null;this.nicknameDialogUnsubscribe=null;this.nicknameDialogFailed=!1;this.dynamicThunkObject={};this.queues=new ys;this.isMounted=!1;this.shouldRender=!0;this.loadProfileConfigPromise=null;let l=e.replace(/\/api$/,"");this.deepdeskApi=new Je(l,{token:s,fetch:r}),this.version=n,this.instanceId=nn.count++;let c={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[du({broadcast:(f,g,h)=>{this.broadcastEvents.send(f,g,h)},emit:(f,g)=>this.emit(f,g),handleAfterSendMessage:f=>this.handleAfterSendMessage(f),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:f=>this.logSendMessage(f),onUpdateShowTabHint:f=>Ru.update(f),sendEvent:(f,g)=>this.deepdeskApi.sendEvent(f,g)})]};this.store=lu(c),this.broadcastEvents=new qc({debug:!0,deepdeskUrl:l,eventMap:Ta(this.store),createCustomChannel:a}),this.disposeHandlers.push(()=>{this.broadcastEvents.cleanup()}),this.ws=new d({url:`${l}/api/v2/me/realtime`.replace("https","wss"),reconnectInterval:25e3,shouldReconnect:()=>v(this,null,function*(){var f;return(f=X(this.state))!=null?f:!1})}),this.whenLoggedIn(()=>this.ws.connect()),this.store.dispatch(Mn(Ru.value())),this.store.dispatch(Zn({locale:o,adminUrl:l,productName:i}));let p=[],u=f=>{if(!f.conversationId)return;let g=()=>{this.conversationId()===f.conversationId&&this.store.dispatch(Xd(f))};this.hasConversation()?g():p.push(g)};this.ws.on("assistants::direct_response",u),this.ws.on("assistants::user_notification",u),this.ws.on("assistants::response_chunk",f=>{if(!f.conversationId)return;let g=()=>{this.conversationId()===f.conversationId&&this.store.dispatch(qd(f))};this.hasConversation()?g():p.push(g)}),this.ws.on("assistants::suggest_as_reply",f=>{if(!f.conversationId)return;let g=()=>{this.conversationId()===f.conversationId&&this.store.dispatch(Lt([{text:f.payload.message,type:"text",source:"assistant",assistantCode:f.code,sourceLabel:f.name}]))};this.hasConversation()?g():p.push(g)});let m=this.whenConversationLoaded(()=>{var f;this.broadcastEvents.setExternalId((f=this.state.conversation.current)==null?void 0:f.externalId),p.forEach(g=>g()),p.length=0});this.disposeHandlers.push(()=>{this.ws.cleanup(),p.length=0,m()})}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){var e;return(e=et(this.state)[this.state.input.selectedSuggestionIndex])!=null?e:null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}externalId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.externalId}shouldAbort(){return this.state.conversation.isSupported===!1?(E.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(E.warn("Profile has not been loaded (yet)"),!0):(E.warn("No conversation loaded (yet)"),!0)}whenLoggedIn(e){if(X(this.state))e();else{let n=this.subscribe(X,o=>{o&&e()});this.disposeHandlers.push(()=>{n()})}}login(){return this.store.dispatch(Et(null)),this.store.dispatch(Ie()),new Promise(e=>{this.whenLoggedIn(()=>e())})}isLoggedIn(){return v(this,null,function*(){return(yield this.store.dispatch(Ie())).payload})}isConversationSupported(e,n){return v(this,null,function*(){return(yield this.store.dispatch(Is({externalId:e,options:n}))).payload})}createConversation(e){return v(this,null,function*(){var o;return this.hasConversation()&&this.externalId()!==e.externalId&&this.resetConversation(),(yield this.store.dispatch(Yn(x(y({},e),{metadata:(o=e.metadata)!=null?o:{}})))).payload})}getConversationByExternalId(e,n){return v(this,null,function*(){return this.hasConversation()&&this.externalId()!==e&&this.resetConversation(),(yield this.store.dispatch(eo({externalId:e,options:n}))).payload})}upsertConversation(e){return v(this,null,function*(){var o;return this.hasConversation()&&this.externalId()!==e.externalId&&this.resetConversation(),(yield this.store.dispatch(Ls(x(y({},e),{metadata:(o=e.metadata)!=null?o:{}})))).payload})}postMessages(e){return v(this,null,function*(){yield this.store.dispatch(As(e))})}updateConversation(e){return v(this,null,function*(){return(yield this.store.dispatch(to(e))).payload})}resetConversation(){this.store.dispatch(V()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}configure(e){this.store.dispatch(Zn(e))}setVisitorInfo(e){this.store.dispatch(pa(e))}setCustomData(e){this.store.dispatch(ma(e))}setAgentInfo(e,n){return v(this,null,function*(){var s;yield this.store.dispatch(cn(y(y({},e),n))),((s=this.state.info.agentInfo)==null?void 0:s.agentNickname)||this.broadcastEvents.send(co,{showNicknameDialog:!0})})}setAgentSettings(e){return v(this,null,function*(){yield this.store.dispatch(Ns(e))})}getAgentSettings(){return v(this,null,function*(){return(yield this.store.dispatch(Os())).payload})}refresh(){return v(this,null,function*(){if(this.shouldAbort())return Promise.resolve();let e=[];return e.push(this.refreshTextSuggestions()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})})}syncInputMediator(){this.inputMediator&&this.store.dispatch(so({text:this.inputMediator.getText(),html:this.inputMediator.getHTML()}))}notifyExternalSuggestion(e){this.store.dispatch(se(e))}evaluateAssistant(e,n){return v(this,null,function*(){var d;let{input:o={},transcript:s,showCuesInWidget:r=!0,includeMetadata:i}=n||{},a=yield this.store.dispatch(we({assistantCode:e,transcript:s,includeMetadata:i,input:o,skipState:!r}));if(a.error)throw new Error(`Assistant evaluation failed: ${(d=a.payload)!=null?d:a.error.message}`);return a.payload.output})}evaluateConversationAssistant(e,n){return v(this,null,function*(){yield this.loadProfileConfig();let o=this.state.profile.data;if(!o){E.warn("Can't evaluate assistant when profile is not loaded yet.");return}let s=wu(o,e);yield Promise.all(s.map(r=>this.queues.push(r,()=>v(this,null,function*(){yield this.evaluateAssistant(r,y({includeMetadata:!0},n))})).catch(i=>{if(i instanceof Wn){E.warn(`Queued assistant "${r}" was outdated and dropped`);return}throw i})))})}handleKeyDown(e){let{overlayCollapsed:n,openOverlayWhenTyping:o}=this.state.ui,{textSuggestions:s,selectedSuggestionIndex:r,selection:i}=this.state.input,{inlineSuggestions:a,showTextSuggestions:d,suggestionsPlacement:l}=this.settings,c=l==="inline"||l==="below"?"below":"above",p=s.length>0;if(this.store.dispatch(Yi(Ms(e))),!be(this.state)||e.key!=="Tab"&&!d)return;let u=()=>{n||!p||i&&(e.shiftKey||(this.store.dispatch(na()),e.preventDefault()))},m=()=>{n||!p||a&&r<=0||i&&(e.shiftKey||(this.store.dispatch(oa()),e.preventDefault()))};switch(e.key){case"ArrowUp":c==="below"?m():u();break;case"ArrowDown":{c==="below"?u():m();break}case"Escape":{n||(this.store.dispatch(oo(-1)),this.store.dispatch(Ge({collapse:!0})),this.store.dispatch(Gl(!0)),e.preventDefault());break}case"Tab":{e.preventDefault();let f=It(this.state);if(!f)return;this.store.dispatch(Mn(!1)),this.store.dispatch(se({text:f.text,suggestion:f,eventMetrics:{inputType:"tab"},replace:"until-selection-end"}));break}case" ":{if(this.settings.inlineSuggestions||this.state.input.selectedSuggestionIndex===-1)return;let f=It(this.state);if(!f)return;this.store.dispatch(se({text:f.text,suggestion:f,eventMetrics:{inputType:"space"},replace:"until-selection-end"}));break}case"Enter":{if(this.settings.inlineSuggestions||e.shiftKey||this.state.input.selectedSuggestionIndex===-1)return;let f=It(this.state);if(!f)return;this.store.dispatch(se({text:f.text,suggestion:f,eventMetrics:{inputType:"enter"},replace:"until-selection-end"})),e.preventDefault();break}default:}n&&o&&this.store.dispatch(Ge({collapse:!1}))}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(je([]))}handlingTimeStart(){this.state.handlingTime.startTime||(E.info("Start handling time"),this.store.dispatch(Yc()))}handlingTimeStop(){this.state.handlingTime.startTime&&(E.info("Stop handling time"),this.store.dispatch(ps()))}logSendMessage(e){let n=uu(this.state,{version:this.version});n&&(e&&(Object.assign(n,{text:e}),Object.assign(n,{lenTextTotal:e.length})),this.deepdeskApi.sendEvent("Send Message",{conversationId:this.conversationId(),data:n}),this.emit("send-message-event",n))}logHandlingTime(){let e=cu(this.state,{version:this.version});e&&(this.deepdeskApi.sendEvent("Handling Time",{conversationId:this.conversationId(),data:e}),this.store.dispatch(eu()))}notifySubmit(e={}){var n;this.shouldAbort()||(this.store.dispatch(nt((n=e.text)!=null?n:this.state.input.text)),this.store.dispatch(ra()))}emit(e,n){let o=this.eventListeners[e];o&&o.forEach(s=>{try{s(n)}catch(r){E.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),E.error(r)}})}on(e,n){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(n),()=>{this.off(e,n)}}off(e,n){if(!e&&!n){this.eventListeners={};return}let o;this.eventListeners[e]&&(o=this.eventListeners[e].indexOf(n),o>-1&&this.eventListeners[e].splice(o,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}setPlatformVariables(e){this.store.dispatch(ga(e))}whenConversationLoaded(e){let n=r=>{var i;return(i=r.conversation.current)==null?void 0:i.id},o=()=>this.loadProfileConfig().then(()=>e());return n(this.state)&&o(),this.subscribe(n,r=>{r&&o()})}overlayContainerFactory(e,n,o,s){let[r,i]=hs(n,o);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),[r,i]}createInlineContainer(e,n){var a;let o=document.createElement("div");o.style.position="absolute",o.style.top="0px",o.style.left="0px",o.style.height="0px",o.style.width="0px";let s=document.createElement("div");s.style.display="none",s.style.position="absolute",s.style.height="0px",s.style.width="0px",s.style.backgroundColor="red",o.appendChild(s);let r=(a=e.ownerDocument.defaultView)==null?void 0:a.frameElement,i=r?r.ownerDocument.defaultView:null;if(r&&(i===window||(i==null?void 0:i.parent)===window)){let[d,l]=hs(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});d.dataset.testid=n,d.style.zIndex="2",d.appendChild(o),this.unmountHandlers.push(()=>{l()})}else document.body.appendChild(o);return s}createContainer(e,n=document.body){let o=window.getComputedStyle(n),s=document.createElement("div");return ct(s),s.dataset.testid=e,s.style.color=o.color,s.style.fontSize=o.fontSize,s.style.fontFamily=o.fontFamily,s.style.fontVariant=o.fontVariant,s.setAttribute("translate","no"),n.appendChild(s),s}storeMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,n=JSON.stringify({text:this.state.input.text,metrics:this.state.input.metrics});window.sessionStorage.setItem(e,n),E.info(`Stored analytics for ${this.conversationId()}`)}catch(e){}}restoreMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,n=window.sessionStorage.getItem(e);if(!n)return;let o=JSON.parse(n);o.text.trim()===this.state.input.text.trim()?(E.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(sa(o.metrics))):E.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch(e){}}mount(e,n={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!ii(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let u=n,{customStyles:o,closestScrollSelector:s,floatingMenuParent:r,appendOverlayTo:i,inputMediator:a}=u,d=A(u,["customStyles","closestScrollSelector","floatingMenuParent","appendOverlayTo","inputMediator"]),l={customStyles:o,closestScrollSelector:s,floatingMenuParent:r,appendOverlayTo:i};this.configure(d),this.settings.automaticHandlingTime&&this.setupHandlingTime(e),ct(e),this.inputMediator=a||(mt(e)?new Qt(e):new Jt(e)),this.inputMediator.on("change",({plainText:m,rawHTML:f})=>{this.store.dispatch(so({text:m,html:f}))}),this.inputMediator.on("keyup",m=>{this.store.dispatch(ea(Ms(m)))}),this.inputMediator.on("keydown",m=>{this.handleKeyDown(m)}),this.inputMediator.on("paste",({pastedText:m,selectionText:f})=>{this.store.dispatch(ta({text:m,selectionText:f}))}),this.inputMediator.on("cut",({selectionText:m})=>{this.store.dispatch(Zi(m))});let c;this.inputMediator.on("selection",m=>{clearTimeout(c),m===null?c=setTimeout(()=>{m!==null&&this.store.dispatch(ro(m))},500):this.store.dispatch(ro(m))}),this.unmountHandlers.push(()=>{clearTimeout(c)}),this.inputMediator.on("disabled",()=>{var m;(m=this.inputMediator)==null||m.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{this.settings.detectSubmit&&this.notifySubmit()}),this.inputMediator.on("blur",()=>{this.store.dispatch(No(!1))}),this.inputMediator.on("focus",()=>{this.store.dispatch(No(!0))}),this.renderSuggestions(e,l),this.subscribe(wt("inlineSuggestions"),()=>{this.renderSuggestions(e,l)}),this.subscribe(wt("suggestionsPlacement"),()=>{this.renderSuggestions(e,l)});let p=this.renderOverlays(n);this.unmountHandlers.push(()=>{p.unmount()}),this.store.dispatch(so({text:this.inputMediator.getText(),html:this.inputMediator.getHTML()})),this.store.dispatch(ro(this.inputMediator.getSelection())),this.store.dispatch(No(this.inputMediator.isFocused)),this.unmountHandlers.push(()=>{this.state.input.text!==""&&this.storeMetrics()}),this.whenConversationLoaded(()=>{this.restoreMetrics(),this.syncInputMediator(),this.refreshTextSuggestions(),this.promptForNickname()}),this.isMounted=!0}promptForNickname(e){if(this.nicknameDialogUnsubscribe||this.nicknameDialogFailed)return;let n=this.createContainer("nickname-dialog",document.body);document.body.appendChild(n);let o=Qe(n),s=null,r=a=>{s=a,i()},i=()=>{o==null||o.render(F(Oe,{store:this.store,children:F(Ae,{broadcastEvents:this.broadcastEvents,children:F(ku,{id:"deepdesk-nickname-dialog",error:s,onSave:a=>v(this,null,function*(){try{yield this.store.dispatch(ca({agentNickname:a})).unwrap(),console.log("setAgentNickname",a),this.broadcastEvents.send(co,{showNicknameDialog:!1}),this.nicknameDialogUnsubscribe&&this.nicknameDialogUnsubscribe()}catch(d){E.error("Error setting agent nickname",d),r("error"),this.nicknameDialogFailed=!0}})})})}))};i(),this.nicknameDialogUnsubscribe=()=>{o.unmount(),n.remove(),this.nicknameDialogUnsubscribe=null}}subscribe(e,n){let o=e(this.store.getState());return this.store.subscribe(()=>{let s=e(this.store.getState());s!==o&&(o=s,n(o))})}unmount(){var e,n,o,s,r;(e=this.inlineSuggestions)==null||e.unmount(),(n=this.aboveSuggestions)==null||n.unmount(),(o=this.belowSuggestions)==null||o.unmount(),(s=this.floatingMenu)==null||s.unmount(),this.unmountHandlers.forEach(i=>i()),this.unmountHandlers=[],(r=this.inputMediator)==null||r.dispose(),this.nicknameDialogUnsubscribe&&this.nicknameDialogUnsubscribe(),this.isMounted=!1}dispose(){this.unmount(),this.unmountWidget(),this.disposeHandlers.forEach(e=>e()),this.disposeHandlers=[],this.off()}renderSuggestions(e,n){var o,s,r,i;(o=this.floatingMenu)==null||o.unmount(),(s=this.inlineSuggestions)==null||s.unmount(),(r=this.aboveSuggestions)==null||r.unmount(),(i=this.belowSuggestions)==null||i.unmount(),this.settings.floatingMenu&&(this.floatingMenu=this.renderFloatingMenu(e,n)),this.settings.inlineSuggestions||this.settings.suggestionsPlacement==="inline"?this.inlineSuggestions=this.renderInlineSuggestions(e,n):this.settings.suggestionsPlacement==="below"?this.belowSuggestions=this.renderAboveOrBelowSuggestions(e,n,"below"):this.aboveSuggestions=this.renderAboveOrBelowSuggestions(e,n,"above")}renderInlineSuggestions(e,n){let{customStyles:o}=n,s=this.createInlineContainer(e,"deepdesk-caret"),r=Qe(s);r.render(F(Oe,{store:this.store,customStyles:o,children:F(Ae,{broadcastEvents:this.broadcastEvents,children:F(od,{})})}));let i=a=>{a?(s.style.display="block",s.style.top=`${a.top}px`,s.style.left=`${a.left}px`):s.style.display="none"};return this.inputMediator.on("caretposition",i),{unmount:()=>{var a;(a=this.inputMediator)==null||a.off("caretposition",i),r.unmount(),s.remove()}}}renderAboveOrBelowSuggestions(e,n,o){let{customStyles:s,closestScrollSelector:r,appendOverlayTo:i}=n,a=r&&ri(e,r)||void 0,[d,l]=this.overlayContainerFactory("deepdesk-tab-completion",a||e,{appendTo:i,closestScrollElement:a,mirrorOverflow:!0,onRemove:()=>this.unmount()},s==null?void 0:s.rootNode),[c,p]=this.overlayContainerFactory("deepdesk-suggestions-overlay",a||e,{appendTo:i,placement:o},s==null?void 0:s.suggestionsRootNode),u=Qe(d);u.render(F(Oe,{store:this.store,customStyles:s,children:F(Ae,{broadcastEvents:this.broadcastEvents,children:F(Bd,{inputElement:e})})}));let m=Qe(c);return m.render(F(Oe,{store:this.store,customStyles:s,children:F(Ae,{broadcastEvents:this.broadcastEvents,children:F(md,{onLogIn:()=>this.loginViaPopup().catch(f=>E.warn(f.message))})})})),{unmount(){u.unmount(),m.unmount(),l(),p()}}}renderFloatingMenu(e,n){let{customStyles:o,closestScrollSelector:s,appendOverlayTo:r,floatingMenuParent:i}=n,a=s&&ri(e,s)||void 0,[d,l]=this.overlayContainerFactory("floating-menu",a||e,{appendTo:i!=null?i:r},o==null?void 0:o.floatingMenuParent),c=Qe(d);return c.render(F(Oe,{store:this.store,customStyles:o,children:F(Ae,{broadcastEvents:this.broadcastEvents,children:F(jl,{onLogIn:()=>this.loginViaPopup().catch(p=>E.warn(p.message))})})})),{unmount(){c.unmount(),l()}}}renderOverlays(e){let{customStyles:n}=e,o=this.createContainer("deepdesk-overlays"),s=Qe(o);return s.render(F(Oe,{store:this.store,customStyles:n,children:F(Ae,{broadcastEvents:this.broadcastEvents,children:F(Bl,{})})})),{unmount(){s.unmount(),o.remove()}}}renderWidget(e,n={}){if(this.widgetElement&&E.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:o,showImages:s,isEmbedded:r}=n;this.widgetElement=e,this.configure({showImages:s,isEmbedded:r}),this.widgetRoot=Qe(e),this.widgetRoot.render(F(Oe,{store:this.store,customStyles:o,children:F(Ae,{broadcastEvents:this.broadcastEvents,children:F(Wc,{assistantOptions:n.assistantOptions,knowledgeAssistOptions:n.knowledgeAssist,onLogIn:()=>this.loginViaPopup().catch(i=>E.warn(i.message))})})}))}unmountWidget(){var e,n;(n=(e=this.widgetRoot)==null?void 0:e.unmount)==null||n.call(e),this.widgetRoot=null,this.widgetElement=null}renderKnowledgeAssistantWidget(e,n,o={}){let{customStyles:s,initialQuestion:r}=o,i=Qe(n);return i.render(F(Oe,{store:this.store,customStyles:s,children:F(Ae,{broadcastEvents:this.broadcastEvents,children:F(Xr,{children:AS(ss,{assistantCode:e,initialQuestion:r,evaluateKnowledgeAssistFn:Dn,children:[F(rn,{children:F(is,{title:o.title,emptyState:o.emptyState})}),F(qr,{children:F(rs,{})})]})})})})),{unmount(){i.unmount()}}}setupHandlingTime(e){let n=ui(e,({isVisible:o})=>{o?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),n()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){pu(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(()=>v(this,null,function*(){yield this.store.dispatch(En());let e=rt(this.state);e&&this.store.dispatch(Zn({showSearch:e.search,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:!!e.summarizerAssistantNew,showKnowledgeSearch:!!e.knowledgeAssistantNew||!!e.knowledgeAssistant,recommendTextSuggestions:e.recommendTextSuggestions}))})),this.loadProfileConfigPromise)}loginViaPopup(e){return v(this,null,function*(){return new Promise((n,o)=>{let s=new MessageChannel,r=s.port1,i=this.settings.adminUrl,a=new URL(e!=null&&e.url?e==null?void 0:e.url:`${i}/platform/sso/`);a.searchParams.append("redirect","/sdk/popup/close.html");let d=!1,l=()=>{c&&!c.closed&&c.close(),window.removeEventListener("message",p),clearInterval(u)};r.onmessage=m=>v(this,null,function*(){var f,g;if((f=m.data)!=null&&f.jwt)try{yield this.deepdeskApi.exchangeTokenForAccessCookie((g=m.data)==null?void 0:g.jwt),yield this.isLoggedIn(),this.broadcastEvents.send(pn),d=!0,s.port1.close(),n()}catch(h){console.error(h),o(h)}finally{d=!0,l()}});let c=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");c===null&&o(new Error("Popup blocked by browser"));let p=m=>v(this,null,function*(){var f;if(m.origin===a.origin)switch((f=m.data)==null?void 0:f.type){case"deepdesk-popup-loaded":{try{let g=JSON.stringify({type:"deepdesk-popup-create-channel"});c==null||c.postMessage(g,a.origin,[s.port2])}catch(g){E.error("Error posting message to popup",g),o(g)}break}case"deepdesk-popup-error":{l(),m.data.message==="Timeout"&&E.warn("Popup timed out. Check if the account's platform url is configured correctly."),o(new Error(m.data.message));break}}});window.addEventListener("message",p);let u=setInterval(()=>{c&&!c.closed||(l(),d||o(new Error("Popup closed by user")))},200);this.disposeHandlers.push(l)})})}translateMessages(e){return this.deepdeskApi.translateMessages(e)}refreshTextSuggestions(){return v(this,null,function*(){this.isMounted&&(yield this.store.dispatch(Lo()))})}refreshWidgetSuggestions(){return v(this,null,function*(){if(!this.widgetRoot)return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let n=kn(this.state);try{n.forEach(({type:o})=>{switch(o){case"entities":this.store.dispatch(ge());break;case"pinned-messages":case"sticky-messages":break;default:Jn.includes(o)||this.store.dispatch(fe(o))}})}catch(o){this.handleError(o)}})}};nn.version="18.2.1-beta.14",nn.count=0;var xs=nn;function MS(t){return v(this,null,function*(){var s,r,i;let n=yield((s=t.fetch)!=null?s:window.fetch)(t.url),o=yield n.blob();return new File([o],t.name,{type:(i=(r=t.mimeType)!=null?r:n.headers.get("Content-Type"))!=null?i:"image/jpeg"})})}function NS(t,e){return v(this,null,function*(){let n=yield MS(e),o=new Event("change",{bubbles:!0,cancelable:!0});try{Object.defineProperty(t,"files",{configurable:!0,get:()=>[n]}),t.dispatchEvent(o)}finally{Object.hasOwn(t,"files")&&delete t.files}})}function OS(t,e,n){return v(this,null,function*(){yield new Je(t).authenticateWithKey(e,n)})}function DS(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}function _S(o,s){return v(this,arguments,function*(t,e,n={}){var p,u;let{value:r}=t,{start:i,end:a}=(p=n.replace)!=null?p:{start:0,end:r.length},d=`${r.slice(0,i)}${e}${r.slice(a)}`,l=(u=n.selectionAfter)!=null?u:{start:i+e.length,end:i+e.length},c=()=>{if(n.setValue)return n.setValue(d);t.value=d};return Promise.resolve(c()).then(()=>{t.selectionStart=l.start,t.selectionEnd=l.end,t.blur(),t.focus()})})}function FS(o,s){return v(this,arguments,function*(t,e,n={}){let r=n.replace?yt(t,n.replace.start,n.replace.end):Kn(t),i,a=()=>{if(n.setRange)return n.setRange(r.cloneRange());r.deleteContents(),i=document.createElement("span"),r.insertNode(i),n.insertBRs!==!1?e.split(`
10
+ `);let f=u?o:0,g=m?Math.min(r,c.childNodes.length):c.childNodes.length;for(let h=f;h<g&&(l(c.childNodes[h]),a!==2);h++);break}default:break}m&&(a=2)}return l(t),d}var Vc=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(Vc||{}),qe=class{constructor(e){this.element=e;this.isFocused=!1;this.isActive=!0;this.isDisposed=!1;this.eventListeners={};this.disposeHandlers=[];this.cachedText="";this.cachedCaretPosition=null;this.cachedSelection={start:0,end:0};this.cachedHTML="";this.isSubmitting=!1;this.isPossibleClearInputAction=!1;this.cachedText=this.getText(),this.cachedHTML=this.getHTML(),this.cachedSelection=this.getSelection(),this.listen()}addEventListener(e,n){let o=s=>{n(s)};this.element.addEventListener(e,o),this.disposeHandlers.push(()=>{this.element.removeEventListener(e,o)})}removeEventListener(e,n){this.element.removeEventListener(e,n)}handleInteraction(){let e=this.getText(),n=this.getHTML(),o=this.getSelection(),s=this.cachedCaretPosition===null;if(!this.isActive||(e===""&&this.cachedText!==""&&!this.isPossibleClearInputAction&&this.emit("submit"),e!==this.cachedText?(this.cachedText=e,this.cachedHTML=n,s=!0,this.emit("change",{plainText:e,rawHTML:n})):n!==null&&n!==this.cachedHTML&&(this.cachedHTML=n,s=!0,this.emit("change",{plainText:e,rawHTML:n})),(o.start!==this.cachedSelection.start||o.end!==this.cachedSelection.end)&&(this.cachedSelection=o,s=!0,this.emit("selection",o)),!s))return;let r=this.getCaretPosition();Ve(r,this.cachedCaretPosition)||(this.cachedCaretPosition=r,this.emit("caretposition",r))}handleClick(){this.handleInteraction()}handleFocus(){let e=!this.isFocused;this.isFocused=!0,e&&this.emit("focus"),this.handleInteraction()}handleBlur(){this.isPossibleClearInputAction=!1;let e=this.isFocused;this.isFocused=!1,e&&this.emit("blur")}handleKeyDown(e){let{key:n,ctrlKey:o,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(Vc).includes(n)||n.toLowerCase()==="z"&&(o||s),this.emit("keydown",e)}handleKeyUp(e){this.handleInteraction(),this.emit("keyup",e)}handleCut(){this.isPossibleClearInputAction=!0,this.emit("cut",{selectionText:this.getSelectedText()})}handlePaste(e){var o,s;let n=((o=e.clipboardData)==null?void 0:o.getData("text"))||((s=e.clipboardData)==null?void 0:s.getData("text/plain"))||"";this.emit("paste",{pastedText:n,selectionText:this.getSelectedText()})}listen(){this.addEventListener("keydown",n=>this.handleKeyDown(n)),this.addEventListener("keyup",n=>this.handleKeyUp(n)),this.addEventListener("input",()=>this.handleInteraction()),this.addEventListener("change",()=>this.handleInteraction()),this.addEventListener("focus",()=>this.handleFocus()),this.addEventListener("blur",()=>this.handleBlur()),this.addEventListener("cut",()=>this.handleCut()),this.addEventListener("paste",n=>this.handlePaste(n)),this.addEventListener("click",()=>this.handleInteraction()),document.activeElement===this.element&&(this.isFocused=!0);let e=new MutationObserver(()=>{this.element.isConnected||(this.emit("unmounted"),this.dispose())});e.observe(document.body,{subtree:!0,childList:!0}),this.disposeHandlers.push(()=>{e.disconnect()})}focus(){this.element.focus()}emit(e,...n){this.isDisposed||this.eventListeners[e]&&this.eventListeners[e].forEach(o=>{o(...n)})}on(e,n){this.isDisposed||(this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(n))}off(e,n){if(!this.eventListeners[e])return;let o=this.eventListeners[e].indexOf(n);o!==-1&&this.eventListeners[e].splice(o,1)}activate(){let e=this.isActive===!1;this.isActive=!0,e&&this.handleInteraction()}deactivate(){this.isActive=!1}dispose(){this.disposeHandlers.forEach(e=>e()),this.eventListeners={},this.isDisposed=!0}};function jc(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var Jt=class extends qe{constructor(){super(...arguments);this.lastKnownSelection=null}getRootNode(){return this.element.getRootNode()}getText(){let n=new Range;return n.selectNodeContents(this.element),us(this.element,n)}getHTML(){return this.element.innerHTML||""}getRange(){let n=this.getRootNode();if(n.activeElement!==this.element)return null;let o="getSelection"in n?n.getSelection():window.getSelection();if(!o)return null;let s=o.rangeCount>0?o.getRangeAt(0):null;if(!s)return null;let r=this.element.ownerDocument.createRange();return r.setStart(s==null?void 0:s.startContainer,s==null?void 0:s.startOffset),r.setEnd(s==null?void 0:s.endContainer,s==null?void 0:s.endOffset),!r||!this.element.contains(r.startContainer)||!this.element.contains(r.endContainer)?null:r}getCaretPosition(){let n=this.getRange();if(!n||!n.collapsed||!("getBoundingClientRect"in n))return null;let o=n.getBoundingClientRect();return!jc(o)&&(n.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=n.getBoundingClientRect(),n.deleteContents(),!jc(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let n=this.getRange();if(n)return cs(this.element,n);let o=this.lastKnownSelection;if(o&&zc(this.element,o.start,o.end))return o;let s=Kn(this.element);return s.collapse(!1),cs(this.element,s)}getSelectedText(){let{start:n,end:o}=this.getSelection();return us(this.element,yt(this.element,n,o))}listen(){super.listen();let n=new MutationObserver(r=>{var i,a;r.length===2&&r[0].addedNodes.length===1&&((i=r[0].addedNodes[0])==null?void 0:i.textContent)==="\u2060"&&((a=r[1].removedNodes[0])==null?void 0:a.textContent)==="\u2060"||setTimeout(()=>{this.handleInteraction()},0)});n.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0}),this.disposeHandlers.push(()=>n.disconnect());let o=this.element.isContentEditable,s=new MutationObserver(()=>{this.element.isContentEditable!==o&&(o=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});s.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>s.disconnect())}};var nS=["direction","boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize"];function $c(t,e){let n="mozInnerScreenX"in window,o=document.createElement("div");o.id="input-textarea-caret-position-mirror-div";let s=o.style,r=window.getComputedStyle(t),i=t.ownerDocument.body;s.whiteSpace="pre-wrap",s.wordWrap="break-word",s.position="absolute",s.visibility="hidden",nS.forEach(c=>{s[c]=r[c]}),n?t.scrollHeight>Number.parseInt(r.height)&&(s.overflowY="scroll"):s.overflow="hidden",o.textContent=t.value.substring(0,e);let a=document.createElement("span");a.textContent=t.value.substring(e)||".",o.appendChild(a),i.appendChild(o);let d=t.getBoundingClientRect(),l={top:d.top-t.scrollTop+a.offsetTop+Number.parseInt(r.borderTopWidth)+a.offsetHeight,left:d.left-t.scrollLeft+a.offsetLeft+Number.parseInt(r.borderLeftWidth)};return i.removeChild(o),l}var Qt=class extends qe{constructor(){super(...arguments);this.lastKnownSelection=null}getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:n,selectionEnd:o}=this.element;return{start:n,end:o}}getSelectedText(){let n=this.getSelection();return n?this.getText().slice(n.start,n.end):""}getCaretPosition(){return $c(this.element,this.element.selectionEnd)}listen(){super.listen();let n=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value");Object.defineProperty(this.element,"value",{configurable:!0,get:()=>{var r;return(r=n==null?void 0:n.get)==null?void 0:r.call(this.element)},set:r=>{var i;(i=n==null?void 0:n.set)==null||i.call(this.element,r),this.handleInteraction()}}),this.addEventListener("scroll",()=>{this.emit("caretposition",this.getCaretPosition())});let o=this.element.disabled,s=new MutationObserver(()=>{this.element.disabled!==o&&(o=this.element.disabled,this.emit(o?"disabled":"enabled"))});s.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>s.disconnect())}};function Gc(t,e,n){let o=`deepdesk-iframe-${t}`,s=document.getElementById(o);if(s)return s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(n).forEach(([a,d])=>{i.searchParams.append(a,d)}),r.style.position="absolute",r.style.left="-999em",r.style.width="0px",r.style.height="0px",r.tabIndex=-1,r.id=o,r.title=`iframe-${t}`,r.src=i.toString(),window.document.body.appendChild(r),r}function oS(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch(e){return t}}var Jr=class{constructor(e){this.name=e;this.disposeHandlers=[];this.broadcastChannel=new BroadcastChannel(e)}onMessage(e){this.broadcastChannel.addEventListener("message",e),this.disposeHandlers.push(()=>{this.broadcastChannel.removeEventListener("message",e)})}postMessage(e){this.broadcastChannel.postMessage(JSON.stringify(e))}close(){this.disposeHandlers.forEach(e=>e()),this.broadcastChannel.close()}},Qr=class{constructor(e,n,o){this.name=e;this.targetOrigin=n;this.options=o;this.disposeHandlers=[];this.iframe=Gc(e,`${this.targetOrigin}/sdk/proxy/proxy.html`,{channel:this.name,host:window.location.origin,debug:"1"}),document.body.appendChild(this.iframe)}onMessage(e){window.addEventListener("message",e),this.disposeHandlers.push(()=>{window.removeEventListener("message",e)})}postMessage(e){var n;(n=this.iframe.contentWindow)==null||n.postMessage(JSON.stringify(e),this.targetOrigin)}close(){var e;this.disposeHandlers.forEach(n=>n()),(e=this.iframe)==null||e.remove()}},Zr=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.externalId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setExternalId(e){this.externalId!==e&&(this.cleanup(),E.info("Set externalId",e),this.externalId=e,this.channel=this.createChannel(e))}createChannel(e){let n=this.params.createCustomChannel?this.params.createCustomChannel(e):this.isCrossOrigin?new Qr(e,this.deepdeskUrl,{debug:!0}):new Jr(e),o=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=oS(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(E.info("Received broadcast event",this.externalId,s),(a=(i=this.eventMap)[r.name])==null||a.call(i,r.payload))};return n.onMessage(o),n}send(e,n,o){var i,a;E.info("Broadcast event",{externalId:this.externalId,name:e,payload:n});let s={type:"event",name:e,payload:n};o!==!1&&((a=(i=this.eventMap)[e])==null||a.call(i,n));let r=this.externalId==="deepdesk-general"?this.defaultChannel:this.channel;r==null||r.postMessage(x(y({},s),{channel:this.externalId}))}cleanup(e=!1){var n,o;(n=this.channel)==null||n.close(),this.channel=void 0,e&&((o=this.defaultChannel)==null||o.close(),this.defaultChannel=void 0)}},qc=Zr;function sS(t){return t.replace(/(_\w)/g,e=>e[1].toUpperCase())}function B(t){return Array.isArray(t)?t.map(B):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,n)=>x(y({},e),{[sS(n)]:B(t[n])}),{}):t}function rS(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function Y(t){return Array.isArray(t)?t.map(Y):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,n)=>x(y({},e),{[rS(n)]:Y(t[n])}),{}):t}var Zt=class extends Error{constructor(n,o){super(n);this.body=o;this.name="CustomError"}};var Yr=t=>new Promise(e=>{setTimeout(e,t)});var Yt=class extends Zt{constructor(){super(...arguments);this.name="ClientError"}},ti=class extends Zt{constructor(){super(...arguments);this.name="ServerError"}},ei=new Map;function iS(t){return v(this,null,function*(){if(t.status===204)return t.text().catch(()=>{}),null;let e=t.headers.get("content-type");if(e!=null&&e.includes("application/json"))return t.json();let n=yield t.text();return n===""?null:(E.warn("Unexpected response body:",n.slice(0,20)),JSON.parse(n))})}var Xe=class Xe{constructor(e="",n={}){this.baseUrl=e;this.options=n;this.latestRequestByUrl={};var o;this.fetch=(o=n.fetch)!=null?o:window.fetch.bind(window)}patchFetch(e){this.fetch=e(this.fetch)}setCsrfToken(e){this.csrfToken=e}request(e,n={}){return new Promise((o,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,d=n.method===void 0||n.method.toLowerCase()==="get",O=n,{useCache:l=!1,abortLatest:c=!1,attempts:p=1,retryDelay:u=500,refreshTokenOn401:m=!0,retryOnError:f=_=>_ instanceof TypeError,retryOnResponse:g=_=>_.status>=500,version:h=null}=O,C=A(O,["useCache","abortLatest","attempts","retryDelay","refreshTokenOn401","retryOnError","retryOnResponse","version"]);if(l){if(!d)throw new Error(`Can't use 'useCache' for ${n.method}`);if(ei.has(i)){o(ei.get(i));return}}let T=x(y({credentials:"include"},C),{headers:y({Accept:"application/json","Content-Type":"application/json"},C.headers)});!d&&this.csrfToken&&(T.headers=x(y({},T.headers),{"X-CSRFToken":this.csrfToken})),typeof h=="string"&&(T.headers=x(y({},T.headers),{"X-Deepdesk-API-Version":h}));let b=p,R=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&c&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let I=()=>v(this,null,function*(){return b--,a(i,T).then(_=>v(this,null,function*(){return g(_)&&!r.isAborted&&b>0?(yield Yr(u),I()):_.status===401&&m===!0&&R===!1?(R=!0,yield this.refreshToken(),I()):_})).catch(_=>v(this,null,function*(){if(f(_)&&!r.isAborted&&b>0)return yield Yr(u),I();throw _}))});I().then(_=>v(this,null,function*(){let K=yield iS(_);if(delete this.latestRequestByUrl[i],_.status>=500){s(new ti("Server Error",K));return}if(_.status===401){s(new Yt("Unauthorized",K));return}if(_.status===403){s(new Yt("Forbidden",K));return}if(_.status===404){s(new Yt("Not Found",K));return}if(_.status>=400){s(new Yt("Bad Request",K));return}l&&ei.set(i,K),o(K)})).catch(_=>{s(_)})})}validateToken(){return v(this,null,function*(){let{has_valid_access_token:e,is_logged_in:n}=yield this.get("/apis/admin/session/validate/");if(!e)try{yield this.refreshToken();let{is_logged_in:o}=yield this.get("/apis/admin/session/validate/");return o}catch(o){return!1}return n})}refreshToken(){return Xe.refreshingToken||(Xe.refreshingToken=this.get("/apis/admin/session/refresh/",{refreshTokenOn401:!1}).finally(()=>{setTimeout(()=>{Xe.refreshingToken=null},1e3*60)})),Xe.refreshingToken}get(e,n){return this.request(e,n)}post(e,n,o){return this.request(e,y({method:"POST",body:JSON.stringify(n)},o))}patch(e,n,o){return this.request(e,y({method:"PATCH",body:JSON.stringify(n)},o))}put(e,n,o){return this.request(e,y({method:"PUT",body:JSON.stringify(n)},o))}delete(e,n){return this.request(e,y({method:"DELETE"},n))}};Xe.refreshingToken=null;var en=Xe;var Xc;(e=>{let t;(a=>(a.SUCCESS="success",a.FAILURE="failure",a.CONDITIONS_NOT_MET="conditions_not_met",a.MAX_RECURSION_LEVEL="max_recursion_level",a.NO_ACCESS_TO_ASSISTANT="no_access_to_assistant"))(t=e.EvaluationStatus||(e.EvaluationStatus={}))})(Xc||(Xc={}));function ni(t){return x(y({},B(t)),{metadata:t.metadata})}var vt=class vt{constructor(e,n={}){this.options=n;this.latestReceivedDeepdeskVersions={};this.shouldFetchCsrfToken=!0;this.client=new en(e,{fetch:n.fetch}),this.client.patchFetch(o=>(s,r)=>v(this,null,function*(){let i=yield o(s,r);return this.handleDeepdeskVersionHeaders(i),i}))}preflight(){return v(this,null,function*(){if(this.shouldFetchCsrfToken){this.shouldFetchCsrfToken=!1;let e=yield this.getCsrfToken();this.client.setCsrfToken(e)}return this.options.token?(vt.exchangeTokenPromise||(vt.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),vt.exchangeTokenPromise):Promise.resolve()})}createConversation(e){return v(this,null,function*(){var o;yield this.preflight(),E.info(`Creating conversation for session ${e.externalId} and agent ${e.agentId}`);let n=yield this.client.post("/api/v2/conversations",x(y({chat_start_time:new Date().toISOString()},Y(e)),{metadata:(o=e.metadata)!=null?o:{}}));return ni(n)})}getMe(){return v(this,null,function*(){let e=yield this.client.get("/apis/admin/session/me/");return B(e)})}postIdentity(e){return v(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/me/identities/",Y(e))})}patchMe(e){return v(this,null,function*(){yield this.preflight();let n=yield this.client.patch("/apis/admin/session/me/",Y(e));return B(n)})}getProfile(e){return v(this,null,function*(){let n=yield this.client.get(`/apis/admin/profiles/${e}/`,{useCache:!0});return B(n)})}getKnowledgeAssistant(e){return v(this,null,function*(){let n=yield this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{useCache:!0});return B(n)})}getContentTypes(){return v(this,null,function*(){let e=yield this.client.get("/apis/admin/content-types/",{useCache:!0});return B(e)})}getAccount(){return v(this,null,function*(){let e=yield this.client.get("/apis/admin/account/",{useCache:!0});return B(e)})}getPlatformConfig(e){return v(this,null,function*(){let n=e!==void 0?`/platform/config/${e}/`:"/platform/config/",{config:o}=yield this.client.get(n,{useCache:!0});return B(o)})}checkUserExists(e){return v(this,null,function*(){let{exists:n}=yield this.client.get(`/apis/admin/users/exists?external_id=${e}`,{version:"v1"});return n})}getConversationByExternalId(o){return v(this,arguments,function*(e,n={}){yield this.preflight(),E.info(`Getting conversation for session ${e}`);let{attempts:s=1,retryDelay:r=1e3}=n,i=yield this.client.get(`/api/v2/conversations/by_external_id/${e}`,{attempts:s,retryDelay:r,retryOnResponse:a=>a.status===404||a.status>=500,version:"v2"});return E.info(`Successfully retrieved conversation ${i.id} for session ${e}`),ni(i)})}isConversationSupported(o){return v(this,arguments,function*(e,n={}){E.info(`Check if conversation for session ${e} is supported`);let{attempts:s=1,retryDelay:r=1e3}=n;return(yield this.client.get(`/api/v2/conversations/by_external_id/${e}/has_active_profile`,{attempts:s,retryDelay:r,retryOnResponse:a=>a.status===404||a.status>=500})).has_active_profile})}updateConversation(e,n){return v(this,null,function*(){var r;yield this.preflight();let o=Y(n);n.metadata&&(o.metadata=(r=n.metadata)!=null?r:{});let s=yield this.client.put(`/api/v2/conversations/${e}`,o);return ni(s)})}postMessages(e,n){return v(this,null,function*(){yield this.preflight(),yield this.client.post(`/api/v2/conversations/${e}/messages`,n.map(o=>x(y({},Y(o)),{metadata:o.metadata})))})}sendEvent(e,n){return v(this,null,function*(){yield this.preflight();let a=n,{data:o}=a,s=A(a,["data"]),r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((d,[l,c])=>x(y({},d),{[l]:c}),{}),i=["platform","agentId","agentName","agentEmail","conversationId"].reduce((d,l)=>(s[l]&&(d[l]=s[l]),d),{});return this.client.post("/api/v2/events",Y(x(y(y({},r),i),{data:o,name:e})),{version:"v2"})})}getEntities(e){return v(this,null,function*(){return yield this.preflight(),yield this.client.post("/api/v2/entities",{messages:e.filter(o=>o.text)})})}getTemporaryExchangeToken(){return v(this,null,function*(){return(yield this.client.get("/apis/admin/session/exchange-token/")).jwt})}exchangeTokenForAccessCookie(e){return v(this,null,function*(){return this.client.post("/apis/admin/session/jwt/",{jwt:e}).catch(n=>{throw E.warn(`Invalid token '${e}'`),n})})}authenticateWithKey(e,n){return v(this,null,function*(){yield this.preflight(),yield this.client.post("/apis/admin/session/api-key/",Y(n),{refreshTokenOn401:!1,headers:{apikey:e}})})}getTextSuggestions(s){return v(this,arguments,function*(e,n={},o){if(yield this.preflight(),o==="sticky-messages")throw new Error("Use getPinnedMessages instead");return(yield this.client.post(`/api/v2/conversations/${e}/recommend/${o}`,Y(n),{abortLatest:!0})).map(i=>x(y({},B(i)),{text:i.text||i.url||i.message,source:o,type:o})).filter((i,a,d)=>a===d.findIndex(l=>l.text===i.text))})}isLoggedIn(){return v(this,null,function*(){return yield this.preflight(),this.client.validateToken()})}getAutocompleteSuggestions(e,n){return v(this,null,function*(){return yield this.preflight(),(yield this.client.post(`/api/v2/conversations/${e}/autocomplete`,Y(n),{abortLatest:!0})).map(s=>({score:1,source:s.source,sourceText:s.source_text,text:s.label,trainingJobs:s.training_jobs,searchKeywords:s.search_keywords,type:s.source})).filter((s,r,i)=>r===i.findIndex(a=>a.text===s.text))})}getPinnedMessages(e){return v(this,null,function*(){let n=yield this.client.get(`/api/v2/profiles/${e}/pinned-messages`,{abortLatest:!0});return B(n).map(o=>x(y({},o),{text:o.message,source:"sticky-messages",type:"pinned-message"}))})}getStyleSuggestions(e){return v(this,null,function*(){let n=yield this.client.post("/api/v2/style-suggestions",Y(e),{abortLatest:!0,version:"v2"});return B(n)})}search(e){return v(this,null,function*(){let n=yield this.client.post(`/api/v2/profiles/${e.profile}/search`,Y(e));return B(n)})}requestLoginByEmail(e){return v(this,null,function*(){yield this.preflight();let n=yield this.client.post("/apis/admin/session/passwordless/request/",{email:e});return B(n)})}requestPasswordlessToken(){return v(this,null,function*(){let e=yield this.client.get("/apis/admin/session/passwordless/request/");return B(e.token)})}getCsrfToken(){return v(this,null,function*(){let{token:e}=yield this.client.get("/apis/admin/session/csrf/");return e})}verifyLoginToken(e){return v(this,null,function*(){let n=yield this.client.post("/apis/admin/session/passwordless/login/",{token:e});return B(n)})}evaluateAssistant(e,n){return v(this,null,function*(){var i;yield this.preflight();let o=new URLSearchParams;n!=null&&n.externalConversationId&&o.append("external_conversation_id",n.externalConversationId);let s=n!=null&&n.threadId?`/api/v2/assistants/${e}/threads/${n==null?void 0:n.threadId}/evaluate?${o.toString()}`:`/api/v2/assistants/${e}/evaluate?${o.toString()}`,r=yield this.client.post(s,{input:(i=n==null?void 0:n.input)!=null?i:{},conversation:n==null?void 0:n.transcript});return B(r)})}createAssistantThread(e){return v(this,null,function*(){yield this.preflight();let{assistantCode:n}=e,o=yield this.client.post(`/apis/admin/assistants/${n}/threads/`,{});return B(o)})}postMessageToAssistantThread(e){return v(this,null,function*(){yield this.preflight();let{assistantCode:n,threadId:o,message:s}=e,r=yield this.client.post(`/apis/admin/assistants/${n}/threads/${o}/messages/`,{content:s,role:"user"});return B(r)})}translateMessages(e){return v(this,null,function*(){yield this.preflight();let n=yield this.client.post("/api/v2/translate",Y(e));return B(n)})}handleDeepdeskVersionHeaders(e){e.headers.forEach((n,o)=>{let s=o.toLowerCase(),r=s.match(Mi);if(!n||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&n&&a!==n&&E.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(n)}`),this.latestReceivedDeepdeskVersions[i]=n})}};vt.exchangeTokenPromise=null;var Je=vt;import{combineReducers as mS,configureStore as gS}from"@reduxjs/toolkit";import{createSlice as aS}from"@reduxjs/toolkit";var Jc={startTime:null,stopTime:null},Qc=t=>t.handlingTime,Zc=aS({name:"handlingTime",initialState:Jc,reducers:{handlingTimeStart(t){if(t.startTime&&!t.stopTime)throw new Error("Timing already started");t.startTime=new Date,t.stopTime=null},handlingTimeStop(t){if(!t.startTime)throw new Error("Timing not started");t.stopTime=new Date},handlingTimeReset(t){t.startTime=null,t.stopTime=null}},extraReducers:t=>{t.addCase(V,()=>Jc)}}),{handlingTimeStart:Yc,handlingTimeStop:ps,handlingTimeReset:eu}=Zc.actions,tu=Zc.reducer;var nu=(t={})=>{let e=y({onAuthError:Et(!1)},t);return n=>o=>s=>("error"in s&&s.error.message==="Unauthorized"&&n.dispatch(e.onAuthError),o(s))};import{createAsyncThunk as lS,createSlice as dS}from"@reduxjs/toolkit";var ms={list:{keywordMatches:[]},fetchState:"idle"};var St=lS("styleSuggestions/getAll",(n,o)=>v(null,[n,o],function*({text:t},e){var d;let{deepdeskAPI:s}=e.extra,r=e.getState(),{showStyleSuggestions:i}=r.settings,a=(d=r.conversation.current)==null?void 0:d.profileCode;if(!i)return ms.list;if(!a)throw new Error("No current conversation to fetch pinned messages");return s.getStyleSuggestions({profileCode:a,message:t})})),cS=dS({name:"styleSuggestions",initialState:ms,reducers:{},extraReducers:t=>{t.addCase(St.pending,e=>{e.fetchState="loading"}).addCase(St.rejected,e=>{e.fetchState="error"}).addCase(St.fulfilled,(e,n)=>{e.fetchState="done",Ve(e.list,n.payload)||(e.list=n.payload)}).addCase(nt,e=>{e.list=ms.list}).addCase(V,()=>ms)}}),ou=cS.reducer;var su=(t={})=>{let e,n=!0,o=y({getStyleSuggestions:St,debounce:500},t);return s=>r=>i=>{var m;let a=s.getState().input.text,d=r(i),l=s.getState();if(l.auth.isLoggedIn!==!0)return d;let{showStyleSuggestions:c}=l.settings;if(!((m=l.conversation.current)==null?void 0:m.id)||!c)return d;let{text:u}=l.input;return u===a&&!n||(clearTimeout(e),u==="")||(e=setTimeout(()=>{n=!1,s.dispatch(o.getStyleSuggestions({text:u}))},t.debounce)),d}};function uS(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var ru=(t={})=>{let e=y({getTextSuggestions:fe,getAutocompleteSuggestions:An,debounce:200,check:be},t),n;return o=>s=>r=>{var g;let{input:i}=o.getState(),a=s(r),d=o.getState();if(d.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:l,showTabCompletion:c}=d.settings,p=(g=d.conversation.current)==null?void 0:g.id,u=r.type===Lo.toString();if(!p||!l&&!c)return a;let{input:m}=d;return uS(m,i)&&!u||(clearTimeout(n),!e.check(d))||(n=setTimeout(()=>{let h=Pt(d);h===""?o.dispatch(e.getTextSuggestions("default")):o.dispatch(e.getAutocompleteSuggestions(h))},u?0:e.debounce)),a}};var iu=St.fulfilled.toString();function pS(t,e){let n=new Set([...e.keywordMatches.map(s=>s.keyword)]),o=[];return n.forEach(s=>{let r=t.keywordMatches.filter(d=>d.keyword===s),i=e.keywordMatches.filter(d=>d.keyword===s),a=i.length-r.length;a<=0||o.push(...i.slice(0,a))}),o}var au=t=>e=>n=>o=>{var l;if(o.type!==iu){n(o);return}let s=e.getState().styleSuggestions.list;n(o);let r=e.getState(),i=r.styleSuggestions.list,a=(l=r.conversation)==null?void 0:l.current;if(s===i)return;let d=pS(s,i);o.type===iu&&d.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:d}})};var fS=mS({assistants:Jd,auth:Ki,conversation:Gi,contentTypes:Wa,passwordlessToken:ec,entities:Sl,handlingTime:tu,info:ha,input:ia,settings:Di,profile:Ga,search:Ca,styleSuggestions:ou,ui:Xl,textSuggestions:Nl});function lu(t){return gS({reducer:fS,middleware:e=>{var o;let n=e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI}},serializableCheck:!1}).concat(nu()).concat(ru({debounce:200})).concat(su({debounce:500})).concat(au(t.deepdeskAPI));return((o=t.middleware)!=null?o:[]).reduce((s,r)=>s.concat(r),n)},preloadedState:t.preloadedState})}var hS=t=>{var e,n;return(n=(e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())!=null?n:"unknown"},yS=t=>e=>n=>o=>{var a,d;let s=e.getState(),r=wt("inlineSuggestions")(s);switch(o.type){case Et.toString():{!o.payload&&t.emit("logout",void 0);break}case ge.fulfilled.toString():o.payload.length>0&&t.sendEvent("entities found",{conversationId:(a=s.conversation.current)==null?void 0:a.id,data:{entities:o.payload}});break;case nt.toString():t.logSendMessage(o.payload);break;case qo.toString():t.emit("call-to-action",{cue:o.payload});break;case we.fulfilled.toString():o.isBroadcasted||t.broadcast(_s,o,!1);break;default:break}let i=n(o);switch(o.type){case nt.toString():t.handleAfterSendMessage(o.payload);break;case Mn.toString():t.onUpdateShowTabHint(o.payload);break;case ps.toString():t.logHandlingTime();break;case Lt.toString():t.broadcast(uo,o);break;case tt.toString():t.broadcast(uo,o);break;case Xo.toString():e.dispatch(tt({source:"assistant",assistantCode:o.payload.code}));break;case"analytics/logEvent/fulfilled":{let l=s.assistants.cues.find(c=>c.code===o.meta.arg.data.assistantCode);t.emit("event",x(y({},o.meta.arg),{cue:l}));break}case se.toString():{let{start:l,end:c}=s.input.selection;t.emit("select-suggestion",x(y({type:hS(o.payload.suggestion)},o.payload),{replace:o.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}})),r&&e.dispatch(je([]));break}case no.toString():t.emit("select-image",o.payload),t.sendEvent("Image attached",{conversationId:(d=s.conversation.current)==null?void 0:d.id,data:{path:o.payload.suggestion.image,title:o.payload.suggestion.title}});break;case je.toString():{r&&o.payload.length>0&&e.dispatch(oo(0));break}default:break}return i},du=yS;import{createSelector as vS}from"@reduxjs/toolkit";function oi(t){return t.toISOString().replace("T"," ").replace("Z","")}var SS=(t,e)=>e.version,cu=vS([At,ye,Qc,SS],(t,e,n,o)=>{if(!e)return E.warn("No conversationId for handling time metrics"),null;let{startTime:s,stopTime:r}=n;return!s||!r?(E.warn("No startTime and stopTime for handling time metrics"),null):{conversationId:e,clientVersion:o,agentId:t==null?void 0:t.agentId,agentName:t==null?void 0:t.agentName,agentEmail:t==null?void 0:t.agentEmail,timeStart:oi(s),timeStop:oi(r)}});function uu(t,e){let{text:n,metrics:{numPaste:o,pastes:s,textSuggestions:r}}=t.input,i=n.length;return{source:"agent",clientVersion:e.version,pastes:s,lenTextTotal:i,numPastes:o,suggestions:r}}function si(t,e){var r;let n=t.closest(e);if(n)return n;let o=t.getRootNode().host;if(o instanceof HTMLElement)return si(o,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?si(s,e):null}function ri(t,e){return si(t,e)}function pu(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function xS(t){return typeof t=="object"&&t!==null&&"tagName"in t}function ii(t){return xS(t)&&(mt(t)||Bo(t))}var gu,Ee=new Map,bS=["bottom","height","left","right","top","width"],mu=(t,e)=>!t&&!e?!1:t&&!e||!t&&e?!0:bS.some(n=>t[n]!==e[n]);function fu(t){var n,o,s;if(t.ownerDocument===document)return[];let e=(s=(o=(n=t.ownerDocument)==null?void 0:n.defaultView)==null?void 0:o.frameElement)!=null?s:null;return e?[e,...fu(e)]:[]}function hu(t,e){return!t||!e?null:x(y({},t),{top:t.top+e.top,left:t.left+e.left})}var gs=!1,yu=()=>{gs=!0;let t=[];if(Ee.forEach((e,n)=>{if(!n.isConnected){e.rect=null,t.push(e),Ee.delete(n);return}let o=n.getBoundingClientRect();mu(o,e.rect)&&(e.rect=o,t.push(e))}),t.forEach(e=>{let n=e.parentRects?e.parentRects.reduce(hu,e.rect):e.rect;mu(n,e.totalRect)&&e.callbacks.forEach(o=>o(n)),e.totalRect=n}),Ee.size===0){gs=!1;return}gu=window.requestAnimationFrame(yu)};function ai(t,e){let n=fu(t),o=[],s=n.map((r,i)=>ai(r,a=>{o[i]=a;let d=Ee.get(t);if(!d)return;let l=o.reduce(hu,d.rect);d.callbacks.forEach(c=>c(l))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),Ee.has(t)){let i=Ee.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else Ee.set(t,{rect:void 0,callbacks:[e],parentRects:o});r&&!gs&&yu()},unobserve(){s.forEach(i=>i.unobserve());let r=Ee.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||Ee.delete(t),Ee.size||(cancelAnimationFrame(gu),gs=!1)}}}}var vu,ke=new Map,Su=()=>{ke.forEach((t,e)=>{if(!e.isConnected){ke.delete(e);return}let{clientHeight:n,scrollHeight:o}=e,s=o>n;t.visible!==s&&(t.visible=s,t.callbacks.forEach(r=>r(t.visible)))}),ke.size!==0&&(vu=window.requestAnimationFrame(Su))};function xu(t,e){return{observe(){let n=ke.size===0;ke.has(t)?ke.get(t).callbacks.push(e):ke.set(t,{visible:void 0,callbacks:[e]}),n&&Su()},unobserve(){let n=ke.get(t);if(n){let o=n.callbacks.indexOf(e);o>=0&&n.callbacks.splice(o,1),n.callbacks.length||ke.delete(t),ke.size||cancelAnimationFrame(vu)}}}}var li=["borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","borderStyle","boxSizing","color","overflowWrap","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontWeight","fontKerning","lineHeight","letterSpacing","paddingLeft","paddingTop","paddingRight","paddingBottom","width","height","textIndent","whiteSpace","wordBreak","wordSpacing","wordWrap"];function di(t,e,n){return n.forEach(o=>{e.style[o]=t[o]})}function tn(t){return Number.parseFloat(t)}function fs(t){return Math.round(t*1e6)}function bu(t){return t/1e6}function ci(t,e,n){if(t.boxSizing==="content-box")return;let{clientWidth:o}=e,s=tn(t.width),r=tn(t.borderLeftWidth),i=tn(t.borderRightWidth),a=tn(t.paddingRight),d=bu(fs(s)-fs(r)-fs(i)),l=bu(fs(o));if(d-l>2){let c=d-l;n.style.paddingRight=`${a+c}px`}}function hs(t,e={}){var c,p;let n=e.overlayContainer||document.createElement("div");n.style.display="none",n.style.position=(c=e.position)!=null?c:"fixed",n.style.pointerEvents="none",n.style.borderColor="transparent",ct(n);let o=window.getComputedStyle(t),s=!0,r=()=>{n.scrollTop=t.scrollTop};di(o,n,li),ci(o,t,n),e.mirrorOverflow&&(n.style.overflow="hidden",t.addEventListener("scroll",r));let i=xu(t,()=>{di(o,n,li),ci(o,t,n),r(),setTimeout(r,0)}),a,d=!0,l=ai(t,u=>{if(u===null){e.onRemove&&e.onRemove(),n.remove();return}if(!d&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),d=!0),clearTimeout(a),a=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),d=!1},200),u.height===0&&u.width===0){if(s===!0)return;e.onHide&&e.onHide(),n.style.display="none",s=!0;return}if(di(o,n,li),ci(o,t,n),r(),e.placement==="below"&&n.classList.add("below"),n.style.top=`${u.top}px`,n.style.left=`${u.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let m=e.closestScrollElement.getBoundingClientRect(),f=window.getComputedStyle(e.closestScrollElement),g=tn(f.borderTopWidth),h=tn(f.borderBottomWidth),C=m.top+g-u.top,T=u.top+u.height+-(m.top+m.height-h);n.style.clipPath=`inset(${C}px 0px ${T}px 0px)`}s&&(n.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(n):(p=t.parentElement)==null||p.appendChild(n),l.observe(),i.observe(),[n,()=>{t.removeEventListener("scroll",r),l.unobserve(),i.unobserve(),n.remove()}]}var Cu=(t,e)=>({value(){try{let n=sessionStorage.getItem(`dd-${t}`);if(!n)return e;try{return JSON.parse(n)}catch(o){return e}}catch(n){return e}},update(n){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(n))}catch(o){E.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function CS(t){return t.offsetParent!==null}function Tu(t){if(!CS(t))return!1;let e=t.getBoundingClientRect();return e.top>=0&&e.left>=0&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&e.right<=(window.innerWidth||document.documentElement.clientWidth)}function ui(t,e,n=100){let o=Tu(t);e({isVisible:o});let s=setInterval(()=>{let r=Tu(t);r!==o&&(o=r,e({isVisible:o}))},n);return()=>{clearTimeout(s)}}var Wn=class extends Error{};function TS(){let t,e;return{promise:new Promise((o,s)=>{t=o,e=s}),resolve:t,reject:e}}var ys=class{constructor(){this.queues={}}push(e,n){let o=()=>{let r=this.queues[e][1];r?(this.queues[e]=[r.promise,null],r.resolve()):delete this.queues[e]};if(!this.queues[e]){let r=n().finally(o);return this.queues[e]=[r,null],r}this.queues[e][1]&&this.queues[e][1].reject(new Wn("Queued async function is outdated"));let s=TS();return this.queues[e][1]=s,s.promise.then(()=>n().finally(o))}};var wS={accepted:"onConversationAcceptedAssistants","new-message":"onConversationNewMessageAssistants",ended:"onConversationEndedAssistants"},wu=(t,e)=>{var s,r,i;if(!((i=(r=(s=t.uiConfig)==null?void 0:s.widget)==null?void 0:r.types.find(a=>a.type==="cues"))==null?void 0:i.isActive))return E.warn("Triggered a conversation assistant, but cues are not configured in widget."),[];let o=t[wS[e]];return o&&o.length>0?o.map(a=>a.code):(E.warn(`No assistant set in profile for conversation event "${e}"`),[])};var vs=class{constructor(e){this.options=e;this.socket=null;this.maxReconnectAttempts=5;this.reconnectInterval=25e3;this.cleanupCallbacks=[];var n,o;this.socket,this.eventListeners=new Map,this.url=e.url,this.maxReconnectAttempts=(n=e.maxReconnectAttempts)!=null?n:this.maxReconnectAttempts,this.reconnectInterval=(o=e.reconnectInterval)!=null?o:this.reconnectInterval,this.shouldReconnect=e.shouldReconnect}connect(){let e=()=>this.cleanup();window.addEventListener("beforeunload",e),this.cleanupCallbacks.push(()=>window.removeEventListener("beforeunload",e)),this.reconnect()}setupListeners(){this.socket&&(this.socket.onmessage=e=>{var n;try{let o=B(JSON.parse(e.data));o.event&&this.eventListeners.has(o.event)&&((n=this.eventListeners.get(o.event))==null||n.forEach(s=>s(o.data)))}catch(o){console.error("Error parsing WebSocket message:",o)}},this.socket.onclose=e=>{console.log("WebSocket connection closed:",e),setTimeout(()=>{this.reconnect()},this.reconnectInterval)},this.socket.onerror=e=>{console.error("WebSocket error:",e)})}reconnect(){var e,n;if(this.maxReconnectAttempts<=0){console.error("Max reconnect attempts reached, closing WebSocket connection."),(e=this.socket)==null||e.close();return}if(!this.shouldReconnect()){console.error("Should not reconnect, closing WebSocket connection."),(n=this.socket)==null||n.close();return}this.socket&&(this.socket.onmessage=null,this.socket.onclose=null,this.socket.onerror=null,this.socket.close()),this.socket=new WebSocket(this.url),this.setupListeners(),this.maxReconnectAttempts--}send(e,n){if(!this.socket){console.error("WebSocket connection is not open.");return}this.socket.send(JSON.stringify({event:e,data:n}))}on(e,n){this.eventListeners.has(e)||this.eventListeners.set(e,[]);let o=this.eventListeners.get(e);o&&!o.includes(n)&&o.push(n)}close(){var e;(e=this.socket)==null||e.close()}cleanup(){this.close(),this.cleanupCallbacks.forEach(e=>e()),this.cleanupCallbacks=[]}};import RS,{useState as mi,useEffect as PS}from"react";var Eu={root:"dd-7zvcP",dialogContent:"dd-4C0lK",continueButton:"dd-YUPQW",buttonContinueWrapper:"dd-IKpYs",nicknameInput:"dd-rxhGp",titleWrapper:"dd-nw3nD",title:"dd-5iof5",closeButtonWrapper:"dd-UUAzA",closeButton:"dd-7rjP5",buttonsWrapper:"dd-5e9Xb",errorMessage:"dd--5VgX",errorLink:"dd-u461n"};import{useSelector as IS}from"react-redux";var pi={};q(pi,{enUS:()=>ES,nlNL:()=>kS});var ES={title:[{type:0,value:"Enter your nickname"}],close:[{type:0,value:"Close"}],nicknameDialogTitle:[{type:0,value:"Please enter the name you'd like customers to see during chat conversations. This nickname will be used across your Deepdesk environment.Please enter the name you'd like customers to see during chat conversations. This nickname will be used across your Deepdesk environment."}],nicknameDialogInputPlaceholder:[{type:0,value:"Enter your nickname"}],nicknameDialogContinueButton:[{type:0,value:"Continue"}],nicknameDialogError:[{type:0,value:"Nickname cannot be empty or spaces only"}],nicknameDialogEmojiError:[{type:0,value:"You cannot use emojis in this field."}],nicknameDialogSaveError:[{type:0,value:"We couldn't save your details just now. Please try again, or update it at "},{type:1,value:"account"},{type:0,value:".deepdesk.com/admin/user-settings"}],nicknameDialogSaveErrorWithoutLink:[{type:0,value:"We couldn\u2019t save your details just now. Please try again later, or update them in My Deepdesk \u2192 Settings."}]},kS={title:[{type:0,value:"Voer je bijnaam in"}],close:[{type:0,value:"Sluiten"}],nicknameDialogTitle:[{type:0,value:"Voer de naam in die je wilt dat klanten zien tijdens chatgesprekken. Deze bijnaam wordt gebruikt in je Deepdesk-omgeving."}],nicknameDialogInputPlaceholder:[{type:0,value:"Voer je bijnaam in"}],nicknameDialogContinueButton:[{type:0,value:"Doorgaan"}],nicknameDialogError:[{type:0,value:"Bijnaam mag niet leeg of alleen spaties zijn"}],nicknameDialogEmojiError:[{type:0,value:"Je kunt geen emoji's gebruiken in dit veld."}],nicknameDialogSaveError:[{type:0,value:"We konden je gegevens nu niet opslaan. Probeer het opnieuw of werk het bij op "},{type:1,value:"account"},{type:0,value:".deepdesk.com/admin/user-settings"}],nicknameDialogSaveErrorWithoutLink:[{type:0,value:"We konden je gegevens nu niet opslaan. Probeer het opnieuw later, of werk ze bij in My Deepdesk \u2192 Instellingen."}]};import{Fragment as LS,jsx as he,jsxs as Ss}from"react/jsx-runtime";var ku=({onClose:t,onSave:e,id:n,error:o})=>{let[s,r]=mi(""),[i,a]=mi(!1),[d,l]=mi(!1),c=S("Nickname",Eu),p=RS.useRef(null),u=IS(C=>C.info.showNicknameDialog),m=k(pi),f=w("adminUrl");PS(()=>{o&&a(!0)},[o]);let g=()=>{if(!p.current)return;s.trim()?p.current.setCustomValidity(""):p.current.setCustomValidity(m("nicknameDialogError")),p.current.reportValidity()},h=C=>{C.preventDefault();let T=s.trim(),b=C.currentTarget.querySelector("#nickname-input");if(!T){b.setCustomValidity(m("nicknameDialogError")),b.reportValidity();return}b.setCustomValidity(""),e(T)};return Ss(Ot,{isOpen:u,"datatest-id":n,onClose:t||(()=>{}),onBack:t||(()=>{}),children:[he("div",{className:c.titleWrapper,children:he("h1",{className:c.title,children:m("title")})}),Ss("form",{className:c.dialogContent,onSubmit:h,children:[he("p",{children:m("nicknameDialogTitle")}),i&&o&&he("div",{className:c.errorMessage,children:f?(()=>{let C=m("nicknameDialogSaveError",{account:f}),T=`${f}.deepdesk.com/admin/user-settings`,b=C.indexOf(T);if(b!==-1){let R=C.substring(0,b),I=C.substring(b+T.length);return Ss(LS,{children:[R,he("a",{href:T,target:"_blank",rel:"noopener noreferrer",className:c.errorLink,children:T}),I]})}return C})():m("nicknameDialogSaveErrorWithoutLink")}),he("input",{required:!0,minLength:1,maxLength:20,"data-testid":"nickname-input",id:"nickname-input",className:c.nicknameInput,type:"text",placeholder:m("nicknameDialogInputPlaceholder"),value:s,onChange:C=>{l(new RegExp("\\p{Extended_Pictographic}","u").test(C.target.value)),r(C.target.value)},onBlur:g,ref:p}),d&&he("div",{className:c.errorMessage,role:"alert",children:m("nicknameDialogEmojiError")}),Ss("div",{className:c.buttonsWrapper,children:[o?he("div",{className:c.closeButtonWrapper,children:he("button",{type:"button",className:c.closeButton,onClick:()=>t==null?void 0:t(),children:m("close")})}):null,he("div",{className:c.buttonContinueWrapper,children:he("button",{type:"submit",className:c.continueButton,disabled:!s.trim()||new RegExp("\\p{Extended_Pictographic}","u").test(s),children:m("nicknameDialogContinueButton")})})]})]})]})};import{jsx as F,jsxs as AS}from"react/jsx-runtime";var Ru=Cu("showTabHint",!0),nn=class nn{constructor({deepdeskUrl:e,version:n=nn.version||"unknown",locale:o="en-US",token:s,fetch:r,productName:i,createCustomChannel:a,websocketClient:d=vs}){this.inputMediator=null;this.eventListeners={};this.unmountHandlers=[];this.disposeHandlers=[];this.inlineSuggestions=null;this.aboveSuggestions=null;this.belowSuggestions=null;this.floatingMenu=null;this.widgetElement=null;this.widgetRoot=null;this.nicknameDialogUnsubscribe=null;this.nicknameDialogFailed=!1;this.dynamicThunkObject={};this.queues=new ys;this.isMounted=!1;this.shouldRender=!0;this.loadProfileConfigPromise=null;let l=e.replace(/\/api$/,"");this.deepdeskApi=new Je(l,{token:s,fetch:r}),this.version=n,this.instanceId=nn.count++;let c={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[du({broadcast:(f,g,h)=>{this.broadcastEvents.send(f,g,h)},emit:(f,g)=>this.emit(f,g),handleAfterSendMessage:f=>this.handleAfterSendMessage(f),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:f=>this.logSendMessage(f),onUpdateShowTabHint:f=>Ru.update(f),sendEvent:(f,g)=>this.deepdeskApi.sendEvent(f,g)})]};this.store=lu(c),this.broadcastEvents=new qc({debug:!0,deepdeskUrl:l,eventMap:Ta(this.store),createCustomChannel:a}),this.disposeHandlers.push(()=>{this.broadcastEvents.cleanup()}),this.ws=new d({url:`${l}/api/v2/me/realtime`.replace("https","wss"),reconnectInterval:25e3,shouldReconnect:()=>v(this,null,function*(){var f;return(f=X(this.state))!=null?f:!1})}),this.whenLoggedIn(()=>this.ws.connect()),this.store.dispatch(Mn(Ru.value())),this.store.dispatch(Zn({locale:o,adminUrl:l,productName:i}));let p=[],u=f=>{if(!f.conversationId)return;let g=()=>{this.conversationId()===f.conversationId&&this.store.dispatch(Xd(f))};this.hasConversation()?g():p.push(g)};this.ws.on("assistants::direct_response",u),this.ws.on("assistants::user_notification",u),this.ws.on("assistants::response_chunk",f=>{if(!f.conversationId)return;let g=()=>{this.conversationId()===f.conversationId&&this.store.dispatch(qd(f))};this.hasConversation()?g():p.push(g)}),this.ws.on("assistants::suggest_as_reply",f=>{if(!f.conversationId)return;let g=()=>{this.conversationId()===f.conversationId&&this.store.dispatch(Lt([{text:f.payload.message,type:"text",source:"assistant",assistantCode:f.code,sourceLabel:f.name}]))};this.hasConversation()?g():p.push(g)});let m=this.whenConversationLoaded(()=>{var f;this.broadcastEvents.setExternalId((f=this.state.conversation.current)==null?void 0:f.externalId),p.forEach(g=>g()),p.length=0});this.disposeHandlers.push(()=>{this.ws.cleanup(),p.length=0,m()})}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){var e;return(e=et(this.state)[this.state.input.selectedSuggestionIndex])!=null?e:null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}externalId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.externalId}shouldAbort(){return this.state.conversation.isSupported===!1?(E.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(E.warn("Profile has not been loaded (yet)"),!0):(E.warn("No conversation loaded (yet)"),!0)}whenLoggedIn(e){if(X(this.state))e();else{let n=this.subscribe(X,o=>{o&&e()});this.disposeHandlers.push(()=>{n()})}}login(){return this.store.dispatch(Et(null)),this.store.dispatch(Ie()),new Promise(e=>{this.whenLoggedIn(()=>e())})}isLoggedIn(){return v(this,null,function*(){return(yield this.store.dispatch(Ie())).payload})}isConversationSupported(e,n){return v(this,null,function*(){return(yield this.store.dispatch(Is({externalId:e,options:n}))).payload})}createConversation(e){return v(this,null,function*(){var o;return this.hasConversation()&&this.externalId()!==e.externalId&&this.resetConversation(),(yield this.store.dispatch(Yn(x(y({},e),{metadata:(o=e.metadata)!=null?o:{}})))).payload})}getConversationByExternalId(e,n){return v(this,null,function*(){return this.hasConversation()&&this.externalId()!==e&&this.resetConversation(),(yield this.store.dispatch(eo({externalId:e,options:n}))).payload})}upsertConversation(e){return v(this,null,function*(){var o;return this.hasConversation()&&this.externalId()!==e.externalId&&this.resetConversation(),(yield this.store.dispatch(Ls(x(y({},e),{metadata:(o=e.metadata)!=null?o:{}})))).payload})}postMessages(e){return v(this,null,function*(){yield this.store.dispatch(As(e))})}updateConversation(e){return v(this,null,function*(){return(yield this.store.dispatch(to(e))).payload})}resetConversation(){this.store.dispatch(V()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}configure(e){this.store.dispatch(Zn(e))}setVisitorInfo(e){this.store.dispatch(pa(e))}setCustomData(e){this.store.dispatch(ma(e))}setAgentInfo(e,n){return v(this,null,function*(){var s;yield this.store.dispatch(cn(y(y({},e),n))),((s=this.state.info.agentInfo)==null?void 0:s.agentNickname)||this.broadcastEvents.send(co,{showNicknameDialog:!0})})}setAgentSettings(e){return v(this,null,function*(){yield this.store.dispatch(Ns(e))})}getAgentSettings(){return v(this,null,function*(){return(yield this.store.dispatch(Os())).payload})}refresh(){return v(this,null,function*(){if(this.shouldAbort())return Promise.resolve();let e=[];return e.push(this.refreshTextSuggestions()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})})}syncInputMediator(){this.inputMediator&&this.store.dispatch(so({text:this.inputMediator.getText(),html:this.inputMediator.getHTML()}))}notifyExternalSuggestion(e){this.store.dispatch(se(e))}evaluateAssistant(e,n){return v(this,null,function*(){var d;let{input:o={},transcript:s,showCuesInWidget:r=!0,includeMetadata:i}=n||{},a=yield this.store.dispatch(we({assistantCode:e,transcript:s,includeMetadata:i,input:o,skipState:!r}));if(a.error)throw new Error(`Assistant evaluation failed: ${(d=a.payload)!=null?d:a.error.message}`);return a.payload.output})}evaluateConversationAssistant(e,n){return v(this,null,function*(){yield this.loadProfileConfig();let o=this.state.profile.data;if(!o){E.warn("Can't evaluate assistant when profile is not loaded yet.");return}let s=wu(o,e);yield Promise.all(s.map(r=>this.queues.push(r,()=>v(this,null,function*(){yield this.evaluateAssistant(r,y({includeMetadata:!0},n))})).catch(i=>{if(i instanceof Wn){E.warn(`Queued assistant "${r}" was outdated and dropped`);return}throw i})))})}handleKeyDown(e){let{overlayCollapsed:n,openOverlayWhenTyping:o}=this.state.ui,{textSuggestions:s,selectedSuggestionIndex:r,selection:i}=this.state.input,{inlineSuggestions:a,showTextSuggestions:d,suggestionsPlacement:l}=this.settings,c=l==="inline"||l==="below"?"below":"above",p=s.length>0;if(this.store.dispatch(Yi(Ms(e))),!be(this.state)||e.key!=="Tab"&&!d)return;let u=()=>{n||!p||i&&(e.shiftKey||(this.store.dispatch(na()),e.preventDefault()))},m=()=>{n||!p||a&&r<=0||i&&(e.shiftKey||(this.store.dispatch(oa()),e.preventDefault()))};switch(e.key){case"ArrowUp":c==="below"?m():u();break;case"ArrowDown":{c==="below"?u():m();break}case"Escape":{n||(this.store.dispatch(oo(-1)),this.store.dispatch(Ge({collapse:!0})),this.store.dispatch(Gl(!0)),e.preventDefault());break}case"Tab":{e.preventDefault();let f=It(this.state);if(!f)return;this.store.dispatch(Mn(!1)),this.store.dispatch(se({text:f.text,suggestion:f,eventMetrics:{inputType:"tab"},replace:"until-selection-end"}));break}case" ":{if(this.settings.inlineSuggestions||this.state.input.selectedSuggestionIndex===-1)return;let f=It(this.state);if(!f)return;this.store.dispatch(se({text:f.text,suggestion:f,eventMetrics:{inputType:"space"},replace:"until-selection-end"}));break}case"Enter":{if(this.settings.inlineSuggestions||e.shiftKey||this.state.input.selectedSuggestionIndex===-1)return;let f=It(this.state);if(!f)return;this.store.dispatch(se({text:f.text,suggestion:f,eventMetrics:{inputType:"enter"},replace:"until-selection-end"})),e.preventDefault();break}default:}n&&o&&this.store.dispatch(Ge({collapse:!1}))}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(je([]))}handlingTimeStart(){this.state.handlingTime.startTime||(E.info("Start handling time"),this.store.dispatch(Yc()))}handlingTimeStop(){this.state.handlingTime.startTime&&(E.info("Stop handling time"),this.store.dispatch(ps()))}logSendMessage(e){let n=uu(this.state,{version:this.version});n&&(e&&(Object.assign(n,{text:e}),Object.assign(n,{lenTextTotal:e.length})),this.deepdeskApi.sendEvent("Send Message",{conversationId:this.conversationId(),data:n}),this.emit("send-message-event",n))}logHandlingTime(){let e=cu(this.state,{version:this.version});e&&(this.deepdeskApi.sendEvent("Handling Time",{conversationId:this.conversationId(),data:e}),this.store.dispatch(eu()))}notifySubmit(e={}){var n;this.shouldAbort()||(this.store.dispatch(nt((n=e.text)!=null?n:this.state.input.text)),this.store.dispatch(ra()))}emit(e,n){let o=this.eventListeners[e];o&&o.forEach(s=>{try{s(n)}catch(r){E.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),E.error(r)}})}on(e,n){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(n),()=>{this.off(e,n)}}off(e,n){if(!e&&!n){this.eventListeners={};return}let o;this.eventListeners[e]&&(o=this.eventListeners[e].indexOf(n),o>-1&&this.eventListeners[e].splice(o,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}setPlatformVariables(e){this.store.dispatch(ga(e))}whenConversationLoaded(e){let n=r=>{var i;return(i=r.conversation.current)==null?void 0:i.id},o=()=>this.loadProfileConfig().then(()=>e());return n(this.state)&&o(),this.subscribe(n,r=>{r&&o()})}overlayContainerFactory(e,n,o,s){let[r,i]=hs(n,o);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),[r,i]}createInlineContainer(e,n){var a;let o=document.createElement("div");o.style.position="absolute",o.style.top="0px",o.style.left="0px",o.style.height="0px",o.style.width="0px";let s=document.createElement("div");s.style.display="none",s.style.position="absolute",s.style.height="0px",s.style.width="0px",s.style.backgroundColor="red",o.appendChild(s);let r=(a=e.ownerDocument.defaultView)==null?void 0:a.frameElement,i=r?r.ownerDocument.defaultView:null;if(r&&(i===window||(i==null?void 0:i.parent)===window)){let[d,l]=hs(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});d.dataset.testid=n,d.style.zIndex="2",d.appendChild(o),this.unmountHandlers.push(()=>{l()})}else document.body.appendChild(o);return s}createContainer(e,n=document.body){let o=window.getComputedStyle(n),s=document.createElement("div");return ct(s),s.dataset.testid=e,s.style.color=o.color,s.style.fontSize=o.fontSize,s.style.fontFamily=o.fontFamily,s.style.fontVariant=o.fontVariant,s.setAttribute("translate","no"),n.appendChild(s),s}storeMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,n=JSON.stringify({text:this.state.input.text,metrics:this.state.input.metrics});window.sessionStorage.setItem(e,n),E.info(`Stored analytics for ${this.conversationId()}`)}catch(e){}}restoreMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,n=window.sessionStorage.getItem(e);if(!n)return;let o=JSON.parse(n);o.text.trim()===this.state.input.text.trim()?(E.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(sa(o.metrics))):E.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch(e){}}mount(e,n={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!ii(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let u=n,{customStyles:o,closestScrollSelector:s,floatingMenuParent:r,appendOverlayTo:i,inputMediator:a}=u,d=A(u,["customStyles","closestScrollSelector","floatingMenuParent","appendOverlayTo","inputMediator"]),l={customStyles:o,closestScrollSelector:s,floatingMenuParent:r,appendOverlayTo:i};this.configure(d),this.settings.automaticHandlingTime&&this.setupHandlingTime(e),ct(e),this.inputMediator=a||(mt(e)?new Qt(e):new Jt(e)),this.inputMediator.on("change",({plainText:m,rawHTML:f})=>{this.store.dispatch(so({text:m,html:f}))}),this.inputMediator.on("keyup",m=>{this.store.dispatch(ea(Ms(m)))}),this.inputMediator.on("keydown",m=>{this.handleKeyDown(m)}),this.inputMediator.on("paste",({pastedText:m,selectionText:f})=>{this.store.dispatch(ta({text:m,selectionText:f}))}),this.inputMediator.on("cut",({selectionText:m})=>{this.store.dispatch(Zi(m))});let c;this.inputMediator.on("selection",m=>{clearTimeout(c),m===null?c=setTimeout(()=>{m!==null&&this.store.dispatch(ro(m))},500):this.store.dispatch(ro(m))}),this.unmountHandlers.push(()=>{clearTimeout(c)}),this.inputMediator.on("disabled",()=>{var m;(m=this.inputMediator)==null||m.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{this.settings.detectSubmit&&this.notifySubmit()}),this.inputMediator.on("blur",()=>{this.store.dispatch(No(!1))}),this.inputMediator.on("focus",()=>{this.store.dispatch(No(!0))}),this.renderSuggestions(e,l),this.subscribe(wt("inlineSuggestions"),()=>{this.renderSuggestions(e,l)}),this.subscribe(wt("suggestionsPlacement"),()=>{this.renderSuggestions(e,l)});let p=this.renderOverlays(n);this.unmountHandlers.push(()=>{p.unmount()}),this.store.dispatch(so({text:this.inputMediator.getText(),html:this.inputMediator.getHTML()})),this.store.dispatch(ro(this.inputMediator.getSelection())),this.store.dispatch(No(this.inputMediator.isFocused)),this.unmountHandlers.push(()=>{this.state.input.text!==""&&this.storeMetrics()}),this.whenConversationLoaded(()=>{this.restoreMetrics(),this.syncInputMediator(),this.refreshTextSuggestions(),this.promptForNickname()}),this.isMounted=!0}promptForNickname(e){if(this.nicknameDialogUnsubscribe||this.nicknameDialogFailed)return;let n=this.createContainer("nickname-dialog",document.body);document.body.appendChild(n);let o=Qe(n),s=null,r=a=>{s=a,i()},i=()=>{o==null||o.render(F(Oe,{store:this.store,children:F(Ae,{broadcastEvents:this.broadcastEvents,children:F(ku,{id:"deepdesk-nickname-dialog",error:s,onSave:a=>v(this,null,function*(){try{yield this.store.dispatch(ca({agentNickname:a})).unwrap(),console.log("setAgentNickname",a),this.broadcastEvents.send(co,{showNicknameDialog:!1}),this.nicknameDialogUnsubscribe&&this.nicknameDialogUnsubscribe()}catch(d){E.error("Error setting agent nickname",d),r("error"),this.nicknameDialogFailed=!0}})})})}))};i(),this.nicknameDialogUnsubscribe=()=>{o.unmount(),n.remove(),this.nicknameDialogUnsubscribe=null}}subscribe(e,n){let o=e(this.store.getState());return this.store.subscribe(()=>{let s=e(this.store.getState());s!==o&&(o=s,n(o))})}unmount(){var e,n,o,s,r;(e=this.inlineSuggestions)==null||e.unmount(),(n=this.aboveSuggestions)==null||n.unmount(),(o=this.belowSuggestions)==null||o.unmount(),(s=this.floatingMenu)==null||s.unmount(),this.unmountHandlers.forEach(i=>i()),this.unmountHandlers=[],(r=this.inputMediator)==null||r.dispose(),this.nicknameDialogUnsubscribe&&this.nicknameDialogUnsubscribe(),this.isMounted=!1}dispose(){this.unmount(),this.unmountWidget(),this.disposeHandlers.forEach(e=>e()),this.disposeHandlers=[],this.off()}renderSuggestions(e,n){var o,s,r,i;(o=this.floatingMenu)==null||o.unmount(),(s=this.inlineSuggestions)==null||s.unmount(),(r=this.aboveSuggestions)==null||r.unmount(),(i=this.belowSuggestions)==null||i.unmount(),this.settings.floatingMenu&&(this.floatingMenu=this.renderFloatingMenu(e,n)),this.settings.inlineSuggestions||this.settings.suggestionsPlacement==="inline"?this.inlineSuggestions=this.renderInlineSuggestions(e,n):this.settings.suggestionsPlacement==="below"?this.belowSuggestions=this.renderAboveOrBelowSuggestions(e,n,"below"):this.aboveSuggestions=this.renderAboveOrBelowSuggestions(e,n,"above")}renderInlineSuggestions(e,n){let{customStyles:o}=n,s=this.createInlineContainer(e,"deepdesk-caret"),r=Qe(s);r.render(F(Oe,{store:this.store,customStyles:o,children:F(Ae,{broadcastEvents:this.broadcastEvents,children:F(od,{})})}));let i=a=>{a?(s.style.display="block",s.style.top=`${a.top}px`,s.style.left=`${a.left}px`):s.style.display="none"};return this.inputMediator.on("caretposition",i),{unmount:()=>{var a;(a=this.inputMediator)==null||a.off("caretposition",i),r.unmount(),s.remove()}}}renderAboveOrBelowSuggestions(e,n,o){let{customStyles:s,closestScrollSelector:r,appendOverlayTo:i}=n,a=r&&ri(e,r)||void 0,[d,l]=this.overlayContainerFactory("deepdesk-tab-completion",a||e,{appendTo:i,closestScrollElement:a,mirrorOverflow:!0,onRemove:()=>this.unmount()},s==null?void 0:s.rootNode),[c,p]=this.overlayContainerFactory("deepdesk-suggestions-overlay",a||e,{appendTo:i,placement:o},s==null?void 0:s.suggestionsRootNode),u=Qe(d);u.render(F(Oe,{store:this.store,customStyles:s,children:F(Ae,{broadcastEvents:this.broadcastEvents,children:F(Bd,{inputElement:e})})}));let m=Qe(c);return m.render(F(Oe,{store:this.store,customStyles:s,children:F(Ae,{broadcastEvents:this.broadcastEvents,children:F(md,{onLogIn:()=>this.loginViaPopup().catch(f=>E.warn(f.message))})})})),{unmount(){u.unmount(),m.unmount(),l(),p()}}}renderFloatingMenu(e,n){let{customStyles:o,closestScrollSelector:s,appendOverlayTo:r,floatingMenuParent:i}=n,a=s&&ri(e,s)||void 0,[d,l]=this.overlayContainerFactory("floating-menu",a||e,{appendTo:i!=null?i:r},o==null?void 0:o.floatingMenuParent),c=Qe(d);return c.render(F(Oe,{store:this.store,customStyles:o,children:F(Ae,{broadcastEvents:this.broadcastEvents,children:F(jl,{onLogIn:()=>this.loginViaPopup().catch(p=>E.warn(p.message))})})})),{unmount(){c.unmount(),l()}}}renderOverlays(e){let{customStyles:n}=e,o=this.createContainer("deepdesk-overlays"),s=Qe(o);return s.render(F(Oe,{store:this.store,customStyles:n,children:F(Ae,{broadcastEvents:this.broadcastEvents,children:F(Bl,{})})})),{unmount(){s.unmount(),o.remove()}}}renderWidget(e,n={}){if(this.widgetElement&&E.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:o,showImages:s,isEmbedded:r}=n;this.widgetElement=e,this.configure({showImages:s,isEmbedded:r}),this.widgetRoot=Qe(e),this.widgetRoot.render(F(Oe,{store:this.store,customStyles:o,children:F(Ae,{broadcastEvents:this.broadcastEvents,children:F(Wc,{assistantOptions:n.assistantOptions,knowledgeAssistOptions:n.knowledgeAssist,onLogIn:()=>this.loginViaPopup().catch(i=>E.warn(i.message))})})}))}unmountWidget(){var e,n;(n=(e=this.widgetRoot)==null?void 0:e.unmount)==null||n.call(e),this.widgetRoot=null,this.widgetElement=null}renderKnowledgeAssistantWidget(e,n,o={}){let{customStyles:s,initialQuestion:r}=o,i=Qe(n);return i.render(F(Oe,{store:this.store,customStyles:s,children:F(Ae,{broadcastEvents:this.broadcastEvents,children:F(Xr,{children:AS(ss,{assistantCode:e,initialQuestion:r,evaluateKnowledgeAssistFn:Dn,children:[F(rn,{children:F(is,{title:o.title,emptyState:o.emptyState})}),F(qr,{children:F(rs,{})})]})})})})),{unmount(){i.unmount()}}}setupHandlingTime(e){let n=ui(e,({isVisible:o})=>{o?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),n()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){pu(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(()=>v(this,null,function*(){yield this.store.dispatch(En());let e=rt(this.state);e&&this.store.dispatch(Zn({showSearch:e.search,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:!!e.summarizerAssistantNew,showKnowledgeSearch:!!e.knowledgeAssistantNew||!!e.knowledgeAssistant,recommendTextSuggestions:e.recommendTextSuggestions}))})),this.loadProfileConfigPromise)}loginViaPopup(e){return v(this,null,function*(){return new Promise((n,o)=>{let s=new MessageChannel,r=s.port1,i=this.settings.adminUrl,a=new URL(e!=null&&e.url?e==null?void 0:e.url:`${i}/platform/sso/`);a.searchParams.append("redirect","/sdk/popup/close.html");let d=!1,l=()=>{c&&!c.closed&&c.close(),window.removeEventListener("message",p),clearInterval(u)};r.onmessage=m=>v(this,null,function*(){var f,g;if((f=m.data)!=null&&f.jwt)try{yield this.deepdeskApi.exchangeTokenForAccessCookie((g=m.data)==null?void 0:g.jwt),yield this.isLoggedIn(),this.broadcastEvents.send(pn),d=!0,s.port1.close(),n()}catch(h){console.error(h),o(h)}finally{d=!0,l()}});let c=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");c===null&&o(new Error("Popup blocked by browser"));let p=m=>v(this,null,function*(){var f;if(m.origin===a.origin)switch((f=m.data)==null?void 0:f.type){case"deepdesk-popup-loaded":{try{let g=JSON.stringify({type:"deepdesk-popup-create-channel"});c==null||c.postMessage(g,a.origin,[s.port2])}catch(g){E.error("Error posting message to popup",g),o(g)}break}case"deepdesk-popup-error":{l(),m.data.message==="Timeout"&&E.warn("Popup timed out. Check if the account's platform url is configured correctly."),o(new Error(m.data.message));break}}});window.addEventListener("message",p);let u=setInterval(()=>{c&&!c.closed||(l(),d||o(new Error("Popup closed by user")))},200);this.disposeHandlers.push(l)})})}translateMessages(e){return this.deepdeskApi.translateMessages(e)}refreshTextSuggestions(){return v(this,null,function*(){this.isMounted&&(yield this.store.dispatch(Lo()))})}refreshWidgetSuggestions(){return v(this,null,function*(){if(!this.widgetRoot)return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let n=kn(this.state);try{n.forEach(({type:o})=>{switch(o){case"entities":this.store.dispatch(ge());break;case"pinned-messages":case"sticky-messages":break;default:Jn.includes(o)||this.store.dispatch(fe(o))}})}catch(o){this.handleError(o)}})}};nn.version="18.2.1-beta.15",nn.count=0;var xs=nn;function MS(t){return v(this,null,function*(){var s,r,i;let n=yield((s=t.fetch)!=null?s:window.fetch)(t.url),o=yield n.blob();return new File([o],t.name,{type:(i=(r=t.mimeType)!=null?r:n.headers.get("Content-Type"))!=null?i:"image/jpeg"})})}function NS(t,e){return v(this,null,function*(){let n=yield MS(e),o=new Event("change",{bubbles:!0,cancelable:!0});try{Object.defineProperty(t,"files",{configurable:!0,get:()=>[n]}),t.dispatchEvent(o)}finally{Object.hasOwn(t,"files")&&delete t.files}})}function OS(t,e,n){return v(this,null,function*(){yield new Je(t).authenticateWithKey(e,n)})}function DS(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}function _S(o,s){return v(this,arguments,function*(t,e,n={}){var p,u;let{value:r}=t,{start:i,end:a}=(p=n.replace)!=null?p:{start:0,end:r.length},d=`${r.slice(0,i)}${e}${r.slice(a)}`,l=(u=n.selectionAfter)!=null?u:{start:i+e.length,end:i+e.length},c=()=>{if(n.setValue)return n.setValue(d);t.value=d};return Promise.resolve(c()).then(()=>{t.selectionStart=l.start,t.selectionEnd=l.end,t.blur(),t.focus()})})}function FS(o,s){return v(this,arguments,function*(t,e,n={}){let r=n.replace?yt(t,n.replace.start,n.replace.end):Kn(t),i,a=()=>{if(n.setRange)return n.setRange(r.cloneRange());r.deleteContents(),i=document.createElement("span"),r.insertNode(i),n.insertBRs!==!1?e.split(`
11
11
  `).reverse().forEach((d,l)=>{l>0&&r.insertNode(document.createElement("br")),r.insertNode(document.createTextNode(d))}):r.insertNode(document.createTextNode(e))};return Promise.resolve(a()).then(()=>{try{if(n.selectionAfter!==!1){t.focus();let d=n.selectionAfter?yt(t,n.selectionAfter.start,n.selectionAfter.end):(r.collapse(!1),r),l=window.getSelection();l==null||l.removeAllRanges(),l==null||l.addRange(d)}if(!i)return;i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"nearest"})}finally{i&&i.remove()}})})}function HS(t){let e=document.createElement("template");return e.innerHTML=t.replace(/(\[([^\]]+)])\(([^)]+)\)/g,'<a href="$3" target="_blank" rel="noopener noreferrer">$2</a>'),e.content}function BS(t){let e=document.createDocumentFragment();return t.split(`
12
12
  `).forEach((n,o)=>{o>0&&e.appendChild(document.createElement("br"));let s={index:0},r=0;for(;s=n.slice(r).match(/(\[([^\]]+)])\(([^)]+)\)/);){let i=document.createElement("a");i.href=s[3],i.setAttribute("target","_blank"),i.setAttribute("rel","noopener noreferrer"),i.appendChild(document.createTextNode(s[2])),e.appendChild(document.createTextNode(n.slice(r,r+s.index))),e.appendChild(i),r=r+s.index+s[0].length}e.appendChild(document.createTextNode(n.slice(r)))}),e}function Pu(t,e){let n=t.parentElement;if(!n){console.warn("No insert point found");return}let{display:o}=window.getComputedStyle(n);o.includes("block")||o==="table-cell"?n==null||n.insertBefore(e,t.nextSibling):Pu(n,e)}function US(s,r){return v(this,arguments,function*(t,e,{isBlock:n,isHTML:o}={}){let i;t.dispatchEvent(new InputEvent("beforeinput",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0}));let a=()=>{var u;let d=(u=t.ownerDocument.defaultView)!=null?u:window,l=d.getSelection();if((!l||l.rangeCount===0)&&(t.focus(),l=d.getSelection()),!l||l.rangeCount===0)return;let c=l.getRangeAt(0);if(!c)return;i=document.createElement("span"),c.insertNode(i);let p=o?HS(e):BS(e);n?Pu(c.startContainer,p):(c.insertNode(p),c.collapse(!1))};return Promise.resolve(a()).then(()=>{if(t.dispatchEvent(new InputEvent("input",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0})),t.focus(),!!i)try{i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"nearest"})}finally{i&&i.remove()}})})}export{D as Card,Jt as ContentEditableInput,Je as DeepdeskAPI,xs as DeepdeskSDK,en as HTTPClient,qe as InputMediator,Tt as InputType,ws as KeyboardHint,qu as Label,Qn as Locale,Pe as Section,rn as SectionList,ze as Sources,M as Suggestion,te as SuggestionList,Qt as TextAreaInput,Ct as ToggleButton,NS as attachFile,OS as authenticateWithKey,Kn as createFullRange,hs as createOverlayContainer,yt as createRangeFromOffsets,Pn as escapeHTML,DS as formatTextMarkup,cs as getRangeOffsets,us as getRangeText,US as insertCKEditor,xo as isHTML,ii as isSupportedInputElement,dr as logEvent,FS as updateContentEditable,_S as updateTextArea,dt as useClickOutsideRoot,S as useStyles,ui as waitForElementVisibilityChange};