@deepdesk/deepdesk-sdk 11.1.1-beta.3 → 11.1.1-beta.4

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
@@ -4,8 +4,8 @@ Try polyfilling it using "@formatjs/intl-pluralrules"
4
4
  c-17.9,17.9-27.3,40.1-27.3,65.7C163.4,163,163.4,233,163.4,233z M465.5,267.9V477c0,9.4-3.4,17.9-10.2,24.7
5
5
  c-6.8,6.8-15.4,10.2-24.7,10.2h-349c-9.4,0-17.9-3.4-24.7-10.2c-6.8-6.8-10.2-15.4-10.2-24.7V267.9c0-9.4,3.4-17.9,10.2-24.7
6
6
  c6.8-6.8,15.4-10.2,24.7-10.2h11.9v-70c0-44.4,16.2-82.8,47.8-115.2S212.1,0,256.4,0s82.8,16.2,115.2,47.8
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 gl}from"react/jsx-runtime";var cf={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},ml=({className:t,color:e})=>gl("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:gl("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:cf[e||"pink"]})});var fl={root:"j",text:"Y",isLoggedIn:"ei",isLoggedOut:"no",icon:"ii",logo:"ri",lock:"ti"};var Gs={};Z(Gs,{enUS:()=>uf,nlNL:()=>pf});var uf={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},pf={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};import{useDispatch as ff}from"react-redux";import{jsx as js,jsxs as hl}from"react/jsx-runtime";var yl=({onLogIn:t})=>{let e=R(Gs),o=b("floatingMenu"),n=b("productName"),s=ff(),r=mf(W),i=h("FloatingMenu",fl);if(r===null||o===!1)return null;let a=()=>{r===!0?s(Y(!0)):t()};return hl("button",{className:gf(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[js("div",{className:i.text,children:e(r?"search":"signin",{productName:n})}),hl("div",{className:i.icon,children:[js(ml,{className:i.logo,color:"pink"}),r===!1&&js(pl,{className:i.lock})]})]})};import{useEffect as Hf,useRef as Ff}from"react";import{connect as Bf,useDispatch as Kf,useSelector as an}from"react-redux";import{useEffect as hf}from"react";function xt(t){hf(()=>{let e=o=>{o.isWithinRoot||t(o)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function Ze(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}function bt(t){let{showMidSentenceSuggestions:e,showSuggestionsBeforePattern:o,showSuggestionsAfterPattern:n}=t.settings,{text:s,selection:r}=t.input.userCommitted;return r.start!==r.end?!1:r.end>=s.length?!0:e?o&&new RegExp(o).test(s.substring(r.end))||n&&new RegExp(n).test(s.substring(0,r.end))?!0:o===!1&&n===!1:!1}import{createSlice as yf}from"@reduxjs/toolkit";var vf={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1};var nn=({ui:t})=>t.overlayCollapsed;var vl=yf({name:"ui",initialState:vf,reducers:{setShowTabHint(t,e){t.showTabHint=e.payload},setInputHasFocus(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:eo,setInputHasFocus:Ws,setOverlayCollapsed:_e,setOpenOverlayWhenTyping:Sl,setOverlayCollapsedUserOverwrite:xl}=vl.actions,bl=vl.reducer;import{Fragment as Nf,useMemo as Of}from"react";import{Interweave as Cf}from"interweave";import{useEffect as wf,useMemo as Tf,useRef as Ef}from"react";import{useDispatch as kf,useSelector as Rf}from"react-redux";import{useEffect as Sf}from"react";function Cl(t,e,o){Sf(()=>{let n=t.current;return n?(n.addEventListener(e,o),()=>{n.removeEventListener(e,o)}):()=>{}},[t,e,o])}var wl={root:"ni",actions:"ai",badge:"pi",formattedText:"ao"};import{jsx as sn,jsxs as Mf}from"react/jsx-runtime";var Pf=["search","personal-collection-search","search-autocomplete"];function If(t,e,o,n={}){let s="";return Pf.includes(e)?s=sa(Ts(t,o,{stripAgentPart:!0}),n.searchKeywords??[o]):s=Ts(t,o,n),n.placeholders===!0&&(s=ra(s)),s}var Lf=()=>{},Af=({index:t,selected:e,suggestion:o,onFeedback:n})=>{let s=b("inlineSuggestions"),r=Rf(pt),i=kf(),a=h("TextSuggestion",wl),l=Ef(null);wf(()=>{let d=setTimeout(()=>{i(mi({text:o.text,suggestion:o}))},500);return()=>{clearTimeout(d)}},[o]),Cl(l,"click",()=>{i(Le(t)),i(pe({suggestion:o,text:o.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let c=Tf(()=>If(o.text,o.source,r,{stripAgentPart:s,placeholders:!0,searchKeywords:o.searchKeywords}),[s,o.text,o.source,r,o.searchKeywords]);return o.source==="gpt"&&!s?null:Mf("div",{className:a.root,onMouseEnter:()=>i(Le(t)),children:[sn(M,{ref:l,as:"button","data-testid":"suggestions-overlay-item",selected:e,onClick:Lf,children:sn(Cf,{containerTagName:"div",noWrap:!1,tagName:"span",className:a.formattedText,content:c})}),e&&n&&sn("div",{className:a.actions,children:sn(Xo,{onFeedback:()=>n(o),suggestion:o.text})})]})},Tl=Af;import{jsx as El}from"react/jsx-runtime";var _f=({onFeedback:t,suggestions:e,selectedIndex:o,reverse:n})=>{let s=Of(()=>{let r=e.map((i,a)=>El(Tl,{index:a,selected:a===o,suggestion:i,onFeedback:t},`${i.text}-${i.source}`));return n?r.reverse():r},[e,o,n]);return El(Nf,{children:s})},rn=_f;var kl={root:"di",paper:"li"};import{jsx as ln}from"react/jsx-runtime";var Uf=({textSuggestions:t,selectedIndex:e})=>{let o=Ff(null),n=h("InlineSuggestionsOverlay",kl),s=an(bt),r=Kf(),i=an(W),a=an(dt),l=an(nn),c=b("showTextSuggestions");return xt(()=>{setTimeout(()=>{r(_e({collapse:!0,skipWhenInputFocus:!0}))})}),Hf(()=>{let d=o.current;if(!d||!d.parentElement)return;d.parentElement.style.left="0px";let u=d.getBoundingClientRect();d.parentElement.style.left=`${Math.min(window.innerWidth-4-u.right,0)}px`}),l||!s||!c||t.length===0||i!==!0||a===!1?null:ln("div",{className:n.root,"data-variant":"inline",children:ln("div",{ref:o,className:n.paper,children:ln(te,{children:ln(rn,{suggestions:t,selectedIndex:e})})})})},zf=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Rl=Bf(zf)(Uf);import{Provider as Vf}from"react-redux";import{jsx as cn}from"react/jsx-runtime";var $f=({children:t})=>{let o=b("locale").replace("-","");return cn(ys.Provider,{value:o,children:t})},qf=({store:t,customStyles:e={},children:o})=>cn(Vf,{store:t,children:cn($f,{children:cn(_t.Provider,{value:e,children:o})})}),Qe=qf;import Ys from"classnames";import{useEffect as ih,useRef as ah,useState as lh}from"react";import{connect as ch,useDispatch as dh,useSelector as to}from"react-redux";import{useState as Gf}from"react";function Pl(t,e){let[o,n]=Gf(()=>{if(typeof window>"u")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return T.error(r),e}});return[o,r=>{try{let i=r instanceof Function?r(o):r;n(i),typeof window<"u"&&window.localStorage.setItem(t,JSON.stringify(i))}catch(i){T.error(i)}}]}var Il=()=>/Mac/i.test(navigator.platform);import Zf from"classnames";import{Fragment as Qf,useCallback as Zs,useMemo as Al}from"react";var Xs={};Z(Xs,{enUS:()=>jf,nlNL:()=>Wf});var jf={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"}]}]},Wf={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 Ll={root:"si",anchor:"ci",anchorButton:"xi"};import{jsx as dn,jsxs as Ml}from"react/jsx-runtime";var Qs=(t,e,o)=>n=>dn("button",{className:t.anchorButton,type:"button",value:e,onClick:o,children:n},e),Jf=({className:t,loginUrl:e,isEmbedded:o,onSnooze:n,onLogIn:s})=>{let r=R(Xs),i=oe(),a=h("Login",Ll),l=b("productName"),c=Zs(y=>{y.preventDefault(),n&&n(parseInt(y.target.value,10))},[]),d=Zs(y=>{y.preventDefault(),i.send(gt,!0)},[e]),u=Al(()=>y=>dn("a",{onClick:S=>{S.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:y},"login"),[e]),g=Zs(y=>dn("button",{type:"button",className:a.anchorButton,onClick:d,children:y},"prompt"),[d]),{min:p,hour:f,day:m}=Al(()=>({min:Qs(a,60*10,c),hour:Qs(a,60*60,c),day:Qs(a,60*60*12,c)}),[]);return Ml("div",{className:Zf(t,a.root),children:[r("loginPlease",{login:o?g:u,productName:l}),n&&Ml(Qf,{children:[dn("br",{}),r("snooze",{min:p,hour:f,day:m})]})]})},un=Jf;import{useDispatch as eh}from"react-redux";var Nl={root:"po",text:"fi"};import{jsx as Ol,jsxs as oh}from"react/jsx-runtime";var th=({title:t})=>{let e=h("SearchTrigger",Nl),o=eh();return oh("button",{type:"button",className:e.root,onClick:()=>o(Y(!0)),children:[Ol(mt,{}),Ol("span",{className:e.text,children:t})]})},_l=th;var Js={};Z(Js,{enUS:()=>nh,nlNL:()=>sh});var nh={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"}]},sh={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 Dl={root:"gi",isInline:"q",toggleButton:"bi",toggleButtonWrapper:"C",toggleButtonWrapperHidden:"hi",isCollapsed:"do",collapsible:"mi",hints:"lo",hintsHidden:"ui",triggers:"so",triggersRight:"yi"};import{jsx as V,jsxs as oo}from"react/jsx-runtime";var uh=({textSuggestions:t,selectedIndex:e,onLogIn:o})=>{let n=h("SuggestionsOverlay",Dl),s=R(Js),r=to(bt),i=di(),a=dh(),l=ah(null),c=b("searchTriggerKey"),d=b("productName"),u=to(nn),g=to(W),p=to(dt),[f,m]=lh(null),y=b("showSearch"),E=b("showTextSuggestions"),S=b("adminUrl"),v=b("isEmbedded"),[k,x]=Pl("dd-snooze-until-ms",0),w=u||k>Date.now(),N=to(P=>P.input.text),U=t.filter(P=>P.source!=="gpt").length,F=()=>{w&&x(0),a(xl(!w))},I=P=>{a(G({name:"suggestion feedback",data:{text:P.text,source:"overlay",context:N},options:{includeConversationData:!0}}))},O=P=>{let $=Date.now()+P*1e3;x($),T.info(`Snooze until: ${new Date($)}`),a(_e({collapse:!0}))};return ih(()=>{U===0&&m(null)},[t,U]),xt(()=>{a(_e({collapse:!0,skipWhenInputFocus:!0}))}),g===null||p===!1?null:g===!1?oo("div",{ref:l,className:Ys(n.root,{[n.isCollapsed]:w}),children:[!w&&oo("div",{className:n.triggers,children:[V("div",{style:{flex:1}}),V("div",{className:n.triggersRight,children:V(it,{className:n.toggleButton,title:s("collapse"),onClick:F,isCollapsed:!1})})]}),V("div",{className:n.toggleButtonWrapper,children:V(it,{className:n.toggleButton,title:s("open",{productName:d}),onClick:F,isCollapsed:!0})}),V("div",{className:n.collapsible,children:V(un,{loginUrl:S,isEmbedded:v,onLogIn:o,onSnooze:O})})]}):!i||!r?null:oo("div",{ref:l,className:Ys(n.root,{[n.isCollapsed]:w}),children:[!w&&oo("div",{className:n.triggers,children:[V("div",{style:{flex:1},children:y&&V("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>m(s(Il()?"searchHintMac":"searchHintWindows",{searchTriggerKey:c.toUpperCase()})),onMouseLeave:()=>m(null),children:V(_l,{title:s("search")})})}),oo("div",{className:n.triggersRight,onFocus:()=>{},children:[V("div",{className:Ys(!f&&n.hintsHidden,n.hints),children:f}),V(it,{className:n.toggleButton,title:s("collapse"),onClick:F,isCollapsed:!1})]})]}),V("div",{className:n.toggleButtonWrapper,children:V(it,{className:n.toggleButton,title:s("open",{productName:d}),onClick:F,isCollapsed:!0})}),U>0&&E&&V("div",{className:n.collapsible,onFocus:()=>{},children:V(te,{children:V(rn,{onFeedback:I,suggestions:t,selectedIndex:e,reverse:!0})})})]})},ph=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Hl=ch(ph)(uh);import dr from"classnames";import{Interweave as gy}from"interweave";import{useCallback as my,useEffect as fy,useMemo as ac,useRef as hy}from"react";import{connect as yy}from"react-redux";import{useEffect as gh,useRef as mh,useState as fh}from"react";function pn(t){return t.contentEditable==="true"}function hh(t){let e=0,o=0,n=window.getSelection();if(n.rangeCount!==0){let s=n.getRangeAt(0),r=s.cloneRange();r.selectNodeContents(t),r.setEnd(s.endContainer,s.endOffset),o=r.toString().length,r.selectNodeContents(t),r.setEnd(s.startContainer,s.startOffset),e=r.toString().length}return{selectionStart:e,selectionEnd:o}}function Fl(t){let{selectionStart:e,selectionEnd:o}=pn(t)?hh(t):t;return[e,o]}function Bl(t){let[,e]=fh(),o=mh(null);return o.current=Fl(t),gh(()=>{let n=()=>{let[s,r]=o.current??[],i=Fl(t);(!i||s!==i[0]||r!==i[1])&&(o.current=i,e({}))};return t.addEventListener("keyup",n),t.addEventListener("click",n),t.addEventListener("focus",n),document.addEventListener("selectionchange",n),()=>{t.removeEventListener("keyup",n),t.removeEventListener("click",n),t.removeEventListener("focus",n),document.removeEventListener("selectionchange",n)}},[t]),o.current}function Kl(t,e){if(!e)return;let o=t,{value:n}=o,[s,r]=e,i=n.match(yo);if(!i||i.length===0)return;let a=0;i.find(l=>{let c=n.indexOf(l,a);return s>c&&r<c+l.length?(o.selectionStart=c,o.selectionEnd=c+l.length,!0):(a=c+l.length,!1)})}import{cloneElement as yh}from"react";var vh=["div","span","mark","strong","b","i","u","em"];function er(t,e,o=0){var r;let n=t[t.length-1],s=typeof n=="object"&&n!==null?(r=n.props)==null?void 0:r.tagName:void 0;if(s==="br")return t.pop(),[...t,...e,n];if(vh.includes(s)){let i=Array.isArray(n.props.children)?n.props.children:[n.props.children];return[...t.slice(0,t.length-1),yh(n,{children:er(i,e,o+1)})]}return[...t,...e]}function De(t){return t.tagName.toLowerCase()==="textarea"}var ce={root:"wi",container:"vi",agentText:"co",tabText:"xo",hint:"S",matchSelection:"fo",focus:"ki",resetIndent:"zi",matchKeyword:"p",matchPlaceholder:"d",hover:"go",hintText:"ji",popover:"Yi",popoverRoot:"qi",popoverContentContainer:"bo",popoverContent:"Ci",selectionOptions:"Si",selectionOptionsIsHidden:"Ei",selectionOptionsButton:"Gi",caret:"Ni",popoverSuggestionsRoot:"Ai",suggestionsOverlayInputStyles:"Fi"};import Uh from"classnames";import{Matcher as zh}from"interweave";import{useEffect as Vh,useMemo as $h}from"react";import{useEffect as xh,useRef as bh,useState as Ch}from"react";function Ul(t,e){let o;return[(...n)=>{window.cancelAnimationFrame(o);let s=e?e(...n):n;o=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(o)]}function gn(t){let e=bh(null),[o,n]=Ch(!1);return xh(()=>{let s=!1,r=parseFloat(window.getComputedStyle(document.body).zoom??"1"),[i,a]=Ul((d,u)=>{let g=e.current;if(!g)return;let p=d/r,f=u/r,m=g.getBoundingClientRect(),y=p>m.x&&p<m.x+m.width&&f>m.y&&f<m.y+m.height;y&&!s?(s=!0,n(!0)):!y&&s&&(s=!1,n(!1))},({clientX:d,clientY:u})=>[d,u]),[l,c]=Ul(()=>{s=!1,n(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",l),()=>{a(),c(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",l)}},[e]),[e,o]}function zl(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function mn(t){return e=>{t.forEach(o=>{typeof o=="function"?o(e):o!=null&&(o.current=e)})}}function Vl(t){return t!=null}import Wl from"classnames";import{createRef as Oh,useCallback as or,useMemo as _h,useRef as Dh,useState as Hh}from"react";import{useState as wh,useLayoutEffect as Th}from"react";var Eh=["bottom","height","left","right","top","width"],kh=(t={},e={})=>Eh.some(o=>t[o]!==e[o]),Ce=new Map,$l,ql=()=>{let t=[],e=[];Ce.forEach((o,n)=>{if(n instanceof Element&&!n.isConnected){e.push(n);return}let s=n.getBoundingClientRect();kh(s,o.rect)&&(o.rect=s,t.push(o))}),e.forEach(o=>{Ce.delete(o)}),t.forEach(o=>{o.callbacks.forEach(n=>n(o.rect))}),$l=window.requestAnimationFrame(ql)};function Rh(t,e){return{observe(){let o=Ce.size===0;if(Ce.has(t)){let n=Ce.get(t);n.callbacks.push(e),n.rect&&e(n.rect)}else Ce.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});o&&ql()},unobserve(){let o=Ce.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||Ce.delete(t),Ce.size||cancelAnimationFrame($l)}}}}function tr(t){let[e,o]=wh(null);return Th(()=>{if(!t.current)return;let n=Rh(t.current,s=>{o(s)});return n.observe(),()=>{n.unobserve()}},[t]),e}import{useContext as Ih,useLayoutEffect as Lh,useState as Ah}from"react";import{createPortal as Mh}from"react-dom";var Gl={root:"Hi"};var jl=({children:t,parentNode:e})=>{let[o,n]=Ah(null),s=Ih(_t);return Lh(()=>{let r=document.createElement("div");return Ze(r),r.classList.add(Gl.root),s!=null&&s.portalRootNode&&r.classList.add(s==null?void 0:s.portalRootNode),(e||document.body).appendChild(r),n(r),()=>{r.isConnected&&r.remove()}},[]),o?Mh(t,o):null};var ge={ref:"Li",root:"o",positionAbove:"l",positionBelow:"s",positionLeft:"c",positionRight:"x",alignStart:"f",alignCenter:"g",alignEnd:"b"};import{jsx as nr}from"react/jsx-runtime";var fn=(t=!1)=>{let[e,o]=Hh(t),n=or(()=>o(!0),[]),s=or(()=>o(!1),[]),r=or(()=>o(a=>!a),[]),i=Dh(null);return{opened:e,open:n,close:s,toggle:r,triggerRef:i}};function sr(t,e=null,o=0){if(!t)return{display:"none"};let n=e?t.top-e.top<0||t.top<e.top-o?e.top-o:t.top+t.height>e.top+e.height+o?e.top+e.height+o-t.height:t.top:t.top,s=e?t.left<e.left-o?e.left-o:t.left+t.width>e.left+e.width+o?e.left+e.width+o-t.width:t.left:t.left;return{top:n,left:s,height:t.height,width:t.width}}var Ct=({className:t,triggerRef:e,boundaryRef:o=Oh(),position:n="above",align:s="center",children:r,toStyle:i=sr,parentNode:a,...l})=>{let c=tr(e),d=tr(o),u=_h(()=>i(c,d,0),[c,d]);return nr(jl,{parentNode:a,children:nr("div",{className:Wl(ge.ref,{[ge.positionAbove]:n==="above",[ge.positionBelow]:n==="below",[ge.positionLeft]:n==="left",[ge.positionRight]:n==="right",[ge.alignStart]:s==="start",[ge.alignCenter]:s==="center",[ge.alignEnd]:s==="end"}),style:u,...l,role:"dialog",children:nr("div",{className:Wl(t,ge.root),children:r})})})};import Fh from"classnames";import{forwardRef as Bh,useRef as Kh}from"react";import{jsx as Xl}from"react/jsx-runtime";var hn=Bh(({className:t,children:e,...o},n)=>{let s=Kh(null),r=h("TabCompletion",ce);return Xl("div",{ref:mn([s,n]),className:Fh(t,r.popoverContentContainer),...o,children:Xl("div",{className:r.popoverContent,children:e})})});import{jsx as no,jsxs as jh}from"react/jsx-runtime";var qh=t=>e=>{let o=sr(e);return"top"in o&&(o.width=t.width-(e.left-t.left)-10),o},Gh=({inputElement:t,boundaryRef:e,inputStyle:o,children:n,suggestion:s})=>{let r=h("TabCompletion",ce),i=fn(),a=$h(()=>qh(t.getBoundingClientRect()),[t]),[l,c]=gn(t);return Vh(()=>{c?i.open():i.close()},[c]),jh("span",{children:[no("mark",{ref:mn([l,i.triggerRef]),className:Uh(r.matchKeyword,{[r.hover]:c}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:n}),i.opened&&no(Ct,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:no(hn,{style:o,children:no("div",{className:r.hintText,children:s})})})]})},yn=class extends zh{keywordMatches=[];preparedKeywordMatches=[];usedKeywordMatches=new Set;onBeforeParse(e,o){return o.keywordMatches&&o.keywordMatches!==this.keywordMatches&&(this.preparedKeywordMatches=o.keywordMatches.map(n=>({...n,keywordRegex:new RegExp(`\\b${zl(n.keyword)}\\b`,"i")})),this.keywordMatches=o.keywordMatches),this.usedKeywordMatches.clear(),e}match(e){let o=this.preparedKeywordMatches.map(s=>{if(this.usedKeywordMatches.has(s))return null;let r=e.match(s.keywordRegex);if(!r)return null;let i=e.charAt(r.index-1),a=e.charAt(r.index+s.keyword.length);return i==="{"&&a==="}"?null:{index:r.index,length:r[0].length,match:r[0],matchString:r[0],suggestion:s.suggestion,preparedKeywordMatch:s,valid:!0}}).filter(Vl);if(o.length===0)return null;let n=o.reduce((s,r)=>r.index<s.index?r:s);return this.usedKeywordMatches.add(n.preparedKeywordMatch),n}replaceWith(e,o){return no(Gh,{inputElement:o.inputElement,suggestion:o.suggestion,inputStyle:o.inputStyle,boundaryRef:o.boundaryRef,children:e},`keyword_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import{Matcher as Wh}from"interweave";import Xh from"classnames";import{jsx as Zl}from"react/jsx-runtime";var Zh=({inputElement:t,children:e})=>{let o=h("TabCompletion",ce),[n,s]=gn(t);return Zl("mark",{ref:n,className:Xh(o.matchPlaceholder,{[o.hover]:s}),children:e})},vn=class extends Wh{match(e){let o=e.match(/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\}(?!\}))/);return o?{index:o.index,length:o[0].length,match:o[0],matchString:o[0],valid:!0}:null}replaceWith(e,o){return Zl(Zh,{inputElement:o.inputElement,children:e},`placeholder_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import cr from"classnames";import{Matcher as iy}from"interweave";import{createRef as ay,forwardRef as ly,useCallback as cy,useEffect as sc,useRef as rc,useState as ic}from"react";import{useDispatch as dy}from"react-redux";import{jsx as Ql}from"react/jsx-runtime";var Jl=()=>Ql("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:Ql("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 Jh,useEffect as ec,useState as tc}from"react";import{useDispatch as Yh,useSelector as oc}from"react-redux";import ey from"lodash.debounce";var Yl={root:"Mi",content:"Ri"};function Sn(t,e,o){var s;let n=((s=t.imageSizes)==null?void 0:s[e])||t.image||o;if(!n)return null;try{return new URL(n).toString()}catch{return null}}function rr(t){return t.replace("https://www.","").replace("https://","")}import{jsx as Je,jsxs as ir}from"react/jsx-runtime";var ty=3,oy=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),ny=({onSelectLink:t,onDismiss:e,placeholder:o,visitUrlText:n,linkCount:s=ty})=>{let r=h("LinkSearch",Yl),[i,a]=tc(""),l=Yh(),c=oc(tl("url")),d=oc(Ai("URL",oy)),[u,g]=tc(d.length-1),p=b("fallbackImage"),f=S=>{let v=S.target;a(v.value)},m=(S,v)=>{S.stopPropagation(),S.preventDefault(),window.open(v,"_blank")},y=S=>{var x;let v=u-1<0?d.length-1:u-1,k=u+1===d.length?0:u+1;S.code==="Escape"&&(a(""),e()),S.code==="ArrowUp"&&g(v),S.code==="ArrowDown"&&g(k),S.code==="Enter"&&t(((x=d[u])==null?void 0:x.text)||i)},E=Jh(ey(S=>{l(Ve({query:S,type:"URL",tags:["link-search"]}))},300),[]);return ec(()=>{i&&E(i)},[i]),ec(()=>()=>{l(Mo())},[]),ir("div",{className:r.root,children:[Je(te,{withDivider:!0,children:(i?d:c).slice(0,s).map((S,v)=>Je(M,{selected:u===v,onClick:()=>t(S.text),"data-testid":"linksearch-suggestion",children:ir(H,{children:[Je(H.Image,{src:Sn(S,"small",p||void 0),title:S.title||S.text}),ir(H.Content,{className:r.content,cropText:!0,children:[Je(H.Title,{children:S.title||rr(S.text)}),S.title&&rr(S.text)]}),Je(M.Actions,{children:Je(M.ActionButton,{label:n,onClick:k=>m(k,S.text)})})]})},S.text))}),Je(Gt,{value:i,onChange:f,autoFocus:!0,placeholder:o,onKeyUp:y})]})},nc=ny;var ar={};Z(ar,{enUS:()=>sy,nlNL:()=>ry});var sy={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}]},ry={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}]};import{jsx as me,jsxs as lr}from"react/jsx-runtime";var uy=ly((t,e)=>{let o=h("TabCompletion",ce);return me("mark",{ref:e,className:cr(o.matchSelection)},"selection-start")}),py=({startRef:t,boundaryRef:e,inputStyle:o,inputElement:n,children:s})=>{let r=R(ar),i=h("TabCompletion",ce),a=rc(null),l=rc(null),[c,d]=ic(null),u=dy(),g=fn(document.activeElement===n),[p]=ic(()=>document.createRange());g.triggerRef.current=p,sc(()=>()=>p.detach(),[]),sc(()=>{let m=t.current,y=a.current;!m||!y||(p.setStart(m,0),p.setEnd(y,0))},[t.current,a.current]),xt(()=>{g.close()});let f=cy(m=>{let y=p.toString(),E=/^http(s?):\/\//.test(m)?m:`https://${m}`;u(Ro({text:`[${y}](${E})`,replace:"selection"}))},[]);return lr("span",{children:[me("mark",{ref:a,className:cr(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":g.opened?"true":"false",children:s}),g.opened&&me(Ct,{className:i.popoverRoot,triggerRef:g.triggerRef,boundaryRef:e,position:"above",align:"start",children:lr(hn,{style:o,ref:l,children:[me("div",{className:cr(i.selectionOptions,{[i.selectionOptionsIsHidden]:c!==null}),children:lr("button",{type:"button",tabIndex:c===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>d("insertLink"),children:[me(Jl,{}),me("span",{children:"\xA0"}),me("span",{children:r("insertLink")})]})}),c==="insertLink"&&me(nc,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:f,onDismiss:()=>{d(null),g.close()}})]})})]},"selection-end")},xn=class extends iy{charCount=0;foundIndex=0;startRef=null;props;onBeforeParse(e,o){return this.props=o,this.charCount=0,this.startRef=ay(),this.foundIndex=0,e}match(e){if(!this.props||this.props.selection===null||this.foundIndex===2)return null;let[o,n]=this.props.selection;if(o===n)return null;let s=this.foundIndex===0?o:n,r=s>=this.charCount&&s<=this.charCount+e.length?{index:s-this.charCount,length:0,match:"",valid:!0}:null;r&&this.foundIndex++;let i=this.foundIndex===1;return r&&i?this.charCount+=s-this.charCount:this.charCount+=e.length,r?{isStart:i,...r}:null}replaceWith(e,o){return o.isStart?me(uy,{ref:this.startRef}):me(py,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};import{useSelector as vy}from"react-redux";import{jsx as wt,jsxs as by}from"react/jsx-runtime";var Sy=({enabled:t,content:e,tabText:o,showTabHint:n,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:l})=>{let c=h("TabCompletion",ce),d=b("insertLink"),u=b("showMidSentenceSuggestions"),g=b("inlineSuggestions"),p=Bl(a),f=hy(null),m=vy(W);fy(()=>{De(a)&&p&&Kl(a,p)},[p]);let y=my(v=>{if(!s||!o)return v;let k=[wt("span",{className:c.resetIndent,children:"\u200B"},"u200B"),wt("span",{"data-testid":"tab-completion",className:dr(c.tabText,c.resetIndent),"data-source":l,children:o},"tabText")];return n&&k.push(wt("span",{className:dr(c.hint,c.resetIndent),children:wt(qn,{keyCode:"tab"},"tabHint")})),er(v,k)},[s,o,n]),E=ac(()=>{let v=[];return d&&v.push(new xn("selection")),v.push(new vn("placeholders")),r&&v.push(new yn("keywords")),v},[g,d,r]),S=ac(()=>{let v=window.getComputedStyle(a);return{"--dd-color":v.color,"--dd-font-size":v.fontSize,"--dd-font-family":v.fontFamily,"--dd-font-variant":v.fontVariant}},[]);return!t||!m?null:by("div",{ref:v=>{v!=null&&v.parentElement&&(f.current=v==null?void 0:v.parentElement)},className:c.root,style:S,children:[wt(gy,{tagName:"span",containerTagName:"div",className:dr(c.container,c.agentText),disableLineBreaks:De(a),content:e||"\u200B",onAfterParse:y,matchers:E,selection:p,keywordMatches:i,inputElement:a,inputStyle:S,boundaryRef:f,inlineSuggestionsOnlyAtEnd:!u}),wt("br",{})]})},xy=({input:t,ui:e,settings:o,styleSuggestions:n,conversation:s})=>{var m;let{tabCompletionSuggestion:r}=t,i=(r==null?void 0:r.text)||"",a=(r==null?void 0:r.source)||"",l=t.html??Xt(t.text),c=i.indexOf(t.text)===0?i.slice(t.text.length):"",{showTabHint:d}=e,{isSupported:u}=s,{showTabCompletion:g,visible:p,showStyleSuggestions:f}=o;return{showTabHint:d,showStyleSuggestions:f,showTabCompletion:g,content:l,tabText:c,source:a,keywordMatches:((m=n.list)==null?void 0:m.keywordMatches)??[],enabled:p&&u!==!1}},lc=yy(xy)(Sy);import Mv from"classnames";import{useEffect as Nv}from"react";import{useDispatch as Ov,useSelector as X}from"react-redux";import{createAsyncThunk as so,createSlice as Cy}from"@reduxjs/toolkit";var cc={list:[],fetchState:"idle",isInitialRequest:null},uc=t=>t.autoflows.list||[],dc=t=>e=>{var o;return(o=e.list)==null?void 0:o.find(n=>n.triggerPayload===t)},we=so("autoflows/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getAutoflows(t)}),ur=so("autoflows/start",async(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");await n.startAutoflowSession(t),await o(we(t.platformSessionId))}),pr=so("autoflows/stop",async(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");await n.stopAutoflowSession(t.platformSessionId),await o(we(t.platformSessionId))}),wy=Cy({name:"autoflows",initialState:cc,reducers:{},extraReducers:t=>{t.addCase(ur.pending,(e,o)=>{let n=dc(o.meta.arg.triggerPayload)(e);n.state="Started",n.isBusy=!0}),t.addCase(pr.pending,(e,o)=>{let n=dc(o.meta.arg.triggerPayload)(e);n.state="Aborted",n.isBusy=!0}),t.addCase(we.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}),t.addCase(we.rejected,e=>{e.fetchState="error"}),t.addCase(we.fulfilled,(e,o)=>{e.list=o.payload,e.fetchState="done"}),t.addCase(_,()=>cc)}}),pc=so("autoflows/openStream",(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");let s=n.openStream(t);s.on("sessionAborted",()=>{o(we(t))}),s.on("sessionCompleted",()=>{o(we(t))})}),gc=so("autoflows/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),mc=wy.reducer;import{createAsyncThunk as io,createSlice as Ty}from"@reduxjs/toolkit";var fc={list:[],fetchState:"idle",isInitialRequest:null,sentSuggestions:[],errorSuggestions:[],answeredSuggestions:[]},hc=t=>t.customMessages.list,yc=t=>e=>!!e.customMessages.sentSuggestions.find(o=>o===t),vc=t=>e=>!!e.customMessages.answeredSuggestions.find(o=>o===t),Sc=t=>e=>!!e.customMessages.errorSuggestions.find(o=>o===t),ro=io("customMessages/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getCustomMessages(t)}),bn=io("customMessages/send",async(t,e)=>{let{platformSessionId:o,suggestion:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");await s.sendCustomMessage(o,n)}),Cn=io("customMessages/answer",async(t,e)=>{let{platformSessionId:o,reply:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");await s.answerCustomMessage(o,n)}),xc=Ty({name:"customMessages",initialState:fc,reducers:{onCustomMessage(t,e){Array.isArray(e.payload)?t.list=e.payload:t.list=[e.payload]}},extraReducers:t=>{t.addCase(ro.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(ro.rejected,e=>{e.fetchState="error"}).addCase(ro.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload||[]}).addCase(bn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.errorSuggestions=e.errorSuggestions.filter(n=>o.meta.arg.suggestion.text!==n)}).addCase(bn.rejected,(e,o)=>{let n=e.sentSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1))}).addCase(Cn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.answeredSuggestions.push(o.meta.arg.suggestion.text)}).addCase(Cn.rejected,(e,o)=>{let n=e.answeredSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1)),e.answeredSuggestions.splice(n,1)}).addCase(_,()=>fc)}}),bc=io("customMessages/openStream",(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");n.openStream(t).on("customMessageSuggestion",r=>{o(xc.actions.onCustomMessage(r))})}),Cc=io("customMessages/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),wc=xc.reducer;import{createAsyncThunk as Tc,createSlice as Ey}from"@reduxjs/toolkit";var ky={token:null,accountUrl:null,interval:null},Ec=t=>e=>{let{passwordlessToken:{token:o,accountUrl:n}}=e;return o&&n?`${n}/apis/admin/session/passwordless/login/?token=${o}&redirect=${t}`:null},gr=Tc("passwordlessToken/getTemporaryPasswordlessToken",async(t,e)=>{let{deepdeskAPI:o}=e.extra,n=await o.requestPasswordlessToken();return{accountUrl:o.client.baseUrl,token:n}}),mr=Tc("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:o=1e3*60*10}=t,{dispatch:n}=e;return n(gr()),setInterval(()=>n(gr()),o)}),kc=Ey({name:"passwordlessToken",initialState:ky,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(gr.fulfilled,(e,o)=>{e.token=o.payload.token,e.accountUrl=o.payload.accountUrl}),t.addCase(mr.fulfilled,(e,o)=>{e.interval=o.payload})}}),{stopPollPasswordlessToken:Rc}=kc.actions,Pc=kc.reducer;import{createAction as Ry,createAsyncThunk as Py,createSlice as Iy}from"@reduxjs/toolkit";var fr={cues:[],fetchState:"idle"},Ic=t=>{var e;return(e=t.rules)==null?void 0:e.cues},Ly=Ry("rules/resetCues"),Ye=Py("rules/evaluate",async(t,e)=>{var a;let{deepdeskAPI:o}=e.extra,n=(a=e.getState().conversation.current)==null?void 0:a.id;if(!n)throw new Error("No current conversation to evaluate rules");if(!(await o.getAccount()).ruleEngine)throw new Error("Rule engine is not enabled for this account");if(!(await o.getRules()).some(l=>l.label===t.label))throw new Error(`No rules found with label: ${t.label}`);return await o.evaluateRule(t.label,n,t.params)}),Lc=Iy({name:"answer",initialState:fr,reducers:{removeCue(t,e){t.cues=t.cues.filter(o=>o.rule.id!==e.payload.id)}},extraReducers:t=>{t.addCase(Ye.pending,e=>{e.fetchState="loading"}).addCase(Ye.rejected,e=>{e.fetchState="error"}).addCase(Ye.fulfilled,(e,o)=>{let n=o.payload.map(i=>({rule:{id:i.text,name:"unknown",description:"unknown",label:o.meta.arg.label},...i})),s=n.map(i=>i.rule.id),r=e.cues.filter(i=>!s.includes(i.rule.id));e.fetchState="done",e.cues=[...n,...r]}).addCase(_,()=>fr).addCase(Ly.toString(),()=>fr)}}),{removeCue:Ac}=Lc.actions,Mc=Lc.reducer;function Nc(t){let{customMessages:e,autoflows:o}=t;return o.fetchState==="loading"&&o.isInitialRequest===!0||e.fetchState==="loading"&&e.isInitialRequest===!0}import{Fragment as zy}from"react";import{connect as Vy}from"react-redux";import By from"classnames";import{Fragment as Ky}from"react";import My from"classnames";var Oc={root:"Ti"};import{jsx as Oy}from"react/jsx-runtime";var Ny=({className:t,children:e})=>{let o=h("Unicode",Oc);return Oy("span",{className:My(t,o.root),children:e})},_c=Ny;var Dc={isDisabled:"Ui",buttonStart:"Bi",root:"Di",buttonStop:"ho",stateBadge:"h",isCompleted:"Ii",isStarted:"Oi",isAborted:"Xi"};var hr={};Z(hr,{enUS:()=>Dy,nlNL:()=>Hy});var Dy={start:[{type:0,value:"Start"}],stop:[{type:0,value:"Stop"}],aborted:[{type:0,value:"Stopped"}],completed:[{type:0,value:"Completed"}],Aborted:[{type:0,value:"Stopped"}],Started:[{type:0,value:"Running"}],Completed:[{type:0,value:"Completed"}]},Hy={start:[{type:0,value:"Start"}],stop:[{type:0,value:"Stop"}],aborted:[{type:0,value:"Stopped"}],completed:[{type:0,value:"Completed"}],Aborted:[{type:0,value:"Stopped"}],Started:[{type:0,value:"Running"}],Completed:[{type:0,value:"Completed"}]};import{jsx as et,jsxs as wn}from"react/jsx-runtime";var Uy=({disabled:t,state:e,displayName:o,description:n,onStartAutoflow:s,onStopAutoflow:r})=>{let i=h("Autoflow",Dc),a=R(hr),l=e==="Started"?"stop":"start",c=l==="start"?"\u25B6":l==="stop"?"\u25FC":"";return wn(M,{className:By(i.root,{[i.isDisabled]:t,[i.isCompleted]:e==="Completed",[i.isAborted]:e==="Aborted",[i.isStarted]:e==="Started"}),children:[et(H,{children:wn(H.Content,{children:[wn(H.Title,{children:[e&&et("span",{className:i.stateBadge,children:a(e)}),o]}),et("span",{children:n})]})}),et(M.Actions,{fixed:e==="Started",children:et(M.ActionButton,{primary:!0,className:l==="start"?i.buttonStart:i.buttonStop,onClick:e==="Started"?r:s,disabled:t,label:wn(Ky,{children:[et(_c,{children:c})," ",et("span",{children:a(l)})]})})})]})},Hc=Uy;import{jsx as Fc}from"react/jsx-runtime";var $y=(t,e)=>{let o=e.filter(n=>n.state==="Started");return o.length>0?o.indexOf(t)===-1:!1},qy=({autoflows:t,onStartAutoflow:e,onStopAutoflow:o,platformSessionId:n})=>Fc(zy,{children:t.map(s=>Fc(Hc,{displayName:s.displayName,description:s.description,disabled:s.isBusy||$y(s,t),state:s.state,onStartAutoflow:()=>e({platformSessionId:n,triggerPayload:s.triggerPayload}),onStopAutoflow:()=>o({platformSessionId:n,triggerPayload:s.triggerPayload})},s.displayName))}),Gy=({autoflows:t,conversation:e})=>{var o;return{autoflows:t.list,platformSessionId:(o=e.current)==null?void 0:o.sessionId}},jy={onStartAutoflow:ur,onStopAutoflow:pr},Bc=Vy(Gy,jy)(qy);import Xy from"classnames";import{useCallback as Kc}from"react";import{useDispatch as Zy,useSelector as Tn}from"react-redux";var Te={root:"mo",title:"uo",isUsed:"Ji",quickReplies:"Ki",quickReply:"Pi",hasError:"Qi",label:"Vi",errorIcon:"Wi"};import{jsx as He,jsxs as En}from"react/jsx-runtime";var Qy=({suggestion:t})=>{let e=R(We),o=Zy(),n=Tn(yc(t.text)),s=Tn(vc(t.text)),r=Tn(Sc(t.text)),i=Tn(xo),{replyOptions:a}=t,l=Kc(d=>{d.preventDefault(),d.stopPropagation(),!(n||!i)&&o(bn({platformSessionId:i,suggestion:t}))},[t,n,o,i]),c=Kc(d=>{if(d.preventDefault(),d.stopPropagation(),!i||!a)return;let u=parseInt(d.target.dataset.index,10),g=a[u];o(Cn({platformSessionId:i,reply:g,suggestion:t}))},[t,n,o,i]);return En(M,{onClick:l,className:Xy(Te.root,{[Te.isUsed]:n,[Te.hasError]:r}),children:[He(H,{children:En(H.Content,{children:[En(H.Title,{className:Te.title,children:[t.text," ",He(Gn,{className:Te.label,children:"analyse tool"})," ",r&&He("span",{className:Te.errorIcon,role:"img","aria-label":e("sendingError"),title:e("sendingError"),children:"!"})]}),a&&a.length>0&&He("ul",{className:Te.quickReplies,children:a.map(d=>He("li",{className:Te.quickReply,children:d.title},d.title))})]})}),En(M.Actions,{fixed:r||n,children:[a&&a.length>0&&He(M.DropdownButton,{label:e("answer"),disabled:s,children:a.map((d,u)=>He(M.DropdownItem,{index:u,label:d.title,onClick:c},d.title))}),He(M.ActionButton,{primary:!0,disabled:n,onClick:l,label:e(n?"suggestionSent":r?"tryAgain":"sendSuggestion")})]})]})},Uc=Qy;import{useEffect as Yy,useState as ev}from"react";import{useDispatch as tv}from"react-redux";import $c from"classnames";import{jsx as zc}from"react/jsx-runtime";var yr=()=>zc("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:zc("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 Vc={root:"Zi",entity:"r",entityText:"_i",iconWrapper:"or",icon:"er",iconClicked:"ir"};import{jsx as Tt,jsxs as qc}from"react/jsx-runtime";var ov=({entities:t})=>{let e=h("EntitiesWidgetList",Vc),[o,n]=ev(void 0),s=tv(),r=()=>{n(void 0)},i=a=>{t&&(n(t.indexOf(a)),Ge(a.text),s(G({name:"entity copied",data:{entity:a,type:"copy"}})))};return Yy(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[o]),!t||t.length===0?null:Tt("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,l)=>qc("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[Tt("span",{className:e.entityText,children:a.text}),qc("span",{className:e.iconWrapper,children:[Tt("span",{className:$c(e.icon),children:Tt(yr,{})}),Tt("span",{className:$c(e.icon,o===l&&e.iconClicked),children:Tt(yr,{})})]})]},a.text))})},Gc=ov;import{jsx as jc}from"react/jsx-runtime";var Wc=()=>jc("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:jc("path",{d:"M17 13.5v6H5v-12h6m3-3h6v6m0-6-9 9",stroke:"currentColor",strokeWidth:"1.5",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"})});import{jsx as Xc}from"react/jsx-runtime";var Zc=()=>Xc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:Xc("path",{d:"M543-340q16.595 0 28.798-12.202Q584-364.405 584-381t-12.202-28.798Q559.595-422 543-422t-28.798 12.202Q502-397.595 502-381t12.202 28.798Q526.405-340 543-340Zm-25-126h47q2-29 8.5-43t32.5-39q27-26 37.5-45.395Q654-612.79 654-639q0-45.882-31.5-74.941Q591-743 540-743q-38 0-68 20.5T428-665l45 19q11-25 27.5-38t39.5-13q29.778 0 48.389 17Q607-663 607-637q0 20-9 35t-32 32q-32 29-40 46.5t-8 57.5ZM260-200q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h560q24 0 42 18t18 42v560q0 24-18 42t-42 18H260Zm0-60h560v-560H260v560ZM140-80q-24 0-42-18t-18-42v-620h60v620h620v60H140Zm120-740v560-560Z"})});import{jsx as Qc}from"react/jsx-runtime";var Jc=()=>Qc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:Qc("path",{d:"M319-250h322v-60H319v60Zm0-170h322v-60H319v60ZM220-80q-24 0-42-18t-18-42v-680q0-24 18-42t42-18h361l219 219v521q0 24-18 42t-42 18H220Zm331-554v-186H220v680h520v-494H551ZM220-820v186-186 680-680Z"})});import{useDispatch as bv}from"react-redux";import{useDispatch as sv}from"react-redux";import{createAsyncThunk as nv}from"@reduxjs/toolkit";function Yc(t){return nv("analytics/logEvent",(e,o)=>{var r,i,a;let n=(i=(r=o.getState())==null?void 0:r.conversation.current)==null?void 0:i.id,s=(a=o.getState())==null?void 0:a.info.agentInfo;return o.extra.deepdeskAPI.sendEvent(e.name,{conversationId:n,...s,data:e.data})})(t)}function kn(){let t=sv();return async(e,o)=>{await t(Yc({name:e,data:o}))}}import dd from"classnames";import{useEffect as vv,useState as Sv}from"react";import{jsx as ed,jsxs as rv}from"react/jsx-runtime";var td=({className:t})=>rv("svg",{viewBox:"0 0 12 12",version:"1.1",xmlns:"http://www.w3.org/2000/svg",className:t,children:[ed("line",{x1:"2",y1:"10",x2:"10",y2:"2",stroke:"black",strokeWidth:"1"}),ed("line",{x1:"2",y1:"2",x2:"10",y2:"10",stroke:"black",strokeWidth:"1"})]});import{jsx as od}from"react/jsx-runtime";var nd=t=>od("svg",{width:"16",height:"16",fill:"#000000",...t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:od("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 sd}from"react/jsx-runtime";var rd=t=>sd("svg",{width:"16",height:"16",fill:"#000000",...t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:sd("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 Et(t,e){var n;let o=t.cloneNode(!0);o.style.top=`${t.offsetTop}px`,o.style.left=`${t.offsetLeft}px`,o.style.position="absolute",o.classList.add(e),o.addEventListener("animationend",()=>o.remove()),(n=t.parentElement)==null||n.appendChild(o)}import av from"dompurify";import{Fragment as lv,useMemo as cv,useRef as dv,useState as uv}from"react";import pv from"snarkdown";var id={fadeup:"E",root:"i",popover:"rr",options:"yo",copyIcon:"G",option:"wo",divider:"tr"};import{jsx as ao,jsxs as ad}from"react/jsx-runtime";function gv(t){return`<button type="button" 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 vr(t){let e=t.cloneNode(!0);return e.querySelectorAll("div,button").forEach(o=>o.remove()),e.textContent??""}var mv=({content:t,useLabel:e,copyLabel:o,onCopy:n,onUse:s})=>{let r=h("Markdown",id),i=dv(null),[a,l]=uv(null),c=cv(()=>{let f=pv(t);return av.sanitize(f).replace(/<\/code>/g,`${gv(r.copyIcon)}</code>`)},[t]),d=f=>{var E;let m=f.target,y=!!((E=i.current)!=null&&E.querySelector("code"));a||y&&m.tagName!=="CODE"||!y&&m!==i.current||(m.addEventListener("mouseleave",()=>l(null),{once:!0}),l(m))},u=()=>{if(!a)return;l(null);let f=a.querySelector("button");f&&(Et(f,r.fadeup),n(vr(a)))},g=f=>{f.target.tagName.toLowerCase()==="button"&&(Et(f.target,r.fadeup),n(vr(f.target.parentElement)))},p=()=>{a&&(l(null),s(vr(a)))};return ad(lv,{children:[a&&ao(Ct,{triggerRef:{current:a},parentNode:a,className:r.popover,children:ad("div",{className:r.options,children:[ao("button",{type:"button",className:r.option,onClick:u,children:o}),ao("div",{className:r.divider}),ao("button",{type:"button",className:r.option,onClick:p,children:e})]})}),ao("div",{ref:i,className:r.root,dangerouslySetInnerHTML:{__html:c},onMouseOver:d,onClick:g})]})},ld=mv;var Sr={};Z(Sr,{enUS:()=>fv,nlNL:()=>hv});var fv={useCue:[{type:0,value:"Use"}],copyCue:[{type:0,value:"Copy"}],removeCue:[{type:0,value:"Close"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},hv={useCue:[{type:0,value:"Gebruik"}],copyCue:[{type:0,value:"Kopieer"}],removeCue:[{type:0,value:"Sluiten"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};var cd={fadeup:"N",fadedown:"A",selected:"vo",thumbsUp:"nr",thumbsDown:"ar"};import{jsx as Ee,jsxs as ud}from"react/jsx-runtime";var xv=({cue:t,onRemove:e,onCopy:o,onUse:n,onThumbsUp:s,onThumbsDown:r})=>{let i=h("WidgetCue",cd),a=R(Sr),l=kn(),[c,d]=Sv(null),u=y=>{o&&o(y,t)},g=y=>{n&&n(y,t)},p=y=>{y.preventDefault(),y.stopPropagation(),e(t)},f=y=>{y.preventDefault(),y.stopPropagation(),Et(y.target,i.fadeup),d("up"),s(t)},m=y=>{y.preventDefault(),y.stopPropagation(),Et(y.target,i.fadedown),d("down"),r(t)};return vv(()=>{l("Assistant response displayed",{name:t.rule.name,description:t.rule.description,group:t.rule.label})},[]),ud(M,{"data-testid":"cue",children:[Ee(H,{children:ud(H.Content,{children:[t.title&&Ee(H.Title,{"data-testid":"widget-cue-title",children:t.title}),Ee(ld,{content:t.text,useLabel:a("useCue"),copyLabel:a("copyCue"),onCopy:u,onUse:g})]})}),Ee(M.IconButton,{title:a("thumbsUp"),onClick:f,icon:Ee(rd,{}),className:dd(i.thumbsUp,c==="up"&&i.selected),disabled:!!c}),Ee(M.IconButton,{title:a("thumbsDown"),onClick:m,icon:Ee(nd,{}),className:dd(i.thumbsDown,c==="down"&&i.selected),disabled:!!c}),Ee(M.IconButton,{title:a("removeCue"),onClick:p,icon:Ee(td,{})})]})},pd=xv;import{Fragment as wv,jsx as gd}from"react/jsx-runtime";var Cv=({cues:t})=>{let e=bv(),o=oe(),n=kn(),s=c=>{e(Ac({id:c.rule.id})),n("Assistant response closed",{name:c.rule.name,group:c.rule.label,description:c.rule.description})},r=(c,d)=>{Ge(c),n("Assistant response copied",{name:d.rule.name,group:d.rule.label,description:d.rule.description,copiedText:c})},i=(c,d)=>{o.send(Ae,{text:c,suggestion:{source:"cue",sourceText:c}}),n("Assistant response used",{name:d.rule.name,group:d.rule.label,description:d.rule.description,usedText:c})},a=c=>{n("Assistant response feedback",{name:c.rule.name,group:c.rule.label,description:c.rule.description,thumb:"up"})},l=c=>{n("Assistant response feedback",{name:c.rule.name,group:c.rule.label,description:c.rule.description,thumb:"down"})};return gd(wv,{children:t.map(c=>gd(pd,{cue:c,onRemove:s,onCopy:r,onUse:i,onThumbsDown:l,onThumbsUp:a},c.rule.id))})},md=Cv;import{useCallback as Ev}from"react";var Tv=/(https?:\/\/[^\s]+)/,fd=t=>t.split(" ").find(e=>Tv.test(e));import{jsx as kt,jsxs as Rn}from"react/jsx-runtime";var kv=({suggestion:t,lines:e,onUse:o})=>{var d;let n=t.text||t.url||t.message,s=fd(n),r=R(We),i=b("showImages"),a=b("fallbackImage"),l=u=>{u.preventDefault(),u.stopPropagation(),o(n)},c=Ev(u=>{window.open(s,"_blank"),u.stopPropagation(),u.preventDefault()},[s]);return Rn(M,{onClick:l,"data-testid":"edit-suggestion",children:[Rn(H,{children:[i&&t.image&&kt(H.Image,{src:Sn(t,"small",a||void 0),title:t.title}),Rn(H.Content,{children:[t.title&&kt(H.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((d=t.searchKeywords)==null?void 0:d.length)>0&&kt(M.Labels,{labels:t.searchKeywords}),kt(H.Content,{cropText:e==="single",lineClamp:e==="multiple",children:n})]})]}),Rn(M.Actions,{children:[s&&kt(M.ActionButton,{onClick:c,label:r("visitUrl")}),kt(M.ActionButton,{primary:!0,onClick:l,label:r("useSuggestion")})]})]})},hd=kv;import{Fragment as Pv,jsx as yd}from"react/jsx-runtime";var Rv=({lines:t,suggestions:e})=>{let o=oe(),n=(s,r)=>{o.send(Ae,{text:s,suggestion:{...r,source:r.source,sourceText:r.text}})};return yd(Pv,{children:e.map(s=>yd(hd,{suggestion:s,lines:t,onUse:r=>n(r,s)},s.text||s.url||s.message))})},vd=Rv;var xr={};Z(xr,{enUS:()=>Iv,nlNL:()=>Lv});var Iv={waiting:[{type:0,value:"Loading\u2026"}],notSupported:[{type:0,value:"This conversation is not supported"}],noResults:[{type:0,value:"No results found\u2026"}],titleAutoflows:[{type:0,value:"Autoflows"}],titleCustomMessages:[{type:0,value:"Quick replies"}],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"}]},Lv={waiting:[{type:0,value:"Laden\u2026"}],notSupported:[{type:0,value:"Dit gesprek wordt niet ondersteund"}],noResults:[{type:0,value:"Geen resultaten gevonden\u2026"}],titleAutoflows:[{type:0,value:"Autoflows"}],titleCustomMessages:[{type:0,value:"Quick replies"}],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"}]};var Sd={root:"pr",loginText:"dr",stateText:"ko",sectionList:"lr",shortcutList:"sr",shortcut:"cr",link:"zo"};import{jsx as A,jsxs as Rt}from"react/jsx-runtime";var Pn=(t,e)=>{let o=X(W);Nv(()=>o?e.every(n=>!!n)?t():()=>{}:()=>{},[...e,o])},_v=({onLogIn:t})=>{let e=R(xr),o=Ov(),n=b("isEmbedded"),s=h("Widget",Sd),r=b("showAutoflows"),i=b("showCustomMessages"),a=b("showSummaryCommand"),l=b("showKnowledgeSearch"),c=b("showSearch"),d=X(Oe),u=X(Yo),g=X(uc),p=X(Ic),f=X(Qo),m=X(hc),y=X(bo),E=X(dt),S=X(W),v=X(xo),k=X(Nc),x=X(en),w=oe(),N=X(ol),U=X(Ec("/admin/")),F=b("adminUrl"),I=b("productName");if(Pn(()=>(o(ro(v)),o(bc(v)),()=>{o(Cc(v))}),[o,E,i,v]),Pn(()=>(o(we(v)),o(pc(v)),()=>{o(gc(v))}),[o,E,r,v]),Pn(()=>{u.forEach(({type:P})=>{o(P==="entities"?ae():le(P))})},[o,E,y,d]),Pn(()=>(o(mr()),()=>{o(Rc())}),[o]),E===!1)return A("div",{className:s.stateText,children:A("div",{children:A("p",{children:e("notSupported")})})},"supported");if(S===!1)return A("div",{className:s.loginText,children:A("div",{children:A(un,{isEmbedded:n,loginUrl:F,onLogIn:t})})},"login");if(!d||!v||S===null||N||k)return A("div",{className:s.stateText,children:A("div",{children:A("p",{children:e("waiting")})})},"waiting");let O=c||a||l||U;return A("div",{className:Mv(s.root),"data-testid":"widget",children:Rt(Wn,{className:s.sectionList,children:[O&&A(ke,{title:e("actions"),type:"shortcuts",children:Rt("div",{className:s.shortcutList,children:[c&&Rt("button",{className:s.shortcut,"data-testid":"shortcut-search",onClick:()=>w.send("ShowCommandPalette",{isOpen:!0}),children:[A(mt,{}),e("linkSearch")]}),a&&Rt("button",{className:s.shortcut,"data-testid":"shortcut-summary",onClick:()=>w.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[A(Jc,{}),e("linkSummary")]}),l&&Rt("button",{className:s.shortcut,"data-testid":"shortcut-knowledge-assist",onClick:()=>w.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeAssist"}),children:[A(Zc,{}),e("linkKnowledgeSearch")]}),U&&Rt("a",{className:s.shortcut,target:"_blank",href:U,"data-testid":"shortcut-studio-login",rel:"noreferrer",children:[A(Wc,{}),e("linkStudioLogin",{productName:I})]})]})}),i&&m.length>0&&A(ke,{type:"custom-messages","data-testid":"custom-messages",children:A(te,{withDivider:!0,children:m.map(P=>A(Uc,{suggestion:P},P.text))})}),r&&g.length>0&&A(ke,{type:"autoflows",title:e("titleAutoflows"),"data-testid":"autoflows",children:A(te,{withDivider:!0,children:A(Bc,{})})}),u.map(({type:P,title:$,amount:Un,lines:zn})=>{var nt;switch(P){case"entities":return f&&f.length>0&&A(ke,{type:P,title:$,"data-testid":`type-${P}`,children:A(Gc,{entities:f})},P);case"cues":return p&&p.length>0&&A(ke,{type:P,title:$,"data-testid":`type-${P}`,children:A(te,{withDivider:!0,children:A(md,{cues:p})})},P);default:return((nt=x[P])==null?void 0:nt.fetchState)==="done"&&x[P].suggestions.length>0&&A(ke,{type:P,title:$,"data-testid":`type-${P}`,children:A(te,{withDivider:!0,children:A(vd,{lines:zn,contentType:P,suggestions:x[P].suggestions.slice(0,Un)||[]})})},P)}})]})})},xd=_v;function co(t){let e=new Range;return e.selectNodeContents(t),e}function bd(t,e,o){try{return tt(t,e,o),!0}catch{return!1}}function In(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function Ln(t){return"tagName"in t&&t.tagName==="BR"}var lo=/[\u200B-\u200D\uFEFF]/g;function tt(t,e,o){let n=new Range;if(t.firstChild===null&&e===0&&o===0)return n.selectNodeContents(t),n;let s=0,r=!1;function i(l,c){let d=-1,u=/[\u200B-\u200D\uFEFF]/;if(!u.test(l))return c;for(let g=0;g<=l.length;g++)if(u.test(l[g])||d++,d===c)return g;throw new Error("Offset out of range")}function a(l){switch(l.nodeType){case Node.TEXT_NODE:{let c=l.textContent,d=c.replace(lo,""),u=s+d.length,g=e>=s&&e<=u,p=o>=s&&o<=u;if(g){let f=i(c,e-s);f===0&&!p?n.setStartBefore(l):n.setStart(l,f)}p&&(n.setEnd(l,i(c,o-s)),r=!0),s=u;break}case Node.ELEMENT_NODE:{if(Ln(l)&&(s===e&&n.setStartBefore(l),s++,s===o)){n.setEndAfter(l),r=!0;return}for(let d=0;d<l.childNodes.length&&(a(l.childNodes[d]),!r);d++);let c=l.lastChild;In(l)&&c&&!In(c)&&!Ln(c)&&s++;break}default:break}}if(a(t),n.startContainer===document)throw new Error("Offsets out of bound");return n}function An(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r,collapsed:i}=e,a,l,c=0;function d(u){let g=u===o,p=u===s;switch(u.nodeType){case Node.TEXT_NODE:{let f=u.textContent;g&&(a=c+f.substring(0,n).replace(lo,"").length),p&&(l=c+f.substring(0,r).replace(lo,"").length),c+=f.replace(lo,"").length;break}case Node.ELEMENT_NODE:{let f=u.nextSibling===null;Ln(u)&&!f&&c++;for(let m=0;m<u.childNodes.length;m++){let y=g&&m===n,E=p&&m===r;if(y&&(a=c),E&&(l=c),l!==void 0||((!y||!i)&&d(u.childNodes[m]),p&&m===r-1&&(l=c),l!==void 0))break}!p&&In(u)&&!f&&c++,p&&(l=c);break}default:break}}if(d(t),l===void 0)throw new Error("Could not determine start and end");return{start:a??l,end:l}}function Mn(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r}=e,i=-1,a="";function l(c){let d=c===o,u=c===s;switch(d&&i++,c.nodeType){case Node.TEXT_NODE:{if(i!==0)return;let g=d?n:0,p=u?r:void 0,f=c.textContent.replace(lo,"");g===0&&p===void 0?a+=f:a+=f.substring(g,p);break}case Node.ELEMENT_NODE:{let g=c.nextSibling===null;i===0&&Ln(c)&&!g&&(a+=`
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 gl}from"react/jsx-runtime";var cf={green:"#0A5E52",pink:"#CD8EF2",red:"#DF341D",yellow:"#DEBD00"},ml=({className:t,color:e})=>gl("svg",{className:t,viewBox:"0 0 345 345",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:gl("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:cf[e||"pink"]})});var fl={root:"j",text:"Y",isLoggedIn:"ei",isLoggedOut:"no",icon:"ii",logo:"ri",lock:"ti"};var Gs={};Z(Gs,{enUS:()=>uf,nlNL:()=>pf});var uf={signin:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Search"}]},pf={signin:[{type:0,value:"Log in bij "},{type:1,value:"productName"}],search:[{type:1,value:"productName"},{type:0,value:" Zoeken"}]};import{useDispatch as ff}from"react-redux";import{jsx as js,jsxs as hl}from"react/jsx-runtime";var yl=({onLogIn:t})=>{let e=R(Gs),o=b("floatingMenu"),n=b("productName"),s=ff(),r=mf(W),i=h("FloatingMenu",fl);if(r===null||o===!1)return null;let a=()=>{r===!0?s(Y(!0)):t()};return hl("button",{className:gf(i.root,{[i.isLoggedIn]:r,[i.isLoggedOut]:!r}),onClick:a,children:[js("div",{className:i.text,children:e(r?"search":"signin",{productName:n})}),hl("div",{className:i.icon,children:[js(ml,{className:i.logo,color:"pink"}),r===!1&&js(pl,{className:i.lock})]})]})};import{useEffect as Hf,useRef as Ff}from"react";import{connect as Bf,useDispatch as Kf,useSelector as an}from"react-redux";import{useEffect as hf}from"react";function xt(t){hf(()=>{let e=o=>{o.isWithinRoot||t(o)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function Ze(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}function bt(t){let{showMidSentenceSuggestions:e,showSuggestionsBeforePattern:o,showSuggestionsAfterPattern:n}=t.settings,{text:s,selection:r}=t.input.userCommitted;return r.start!==r.end?!1:r.end>=s.length?!0:e?o&&new RegExp(o).test(s.substring(r.end))||n&&new RegExp(n).test(s.substring(0,r.end))?!0:o===!1&&n===!1:!1}import{createSlice as yf}from"@reduxjs/toolkit";var vf={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1};var nn=({ui:t})=>t.overlayCollapsed;var vl=yf({name:"ui",initialState:vf,reducers:{setShowTabHint(t,e){t.showTabHint=e.payload},setInputHasFocus(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:eo,setInputHasFocus:Ws,setOverlayCollapsed:_e,setOpenOverlayWhenTyping:Sl,setOverlayCollapsedUserOverwrite:xl}=vl.actions,bl=vl.reducer;import{Fragment as Nf,useMemo as Of}from"react";import{Interweave as Cf}from"interweave";import{useEffect as wf,useMemo as Tf,useRef as Ef}from"react";import{useDispatch as kf,useSelector as Rf}from"react-redux";import{useEffect as Sf}from"react";function Cl(t,e,o){Sf(()=>{let n=t.current;return n?(n.addEventListener(e,o),()=>{n.removeEventListener(e,o)}):()=>{}},[t,e,o])}var wl={root:"ni",actions:"ai",badge:"pi",formattedText:"ao"};import{jsx as sn,jsxs as Mf}from"react/jsx-runtime";var Pf=["search","personal-collection-search","search-autocomplete"];function If(t,e,o,n={}){let s="";return Pf.includes(e)?s=sa(Ts(t,o,{stripAgentPart:!0}),n.searchKeywords??[o]):s=Ts(t,o,n),n.placeholders===!0&&(s=ra(s)),s}var Lf=()=>{},Af=({index:t,selected:e,suggestion:o,onFeedback:n})=>{let s=b("inlineSuggestions"),r=Rf(pt),i=kf(),a=h("TextSuggestion",wl),l=Ef(null);wf(()=>{let d=setTimeout(()=>{i(mi({text:o.text,suggestion:o}))},500);return()=>{clearTimeout(d)}},[o]),Cl(l,"click",()=>{i(Le(t)),i(pe({suggestion:o,text:o.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let c=Tf(()=>If(o.text,o.source,r,{stripAgentPart:s,placeholders:!0,searchKeywords:o.searchKeywords}),[s,o.text,o.source,r,o.searchKeywords]);return o.source==="gpt"&&!s?null:Mf("div",{className:a.root,onMouseEnter:()=>i(Le(t)),children:[sn(M,{ref:l,as:"button","data-testid":"suggestions-overlay-item",selected:e,onClick:Lf,children:sn(Cf,{containerTagName:"div",noWrap:!1,tagName:"span",className:a.formattedText,content:c})}),e&&n&&sn("div",{className:a.actions,children:sn(Xo,{onFeedback:()=>n(o),suggestion:o.text})})]})},Tl=Af;import{jsx as El}from"react/jsx-runtime";var _f=({onFeedback:t,suggestions:e,selectedIndex:o,reverse:n})=>{let s=Of(()=>{let r=e.map((i,a)=>El(Tl,{index:a,selected:a===o,suggestion:i,onFeedback:t},`${i.text}-${i.source}`));return n?r.reverse():r},[e,o,n]);return El(Nf,{children:s})},rn=_f;var kl={root:"di",paper:"li"};import{jsx as ln}from"react/jsx-runtime";var Uf=({textSuggestions:t,selectedIndex:e})=>{let o=Ff(null),n=h("InlineSuggestionsOverlay",kl),s=an(bt),r=Kf(),i=an(W),a=an(dt),l=an(nn),c=b("showTextSuggestions");return xt(()=>{setTimeout(()=>{r(_e({collapse:!0,skipWhenInputFocus:!0}))})}),Hf(()=>{let d=o.current;if(!d||!d.parentElement)return;d.parentElement.style.left="0px";let u=d.getBoundingClientRect();d.parentElement.style.left=`${Math.min(window.innerWidth-4-u.right,0)}px`}),l||!s||!c||t.length===0||i!==!0||a===!1?null:ln("div",{className:n.root,"data-variant":"inline",children:ln("div",{ref:o,className:n.paper,children:ln(te,{children:ln(rn,{suggestions:t,selectedIndex:e})})})})},zf=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Rl=Bf(zf)(Uf);import{Provider as Vf}from"react-redux";import{jsx as cn}from"react/jsx-runtime";var $f=({children:t})=>{let o=b("locale").replace("-","");return cn(ys.Provider,{value:o,children:t})},qf=({store:t,customStyles:e={},children:o})=>cn(Vf,{store:t,children:cn($f,{children:cn(_t.Provider,{value:e,children:o})})}),Qe=qf;import Ys from"classnames";import{useEffect as ih,useRef as ah,useState as lh}from"react";import{connect as ch,useDispatch as dh,useSelector as to}from"react-redux";import{useState as Gf}from"react";function Pl(t,e){let[o,n]=Gf(()=>{if(typeof window>"u")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return T.error(r),e}});return[o,r=>{try{let i=r instanceof Function?r(o):r;n(i),typeof window<"u"&&window.localStorage.setItem(t,JSON.stringify(i))}catch(i){T.error(i)}}]}var Il=()=>/Mac/i.test(navigator.platform);import Zf from"classnames";import{Fragment as Qf,useCallback as Zs,useMemo as Al}from"react";var Xs={};Z(Xs,{enUS:()=>jf,nlNL:()=>Wf});var jf={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"}]}]},Wf={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 Ll={root:"si",anchor:"ci",anchorButton:"xi"};import{jsx as dn,jsxs as Ml}from"react/jsx-runtime";var Qs=(t,e,o)=>n=>dn("button",{className:t.anchorButton,type:"button",value:e,onClick:o,children:n},e),Jf=({className:t,loginUrl:e,isEmbedded:o,onSnooze:n,onLogIn:s})=>{let r=R(Xs),i=oe(),a=h("Login",Ll),l=b("productName"),c=Zs(y=>{y.preventDefault(),n&&n(parseInt(y.target.value,10))},[]),d=Zs(y=>{y.preventDefault(),i.send(gt,!0)},[e]),u=Al(()=>y=>dn("a",{onClick:S=>{S.preventDefault(),s()},href:e,className:a.anchor,target:"_blank",rel:"noreferrer",children:y},"login"),[e]),g=Zs(y=>dn("button",{type:"button",className:a.anchorButton,onClick:d,children:y},"prompt"),[d]),{min:p,hour:f,day:m}=Al(()=>({min:Qs(a,60*10,c),hour:Qs(a,60*60,c),day:Qs(a,60*60*12,c)}),[]);return Ml("div",{className:Zf(t,a.root),children:[r("loginPlease",{login:o?g:u,productName:l}),n&&Ml(Qf,{children:[dn("br",{}),r("snooze",{min:p,hour:f,day:m})]})]})},un=Jf;import{useDispatch as eh}from"react-redux";var Nl={root:"po",text:"fi"};import{jsx as Ol,jsxs as oh}from"react/jsx-runtime";var th=({title:t})=>{let e=h("SearchTrigger",Nl),o=eh();return oh("button",{type:"button",className:e.root,onClick:()=>o(Y(!0)),children:[Ol(mt,{}),Ol("span",{className:e.text,children:t})]})},_l=th;var Js={};Z(Js,{enUS:()=>nh,nlNL:()=>sh});var nh={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"}]},sh={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 Dl={root:"gi",isInline:"q",toggleButton:"bi",toggleButtonWrapper:"C",toggleButtonWrapperHidden:"hi",isCollapsed:"do",collapsible:"mi",hints:"lo",hintsHidden:"ui",triggers:"so",triggersRight:"yi"};import{jsx as V,jsxs as oo}from"react/jsx-runtime";var uh=({textSuggestions:t,selectedIndex:e,onLogIn:o})=>{let n=h("SuggestionsOverlay",Dl),s=R(Js),r=to(bt),i=di(),a=dh(),l=ah(null),c=b("searchTriggerKey"),d=b("productName"),u=to(nn),g=to(W),p=to(dt),[f,m]=lh(null),y=b("showSearch"),E=b("showTextSuggestions"),S=b("adminUrl"),v=b("isEmbedded"),[k,x]=Pl("dd-snooze-until-ms",0),w=u||k>Date.now(),N=to(P=>P.input.text),U=t.filter(P=>P.source!=="gpt").length,F=()=>{w&&x(0),a(xl(!w))},I=P=>{a(G({name:"suggestion feedback",data:{text:P.text,source:"overlay",context:N},options:{includeConversationData:!0}}))},O=P=>{let $=Date.now()+P*1e3;x($),T.info(`Snooze until: ${new Date($)}`),a(_e({collapse:!0}))};return ih(()=>{U===0&&m(null)},[t,U]),xt(()=>{a(_e({collapse:!0,skipWhenInputFocus:!0}))}),g===null||p===!1?null:g===!1?oo("div",{ref:l,className:Ys(n.root,{[n.isCollapsed]:w}),children:[!w&&oo("div",{className:n.triggers,children:[V("div",{style:{flex:1}}),V("div",{className:n.triggersRight,children:V(it,{className:n.toggleButton,title:s("collapse"),onClick:F,isCollapsed:!1})})]}),V("div",{className:n.toggleButtonWrapper,children:V(it,{className:n.toggleButton,title:s("open",{productName:d}),onClick:F,isCollapsed:!0})}),V("div",{className:n.collapsible,children:V(un,{loginUrl:S,isEmbedded:v,onLogIn:o,onSnooze:O})})]}):!i||!r?null:oo("div",{ref:l,className:Ys(n.root,{[n.isCollapsed]:w}),children:[!w&&oo("div",{className:n.triggers,children:[V("div",{style:{flex:1},children:y&&V("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>m(s(Il()?"searchHintMac":"searchHintWindows",{searchTriggerKey:c.toUpperCase()})),onMouseLeave:()=>m(null),children:V(_l,{title:s("search")})})}),oo("div",{className:n.triggersRight,onFocus:()=>{},children:[V("div",{className:Ys(!f&&n.hintsHidden,n.hints),children:f}),V(it,{className:n.toggleButton,title:s("collapse"),onClick:F,isCollapsed:!1})]})]}),V("div",{className:n.toggleButtonWrapper,children:V(it,{className:n.toggleButton,title:s("open",{productName:d}),onClick:F,isCollapsed:!0})}),U>0&&E&&V("div",{className:n.collapsible,onFocus:()=>{},children:V(te,{children:V(rn,{onFeedback:I,suggestions:t,selectedIndex:e,reverse:!0})})})]})},ph=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Hl=ch(ph)(uh);import dr from"classnames";import{Interweave as gy}from"interweave";import{useCallback as my,useEffect as fy,useMemo as ac,useRef as hy}from"react";import{connect as yy}from"react-redux";import{useEffect as gh,useRef as mh,useState as fh}from"react";function pn(t){return t.contentEditable==="true"}function hh(t){let e=0,o=0,n=window.getSelection();if(n.rangeCount!==0){let s=n.getRangeAt(0),r=s.cloneRange();r.selectNodeContents(t),r.setEnd(s.endContainer,s.endOffset),o=r.toString().length,r.selectNodeContents(t),r.setEnd(s.startContainer,s.startOffset),e=r.toString().length}return{selectionStart:e,selectionEnd:o}}function Fl(t){let{selectionStart:e,selectionEnd:o}=pn(t)?hh(t):t;return[e,o]}function Bl(t){let[,e]=fh(),o=mh(null);return o.current=Fl(t),gh(()=>{let n=()=>{let[s,r]=o.current??[],i=Fl(t);(!i||s!==i[0]||r!==i[1])&&(o.current=i,e({}))};return t.addEventListener("keyup",n),t.addEventListener("click",n),t.addEventListener("focus",n),document.addEventListener("selectionchange",n),()=>{t.removeEventListener("keyup",n),t.removeEventListener("click",n),t.removeEventListener("focus",n),document.removeEventListener("selectionchange",n)}},[t]),o.current}function Kl(t,e){if(!e)return;let o=t,{value:n}=o,[s,r]=e,i=n.match(yo);if(!i||i.length===0)return;let a=0;i.find(l=>{let c=n.indexOf(l,a);return s>c&&r<c+l.length?(o.selectionStart=c,o.selectionEnd=c+l.length,!0):(a=c+l.length,!1)})}import{cloneElement as yh}from"react";var vh=["div","span","mark","strong","b","i","u","em"];function er(t,e,o=0){var r;let n=t[t.length-1],s=typeof n=="object"&&n!==null?(r=n.props)==null?void 0:r.tagName:void 0;if(s==="br")return t.pop(),[...t,...e,n];if(vh.includes(s)){let i=Array.isArray(n.props.children)?n.props.children:[n.props.children];return[...t.slice(0,t.length-1),yh(n,{children:er(i,e,o+1)})]}return[...t,...e]}function De(t){return t.tagName.toLowerCase()==="textarea"}var ce={root:"wi",container:"vi",agentText:"co",tabText:"xo",hint:"S",matchSelection:"fo",focus:"ki",resetIndent:"zi",matchKeyword:"p",matchPlaceholder:"d",hover:"go",hintText:"ji",popover:"Yi",popoverRoot:"qi",popoverContentContainer:"bo",popoverContent:"Ci",selectionOptions:"Si",selectionOptionsIsHidden:"Ei",selectionOptionsButton:"Gi",caret:"Ni",popoverSuggestionsRoot:"Ai",suggestionsOverlayInputStyles:"Fi"};import Uh from"classnames";import{Matcher as zh}from"interweave";import{useEffect as Vh,useMemo as $h}from"react";import{useEffect as xh,useRef as bh,useState as Ch}from"react";function Ul(t,e){let o;return[(...n)=>{window.cancelAnimationFrame(o);let s=e?e(...n):n;o=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(o)]}function gn(t){let e=bh(null),[o,n]=Ch(!1);return xh(()=>{let s=!1,r=parseFloat(window.getComputedStyle(document.body).zoom??"1"),[i,a]=Ul((d,u)=>{let g=e.current;if(!g)return;let p=d/r,f=u/r,m=g.getBoundingClientRect(),y=p>m.x&&p<m.x+m.width&&f>m.y&&f<m.y+m.height;y&&!s?(s=!0,n(!0)):!y&&s&&(s=!1,n(!1))},({clientX:d,clientY:u})=>[d,u]),[l,c]=Ul(()=>{s=!1,n(!1)});return t.addEventListener("mousemove",i),t.addEventListener("mouseleave",l),()=>{a(),c(),t.removeEventListener("mousemove",i),t.removeEventListener("mouseleave",l)}},[e]),[e,o]}function zl(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function mn(t){return e=>{t.forEach(o=>{typeof o=="function"?o(e):o!=null&&(o.current=e)})}}function Vl(t){return t!=null}import Wl from"classnames";import{createRef as Oh,useCallback as or,useMemo as _h,useRef as Dh,useState as Hh}from"react";import{useState as wh,useLayoutEffect as Th}from"react";var Eh=["bottom","height","left","right","top","width"],kh=(t={},e={})=>Eh.some(o=>t[o]!==e[o]),Ce=new Map,$l,ql=()=>{let t=[],e=[];Ce.forEach((o,n)=>{if(n instanceof Element&&!n.isConnected){e.push(n);return}let s=n.getBoundingClientRect();kh(s,o.rect)&&(o.rect=s,t.push(o))}),e.forEach(o=>{Ce.delete(o)}),t.forEach(o=>{o.callbacks.forEach(n=>n(o.rect))}),$l=window.requestAnimationFrame(ql)};function Rh(t,e){return{observe(){let o=Ce.size===0;if(Ce.has(t)){let n=Ce.get(t);n.callbacks.push(e),n.rect&&e(n.rect)}else Ce.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});o&&ql()},unobserve(){let o=Ce.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||Ce.delete(t),Ce.size||cancelAnimationFrame($l)}}}}function tr(t){let[e,o]=wh(null);return Th(()=>{if(!t.current)return;let n=Rh(t.current,s=>{o(s)});return n.observe(),()=>{n.unobserve()}},[t]),e}import{useContext as Ih,useLayoutEffect as Lh,useState as Ah}from"react";import{createPortal as Mh}from"react-dom";var Gl={root:"Hi"};var jl=({children:t,parentNode:e})=>{let[o,n]=Ah(null),s=Ih(_t);return Lh(()=>{let r=document.createElement("div");return Ze(r),r.classList.add(Gl.root),s!=null&&s.portalRootNode&&r.classList.add(s==null?void 0:s.portalRootNode),(e||document.body).appendChild(r),n(r),()=>{r.isConnected&&r.remove()}},[]),o?Mh(t,o):null};var ge={ref:"Li",root:"o",positionAbove:"l",positionBelow:"s",positionLeft:"c",positionRight:"x",alignStart:"f",alignCenter:"g",alignEnd:"b"};import{jsx as nr}from"react/jsx-runtime";var fn=(t=!1)=>{let[e,o]=Hh(t),n=or(()=>o(!0),[]),s=or(()=>o(!1),[]),r=or(()=>o(a=>!a),[]),i=Dh(null);return{opened:e,open:n,close:s,toggle:r,triggerRef:i}};function sr(t,e=null,o=0){if(!t)return{display:"none"};let n=e?t.top-e.top<0||t.top<e.top-o?e.top-o:t.top+t.height>e.top+e.height+o?e.top+e.height+o-t.height:t.top:t.top,s=e?t.left<e.left-o?e.left-o:t.left+t.width>e.left+e.width+o?e.left+e.width+o-t.width:t.left:t.left;return{top:n,left:s,height:t.height,width:t.width}}var Ct=({className:t,triggerRef:e,boundaryRef:o=Oh(),position:n="above",align:s="center",children:r,toStyle:i=sr,parentNode:a,...l})=>{let c=tr(e),d=tr(o),u=_h(()=>i(c,d,0),[c,d]);return nr(jl,{parentNode:a,children:nr("div",{className:Wl(ge.ref,{[ge.positionAbove]:n==="above",[ge.positionBelow]:n==="below",[ge.positionLeft]:n==="left",[ge.positionRight]:n==="right",[ge.alignStart]:s==="start",[ge.alignCenter]:s==="center",[ge.alignEnd]:s==="end"}),style:u,...l,role:"dialog",children:nr("div",{className:Wl(t,ge.root),children:r})})})};import Fh from"classnames";import{forwardRef as Bh,useRef as Kh}from"react";import{jsx as Xl}from"react/jsx-runtime";var hn=Bh(({className:t,children:e,...o},n)=>{let s=Kh(null),r=h("TabCompletion",ce);return Xl("div",{ref:mn([s,n]),className:Fh(t,r.popoverContentContainer),...o,children:Xl("div",{className:r.popoverContent,children:e})})});import{jsx as no,jsxs as jh}from"react/jsx-runtime";var qh=t=>e=>{let o=sr(e);return"top"in o&&(o.width=t.width-(e.left-t.left)-10),o},Gh=({inputElement:t,boundaryRef:e,inputStyle:o,children:n,suggestion:s})=>{let r=h("TabCompletion",ce),i=fn(),a=$h(()=>qh(t.getBoundingClientRect()),[t]),[l,c]=gn(t);return Vh(()=>{c?i.open():i.close()},[c]),jh("span",{children:[no("mark",{ref:mn([l,i.triggerRef]),className:Uh(r.matchKeyword,{[r.hover]:c}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:n}),i.opened&&no(Ct,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:no(hn,{style:o,children:no("div",{className:r.hintText,children:s})})})]})},yn=class extends zh{keywordMatches=[];preparedKeywordMatches=[];usedKeywordMatches=new Set;onBeforeParse(e,o){return o.keywordMatches&&o.keywordMatches!==this.keywordMatches&&(this.preparedKeywordMatches=o.keywordMatches.map(n=>({...n,keywordRegex:new RegExp(`\\b${zl(n.keyword)}\\b`,"i")})),this.keywordMatches=o.keywordMatches),this.usedKeywordMatches.clear(),e}match(e){let o=this.preparedKeywordMatches.map(s=>{if(this.usedKeywordMatches.has(s))return null;let r=e.match(s.keywordRegex);if(!r)return null;let i=e.charAt(r.index-1),a=e.charAt(r.index+s.keyword.length);return i==="{"&&a==="}"?null:{index:r.index,length:r[0].length,match:r[0],matchString:r[0],suggestion:s.suggestion,preparedKeywordMatch:s,valid:!0}}).filter(Vl);if(o.length===0)return null;let n=o.reduce((s,r)=>r.index<s.index?r:s);return this.usedKeywordMatches.add(n.preparedKeywordMatch),n}replaceWith(e,o){return no(Gh,{inputElement:o.inputElement,suggestion:o.suggestion,inputStyle:o.inputStyle,boundaryRef:o.boundaryRef,children:e},`keyword_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import{Matcher as Wh}from"interweave";import Xh from"classnames";import{jsx as Zl}from"react/jsx-runtime";var Zh=({inputElement:t,children:e})=>{let o=h("TabCompletion",ce),[n,s]=gn(t);return Zl("mark",{ref:n,className:Xh(o.matchPlaceholder,{[o.hover]:s}),children:e})},vn=class extends Wh{match(e){let o=e.match(/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\}(?!\}))/);return o?{index:o.index,length:o[0].length,match:o[0],matchString:o[0],valid:!0}:null}replaceWith(e,o){return Zl(Zh,{inputElement:o.inputElement,children:e},`placeholder_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import cr from"classnames";import{Matcher as iy}from"interweave";import{createRef as ay,forwardRef as ly,useCallback as cy,useEffect as sc,useRef as rc,useState as ic}from"react";import{useDispatch as dy}from"react-redux";import{jsx as Ql}from"react/jsx-runtime";var Jl=()=>Ql("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:Ql("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 Jh,useEffect as ec,useState as tc}from"react";import{useDispatch as Yh,useSelector as oc}from"react-redux";import ey from"lodash.debounce";var Yl={root:"Mi",content:"Ri"};function Sn(t,e,o){var s;let n=((s=t.imageSizes)==null?void 0:s[e])||t.image||o;if(!n)return null;try{return new URL(n).toString()}catch{return null}}function rr(t){return t.replace("https://www.","").replace("https://","")}import{jsx as Je,jsxs as ir}from"react/jsx-runtime";var ty=3,oy=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),ny=({onSelectLink:t,onDismiss:e,placeholder:o,visitUrlText:n,linkCount:s=ty})=>{let r=h("LinkSearch",Yl),[i,a]=tc(""),l=Yh(),c=oc(tl("url")),d=oc(Ai("URL",oy)),[u,g]=tc(d.length-1),p=b("fallbackImage"),f=S=>{let v=S.target;a(v.value)},m=(S,v)=>{S.stopPropagation(),S.preventDefault(),window.open(v,"_blank")},y=S=>{var x;let v=u-1<0?d.length-1:u-1,k=u+1===d.length?0:u+1;S.code==="Escape"&&(a(""),e()),S.code==="ArrowUp"&&g(v),S.code==="ArrowDown"&&g(k),S.code==="Enter"&&t(((x=d[u])==null?void 0:x.text)||i)},E=Jh(ey(S=>{l(Ve({query:S,type:"URL",tags:["link-search"]}))},300),[]);return ec(()=>{i&&E(i)},[i]),ec(()=>()=>{l(Mo())},[]),ir("div",{className:r.root,children:[Je(te,{withDivider:!0,children:(i?d:c).slice(0,s).map((S,v)=>Je(M,{selected:u===v,onClick:()=>t(S.text),"data-testid":"linksearch-suggestion",children:ir(H,{children:[Je(H.Image,{src:Sn(S,"small",p||void 0),title:S.title||S.text}),ir(H.Content,{className:r.content,cropText:!0,children:[Je(H.Title,{children:S.title||rr(S.text)}),S.title&&rr(S.text)]}),Je(M.Actions,{children:Je(M.ActionButton,{label:n,onClick:k=>m(k,S.text)})})]})},S.text))}),Je(Gt,{value:i,onChange:f,autoFocus:!0,placeholder:o,onKeyUp:y})]})},nc=ny;var ar={};Z(ar,{enUS:()=>sy,nlNL:()=>ry});var sy={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}]},ry={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}]};import{jsx as me,jsxs as lr}from"react/jsx-runtime";var uy=ly((t,e)=>{let o=h("TabCompletion",ce);return me("mark",{ref:e,className:cr(o.matchSelection)},"selection-start")}),py=({startRef:t,boundaryRef:e,inputStyle:o,inputElement:n,children:s})=>{let r=R(ar),i=h("TabCompletion",ce),a=rc(null),l=rc(null),[c,d]=ic(null),u=dy(),g=fn(document.activeElement===n),[p]=ic(()=>document.createRange());g.triggerRef.current=p,sc(()=>()=>p.detach(),[]),sc(()=>{let m=t.current,y=a.current;!m||!y||(p.setStart(m,0),p.setEnd(y,0))},[t.current,a.current]),xt(()=>{g.close()});let f=cy(m=>{let y=p.toString(),E=/^http(s?):\/\//.test(m)?m:`https://${m}`;u(Ro({text:`[${y}](${E})`,replace:"selection"}))},[]);return lr("span",{children:[me("mark",{ref:a,className:cr(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":g.opened?"true":"false",children:s}),g.opened&&me(Ct,{className:i.popoverRoot,triggerRef:g.triggerRef,boundaryRef:e,position:"above",align:"start",children:lr(hn,{style:o,ref:l,children:[me("div",{className:cr(i.selectionOptions,{[i.selectionOptionsIsHidden]:c!==null}),children:lr("button",{type:"button",tabIndex:c===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>d("insertLink"),children:[me(Jl,{}),me("span",{children:"\xA0"}),me("span",{children:r("insertLink")})]})}),c==="insertLink"&&me(nc,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:f,onDismiss:()=>{d(null),g.close()}})]})})]},"selection-end")},xn=class extends iy{charCount=0;foundIndex=0;startRef=null;props;onBeforeParse(e,o){return this.props=o,this.charCount=0,this.startRef=ay(),this.foundIndex=0,e}match(e){if(!this.props||this.props.selection===null||this.foundIndex===2)return null;let[o,n]=this.props.selection;if(o===n)return null;let s=this.foundIndex===0?o:n,r=s>=this.charCount&&s<=this.charCount+e.length?{index:s-this.charCount,length:0,match:"",valid:!0}:null;r&&this.foundIndex++;let i=this.foundIndex===1;return r&&i?this.charCount+=s-this.charCount:this.charCount+=e.length,r?{isStart:i,...r}:null}replaceWith(e,o){return o.isStart?me(uy,{ref:this.startRef}):me(py,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};import{useSelector as vy}from"react-redux";import{jsx as wt,jsxs as by}from"react/jsx-runtime";var Sy=({enabled:t,content:e,tabText:o,showTabHint:n,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:l})=>{let c=h("TabCompletion",ce),d=b("insertLink"),u=b("showMidSentenceSuggestions"),g=b("inlineSuggestions"),p=Bl(a),f=hy(null),m=vy(W);fy(()=>{De(a)&&p&&Kl(a,p)},[p]);let y=my(v=>{if(!s||!o)return v;let k=[wt("span",{className:c.resetIndent,children:"\u200B"},"u200B"),wt("span",{"data-testid":"tab-completion",className:dr(c.tabText,c.resetIndent),"data-source":l,children:o},"tabText")];return n&&k.push(wt("span",{className:dr(c.hint,c.resetIndent),children:wt(qn,{keyCode:"tab"},"tabHint")})),er(v,k)},[s,o,n]),E=ac(()=>{let v=[];return d&&v.push(new xn("selection")),v.push(new vn("placeholders")),r&&v.push(new yn("keywords")),v},[g,d,r]),S=ac(()=>{let v=window.getComputedStyle(a);return{"--dd-color":v.color,"--dd-font-size":v.fontSize,"--dd-font-family":v.fontFamily,"--dd-font-variant":v.fontVariant}},[]);return!t||!m?null:by("div",{ref:v=>{v!=null&&v.parentElement&&(f.current=v==null?void 0:v.parentElement)},className:c.root,style:S,children:[wt(gy,{tagName:"span",containerTagName:"div",className:dr(c.container,c.agentText),disableLineBreaks:De(a),content:e||"\u200B",onAfterParse:y,matchers:E,selection:p,keywordMatches:i,inputElement:a,inputStyle:S,boundaryRef:f,inlineSuggestionsOnlyAtEnd:!u}),wt("br",{})]})},xy=({input:t,ui:e,settings:o,styleSuggestions:n,conversation:s})=>{var m;let{tabCompletionSuggestion:r}=t,i=(r==null?void 0:r.text)||"",a=(r==null?void 0:r.source)||"",l=t.html??Xt(t.text),c=i.indexOf(t.text)===0?i.slice(t.text.length):"",{showTabHint:d}=e,{isSupported:u}=s,{showTabCompletion:g,visible:p,showStyleSuggestions:f}=o;return{showTabHint:d,showStyleSuggestions:f,showTabCompletion:g,content:l,tabText:c,source:a,keywordMatches:((m=n.list)==null?void 0:m.keywordMatches)??[],enabled:p&&u!==!1}},lc=yy(xy)(Sy);import Mv from"classnames";import{useEffect as Nv}from"react";import{useDispatch as Ov,useSelector as X}from"react-redux";import{createAsyncThunk as so,createSlice as Cy}from"@reduxjs/toolkit";var cc={list:[],fetchState:"idle",isInitialRequest:null},uc=t=>t.autoflows.list||[],dc=t=>e=>{var o;return(o=e.list)==null?void 0:o.find(n=>n.triggerPayload===t)},we=so("autoflows/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getAutoflows(t)}),ur=so("autoflows/start",async(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");await n.startAutoflowSession(t),await o(we(t.platformSessionId))}),pr=so("autoflows/stop",async(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");await n.stopAutoflowSession(t.platformSessionId),await o(we(t.platformSessionId))}),wy=Cy({name:"autoflows",initialState:cc,reducers:{},extraReducers:t=>{t.addCase(ur.pending,(e,o)=>{let n=dc(o.meta.arg.triggerPayload)(e);n.state="Started",n.isBusy=!0}),t.addCase(pr.pending,(e,o)=>{let n=dc(o.meta.arg.triggerPayload)(e);n.state="Aborted",n.isBusy=!0}),t.addCase(we.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}),t.addCase(we.rejected,e=>{e.fetchState="error"}),t.addCase(we.fulfilled,(e,o)=>{e.list=o.payload,e.fetchState="done"}),t.addCase(_,()=>cc)}}),pc=so("autoflows/openStream",(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");let s=n.openStream(t);s.on("sessionAborted",()=>{o(we(t))}),s.on("sessionCompleted",()=>{o(we(t))})}),gc=so("autoflows/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),mc=wy.reducer;import{createAsyncThunk as io,createSlice as Ty}from"@reduxjs/toolkit";var fc={list:[],fetchState:"idle",isInitialRequest:null,sentSuggestions:[],errorSuggestions:[],answeredSuggestions:[]},hc=t=>t.customMessages.list,yc=t=>e=>!!e.customMessages.sentSuggestions.find(o=>o===t),vc=t=>e=>!!e.customMessages.answeredSuggestions.find(o=>o===t),Sc=t=>e=>!!e.customMessages.errorSuggestions.find(o=>o===t),ro=io("customMessages/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getCustomMessages(t)}),bn=io("customMessages/send",async(t,e)=>{let{platformSessionId:o,suggestion:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");await s.sendCustomMessage(o,n)}),Cn=io("customMessages/answer",async(t,e)=>{let{platformSessionId:o,reply:n}=t,{deepdeskBrokerAPI:s}=e.extra;if(!s)throw new Error("Deepdesk Broker not initialized");await s.answerCustomMessage(o,n)}),xc=Ty({name:"customMessages",initialState:fc,reducers:{onCustomMessage(t,e){Array.isArray(e.payload)?t.list=e.payload:t.list=[e.payload]}},extraReducers:t=>{t.addCase(ro.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(ro.rejected,e=>{e.fetchState="error"}).addCase(ro.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload||[]}).addCase(bn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.errorSuggestions=e.errorSuggestions.filter(n=>o.meta.arg.suggestion.text!==n)}).addCase(bn.rejected,(e,o)=>{let n=e.sentSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1))}).addCase(Cn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.answeredSuggestions.push(o.meta.arg.suggestion.text)}).addCase(Cn.rejected,(e,o)=>{let n=e.answeredSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1)),e.answeredSuggestions.splice(n,1)}).addCase(_,()=>fc)}}),bc=io("customMessages/openStream",(t,e)=>{let{dispatch:o}=e,{deepdeskBrokerAPI:n}=e.extra;if(!n)throw new Error("Deepdesk Broker not initialized");n.openStream(t).on("customMessageSuggestion",r=>{o(xc.actions.onCustomMessage(r))})}),Cc=io("customMessages/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),wc=xc.reducer;import{createAsyncThunk as Tc,createSlice as Ey}from"@reduxjs/toolkit";var ky={token:null,accountUrl:null,interval:null},Ec=t=>e=>{let{passwordlessToken:{token:o,accountUrl:n}}=e;return o&&n?`${n}/apis/admin/session/passwordless/login/?token=${o}&redirect=${t}`:null},gr=Tc("passwordlessToken/getTemporaryPasswordlessToken",async(t,e)=>{let{deepdeskAPI:o}=e.extra,n=await o.requestPasswordlessToken();return{accountUrl:o.client.baseUrl,token:n}}),mr=Tc("passwordlessToken/pollPasswordlessToken",(t={},e)=>{let{interval:o=1e3*60*10}=t,{dispatch:n}=e;return n(gr()),setInterval(()=>n(gr()),o)}),kc=Ey({name:"passwordlessToken",initialState:ky,reducers:{stopPollPasswordlessToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(gr.fulfilled,(e,o)=>{e.token=o.payload.token,e.accountUrl=o.payload.accountUrl}),t.addCase(mr.fulfilled,(e,o)=>{e.interval=o.payload})}}),{stopPollPasswordlessToken:Rc}=kc.actions,Pc=kc.reducer;import{createAction as Ry,createAsyncThunk as Py,createSlice as Iy}from"@reduxjs/toolkit";var fr={cues:[],fetchState:"idle"},Ic=t=>{var e;return(e=t.rules)==null?void 0:e.cues},Ly=Ry("rules/resetCues"),Ye=Py("rules/evaluate",async(t,e)=>{var a;let{deepdeskAPI:o}=e.extra,n=(a=e.getState().conversation.current)==null?void 0:a.id;if(!n)throw new Error("No current conversation to evaluate rules");if(!(await o.getAccount()).ruleEngine)throw new Error("Rule engine is not enabled for this account");if(!(await o.getRules()).some(l=>l.label===t.label))throw new Error(`No rules found with label: ${t.label}`);return await o.evaluateRule(t.label,n,t.params)}),Lc=Iy({name:"answer",initialState:fr,reducers:{removeCue(t,e){t.cues=t.cues.filter(o=>o.rule.id!==e.payload.id)}},extraReducers:t=>{t.addCase(Ye.pending,e=>{e.fetchState="loading"}).addCase(Ye.rejected,e=>{e.fetchState="error"}).addCase(Ye.fulfilled,(e,o)=>{let n=o.payload.map(r=>r.rule.id),s=e.cues.filter(r=>!n.includes(r.rule.id));e.fetchState="done",e.cues=[...o.payload,...s]}).addCase(_,()=>fr).addCase(Ly.toString(),()=>fr)}}),{removeCue:Ac}=Lc.actions,Mc=Lc.reducer;function Nc(t){let{customMessages:e,autoflows:o}=t;return o.fetchState==="loading"&&o.isInitialRequest===!0||e.fetchState==="loading"&&e.isInitialRequest===!0}import{Fragment as zy}from"react";import{connect as Vy}from"react-redux";import By from"classnames";import{Fragment as Ky}from"react";import My from"classnames";var Oc={root:"Ti"};import{jsx as Oy}from"react/jsx-runtime";var Ny=({className:t,children:e})=>{let o=h("Unicode",Oc);return Oy("span",{className:My(t,o.root),children:e})},_c=Ny;var Dc={isDisabled:"Ui",buttonStart:"Bi",root:"Di",buttonStop:"ho",stateBadge:"h",isCompleted:"Ii",isStarted:"Oi",isAborted:"Xi"};var hr={};Z(hr,{enUS:()=>Dy,nlNL:()=>Hy});var Dy={start:[{type:0,value:"Start"}],stop:[{type:0,value:"Stop"}],aborted:[{type:0,value:"Stopped"}],completed:[{type:0,value:"Completed"}],Aborted:[{type:0,value:"Stopped"}],Started:[{type:0,value:"Running"}],Completed:[{type:0,value:"Completed"}]},Hy={start:[{type:0,value:"Start"}],stop:[{type:0,value:"Stop"}],aborted:[{type:0,value:"Stopped"}],completed:[{type:0,value:"Completed"}],Aborted:[{type:0,value:"Stopped"}],Started:[{type:0,value:"Running"}],Completed:[{type:0,value:"Completed"}]};import{jsx as et,jsxs as wn}from"react/jsx-runtime";var Uy=({disabled:t,state:e,displayName:o,description:n,onStartAutoflow:s,onStopAutoflow:r})=>{let i=h("Autoflow",Dc),a=R(hr),l=e==="Started"?"stop":"start",c=l==="start"?"\u25B6":l==="stop"?"\u25FC":"";return wn(M,{className:By(i.root,{[i.isDisabled]:t,[i.isCompleted]:e==="Completed",[i.isAborted]:e==="Aborted",[i.isStarted]:e==="Started"}),children:[et(H,{children:wn(H.Content,{children:[wn(H.Title,{children:[e&&et("span",{className:i.stateBadge,children:a(e)}),o]}),et("span",{children:n})]})}),et(M.Actions,{fixed:e==="Started",children:et(M.ActionButton,{primary:!0,className:l==="start"?i.buttonStart:i.buttonStop,onClick:e==="Started"?r:s,disabled:t,label:wn(Ky,{children:[et(_c,{children:c})," ",et("span",{children:a(l)})]})})})]})},Hc=Uy;import{jsx as Fc}from"react/jsx-runtime";var $y=(t,e)=>{let o=e.filter(n=>n.state==="Started");return o.length>0?o.indexOf(t)===-1:!1},qy=({autoflows:t,onStartAutoflow:e,onStopAutoflow:o,platformSessionId:n})=>Fc(zy,{children:t.map(s=>Fc(Hc,{displayName:s.displayName,description:s.description,disabled:s.isBusy||$y(s,t),state:s.state,onStartAutoflow:()=>e({platformSessionId:n,triggerPayload:s.triggerPayload}),onStopAutoflow:()=>o({platformSessionId:n,triggerPayload:s.triggerPayload})},s.displayName))}),Gy=({autoflows:t,conversation:e})=>{var o;return{autoflows:t.list,platformSessionId:(o=e.current)==null?void 0:o.sessionId}},jy={onStartAutoflow:ur,onStopAutoflow:pr},Bc=Vy(Gy,jy)(qy);import Xy from"classnames";import{useCallback as Kc}from"react";import{useDispatch as Zy,useSelector as Tn}from"react-redux";var Te={root:"mo",title:"uo",isUsed:"Ji",quickReplies:"Ki",quickReply:"Pi",hasError:"Qi",label:"Vi",errorIcon:"Wi"};import{jsx as He,jsxs as En}from"react/jsx-runtime";var Qy=({suggestion:t})=>{let e=R(We),o=Zy(),n=Tn(yc(t.text)),s=Tn(vc(t.text)),r=Tn(Sc(t.text)),i=Tn(xo),{replyOptions:a}=t,l=Kc(d=>{d.preventDefault(),d.stopPropagation(),!(n||!i)&&o(bn({platformSessionId:i,suggestion:t}))},[t,n,o,i]),c=Kc(d=>{if(d.preventDefault(),d.stopPropagation(),!i||!a)return;let u=parseInt(d.target.dataset.index,10),g=a[u];o(Cn({platformSessionId:i,reply:g,suggestion:t}))},[t,n,o,i]);return En(M,{onClick:l,className:Xy(Te.root,{[Te.isUsed]:n,[Te.hasError]:r}),children:[He(H,{children:En(H.Content,{children:[En(H.Title,{className:Te.title,children:[t.text," ",He(Gn,{className:Te.label,children:"analyse tool"})," ",r&&He("span",{className:Te.errorIcon,role:"img","aria-label":e("sendingError"),title:e("sendingError"),children:"!"})]}),a&&a.length>0&&He("ul",{className:Te.quickReplies,children:a.map(d=>He("li",{className:Te.quickReply,children:d.title},d.title))})]})}),En(M.Actions,{fixed:r||n,children:[a&&a.length>0&&He(M.DropdownButton,{label:e("answer"),disabled:s,children:a.map((d,u)=>He(M.DropdownItem,{index:u,label:d.title,onClick:c},d.title))}),He(M.ActionButton,{primary:!0,disabled:n,onClick:l,label:e(n?"suggestionSent":r?"tryAgain":"sendSuggestion")})]})]})},Uc=Qy;import{useEffect as Yy,useState as ev}from"react";import{useDispatch as tv}from"react-redux";import $c from"classnames";import{jsx as zc}from"react/jsx-runtime";var yr=()=>zc("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:zc("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 Vc={root:"Zi",entity:"r",entityText:"_i",iconWrapper:"or",icon:"er",iconClicked:"ir"};import{jsx as Tt,jsxs as qc}from"react/jsx-runtime";var ov=({entities:t})=>{let e=h("EntitiesWidgetList",Vc),[o,n]=ev(void 0),s=tv(),r=()=>{n(void 0)},i=a=>{t&&(n(t.indexOf(a)),Ge(a.text),s(G({name:"entity copied",data:{entity:a,type:"copy"}})))};return Yy(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[o]),!t||t.length===0?null:Tt("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,l)=>qc("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[Tt("span",{className:e.entityText,children:a.text}),qc("span",{className:e.iconWrapper,children:[Tt("span",{className:$c(e.icon),children:Tt(yr,{})}),Tt("span",{className:$c(e.icon,o===l&&e.iconClicked),children:Tt(yr,{})})]})]},a.text))})},Gc=ov;import{jsx as jc}from"react/jsx-runtime";var Wc=()=>jc("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:jc("path",{d:"M17 13.5v6H5v-12h6m3-3h6v6m0-6-9 9",stroke:"currentColor",strokeWidth:"1.5",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"})});import{jsx as Xc}from"react/jsx-runtime";var Zc=()=>Xc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:Xc("path",{d:"M543-340q16.595 0 28.798-12.202Q584-364.405 584-381t-12.202-28.798Q559.595-422 543-422t-28.798 12.202Q502-397.595 502-381t12.202 28.798Q526.405-340 543-340Zm-25-126h47q2-29 8.5-43t32.5-39q27-26 37.5-45.395Q654-612.79 654-639q0-45.882-31.5-74.941Q591-743 540-743q-38 0-68 20.5T428-665l45 19q11-25 27.5-38t39.5-13q29.778 0 48.389 17Q607-663 607-637q0 20-9 35t-32 32q-32 29-40 46.5t-8 57.5ZM260-200q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h560q24 0 42 18t18 42v560q0 24-18 42t-42 18H260Zm0-60h560v-560H260v560ZM140-80q-24 0-42-18t-18-42v-620h60v620h620v60H140Zm120-740v560-560Z"})});import{jsx as Qc}from"react/jsx-runtime";var Jc=()=>Qc("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:Qc("path",{d:"M319-250h322v-60H319v60Zm0-170h322v-60H319v60ZM220-80q-24 0-42-18t-18-42v-680q0-24 18-42t42-18h361l219 219v521q0 24-18 42t-42 18H220Zm331-554v-186H220v680h520v-494H551ZM220-820v186-186 680-680Z"})});import{useDispatch as bv}from"react-redux";import{useDispatch as sv}from"react-redux";import{createAsyncThunk as nv}from"@reduxjs/toolkit";function Yc(t){return nv("analytics/logEvent",(e,o)=>{var r,i,a;let n=(i=(r=o.getState())==null?void 0:r.conversation.current)==null?void 0:i.id,s=(a=o.getState())==null?void 0:a.info.agentInfo;return o.extra.deepdeskAPI.sendEvent(e.name,{conversationId:n,...s,data:e.data})})(t)}function kn(){let t=sv();return async(e,o)=>{await t(Yc({name:e,data:o}))}}import dd from"classnames";import{useEffect as vv,useState as Sv}from"react";import{jsx as ed,jsxs as rv}from"react/jsx-runtime";var td=({className:t})=>rv("svg",{viewBox:"0 0 12 12",version:"1.1",xmlns:"http://www.w3.org/2000/svg",className:t,children:[ed("line",{x1:"2",y1:"10",x2:"10",y2:"2",stroke:"black",strokeWidth:"1"}),ed("line",{x1:"2",y1:"2",x2:"10",y2:"10",stroke:"black",strokeWidth:"1"})]});import{jsx as od}from"react/jsx-runtime";var nd=t=>od("svg",{width:"16",height:"16",fill:"#000000",...t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:od("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 sd}from"react/jsx-runtime";var rd=t=>sd("svg",{width:"16",height:"16",fill:"#000000",...t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:sd("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 Et(t,e){var n;let o=t.cloneNode(!0);o.style.top=`${t.offsetTop}px`,o.style.left=`${t.offsetLeft}px`,o.style.position="absolute",o.classList.add(e),o.addEventListener("animationend",()=>o.remove()),(n=t.parentElement)==null||n.appendChild(o)}import av from"dompurify";import{Fragment as lv,useMemo as cv,useRef as dv,useState as uv}from"react";import pv from"snarkdown";var id={fadeup:"E",root:"i",popover:"rr",options:"yo",copyIcon:"G",option:"wo",divider:"tr"};import{jsx as ao,jsxs as ad}from"react/jsx-runtime";function gv(t){return`<button type="button" 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 vr(t){let e=t.cloneNode(!0);return e.querySelectorAll("div,button").forEach(o=>o.remove()),e.textContent??""}var mv=({content:t,useLabel:e,copyLabel:o,onCopy:n,onUse:s})=>{let r=h("Markdown",id),i=dv(null),[a,l]=uv(null),c=cv(()=>{let f=pv(t);return av.sanitize(f).replace(/<\/code>/g,`${gv(r.copyIcon)}</code>`)},[t]),d=f=>{var E;let m=f.target,y=!!((E=i.current)!=null&&E.querySelector("code"));a||y&&m.tagName!=="CODE"||!y&&m!==i.current||(m.addEventListener("mouseleave",()=>l(null),{once:!0}),l(m))},u=()=>{if(!a)return;l(null);let f=a.querySelector("button");f&&(Et(f,r.fadeup),n(vr(a)))},g=f=>{f.target.tagName.toLowerCase()==="button"&&(Et(f.target,r.fadeup),n(vr(f.target.parentElement)))},p=()=>{a&&(l(null),s(vr(a)))};return ad(lv,{children:[a&&ao(Ct,{triggerRef:{current:a},parentNode:a,className:r.popover,children:ad("div",{className:r.options,children:[ao("button",{type:"button",className:r.option,onClick:u,children:o}),ao("div",{className:r.divider}),ao("button",{type:"button",className:r.option,onClick:p,children:e})]})}),ao("div",{ref:i,className:r.root,dangerouslySetInnerHTML:{__html:c},onMouseOver:d,onClick:g})]})},ld=mv;var Sr={};Z(Sr,{enUS:()=>fv,nlNL:()=>hv});var fv={useCue:[{type:0,value:"Use"}],copyCue:[{type:0,value:"Copy"}],removeCue:[{type:0,value:"Close"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]},hv={useCue:[{type:0,value:"Gebruik"}],copyCue:[{type:0,value:"Kopieer"}],removeCue:[{type:0,value:"Sluiten"}],thumbsUp:[{type:0,value:"Thumbs up"}],thumbsDown:[{type:0,value:"Thumbs down"}]};var cd={fadeup:"N",fadedown:"A",selected:"vo",thumbsUp:"nr",thumbsDown:"ar"};import{jsx as Ee,jsxs as ud}from"react/jsx-runtime";var xv=({cue:t,onRemove:e,onCopy:o,onUse:n,onThumbsUp:s,onThumbsDown:r})=>{let i=h("WidgetCue",cd),a=R(Sr),l=kn(),[c,d]=Sv(null),u=y=>{o&&o(y,t)},g=y=>{n&&n(y,t)},p=y=>{y.preventDefault(),y.stopPropagation(),e(t)},f=y=>{y.preventDefault(),y.stopPropagation(),Et(y.target,i.fadeup),d("up"),s(t)},m=y=>{y.preventDefault(),y.stopPropagation(),Et(y.target,i.fadedown),d("down"),r(t)};return vv(()=>{l("Assistant response displayed",{name:t.rule.name,description:t.rule.description,group:t.rule.label})},[]),ud(M,{"data-testid":"cue",children:[Ee(H,{children:ud(H.Content,{children:[t.title&&Ee(H.Title,{"data-testid":"widget-cue-title",children:t.title}),Ee(ld,{content:t.text,useLabel:a("useCue"),copyLabel:a("copyCue"),onCopy:u,onUse:g})]})}),Ee(M.IconButton,{title:a("thumbsUp"),onClick:f,icon:Ee(rd,{}),className:dd(i.thumbsUp,c==="up"&&i.selected),disabled:!!c}),Ee(M.IconButton,{title:a("thumbsDown"),onClick:m,icon:Ee(nd,{}),className:dd(i.thumbsDown,c==="down"&&i.selected),disabled:!!c}),Ee(M.IconButton,{title:a("removeCue"),onClick:p,icon:Ee(td,{})})]})},pd=xv;import{Fragment as wv,jsx as gd}from"react/jsx-runtime";var Cv=({cues:t})=>{let e=bv(),o=oe(),n=kn(),s=c=>{e(Ac({id:c.rule.id})),n("Assistant response closed",{name:c.rule.name,group:c.rule.label,description:c.rule.description})},r=(c,d)=>{Ge(c),n("Assistant response copied",{name:d.rule.name,group:d.rule.label,description:d.rule.description,copiedText:c})},i=(c,d)=>{o.send(Ae,{text:c,suggestion:{source:"cue",sourceText:c}}),n("Assistant response used",{name:d.rule.name,group:d.rule.label,description:d.rule.description,usedText:c})},a=c=>{n("Assistant response feedback",{name:c.rule.name,group:c.rule.label,description:c.rule.description,thumb:"up"})},l=c=>{n("Assistant response feedback",{name:c.rule.name,group:c.rule.label,description:c.rule.description,thumb:"down"})};return gd(wv,{children:t.map(c=>gd(pd,{cue:c,onRemove:s,onCopy:r,onUse:i,onThumbsDown:l,onThumbsUp:a},c.rule.id))})},md=Cv;import{useCallback as Ev}from"react";var Tv=/(https?:\/\/[^\s]+)/,fd=t=>t.split(" ").find(e=>Tv.test(e));import{jsx as kt,jsxs as Rn}from"react/jsx-runtime";var kv=({suggestion:t,lines:e,onUse:o})=>{var d;let n=t.text||t.url||t.message,s=fd(n),r=R(We),i=b("showImages"),a=b("fallbackImage"),l=u=>{u.preventDefault(),u.stopPropagation(),o(n)},c=Ev(u=>{window.open(s,"_blank"),u.stopPropagation(),u.preventDefault()},[s]);return Rn(M,{onClick:l,"data-testid":"edit-suggestion",children:[Rn(H,{children:[i&&t.image&&kt(H.Image,{src:Sn(t,"small",a||void 0),title:t.title}),Rn(H.Content,{children:[t.title&&kt(H.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((d=t.searchKeywords)==null?void 0:d.length)>0&&kt(M.Labels,{labels:t.searchKeywords}),kt(H.Content,{cropText:e==="single",lineClamp:e==="multiple",children:n})]})]}),Rn(M.Actions,{children:[s&&kt(M.ActionButton,{onClick:c,label:r("visitUrl")}),kt(M.ActionButton,{primary:!0,onClick:l,label:r("useSuggestion")})]})]})},hd=kv;import{Fragment as Pv,jsx as yd}from"react/jsx-runtime";var Rv=({lines:t,suggestions:e})=>{let o=oe(),n=(s,r)=>{o.send(Ae,{text:s,suggestion:{...r,source:r.source,sourceText:r.text}})};return yd(Pv,{children:e.map(s=>yd(hd,{suggestion:s,lines:t,onUse:r=>n(r,s)},s.text||s.url||s.message))})},vd=Rv;var xr={};Z(xr,{enUS:()=>Iv,nlNL:()=>Lv});var Iv={waiting:[{type:0,value:"Loading\u2026"}],notSupported:[{type:0,value:"This conversation is not supported"}],noResults:[{type:0,value:"No results found\u2026"}],titleAutoflows:[{type:0,value:"Autoflows"}],titleCustomMessages:[{type:0,value:"Quick replies"}],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"}]},Lv={waiting:[{type:0,value:"Laden\u2026"}],notSupported:[{type:0,value:"Dit gesprek wordt niet ondersteund"}],noResults:[{type:0,value:"Geen resultaten gevonden\u2026"}],titleAutoflows:[{type:0,value:"Autoflows"}],titleCustomMessages:[{type:0,value:"Quick replies"}],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"}]};var Sd={root:"pr",loginText:"dr",stateText:"ko",sectionList:"lr",shortcutList:"sr",shortcut:"cr",link:"zo"};import{jsx as A,jsxs as Rt}from"react/jsx-runtime";var Pn=(t,e)=>{let o=X(W);Nv(()=>o?e.every(n=>!!n)?t():()=>{}:()=>{},[...e,o])},_v=({onLogIn:t})=>{let e=R(xr),o=Ov(),n=b("isEmbedded"),s=h("Widget",Sd),r=b("showAutoflows"),i=b("showCustomMessages"),a=b("showSummaryCommand"),l=b("showKnowledgeSearch"),c=b("showSearch"),d=X(Oe),u=X(Yo),g=X(uc),p=X(Ic),f=X(Qo),m=X(hc),y=X(bo),E=X(dt),S=X(W),v=X(xo),k=X(Nc),x=X(en),w=oe(),N=X(ol),U=X(Ec("/admin/")),F=b("adminUrl"),I=b("productName");if(Pn(()=>(o(ro(v)),o(bc(v)),()=>{o(Cc(v))}),[o,E,i,v]),Pn(()=>(o(we(v)),o(pc(v)),()=>{o(gc(v))}),[o,E,r,v]),Pn(()=>{u.forEach(({type:P})=>{o(P==="entities"?ae():le(P))})},[o,E,y,d]),Pn(()=>(o(mr()),()=>{o(Rc())}),[o]),E===!1)return A("div",{className:s.stateText,children:A("div",{children:A("p",{children:e("notSupported")})})},"supported");if(S===!1)return A("div",{className:s.loginText,children:A("div",{children:A(un,{isEmbedded:n,loginUrl:F,onLogIn:t})})},"login");if(!d||!v||S===null||N||k)return A("div",{className:s.stateText,children:A("div",{children:A("p",{children:e("waiting")})})},"waiting");let O=c||a||l||U;return A("div",{className:Mv(s.root),"data-testid":"widget",children:Rt(Wn,{className:s.sectionList,children:[O&&A(ke,{title:e("actions"),type:"shortcuts",children:Rt("div",{className:s.shortcutList,children:[c&&Rt("button",{className:s.shortcut,"data-testid":"shortcut-search",onClick:()=>w.send("ShowCommandPalette",{isOpen:!0}),children:[A(mt,{}),e("linkSearch")]}),a&&Rt("button",{className:s.shortcut,"data-testid":"shortcut-summary",onClick:()=>w.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[A(Jc,{}),e("linkSummary")]}),l&&Rt("button",{className:s.shortcut,"data-testid":"shortcut-knowledge-assist",onClick:()=>w.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeAssist"}),children:[A(Zc,{}),e("linkKnowledgeSearch")]}),U&&Rt("a",{className:s.shortcut,target:"_blank",href:U,"data-testid":"shortcut-studio-login",rel:"noreferrer",children:[A(Wc,{}),e("linkStudioLogin",{productName:I})]})]})}),i&&m.length>0&&A(ke,{type:"custom-messages","data-testid":"custom-messages",children:A(te,{withDivider:!0,children:m.map(P=>A(Uc,{suggestion:P},P.text))})}),r&&g.length>0&&A(ke,{type:"autoflows",title:e("titleAutoflows"),"data-testid":"autoflows",children:A(te,{withDivider:!0,children:A(Bc,{})})}),u.map(({type:P,title:$,amount:Un,lines:zn})=>{var nt;switch(P){case"entities":return f&&f.length>0&&A(ke,{type:P,title:$,"data-testid":`type-${P}`,children:A(Gc,{entities:f})},P);case"cues":return p&&p.length>0&&A(ke,{type:P,title:$,"data-testid":`type-${P}`,children:A(te,{withDivider:!0,children:A(md,{cues:p})})},P);default:return((nt=x[P])==null?void 0:nt.fetchState)==="done"&&x[P].suggestions.length>0&&A(ke,{type:P,title:$,"data-testid":`type-${P}`,children:A(te,{withDivider:!0,children:A(vd,{lines:zn,contentType:P,suggestions:x[P].suggestions.slice(0,Un)||[]})})},P)}})]})})},xd=_v;function co(t){let e=new Range;return e.selectNodeContents(t),e}function bd(t,e,o){try{return tt(t,e,o),!0}catch{return!1}}function In(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function Ln(t){return"tagName"in t&&t.tagName==="BR"}var lo=/[\u200B-\u200D\uFEFF]/g;function tt(t,e,o){let n=new Range;if(t.firstChild===null&&e===0&&o===0)return n.selectNodeContents(t),n;let s=0,r=!1;function i(l,c){let d=-1,u=/[\u200B-\u200D\uFEFF]/;if(!u.test(l))return c;for(let g=0;g<=l.length;g++)if(u.test(l[g])||d++,d===c)return g;throw new Error("Offset out of range")}function a(l){switch(l.nodeType){case Node.TEXT_NODE:{let c=l.textContent,d=c.replace(lo,""),u=s+d.length,g=e>=s&&e<=u,p=o>=s&&o<=u;if(g){let f=i(c,e-s);f===0&&!p?n.setStartBefore(l):n.setStart(l,f)}p&&(n.setEnd(l,i(c,o-s)),r=!0),s=u;break}case Node.ELEMENT_NODE:{if(Ln(l)&&(s===e&&n.setStartBefore(l),s++,s===o)){n.setEndAfter(l),r=!0;return}for(let d=0;d<l.childNodes.length&&(a(l.childNodes[d]),!r);d++);let c=l.lastChild;In(l)&&c&&!In(c)&&!Ln(c)&&s++;break}default:break}}if(a(t),n.startContainer===document)throw new Error("Offsets out of bound");return n}function An(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r,collapsed:i}=e,a,l,c=0;function d(u){let g=u===o,p=u===s;switch(u.nodeType){case Node.TEXT_NODE:{let f=u.textContent;g&&(a=c+f.substring(0,n).replace(lo,"").length),p&&(l=c+f.substring(0,r).replace(lo,"").length),c+=f.replace(lo,"").length;break}case Node.ELEMENT_NODE:{let f=u.nextSibling===null;Ln(u)&&!f&&c++;for(let m=0;m<u.childNodes.length;m++){let y=g&&m===n,E=p&&m===r;if(y&&(a=c),E&&(l=c),l!==void 0||((!y||!i)&&d(u.childNodes[m]),p&&m===r-1&&(l=c),l!==void 0))break}!p&&In(u)&&!f&&c++,p&&(l=c);break}default:break}}if(d(t),l===void 0)throw new Error("Could not determine start and end");return{start:a??l,end:l}}function Mn(t,e){if(!t.contains(e.startContainer)||!t.contains(e.endContainer))throw new Error("Range not within root element");let{startContainer:o,startOffset:n,endContainer:s,endOffset:r}=e,i=-1,a="";function l(c){let d=c===o,u=c===s;switch(d&&i++,c.nodeType){case Node.TEXT_NODE:{if(i!==0)return;let g=d?n:0,p=u?r:void 0,f=c.textContent.replace(lo,"");g===0&&p===void 0?a+=f:a+=f.substring(g,p);break}case Node.ELEMENT_NODE:{let g=c.nextSibling===null;i===0&&Ln(c)&&!g&&(a+=`
8
8
  `);for(let p=d?n:0;p<(u?Math.min(r,c.childNodes.length):c.childNodes.length)&&(l(c.childNodes[p]),i!==1);p++);!u&&i===0&&In(c)&&!g&&(a+=`
9
- `);break}default:break}u&&i++}return l(t),a}var Cd=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(Cd||{}),Fe=class{constructor(e){this.element=e;this.currentText=this.getText(),this.currentHTML=this.getHTML(),this.listen()}eventListeners={};disposeHandlers=[];currentText="";currentCaret=null;currentSelection={start:0,end:0};currentHTML="";isFocused=!1;isActive=!0;isSettingValue=!1;isSubmitting=!1;isPossibleClearInputAction=!1;isDisposed=!1;addEventListener(e,o){let n=s=>{o(s)};this.element.addEventListener(e,n),this.disposeHandlers.push(()=>{this.element.removeEventListener(e,n)})}removeEventListener(e,o){this.element.removeEventListener(e,o)}triggerChange(){let e=this.getText(),o=this.getHTML(),n=e!==this.currentText;this.isActive&&(e===""&&this.currentText!==""&&!this.isSettingValue&&!this.isPossibleClearInputAction&&(this.isSubmitting=!0,this.emit("submit")),!this.isSettingValue&&n&&!this.isSubmitting&&this.emit("change",{plainText:e}),n&&(this.currentSelection=this.getSelection()),this.currentText=e,this.isSubmitting=!1,(this.currentHTML!==o||o===null&&n)&&(this.emit("updated",{plainText:e}),this.triggerCaretPosition(),this.currentHTML=o))}triggerSelection(){let e=this.getSelection();(e.start!==this.currentSelection.start||e.end!==this.currentSelection.end)&&(this.currentSelection=e,this.emit("selection",e),this.triggerCaretPosition())}triggerCaretPosition(){let e=this.getCaretPosition();Pe(e,this.currentCaret)||(this.currentCaret=e,this.emit("caret",e))}handleKeyUp(e){let{key:o,shiftKey:n}=e;(o==="Enter"&&n===!0||o==="Backspace")&&this.triggerChange(),this.triggerSelection()}handleClick(){this.triggerSelection()}handleFocus(){this.isFocused||this.emit("focus"),this.triggerSelection(),this.isFocused=!0}handleBlur(){this.isPossibleClearInputAction=!1,this.isFocused&&this.emit("blur"),this.isFocused=!1}handleKeyDown(e){let{key:o,ctrlKey:n,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(Cd).includes(o)||o.toLowerCase()==="z"&&(n||s),this.emit("keydown",e)}handleCut(){this.isPossibleClearInputAction=!0,this.emit("cut",{selectionText:this.getSelectedText()})}handlePaste(e){var n,s;let o=((n=e.clipboardData)==null?void 0:n.getData("text"))||((s=e.clipboardData)==null?void 0:s.getData("text/plain"))||"";this.emit("paste",{pastedText:o,selectionText:this.getSelectedText()})}listen(){this.addEventListener("keydown",o=>this.handleKeyDown(o)),this.addEventListener("keyup",o=>this.handleKeyUp(o)),this.addEventListener("input",()=>this.triggerChange()),this.addEventListener("change",()=>this.triggerChange()),this.addEventListener("focus",()=>this.handleFocus()),this.addEventListener("blur",()=>this.handleBlur()),this.addEventListener("cut",()=>this.handleCut()),this.addEventListener("paste",o=>this.handlePaste(o)),this.addEventListener("click",()=>this.triggerSelection()),document.activeElement===this.element&&setTimeout(()=>{this.handleFocus()},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()}),this.currentSelection=this.getSelection()}focus(){this.element.focus()}emit(e,...o){this.isDisposed||this.eventListeners[e]&&this.eventListeners[e].forEach(n=>{n(...o)})}on(e,o){this.isDisposed||(this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o))}activate(){let e=this.isActive===!1;this.isActive=!0,e&&this.triggerChange()}deactivate(){this.isActive=!1}dispose(){this.disposeHandlers.forEach(e=>e()),this.eventListeners={},this.isDisposed=!0}};function wd(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var Pt=class extends Fe{observer;lastKnownSelection=null;getRootNode(){return this.element.getRootNode()}getText(){let e=new Range;return e.selectNodeContents(this.element),Mn(this.element,e)}getHTML(){return this.element.innerHTML||""}getRange(){var r;let e=this.getRootNode();if(e.activeElement!==this.element)return null;let o="getSelection"in e?e.getSelection():window.getSelection();if(!o)return null;let n="getComposedRanges"in o&&e instanceof ShadowRoot?(r=o.getComposedRanges(e))==null?void 0:r[0]:o.rangeCount>0?o.getRangeAt(0):null;if(!n)return null;let s=this.element.ownerDocument.createRange();return s.setStart(n==null?void 0:n.startContainer,n==null?void 0:n.startOffset),s.setEnd(n==null?void 0:n.endContainer,n==null?void 0:n.endOffset),!s||!this.element.contains(s.startContainer)||!this.element.contains(s.endContainer)?null:s}getCaretPosition(){let e=this.getRange();if(!e||!e.collapsed||!("getBoundingClientRect"in e))return null;let o=e.getBoundingClientRect();return!wd(o)&&(e.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=e.getBoundingClientRect(),e.deleteContents(),!wd(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let e=this.getRange();if(e)return An(this.element,e);let o=this.lastKnownSelection;if(o&&bd(this.element,o.start,o.end))return o;let n=co(this.element);return n.collapse(!1),An(this.element,n)}getSelectedText(){let{start:e,end:o}=this.getSelection();return Mn(this.element,tt(this.element,e,o))}applyChanges(e){var s;if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);return(s=this.observer)==null||s.takeRecords(),Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(){super.listen(),this.observer=new MutationObserver(()=>{setTimeout(()=>{this.triggerChange()},0)}),this.observer.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0});let e=this.element.isContentEditable,o=new MutationObserver(()=>{this.element.isContentEditable!==e&&(e=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});o.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>o.disconnect())}dispose(){super.dispose(),this.observer&&this.observer.disconnect()}};var It=class extends Fe{lastKnownSelection=null;getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:e,selectionEnd:o}=this.element;return{start:e,end:o}}getSelectedText(){let e=this.getSelection();return e?this.getText().slice(e.start,e.end):""}getCaretPosition(){return null}applyChanges(e){if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);return Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(){super.listen();let e=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value");Object.defineProperty(this.element,"value",{configurable:!0,get:()=>{var s;return(s=e==null?void 0:e.get)==null?void 0:s.call(this.element)},set:s=>{var r;(r=e==null?void 0:e.set)==null||r.call(this.element,s),this.triggerChange()}});let o=this.element.disabled,n=new MutationObserver(()=>{this.element.disabled!==o&&(o=this.element.disabled,this.emit(o?"disabled":"enabled"))});n.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>n.disconnect())}};function Td(t,e,o){let n=`deepdesk-iframe-${t}`,s=document.getElementById(n);if(s)return s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(o).forEach(([a,l])=>{i.searchParams.append(a,l)}),r.style.position="absolute",r.style.left="-999em",r.style.width="0px",r.style.height="0px",r.tabIndex=-1,r.id=n,r.title=`iframe-${t}`,r.src=i.toString(),window.document.body.appendChild(r),r}function Dv(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch{return t}}var br=class{constructor(e){this.name=e;this.broadcastChannel=new BroadcastChannel(e)}broadcastChannel;disposeHandlers=[];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()}},Cr=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.iframe=Td(e,`${this.targetOrigin}/sdk/proxy/proxy.html`,{channel:this.name,host:window.location.origin,debug:"1"}),document.body.appendChild(this.iframe)}iframe;disposeHandlers=[];onMessage(e){window.addEventListener("message",e),this.disposeHandlers.push(()=>{window.removeEventListener("message",e)})}postMessage(e){var o;(o=this.iframe.contentWindow)==null||o.postMessage(JSON.stringify(e),this.targetOrigin)}close(){var e;this.disposeHandlers.forEach(o=>o()),(e=this.iframe)==null||e.remove()}},wr=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.sessionId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}sessionId;deepdeskUrl;channel;defaultChannel;eventMap;get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setSessionId(e){this.sessionId!==e&&(this.cleanup(),T.info("Set sessionId",e),this.sessionId=e,this.channel=this.createChannel(e))}createChannel(e){let o=this.params.createCustomChannel?this.params.createCustomChannel(e):this.isCrossOrigin?new Cr(e,this.deepdeskUrl,{debug:!0}):new br(e),n=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=Dv(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(T.info("Received broadcast event",this.sessionId,s),(a=(i=this.eventMap)[r.name])==null||a.call(i,r.payload))};return o.onMessage(n),o}send(e,o,n){var i,a;T.info("Broadcast event",{sessionId:this.sessionId,name:e,payload:o});let s={type:"event",name:e,payload:o};n!==!1&&((a=(i=this.eventMap)[e])==null||a.call(i,o));let r=this.sessionId==="deepdesk-general"?this.defaultChannel:this.channel;r==null||r.postMessage({...s,channel:this.sessionId})}cleanup(e=!1){var o,n;(o=this.channel)==null||o.close(),delete this.channel,e&&((n=this.defaultChannel)==null||n.close(),delete this.defaultChannel)}},Ed=wr;var Lt=class extends Error{constructor(o,n){super(o);this.body=n}name="CustomError"};var Tr=t=>new Promise(e=>{setTimeout(e,t)});var At=class extends Lt{name="ClientError"},kr=class extends Lt{name="ServerError"},Er=new Map,fe=class t{constructor(e="",o={}){this.baseUrl=e;this.options=o;o.fetch&&(this.fetch=o.fetch)}latestRequestByUrl={};csrfToken;fetch=window.fetch.bind(window);static refreshingToken=null;patchFetch(e){this.fetch=e(this.fetch)}setCsrfToken(e){this.csrfToken=e}request(e,o={}){return new Promise((n,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,l=o.method===void 0||o.method.toLowerCase()==="get",{useCache:c=!1,abortLatest:d=!1,attempts:u=1,retryDelay:g=500,refreshTokenOn401:p=!0,retryOnError:f=w=>w instanceof TypeError,retryOnResponse:m=w=>w.status>=500,version:y="v1",...E}=o;if(c)if(l){if(Er.has(i)){n(Er.get(i));return}}else throw new Error(`Can't use 'useCache' for ${o.method}`);let S={credentials:"include",...E,headers:{"Content-Type":"application/json",...E.headers}};!l&&this.csrfToken&&(S.headers={...S.headers,"X-CSRFToken":this.csrfToken}),typeof y=="string"&&(S.headers={...S.headers,"X-Deepdesk-API-Version":y});let v=u,k=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&d&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let x=async()=>(v--,a(i,S).then(async w=>m(w)&&!r.isAborted&&v>0?(await Tr(g),x()):w.status===401&&p===!0&&k===!1?(k=!0,await this.refreshToken(),x()):w).catch(async w=>{if(f(w)&&!r.isAborted&&v>0)return await Tr(g),x();throw w}));x().then(w=>w.json().catch(()=>null).then(N=>{w.status>=500?s(new kr("Server Error",N)):w.status===401?s(new At("Unauthorized",N)):w.status===403?s(new At("Forbidden",N)):w.status===404?s(new At("Not Found",N)):w.status>=400&&s(new At("Bad Request",N)),delete this.latestRequestByUrl[i],c&&Er.set(i,N),n(N)})).catch(w=>{s(w)})})}async validateToken(){let{has_valid_access_token:e}=await this.get("/auth/validate");if(!e)return!1;let{is_logged_in:o}=await this.get("/apis/admin/session/validate/",{version:null});return!!o}refreshToken(){return t.refreshingToken||(t.refreshingToken=this.get("/auth/refresh",{refreshTokenOn401:!1}).finally(()=>{setTimeout(()=>{t.refreshingToken=null},1e3*60)})),t.refreshingToken}get(e,o){return this.request(e,o)}post(e,o,n){return this.request(e,{method:"POST",body:JSON.stringify(o),...n})}patch(e,o,n){return this.request(e,{method:"PATCH",body:JSON.stringify(o),...n})}put(e,o,n){return this.request(e,{method:"PUT",body:JSON.stringify(o),...n})}delete(e,o){return this.request(e,{method:"DELETE",...o})}};var Hv;(e=>{let t;(l=>(l.SEND_MESSAGE="Send Message",l.HANDLING_TIME="Handling Time",l.START_AUTOFLOW="Start Autoflow",l.ABORT_AUTOFLOW="Abort Autoflow",l.ADD_TO_PERSONAL_COLLECTION="Add to personal collection",l.DELETE_FROM_PERSONAL_COLLECTION="Delete from personal collection"))(t=e.EventType||={})})(Hv||={});function Nn(t){return{...L(t),tags:t.tags}}var Be=class t{constructor(e,o={}){this.options=o;this.client=new fe(e,{fetch:o.fetch}),this.client.patchFetch(n=>async(s,r)=>{let i=await n(s,r);return this.handleDeepdeskVersionHeaders(i),i})}latestReceivedDeepdeskVersions={};client;shouldFetchCsrfToken=!0;static exchangeTokenPromise=null;async preflight(){if(this.shouldFetchCsrfToken){this.shouldFetchCsrfToken=!1;let e=await this.getCsrfToken();this.client.setCsrfToken(e)}return this.options.token?(t.exchangeTokenPromise||(t.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),t.exchangeTokenPromise):Promise.resolve()}async createConversation(e){await this.preflight(),T.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=await this.client.post("/api/conversations",{...K(e),tags:e.tags},{version:"v2"});return Nn(o)}async getProfile(e){let o=await this.client.get(`/apis/admin/profiles/${e}/`,{version:null,useCache:!0});return L(o)}async getKnowledgeAssistant(e){let o=await this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{version:null,useCache:!0});return L(o)}async getContentTypes(){let e=await this.client.get("/apis/admin/content-types/",{version:null,useCache:!0});return L(e)}async getAccount(){let e=await this.client.get("/apis/admin/account/",{version:null,useCache:!0});return L(e)}async getPlatformConfig(){let{config:e}=await this.client.get("/platform/config/",{version:null,useCache:!0});return L(e)}async checkUserExists(e){let{exists:o}=await this.client.get(`/apis/admin/users/exists?external_id=${e}`);return o}async getConversationBySessionId(e,o={}){await this.preflight(),T.info(`Getting conversation for session ${e}`);let{attempts:n=1,retryDelay:s=1e3}=o,r=await this.client.get(`/api/conversations/by_session_id/${e}`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"});return T.info(`Successfully retrieved conversation ${r.id} for session ${e}`),Nn(r)}async isConversationSupported(e,o={}){T.info(`Check if conversation for session ${e} is supported`);let{attempts:n=1,retryDelay:s=1e3}=o;return(await this.client.get(`/api/conversations/by_session_id/${e}/active_profile`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"})).has_active_profile}async updateConversation(e,o){let n=K(o);o.tags&&(n.tags=o.tags);let s=await this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return Nn(s)}async postMessages(e,o){return(await this.client.post(`/api/conversations/${e}/messages`,o.map(s=>({...K(s),tags:s.tags})),{version:"v2"})).map(s=>Nn(s))}async sendEvent(e,o){let{data:n,...s}=o,r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((i,[a,l])=>({...i,[a]:l}),{});return this.client.post("/api/events",K({...r,...s,data:n,name:e}),{version:"v2"})}async sendEventV1(e,o){let n=Object.entries(this.latestReceivedDeepdeskVersions).reduce((s,[r,i])=>({...s,[r]:i}),{});return this.client.post("/api/events",{event:e,data:K({...o,...n})})}async getEntities(e){return(await this.client.post("/api/entities",{messages:e.filter(n=>n.text)})).entities}async getSummary(e,o={}){return(await this.client.post("/api/summary",{conversation:{messages:e.filter(s=>s.text&&s.source),agent_id:o.agentId,id:o.externalConversationId},prompt_instruction:o.promptInstruction,model:o.model})).summary}async getTemporaryExchangeToken(){return(await this.client.get("/auth/exchange-token",{version:null})).jwt}async exchangeTokenForAccessCookie(e){return this.client.post("/apis/admin/session/jwt/",{jwt:e},{version:null}).catch(o=>{throw T.warn(`Invalid token '${e}'`),o})}async authenticateWithKey(e,o){await this.preflight(),await this.client.post("/apis/admin/session/api-key/",K(o),{version:null,refreshTokenOn401:!1,headers:{apikey:e}})}async getTextSuggestions(e,o={},n){return n==="sticky-messages"?this.getPinnedMessages(e):(await this.client.post(`/api/conversations/${e}/recommend/${n}`,K(o),{abortLatest:!0})).map(r=>({...L(r),text:r.text||r.url||r.message,source:n,type:n})).filter((r,i,a)=>i===a.findIndex(l=>l.text===r.text))}async isLoggedIn(){return await this.preflight(),this.client.validateToken()}async getAutocompleteSuggestions(e,o){return(await this.client.post(`/api/conversations/${e}/autocomplete`,K(o),{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))}async getPinnedMessages(e){let o=await this.client.get(`/api/conversations/${e}/sticky-messages`,{abortLatest:!0});return L(o).map(n=>({...n,text:n.message,source:"sticky-messages",type:"pinned-message"}))}async getStyleSuggestions(e){let o=await this.client.post("/api/style-suggestions",K(e),{abortLatest:!0});return L(o)}async search(e){let o=await this.client.post(`/api/profiles/${e.profile}/search`,K(e),{version:"v2"});return L(o)}async knowledgeAssist(e,o,n,s={}){let r=await this.client.post(`/api/knowledge-assist/assistants/${n}/search`,K({question:e.question,promptInstruction:e.promptInstruction,chatHistory:o.map(i=>({question:i.question,answer:i.answer.answer})),agentId:s.agentId,conversationId:s.conversationId}),{version:"v2"});return L(r)}async requestLoginByEmail(e){let o=await this.client.post("/apis/admin/session/passwordless/request/",{email:e},{version:null});return L(o)}async requestPasswordlessToken(){let e=await this.client.get("/apis/admin/session/passwordless/request/",{version:null});return L(e.token)}async getCsrfToken(){let{token:e}=await this.client.get("/apis/admin/session/csrf/",{version:null});return e}async verifyLoginToken(e){let o=await this.client.post("/apis/admin/session/passwordless/login/",{token:e},{version:null});return L(o)}async evaluateRule(e,o,n,s={}){let r=new URLSearchParams;s.raiseForFailingConditions&&r.set("raise_for_failing_conditions","true");let i=await this.client.post(`/api/conversations/${o}/rules/${e}/evaluate?${r.toString()}`,n,{version:"v2"});return L(i.cues)}async getRules(){let e=new URLSearchParams,o=await this.client.get(`/apis/admin/rule-engine/rules/?${e.toString()}`,{version:null,useCache:!0});return L(o)}async translateMessages(e){let o=await this.client.post("/api/translate",K(e),{version:"v2"});return L(o)}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(Wr);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&T.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};var uo=class{constructor(e,o){this.url=e;this.options={timeout:25e3,...o}}eventListeners={};options;timeoutTimer;eventSource;proxyEvent(e){this.eventSource.addEventListener(ss(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,L(s))}catch{T.warn(`Invalid JSON for ${e}: ${n}`)}})}connect(){clearTimeout(this.timeoutTimer);let e=new EventSource(this.url,{withCredentials:!0});this.eventSource=e;let o=!1;e.onopen=()=>{o=!0},e.onerror=()=>{o&&e.readyState===2&&this.connect()},this.timeoutTimer=setTimeout(()=>{e.close(),this.connect()},this.options.timeout),Object.keys(this.eventListeners).forEach(n=>{this.proxyEvent(n)})}disconnect(){var e;clearTimeout(this.timeoutTimer),this.eventListeners={},(e=this.eventSource)==null||e.close()}emit(e,o){this.eventListeners[e]&&this.eventListeners[e].forEach(n=>n(o))}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),this.proxyEvent(e),()=>{this.off(e,o)}}off(e,o){let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}};var Fv;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||={})})(Fv||={});var po=class{constructor(e,o={}){this.apiUrl=e;this.client=new fe(e,o)}client;streams={};logger=T;async getCustomMessages(e){let o=await this.client.get(`/sessions/${e}/suggestions`);return L(o.suggestions)}async sendCustomMessage(e,o){let n=await this.client.post(`/sessions/${e}/messages`,K(o));return L(n)}async answerCustomMessage(e,o){await this.client.post(`/sessions/${e}/answers`,K(o))}async getAutoflows(e){let o=await this.client.get(`/sessions/${e}/autoflows`);return L(o.autoflows)}async startAutoflowSession(e){let o=await this.client.post("/autoflow-sessions",K(e));return L(o)}async stopAutoflowSession(e){await this.client.delete(`/autoflow-sessions/${e}`)}openStream(e){return this.streams[e]||(this.streams[e]=new uo(`${this.apiUrl}/sessions/${e}/events`),this.streams[e].connect()),this.streams[e]}closeStream(e){this.streams[e]||(this.streams[e].disconnect(),delete this.streams[e])}};import{combineReducers as qv,configureStore as Gv}from"@reduxjs/toolkit";import{createSlice as Bv}from"@reduxjs/toolkit";var kd={startTime:null,stopTime:null},Rd=Bv({name:"handlingTime",initialState:kd,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(_,()=>kd)}}),{handlingTimeStart:Pd,handlingTimeStop:On,handlingTimeReset:Id}=Rd.actions,Ld=Rd.reducer;var Ad=(t={})=>{let e={onAuthError:lt(!1),...t};return o=>n=>s=>("error"in s&&s.error.message==="Unauthorized"&&o.dispatch(e.onAuthError),n(s))};import{createAsyncThunk as Kv,createSlice as Uv}from"@reduxjs/toolkit";var _n={list:{keywordMatches:[]},fetchState:"idle",isInitialRequest:null};var ot=Kv("styleSuggestions/getAll",async({text:t},e)=>{var i;let{deepdeskAPI:o}=e.extra,n=e.getState(),{showStyleSuggestions:s}=n.settings,r=(i=n.conversation.current)==null?void 0:i.profileCode;if(!s)return _n.list;if(!r)throw new Error("No current conversation to fetch pinned messages");return o.getStyleSuggestions({profileCode:r,message:t})}),zv=Uv({name:"styleSuggestions",initialState:_n,reducers:{},extraReducers:t=>{t.addCase(ot.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(ot.rejected,e=>{e.fetchState="error"}).addCase(ot.fulfilled,(e,o)=>{e.fetchState="done",Pe(e.list,o.payload)||(e.list=o.payload)}).addCase(ze,e=>{e.list=_n.list}).addCase(_,()=>_n)}}),Md=zv.reducer;var Nd=(t={})=>{let e,o=!0,n={getStyleSuggestions:ot,debounce:500,...t};return s=>r=>i=>{var p;let a=s.getState().input.text,l=r(i),c=s.getState();if(c.auth.isLoggedIn!==!0)return l;let{showStyleSuggestions:d}=c.settings;if(!((p=c.conversation.current)==null?void 0:p.id)||!d)return l;let{text:g}=c.input;return g===a&&!o||(clearTimeout(e),g==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:g}))},t.debounce)),l}};function Vv(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var Od=(t={})=>{let e={getTextSuggestions:le,getAutocompleteSuggestions:Yt,debounce:200,check:bt,...t},o;return n=>s=>r=>{var m;let{input:{userCommitted:i}}=n.getState(),a=s(r),l=n.getState();if(l.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:c,showTabCompletion:d}=l.settings,u=(m=l.conversation.current)==null?void 0:m.id,g=r.type===tn.toString();if(!u||!c&&!d)return a;let{input:{userCommitted:p}}=l;return Vv(p,i)&&!g||(clearTimeout(o),!e.check(l))||(o=setTimeout(()=>{let y=pt(l);y===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(y))},g?0:e.debounce)),a}};var _d=ot.fulfilled.toString();function $v(t,e){let o=new Set([...e.keywordMatches.map(s=>s.keyword)]),n=[];return o.forEach(s=>{let r=t.keywordMatches.filter(l=>l.keyword===s),i=e.keywordMatches.filter(l=>l.keyword===s),a=i.length-r.length;a<=0||n.push(...i.slice(0,a))}),n}var Dd=t=>e=>o=>n=>{var c;if(n.type!==_d){o(n);return}let s=e.getState().styleSuggestions.list;o(n);let r=e.getState(),i=r.styleSuggestions.list,a=(c=r.conversation)==null?void 0:c.current;if(s===i)return;let l=$v(s,i);n.type===_d&&l.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:l}})};var jv=qv({answer:Va,auth:ni,autoflows:mc,conversation:ai,contentTypes:ta,customMessages:wc,passwordlessToken:Pc,entities:Ra,knowledgeAssistant:Ka,handlingTime:Ld,info:ki,input:Ci,settings:Zr,profile:Xa,search:Ni,summary:Oa,styleSuggestions:Md,ui:bl,rules:Mc,textSuggestions:rl});function Hd(t){return Gv({reducer:jv,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),Ad(),Od({debounce:200}),Nd({debounce:500}),Dd(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var Wv=t=>{var e;return((e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())??"unknown"},Xv=t=>e=>o=>n=>{var a;let s=e.getState(),r=Jn("inlineSuggestions")(s);switch(n.type){case lt.toString():{!n.payload&&t.emit("logout",void 0);break}case ae.fulfilled.toString():n.payload.length>0&&t.sendEvent("entities found",{conversationId:s.conversation.current.id,data:{entities:n.payload}});break;case xe.fulfilled.toString():t.sendEvent("conversation summarized",{conversationId:s.conversation.current.id,data:{summary:n.payload.summary}});break;case G.toString():t.sendEvent(n.payload.name,{conversationId:((a=n.payload.options)==null?void 0:a.includeConversationData)&&s.conversation.current.id,data:n.payload.data});break;case Po.toString():t.handleKeyDown(n.payload);break;case ze.toString():t.logSendMessage(n.payload);break;case Io.toString():t.handleInputChanged(n.payload);break;case Ye.fulfilled.toString():n.isBroadcasted||t.broadcast(ls,n,!1),t.emit("cues",n.payload);break;default:break}let i=o(n);switch(n.type){case ze.toString():t.handleAfterSendMessage(n.payload);break;case eo.toString():t.onUpdateShowTabHint(n.payload);break;case On.toString():t.logHandlingTime();break;case pe.toString():{let{start:l,end:c}=s.input.selection;t.emit("select-suggestion",{type:Wv(n.payload.suggestion),...n.payload,replace:n.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0}),r&&(e.dispatch(ue([])),e.dispatch(Se()));break}case Ro.toString():{let{start:l,end:c}=s.input.selection;t.emit("replace",{...n.payload,replace:n.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0});break}case Ft.toString():{let l=e.getState(),{text:c,selection:d}=l.input.userCommitted;t.emit("reset",{text:c,selectionAfter:d},{mayApplyChanges:!0});break}case Lo.toString():t.emit("select-image",n.payload,{mayApplyChanges:!0}),t.sendEvent("Image attached",{conversationId:s.conversation.current.id,data:{path:n.payload.suggestion.image,title:n.payload.suggestion.title}});break;case ue.toString():{r&&n.payload.length>0&&e.dispatch(Le(0));break}default:break}return i},Fd=Xv;function Rr(t){return t.toISOString().replace("T"," ").replace("Z","")}function Bd(t,e){var s,r,i;let{startTime:o,stopTime:n}=t.handlingTime;if(!o||!n)throw new Error("No startTime and stopTime for handling time metrics");return{conversationId:t.conversation.current.id,clientVersion:e.version,agentId:(s=t.info.agentInfo)==null?void 0:s.agentId,agentName:(r=t.info.agentInfo)==null?void 0:r.agentName,agentEmail:(i=t.info.agentInfo)==null?void 0:i.agentEmail,timeStart:Rr(o),timeStop:Rr(n)}}function Kd(t,e,o){var N,U,F;let{text:n,metrics:{numCharsTyped:s,numCharsPasted:r,numCharsCut:i,numCharsDeleted:a,numPaste:l,agentStartedTypingTimestamp:c,externalTimeTotalSeconds:d,pastes:u,cuts:g,deletions:p,textSuggestions:f,offeredTextSuggestions:m}}=e[t],y=n.length,S=f.reduce((I,{text:O,searchTerm:P})=>I+O.length-(P?P.length:0),0),v=c??Date.now(),k=(Date.now()-v)/1e3+(d||0),x=s/k,w=f.reduce((I,{searchTerm:O})=>I+(O?O.length:0),0);return{conversationId:e.conversation.current.id,source:"agent",text:n,clientVersion:o.version,pastes:u,cuts:g,deletions:p,lenTextTyped:s+w,lenTextTotal:y,lenTextAssisted:S,lenTextPasted:r,lenTextCut:i,lenTextDeleted:a,timeTotalSeconds:k,charsPerSecond:x,numPastes:l,textSuggestionsV2:f,suggestionsCounters:[{source:"gpt",countOffered:m.filter(I=>I.source==="gpt").length}],agentId:(N=e.info.agentInfo)==null?void 0:N.agentId,agentName:(U=e.info.agentInfo)==null?void 0:U.agentName,agentEmail:(F=e.info.agentInfo)==null?void 0:F.agentEmail}}function Pr(t,e){var r;let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;if(n instanceof HTMLElement)return Pr(n,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?Pr(s,e):null}function Ud(t,e){return Pr(t,e)}function zd(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function Zv(t){return typeof t=="object"&&t!==null&&"tagName"in t}function Ir(t){return Zv(t)&&(De(t)||pn(t))}var Vd,he=new Map,Qv=["bottom","height","left","right","top","width"],Jv=(t={},e={})=>Qv.some(o=>t[o]!==e[o]);function $d(t){var o,n;if(t.ownerDocument===document)return[];let e=((n=(o=t.ownerDocument)==null?void 0:o.defaultView)==null?void 0:n.frameElement)??null;return e?[e,...$d(e)]:[]}function qd(t,e){return!t||!e?null:{...t,top:t.top+e.top,left:t.left+e.left}}var Dn=!1,Gd=()=>{Dn=!0;let t=[];if(he.forEach((e,o)=>{if(!o.isConnected){e.rect=null,t.push(e),he.delete(o);return}let n=o.getBoundingClientRect();Jv(n,e.rect)&&(e.rect=n,t.push(e))}),t.forEach(e=>{let o=e.parentRects?e.parentRects.reduce(qd,e.rect):e.rect;e.callbacks.forEach(n=>n(o))}),he.size===0){Dn=!1;return}Vd=window.requestAnimationFrame(Gd)};function Lr(t,e){let o=$d(t),n=[],s=o.map((r,i)=>Lr(r,a=>{n[i]=a;let l=he.get(t);if(!l)return;let c=n.reduce(qd,l.rect);l.callbacks.forEach(d=>d(c))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),he.has(t)){let i=he.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else he.set(t,{rect:void 0,callbacks:[e],parentRects:n});r&&!Dn&&Gd()},unobserve(){s.forEach(i=>i.unobserve());let r=he.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||he.delete(t),he.size||(cancelAnimationFrame(Vd),Dn=!1)}}}}var jd,ye=new Map,Wd=()=>{ye.forEach((t,e)=>{if(!e.isConnected){ye.delete(e);return}let{clientHeight:o,scrollHeight:n}=e,s=n>o;t.visible!==s&&(t.visible=s,t.callbacks.forEach(r=>r(t.visible)))}),ye.size!==0&&(jd=window.requestAnimationFrame(Wd))};function Xd(t,e){return{observe(){let o=ye.size===0;ye.has(t)?ye.get(t).callbacks.push(e):ye.set(t,{visible:void 0,callbacks:[e]}),o&&Wd()},unobserve(){let o=ye.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||ye.delete(t),ye.size||cancelAnimationFrame(jd)}}}}var Ar=["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 Mr(t,e,o){return o.forEach(n=>{e.style[n]=t[n]})}function Mt(t){return parseFloat(t)}function Hn(t){return Math.round(t*1e6)}function Zd(t){return t/1e6}function Nr(t,e,o){if(t.boxSizing==="content-box")return;let{clientWidth:n}=e,s=Mt(t.width),r=Mt(t.borderLeftWidth),i=Mt(t.borderRightWidth),a=Mt(t.paddingRight),l=Zd(Hn(s)-Hn(r)-Hn(i)),c=Zd(Hn(n));if(l-c>2){let d=l-c;o.style.paddingRight=`${a+d}px`}}function Fn(t,e={}){var d;let o=e.overlayContainer||document.createElement("div");o.style.display="none",o.style.position=e.position??"fixed",o.style.pointerEvents="none",o.style.borderColor="transparent",Ze(o);let n=window.getComputedStyle(t),s=!0,r=()=>{o.scrollTop=t.scrollTop};Mr(n,o,Ar),Nr(n,t,o),e.mirrorOverflow&&(o.style.overflow="hidden",t.addEventListener("scroll",r));let i=Xd(t,()=>{Mr(n,o,Ar),Nr(n,t,o),r(),setTimeout(r,0)}),a,l=!0,c=Lr(t,u=>{if(u===null){e.onRemove&&e.onRemove(),o.remove();return}if(!l&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),l=!0),clearTimeout(a),a=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),l=!1},200),u.height===0&&u.width===0){if(s===!0)return;e.onHide&&e.onHide(),o.style.display="none",s=!0;return}if(Mr(n,o,Ar),Nr(n,t,o),r(),o.style.top=`${u.top}px`,o.style.left=`${u.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let g=e.closestScrollElement.getBoundingClientRect(),p=window.getComputedStyle(e.closestScrollElement),f=Mt(p.borderTopWidth),m=Mt(p.borderBottomWidth),y=g.top+f-u.top,E=u.top+u.height+-(g.top+g.height-m);o.style.clipPath=`inset(${y}px 0px ${E}px 0px)`}s&&(o.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(o):(d=t.parentElement)==null||d.appendChild(o),c.observe(),i.observe(),[o,()=>{t.removeEventListener("scroll",r),c.unobserve(),i.unobserve()}]}var Qd=(t,e)=>({value(){try{let o=sessionStorage.getItem(`dd-${t}`);if(!o)return e;try{return JSON.parse(o)}catch{return e}}catch{return e}},update(o){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(o))}catch{T.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function Yv(t){return t.offsetParent!==null}function Jd(t){if(!Yv(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 Or(t,e,o=100){let n=Jd(t);e({isVisible:n});let s=setInterval(()=>{let r=Jd(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}import{jsx as z}from"react/jsx-runtime";var Yd=Qd("showTabHint",!0),Kn=class t{static version="11.1.1-beta.3";static count=0;deepdeskApi;inputMediator=null;version;broadcastEvents;eventListeners={};unmountHandlers=[];widgetRoot=null;dynamicThunkObject={};isMounted=!1;instanceId;shouldRender=!0;store;constructor({deepdeskUrl:e,brokerUrl:o,version:n=t.version||"unknown",locale:s="en-US",token:r,fetch:i,productName:a,createCustomChannel:l}){let c=e.replace(/\/api$/,"");this.deepdeskApi=new Be(c,{token:r,fetch:i}),this.version=n,this.instanceId=t.count++;let d={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[Fd({broadcast:(u,g,p)=>{this.broadcastEvents.send(u,g,p)},emit:(u,g,p)=>this.emit(u,g,p),handleAfterSendMessage:u=>this.handleAfterSendMessage(u),handleInputChanged:u=>this.handleInputChanged(u),handleKeyDown:u=>this.handleKeyDown(u),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:u=>this.logSendMessage(u),onUpdateShowTabHint:u=>Yd.update(u),sendEvent:(u,g)=>this.deepdeskApi.sendEvent(u,g)})]};o&&Object.assign(d,{deepdeskBrokerAPI:new po(o)}),this.store=Hd(d),this.broadcastEvents=new Ed({debug:!0,deepdeskUrl:c,eventMap:Oi(this.store),createCustomChannel:l}),this.store.dispatch(eo(Yd.value())),this.store.dispatch(So({locale:s,adminUrl:c,productName:a}))}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){return this.state.input.textSuggestions[this.state.input.selectedSuggestionIndex]??null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}sessionId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.sessionId}shouldAbort(){return this.state.conversation.isSupported===!1?(T.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(T.warn("Profile has not been loaded (yet)"),!0):(T.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(lt(null)),this.store.dispatch(ve()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();W(n)&&Qr(n)!=="loading"&&(o(),e())});this.unmountHandlers.push(()=>{o()})})}async isLoggedIn(){return(await this.store.dispatch(ve())).payload}async setPlatformAgentId(e){try{if((await this.deepdeskApi.client.get("/apis/admin/session/me/",{version:null})).external_id)return;await this.deepdeskApi.client.request("/apis/admin/session/me/",{method:"PATCH",body:JSON.stringify({external_id:e}),version:null})}catch(o){T.warn("Failed to attach user:",o)}}async isConversationSupported(e,o){return(await this.store.dispatch(ts({sessionId:e,options:o}))).payload}async createConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Co(e))).payload}async getConversationBySessionId(e,o){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(await this.store.dispatch(wo({sessionId:e,options:o}))).payload}async upsertConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(os(e))).payload}async postMessages(e){return(await this.store.dispatch(Eo(e))).payload}async updateConversation(e){return(await this.store.dispatch(To(e))).payload}resetConversation(){this.store.dispatch(_()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}async getSummary(){let e=await this.store.dispatch(xe());if(e.error)throw new Error(e.error.message);return e.payload.summary}configure(e){this.store.dispatch(So(e))}setVisitorInfo(e){this.store.dispatch(Ei(e))}async setAgentInfo(e){await this.store.dispatch(Bt(e))}async setAgentSettings(e){await this.store.dispatch(is(e))}async getAgentSettings(){return(await this.store.dispatch(as())).payload}async refresh(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.handleInputChanged(this.inputMediator.getText());let e=[];return this.store.dispatch(tn()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})}notifyInputChanged(e){this.store.dispatch(Io(e))}notifyKeyDown(e){this.store.dispatch(Po(e))}notifyPaste(e,o){this.store.dispatch(vi({text:e,selectionText:o}))}notifyCut(e){this.store.dispatch(hi(e))}notifyExternalSuggestion(e){this.store.dispatch(pe(e)),this.store.dispatch(Se())}async evaluateRule(e,o={}){let{payload:n,error:s}=await this.store.dispatch(Ye({label:e,params:o}));if(s)throw new Error(s.message);return n}handleInputChanged(e){let{overlayCollapsed:o,openOverlayWhenTyping:n}=this.state.ui;o&&n&&this.store.dispatch(_e({collapse:!1})),this.inputMediator&&this.store.dispatch(ui({text:e,html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),!this.shouldAbort()&&(this.isMounted||this.store.dispatch(ue([])))}handleKeyDown(e){let{overlayCollapsed:o}=this.state.ui,{textSuggestions:n,selectedSuggestionIndex:s,selection:r}=this.state.input,{inlineSuggestions:i}=this.state.settings,a=n.length>0,l=s!==-1;if(this.store.dispatch(yi(li(e))),e.key!=="Tab"&&!this.settings.showTextSuggestions)return;let c=()=>{o||!a||r&&(e.shiftKey||(this.store.dispatch(gi()),i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault()))},d=()=>{o||!a||i&&s<=0||r&&(e.shiftKey||(this.store.dispatch(fi()),e.preventDefault(),!i&&(this.state.input.selectedSuggestionIndex===-1?this.store.dispatch(Ft()):this.stageSelectedSuggestion({inputType:"arrow"}))))};switch(e.key){case"Up":case"ArrowUp":i?d():c();return;case"Down":case"ArrowDown":{i?c():d();return}case"Esc":case"Escape":{i&&l&&this.store.dispatch(Le(-1)),this.state.input.selectedSuggestionIndex!==-1?(this.store.dispatch(Le(-1)),this.store.dispatch(Ft()),e.preventDefault()):o||(this.store.dispatch(_e({collapse:!0})),this.store.dispatch(Sl(!0)),e.preventDefault());return}case"Tab":{let{userCommitted:u}=this.state.input,g=u.text.substring(0,u.selection.end),{tabCompletionSuggestion:p}=this.state.input;this.store.dispatch(eo(!1)),this.state.input.selectedSuggestionIndex>-1?this.stageSelectedSuggestion({inputType:"tab"}):!i&&this.settings.showTabCompletion&&p&&p.text.startsWith(g)&&(this.store.dispatch(pe({text:p.text,suggestion:p,eventMetrics:{inputType:"tab"},replace:"until-selection-end"})),this.store.dispatch(Se())),e.preventDefault();break}default:}}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(Si()),this.store.dispatch(ue([]))}handlingTimeStart(){this.state.handlingTime.startTime||(T.info("Start handling time"),this.store.dispatch(Pd()))}handlingTimeStop(){this.state.handlingTime.startTime&&(T.info("Stop handling time"),this.store.dispatch(On()))}logSendMessage(e){let o=Kd("input",this.state,{version:this.version});e&&(Object.assign(o,{text:e}),Object.assign(o,{lenTextTotal:e.length})),this.deepdeskApi.sendEventV1("Send Message",o),this.emit("send-message-event",o)}logHandlingTime(){let e=Bd(this.state,{version:this.version});this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(Id())}notifySubmit(e={}){this.shouldAbort()||(this.store.dispatch(Se()),this.store.dispatch(ze(e.text??this.state.input.text)))}stageSelectedSuggestion(e){let o=this.state.input.selectedSuggestionIndex,{textSuggestions:n}=this.state.input;this.store.dispatch(pe({text:n[o].text,suggestion:n[o],eventMetrics:e,replace:"until-selection-end"}))}emit(e,o,n={}){let s=()=>{this.eventListeners[e]&&this.eventListeners[e].forEach(r=>{try{r(o)}catch(i){T.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),T.error(i)}})};this.inputMediator&&n.mayApplyChanges?this.inputMediator.applyChanges(s):s()}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),()=>{this.off(e,o)}}off(e,o){if(!e&&!o){this.eventListeners={};return}let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}whenConversationLoaded(e){let o=()=>this.loadProfileConfig().then(()=>e());this.hasConversation()&&o();let n=this.hasConversation();this.store.subscribe(()=>{this.hasConversation()!==n&&(n=this.hasConversation(),n&&o())})}overlayContainerFactory(e,o,n,s){let[r,i]=Fn(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{Bn(r),i(),r.remove()}),r}createInlineContainer(e,o){var i;let n=document.createElement("div");n.style.position="absolute",n.style.top="0px",n.style.left="0px",n.style.height="0px",n.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",n.appendChild(s);let r=(i=e.ownerDocument.defaultView)==null?void 0:i.frameElement;if(r){let[a,l]=Fn(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});a.dataset.testid=o,a.style.zIndex="2",a.appendChild(n),this.unmountHandlers.push(()=>{Bn(s),l()})}else document.body.appendChild(n);return s}createContainer(e,o=document.body){let n=window.getComputedStyle(o),s=document.createElement("div");return Ze(s),s.dataset.testid=e,s.style.color=n.color,s.style.fontSize=n.fontSize,s.style.fontFamily=n.fontFamily,s.style.fontVariant=n.fontVariant,s.setAttribute("translate","no"),o.appendChild(s),this.unmountHandlers.push(()=>{Bn(s),s.remove()}),s}storeMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=JSON.stringify({text:this.state.input.text,metrics:this.state.input.metrics});window.sessionStorage.setItem(e,o),T.info(`Stored analytics for ${this.conversationId()}`)}catch{}}restoreMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=window.sessionStorage.getItem(e);if(!o)return;let n=JSON.parse(o);n.text.trim()===this.state.input.text.trim()?(T.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(bi(n.metrics))):T.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch{}}mount(e,o={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!Ir(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let{customStyles:n={},showStyleSuggestions:s,showTabCompletion:r,showTextSuggestions:i,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:d,isEmbedded:u,detectSubmit:g,insertLink:p,inputMediator:f,closestScrollSelector:m,appendOverlayTo:y,inlineSuggestions:E,floatingMenu:S}=o;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:d,showTextSuggestions:i,insertLink:p,isEmbedded:u,inlineSuggestions:E,floatingMenu:!!S}),o.automaticHandlingTime&&this.setupHandlingTime(e),Ze(e),this.inputMediator=f||(De(e)?new It(e):new Pt(e)),this.inputMediator.on("change",({plainText:x})=>{this.notifyInputChanged(x)}),this.inputMediator.on("updated",()=>{this.inputMediator&&this.store.dispatch(xi({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()}))}),this.inputMediator.on("keydown",x=>{this.notifyKeyDown(x)}),this.inputMediator.on("paste",({pastedText:x,selectionText:w})=>{this.notifyPaste(x,w)}),this.inputMediator.on("cut",({selectionText:x})=>{this.notifyCut(x)});let v=m&&Ud(e,m)||void 0;if(E){let{customStyles:x,appendOverlayTo:w}=o;if(De(e))throw new Error("[Deepdesk] Inline suggestion is not supported for textarea yet.");let N=this.createInlineContainer(e,"deepdesk-caret");Nt(z(Qe,{store:this.store,customStyles:x,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(Rl,{})})}),N),this.inputMediator.on("caret",F=>{this.store.dispatch(ue([])),F?(N.style.display="block",N.style.top=`${F.top}px`,N.style.left=`${F.left}px`):N.style.display="none"});let U=this.overlayContainerFactory("floating-menu",v||e,{appendTo:typeof S=="object"&&"appendOverlayTo"in S?S.appendOverlayTo:w},x==null?void 0:x.floatingMenuRootNode);Nt(z(Qe,{store:this.store,customStyles:x,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(yl,{onLogIn:()=>this.loginViaPopup().catch(F=>T.warn(F.message))})})}),U)}else{let x=this.overlayContainerFactory("deepdesk-tab-completion",v||e,{appendTo:y,closestScrollElement:v,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),w=this.overlayContainerFactory("deepdesk-suggestions-overlay",v||e,{appendTo:y},n==null?void 0:n.suggestionsRootNode);Nt(z(Qe,{store:this.store,customStyles:n,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(lc,{inputElement:e})})}),x),Nt(z(Qe,{store:this.store,customStyles:n,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(Hl,{onLogIn:()=>this.loginViaPopup().catch(N=>T.warn(N.message))})})}),w)}Nt(z(Qe,{store:this.store,customStyles:n,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(ul,{})})}),this.createContainer("deepdesk-overlays"));let k;this.inputMediator.on("selection",x=>{clearTimeout(k),x===null?k=setTimeout(()=>{x!==null&&this.store.dispatch(ns(x))},500):this.store.dispatch(ns(x))}),this.inputMediator.on("disabled",()=>{var x;(x=this.inputMediator)==null||x.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{g&&this.notifySubmit()}),this.inputMediator.on("blur",()=>this.store.dispatch(Ws(!1))),this.inputMediator.on("focus",()=>this.store.dispatch(Ws(!0))),this.store.dispatch(pi({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),this.unmountHandlers.push(()=>{this.state.input.text!==""&&(this.store.dispatch(Se()),this.storeMetrics())}),this.whenConversationLoaded(()=>{var x;this.restoreMetrics(),this.refresh(),this.broadcastEvents.setSessionId((x=this.state.conversation.current)==null?void 0:x.sessionId)}),this.isMounted=!0}unmount(){var e;this.unmountHandlers.forEach(o=>o()),this.unmountHandlers=[],(e=this.inputMediator)==null||e.dispose(),this.broadcastEvents.cleanup(),this.isMounted=!1}renderWidget(e,o={}){if(this.widgetRoot&&T.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:n,showImages:s,isEmbedded:r}=o;this.widgetRoot=e,this.configure({showImages:s,isEmbedded:r}),Nt(z(Qe,{store:this.store,customStyles:n,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(xd,{onLogIn:()=>this.loginViaPopup().catch(i=>T.warn(i.message))})})}),e),this.whenConversationLoaded(()=>{var i;this.broadcastEvents.setSessionId((i=this.state.conversation.current)==null?void 0:i.sessionId)})}unmountWidget(){this.widgetRoot&&Bn(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=Or(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){zd(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfigPromise=null;loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(async()=>{await this.store.dispatch(Jt());let e=Oe(this.state);e&&(await this.store.dispatch(Qt()),this.store.dispatch(So({showSearch:e.search,showAutoflows:e.autoflows,showCustomMessages:e.customMessages,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:e.summarizer,showKnowledgeSearch:!!e.knowledgeAssistant,recommendTextSuggestions:e.recommendTextSuggestions})))}),this.loadProfileConfigPromise)}async loginViaPopup(e){return new Promise((o,n)=>{let s=new MessageChannel,r=s.port1,i=this.state.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 l=!1,c=()=>{d&&!d.closed&&d.close(),window.removeEventListener("message",u),clearInterval(g)};r.onmessage=async p=>{var f,m;if((f=p.data)!=null&&f.jwt)try{await this.deepdeskApi.exchangeTokenForAccessCookie((m=p.data)==null?void 0:m.jwt),await this.isLoggedIn(),this.broadcastEvents.send(Ut),l=!0,s.port1.close(),o()}catch(y){console.error(y),n(y)}finally{l=!0,c()}};let d=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");d===null&&n(new Error("Popup blocked by browser"));let u=async p=>{var f;if(p.origin===a.origin)switch((f=p.data)==null?void 0:f.type){case"deepdesk-popup-loaded":{try{let m=JSON.stringify({type:"deepdesk-popup-create-channel"});d==null||d.postMessage(m,a.origin,[s.port2])}catch(m){T.error("Error posting message to popup",m),n(m)}break}case"deepdesk-popup-error":{c(),p.data.message==="Timeout"&&T.warn("Popup timed out. Check if the account's platform url is configured correctly."),n(new Error(p.data.message));break}}};window.addEventListener("message",u);let g=setInterval(()=>{d&&!d.closed||(c(),l||n(new Error("Popup closed by user")))},200);this.unmountHandlers.push(c)})}translateMessages(e){return this.deepdeskApi.translateMessages(e)}async checkForTrialMode(e){try{let{account:o}=await this.deepdeskApi.getPlatformConfig();if(!o.isTrial){this.shouldRender=!0;return}if(T.info("Trial is active"),!await this.deepdeskApi.checkUserExists(e))throw new Error("User is not in trial");this.shouldRender=!0}catch(o){let{message:n}=o;T.info(n),this.shouldRender=!1}}async refreshWidgetSuggestions(){if(!this.widgetRoot||this.shouldAbort())return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let o=Yo(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(ae()):this.store.dispatch(le(n))})}catch(n){this.handleError(n)}}};async function eS(t,e,o={}){let{value:n}=t,{start:s,end:r}=o.replace??{start:0,end:n.length},i=`${n.slice(0,s)}${e}${n.slice(r)}`,a=o.selectionAfter??{start:s+e.length,end:s+e.length},l=()=>{if(o.setValue)return o.setValue(i);t.value=i};return Promise.resolve(l()).then(()=>{t.selectionStart=a.start,t.selectionEnd=a.end,t.blur(),t.focus()})}async function tS(t,e,o={}){let n=o.replace?tt(t,o.replace.start,o.replace.end):co(t),s,r=()=>{if(o.setRange)return o.setRange(n.cloneRange());n.deleteContents(),s=document.createElement("span"),n.insertNode(s),o.insertBRs!==!1?e.split(`
9
+ `);break}default:break}u&&i++}return l(t),a}var Cd=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(Cd||{}),Fe=class{constructor(e){this.element=e;this.currentText=this.getText(),this.currentHTML=this.getHTML(),this.listen()}eventListeners={};disposeHandlers=[];currentText="";currentCaret=null;currentSelection={start:0,end:0};currentHTML="";isFocused=!1;isActive=!0;isSettingValue=!1;isSubmitting=!1;isPossibleClearInputAction=!1;isDisposed=!1;addEventListener(e,o){let n=s=>{o(s)};this.element.addEventListener(e,n),this.disposeHandlers.push(()=>{this.element.removeEventListener(e,n)})}removeEventListener(e,o){this.element.removeEventListener(e,o)}triggerChange(){let e=this.getText(),o=this.getHTML(),n=e!==this.currentText;this.isActive&&(e===""&&this.currentText!==""&&!this.isSettingValue&&!this.isPossibleClearInputAction&&(this.isSubmitting=!0,this.emit("submit")),!this.isSettingValue&&n&&!this.isSubmitting&&this.emit("change",{plainText:e}),n&&(this.currentSelection=this.getSelection()),this.currentText=e,this.isSubmitting=!1,(this.currentHTML!==o||o===null&&n)&&(this.emit("updated",{plainText:e}),this.triggerCaretPosition(),this.currentHTML=o))}triggerSelection(){let e=this.getSelection();(e.start!==this.currentSelection.start||e.end!==this.currentSelection.end)&&(this.currentSelection=e,this.emit("selection",e),this.triggerCaretPosition())}triggerCaretPosition(){let e=this.getCaretPosition();Pe(e,this.currentCaret)||(this.currentCaret=e,this.emit("caret",e))}handleKeyUp(e){let{key:o,shiftKey:n}=e;(o==="Enter"&&n===!0||o==="Backspace")&&this.triggerChange(),this.triggerSelection()}handleClick(){this.triggerSelection()}handleFocus(){this.isFocused||this.emit("focus"),this.triggerSelection(),this.isFocused=!0}handleBlur(){this.isPossibleClearInputAction=!1,this.isFocused&&this.emit("blur"),this.isFocused=!1}handleKeyDown(e){let{key:o,ctrlKey:n,metaKey:s}=e;this.isPossibleClearInputAction=Object.values(Cd).includes(o)||o.toLowerCase()==="z"&&(n||s),this.emit("keydown",e)}handleCut(){this.isPossibleClearInputAction=!0,this.emit("cut",{selectionText:this.getSelectedText()})}handlePaste(e){var n,s;let o=((n=e.clipboardData)==null?void 0:n.getData("text"))||((s=e.clipboardData)==null?void 0:s.getData("text/plain"))||"";this.emit("paste",{pastedText:o,selectionText:this.getSelectedText()})}listen(){this.addEventListener("keydown",o=>this.handleKeyDown(o)),this.addEventListener("keyup",o=>this.handleKeyUp(o)),this.addEventListener("input",()=>this.triggerChange()),this.addEventListener("change",()=>this.triggerChange()),this.addEventListener("focus",()=>this.handleFocus()),this.addEventListener("blur",()=>this.handleBlur()),this.addEventListener("cut",()=>this.handleCut()),this.addEventListener("paste",o=>this.handlePaste(o)),this.addEventListener("click",()=>this.triggerSelection()),document.activeElement===this.element&&setTimeout(()=>{this.handleFocus()},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()}),this.currentSelection=this.getSelection()}focus(){this.element.focus()}emit(e,...o){this.isDisposed||this.eventListeners[e]&&this.eventListeners[e].forEach(n=>{n(...o)})}on(e,o){this.isDisposed||(this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o))}activate(){let e=this.isActive===!1;this.isActive=!0,e&&this.triggerChange()}deactivate(){this.isActive=!1}dispose(){this.disposeHandlers.forEach(e=>e()),this.eventListeners={},this.isDisposed=!0}};function wd(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var Pt=class extends Fe{observer;lastKnownSelection=null;getRootNode(){return this.element.getRootNode()}getText(){let e=new Range;return e.selectNodeContents(this.element),Mn(this.element,e)}getHTML(){return this.element.innerHTML||""}getRange(){var r;let e=this.getRootNode();if(e.activeElement!==this.element)return null;let o="getSelection"in e?e.getSelection():window.getSelection();if(!o)return null;let n="getComposedRanges"in o&&e instanceof ShadowRoot?(r=o.getComposedRanges(e))==null?void 0:r[0]:o.rangeCount>0?o.getRangeAt(0):null;if(!n)return null;let s=this.element.ownerDocument.createRange();return s.setStart(n==null?void 0:n.startContainer,n==null?void 0:n.startOffset),s.setEnd(n==null?void 0:n.endContainer,n==null?void 0:n.endOffset),!s||!this.element.contains(s.startContainer)||!this.element.contains(s.endContainer)?null:s}getCaretPosition(){let e=this.getRange();if(!e||!e.collapsed||!("getBoundingClientRect"in e))return null;let o=e.getBoundingClientRect();return!wd(o)&&(e.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=e.getBoundingClientRect(),e.deleteContents(),!wd(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let e=this.getRange();if(e)return An(this.element,e);let o=this.lastKnownSelection;if(o&&bd(this.element,o.start,o.end))return o;let n=co(this.element);return n.collapse(!1),An(this.element,n)}getSelectedText(){let{start:e,end:o}=this.getSelection();return Mn(this.element,tt(this.element,e,o))}applyChanges(e){var s;if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);return(s=this.observer)==null||s.takeRecords(),Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(){super.listen(),this.observer=new MutationObserver(()=>{setTimeout(()=>{this.triggerChange()},0)}),this.observer.observe(this.element,{attributes:!0,characterData:!0,childList:!0,subtree:!0});let e=this.element.isContentEditable,o=new MutationObserver(()=>{this.element.isContentEditable!==e&&(e=this.element.isContentEditable,this.emit(this.element.isContentEditable?"enabled":"disabled"))});o.observe(this.element,{attributes:!0,attributeFilter:["contenteditable"]}),this.disposeHandlers.push(()=>o.disconnect())}dispose(){super.dispose(),this.observer&&this.observer.disconnect()}};var It=class extends Fe{lastKnownSelection=null;getText(){return this.element.value}getHTML(){return null}getSelection(){let{selectionStart:e,selectionEnd:o}=this.element;return{start:e,end:o}}getSelectedText(){let e=this.getSelection();return e?this.getText().slice(e.start,e.end):""}getCaretPosition(){return null}applyChanges(e){if(!this.isActive)return;this.isSettingValue=!0;let o=this.getText(),n=e(this.element);return Promise.resolve(n).then(()=>{this.currentText=this.getText(),o!==this.currentText&&this.triggerChange(),this.isSettingValue=!1})}listen(){super.listen();let e=Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype,"value");Object.defineProperty(this.element,"value",{configurable:!0,get:()=>{var s;return(s=e==null?void 0:e.get)==null?void 0:s.call(this.element)},set:s=>{var r;(r=e==null?void 0:e.set)==null||r.call(this.element,s),this.triggerChange()}});let o=this.element.disabled,n=new MutationObserver(()=>{this.element.disabled!==o&&(o=this.element.disabled,this.emit(o?"disabled":"enabled"))});n.observe(this.element,{attributes:!0,attributeFilter:["disabled"]}),this.disposeHandlers.push(()=>n.disconnect())}};function Td(t,e,o){let n=`deepdesk-iframe-${t}`,s=document.getElementById(n);if(s)return s;let r=document.createElement("iframe"),i=new URL(e);return Object.entries(o).forEach(([a,l])=>{i.searchParams.append(a,l)}),r.style.position="absolute",r.style.left="-999em",r.style.width="0px",r.style.height="0px",r.tabIndex=-1,r.id=n,r.title=`iframe-${t}`,r.src=i.toString(),window.document.body.appendChild(r),r}function Dv(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch{return t}}var br=class{constructor(e){this.name=e;this.broadcastChannel=new BroadcastChannel(e)}broadcastChannel;disposeHandlers=[];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()}},Cr=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.iframe=Td(e,`${this.targetOrigin}/sdk/proxy/proxy.html`,{channel:this.name,host:window.location.origin,debug:"1"}),document.body.appendChild(this.iframe)}iframe;disposeHandlers=[];onMessage(e){window.addEventListener("message",e),this.disposeHandlers.push(()=>{window.removeEventListener("message",e)})}postMessage(e){var o;(o=this.iframe.contentWindow)==null||o.postMessage(JSON.stringify(e),this.targetOrigin)}close(){var e;this.disposeHandlers.forEach(o=>o()),(e=this.iframe)==null||e.remove()}},wr=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,this.sessionId="deepdesk-general",this.defaultChannel=this.createChannel("deepdesk-general")}sessionId;deepdeskUrl;channel;defaultChannel;eventMap;get isCrossOrigin(){return this.params.deepdeskUrl!==(this.params.origin||window.location.origin)}setSessionId(e){this.sessionId!==e&&(this.cleanup(),T.info("Set sessionId",e),this.sessionId=e,this.channel=this.createChannel(e))}createChannel(e){let o=this.params.createCustomChannel?this.params.createCustomChannel(e):this.isCrossOrigin?new Cr(e,this.deepdeskUrl,{debug:!0}):new br(e),n=s=>{var i,a;if(s.origin!==this.deepdeskUrl)return;let r=Dv(s.data);typeof r!="object"||r.type!=="event"||r.channel!==e||(T.info("Received broadcast event",this.sessionId,s),(a=(i=this.eventMap)[r.name])==null||a.call(i,r.payload))};return o.onMessage(n),o}send(e,o,n){var i,a;T.info("Broadcast event",{sessionId:this.sessionId,name:e,payload:o});let s={type:"event",name:e,payload:o};n!==!1&&((a=(i=this.eventMap)[e])==null||a.call(i,o));let r=this.sessionId==="deepdesk-general"?this.defaultChannel:this.channel;r==null||r.postMessage({...s,channel:this.sessionId})}cleanup(e=!1){var o,n;(o=this.channel)==null||o.close(),delete this.channel,e&&((n=this.defaultChannel)==null||n.close(),delete this.defaultChannel)}},Ed=wr;var Lt=class extends Error{constructor(o,n){super(o);this.body=n}name="CustomError"};var Tr=t=>new Promise(e=>{setTimeout(e,t)});var At=class extends Lt{name="ClientError"},kr=class extends Lt{name="ServerError"},Er=new Map,fe=class t{constructor(e="",o={}){this.baseUrl=e;this.options=o;o.fetch&&(this.fetch=o.fetch)}latestRequestByUrl={};csrfToken;fetch=window.fetch.bind(window);static refreshingToken=null;patchFetch(e){this.fetch=e(this.fetch)}setCsrfToken(e){this.csrfToken=e}request(e,o={}){return new Promise((n,s)=>{let r={isAborted:!1,reject:s},i=`${this.baseUrl}${e}`,a=this.fetch,l=o.method===void 0||o.method.toLowerCase()==="get",{useCache:c=!1,abortLatest:d=!1,attempts:u=1,retryDelay:g=500,refreshTokenOn401:p=!0,retryOnError:f=w=>w instanceof TypeError,retryOnResponse:m=w=>w.status>=500,version:y="v1",...E}=o;if(c)if(l){if(Er.has(i)){n(Er.get(i));return}}else throw new Error(`Can't use 'useCache' for ${o.method}`);let S={credentials:"include",...E,headers:{"Content-Type":"application/json",...E.headers}};!l&&this.csrfToken&&(S.headers={...S.headers,"X-CSRFToken":this.csrfToken}),typeof y=="string"&&(S.headers={...S.headers,"X-Deepdesk-API-Version":y});let v=u,k=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&d&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let x=async()=>(v--,a(i,S).then(async w=>m(w)&&!r.isAborted&&v>0?(await Tr(g),x()):w.status===401&&p===!0&&k===!1?(k=!0,await this.refreshToken(),x()):w).catch(async w=>{if(f(w)&&!r.isAborted&&v>0)return await Tr(g),x();throw w}));x().then(w=>w.json().catch(()=>null).then(N=>{w.status>=500?s(new kr("Server Error",N)):w.status===401?s(new At("Unauthorized",N)):w.status===403?s(new At("Forbidden",N)):w.status===404?s(new At("Not Found",N)):w.status>=400&&s(new At("Bad Request",N)),delete this.latestRequestByUrl[i],c&&Er.set(i,N),n(N)})).catch(w=>{s(w)})})}async validateToken(){let{has_valid_access_token:e}=await this.get("/auth/validate");if(!e)return!1;let{is_logged_in:o}=await this.get("/apis/admin/session/validate/",{version:null});return!!o}refreshToken(){return t.refreshingToken||(t.refreshingToken=this.get("/auth/refresh",{refreshTokenOn401:!1}).finally(()=>{setTimeout(()=>{t.refreshingToken=null},1e3*60)})),t.refreshingToken}get(e,o){return this.request(e,o)}post(e,o,n){return this.request(e,{method:"POST",body:JSON.stringify(o),...n})}patch(e,o,n){return this.request(e,{method:"PATCH",body:JSON.stringify(o),...n})}put(e,o,n){return this.request(e,{method:"PUT",body:JSON.stringify(o),...n})}delete(e,o){return this.request(e,{method:"DELETE",...o})}};var Hv;(e=>{let t;(l=>(l.SEND_MESSAGE="Send Message",l.HANDLING_TIME="Handling Time",l.START_AUTOFLOW="Start Autoflow",l.ABORT_AUTOFLOW="Abort Autoflow",l.ADD_TO_PERSONAL_COLLECTION="Add to personal collection",l.DELETE_FROM_PERSONAL_COLLECTION="Delete from personal collection"))(t=e.EventType||={})})(Hv||={});function Nn(t){return{...L(t),tags:t.tags}}var Be=class t{constructor(e,o={}){this.options=o;this.client=new fe(e,{fetch:o.fetch}),this.client.patchFetch(n=>async(s,r)=>{let i=await n(s,r);return this.handleDeepdeskVersionHeaders(i),i})}latestReceivedDeepdeskVersions={};client;shouldFetchCsrfToken=!0;static exchangeTokenPromise=null;async preflight(){if(this.shouldFetchCsrfToken){this.shouldFetchCsrfToken=!1;let e=await this.getCsrfToken();this.client.setCsrfToken(e)}return this.options.token?(t.exchangeTokenPromise||(t.exchangeTokenPromise=this.exchangeTokenForAccessCookie(this.options.token)),t.exchangeTokenPromise):Promise.resolve()}async createConversation(e){await this.preflight(),T.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=await this.client.post("/api/conversations",{...K(e),tags:e.tags},{version:"v2"});return Nn(o)}async getProfile(e){let o=await this.client.get(`/apis/admin/profiles/${e}/`,{version:null,useCache:!0});return L(o)}async getKnowledgeAssistant(e){let o=await this.client.get(`/apis/admin/knowledge-assist/assistants/${e}/`,{version:null,useCache:!0});return L(o)}async getContentTypes(){let e=await this.client.get("/apis/admin/content-types/",{version:null,useCache:!0});return L(e)}async getAccount(){let e=await this.client.get("/apis/admin/account/",{version:null,useCache:!0});return L(e)}async getPlatformConfig(){let{config:e}=await this.client.get("/platform/config/",{version:null,useCache:!0});return L(e)}async checkUserExists(e){let{exists:o}=await this.client.get(`/apis/admin/users/exists?external_id=${e}`);return o}async getConversationBySessionId(e,o={}){await this.preflight(),T.info(`Getting conversation for session ${e}`);let{attempts:n=1,retryDelay:s=1e3}=o,r=await this.client.get(`/api/conversations/by_session_id/${e}`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"});return T.info(`Successfully retrieved conversation ${r.id} for session ${e}`),Nn(r)}async isConversationSupported(e,o={}){T.info(`Check if conversation for session ${e} is supported`);let{attempts:n=1,retryDelay:s=1e3}=o;return(await this.client.get(`/api/conversations/by_session_id/${e}/active_profile`,{attempts:n,retryDelay:s,retryOnResponse:i=>i.status===404||i.status>=500,version:"v2"})).has_active_profile}async updateConversation(e,o){let n=K(o);o.tags&&(n.tags=o.tags);let s=await this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return Nn(s)}async postMessages(e,o){return(await this.client.post(`/api/conversations/${e}/messages`,o.map(s=>({...K(s),tags:s.tags})),{version:"v2"})).map(s=>Nn(s))}async sendEvent(e,o){let{data:n,...s}=o,r=Object.entries(this.latestReceivedDeepdeskVersions).reduce((i,[a,l])=>({...i,[a]:l}),{});return this.client.post("/api/events",K({...r,...s,data:n,name:e}),{version:"v2"})}async sendEventV1(e,o){let n=Object.entries(this.latestReceivedDeepdeskVersions).reduce((s,[r,i])=>({...s,[r]:i}),{});return this.client.post("/api/events",{event:e,data:K({...o,...n})})}async getEntities(e){return(await this.client.post("/api/entities",{messages:e.filter(n=>n.text)})).entities}async getSummary(e,o={}){return(await this.client.post("/api/summary",{conversation:{messages:e.filter(s=>s.text&&s.source),agent_id:o.agentId,id:o.externalConversationId},prompt_instruction:o.promptInstruction,model:o.model})).summary}async getTemporaryExchangeToken(){return(await this.client.get("/auth/exchange-token",{version:null})).jwt}async exchangeTokenForAccessCookie(e){return this.client.post("/apis/admin/session/jwt/",{jwt:e},{version:null}).catch(o=>{throw T.warn(`Invalid token '${e}'`),o})}async authenticateWithKey(e,o){await this.preflight(),await this.client.post("/apis/admin/session/api-key/",K(o),{version:null,refreshTokenOn401:!1,headers:{apikey:e}})}async getTextSuggestions(e,o={},n){return n==="sticky-messages"?this.getPinnedMessages(e):(await this.client.post(`/api/conversations/${e}/recommend/${n}`,K(o),{abortLatest:!0})).map(r=>({...L(r),text:r.text||r.url||r.message,source:n,type:n})).filter((r,i,a)=>i===a.findIndex(l=>l.text===r.text))}async isLoggedIn(){return await this.preflight(),this.client.validateToken()}async getAutocompleteSuggestions(e,o){return(await this.client.post(`/api/conversations/${e}/autocomplete`,K(o),{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))}async getPinnedMessages(e){let o=await this.client.get(`/api/conversations/${e}/sticky-messages`,{abortLatest:!0});return L(o).map(n=>({...n,text:n.message,source:"sticky-messages",type:"pinned-message"}))}async getStyleSuggestions(e){let o=await this.client.post("/api/style-suggestions",K(e),{abortLatest:!0});return L(o)}async search(e){let o=await this.client.post(`/api/profiles/${e.profile}/search`,K(e),{version:"v2"});return L(o)}async knowledgeAssist(e,o,n,s={}){let r=await this.client.post(`/api/knowledge-assist/assistants/${n}/search`,K({question:e.question,promptInstruction:e.promptInstruction,chatHistory:o.map(i=>({question:i.question,answer:i.answer.answer})),agentId:s.agentId,conversationId:s.conversationId}),{version:"v2"});return L(r)}async requestLoginByEmail(e){let o=await this.client.post("/apis/admin/session/passwordless/request/",{email:e},{version:null});return L(o)}async requestPasswordlessToken(){let e=await this.client.get("/apis/admin/session/passwordless/request/",{version:null});return L(e.token)}async getCsrfToken(){let{token:e}=await this.client.get("/apis/admin/session/csrf/",{version:null});return e}async verifyLoginToken(e){let o=await this.client.post("/apis/admin/session/passwordless/login/",{token:e},{version:null});return L(o)}async evaluateRule(e,o,n,s={}){let r=new URLSearchParams;s.raiseForFailingConditions&&r.set("raise_for_failing_conditions","true");let i=await this.client.post(`/api/conversations/${o}/rules/${e}/evaluate?${r.toString()}`,n,{version:"v2"});return L(i.cues)}async getRules(){let e=new URLSearchParams,o=await this.client.get(`/apis/admin/rule-engine/rules/?${e.toString()}`,{version:null,useCache:!0});return L(o)}async translateMessages(e){let o=await this.client.post("/api/translate",K(e),{version:"v2"});return L(o)}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(Wr);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&T.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};var uo=class{constructor(e,o){this.url=e;this.options={timeout:25e3,...o}}eventListeners={};options;timeoutTimer;eventSource;proxyEvent(e){this.eventSource.addEventListener(ss(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,L(s))}catch{T.warn(`Invalid JSON for ${e}: ${n}`)}})}connect(){clearTimeout(this.timeoutTimer);let e=new EventSource(this.url,{withCredentials:!0});this.eventSource=e;let o=!1;e.onopen=()=>{o=!0},e.onerror=()=>{o&&e.readyState===2&&this.connect()},this.timeoutTimer=setTimeout(()=>{e.close(),this.connect()},this.options.timeout),Object.keys(this.eventListeners).forEach(n=>{this.proxyEvent(n)})}disconnect(){var e;clearTimeout(this.timeoutTimer),this.eventListeners={},(e=this.eventSource)==null||e.close()}emit(e,o){this.eventListeners[e]&&this.eventListeners[e].forEach(n=>n(o))}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),this.proxyEvent(e),()=>{this.off(e,o)}}off(e,o){let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}};var Fv;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||={})})(Fv||={});var po=class{constructor(e,o={}){this.apiUrl=e;this.client=new fe(e,o)}client;streams={};logger=T;async getCustomMessages(e){let o=await this.client.get(`/sessions/${e}/suggestions`);return L(o.suggestions)}async sendCustomMessage(e,o){let n=await this.client.post(`/sessions/${e}/messages`,K(o));return L(n)}async answerCustomMessage(e,o){await this.client.post(`/sessions/${e}/answers`,K(o))}async getAutoflows(e){let o=await this.client.get(`/sessions/${e}/autoflows`);return L(o.autoflows)}async startAutoflowSession(e){let o=await this.client.post("/autoflow-sessions",K(e));return L(o)}async stopAutoflowSession(e){await this.client.delete(`/autoflow-sessions/${e}`)}openStream(e){return this.streams[e]||(this.streams[e]=new uo(`${this.apiUrl}/sessions/${e}/events`),this.streams[e].connect()),this.streams[e]}closeStream(e){this.streams[e]||(this.streams[e].disconnect(),delete this.streams[e])}};import{combineReducers as qv,configureStore as Gv}from"@reduxjs/toolkit";import{createSlice as Bv}from"@reduxjs/toolkit";var kd={startTime:null,stopTime:null},Rd=Bv({name:"handlingTime",initialState:kd,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(_,()=>kd)}}),{handlingTimeStart:Pd,handlingTimeStop:On,handlingTimeReset:Id}=Rd.actions,Ld=Rd.reducer;var Ad=(t={})=>{let e={onAuthError:lt(!1),...t};return o=>n=>s=>("error"in s&&s.error.message==="Unauthorized"&&o.dispatch(e.onAuthError),n(s))};import{createAsyncThunk as Kv,createSlice as Uv}from"@reduxjs/toolkit";var _n={list:{keywordMatches:[]},fetchState:"idle",isInitialRequest:null};var ot=Kv("styleSuggestions/getAll",async({text:t},e)=>{var i;let{deepdeskAPI:o}=e.extra,n=e.getState(),{showStyleSuggestions:s}=n.settings,r=(i=n.conversation.current)==null?void 0:i.profileCode;if(!s)return _n.list;if(!r)throw new Error("No current conversation to fetch pinned messages");return o.getStyleSuggestions({profileCode:r,message:t})}),zv=Uv({name:"styleSuggestions",initialState:_n,reducers:{},extraReducers:t=>{t.addCase(ot.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(ot.rejected,e=>{e.fetchState="error"}).addCase(ot.fulfilled,(e,o)=>{e.fetchState="done",Pe(e.list,o.payload)||(e.list=o.payload)}).addCase(ze,e=>{e.list=_n.list}).addCase(_,()=>_n)}}),Md=zv.reducer;var Nd=(t={})=>{let e,o=!0,n={getStyleSuggestions:ot,debounce:500,...t};return s=>r=>i=>{var p;let a=s.getState().input.text,l=r(i),c=s.getState();if(c.auth.isLoggedIn!==!0)return l;let{showStyleSuggestions:d}=c.settings;if(!((p=c.conversation.current)==null?void 0:p.id)||!d)return l;let{text:g}=c.input;return g===a&&!o||(clearTimeout(e),g==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:g}))},t.debounce)),l}};function Vv(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var Od=(t={})=>{let e={getTextSuggestions:le,getAutocompleteSuggestions:Yt,debounce:200,check:bt,...t},o;return n=>s=>r=>{var m;let{input:{userCommitted:i}}=n.getState(),a=s(r),l=n.getState();if(l.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:c,showTabCompletion:d}=l.settings,u=(m=l.conversation.current)==null?void 0:m.id,g=r.type===tn.toString();if(!u||!c&&!d)return a;let{input:{userCommitted:p}}=l;return Vv(p,i)&&!g||(clearTimeout(o),!e.check(l))||(o=setTimeout(()=>{let y=pt(l);y===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(y))},g?0:e.debounce)),a}};var _d=ot.fulfilled.toString();function $v(t,e){let o=new Set([...e.keywordMatches.map(s=>s.keyword)]),n=[];return o.forEach(s=>{let r=t.keywordMatches.filter(l=>l.keyword===s),i=e.keywordMatches.filter(l=>l.keyword===s),a=i.length-r.length;a<=0||n.push(...i.slice(0,a))}),n}var Dd=t=>e=>o=>n=>{var c;if(n.type!==_d){o(n);return}let s=e.getState().styleSuggestions.list;o(n);let r=e.getState(),i=r.styleSuggestions.list,a=(c=r.conversation)==null?void 0:c.current;if(s===i)return;let l=$v(s,i);n.type===_d&&l.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:l}})};var jv=qv({answer:Va,auth:ni,autoflows:mc,conversation:ai,contentTypes:ta,customMessages:wc,passwordlessToken:Pc,entities:Ra,knowledgeAssistant:Ka,handlingTime:Ld,info:ki,input:Ci,settings:Zr,profile:Xa,search:Ni,summary:Oa,styleSuggestions:Md,ui:bl,rules:Mc,textSuggestions:rl});function Hd(t){return Gv({reducer:jv,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),Ad(),Od({debounce:200}),Nd({debounce:500}),Dd(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var Wv=t=>{var e;return((e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())??"unknown"},Xv=t=>e=>o=>n=>{var a;let s=e.getState(),r=Jn("inlineSuggestions")(s);switch(n.type){case lt.toString():{!n.payload&&t.emit("logout",void 0);break}case ae.fulfilled.toString():n.payload.length>0&&t.sendEvent("entities found",{conversationId:s.conversation.current.id,data:{entities:n.payload}});break;case xe.fulfilled.toString():t.sendEvent("conversation summarized",{conversationId:s.conversation.current.id,data:{summary:n.payload.summary}});break;case G.toString():t.sendEvent(n.payload.name,{conversationId:((a=n.payload.options)==null?void 0:a.includeConversationData)&&s.conversation.current.id,data:n.payload.data});break;case Po.toString():t.handleKeyDown(n.payload);break;case ze.toString():t.logSendMessage(n.payload);break;case Io.toString():t.handleInputChanged(n.payload);break;case Ye.fulfilled.toString():n.isBroadcasted||t.broadcast(ls,n,!1),t.emit("cues",n.payload);break;default:break}let i=o(n);switch(n.type){case ze.toString():t.handleAfterSendMessage(n.payload);break;case eo.toString():t.onUpdateShowTabHint(n.payload);break;case On.toString():t.logHandlingTime();break;case pe.toString():{let{start:l,end:c}=s.input.selection;t.emit("select-suggestion",{type:Wv(n.payload.suggestion),...n.payload,replace:n.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0}),r&&(e.dispatch(ue([])),e.dispatch(Se()));break}case Ro.toString():{let{start:l,end:c}=s.input.selection;t.emit("replace",{...n.payload,replace:n.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0});break}case Ft.toString():{let l=e.getState(),{text:c,selection:d}=l.input.userCommitted;t.emit("reset",{text:c,selectionAfter:d},{mayApplyChanges:!0});break}case Lo.toString():t.emit("select-image",n.payload,{mayApplyChanges:!0}),t.sendEvent("Image attached",{conversationId:s.conversation.current.id,data:{path:n.payload.suggestion.image,title:n.payload.suggestion.title}});break;case ue.toString():{r&&n.payload.length>0&&e.dispatch(Le(0));break}default:break}return i},Fd=Xv;function Rr(t){return t.toISOString().replace("T"," ").replace("Z","")}function Bd(t,e){var s,r,i;let{startTime:o,stopTime:n}=t.handlingTime;if(!o||!n)throw new Error("No startTime and stopTime for handling time metrics");return{conversationId:t.conversation.current.id,clientVersion:e.version,agentId:(s=t.info.agentInfo)==null?void 0:s.agentId,agentName:(r=t.info.agentInfo)==null?void 0:r.agentName,agentEmail:(i=t.info.agentInfo)==null?void 0:i.agentEmail,timeStart:Rr(o),timeStop:Rr(n)}}function Kd(t,e,o){var N,U,F;let{text:n,metrics:{numCharsTyped:s,numCharsPasted:r,numCharsCut:i,numCharsDeleted:a,numPaste:l,agentStartedTypingTimestamp:c,externalTimeTotalSeconds:d,pastes:u,cuts:g,deletions:p,textSuggestions:f,offeredTextSuggestions:m}}=e[t],y=n.length,S=f.reduce((I,{text:O,searchTerm:P})=>I+O.length-(P?P.length:0),0),v=c??Date.now(),k=(Date.now()-v)/1e3+(d||0),x=s/k,w=f.reduce((I,{searchTerm:O})=>I+(O?O.length:0),0);return{conversationId:e.conversation.current.id,source:"agent",text:n,clientVersion:o.version,pastes:u,cuts:g,deletions:p,lenTextTyped:s+w,lenTextTotal:y,lenTextAssisted:S,lenTextPasted:r,lenTextCut:i,lenTextDeleted:a,timeTotalSeconds:k,charsPerSecond:x,numPastes:l,textSuggestionsV2:f,suggestionsCounters:[{source:"gpt",countOffered:m.filter(I=>I.source==="gpt").length}],agentId:(N=e.info.agentInfo)==null?void 0:N.agentId,agentName:(U=e.info.agentInfo)==null?void 0:U.agentName,agentEmail:(F=e.info.agentInfo)==null?void 0:F.agentEmail}}function Pr(t,e){var r;let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;if(n instanceof HTMLElement)return Pr(n,e);let s=(r=t.ownerDocument.defaultView)==null?void 0:r.frameElement;return s?Pr(s,e):null}function Ud(t,e){return Pr(t,e)}function zd(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function Zv(t){return typeof t=="object"&&t!==null&&"tagName"in t}function Ir(t){return Zv(t)&&(De(t)||pn(t))}var Vd,he=new Map,Qv=["bottom","height","left","right","top","width"],Jv=(t={},e={})=>Qv.some(o=>t[o]!==e[o]);function $d(t){var o,n;if(t.ownerDocument===document)return[];let e=((n=(o=t.ownerDocument)==null?void 0:o.defaultView)==null?void 0:n.frameElement)??null;return e?[e,...$d(e)]:[]}function qd(t,e){return!t||!e?null:{...t,top:t.top+e.top,left:t.left+e.left}}var Dn=!1,Gd=()=>{Dn=!0;let t=[];if(he.forEach((e,o)=>{if(!o.isConnected){e.rect=null,t.push(e),he.delete(o);return}let n=o.getBoundingClientRect();Jv(n,e.rect)&&(e.rect=n,t.push(e))}),t.forEach(e=>{let o=e.parentRects?e.parentRects.reduce(qd,e.rect):e.rect;e.callbacks.forEach(n=>n(o))}),he.size===0){Dn=!1;return}Vd=window.requestAnimationFrame(Gd)};function Lr(t,e){let o=$d(t),n=[],s=o.map((r,i)=>Lr(r,a=>{n[i]=a;let l=he.get(t);if(!l)return;let c=n.reduce(qd,l.rect);l.callbacks.forEach(d=>d(c))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),he.has(t)){let i=he.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else he.set(t,{rect:void 0,callbacks:[e],parentRects:n});r&&!Dn&&Gd()},unobserve(){s.forEach(i=>i.unobserve());let r=he.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||he.delete(t),he.size||(cancelAnimationFrame(Vd),Dn=!1)}}}}var jd,ye=new Map,Wd=()=>{ye.forEach((t,e)=>{if(!e.isConnected){ye.delete(e);return}let{clientHeight:o,scrollHeight:n}=e,s=n>o;t.visible!==s&&(t.visible=s,t.callbacks.forEach(r=>r(t.visible)))}),ye.size!==0&&(jd=window.requestAnimationFrame(Wd))};function Xd(t,e){return{observe(){let o=ye.size===0;ye.has(t)?ye.get(t).callbacks.push(e):ye.set(t,{visible:void 0,callbacks:[e]}),o&&Wd()},unobserve(){let o=ye.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||ye.delete(t),ye.size||cancelAnimationFrame(jd)}}}}var Ar=["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 Mr(t,e,o){return o.forEach(n=>{e.style[n]=t[n]})}function Mt(t){return parseFloat(t)}function Hn(t){return Math.round(t*1e6)}function Zd(t){return t/1e6}function Nr(t,e,o){if(t.boxSizing==="content-box")return;let{clientWidth:n}=e,s=Mt(t.width),r=Mt(t.borderLeftWidth),i=Mt(t.borderRightWidth),a=Mt(t.paddingRight),l=Zd(Hn(s)-Hn(r)-Hn(i)),c=Zd(Hn(n));if(l-c>2){let d=l-c;o.style.paddingRight=`${a+d}px`}}function Fn(t,e={}){var d;let o=e.overlayContainer||document.createElement("div");o.style.display="none",o.style.position=e.position??"fixed",o.style.pointerEvents="none",o.style.borderColor="transparent",Ze(o);let n=window.getComputedStyle(t),s=!0,r=()=>{o.scrollTop=t.scrollTop};Mr(n,o,Ar),Nr(n,t,o),e.mirrorOverflow&&(o.style.overflow="hidden",t.addEventListener("scroll",r));let i=Xd(t,()=>{Mr(n,o,Ar),Nr(n,t,o),r(),setTimeout(r,0)}),a,l=!0,c=Lr(t,u=>{if(u===null){e.onRemove&&e.onRemove(),o.remove();return}if(!l&&e.onMoveStart&&(Promise.resolve().then(()=>e.onMoveStart()),l=!0),clearTimeout(a),a=setTimeout(()=>{e.onMoveEnd&&e.onMoveEnd(),l=!1},200),u.height===0&&u.width===0){if(s===!0)return;e.onHide&&e.onHide(),o.style.display="none",s=!0;return}if(Mr(n,o,Ar),Nr(n,t,o),r(),o.style.top=`${u.top}px`,o.style.left=`${u.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let g=e.closestScrollElement.getBoundingClientRect(),p=window.getComputedStyle(e.closestScrollElement),f=Mt(p.borderTopWidth),m=Mt(p.borderBottomWidth),y=g.top+f-u.top,E=u.top+u.height+-(g.top+g.height-m);o.style.clipPath=`inset(${y}px 0px ${E}px 0px)`}s&&(o.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(o):(d=t.parentElement)==null||d.appendChild(o),c.observe(),i.observe(),[o,()=>{t.removeEventListener("scroll",r),c.unobserve(),i.unobserve()}]}var Qd=(t,e)=>({value(){try{let o=sessionStorage.getItem(`dd-${t}`);if(!o)return e;try{return JSON.parse(o)}catch{return e}}catch{return e}},update(o){try{sessionStorage.setItem(`dd-${t}`,JSON.stringify(o))}catch{T.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function Yv(t){return t.offsetParent!==null}function Jd(t){if(!Yv(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 Or(t,e,o=100){let n=Jd(t);e({isVisible:n});let s=setInterval(()=>{let r=Jd(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}import{jsx as z}from"react/jsx-runtime";var Yd=Qd("showTabHint",!0),Kn=class t{static version="11.1.1-beta.4";static count=0;deepdeskApi;inputMediator=null;version;broadcastEvents;eventListeners={};unmountHandlers=[];widgetRoot=null;dynamicThunkObject={};isMounted=!1;instanceId;shouldRender=!0;store;constructor({deepdeskUrl:e,brokerUrl:o,version:n=t.version||"unknown",locale:s="en-US",token:r,fetch:i,productName:a,createCustomChannel:l}){let c=e.replace(/\/api$/,"");this.deepdeskApi=new Be(c,{token:r,fetch:i}),this.version=n,this.instanceId=t.count++;let d={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[Fd({broadcast:(u,g,p)=>{this.broadcastEvents.send(u,g,p)},emit:(u,g,p)=>this.emit(u,g,p),handleAfterSendMessage:u=>this.handleAfterSendMessage(u),handleInputChanged:u=>this.handleInputChanged(u),handleKeyDown:u=>this.handleKeyDown(u),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:u=>this.logSendMessage(u),onUpdateShowTabHint:u=>Yd.update(u),sendEvent:(u,g)=>this.deepdeskApi.sendEvent(u,g)})]};o&&Object.assign(d,{deepdeskBrokerAPI:new po(o)}),this.store=Hd(d),this.broadcastEvents=new Ed({debug:!0,deepdeskUrl:c,eventMap:Oi(this.store),createCustomChannel:l}),this.store.dispatch(eo(Yd.value())),this.store.dispatch(So({locale:s,adminUrl:c,productName:a}))}get state(){return this.store.getState()}get settings(){return this.state.settings}get selectedTextSuggestion(){return this.state.input.textSuggestions[this.state.input.selectedSuggestionIndex]??null}hasConversation(){return!!this.state.conversation.current}conversationId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.id}sessionId(){if(!this.hasConversation())throw new Error("No conversation loaded");return this.state.conversation.current.sessionId}shouldAbort(){return this.state.conversation.isSupported===!1?(T.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(T.warn("Profile has not been loaded (yet)"),!0):(T.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(lt(null)),this.store.dispatch(ve()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();W(n)&&Qr(n)!=="loading"&&(o(),e())});this.unmountHandlers.push(()=>{o()})})}async isLoggedIn(){return(await this.store.dispatch(ve())).payload}async setPlatformAgentId(e){try{if((await this.deepdeskApi.client.get("/apis/admin/session/me/",{version:null})).external_id)return;await this.deepdeskApi.client.request("/apis/admin/session/me/",{method:"PATCH",body:JSON.stringify({external_id:e}),version:null})}catch(o){T.warn("Failed to attach user:",o)}}async isConversationSupported(e,o){return(await this.store.dispatch(ts({sessionId:e,options:o}))).payload}async createConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Co(e))).payload}async getConversationBySessionId(e,o){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(await this.store.dispatch(wo({sessionId:e,options:o}))).payload}async upsertConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(os(e))).payload}async postMessages(e){return(await this.store.dispatch(Eo(e))).payload}async updateConversation(e){return(await this.store.dispatch(To(e))).payload}resetConversation(){this.store.dispatch(_()),this.loadProfileConfigPromise=null,this.dynamicThunkObject.conversationQuery=null}async getSummary(){let e=await this.store.dispatch(xe());if(e.error)throw new Error(e.error.message);return e.payload.summary}configure(e){this.store.dispatch(So(e))}setVisitorInfo(e){this.store.dispatch(Ei(e))}async setAgentInfo(e){await this.store.dispatch(Bt(e))}async setAgentSettings(e){await this.store.dispatch(is(e))}async getAgentSettings(){return(await this.store.dispatch(as())).payload}async refresh(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.handleInputChanged(this.inputMediator.getText());let e=[];return this.store.dispatch(tn()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})}notifyInputChanged(e){this.store.dispatch(Io(e))}notifyKeyDown(e){this.store.dispatch(Po(e))}notifyPaste(e,o){this.store.dispatch(vi({text:e,selectionText:o}))}notifyCut(e){this.store.dispatch(hi(e))}notifyExternalSuggestion(e){this.store.dispatch(pe(e)),this.store.dispatch(Se())}async evaluateRule(e,o={}){let{payload:n,error:s}=await this.store.dispatch(Ye({label:e,params:o}));if(s)throw new Error(s.message);return n}handleInputChanged(e){let{overlayCollapsed:o,openOverlayWhenTyping:n}=this.state.ui;o&&n&&this.store.dispatch(_e({collapse:!1})),this.inputMediator&&this.store.dispatch(ui({text:e,html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),!this.shouldAbort()&&(this.isMounted||this.store.dispatch(ue([])))}handleKeyDown(e){let{overlayCollapsed:o}=this.state.ui,{textSuggestions:n,selectedSuggestionIndex:s,selection:r}=this.state.input,{inlineSuggestions:i}=this.state.settings,a=n.length>0,l=s!==-1;if(this.store.dispatch(yi(li(e))),e.key!=="Tab"&&!this.settings.showTextSuggestions)return;let c=()=>{o||!a||r&&(e.shiftKey||(this.store.dispatch(gi()),i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault()))},d=()=>{o||!a||i&&s<=0||r&&(e.shiftKey||(this.store.dispatch(fi()),e.preventDefault(),!i&&(this.state.input.selectedSuggestionIndex===-1?this.store.dispatch(Ft()):this.stageSelectedSuggestion({inputType:"arrow"}))))};switch(e.key){case"Up":case"ArrowUp":i?d():c();return;case"Down":case"ArrowDown":{i?c():d();return}case"Esc":case"Escape":{i&&l&&this.store.dispatch(Le(-1)),this.state.input.selectedSuggestionIndex!==-1?(this.store.dispatch(Le(-1)),this.store.dispatch(Ft()),e.preventDefault()):o||(this.store.dispatch(_e({collapse:!0})),this.store.dispatch(Sl(!0)),e.preventDefault());return}case"Tab":{let{userCommitted:u}=this.state.input,g=u.text.substring(0,u.selection.end),{tabCompletionSuggestion:p}=this.state.input;this.store.dispatch(eo(!1)),this.state.input.selectedSuggestionIndex>-1?this.stageSelectedSuggestion({inputType:"tab"}):!i&&this.settings.showTabCompletion&&p&&p.text.startsWith(g)&&(this.store.dispatch(pe({text:p.text,suggestion:p,eventMetrics:{inputType:"tab"},replace:"until-selection-end"})),this.store.dispatch(Se())),e.preventDefault();break}default:}}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(Si()),this.store.dispatch(ue([]))}handlingTimeStart(){this.state.handlingTime.startTime||(T.info("Start handling time"),this.store.dispatch(Pd()))}handlingTimeStop(){this.state.handlingTime.startTime&&(T.info("Stop handling time"),this.store.dispatch(On()))}logSendMessage(e){let o=Kd("input",this.state,{version:this.version});e&&(Object.assign(o,{text:e}),Object.assign(o,{lenTextTotal:e.length})),this.deepdeskApi.sendEventV1("Send Message",o),this.emit("send-message-event",o)}logHandlingTime(){let e=Bd(this.state,{version:this.version});this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(Id())}notifySubmit(e={}){this.shouldAbort()||(this.store.dispatch(Se()),this.store.dispatch(ze(e.text??this.state.input.text)))}stageSelectedSuggestion(e){let o=this.state.input.selectedSuggestionIndex,{textSuggestions:n}=this.state.input;this.store.dispatch(pe({text:n[o].text,suggestion:n[o],eventMetrics:e,replace:"until-selection-end"}))}emit(e,o,n={}){let s=()=>{this.eventListeners[e]&&this.eventListeners[e].forEach(r=>{try{r(o)}catch(i){T.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),T.error(i)}})};this.inputMediator&&n.mayApplyChanges?this.inputMediator.applyChanges(s):s()}on(e,o){return this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(o),()=>{this.off(e,o)}}off(e,o){if(!e&&!o){this.eventListeners={};return}let n;this.eventListeners[e]&&(n=this.eventListeners[e].indexOf(o),n>-1&&this.eventListeners[e].splice(n,1))}setConversationQuery(e){this.dynamicThunkObject.conversationQuery=e}whenConversationLoaded(e){let o=()=>this.loadProfileConfig().then(()=>e());this.hasConversation()&&o();let n=this.hasConversation();this.store.subscribe(()=>{this.hasConversation()!==n&&(n=this.hasConversation(),n&&o())})}overlayContainerFactory(e,o,n,s){let[r,i]=Fn(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{Bn(r),i(),r.remove()}),r}createInlineContainer(e,o){var i;let n=document.createElement("div");n.style.position="absolute",n.style.top="0px",n.style.left="0px",n.style.height="0px",n.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",n.appendChild(s);let r=(i=e.ownerDocument.defaultView)==null?void 0:i.frameElement;if(r){let[a,l]=Fn(r,{appendTo:document.body,onMoveStart:()=>{s.style.display="none"}});a.dataset.testid=o,a.style.zIndex="2",a.appendChild(n),this.unmountHandlers.push(()=>{Bn(s),l()})}else document.body.appendChild(n);return s}createContainer(e,o=document.body){let n=window.getComputedStyle(o),s=document.createElement("div");return Ze(s),s.dataset.testid=e,s.style.color=n.color,s.style.fontSize=n.fontSize,s.style.fontFamily=n.fontFamily,s.style.fontVariant=n.fontVariant,s.setAttribute("translate","no"),o.appendChild(s),this.unmountHandlers.push(()=>{Bn(s),s.remove()}),s}storeMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=JSON.stringify({text:this.state.input.text,metrics:this.state.input.metrics});window.sessionStorage.setItem(e,o),T.info(`Stored analytics for ${this.conversationId()}`)}catch{}}restoreMetrics(){try{let e=`dd-metrics-${this.conversationId()}`,o=window.sessionStorage.getItem(e);if(!o)return;let n=JSON.parse(o);n.text.trim()===this.state.input.text.trim()?(T.info(`Restored metrics for ${this.conversationId()}`),this.store.dispatch(bi(n.metrics))):T.warn(`Metrics mismatch, disregarding stored metrics for ${this.conversationId()}`),window.sessionStorage.removeItem(e)}catch{}}mount(e,o={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!Ir(e))throw new Error("[Deepdesk] Only mount on textarea or contentEditable div.");if(!this.shouldRender)return;let{customStyles:n={},showStyleSuggestions:s,showTabCompletion:r,showTextSuggestions:i,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:d,isEmbedded:u,detectSubmit:g,insertLink:p,inputMediator:f,closestScrollSelector:m,appendOverlayTo:y,inlineSuggestions:E,floatingMenu:S}=o;this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:d,showTextSuggestions:i,insertLink:p,isEmbedded:u,inlineSuggestions:E,floatingMenu:!!S}),o.automaticHandlingTime&&this.setupHandlingTime(e),Ze(e),this.inputMediator=f||(De(e)?new It(e):new Pt(e)),this.inputMediator.on("change",({plainText:x})=>{this.notifyInputChanged(x)}),this.inputMediator.on("updated",()=>{this.inputMediator&&this.store.dispatch(xi({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()}))}),this.inputMediator.on("keydown",x=>{this.notifyKeyDown(x)}),this.inputMediator.on("paste",({pastedText:x,selectionText:w})=>{this.notifyPaste(x,w)}),this.inputMediator.on("cut",({selectionText:x})=>{this.notifyCut(x)});let v=m&&Ud(e,m)||void 0;if(E){let{customStyles:x,appendOverlayTo:w}=o;if(De(e))throw new Error("[Deepdesk] Inline suggestion is not supported for textarea yet.");let N=this.createInlineContainer(e,"deepdesk-caret");Nt(z(Qe,{store:this.store,customStyles:x,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(Rl,{})})}),N),this.inputMediator.on("caret",F=>{this.store.dispatch(ue([])),F?(N.style.display="block",N.style.top=`${F.top}px`,N.style.left=`${F.left}px`):N.style.display="none"});let U=this.overlayContainerFactory("floating-menu",v||e,{appendTo:typeof S=="object"&&"appendOverlayTo"in S?S.appendOverlayTo:w},x==null?void 0:x.floatingMenuRootNode);Nt(z(Qe,{store:this.store,customStyles:x,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(yl,{onLogIn:()=>this.loginViaPopup().catch(F=>T.warn(F.message))})})}),U)}else{let x=this.overlayContainerFactory("deepdesk-tab-completion",v||e,{appendTo:y,closestScrollElement:v,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),w=this.overlayContainerFactory("deepdesk-suggestions-overlay",v||e,{appendTo:y},n==null?void 0:n.suggestionsRootNode);Nt(z(Qe,{store:this.store,customStyles:n,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(lc,{inputElement:e})})}),x),Nt(z(Qe,{store:this.store,customStyles:n,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(Hl,{onLogIn:()=>this.loginViaPopup().catch(N=>T.warn(N.message))})})}),w)}Nt(z(Qe,{store:this.store,customStyles:n,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(ul,{})})}),this.createContainer("deepdesk-overlays"));let k;this.inputMediator.on("selection",x=>{clearTimeout(k),x===null?k=setTimeout(()=>{x!==null&&this.store.dispatch(ns(x))},500):this.store.dispatch(ns(x))}),this.inputMediator.on("disabled",()=>{var x;(x=this.inputMediator)==null||x.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{g&&this.notifySubmit()}),this.inputMediator.on("blur",()=>this.store.dispatch(Ws(!1))),this.inputMediator.on("focus",()=>this.store.dispatch(Ws(!0))),this.store.dispatch(pi({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),this.unmountHandlers.push(()=>{this.state.input.text!==""&&(this.store.dispatch(Se()),this.storeMetrics())}),this.whenConversationLoaded(()=>{var x;this.restoreMetrics(),this.refresh(),this.broadcastEvents.setSessionId((x=this.state.conversation.current)==null?void 0:x.sessionId)}),this.isMounted=!0}unmount(){var e;this.unmountHandlers.forEach(o=>o()),this.unmountHandlers=[],(e=this.inputMediator)==null||e.dispose(),this.broadcastEvents.cleanup(),this.isMounted=!1}renderWidget(e,o={}){if(this.widgetRoot&&T.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:n,showImages:s,isEmbedded:r}=o;this.widgetRoot=e,this.configure({showImages:s,isEmbedded:r}),Nt(z(Qe,{store:this.store,customStyles:n,children:z($e,{broadcastEvents:this.broadcastEvents,children:z(xd,{onLogIn:()=>this.loginViaPopup().catch(i=>T.warn(i.message))})})}),e),this.whenConversationLoaded(()=>{var i;this.broadcastEvents.setSessionId((i=this.state.conversation.current)==null?void 0:i.sessionId)})}unmountWidget(){this.widgetRoot&&Bn(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=Or(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){zd(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfigPromise=null;loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(async()=>{await this.store.dispatch(Jt());let e=Oe(this.state);e&&(await this.store.dispatch(Qt()),this.store.dispatch(So({showSearch:e.search,showAutoflows:e.autoflows,showCustomMessages:e.customMessages,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:e.summarizer,showKnowledgeSearch:!!e.knowledgeAssistant,recommendTextSuggestions:e.recommendTextSuggestions})))}),this.loadProfileConfigPromise)}async loginViaPopup(e){return new Promise((o,n)=>{let s=new MessageChannel,r=s.port1,i=this.state.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 l=!1,c=()=>{d&&!d.closed&&d.close(),window.removeEventListener("message",u),clearInterval(g)};r.onmessage=async p=>{var f,m;if((f=p.data)!=null&&f.jwt)try{await this.deepdeskApi.exchangeTokenForAccessCookie((m=p.data)==null?void 0:m.jwt),await this.isLoggedIn(),this.broadcastEvents.send(Ut),l=!0,s.port1.close(),o()}catch(y){console.error(y),n(y)}finally{l=!0,c()}};let d=window.open(a.toString(),"deepdesk-login","scrollbars=no,left=100,top=150,width=500,height=500");d===null&&n(new Error("Popup blocked by browser"));let u=async p=>{var f;if(p.origin===a.origin)switch((f=p.data)==null?void 0:f.type){case"deepdesk-popup-loaded":{try{let m=JSON.stringify({type:"deepdesk-popup-create-channel"});d==null||d.postMessage(m,a.origin,[s.port2])}catch(m){T.error("Error posting message to popup",m),n(m)}break}case"deepdesk-popup-error":{c(),p.data.message==="Timeout"&&T.warn("Popup timed out. Check if the account's platform url is configured correctly."),n(new Error(p.data.message));break}}};window.addEventListener("message",u);let g=setInterval(()=>{d&&!d.closed||(c(),l||n(new Error("Popup closed by user")))},200);this.unmountHandlers.push(c)})}translateMessages(e){return this.deepdeskApi.translateMessages(e)}async checkForTrialMode(e){try{let{account:o}=await this.deepdeskApi.getPlatformConfig();if(!o.isTrial){this.shouldRender=!0;return}if(T.info("Trial is active"),!await this.deepdeskApi.checkUserExists(e))throw new Error("User is not in trial");this.shouldRender=!0}catch(o){let{message:n}=o;T.info(n),this.shouldRender=!1}}async refreshWidgetSuggestions(){if(!this.widgetRoot||this.shouldAbort())return;let{uiConfig:e}=this.state.profile.data;if(!e.widget)return;let o=Yo(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(ae()):this.store.dispatch(le(n))})}catch(n){this.handleError(n)}}};async function eS(t,e,o={}){let{value:n}=t,{start:s,end:r}=o.replace??{start:0,end:n.length},i=`${n.slice(0,s)}${e}${n.slice(r)}`,a=o.selectionAfter??{start:s+e.length,end:s+e.length},l=()=>{if(o.setValue)return o.setValue(i);t.value=i};return Promise.resolve(l()).then(()=>{t.selectionStart=a.start,t.selectionEnd=a.end,t.blur(),t.focus()})}async function tS(t,e,o={}){let n=o.replace?tt(t,o.replace.start,o.replace.end):co(t),s,r=()=>{if(o.setRange)return o.setRange(n.cloneRange());n.deleteContents(),s=document.createElement("span"),n.insertNode(s),o.insertBRs!==!1?e.split(`
10
10
  `).reverse().forEach((i,a)=>{a>0&&n.insertNode(document.createElement("br")),n.insertNode(document.createTextNode(i))}):n.insertNode(document.createTextNode(e))};return Promise.resolve(r()).then(()=>{try{if(o.selectionAfter!==!1){t.focus();let i=o.selectionAfter?tt(t,o.selectionAfter.start,o.selectionAfter.end):(n.collapse(!1),n),a=window.getSelection();a==null||a.removeAllRanges(),a==null||a.addRange(i)}if(!s)return;s.scrollIntoView&&s.scrollIntoView({block:"nearest",inline:"nearest"})}finally{s&&s.remove()}})}function oS(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 nS(t){let e=document.createDocumentFragment();return t.split(`
11
11
  `).forEach((o,n)=>{n>0&&e.appendChild(document.createElement("br"));let s={index:0},r=0;for(;s=o.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(o.slice(r,r+s.index))),e.appendChild(i),r=r+s.index+s[0].length}e.appendChild(document.createTextNode(o.slice(r)))}),e}function eu(t,e){return!t.contains(e)||e===t?null:e.parentNode===t?e:eu(t,e.parentNode)}async function sS(t,e,{isBlock:o,isHTML:n}={}){let s;t.dispatchEvent(new InputEvent("beforeinput",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0}));let r=()=>{let i=t.ownerDocument.defaultView??window,a=i.getSelection();if((!a||a.rangeCount===0)&&(t.focus(),a=i.getSelection()),!a||a.rangeCount===0)return;let l=a.getRangeAt(0);if(!l)return;s=document.createElement("span"),l.insertNode(s);let c=n?oS(e):nS(e);if(o){let d=l.startContainer===t?t.childNodes[l.startOffset]:l.startContainer,u=eu(t,d)??t.firstChild;t.insertBefore(c,(u==null?void 0:u.nextSibling)??null)}else l.insertNode(c),l.collapse(!1)};return Promise.resolve(r()).then(()=>{if(t.dispatchEvent(new InputEvent("input",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0})),t.focus(),!!s)try{s.scrollIntoView&&s.scrollIntoView({block:"nearest",inline:"nearest"})}finally{s&&s.remove()}})}function rS(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}async function iS(t,e,o){await new Be(t).authenticateWithKey(e,o)}async function aS(t){let o=await new fe(t).get("/platform/config/",{version:null,useCache:!0});return L(o)}async function lS(t){let o=await(t.fetch??window.fetch)(t.url),n=await o.blob();return new File([n],t.name,{type:t.mimeType??o.headers.get("Content-Type")??"image/jpeg"})}async function cS(t,e){let o=await lS(e),n=new Event("change",{bubbles:!0,cancelable:!0});try{Object.defineProperty(t,"files",{configurable:!0,get:()=>[o]}),t.dispatchEvent(n)}finally{Object.hasOwn(t,"files")&&delete t.files}}export{H as Card,Pt as ContentEditableInput,Be as DeepdeskAPI,Kn as DeepdeskSDK,fe as HTTPClient,Fe as InputMediator,at as InputType,qn as KeyboardHint,Gn as Label,vo as Locale,ke as Section,Wn as SectionList,Re as Sources,M as Suggestion,te as SuggestionList,It as TextAreaInput,it as ToggleButton,cS as attachFile,iS as authenticateWithKey,co as createFullRange,Fn as createOverlayContainer,tt as createRangeFromOffsets,Xt as escapeHTML,aS as fetchPlatformConfig,rS as formatTextMarkup,An as getRangeOffsets,Mn as getRangeText,sS as insertCKEditor,Es as isHTML,Ir as isSupportedInputElement,tS as updateContentEditable,eS as updateTextArea,h as useStyles,Or as waitForElementVisibilityChange};