@deepdesk/deepdesk-sdk 10.3.1-beta.7 → 10.4.0

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
@@ -2,6 +2,6 @@ var Zp=Object.defineProperty;var U=(t,e)=>{for(var o in e)Zp(t,o,{get:e[o],enume
2
2
  Try polyfilling it using "@formatjs/intl-pluralrules"
3
3
  `,Ue.MISSING_INTL_API,i);var _=o.getPluralRules(e,{type:p.pluralType}).select(u-(p.offset||0));y=p.options[_]||p.options.other}if(!y)throw new cs(p.value,u,Object.keys(p.options),i);a.push.apply(a,zt(y.value,e,o,n,s,u-(p.offset||0)));continue}}return fd(a)}function yd(t,e){return e?Z(Z(Z({},t||{}),e||{}),Object.keys(t).reduce(function(o,n){return o[n]=Z(Z({},t[n]),e[n]||{}),o},{})):t}function Sd(t,e){return e?Object.keys(t).reduce(function(o,n){return o[n]=yd(t[n],e[n]),o},Z({},t)):t}function ps(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,o){t[e]=o}}}}}function vd(t){return t===void 0&&(t={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:No(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.NumberFormat).bind.apply(e,wo([void 0],o,!1)))},{cache:ps(t.number),strategy:Do.variadic}),getDateTimeFormat:No(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.DateTimeFormat).bind.apply(e,wo([void 0],o,!1)))},{cache:ps(t.dateTime),strategy:Do.variadic}),getPluralRules:No(function(){for(var e,o=[],n=0;n<arguments.length;n++)o[n]=arguments[n];return new((e=Intl.PluralRules).bind.apply(e,wo([void 0],o,!1)))},{cache:ps(t.pluralRules),strategy:Do.variadic})}}var ri=function(){function t(e,o,n,s){o===void 0&&(o=t.defaultLocale);var r=this;if(this.formatterCache={number:{},dateTime:{},pluralRules:{}},this.format=function(c){var p=r.formatToParts(c);if(p.length===1)return p[0].value;var d=p.reduce(function(u,m){return!u.length||m.type!==z.literal||typeof u[u.length-1]!="string"?u.push(m.value):u[u.length-1]+=m.value,u},[]);return d.length<=1?d[0]||"":d},this.formatToParts=function(c){return zt(r.ast,r.locales,r.formatters,r.formats,c,void 0,r.message)},this.resolvedOptions=function(){var c;return{locale:((c=r.resolvedLocale)===null||c===void 0?void 0:c.toString())||Intl.NumberFormat.supportedLocalesOf(r.locales)[0]}},this.getAst=function(){return r.ast},this.locales=o,this.resolvedLocale=t.resolveLocale(o),typeof e=="string"){if(this.message=e,!t.__parse)throw new TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");var i=s||{},a=i.formatters,l=Zr(i,["formatters"]);this.ast=t.__parse(e,Z(Z({},l),{locale:this.resolvedLocale}))}else this.ast=e;if(!Array.isArray(this.ast))throw new TypeError("A message must be provided as a String or AST.");this.formats=Sd(t.formats,n),this.formatters=s&&s.formatters||vd(this.formatterCache)}return Object.defineProperty(t,"defaultLocale",{get:function(){return t.memoizedDefaultLocale||(t.memoizedDefaultLocale=new Intl.NumberFormat().resolvedOptions().locale),t.memoizedDefaultLocale},enumerable:!1,configurable:!0}),t.memoizedDefaultLocale=null,t.resolveLocale=function(e){if(!(typeof Intl.Locale>"u")){var o=Intl.NumberFormat.supportedLocalesOf(e);return o.length>0?new Intl.Locale(o[0]):new Intl.Locale(typeof e=="string"?e:e[0])}},t.__parse=ei,t.formats={number:{integer:{maximumFractionDigits:0},currency:{style:"currency"},percent:{style:"percent"}},date:{short:{month:"numeric",day:"numeric",year:"2-digit"},medium:{month:"short",day:"numeric",year:"numeric"},long:{month:"long",day:"numeric",year:"numeric"},full:{weekday:"long",month:"long",day:"numeric",year:"numeric"}},time:{short:{hour:"numeric",minute:"numeric"},medium:{hour:"numeric",minute:"numeric",second:"numeric"},long:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"},full:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"}}},t}();function bd(t,e){return e.split(".").reduce((o,n)=>o?o[n]:void 0,t)}var Cd="dummy",ds=_d(null);function T(t){let e=xd(ds);if(!e)throw new Error("useTranslator() may be used only in the context of a <LocaleContext> component.");let o=t[e]??{};return(n,s)=>{let r=bd(o,n);return r?new ri(r).format(s):(e!==Cd&&console.warn(`${n} does not exist in messages of ${e}`),`[${n}]`)}}var us={};U(us,{enUS:()=>wd,nlNL:()=>Td});var wd={experimental:[{type:0,value:"Experimental"}]},Td={experimental:[{type:0,value:"Experimenteel"}]};import{jsx as ai}from"react/jsx-runtime";var ii=({children:t})=>{let e=S("Chip",Qr);return ai("span",{className:e.root,children:t})},Ho=()=>{let t=T(us);return ai(ii,{children:t("experimental")})},Ed=ii;import kd from"classnames";var li={root:"_root_cq1yq_1"};import{jsx as Id}from"react/jsx-runtime";var Rd={"arrow-up":"\u25B2","arrow-down":"\u25BC",tab:"tab",esc:"Esc",enter:"\u21B5"},Pd=({className:t,keyCode:e,...o})=>{let n=S("KeyboardHint",li);return Id("span",{"data-key":Rd[e],className:kd(t,n.root),...o})},gs=Pd;import Ad from"classnames";var ci={root:"_root_4a08n_1"};import{jsx as Md}from"react/jsx-runtime";var Ld=({className:t,children:e,...o})=>{let n=S("Label",ci);return Md("span",{...o,className:Ad(t,n.root),children:e})},ms=Ld;var pi={root:"_root_jlggj_1",subTitleContainer:"_subTitleContainer_jlggj_5",subtitle:"_subtitle_jlggj_9",suggestions:"_suggestions_jlggj_17"};import{jsx as fs,jsxs as Nd}from"react/jsx-runtime";var Od=({title:t,children:e,type:o,...n})=>{let s=S("Section",pi);return Nd("section",{...n,className:s.root,"data-section-type":o,children:[t&&fs("div",{className:s.subTitleContainer,children:fs("span",{className:s.subtitle,children:t})}),fs("div",{className:s.suggestions,children:e})]})},ze=Od;import Dd from"classnames";import Hd from"react";var di={root:"_root_19wxp_1"};import{jsx as Fd}from"react/jsx-runtime";var Bd=Hd.forwardRef(({className:t,children:e},o)=>{let n=S("SectionList",di);return Fd("div",{ref:o,className:Dd(n.root,t),children:e})}),hs=Bd;import Bo from"classnames";import Kd,{createContext as Ud,useCallback as zd,useContext as jt}from"react";var ys={root:"_root_fsa1k_10",fadein:"_fadein_fsa1k_1",isClickable:"_isClickable_fsa1k_45",isSelected:"_isSelected_fsa1k_50",actions:"_actions_fsa1k_74",actionsIsFixed:"_actionsIsFixed_fsa1k_96",actionButton:"_actionButton_fsa1k_104",dropdownList:"_dropdownList_fsa1k_125",dropdownButton:"_dropdownButton_fsa1k_140",dropdownItem:"_dropdownItem_fsa1k_150",dropdownItemButton:"_dropdownItemButton_fsa1k_159",actionButtonIsPrimary:"_actionButtonIsPrimary_fsa1k_173",actionButtonIsDisabled:"_actionButtonIsDisabled_fsa1k_177",labels:"_labels_fsa1k_185",label:"_label_fsa1k_185"};import{jsx as fe,jsxs as Gd}from"react/jsx-runtime";var st=Ud(ys),jd=({fixed:t,children:e,...o})=>{let n=jt(st);return fe("div",{...o,className:Bo(n.actions,{[n.actionsIsFixed]:t}),children:e})},qd=({className:t,primary:e,disabled:o,label:n,children:s})=>{let r=jt(st);return Gd("div",{className:Bo(t,r.actionButton,r.dropdownButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onMouseDown:i=>i.stopPropagation(),onClick:i=>i.stopPropagation(),children:[n,fe("ul",{className:r.dropdownList,children:s})]})},Vd=({index:t,label:e,onClick:o})=>{let n=jt(st);return fe("li",{className:n.dropdownItem,children:fe("button",{className:n.dropdownItemButton,type:"button","data-index":t,onClick:o,children:e})})},Wd=({className:t,primary:e,disabled:o,onClick:n,label:s})=>{let r=jt(st);return fe("button",{type:"button",className:Bo(t,r.actionButton,{[r.actionButtonIsPrimary]:e,[r.actionButtonIsDisabled]:o}),onClick:n??(i=>i.stopPropagation()),disabled:o,"aria-hidden":o,children:s})},Ss=({labels:t})=>{let e=jt(st);return fe("div",{className:e.labels,children:t.map(o=>fe("span",{className:e.label,children:o},o))})},rt=Kd.forwardRef(({className:t,selected:e,onClick:o,children:n,as:s="div",...r},i)=>{let a=S("Suggestion",ys),l=zd(c=>{c.preventDefault(),o&&o(c)},[o]);return fe(s,{...r,ref:i,className:Bo(t,a.root,{[a.isSelected]:e,[a.isClickable]:!!o}),onClick:l,children:fe(st.Provider,{value:a,children:n})})});rt.Labels=Ss;rt.Actions=jd;rt.ActionButton=Wd;rt.DropdownButton=qd;rt.DropdownItem=Vd;var M=rt;import $d from"classnames";var ui={root:"_root_fp74r_1",isWithDivider:"_isWithDivider_fp74r_9"};import{jsx as Qd}from"react/jsx-runtime";var Xd=({withDivider:t,children:e})=>{let o=S("SuggestionList",ui);return Qd("div",{"data-testid":"suggestions-overlay-list",className:$d(o.root,{[o.isWithDivider]:t}),children:e})},se=Xd;import Zd from"classnames";var gi={root:"_root_1wpmq_1",isCollapsed:"_isCollapsed_1wpmq_17"};import{jsx as vs}from"react/jsx-runtime";var Jd=({className:t,isCollapsed:e,title:o,onClick:n})=>{let s=S("ToggleButton",gi);return vs("button",{type:"button",className:Zd(s.root,t,{[s.isCollapsed]:e}),onClick:n,title:o,children:vs("svg",{width:"14",height:"8",viewBox:"-2.5 -5 75 60",preserveAspectRatio:"none",children:vs("path",{d:"M0,0 l35,50 l35,-50",fill:"none",stroke:"grey",strokeLinecap:"round",strokeWidth:"6"})})})},it=Jd;var mi=/(?:[.,;:!?\\n]|:\\)|:\\(|:-\\)|:-\\()/g,at=/(((\$!\{)|(\{))[a-zA-Z0-9_.]+\})/g;var fi=/x-deepdesk-(([a-z0-9\-_])+-version)/,ce=(g=>(g.SEARCH="search",g.TEMPLATE="template",g.ELASTIC_SEARCH="search-autocomplete",g.GPT="gpt",g.TRIE="trie",g.TRIE_WITH_TYPOS="trie-with-typos",g.SEMANTIC="semantic",g.TEXT_RECOMMENDATION="text_recommendation",g.URL_RECOMMENDATION="url_recommendation",g.LINK_RECOMMENDATION="link_recommendation",g.PERSONAL_COLLECTION="personal-collection",g.PERSONAL_COLLECTION_SEARCH="personal-collection-search",g.SEARCH_OVERLAY="search-overlay",g.SEARCH_PREVIEW="search-preview",g.SEARCH_URL="search-url",g))(ce||{}),je=(r=>(r.ENTER="enter",r.TAB="tab",r.ARROW="arrow",r.HOTKEY="hotkey",r.MOUSE="mouse",r))(je||{});import{render as So,unmountComponentAtNode as Qn}from"react-dom";import{Fragment as Qm}from"react";import{createSlice as Yd}from"@reduxjs/toolkit";import{useSelector as eu}from"react-redux";var Fo=(o=>(o.NL_NL="nl-NL",o.EN_US="en-US",o))(Fo||{});var tu={locale:"en-US",deanonymize:!1,fallbackImage:!1,isEmbedded:!1,showAutoflows:!1,showCustomMessages:!1,showImages:!1,showPersonalCollectionLink:!1,showSearch:!1,showImageSearch:!1,showStyleSuggestions:!1,showMidSentenceSuggestions:!1,showSuggestionsBeforePattern:!1,showSuggestionsAfterPattern:!1,showTabCompletion:!0,showTextSuggestions:!0,showEntitiesCommand:!1,showSummaryCommand:!1,showKnowledgeSearch:!1,textSuggestionsCount:3,recommendTextSuggestions:!0,searchTriggerKey:"k",visible:!0,insertLink:!1,inlineSuggestions:!1,adminUrl:void 0,productName:"Deepdesk"},hi=Yd({name:"settings",initialState:tu,reducers:{set(t,e){Object.entries(e.payload).forEach(o=>{let[n,s]=o;typeof s>"u"||(t[n]=s)})}}}),{set:qt}=hi.actions,_s=t=>e=>e.settings[t],b=t=>eu(_s(t)),yi=hi.reducer;import{useState as Hg}from"react";import{useDispatch as Bg,useSelector as tr}from"react-redux";import{createAction as qe,createSlice as cu}from"@reduxjs/toolkit";import{diffChars as pu}from"diff";import{useSelector as du}from"react-redux";function Si(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function Pe(t,e,o=10){let n=typeof t,s=typeof e;if(o===0)throw new Error("Max depth deepEqual, possible circular references?");return n!==s?!1:t==null||n==="string"||n==="number"||n==="boolean"?t===e:Array.isArray(t)&&Array.isArray(e)?t.length!==e.length?!1:t.every((r,i)=>Pe(r,e[i],o-1)):Si(t)&&Si(e)?Object.keys(t).length!==Object.keys(e).length?!1:Object.keys(t).every(i=>Pe(t[i],e[i],o-1)):!1}function ou(t){return Math.max(...t.map(e=>e.length))}function nu(t,e){let o=t.reduce((n,s)=>{if(s){let r=n[s]?n[s]+1:1;return{...n,[s]:r}}return n},{});return Object.keys(o).reduce((n,s)=>(o[s]<e&&n.push(s),n),[])}function vi(t,e){let n=[...t.map(({text:s})=>s.split(/\b(\w+)\b/))];for(let s=0;s<ou(n);s++){let r=nu(n.map(a=>a[s]),e),i=n.filter(a=>!r.includes(a[s]));if(i.length>=e)n=i;else return{text:n[0].slice(0,s).join("").replace(/ (\?| |!|\.|,|\n)/g,"$1").trimEnd(),source:"mixed"}}}var su=2;function xs(t,e=""){if(t.length===0)return;if(t.length===1)return t[0];let o=vi(t,su);return o&&o.text!==e?o:t[0]}import{createAction as ru,createAsyncThunk as lt,createSlice as iu}from"@reduxjs/toolkit";var _i={current:null,isSupported:null},R=ru("resetConversation"),Ko=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.sessionId)||null},Uo=t=>{let{current:e}=t.conversation;return(e==null?void 0:e.id)||null},ct=t=>t.conversation.isSupported,bs=lt("conversation/isSupported",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.isConversationSupported(t.sessionId,t.options)}),zo=lt("conversation/create",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.createConversation(t)}),jo=lt("conversation/bySessionId",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId,t.options)}),qo=lt("conversation/update",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=Uo(e.getState());if(!n)throw new Error("No current conversation to update");return o.updateConversation(n,t)}),Cs=lt("conversation/upsert",(t,e)=>{let{deepdeskAPI:o}=e.extra;return o.getConversationBySessionId(t.sessionId).catch(()=>null).then(n=>{if(!n)return o.createConversation(t);let{agentId:s,agentName:r,agentEmail:i,agentNickname:a,tags:l}=t;return o.updateConversation(n.id,{agentId:s,agentEmail:i,agentName:r,agentNickname:a,tags:l})})}),Vo=lt("conversation/postMessages",(t,e)=>{let{deepdeskAPI:o}=e.extra,n=Uo(e.getState());if(!n)throw new Error("No current conversation to update messages");return o.postMessages(n,t.map(s=>({...s})))}),au=[zo.rejected,jo.rejected,qo.rejected,Vo.rejected].map(t=>t==null?void 0:t.toString()),lu=iu({name:"conversation",initialState:_i,reducers:{},extraReducers:t=>{t.addCase(bs.fulfilled,(e,o)=>{e.isSupported=o.payload}).addCase(zo.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(jo.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Cs.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(qo.fulfilled,(e,o)=>{var n;e.current=o.payload,e.isSupported=((n=o.payload)==null?void 0:n.hasActiveProfile)??null}).addCase(Vo.fulfilled,(e,o)=>{e.current&&(e.current.messages=o.payload)}).addCase(R,()=>_i).addMatcher(e=>au.includes(e.type),(e,o)=>{throw new Error(o.error.message)})}}),xi=lu.reducer;var Ie={text:"",html:null,selection:{start:0,end:0},stagedSuggestion:null,userCommitted:{text:"",selection:{start:0,end:0}},tabCompletionSuggestion:void 0,previousKeyDownEvent:null,textSuggestions:[],selectedSuggestionIndex:-1,metrics:{numCharsTyped:0,numCharsPasted:0,numCharsCut:0,numCharsDeleted:0,numPaste:0,agentStartedTypingTimestamp:null,externalTimeTotalSeconds:null,pastes:[],deletions:[],offeredTextSuggestions:[],textSuggestions:[],cuts:[]}};function Go(t){let{key:e,shiftKey:o,ctrlKey:n,metaKey:s,altKey:r}=t;return{key:e,shiftKey:o,ctrlKey:n,metaKey:s,altKey:r}}var $o=qe("input/replaceText"),Xo=qe("input/keyDown"),Ve=qe("input/sendMessage"),Qo=qe("input/sendEditSuggestionMessage"),Zo=qe("input/uiInputChange"),Jo=qe("input/applyImageSuggestion"),J=qe("input/sendEvent");function Wo(t){if(!t.stagedSuggestion)return;let{text:e,suggestion:{source:o,abVariant:n,abTestName:s,trainingJobs:r,sourceText:i,searchTerm:a,text:l},eventMetrics:{inputType:c},replace:p}=t.stagedSuggestion,d=o==="search"||o==="personal-collection-search",u=e.slice(t.userCommitted.text.substring(0,t.userCommitted.selection.start).length);(d||p==="selection")&&(u=e),t.stagedSuggestion.suggestion.source==="search-overlay"&&(u=l),t.userCommitted.text=t.text,t.userCommitted.selection=t.selection,t.metrics.textSuggestions.push({text:u,source:o,abVariant:n,abTestName:s,inputType:c,sourceText:i,trainingJobs:r||[],searchTerm:d?t.userCommitted.text:a}),t.stagedSuggestion=null,t.textSuggestions=[],t.selectedSuggestionIndex=-1}var bi=t=>cu({name:t,initialState:Ie,reducers:{initialInput(e,o){let{text:n,selection:s,html:r}=o.payload;e.text=n,e.selection.start=(s==null?void 0:s.start)??n.length,e.selection.end=(s==null?void 0:s.end)??n.length,e.userCommitted.text=n,e.userCommitted.selection.start=(s==null?void 0:s.start)??n.length,e.userCommitted.selection.end=(s==null?void 0:s.end)??n.length,e.html=r||null},reset(e){Object.assign(e,{...Ie,selection:e.selection})},resetToCommitted(e){e.text=e.userCommitted.text,e.selection=e.userCommitted.selection,e.stagedSuggestion=null,e.tabCompletionSuggestion=xs(e.textSuggestions,e.userCommitted.text)},changeSelection(e,o){o.payload&&(Pe(e.selection,o.payload)||(e.selection=o.payload,e.userCommitted.selection=e.selection,e.stagedSuggestion&&Wo(e)))},platformInput(e,o){let{text:n,html:s,selection:r}=o.payload;r&&(e.selection.start=r.start,e.selection.end=r.end),e.text=n,e.html=s||null},userInput(e,o){var i,a,l,c;if(e.previousKeyDownEvent){let{key:p,shiftKey:d,ctrlKey:u,metaKey:m,altKey:f}=e.previousKeyDownEvent;switch(p){case"Enter":d&&(e.metrics.numCharsTyped+=1);break;case"Backspace":case"Delete":{let{text:g}=e,{text:x}=o.payload,w=pu(g,x);g.length-x.length>1&&e.metrics.deletions.push(...w.filter(h=>h.removed).map(h=>h.value)),e.metrics.numCharsDeleted+=g.length-x.length;break}case"C":case"V":case"X":if(!u&&!m){e.metrics.numCharsTyped+=1;let g=((i=e.selection)==null?void 0:i.start)!==void 0&&((a=e.selection)==null?void 0:a.end)!==void 0?e.text.substring(e.selection.start,e.selection.end):null;g&&g.length>0&&(e.metrics.numCharsDeleted+=g.length,e.metrics.deletions.push(g))}break;case"Shift":break;default:if(!u&&!m&&!f){e.metrics.numCharsTyped+=1;let g=((l=e.selection)==null?void 0:l.start)!==void 0&&((c=e.selection)==null?void 0:c.end)!==void 0?e.text.substring(e.selection.start,e.selection.end):null;g&&g.length>0&&(e.metrics.numCharsDeleted+=g.length,e.metrics.deletions.push(g))}}}!e.metrics.agentStartedTypingTimestamp&&o.payload.text!==e.text&&(e.metrics.agentStartedTypingTimestamp=Date.now()),o.payload.text===""&&(e.metrics=Ie.metrics,e.textSuggestions=[],e.stagedSuggestion=null),e.text!==o.payload.text&&Wo(e);let{text:n,html:s,selection:r}=o.payload;r&&(e.selection.start=r.start,e.selection.end=r.end,e.userCommitted.selection.start=r.start,e.userCommitted.selection.end=r.end),e.text=n,e.html=s||null,e.userCommitted.text=n,e.previousKeyDownEvent=null},stageSuggestion(e,o){let{text:n}=o.payload;switch(e.stagedSuggestion=o.payload,e.tabCompletionSuggestion=void 0,o.payload.replace){case"selection":e.text=`${e.text.slice(0,e.selection.start)}${n}${e.text.slice(e.selection.end)}`,e.selection.end=e.selection.start+n.length,e.selection.start+=n.length;break;case"until-selection-end":e.text=`${n}${e.text.slice(e.selection.end)}`,e.selection.start=n.length,e.selection.end=n.length;break;default:throw new Error(`Unknown replace ${o.payload.replace}`)}o.payload.eventMetrics.inputType==="tab"&&Wo(e)},commitSuggestion(e){Wo(e)},offeredTextSuggestion(e,o){let{text:n,suggestion:{source:s}}=o.payload;e.metrics.offeredTextSuggestions.find(i=>i.text===n)||e.metrics.offeredTextSuggestions.push({text:n,source:s})},registerCut(e,o){let{metrics:n}=e,s=o.payload;e.metrics={...e.metrics,numCharsCut:n.numCharsCut+s.length,cuts:[...n.cuts,s]}},registerPaste(e,o){let{metrics:n}=e,{text:s,selectionText:r}=o.payload,i=n.numCharsDeleted+(r&&r.length?r.length:0),a=r&&r.length?[...n.deletions,r]:n.deletions;e.metrics={...e.metrics,numCharsDeleted:i,deletions:a,numCharsPasted:n.numCharsPasted+s.length,numPaste:n.numPaste+1,pastes:[...n.pastes,s]}},registerKeyDown(e,o){e.previousKeyDownEvent=o.payload},nextTextSuggestionIndex(e){let o=e.textSuggestions.length;e.selectedSuggestionIndex=e.selectedSuggestionIndex<o-1?e.selectedSuggestionIndex+1:e.selectedSuggestionIndex},previousTextSuggestionIndex(e){e.selectedSuggestionIndex=e.selectedSuggestionIndex>=0?e.selectedSuggestionIndex-1:e.selectedSuggestionIndex},setTextSuggestions(e,o){if(e.selectedSuggestionIndex=-1,e.textSuggestions=o.payload,o.payload.length===0)return;let n=e.userCommitted.text.substring(0,e.userCommitted.selection.end),s=xs(o.payload,n);e.tabCompletionSuggestion=s!=null&&s.text.includes(n)?s:void 0},setSelectedTextSuggestionIndex(e,o){e.selectedSuggestionIndex=o.payload},mergeMetrics(e,{payload:o}){let n=o.agentStartedTypingTimestamp!=null?o.agentStartedTypingTimestamp:Date.now(),s=(Date.now()-n)/1e3;e.metrics.externalTimeTotalSeconds=s,e.metrics.numCharsTyped+=o.numCharsTyped,e.metrics.numCharsPasted+=o.numCharsPasted,e.metrics.numCharsCut+=o.numCharsCut,e.metrics.numCharsDeleted+=o.numCharsDeleted,e.metrics.numPaste+=o.numPaste,e.metrics.pastes.push(...o.pastes),e.metrics.deletions.push(...o.deletions)}},extraReducers:e=>{e.addCase(R,o=>{o.tabCompletionSuggestion=Ie.tabCompletionSuggestion,o.previousKeyDownEvent=Ie.previousKeyDownEvent,o.textSuggestions=Ie.textSuggestions,o.selectedSuggestionIndex=Ie.selectedSuggestionIndex,o.metrics=Ie.metrics})}}),ws=bi("input"),pt=t=>t.input.userCommitted.text.substring(0,t.input.userCommitted.selection.end),uu=t=>t.input.selection,Ci=()=>du(uu),{userInput:wi,changeSelection:Ts,initialInput:Ti,mergeMetrics:Ei,nextTextSuggestionIndex:ki,offeredTextSuggestion:Ri,previousTextSuggestionIndex:Pi,registerCut:Ii,registerKeyDown:Ai,registerPaste:Li,reset:Mi,resetToCommitted:Vt,platformInput:Oi,setSelectedTextSuggestionIndex:Wt,setTextSuggestions:he,stageSuggestion:re,commitSuggestion:Ae}=ws.actions,W=bi("overlay");import{useEffect as Di,useRef as Hi}from"react";var Ni={root:"_root_1qp5s_1",content:"_content_1qp5s_23"};import{jsx as Bi}from"react/jsx-runtime";var gu=({isOpen:t,autoFocus:e,children:o,onClose:n,onBack:s,overlayAriaLabel:r,contentAriaLabel:i})=>{let a=Hi(null),l=Hi(null),c=S("Dialog",Ni);return Di(()=>{var u,m;let p=f=>{f.key==="Escape"&&(f.preventDefault(),f.stopPropagation(),s())},d=f=>{let g=window.getSelection();g!=null&&g.toString()||f.target===a.current&&t&&n()};return(u=a.current)==null||u.addEventListener("click",d),(m=a.current)==null||m.addEventListener("keyup",p),()=>{var f,g;(f=a.current)==null||f.removeEventListener("click",d),(g=a.current)==null||g.removeEventListener("keyup",p)}},[a,l,s,n]),Di(()=>{var p,d;!a.current||!t||!e||(d=(p=a.current)==null?void 0:p.querySelector("input, textarea"))==null||d.focus()},[t,e,a]),t?Bi("div",{role:"dialog","data-testid":"dialog",className:c.root,"aria-label":r,ref:a,children:Bi("div",{ref:l,"data-testid":"dialog-content",className:c.content,"aria-label":i,children:o})}):null},dt=gu;import{useEffect as ka}from"react";import{useDispatch as Sg,useSelector as vg}from"react-redux";var Es={};U(Es,{enUS:()=>mu,nlNL:()=>fu});var mu={dismiss:[{type:0,value:"Close"}],add:[{type:0,value:"Add to message"}],next:[{type:0,value:"Next"}],previous:[{type:0,value:"Previous"}],warning:[{type:0,value:"Are you sure you want to discard the message?"}]},fu={dismiss:[{type:0,value:"Sluiten"}],add:[{type:0,value:"Toevoegen"}],next:[{type:0,value:"Volgende"}],previous:[{type:0,value:"Vorige"}],warning:[{type:0,value:"Weet je zeker dat je de wijzigingen wilt weggooien?"}]};var Fi={root:"_root_l80t9_1",content:"_content_l80t9_3",title:"_title_l80t9_7",actions:"_actions_l80t9_15",pagination:"_pagination_l80t9_20",primaryButton:"_primaryButton_l80t9_51",primaryButtons:"_primaryButtons_l80t9_55"};import{jsx as Ki,jsxs as hu}from"react/jsx-runtime";var Yo=()=>hu("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleLeftTitle",children:[Ki("title",{id:"angleLeftTitle",children:"AngleLeft"}),Ki("path",{d:"M192 448c-8.188 0-16.38-3.125-22.62-9.375l-160-160c-12.5-12.5-12.5-32.75 0-45.25l160-160c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25L77.25 256l137.4 137.4c12.5 12.5 12.5 32.75 0 45.25C208.4 444.9 200.2 448 192 448z"})]});import{jsx as Ui,jsxs as yu}from"react/jsx-runtime";var zi=()=>yu("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 512","aria-labelledby":"angleRightTitle",children:[Ui("title",{id:"angleRightTitle",children:"AngleRight"}),Ui("path",{d:"M64 448c-8.188 0-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L178.8 256L41.38 118.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160c12.5 12.5 12.5 32.75 0 45.25l-160 160C80.38 444.9 72.19 448 64 448z"})]});import{useEffect as Gt,useRef as Ns,useState as Nu}from"react";import{useDispatch as Du}from"react-redux";import{Interweave as Hu}from"interweave";import ra from"classnames";var ks={root:"_root_kxnai_1",agentText:"_agentText_kxnai_3",textInput:"_textInput_kxnai_8",textInputWrapper:"_textInputWrapper_kxnai_27",alert:"_alert_kxnai_31",alertText:"_alertText_kxnai_50",warning:"_warning_kxnai_60",success:"_success_kxnai_69"};import{Matcher as xu}from"interweave";import bu from"classnames";import{useEffect as Su,useRef as vu,useState as _u}from"react";function ji(t,e){let o;return[(...n)=>{window.cancelAnimationFrame(o);let s=e?e(...n):n;o=window.requestAnimationFrame(()=>{t(...s)})},()=>window.cancelAnimationFrame(o)]}function en(t){let e=vu(null),[o,n]=_u(!1);return Su(()=>{let s=!1,r=parseFloat(window.getComputedStyle(document.body).zoom??"1"),[i,a]=ji((p,d)=>{let u=e.current;if(!u)return;let m=p/r,f=d/r,g=u.getBoundingClientRect(),x=m>g.x&&m<g.x+g.width&&f>g.y&&f<g.y+g.height;x&&!s?(s=!0,n(!0)):!x&&s&&(s=!1,n(!1))},({clientX:p,clientY:d})=>[p,d]),[l,c]=ji(()=>{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]}var ye={root:"_root_81non_1",container:"_container_81non_3",agentText:"_agentText_81non_5",tabText:"_tabText_81non_6",hint:"_hint_81non_6",matchSelection:"_matchSelection_81non_10",focus:"_focus_81non_16",resetIndent:"_resetIndent_81non_20",matchKeyword:"_matchKeyword_81non_24",matchPlaceholder:"_matchPlaceholder_81non_25",hover:"_hover_81non_31",hintText:"_hintText_81non_64",popover:"_popover_81non_72",popoverRoot:"_popoverRoot_81non_77",popoverContentContainer:"_popoverContentContainer_81non_81",popoverContent:"_popoverContent_81non_81",selectionOptions:"_selectionOptions_81non_107",selectionOptionsIsHidden:"_selectionOptionsIsHidden_81non_112",selectionOptionsButton:"_selectionOptionsButton_81non_116",caret:"_caret_81non_132",popoverSuggestionsRoot:"_popoverSuggestionsRoot_81non_136",suggestionsOverlayInputStyles:"_suggestionsOverlayInputStyles_81non_141"};import{jsx as qi}from"react/jsx-runtime";var Cu=({inputElement:t,children:e})=>{let o=S("TabCompletion",ye),[n,s]=en(t);return qi("mark",{ref:n,className:bu(o.matchPlaceholder,{[o.hover]:s}),children:e})},ut=class extends xu{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 qi(Cu,{inputElement:o.inputElement,children:e},`placeholder_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import{useEffect as wu,useRef as Tu,useState as Eu}from"react";function tn(t){return t.contentEditable==="true"}function ku(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 Vi(t){let{selectionStart:e,selectionEnd:o}=tn(t)?ku(t):t;return[e,o]}function on(t){let[,e]=Eu(),o=Tu(null);return o.current=Vi(t),wu(()=>{let n=()=>{let[s,r]=o.current??[],i=Vi(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 nn(t,e){if(!e)return;let o=t,{value:n}=o,[s,r]=e,i=n.match(at);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{useEffect as Ru}from"react";function gt(t){Ru(()=>{let e=o=>{o.isWithinRoot||t(o)};return document.body.addEventListener("mouseup",e),()=>{document.body.removeEventListener("mouseup",e)}},[t])}function We(t){t.addEventListener("mouseup",e=>{e.isWithinRoot=!0},!0)}var Wi,pe=new Map,Pu=["bottom","height","left","right","top","width"],Iu=(t={},e={})=>Pu.some(o=>t[o]!==e[o]);function Gi(t){var o,n;let e=((n=(o=t.ownerDocument)==null?void 0:o.defaultView)==null?void 0:n.frameElement)??null;return e?[e,...Gi(e)]:[]}function $i(t,e){return!t||!e?null:{...t,top:t.top+e.top,left:t.left+e.left}}var Rs=!1,Xi=()=>{Rs=!0;let t=[];pe.forEach((e,o)=>{if(!o.isConnected){e.rect=null,t.push(e),pe.delete(o);return}let n=o.getBoundingClientRect();Iu(n,e.rect)&&(e.rect=n,t.push(e))}),t.forEach(e=>{let o=e.parentRects?e.parentRects.reduce($i,e.rect):e.rect;e.callbacks.forEach(n=>n(o))}),pe.size!==0&&(Wi=window.requestAnimationFrame(Xi))};function Ps(t,e){let o=Gi(t),n=[],s=o.map((r,i)=>Ps(r,a=>{n[i]=a;let l=pe.get(t);if(!l)return;let c=n.reduce($i,l.rect);l.callbacks.forEach(p=>p(c))}));return{observe(r=!0){if(s.forEach(i=>i.observe(!1)),pe.has(t)){let i=pe.get(t);i.callbacks.push(e),i.rect&&e(i.rect)}else pe.set(t,{rect:void 0,callbacks:[e],parentRects:n});r&&!Rs&&Xi()},unobserve(){s.forEach(i=>i.unobserve());let r=pe.get(t);if(r){let i=r.callbacks.indexOf(e);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||pe.delete(t),pe.size||(cancelAnimationFrame(Wi),Rs=!1)}}}}var Qi,de=new Map,Zi=()=>{de.forEach((t,e)=>{if(!e.isConnected){de.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)))}),de.size!==0&&(Qi=window.requestAnimationFrame(Zi))};function Ji(t,e){return{observe(){let o=de.size===0;de.has(t)?de.get(t).callbacks.push(e):de.set(t,{visible:void 0,callbacks:[e]}),o&&Zi()},unobserve(){let o=de.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||de.delete(t),de.size||cancelAnimationFrame(Qi)}}}}var Is=["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 As(t,e,o){return o.forEach(n=>{e.style[n]=t[n]})}function mt(t){return parseFloat(t)}function sn(t){return Math.round(t*1e6)}function Yi(t){return t/1e6}function Ls(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=Yi(sn(s)-sn(r)-sn(i)),c=Yi(sn(n));if(l-c>2){let p=l-c;o.style.paddingRight=`${a+p}px`}}function ft(t,e={}){var l;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",We(o);let n=window.getComputedStyle(t),s=!0,r=()=>{o.scrollTop=t.scrollTop};As(n,o,Is),Ls(n,t,o),e.mirrorOverflow&&(o.style.overflow="hidden",t.addEventListener("scroll",r));let i=Ji(t,()=>{As(n,o,Is),Ls(n,t,o),r(),setTimeout(r,0)}),a=Ps(t,c=>{if(c===null){e.onRemove&&e.onRemove(),o.remove();return}if(c.height===0&&c.width===0){if(s===!0)return;e.onHide&&e.onHide(),o.style.display="none",s=!0;return}if(As(n,o,Is),Ls(n,t,o),r(),o.style.top=`${c.top}px`,o.style.left=`${c.left}px`,e.closestScrollElement&&e.closestScrollElement!==t){let p=e.closestScrollElement.getBoundingClientRect(),d=window.getComputedStyle(e.closestScrollElement),u=mt(d.borderTopWidth),m=mt(d.borderBottomWidth),f=p.top+u-c.top,g=c.top+c.height+-(p.top+p.height-m);o.style.clipPath=`inset(${f}px 0px ${g}px 0px)`}s&&(o.style.display="block",e.onShow&&e.onShow(),s=!1)});return e.appendTo?e.appendTo.appendChild(o):(l=t.parentElement)==null||l.appendChild(o),a.observe(),i.observe(),[o,()=>{t.removeEventListener("scroll",r),a.unobserve(),i.unobserve()}]}var Ms={};U(Ms,{enUS:()=>Au,nlNL:()=>Lu});var Au={placeholders:[{type:6,value:"placeholderSize",options:{"=0":{value:[{type:0,value:"No placeholders found"}]},one:{value:[{type:0,value:"There is one placeholder in your message"}]},other:{value:[{type:0,value:"There are "},{type:7},{type:0,value:" placeholders in your message"}]}},offset:0,pluralType:"cardinal"}]},Lu={placeholders:[{type:6,value:"placeholderSize",options:{"=0":{value:[{type:0,value:"Alle placeholders zijn uit je bericht"}]},one:{value:[{type:0,value:"Er is 1 placeholder in jouw bericht"}]},other:{value:[{type:0,value:"Er zijn "},{type:7},{type:0,value:" placeholders in jouw bericht"}]}},offset:0,pluralType:"cardinal"}]};import{jsx as ea,jsxs as Mu}from"react/jsx-runtime";var ta=()=>Mu("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 512 512","aria-labelledby":"circleCheckTitle",children:[ea("title",{id:"circleCheckTitle",children:"Check"}),ea("path",{d:"M243.8 339.8C232.9 350.7 215.1 350.7 204.2 339.8L140.2 275.8C129.3 264.9 129.3 247.1 140.2 236.2C151.1 225.3 168.9 225.3 179.8 236.2L224 280.4L332.2 172.2C343.1 161.3 360.9 161.3 371.8 172.2C382.7 183.1 382.7 200.9 371.8 211.8L243.8 339.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z"})]});import{jsx as oa}from"react/jsx-runtime";var na=()=>oa("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"currentColor",children:oa("path",{d:"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32z"})});function Ou(t){let e=t.scrollHeight>t.clientHeight,n=window.getComputedStyle(t).overflowY.indexOf("hidden")!==-1;return e&&!n}function rn(t){return t?t instanceof ShadowRoot?rn(t.host):t===t.ownerDocument.body?t.ownerDocument:Ou(t)?t:rn(t.parentNode):document.body}var sa=(i=>(i.CUT="Cut",i.BACKSPACE="Backspace",i.DELETE="Delete",i.ERASEEOF="EraseEof",i.UNDO="Undo",i.CLEAR="Clear",i))(sa||{}),Le=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(sa).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",n=>this.handleKeyDown(n)),this.addEventListener("keyup",n=>this.handleKeyUp(n)),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",n=>this.handlePaste(n)),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()});let o=rn(this.element);if(o){let n=()=>{this.currentCaret!==null&&(this.currentCaret=null,this.emit("caret",null))};o.addEventListener("scroll",n),this.disposeHandlers.push(()=>{o.removeEventListener("scroll",n)})}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}};var Me=class extends Le{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())}};import{jsx as Se,jsxs as Os}from"react/jsx-runtime";var Bu=({value:t,onUse:e,...o})=>{var p;let n=T(Ms),s=Du(),r=S("EditSuggestionTextInput",ks),[i,a]=Nu(null),l=Ns(null),c=((p=t.match(at))==null?void 0:p.length)||0;return Gt(()=>{let d;return l.current&&(a(l.current),d=new Me(l.current),d.on("change",({plainText:u})=>{s(W.actions.userInput({text:u,selection:d.getSelection()}))}),d.on("keydown",u=>{s(W.actions.registerKeyDown(Go(u))),u.code==="Enter"&&u.shiftKey&&e(d.getText())}),d.on("paste",({pastedText:u,selectionText:m})=>{s(W.actions.registerPaste({text:u,selectionText:m}))}),d.on("cut",({selectionText:u})=>{s(W.actions.registerCut(u))})),()=>{s(W.actions.reset()),d.dispose(),d.deactivate()}},[l]),Gt(()=>{t&&l.current&&(l.current.value=t)},[t,l]),Gt(()=>{l.current&&setTimeout(()=>{if(!l.current)return;let d=l.current.value.length;l.current.setSelectionRange(d,d),l.current.focus()},0)},[l]),Os("div",{className:r.textInputWrapper,children:[Se("textarea",{...o,ref:l,"data-testid":"edit-suggestion-dialog-textarea",className:r.textInput,defaultValue:t,onChange:()=>{}}),i&&Se(Fu,{inputElement:l.current,value:t}),Os("div",{className:ra(r.alert,c===0?r.success:r.warning),children:[Se("div",{className:r.alertText,children:n("placeholders",{placeholderSize:c})}),c===0?Se(ta,{}):Se(na,{})]})]})},Fu=({inputElement:t,value:e})=>{let o=S("EditSuggestionTextInput",ks),n=Ns(null),s=on(t);return Gt(()=>{nn(t,s)},[s,t]),Se(Ku,{inputElement:t,children:Os("div",{ref:n,className:ra(o.root,o.agentText),children:[Se(Hu,{tagName:"span",disableLineBreaks:!0,content:e,matchers:[new ut("placeholders")],inputElement:t,boundaryRef:n}),Se("br",{})]})})},Ku=({inputElement:t,children:e})=>{let o=Ns(null);return Gt(()=>{if(!o.current)return()=>{};let[n,s]=ft(t,{overlayContainer:o.current,mirrorOverflow:!0});return n.setAttribute("translate","no"),()=>{s()}},[o.current]),Se("div",{ref:o,children:e})},ia=Bu;import{useEffect as mg,useState as fg,useRef as hg}from"react";import{useState as ju}from"react";import Ds from"classnames";var G={root:"_root_185k9_1",list:"_list_185k9_2",listWrapper:"_listWrapper_185k9_6",listHorizontal:"_listHorizontal_185k9_10",page:"_page_185k9_19",search:"_search_185k9_25",pageNav:"_pageNav_185k9_33",pageTitle:"_pageTitle_185k9_41",pageBackButton:"_pageBackButton_185k9_48",listHeading:"_listHeading_185k9_62",listItem:"_listItem_185k9_70",listItemContent:"_listItemContent_185k9_79",listItemText:"_listItemText_185k9_97",listItemDescription:"_listItemDescription_185k9_105",truncate:"_truncate_185k9_112",lineClamp:"_lineClamp_185k9_118",listItemTitle:"_listItemTitle_185k9_125",listItemAction:"_listItemAction_185k9_132",listItemPrimaryAction:"_listItemPrimaryAction_185k9_146",listItemSelected:"_listItemSelected_185k9_151",sources:"_sources_185k9_155",sourcesTitle:"_sourcesTitle_185k9_162",source:"_source_185k9_155",icon:"_icon_185k9_177",searchIcon:"_searchIcon_185k9_194",searchInputWrapper:"_searchInputWrapper_185k9_199",searchInput:"_searchInput_185k9_199",select:"_select_185k9_220",selectType:"_selectType_185k9_237",selectWrapper:"_selectWrapper_185k9_241",image:"_image_185k9_271",imageSrc:"_imageSrc_185k9_278",imageSrcHidden:"_imageSrcHidden_185k9_289",imageSrcStatus:"_imageSrcStatus_185k9_293",imageTitle:"_imageTitle_185k9_303",actions:"_actions_185k9_308",actionsWrapper:"_actionsWrapper_185k9_312",actionsBar:"_actionsBar_185k9_318",actionButton:"_actionButton_185k9_327",actionShortcut:"_actionShortcut_185k9_345",actionShortcutFixKerning:"_actionShortcutFixKerning_185k9_352"};var Ge={};U(Ge,{enUS:()=>Uu,nlNL:()=>zu});var Uu={visitUrl:[{type:0,value:"Visit"}],back:[{type:0,value:"Back"}],loading:[{type:0,value:"Loading..."}],imageError:[{type:0,value:"Could not load image"}]},zu={visitUrl:[{type:0,value:"Bekijk"}],back:[{type:0,value:"Terug"}],loading:[{type:0,value:"Laden..."}],imageError:[{type:0,value:"Kan afbeelding niet laden"}]};import{jsx as $t,jsxs as Vu}from"react/jsx-runtime";var qu=({src:t,title:e})=>{let o=S("CommandPalette",G),[n,s]=ju("loading"),r=T(Ge);return Vu("div",{className:o.image,children:[$t("img",{src:t,alt:e,onLoad:()=>s("done"),onError:()=>s("error"),className:Ds(o.imageSrc,{[o.imageSrcHidden]:["loading","error"].includes(n)})}),n==="loading"&&$t("span",{className:Ds(o.imageSrc,o.imageSrcStatus),children:r("loading")}),n==="error"&&$t("span",{className:Ds(o.imageSrc,o.imageSrcStatus),children:$t(xo,{})}),e&&$t("span",{className:o.imageTitle,children:e})]})},aa=qu;import Wu from"react";import Gu from"classnames";import{jsx as la,jsxs as $u}from"react/jsx-runtime";function Hs({children:t,heading:e,orientation:o}){let n=S("CommandPalette",G);return Wu.Children.count(t)===0?null:$u("div",{"data-testid":"commandpalette-list",className:n.list,children:[e&&la("h4",{className:n.listHeading,children:e}),la("div",{className:Gu(n.listWrapper,o==="horizontal"&&n.listHorizontal),children:t})]})}import an from"classnames";import Bs from"react";import{jsx as Xu}from"react/jsx-runtime";var ca=Bs.createContext(void 0);function Oe(){let t=Bs.useContext(ca);if(t===void 0)throw new Error("useCommandPalette must be used within the CommandPalette component");return t}var pa=({children:t,page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r})=>{let i=Bs.useMemo(()=>({page:e,isOpen:o,onChangeOpen:n,selected:s,setSelected:r}),[o,e,s]);return Xu(ca.Provider,{value:i,children:t})};import{jsx as ht,jsxs as ln}from"react/jsx-runtime";function Fs({closeOnSelect:t=!0,lineClamp:e,children:o,onClick:n,onSourceClick:s,index:r,isExperimental:i,description:a,sources:l,styles:c,...p}){let{selected:d,onChangeOpen:u}=Oe(),m=S("CommandPalette",G);function f(g){n(g),t&&u(!1)}return ln("div",{className:an(m.listItem,d===r&&m.listItemSelected),children:[ln("button",{type:"button",className:an("command-palette-list-item",m.listItemAction,m.listItemPrimaryAction),"aria-disabled":p.disabled??!1,onClick:f,...p,children:[ln("div",{className:m.listItemContent,children:[typeof o=="string"?ht("p",{className:an(m.listItemText,m.truncate,c==null?void 0:c.title),children:o}):o,a&&ht("p",{className:an(m.listItemDescription,c==null?void 0:c.description,e?m.lineClamp:m.truncate),children:a})]}),i&&ht(Ho,{})]}),l&&ln("div",{className:m.sources,children:[ht("span",{className:m.sourcesTitle,children:"Sources"}),l.map(g=>g.url?ht("a",{className:m.source,href:g.url,target:"_blank",title:g.url,rel:"noopener noreferrer",onClick:()=>s&&s(g),children:g.name},g.url):ht("span",{className:m.source,children:g.name},g.name))]})]})}import{jsx as Ks,jsxs as Us}from"react/jsx-runtime";function zs({children:t,title:e,id:o,onDismiss:n,isExperimental:s}){let r=T(Ge),i=S("CommandPalette",G),{page:a}=Oe();return a!==o?null:Us("div",{className:i.page,id:`page_${o}`,tabIndex:-1,children:[n&&Us("div",{className:i.pageNav,children:[Us("button",{className:i.pageBackButton,type:"button",onClick:n,children:[Ks(Yo,{}),r("back")]}),e&&Ks("h3",{className:i.pageTitle,children:e}),s&&Ks(Ho,{})]}),t]})}import{Fragment as ig,useCallback as ag,useEffect as lg,useRef as cg}from"react";var cn=()=>/Mac/i.test(navigator.platform);import{createAsyncThunk as eg,createSlice as tg}from"@reduxjs/toolkit";var Qu={info(...t){console.info("[Deepdesk]",...t)},warn(...t){console.warn("[Deepdesk]",...t)},error(...t){console.error("[Deepdesk]",...t)}},E=Qu;import{createAsyncThunk as qs,createSlice as Ju}from"@reduxjs/toolkit";function Zu(t){return t.replace(/(_\w)/g,e=>e[1].toUpperCase())}function A(t){return Array.isArray(t)?t.map(A):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>({...e,[Zu(o)]:A(t[o])}),{}):t}function js(t){return t.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function B(t){return Array.isArray(t)?t.map(B):typeof t=="object"&&t!==null?Object.keys(t).reduce((e,o)=>({...e,[js(o)]:B(t[o])}),{}):t}var Yu={agentInfo:void 0,agentSettings:{},visitorInfo:void 0,fetchState:"idle"},Qt=t=>{var e,o,n;return{timezone:((e=t.info.visitorInfo)==null?void 0:e.visitorTimeZone)||Intl.DateTimeFormat().resolvedOptions().timeZone,agentName:((o=t.info.agentInfo)==null?void 0:o.agentNickname)||"",visitorName:((n=t.info.visitorInfo)==null?void 0:n.visitorName)||""}},Xt=qs("info/setAgentInfo",async(t,e)=>{let{deepdeskAPI:o}=e.extra;if(!t.agentId&&!t.agentNickname)throw new Error("At least provide agentId or agentNickname");let n=await o.client.get("/apis/admin/session/me/",{version:null}),s={};return n.external_id||(s.external_id=t.agentId),n.nickname||(s.nickname=t.agentNickname),!s.external_id&&!s.nickname?A(n):(await o.client.patch("/apis/admin/session/me/",s,{version:null}),A(n))}),Vs=qs("info/setAgentSettings",async(t,e)=>{let{deepdeskAPI:o}=e.extra,n=await o.client.get("/apis/admin/session/me/",{version:null}),s={...typeof n.ui_config=="object"?n.ui_config:{},...t};return await o.client.patch("/apis/admin/session/me/",{ui_config:s}),s}),Ws=qs("info/getAgentSettings",async(t,e)=>{let{deepdeskAPI:o}=e.extra;return(await o.client.get("/apis/admin/session/me/",{version:null})).ui_config}),da=t=>t.info.agentInfo,ua=Ju({name:"info",initialState:Yu,reducers:{setVisitorInfo(t,e){t.visitorInfo={...t.visitorInfo,...e.payload}}},extraReducers:t=>{t.addCase(Xt.pending,(e,o)=>{e.fetchState="loading",e.agentInfo={...e.agentInfo,...o.meta.arg}}).addCase(Xt.rejected,e=>{e.fetchState="error"}).addCase(Xt.fulfilled,(e,o)=>{e.fetchState="done",e.agentInfo={...e.agentInfo,...o.meta.arg,agentId:o.payload.externalId||o.meta.arg.agentId||"",agentNickname:o.payload.nickname||o.meta.arg.agentNickname||""}}).addCase(Vs.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(Ws.fulfilled,(e,o)=>{e.agentSettings=o.payload}).addCase(R,e=>{e.visitorInfo=void 0})}}),{setVisitorInfo:ga}=ua.actions,ma=ua.reducer;var pn={list:[],fetchState:"idle",isOpen:!1,page:"search"},fa=t=>t.search.isOpen,ha=t=>t.search.page,ya=t=>t.search.list;function Sa(t,e=o=>o){return o=>o.search.list.filter(n=>n.type===t).map(e)}var $e=eg("search/getAll",async(t,e)=>{var i;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(i=n.conversation.current)==null?void 0:i.profileCode;if(!s)throw new Error("Profile should be provided in order to be able to search");let{results:r}=await o.search({profile:s,query:t.query,filters:{type:t.type},params:Qt(n),tags:t.tags});return r.map(a=>({...a,source:`search-${a.type.toLowerCase()}`,searchTerm:t.query}))}),va=tg({name:"search",initialState:pn,reducers:{setIsOpen(t,e){t.isOpen=e.payload},setPage(t,e){t.page=e.payload},resetSearch(t){t.fetchState=pn.fetchState,t.list=pn.list}},extraReducers:t=>{t.addCase($e.pending,e=>{e.fetchState="loading"}).addCase($e.rejected,(e,o)=>{e.fetchState="error",E.error(o.error)}).addCase($e.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload}).addCase(R,()=>pn)}}),{resetSearch:dn,setIsOpen:Y,setPage:j}=va.actions,_a=va.reducer;var og=/(https?:\/\/[^\s]+)/,un=t=>t.split(" ").find(e=>og.test(e));import xa from"classnames";import{jsx as sg,jsxs as rg}from"react/jsx-runtime";var ng=({onClick:t,shortKeys:e,children:o,...n})=>{let s=S("CommandPalette",G);return rg("button",{type:"button",...n,onClick:t,className:xa(s.actionButton,n.className),children:[o,e&&e.map(r=>sg("span",{className:xa(s.actionShortcut,r===8629&&s.actionShortcutFixKerning),children:typeof r=="number"?String.fromCharCode(r):r},r))]})},yt=ng;import{jsx as gn,jsxs as Gs}from"react/jsx-runtime";var pg=({children:t,primaryLabel:e,secondaryLabel:o,onPrimary:n,onSecondary:s,list:r})=>{let i=S("CommandPalette",G),a=T(Ge),{selected:l,setSelected:c}=Oe(),p=r[l],d=p&&typeof p.text=="string"&&un(p.text),u=cg(null);function m(y){if(!u.current)return;let _=u.current.querySelectorAll(".command-palette-list-item"),C=0,H=0;y==="down"?(_.forEach((le,N)=>{N===l&&(C=N)}),H=C===_.length-1?0:C+1):y==="up"?(_.forEach((le,N)=>{N===l&&(C=N)}),H=C?C-1:_.length-1):c(0);let O=_[H];O&&typeof H=="number"&&(c(H),O.scrollIntoView&&O.scrollIntoView({behavior:"smooth",block:H?"center":"end"}))}function f(){if(!u.current)return;let y=u.current.querySelectorAll(".command-palette-list-item"),_=0;y.forEach((H,O)=>{O===l&&(_=O)});let C=y[_];C&&C.click()}let g=()=>{d&&window.open(d,"_blank")},x=()=>{p&&n(p,l)},w=()=>{!p.type||["IMAGE","command"].includes(p.type)||s&&s(p,l)},h=ag(y=>{if(y.key==="Enter"&&y.altKey&&d){g();return}if(y.key==="Enter"&&y.shiftKey){w();return}if(y.key==="ArrowDown"){y.preventDefault(),y.stopPropagation(),m("down");return}if(y.key==="ArrowUp"){y.preventDefault(),y.stopPropagation(),m("up");return}y.key==="Enter"&&l!==-1&&(y.preventDefault(),y.stopPropagation(),f())},[l]);return lg(()=>(window.addEventListener("keyup",h),()=>{window.removeEventListener("keyup",h)}),[h]),Gs("div",{className:i.actions,children:[gn("div",{className:i.actionsWrapper,ref:u,children:t}),Gs("div",{className:i.actionsBar,children:[d&&gn(yt,{onClick:g,shortKeys:[cn()?8997:"ALT",8629],children:a("visitUrl")}),p&&Gs(ig,{children:[s&&p.type&&!["command","image"].includes(p.type.toLowerCase())&&gn(yt,{onClick:w,shortKeys:[8679,8629],children:o}),gn(yt,{onClick:x,shortKeys:[8629],children:e})]})]})]})},Ca=pg;import{forwardRef as ug}from"react";import{jsx as wa,jsxs as dg}from"react/jsx-runtime";var St=()=>dg("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 0 24 24",width:"1em",fill:"currentColor",children:[wa("path",{d:"M0 0h24v24H0z",fill:"none"}),wa("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})]});import{jsx as vt,jsxs as $s}from"react/jsx-runtime";function gg({onChange:t,onChangeType:e,placeholder:o,typePlaceholder:n,types:s,value:r,selectedType:i},a){let l=S("CommandPalette",G);return $s("div",{className:l.search,children:[vt("div",{className:l.searchIcon,children:vt(St,{})}),$s("div",{className:l.searchInputWrapper,children:[vt("input",{ref:a,spellCheck:!1,autoComplete:"off",onChange:c=>{t(c.currentTarget.value)},onFocus:c=>{c.currentTarget.select()},className:l.searchInput,placeholder:o,value:r,type:"text",id:"command-palette-search-input",autoFocus:!0}),s&&s.length>0&&vt("div",{className:l.selectWrapper,children:$s("select",{"data-testid":"command-palette-type-select",className:l.select,onChange:c=>e(c.target.value===n?void 0:c.target.value),value:i||n,children:[n&&vt("option",{children:n}),s.map(c=>vt("option",{value:c.value,children:c.label},c.value))]})})]})]})}var Ta=ug(gg);import{jsx as Ea,jsxs as yg}from"react/jsx-runtime";function Xe({placeholder:t="Start typing to search...",typePlaceholder:e="All types",defaultPage:o="search",page:n,onChangePage:s,onChangeSearch:r,onChangeType:i,onChangeOpen:a,selectedType:l,types:c,children:p,isOpen:d,search:u}){let[m,f]=fg(0),g=hg(null),x=()=>{s&&s(o),i(void 0),r(""),a(!1)},w=()=>{var h;if(n!==o&&s){s(o);return}if(l&&i){i(void 0),(h=g.current)==null||h.focus();return}if(u.length>0){r("");return}a(!1)};return mg(()=>{f(0)},[u,n]),Ea(dt,{autoFocus:!0,contentAriaLabel:"Search Results",overlayAriaLabel:"Command Palette",isOpen:d,onBack:w,onClose:x,children:yg(pa,{selected:m,setSelected:f,isOpen:d,onChangeOpen:a,page:n,children:[n===o&&Ea(Ta,{ref:g,onChange:r,onChangeType:i,placeholder:t,value:u,selectedType:l,types:c,typePlaceholder:e}),p]})})}Xe.Page=zs;Xe.List=Hs;Xe.Image=aa;Xe.ListItem=Fs;Xe.ActionsBar=Ca;Xe.Button=yt;var P=Xe;import{jsx as ve,jsxs as Zt}from"react/jsx-runtime";var _g=({suggestion:t,onUse:e,onDismiss:o,onTouched:n,onNext:s,onPrevious:r})=>{let i=t.text||t.url||t.message,a=S("EditSuggestionForm",Fi),l=Sg(),c=T(Es),p=vg(f=>f.overlayInput.text);ka(()=>{t&&(l(W.actions.reset()),l(W.actions.stageSuggestion({text:i,suggestion:t,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"})),l(W.actions.commitSuggestion()))},[t]);let d=f=>{f.preventDefault(),u(p)},u=f=>{l(Qo(f)),e(f)},m=f=>g=>{p!==i?window.confirm(c("warning"))&&f(g):f(g)};return ka(()=>{n&&n(p!==i)},[n,t,p]),Zt("div",{className:a.root,children:[Zt("div",{className:a.content,children:[t.title&&ve("h3",{className:a.title,children:t.title}),t.searchKeywords&&t.searchKeywords.length>0&&ve(Ss,{labels:t.searchKeywords}),ve(ia,{onUse:u,value:p})]}),Zt("form",{className:a.actions,onSubmit:d,children:[Zt("div",{children:[ve("button",{disabled:!r,className:a.pagination,type:"button",onClick:r&&m(r),children:ve(Yo,{})}),ve("button",{disabled:!s,className:a.pagination,type:"button",onClick:s&&m(s),children:ve(zi,{})})]}),Zt("div",{className:a.primaryButtons,children:[ve(P.Button,{onClick:m(o),shortKeys:["esc"],children:c("dismiss")}),ve(P.Button,{shortKeys:[8679,8629],type:"submit",children:c("add")})]})]})]})},mn=_g;import{createAction as Cg,createAsyncThunk as Aa,createSlice as wg}from"@reduxjs/toolkit";var xg=["{amount}"," {amount}","{date}","{email}","{iban}","{name}","{postal_code}","{street}","{tarif}","{usage}","{3_digits}","{4_digits}","{5_digits}","{6_digits}","{7_digits}","{8_digits}","{9_digits}","{10_digits}"],bg=new RegExp(xg.map(t=>`(?:${t.replace("{","\\{").replace("}","\\}")})`).join("|"));function Ra(t,e){let o=t.split(bg),n=0,s=[];for(let r=0;r<o.length;r++){let i=o[r];if(s.push(i),r===o.length-1)break;if(e.indexOf(i)===-1)return t;let a=o[r+1],l=r===o.length-2;n+=i.length;let c=n;if(l){let d=a.charAt(0),u=0;do c=d?e.indexOf(d,c+1):-1,u+=1;while(c!==-1&&a.indexOf(e.slice(c))!==0);if(c===-1&&u>2)return t}else c=a&&a!==""?e.indexOf(a,n):-1;let p=c===-1?e.slice(n):e.slice(n,c);s.push(p),n=c}return s.join("")}function Pa(t,e){return typeof e=="boolean"?t:t.slice(0,e)}var La={suggestions:[],fetchState:"idle",isInitialRequest:null},Ia={default:La},Ma=t=>e=>{var o;return((o=e.textSuggestions[t])==null?void 0:o.suggestions)||[]},Oa=t=>e=>{var o;return((o=e.textSuggestions[t])==null?void 0:o.suggestions)??[]},Na=t=>{let e=Object.keys(t.textSuggestions).map(o=>{var n;return(n=t.textSuggestions[o])==null?void 0:n.fetchState});return e.length===0?!0:e.every(o=>o!=="done")},_t=t=>t.textSuggestions,Da=t=>{let e=t.toLowerCase();return o=>o.text.toLowerCase().startsWith(e)},fn=Cg("textSuggestions/refresh"),_e=Aa("textSuggestions/recommendations",async(t,e)=>{var c;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(c=n.conversation.current)==null?void 0:c.id,{textSuggestionsCount:r,inlineSuggestions:i}=n.settings,a=pt(n);if(!s)throw new Error("No current conversation to fetch text suggestions");let l=await o.getTextSuggestions(s,Qt(n),t);if(t==="default"){let p=i?l.filter(Da(a)):l;e.dispatch(he(p.slice(0,r)))}return l}),Jt=Aa("textSuggestions/autocompletions",async(t,e)=>{var c;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=(c=n.conversation.current)==null?void 0:c.id,{textSuggestionsCount:r,deanonymize:i,inlineSuggestions:a}=n.settings;if(!s)throw new Error("No current conversation to fetch text suggestions");let l=await o.getAutocompleteSuggestions(s,{...Qt(n),input:t});if(!e.getState().input.text)throw new Error("Abort");return a&&(l=l.filter(Da(t))),i&&(l=l.map(p=>({...p,text:p.source!=="trie-with-typos"?Ra(p.text,t):p.text}))),l=Pa(l,r),e.dispatch(he(l)),l}),Ha=wg({name:"textSuggestions",initialState:Ia,reducers:{setTextSuggestions:{reducer(t,e){let{contentType:o}=e.payload;t[o].fetchState="done",t[o].suggestions=e.payload.suggestions},prepare(t,e){return{payload:{contentType:t,suggestions:e}}}},setSuggestionState(t,e){return e.payload}},extraReducers:t=>{t.addCase(_e.pending,(e,o)=>{let n=o.meta.arg,s=e[n]||La;return{...e,[n]:{...s,fetchState:"loading",isInitialRequest:s.isInitialRequest===null}}}).addCase(_e.rejected,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="error")}).addCase(_e.fulfilled,(e,o)=>{let n=o.meta.arg;e[n]&&(e[n].fetchState="done",e[n].suggestions=o.payload)}).addCase(Jt.pending,e=>{e.default.fetchState="loading"}).addCase(Jt.rejected,e=>{e.default.fetchState="error"}).addCase(Jt.fulfilled,(e,o)=>{e.default.fetchState="done",e.default.suggestions=o.payload}).addCase(R,()=>Ia)}}),{setTextSuggestions:Ba,setSuggestionState:Fa}=Ha.actions,Ka=Ha.reducer;import{createSlice as Tg}from"@reduxjs/toolkit";var Ua={contentType:null,suggestion:null},za=t=>t.activeSuggestion.suggestion,ja=t=>t.activeSuggestion.contentType,qa=Tg({name:"activeSuggestion",initialState:Ua,reducers:{setActiveSuggestion(t,e){let{contentType:o,suggestion:n}=e.payload;t.contentType=o,t.suggestion=n},resetActiveSuggestion(t){t.contentType=null,t.suggestion=null}},extraReducers:t=>{t.addCase(R,()=>Ua)}}),{setActiveSuggestion:xe,resetActiveSuggestion:Xs}=qa.actions,Va=qa.reducer;var Qs={};U(Qs,{enUS:()=>Eg,nlNL:()=>kg});var Eg={warning:[{type:0,value:"Are you sure you want to discard the message?"}],editContentLabel:[{type:0,value:"Edit and view suggestion"}],overlayLabel:[{type:0,value:"Close dialog"}]},kg={warning:[{type:0,value:"Weet je zeker dat je de wijzigingen wilt weggooien?"}],editContentLabel:[{type:0,value:"Bewerk en bekijk suggestie"}],overlayLabel:[{type:0,value:"Sluit"}]};import{createSlice as Rg}from"@reduxjs/toolkit";var Pg={showTabHint:!1,inputHasFocus:!1,overlayCollapsed:!1,openOverlayWhenTyping:!1,overlayCollapsedUserOverwrite:!1};var hn=({ui:t})=>t.overlayCollapsed;var Wa=Rg({name:"ui",initialState:Pg,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:Yt,setInputHasFocus:xt,setOverlayCollapsed:Ne,setOpenOverlayWhenTyping:Ga,setOverlayCollapsedUserOverwrite:$a}=Wa.actions,Xa=Wa.reducer;import Qa,{useContext as Ig}from"react";import{jsx as Ag}from"react/jsx-runtime";var Za=Qa.createContext(null),bt=({broadcastEvents:t,children:e})=>{let o=Qa.useMemo(()=>t,[]);return Ag(Za.Provider,{value:o,children:e})},ee=()=>{let t=Ig(Za);if(!t)throw new Error("You should use the useBroadcastEvents within a BroadcastEventsProvider");return t};import{createAsyncThunk as Zs,createSlice as Lg}from"@reduxjs/toolkit";var Mg={isLoggedIn:!0,loginFetchState:"idle",verifyFetchState:"idle",showLoginOverlay:!1},ie=t=>t.auth.isLoggedIn,Ja=t=>t.auth.loginFetchState,Ya=t=>t.auth.verifyFetchState,el=t=>t.auth.showLoginOverlay,De=Zs("auth/validate",async(t,e)=>e.extra.deepdeskAPI.isLoggedIn()),tl=Zs("auth/requestLogin",async({email:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.requestLoginByEmail(t)}),eo=Zs("auth/verifyLoginToken",async({token:t},e)=>{let{deepdeskAPI:o}=e.extra;return o.verifyLoginToken(t)}),ol=Lg({name:"auth",initialState:Mg,reducers:{setIsLoggedIn(t,e){t.isLoggedIn=e.payload},setShowLoginOverlay(t,e){t.showLoginOverlay=e.payload}},extraReducers:t=>{t.addCase(De.pending,e=>{e.loginFetchState="loading"}),t.addCase(De.fulfilled,(e,{payload:o})=>{e.isLoggedIn=o,e.loginFetchState="done"}),t.addCase(De.rejected,e=>{e.loginFetchState="error",e.isLoggedIn=!1}),t.addCase(eo.pending,e=>{e.verifyFetchState="loading"}),t.addCase(eo.rejected,e=>{e.verifyFetchState="error"}),t.addCase(eo.fulfilled,(e,o)=>{o.payload.isLoggedIn?e.verifyFetchState="done":e.verifyFetchState="error"})}}),{setIsLoggedIn:Ct,setShowLoginOverlay:nl}=ol.actions,sl=ol.reducer;var Js="SetActiveSuggestion",wt="ShowLoginOverlay",Ys="UserLoggedIn",Og="UserLoggedOut",be="ApplySuggestion",er="ApplyImageSuggestion",Ng="ShowCommandPalette",Dg=t=>({[Js]:e=>{t.dispatch(Fa(e.state)),t.dispatch(xe({contentType:e.contentType,suggestion:e.suggestion}))},[Ng]:e=>{t.dispatch(Y(e.isOpen)),e.page&&t.dispatch(j(e.page))},[wt]:e=>{t.dispatch(nl(e))},[Ys]:()=>{t.dispatch(De())},[Og]:()=>{t.dispatch(De())},[er]:e=>{t.dispatch(Jo({suggestion:e.suggestion}))},[be]:e=>{t.dispatch(re({...e,eventMetrics:{inputType:"mouse"},replace:"selection"})),t.dispatch(Ae())}}),rl=Dg;import{jsx as il}from"react/jsx-runtime";var Fg=()=>{var f;let[t,e]=Hg(!1),o=tr(za),n=tr(ja),s=tr(_t),r=Bg(),i=ee(),a=T(Qs),l=()=>{o!==null&&t?window.confirm(a("warning"))&&c():c()},c=()=>{r(Xs()),r(xt(!0)),r(W.actions.reset())},p=(g,x)=>{r(Xs()),r(xt(!0)),i.send(be,{text:g,suggestion:{...x,source:`${x.source||"text_recommendation"}-preview`}})};if(o===null||n===null)return null;let d=(f=s[n])==null?void 0:f.suggestions.indexOf(o),u=d===0||d===null?void 0:()=>r(xe({contentType:n,suggestion:s[n].suggestions[d-1]})),m=d===s[n].suggestions.length-1||d===null?void 0:()=>r(xe({contentType:n,suggestion:s[n].suggestions[d+1]}));return il(dt,{autoFocus:!0,isOpen:d!==null,onClose:l,onBack:l,contentAriaLabel:a("editContentLabel"),overlayAriaLabel:a("overlayLabel"),children:il(mn,{onTouched:e,onDismiss:c,onUse:g=>p(g,o),suggestion:o,onNext:m,onPrevious:u})})},al=Fg;import{useSelector as ul}from"react-redux";import nr from"classnames";import{useCallback as pl,useEffect as Vg,useMemo as Wg,useState as sr}from"react";import{useDispatch as Gg,useSelector as $g}from"react-redux";import Kg from"classnames";var ll={root:"_root_1ukx5_1"};import{jsx as zg}from"react/jsx-runtime";var Ug=({className:t,value:e,...o})=>{let n=S("TextInput",ll);return zg("input",{className:Kg(t,n.root),type:"text",value:e,...o})},to=Ug;var or={};U(or,{enUS:()=>jg,nlNL:()=>qg});var jg={back:[{type:0,value:"Back"}],promptTitle:[{type:0,value:"Sign in to "},{type:1,value:"productName"}],verifyCodeTitle:[{type:0,value:"Paste the code from your email"}],verifyCodeBody:[{type:0,value:"Copy the code from the email you just received and paste it here."}],verifyCodeInputPlaceholder:[{type:0,value:"Paste link or code here"}],verifyCodeSubmitLabel:[{type:0,value:"Sign in"}],verifyCodeError:[{type:0,value:"Sign in failed. The code is probably no longer valid. Please "},{type:8,value:"login",children:[{type:0,value:"request new code"}]},{type:0,value:"."}],requestCodeTitle:[{type:0,value:"Have a code sent to your email"}],requestCodeBody:[{type:0,value:"Enter your email and request a code. If you are an existing "},{type:1,value:"productName"},{type:0,value:" user you will receive an email with a code. If you are a new user you will receive an email asking to request access to "},{type:1,value:"productName"},{type:0,value:" first."}],requestCodeInputPlaceholder:[{type:0,value:"Enter your email"}],requestCodeSubmitLabel:[{type:0,value:"Request code"}]},qg={back:[{type:0,value:"Terug"}],promptTitle:[{type:0,value:"Login bij "},{type:1,value:"productName"}],verifyCodeTitle:[{type:0,value:"Plak de code uit je email"}],verifyCodeBody:[{type:0,value:"Kopieer de code uit de email en plak deze hier."}],verifyCodeInputPlaceholder:[{type:0,value:"Plak hier de code"}],verifyCodeSubmitLabel:[{type:0,value:"Inloggen"}],verifyCodeError:[{type:0,value:"Inloggen is niet gelukt. De code is waarschijnlijk niet meer geldig. "},{type:8,value:"login",children:[{type:0,value:"Vraag een nieuwe code aan"}]},{type:0,value:"."}],requestCodeTitle:[{type:0,value:"Verstuur een login code naar je email"}],requestCodeBody:[{type:0,value:"Voer je e-mailadres in en krijg een login code. Als je een bestaande "},{type:1,value:"productName"},{type:0,value:" gebruiker bent krijg je een email met een code. Als je een nieuwe gebruiker bent wordt er een email verstuurd met een toegangsverzoek voor "},{type:1,value:"productName"},{type:0,value:"."}],requestCodeInputPlaceholder:[{type:0,value:"Typ hier je e-mailadres"}],requestCodeSubmitLabel:[{type:0,value:"Code aanvragen"}]};var cl={root:"_root_1edpl_1",anchorButton:"_anchorButton_1edpl_5",errorMessage:"_errorMessage_1edpl_19",title:"_title_1edpl_25",subtitle:"_subtitle_1edpl_31",text:"_text_1edpl_38",input:"_input_1edpl_43",actions:"_actions_1edpl_48",button:"_button_1edpl_55",primaryButton:"_primaryButton_1edpl_70"};import{jsx as $,jsxs as yn}from"react/jsx-runtime";var Xg=t=>{try{let e=new URL(t);return new URLSearchParams(e.search).get("token")||void 0}catch{return t}},Qg=({agentEmail:t,isOpen:e,origin:o="",onSuccess:n,onDismiss:s})=>{let r=T(or),i=S("LoginTokenDialog",cl),a=$g(Ya),l=Gg(),c=b("productName"),[p,d]=sr(t||""),[u,m]=sr(0),[f,g]=sr(""),x=pl(async _=>{_.preventDefault(),l(tl({email:p})),m(1)},[o,p]),w=()=>{g(""),m(0)},h=pl(async _=>{_.preventDefault();let C=Xg(_.target.elements.token.value);if(!C){g(r("verifyCodeError",{login:y}));return}l(eo({token:C}))},[o]),y=Wg(()=>_=>$("button",{type:"button","data-testid":"login-token-dialog-back-button",className:i.anchorButton,onClick:w,children:_},"back-button"),[]);return Vg(()=>{a==="error"&&g(r("verifyCodeError",{login:y})),a==="done"&&n()},[a]),$(dt,{autoFocus:!0,isOpen:e,contentAriaLabel:r("promptTitle",{productName:c}),overlayAriaLabel:r("promptTitle",{productName:c}),onClose:s,onBack:s,children:yn("div",{className:i.root,children:[$("h1",{className:i.title,children:r("promptTitle",{productName:c})}),u===0&&yn("form",{onSubmit:x,children:[$("h2",{className:i.subtitle,children:r("requestCodeTitle")}),$("p",{className:i.text,children:r("requestCodeBody",{productName:c})}),$(to,{className:i.input,name:"email",placeholder:r("requestCodeInputPlaceholder"),value:p,onChange:_=>d(_.target.value)}),$("div",{className:i.actions,children:$("button",{type:"submit",className:nr(i.button,i.primaryButton),children:r("requestCodeSubmitLabel")})})]}),u===1&&yn("form",{onSubmit:h,children:[$("h2",{className:i.subtitle,children:r("verifyCodeTitle")}),$("p",{className:i.text,children:r("verifyCodeBody")}),$(to,{className:i.input,name:"token",placeholder:r("verifyCodeInputPlaceholder"),disabled:["loading","done"].includes(a)}),f&&$("div",{className:i.errorMessage,children:f}),yn("div",{className:i.actions,children:[$("button",{type:"button",className:nr(i.button),onClick:w,children:r("back")}),$("button",{type:"submit",className:nr(i.button,i.primaryButton),disabled:["loading","done"].includes(a),children:r("verifyCodeSubmitLabel")})]})]})]})})},dl=Qg;import{jsx as Jg}from"react/jsx-runtime";var Zg=()=>{let t=ul(el),e=ul(da),o=b("adminUrl"),n=ee(),s=()=>n.send(wt,!1),r=()=>{n.send(wt,!1),n.send(Ys)};return Jg(dl,{isOpen:t,agentEmail:e==null?void 0:e.agentEmail,origin:o,onDismiss:s,onSuccess:r})},gl=Zg;import jm from"lodash.debounce";import{useCallback as ur,useEffect as gr,useState as ro}from"react";import{useDispatch as qm,useSelector as Pt}from"react-redux";import{createAsyncThunk as Yg,createSlice as em}from"@reduxjs/toolkit";var tm={data:null,fetchState:"idle"},ml=t=>t.contentTypes.data,oo=Yg("contentTypes/getContentTypes",async(t,e)=>e.extra.deepdeskAPI.getContentTypes()),om=em({name:"contentTypes",initialState:tm,reducers:{},extraReducers:t=>{t.addCase(oo.pending,e=>{e.fetchState="loading"}).addCase(oo.rejected,e=>{e.fetchState="error"}).addCase(oo.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),fl=om.reducer;function no(t){let e=document.createElement("textarea");e.value=t,e.style.position="fixed",e.style.left="-999999px",e.style.top="-999999px",document.body.appendChild(e),e.focus(),e.select(),document.execCommand("copy"),e.remove()}import{useEffect as nm}from"react";function hl(t,e){nm(()=>{let o=n=>{var s;((s=navigator==null?void 0:navigator.platform)!=null&&s.toLowerCase().includes("mac")?n.metaKey:n.ctrlKey)&&n.key===t&&(n.preventDefault(),n.stopPropagation(),e())};return document.addEventListener("keydown",o),()=>{document.removeEventListener("keydown",o)}},[])}import{useEffect as _l,useRef as pm}from"react";import{useSelector as dm,useDispatch as um}from"react-redux";import{createAsyncThunk as sm,createSlice as rm}from"@reduxjs/toolkit";var yl={data:null,fetchState:"idle"},Sn=t=>{var r;let e=[],{visitorName:o}=t.info.visitorInfo??{},{agentName:n,agentNickname:s}=t.info.agentInfo??{};return n&&n!==o&&e.push(n),s&&s!==o&&e.push(s),((r=t.entities.data)==null?void 0:r.filter(i=>!e.includes(i.text)))??null},ae=sm("entities/getEntities",async(t,e)=>{let{deepdeskAPI:o,dynamicThunkObject:n}=e.extra;if(!n.conversationQuery)return Promise.resolve([]);let s=n.conversationQuery,r=await s();return r.length===0?Promise.resolve([]):o.getEntities(r)}),im=t=>t.filter((e,o)=>o===t.findIndex(n=>n.text===e.text)),am=rm({name:"entities",initialState:yl,reducers:{},extraReducers:t=>{t.addCase(ae.pending,e=>{e.fetchState="loading"}).addCase(ae.rejected,e=>{e.fetchState="error"}).addCase(ae.fulfilled,(e,o)=>{e.fetchState="done",e.data=im(e.data?[...e.data,...o.payload]:o.payload)}).addCase(R,()=>yl)}}),Sl=am.reducer;var rr={};U(rr,{enUS:()=>lm,nlNL:()=>cm});var lm={noResults:[{type:0,value:"No entities have been found"}],copy:[{type:0,value:"Copy"}],use:[{type:0,value:"Use"}]},cm={noResults:[{type:0,value:"Er zijn geen entiteiten gevonden"}],copy:[{type:0,value:"Kopieer"}],use:[{type:0,value:"Gebruik"}]};var vl={root:"_root_17kae_1",empty:"_empty_17kae_5"};import{jsx as vn,jsxs as mm}from"react/jsx-runtime";var gm=({onCopy:t,onUse:e})=>{let o=pm(null),n=S("EntitiesList",vl),s=T(rr),r=dm(Sn),i=um();return _l(()=>{i(ae())},[]),_l(()=>{o.current&&o.current.focus()},[o]),mm("div",{className:n.root,ref:o,tabIndex:-1,children:[r&&r.length>0&&vn(P.ActionsBar,{primaryLabel:s("copy"),secondaryLabel:s("use"),onPrimary:(a,l)=>t(r[l]),onSecondary:(a,l)=>e(r[l]),list:r.map(a=>({text:a.text,type:a.label,primaryAction:"copy",secondaryAction:"use"})),children:vn(P.List,{children:r.map((a,l)=>vn(P.ListItem,{index:l,closeOnSelect:!0,onClick:()=>t(a),children:a.text},a.text))},"entities")}),r&&r.length===0&&vn("p",{className:n.empty,children:s("noResults")})]})},xl=gm;import{Fragment as _m,useEffect as _n,useRef as xm,useState as bm}from"react";import{useSelector as kl,useDispatch as Cm}from"react-redux";import{createAsyncThunk as fm,createSlice as hm}from"@reduxjs/toolkit";var bl={data:null,fetchState:"idle"},Cl=t=>t.summary.data,wl=t=>t.summary.fetchState==="error",Ce=fm("summary/getSummary",async(t,e)=>{let o=e.getState().profile.data;if(!o)throw new Error("Profile is not defined");let{deepdeskAPI:n,dynamicThunkObject:s}=e.extra;if(!s.conversationQuery)return Promise.reject(new Error("setConversationQuery method is not defined"));let r=s.conversationQuery,i=await r();return i.length===0?Promise.reject(new Error("No messages are included")):{summary:await n.getSummary(i,{promptInstruction:o.summarizerPromptInstruction,model:o.summarizerModel})}}),ym=hm({name:"summary",initialState:bl,reducers:{},extraReducers:t=>{t.addCase(Ce.pending,e=>{e.data=null,e.fetchState="loading"}).addCase(Ce.rejected,e=>{e.data=null,e.fetchState="error"}).addCase(Ce.fulfilled,(e,o)=>{e.fetchState="done",o.payload&&(e.data=o.payload.summary)}).addCase(R,()=>bl)}}),Tl=ym.reducer;var ir={};U(ir,{enUS:()=>Sm,nlNL:()=>vm});var Sm={copy:[{type:0,value:"Copy"}],error:[{type:0,value:"Could not generate a summary"}],loading:[{type:0,value:"Generating summary, this may take a few moments."}]},vm={copy:[{type:0,value:"Kopieer"}],error:[{type:0,value:"Kon helaas geen samenvatting genereren."}],loading:[{type:0,value:"Samenvatting wordt gemaakt, dit kan even duren."}]};var El={root:"_root_6ahh3_1",actions:"_actions_6ahh3_5",main:"_main_6ahh3_11",textInput:"_textInput_6ahh3_15",loading:"_loading_6ahh3_34",error:"_error_6ahh3_38"};import{jsx as Tt,jsxs as Tm}from"react/jsx-runtime";var wm=({onCopy:t})=>{let e=xm(null),o=S("SummaryForm",El),[n,s]=bm(""),r=T(ir),i=kl(Cl),a=kl(wl),l=Cm(),c=()=>{l(J({name:"summary copied to clipboard",data:{originalText:i,finalText:n},options:{includeConversationData:!0}})),t(n)},p=()=>{let d=document.getSelection();d&&l(J({name:"summary copied to clipboard",data:{originalText:i,finalText:d==null?void 0:d.toString()},options:{includeConversationData:!0}}))};return _n(()=>{l(Ce())},[]),_n(()=>{s(i||"")},[i]),_n(()=>{e.current&&i&&e.current.focus()},[e,i]),_n(()=>{let d=u=>{u.key==="Enter"&&u.shiftKey&&c()};return document.addEventListener("keydown",d),()=>{document.removeEventListener("keydown",d)}},[n]),Tt("div",{className:o.root,tabIndex:-1,children:a?Tt("p",{className:o.error,children:r("error")}):Tm(_m,{children:[Tt("div",{className:o.main,children:Tt("textarea",{placeholder:i?void 0:r("loading"),disabled:!i,className:o.textInput,ref:e,value:n,onCopy:p,onChange:d=>s(d.target.value)})}),Tt("div",{className:o.actions,children:Tt(P.Button,{shortKeys:[8679,8629],onClick:c,children:r("copy")})})]})})},Rl=wm;var ar={};U(ar,{enUS:()=>Em,nlNL:()=>km});var Em={personalCollectionLink:[{type:0,value:"Go to Personal Collection"}],searchPlaceholder:[{type:0,value:"Start typing to search..."}],urlSuggestions:[{type:0,value:"Link suggestions"}],personalSuggestions:[{type:0,value:"Personal suggestions"}],pinnedMessages:[{type:0,value:"Pinned messages"}],imageSuggestions:[{type:0,value:"Images"}],typePlaceholder:[{type:0,value:"All types"}],navigation:[{type:0,value:"Navigation"}],entitiesClipboard:[{type:0,value:"Conversation clipper"}],entitiesTitle:[{type:0,value:"Copy to your clipboard"}],summaryClipboard:[{type:0,value:"Summarize conversation"}],summaryTitle:[{type:0,value:"Conversation summary"}],knowledgeAssist:[{type:0,value:"Knowledge assist"}],commands:[{type:0,value:"Commands"}],use:[{type:0,value:"Use"}],preview:[{type:0,value:"Preview"}],warning:[{type:0,value:"Are you sure you want to discard the message?"}]},km={personalCollectionLink:[{type:0,value:"Ga naar persoonlijke collectie"}],searchPlaceholder:[{type:0,value:"Begin met typen om te zoeken..."}],personalSuggestions:[{type:0,value:"Persoonlijke suggesties"}],urlSuggestions:[{type:0,value:"Link suggesties"}],imageSuggestions:[{type:0,value:"Afbeeldingen"}],navigation:[{type:0,value:"Navigatie"}],typePlaceholder:[{type:0,value:"Alle types"}],pinnedMessages:[{type:0,value:"Actueel"}],entitiesClipboard:[{type:0,value:"Klembord"}],entitiesTitle:[{type:0,value:"Kopieer naar klembord"}],summaryClipboard:[{type:0,value:"Gesprek samenvatten"}],summaryTitle:[{type:0,value:"Gesprek samenvatting"}],knowledgeAssist:[{type:0,value:"Knowledge assist"}],commands:[{type:0,value:"Acties"}],use:[{type:0,value:"Gebruik"}],preview:[{type:0,value:"Bewerk"}],warning:[{type:0,value:"Weet je zeker dat je de wijzigingen wilt weggooien?"}]};import Nm,{useEffect as pr,useRef as Dm}from"react";import{useDispatch as Hm,useSelector as Nl}from"react-redux";var lr={};U(lr,{enUS:()=>Rm,nlNL:()=>Pm});var Rm={use:[{type:0,value:"Use"}],loading:[{type:0,value:"Loading..."}],error:[{type:0,value:"Something went wrong, please try again later."}],anotherQuestion:[{type:0,value:"Send a message..."}],reset:[{type:0,value:"Reset conversation"}]},Pm={use:[{type:0,value:"Gebruik"}],loading:[{type:0,value:"Laden..."}],error:[{type:0,value:"Er ging iets mis, probeer het later opnieuw."}],anotherQuestion:[{type:0,value:"Stuur een bericht..."}],reset:[{type:0,value:"Reset gesprek"}]};var Pl={root:"_root_1g4pq_1",title:"_title_1g4pq_9",empty:"_empty_1g4pq_20",status:"_status_1g4pq_24",form:"_form_1g4pq_30",input:"_input_1g4pq_43",submit:"_submit_1g4pq_55",question:"_question_1g4pq_63",answer:"_answer_1g4pq_67",alignRight:"_alignRight_1g4pq_73"};import{createAction as Im,createAsyncThunk as Am,createSlice as Lm}from"@reduxjs/toolkit";var cr={data:[],fetchState:"idle"},Il=t=>{var e;return(e=t.answer)==null?void 0:e.data},Al=t=>t.answer.fetchState,kt=Im("answer/resetKnowledgeSearch"),Et=Am("answer/getAnswer",async(t,e)=>{var i;let{deepdeskAPI:o}=e.extra,n=e.getState().answer.data,s=(i=e.getState().conversation.current)==null?void 0:i.profileCode;if(!s)throw new Error("Profile is not defined");let r=await o.knowledgeAssist({promptInstruction:t.promptInstruction,question:t.question},n,s);return{question:t.question,answer:r}}),Mm=Lm({name:"answer",initialState:cr,reducers:{},extraReducers:t=>{t.addCase(Et.pending,e=>{e.fetchState="loading"}).addCase(Et.rejected,e=>{e.fetchState="error"}).addCase(Et.fulfilled,(e,o)=>{e.fetchState="done",e.data=[...e.data,o.payload]}).addCase(R,()=>cr).addCase(kt,()=>cr)}}),Ll=Mm.reducer;import{jsx as Ml,jsxs as Om}from"react/jsx-runtime";var Ol=()=>Om("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 512 512","aria-labelledby":"paperPlaneTitle",children:[Ml("title",{id:"paperPlaneTitle",children:"PaperPlane"}),Ml("path",{d:"M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L284 427.7l-68.5 74.1c-8.9 9.7-22.9 12.9-35.2 8.1S160 493.2 160 480V396.4c0-4 1.5-7.8 4.2-10.7L331.8 202.8c5.8-6.3 5.6-16-.4-22s-15.7-6.4-22-.7L106 360.8 17.7 316.6C7.1 311.3 .3 300.7 0 288.9s5.9-22.8 16.1-28.7l448-256c10.7-6.1 23.9-5.5 34 1.4z"})]});import{jsx as we,jsxs as dr}from"react/jsx-runtime";var Bm=({onUse:t,onResetQuestion:e,question:o,promptInstruction:n})=>{let[s,r]=Nm.useState(""),{setSelected:i}=Oe(),a=Dm(null),l=S("EntitiesList",Pl),c=T(lr),p=Hm(),d=Nl(Il),u=Nl(Al),m=async g=>{g.preventDefault(),g.stopPropagation(),s!==""&&p(Et({question:s,promptInstruction:n}))},f=(g,x)=>{p(J({name:"knowledge assist source viewed",data:{question:x,sourceViewed:g.url||g.name},options:{includeConversationData:!0}}))};return pr(()=>{var g;o&&u==="idle"?p(Et({question:o,promptInstruction:n})):(g=a.current)==null||g.focus()},[a,u]),pr(()=>{u==="done"&&(p(J({name:"knowledge assist question answered",data:{question:s||o,sources:d[d.length-1].answer.sources,answer:d[d.length-1].answer.answer,isFollowUpQuestion:d.length>1},options:{includeConversationData:!0}})),i(d.length-1),r(""))},[u,d]),pr(()=>{a.current&&a.current.scrollIntoView({behavior:"smooth"})},[a,d]),dr("div",{className:l.root,children:[d.length>0&&we("div",{className:l.alignRight,children:we(P.Button,{onClick:e,children:c("reset")})}),dr(P.ActionsBar,{list:d.map(({answer:g})=>({text:g.answer,type:"answer"})),primaryLabel:c("use"),onPrimary:g=>t(g.text),children:[d.map(({question:g,answer:x},w)=>we(P.List,{children:we(P.ListItem,{"data-testid":"knowledge-search-answer",index:w,description:x.answer,closeOnSelect:!0,onClick:()=>t(x.answer),onSourceClick:h=>f(h,g),sources:x.sources,styles:{title:l.question,description:l.answer},children:g})},`${x.answer}_${w}`)),u==="loading"&&we("p",{className:l.status,children:c("loading")}),u==="error"&&we("p",{className:l.status,children:c("error")}),dr("form",{className:l.form,onSubmit:m,children:[we("input",{ref:a,placeholder:c("anotherQuestion"),className:l.input,type:"text",value:s,onFocus:()=>{i(-1)},onChange:g=>{i(-1),r(g.target.value)}}),we("button",{type:"submit",className:l.submit,children:we(Ol,{})})]})]})]})},Dl=Bm;import{createAsyncThunk as Fm,createSlice as Km}from"@reduxjs/toolkit";var Um={data:null,fetchState:"idle"},Rt=t=>t.profile.data,xn=t=>t.profile.data?t.profile.data.uiConfig.widget.types.filter(e=>e.isActive):[],so=Fm("profile/getProfile",async(t,e)=>{var r;let{deepdeskAPI:o}=e.extra,n=e.getState(),s=n.conversation.current;if(!s||!s.profileCode)throw new Error("No conversation of conversation profileCode found");return((r=n.profile.data)==null?void 0:r.code)===s.profileCode?n.profile.data:o.getProfile(s.profileCode)}),zm=Km({name:"profile",initialState:Um,reducers:{},extraReducers:t=>{t.addCase(so.pending,e=>{e.fetchState="loading"}).addCase(so.rejected,e=>{e.fetchState="error"}).addCase(so.fulfilled,(e,o)=>{e.fetchState="done",e.data=o.payload})}}),Hl=zm.reducer;import{jsx as X,jsxs as Fl}from"react/jsx-runtime";var Vm=200,Wm=5,Gm=4,$m=t=>t.reduce((e,o)=>[...e,...o.list.map(n=>({...n,type:o.value}))],[]),Bl=(t,e)=>!e||t.toLowerCase().includes(e.toLowerCase()),Xm=()=>{let t=qm(),e=ee(),o=T(ar),[n,s]=ro(!1),[r,i]=ro(""),a=Pt(ha),l=Pt(Rt),[c,p]=ro(null),[d,u]=ro([]),[m,f]=ro(),g=Pt(ie),x=b("showSearch"),w=b("showEntitiesCommand"),h=b("showSummaryCommand"),y=b("showKnowledgeSearch"),_=b("showImageSearch"),C=b("searchTriggerKey"),H=Pt(ml),O=Pt(ya),le=Pt(fa),N=v=>es(O.filter(I=>I.type===v.toUpperCase()),v),k=[{value:"PERSONAL",label:o("personalSuggestions"),list:N("PERSONAL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"URL",label:o("urlSuggestions"),list:N("URL"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"STICKYMESSAGE",label:o("pinnedMessages"),list:N("STICKYMESSAGE"),lineClamp:!1,listOrientation:"vertical",shouldShow:!0},{value:"IMAGE",label:o("imageSuggestions"),lineClamp:!1,list:N("IMAGE"),listOrientation:"horizontal",shouldShow:_}].filter(v=>v.shouldShow),V=[{label:o("entitiesClipboard"),onClick:()=>t(j("entities")),shouldShow:w&&Bl(o("entitiesClipboard"),r),experimental:!0},{label:o("summaryClipboard"),onClick:()=>t(j("summary")),shouldShow:h&&Bl(o("summaryClipboard"),r),experimental:!0},{label:r?`${o("knowledgeAssist")}: ${r}`:o("knowledgeAssist"),onClick:()=>t(j("knowledgeAssist")),shouldShow:y,experimental:!0}].filter(v=>v.shouldShow),te=(H==null?void 0:H.map(v=>({value:v.code.toUpperCase(),label:`${v.name}s`,list:N(v.code.toUpperCase()),listOrientation:"vertical",lineClamp:!0})))||[],Jn=ur(jm((v,I)=>{t($e({query:v,type:I,tags:["search-overlay"]}))},Vm),[]),Ke=$m([...te,...k]),Up=ur((v,I)=>{if(!I)return;let Re=[...k,...te].find(({value:ot})=>ot===I);Re&&(t(j("edit")),p({...v,searchTerm:void 0}),u(Re.list))},[t,c,te]),Yn=ur((v,I)=>{switch(I.type){case"IMAGE":e.send(er,{suggestion:I});break;default:e.send(be,{text:v,suggestion:I})}t(Y(!1))},[t]),zp=v=>{no(v.text),t(J({name:"entity copied",data:{entity:v,type:"copy"}})),t(Y(!1))},jp=v=>{e.send(be,{text:v,suggestion:{source:"knowledge-assist",text:v}}),t(J({name:"answer used",data:{originalText:v},options:{includeConversationData:!0}})),i(""),t(j("search")),t(kt()),t(Y(!1))},qp=v=>{no(v),t(Y(!1))},Vp=v=>{e.send(be,{text:v.text,suggestion:{source:"entity",text:v.text}}),t(Y(!1))},Wp=c===null||d.indexOf(c)-1<0?void 0:()=>p(d[d.indexOf(c)-1]),Gp=c===null||d.indexOf(c)===d.length-1?void 0:()=>p(d[d.indexOf(c)+1]);function es(v,I){return v.slice(0,m?10:I.toLowerCase()==="image"?Gm:Wm)}function $r(v,I,Re){return I.reduce((ot,vo)=>Re&&m===Re?vo.length+ot:es(vo,Re).length+ot,v)}function tt(v){return I=>{n?window.confirm(o("warning"))&&(v(I),s(!1)):v(I)}}return gr(()=>{r?Jn(r,m):t(dn())},[r,m]),gr(()=>{a==="search"&&t(kt())},[a]),gr(()=>{g&&t(oo())},[g]),hl(C,()=>t(Y(!0))),!x||!l?null:Fl(P,{placeholder:o("searchPlaceholder"),typePlaceholder:o("typePlaceholder"),onChangeSearch:i,onChangeOpen:tt(v=>t(Y(v))),onChangeType:v=>f(v),onChangePage:tt(v=>t(j(v))),selectedType:m,search:r,page:a,isOpen:le,types:[...te,...k],children:[X(P.Page,{id:"search",children:Fl(P.ActionsBar,{list:[...V.map(v=>({text:v.label,type:"command"})),...Ke.map(v=>({text:v.text||v.url||v.message,type:v.type}))],primaryLabel:o("use"),secondaryLabel:o("preview"),onPrimary:({text:v},I)=>Yn(v,Ke[I]),onSecondary:(v,I)=>{Up(Ke[I-V.length],Ke[I-V.length].type)},children:[V.length>0&&X(P.List,{heading:o("commands"),children:V.map((v,I)=>X(P.ListItem,{index:$r(I,[],"commands"),closeOnSelect:!1,onClick:v.onClick,isExperimental:v.experimental,children:v.label},v.label))}),[...te,...k].map(({value:v,label:I,list:Re,lineClamp:ot,listOrientation:vo},$p)=>X(P.List,{heading:I,orientation:vo==="horizontal"?"horizontal":"vertical",children:es(Re,v).map((oe,Xp)=>X(P.ListItem,{index:$r(V.length+Xp,[...te,...k].slice(0,$p).map(({list:Qp})=>Qp),v),closeOnSelect:!1,lineClamp:ot,onClick:()=>Yn(oe.text,oe),description:v!=="IMAGE"?oe.title&&oe.text:void 0,children:v==="IMAGE"?X(P.Image,{title:oe.title||oe.text,src:oe.image}):oe.title||oe.text},`${oe.id}-${oe.text}`))},v))]})}),X(P.Page,{id:"edit",onDismiss:tt(()=>{t(j("search")),p(null)}),children:c&&X(mn,{suggestion:c,onTouched:s,onDismiss:()=>{s(!1),t(j("search")),p(null),u([])},onNext:Gp,onPrevious:Wp,onUse:v=>{t(j("search")),Yn(v,{...c,source:`${c.source||"text_recommendation"}-preview`}),t(Y(!1)),u([]),p(null)}})}),X(P.Page,{id:"entities",title:o("entitiesTitle"),isExperimental:!0,onDismiss:tt(()=>{t(j("search"))}),children:X(xl,{onUse:Vp,onCopy:zp})}),X(P.Page,{id:"summary",title:o("summaryTitle"),isExperimental:!0,onDismiss:tt(()=>{t(j("search"))}),children:X(Rl,{onCopy:qp})}),X(P.Page,{id:"knowledgeAssist",title:o("knowledgeAssist"),isExperimental:!0,onDismiss:tt(()=>{t(kt()),t(j("search"))}),children:X(Dl,{promptInstruction:l.knowledgeAssistPromptInstruction,question:r,onUse:jp,onResetQuestion:()=>{t(kt()),i("")}})})]})},Kl=Xm;import{jsx as mr,jsxs as Jm}from"react/jsx-runtime";var Zm=()=>{let t=b("showSearch"),e=b("isEmbedded");return Jm(Qm,{children:[t&&mr(Kl,{}),mr(al,{}),e&&mr(gl,{})]})},Ul=Zm;import{connect as xf,useDispatch as bf,useSelector as Cn}from"react-redux";function It(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{Fragment as Sf,useMemo as vf}from"react";import{Interweave as lf}from"interweave";import{useEffect as cf,useMemo as pf,useRef as df}from"react";import{useDispatch as uf,useSelector as gf}from"react-redux";import{useEffect as Ym}from"react";function zl(t,e,o){Ym(()=>{let n=t.current;return n?(n.addEventListener(e,o),()=>{n.removeEventListener(e,o)}):()=>{}},[t,e,o])}var ef=/[.*+?^${}()|[\]\\]/g,tf=/[^0-9A-Za-zÀ-ÖØ-öø-ÿ](?=[0-9A-Za-zÀ-ÖØ-öø-ÿ]*$)/;function of(t){return t.replace(ef,"\\$&")}function nf(t,e){let o=t.split("").findIndex((n,s)=>n!==e[s]);return o>-1?o:Math.min(t.length,e.length)}function sf(t){return t.search(tf)}function jl(t,e=[]){let o=t;return e.forEach(n=>{if(!n)return;let s=new RegExp(`\\b(${of(n)})\\b`,"gi");o=o.replace(s,"<strong>$1</strong>")}),o}function ql(t){return t.replace(at,'<mark data-type="placeholder">$1</mark>')}function io(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function rf(t,e){return t.split("").map((i,a)=>({char:i,index:a})).filter(({char:i,index:a})=>/\s/.test(i)&&a<=e).map(({index:i})=>i).reverse()[0]}function fr(t,e,o={}){if(e){let n=nf(e.toLowerCase(),t.toLowerCase()),s=io(t.substring(n,t.length));if(o.stripAgentPart){let l=t.substring(0,n),c=sf(l);return`<span style="opacity: 0.5">${l.substring(c+1)}</span>${s}`}let i=e.split(mi).length>3||e.length>30?rf(e.trim(),n):0;return`${`${i>0?"\u2026":""}${io(t.substring(i,n))}`}<strong>${s}</strong>`}return t}var Vl={badge:"_badge_1syy2_1",formattedText:"_formattedText_1syy2_5"};import{jsx as Wl}from"react/jsx-runtime";var mf=["search","personal-collection-search","search-autocomplete"];function ff(t,e,o,n={}){let s="";return mf.includes(e)?s=jl(fr(t,o,{stripAgentPart:!0}),n.searchKeywords??[o]):s=fr(t,o,n),n.placeholders===!0&&(s=ql(s)),s}var hf=()=>{},yf=({index:t,selected:e,suggestion:o})=>{let n=b("inlineSuggestions"),s=gf(pt),r=uf(),i=S("TextSuggestion",Vl),a=df(null);cf(()=>{let c=setTimeout(()=>{r(Ri({text:o.text,suggestion:o}))},500);return()=>{clearTimeout(c)}},[o]),zl(a,"click",()=>{r(Wt(t)),r(re({suggestion:o,text:o.text,eventMetrics:{inputType:"mouse"},replace:"until-selection-end"}))});let l=pf(()=>ff(o.text,o.source,s,{stripAgentPart:n,placeholders:!0,searchKeywords:o.searchKeywords}),[n,o.text,o.source,s,o.searchKeywords]);return o.source==="gpt"&&!n?null:Wl(M,{ref:a,as:"button","data-testid":"suggestions-overlay-item",selected:e,onClick:hf,children:Wl(lf,{containerTagName:"div",noWrap:!1,tagName:"span",className:i.formattedText,content:l})})},Gl=yf;import{jsx as $l}from"react/jsx-runtime";var _f=({suggestions:t,selectedIndex:e,reverse:o})=>{let n=vf(()=>{let s=t.map((r,i)=>$l(Gl,{index:i,selected:i===e,suggestion:r},`${r.text}-${r.source}`));return o?s.reverse():s},[t,e,o]);return $l(Sf,{children:n})},bn=_f;var Xl={root:"_root_otdbu_1",paper:"_paper_otdbu_11"};import{jsx as wn}from"react/jsx-runtime";var Cf=({textSuggestions:t,selectedIndex:e})=>{let o=S("InlineSuggestionsOverlay",Xl),n=Cn(It),s=bf(),r=Cn(ie),i=Cn(ct),a=Cn(hn),l=b("showTextSuggestions");return gt(()=>{s(Ne({collapse:!0,skipWhenInputFocus:!0}))}),a||!n||!l||t.length===0||r!==!0||i===!1?null:wn("div",{className:o.root,"data-variant":"inline",children:wn("div",{className:o.paper,children:wn(se,{children:wn(bn,{suggestions:t,selectedIndex:e})})})})},wf=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),Ql=xf(wf)(Cf);import _r from"classnames";import{useEffect as Df,useRef as Hf,useState as Bf}from"react";import{connect as Ff,useDispatch as Kf,useSelector as kn}from"react-redux";import{useState as Tf}from"react";function Zl(t,e){let[o,n]=Tf(()=>{if(typeof window>"u")return e;try{let r=window.localStorage.getItem(t);return r?JSON.parse(r):e}catch(r){return E.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){E.error(i)}}]}import Rf from"classnames";import{Fragment as Pf,useCallback as yr,useMemo as Yl}from"react";var hr={};U(hr,{enUS:()=>Ef,nlNL:()=>kf});var Ef={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"}]}]},kf={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 Jl={root:"_root_1vfca_1",anchor:"_anchor_1vfca_6",anchorButton:"_anchorButton_1vfca_11"};import{jsx as Tn,jsxs as ec}from"react/jsx-runtime";var Sr=(t,e,o)=>n=>Tn("button",{className:t.anchorButton,type:"button",value:e,onClick:o,children:n},e),If=({className:t,loginUrl:e,isEmbedded:o,onSnooze:n})=>{let s=T(hr),r=ee(),i=S("Login",Jl),a=b("productName"),l=yr(g=>{g.preventDefault(),n&&n(parseInt(g.target.value,10))},[]),c=yr(g=>{g.preventDefault(),r.send(wt,!0)},[e]),p=Yl(()=>g=>Tn("a",{href:e,className:i.anchor,target:"_blank",rel:"noreferrer",children:g},"login"),[e]),d=yr(g=>Tn("button",{type:"button",className:i.anchorButton,onClick:c,children:g},"prompt"),[c]),{min:u,hour:m,day:f}=Yl(()=>({min:Sr(i,60*10,l),hour:Sr(i,60*60,l),day:Sr(i,60*60*12,l)}),[]);return ec("div",{className:Rf(t,i.root),children:[s("loginPlease",{login:o?d:p,productName:a}),n&&ec(Pf,{children:[Tn("br",{}),s("snooze",{min:u,hour:m,day:f})]})]})},En=If;import{useDispatch as Af}from"react-redux";var tc={root:"_root_1g8fi_1",text:"_text_1g8fi_19"};import{jsx as oc,jsxs as Mf}from"react/jsx-runtime";var Lf=({title:t})=>{let e=S("SearchTrigger",tc),o=Af();return Mf("button",{type:"button",className:e.root,onClick:()=>o(Y(!0)),children:[oc(St,{}),oc("span",{className:e.text,children:t})]})},nc=Lf;var vr={};U(vr,{enUS:()=>Of,nlNL:()=>Nf});var Of={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"}]},Nf={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 sc={root:"_root_onpov_1",isInline:"_isInline_onpov_14",toggleButton:"_toggleButton_onpov_21",toggleButtonWrapper:"_toggleButtonWrapper_onpov_25",toggleButtonWrapperHidden:"_toggleButtonWrapperHidden_onpov_32",isCollapsed:"_isCollapsed_onpov_36",collapsible:"_collapsible_onpov_36",hints:"_hints_onpov_44",hintsHidden:"_hintsHidden_onpov_51",triggers:"_triggers_onpov_56",triggersRight:"_triggersRight_onpov_71"};import{jsx as K,jsxs as ao}from"react/jsx-runtime";var Uf=({textSuggestions:t,selectedIndex:e})=>{let o=S("SuggestionsOverlay",sc),n=T(vr),s=kn(It),r=Ci(),i=Kf(),a=Hf(null),l=b("searchTriggerKey"),c=b("productName"),p=kn(hn),d=kn(ie),u=kn(ct),[m,f]=Bf(null),g=b("showSearch"),x=b("showTextSuggestions"),w=b("adminUrl"),h=b("isEmbedded"),[y,_]=Zl("dd-snooze-until-ms",0),C=p||y>Date.now(),H=t.filter(N=>N.source!=="gpt").length,O=()=>{C&&_(0),i($a(!C))},le=N=>{let k=Date.now()+N*1e3;_(k),E.info(`Snooze until: ${new Date(k)}`),i(Ne({collapse:!0}))};return Df(()=>{H===0&&f(null)},[t,H]),gt(()=>{i(Ne({collapse:!0,skipWhenInputFocus:!0}))}),d===null||u===!1?null:d===!1?ao("div",{ref:a,className:_r(o.root,{[o.isCollapsed]:C}),children:[!C&&ao("div",{className:o.triggers,children:[K("div",{style:{flex:1}}),K("div",{className:o.triggersRight,children:K(it,{className:o.toggleButton,title:n("collapse"),onClick:O,isCollapsed:!1})})]}),K("div",{className:o.toggleButtonWrapper,children:K(it,{className:o.toggleButton,title:n("open",{productName:c}),onClick:O,isCollapsed:!0})}),K("div",{className:o.collapsible,children:K(En,{loginUrl:w,isEmbedded:h,onSnooze:le})})]}):!r||!s?null:ao("div",{ref:a,className:_r(o.root,{[o.isCollapsed]:C}),children:[!C&&ao("div",{className:o.triggers,children:[K("div",{style:{flex:1},children:g&&K("div",{style:{display:"inline-block"},onFocus:()=>{},onMouseOver:()=>f(n(cn()?"searchHintMac":"searchHintWindows",{searchTriggerKey:l.toUpperCase()})),onMouseLeave:()=>f(null),children:K(nc,{title:n("search")})})}),ao("div",{className:o.triggersRight,onFocus:()=>{},children:[K("div",{className:_r(!m&&o.hintsHidden,o.hints),children:m}),K(it,{className:o.toggleButton,title:n("collapse"),onClick:O,isCollapsed:!1})]})]}),K("div",{className:o.toggleButtonWrapper,children:K(it,{className:o.toggleButton,title:n("open",{productName:c}),onClick:O,isCollapsed:!0})}),H>0&&x&&K("div",{className:o.collapsible,onFocus:()=>{},children:K(se,{children:K(bn,{suggestions:t,selectedIndex:e,reverse:!0})})})]})},zf=({input:t})=>({selectedIndex:t.selectedSuggestionIndex,textSuggestions:t.textSuggestions}),rc=Ff(zf)(Uf);import{Provider as jf}from"react-redux";import{jsx as Rn}from"react/jsx-runtime";var qf=({children:t})=>{let o=b("locale").replace("-","");return Rn(ds.Provider,{value:o,children:t})},Vf=({store:t,customStyles:e={},children:o})=>Rn(jf,{store:t,children:Rn(qf,{children:Rn(Bt.Provider,{value:e,children:o})})}),At=Vf;import Ar from"classnames";import{Interweave as Lh}from"interweave";import{useCallback as Mh,useEffect as Oh,useMemo as Tc,useRef as Nh}from"react";import{connect as Dh}from"react-redux";import{cloneElement as Wf}from"react";var Gf=["div","span","mark","strong","b","i","u","em"];function xr(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(Gf.includes(s)){let i=Array.isArray(n.props.children)?n.props.children:[n.props.children];return[...t.slice(0,t.length-1),Wf(n,{children:xr(i,e,o+1)})]}return[...t,...e]}function He(t){return t.tagName.toLowerCase()==="textarea"}var ic={root:"_root_81non_1",container:"_container_81non_3",agentText:"_agentText_81non_5",tabText:"_tabText_81non_6",hint:"_hint_81non_6",matchSelection:"_matchSelection_81non_10",focus:"_focus_81non_16",resetIndent:"_resetIndent_81non_20",matchKeyword:"_matchKeyword_81non_24",matchPlaceholder:"_matchPlaceholder_81non_25",hover:"_hover_81non_31",hintText:"_hintText_81non_64",popover:"_popover_81non_72",popoverRoot:"_popoverRoot_81non_77",popoverContentContainer:"_popoverContentContainer_81non_81",popoverContent:"_popoverContent_81non_81",selectionOptions:"_selectionOptions_81non_107",selectionOptionsIsHidden:"_selectionOptionsIsHidden_81non_112",selectionOptionsButton:"_selectionOptionsButton_81non_116",caret:"_caret_81non_132",popoverSuggestionsRoot:"_popoverSuggestionsRoot_81non_136",suggestionsOverlayInputStyles:"_suggestionsOverlayInputStyles_81non_141"};import ph from"classnames";import{Matcher as dh}from"interweave";import{useEffect as uh,useMemo as gh}from"react";function ac(t){return t.replace(/[.*+^${}()|[\]\\]/g,"\\$&")}function Pn(t){return e=>{t.forEach(o=>{typeof o=="function"?o(e):o!=null&&(o.current=e)})}}function lc(t){return t!=null}import gc from"classnames";import{createRef as nh,useCallback as Cr,useMemo as sh,useRef as rh,useState as ih}from"react";import{useState as $f,useLayoutEffect as Xf}from"react";var Qf=["bottom","height","left","right","top","width"],Zf=(t={},e={})=>Qf.some(o=>t[o]!==e[o]),Te=new Map,cc,pc=()=>{let t=[],e=[];Te.forEach((o,n)=>{if(n instanceof Element&&!n.isConnected){e.push(n);return}let s=n.getBoundingClientRect();Zf(s,o.rect)&&(o.rect=s,t.push(o))}),e.forEach(o=>{Te.delete(o)}),t.forEach(o=>{o.callbacks.forEach(n=>n(o.rect))}),cc=window.requestAnimationFrame(pc)};function Jf(t,e){return{observe(){let o=Te.size===0;if(Te.has(t)){let n=Te.get(t);n.callbacks.push(e),n.rect&&e(n.rect)}else Te.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[e]});o&&pc()},unobserve(){let o=Te.get(t);if(o){let n=o.callbacks.indexOf(e);n>=0&&o.callbacks.splice(n,1),o.callbacks.length||Te.delete(t),Te.size||cancelAnimationFrame(cc)}}}}function br(t){let[e,o]=$f(null);return Xf(()=>{if(!t.current)return;let n=Jf(t.current,s=>{o(s)});return n.observe(),()=>{n.unobserve()}},[t]),e}import{useContext as Yf,useLayoutEffect as eh,useState as th}from"react";import{createPortal as oh}from"react-dom";var dc={root:"_root_1jq08_1"};var uc=({children:t})=>{let[e,o]=th(null),n=Yf(Bt);return eh(()=>{let s=document.createElement("div");return We(s),s.classList.add(dc.root),n!=null&&n.portalRootNode&&s.classList.add(n==null?void 0:n.portalRootNode),document.body.appendChild(s),o(s),()=>{s.isConnected&&document.body.removeChild(s)}},[]),e?oh(t,e):null};var ue={ref:"_ref_1rcyi_1",root:"_root_1rcyi_7",positionAbove:"_positionAbove_1rcyi_13",positionBelow:"_positionBelow_1rcyi_17",positionLeft:"_positionLeft_1rcyi_21",positionRight:"_positionRight_1rcyi_25",alignStart:"_alignStart_1rcyi_29",alignCenter:"_alignCenter_1rcyi_34",alignEnd:"_alignEnd_1rcyi_40"};import{jsx as wr}from"react/jsx-runtime";var In=(t=!1)=>{let[e,o]=ih(t),n=Cr(()=>o(!0),[]),s=Cr(()=>o(!1),[]),r=Cr(()=>o(a=>!a),[]),i=rh(null);return{opened:e,open:n,close:s,toggle:r,triggerRef:i}};function Tr(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 An=({className:t,triggerRef:e,boundaryRef:o=nh(),position:n="above",align:s="center",children:r,toStyle:i=Tr,...a})=>{let l=br(e),c=br(o),p=sh(()=>i(l,c,0),[l,c]);return wr(uc,{children:wr("div",{className:gc(ue.ref,{[ue.positionAbove]:n==="above",[ue.positionBelow]:n==="below",[ue.positionLeft]:n==="left",[ue.positionRight]:n==="right",[ue.alignStart]:s==="start",[ue.alignCenter]:s==="center",[ue.alignEnd]:s==="end"}),style:p,...a,role:"dialog",children:wr("div",{className:gc(t,ue.root),children:r})})})};import ah from"classnames";import{forwardRef as lh,useRef as ch}from"react";import{jsx as mc}from"react/jsx-runtime";var Ln=lh(({className:t,children:e,...o},n)=>{let s=ch(null),r=S("TabCompletion",ye);return mc("div",{ref:Pn([s,n]),className:ah(t,r.popoverContentContainer),...o,children:mc("div",{className:r.popoverContent,children:e})})});import{jsx as lo,jsxs as hh}from"react/jsx-runtime";var mh=t=>e=>{let o=Tr(e);return"top"in o&&(o.width=t.width-(e.left-t.left)-10),o},fh=({inputElement:t,boundaryRef:e,inputStyle:o,children:n,suggestion:s})=>{let r=S("TabCompletion",ye),i=In(),a=gh(()=>mh(t.getBoundingClientRect()),[t]),[l,c]=en(t);return uh(()=>{c?i.open():i.close()},[c]),hh("span",{children:[lo("mark",{ref:Pn([l,i.triggerRef]),className:ph(r.matchKeyword,{[r.hover]:c}),"aria-haspopup":"dialog","aria-expanded":i.opened?"true":"false",children:n}),i.opened&&lo(An,{className:r.popover,triggerRef:i.triggerRef,boundaryRef:e,position:"below",align:"start",toStyle:a,children:lo(Ln,{style:o,children:lo("div",{className:r.hintText,children:s})})})]})},Mn=class extends dh{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${ac(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(lc);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 lo(fh,{inputElement:o.inputElement,suggestion:o.suggestion,inputStyle:o.inputStyle,boundaryRef:o.boundaryRef,children:e},`keyword_${o.matchString}_${o.key}`)}asTag(){return"mark"}};import Ir from"classnames";import{Matcher as Th}from"interweave";import{createRef as Eh,forwardRef as kh,useCallback as Rh,useEffect as bc,useRef as Cc,useState as wc}from"react";import{useDispatch as Ph}from"react-redux";import{jsx as fc}from"react/jsx-runtime";var hc=()=>fc("svg",{width:"1.3em",height:"1.3em",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"InsertLinkIcon",tabIndex:-1,children:fc("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 yh,useEffect as Sc,useState as vc}from"react";import{useDispatch as Sh,useSelector as _c}from"react-redux";import vh from"lodash.debounce";var yc={root:"_root_1muu8_1",content:"_content_1muu8_7"};function On(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 Er(t){return t.replace("https://www.","").replace("https://","")}import{jsx as Qe,jsxs as kr}from"react/jsx-runtime";var _h=3,xh=t=>({image:t.image||"",text:t.text,id:t.id,title:t.title}),bh=({onSelectLink:t,onDismiss:e,placeholder:o,visitUrlText:n,linkCount:s=_h})=>{let r=S("LinkSearch",yc),[i,a]=vc(""),l=Sh(),c=_c(Ma("url")),p=_c(Sa("URL",xh)),[d,u]=vc(p.length-1),m=b("fallbackImage"),f=h=>{let y=h.target;a(y.value)},g=(h,y)=>{h.stopPropagation(),h.preventDefault(),window.open(y,"_blank")},x=h=>{var C;let y=d-1<0?p.length-1:d-1,_=d+1===p.length?0:d+1;h.code==="Escape"&&(a(""),e()),h.code==="ArrowUp"&&u(y),h.code==="ArrowDown"&&u(_),h.code==="Enter"&&t(((C=p[d])==null?void 0:C.text)||i)},w=yh(vh(h=>{l($e({query:h,type:"URL",tags:["link-search"]}))},300),[]);return Sc(()=>{i&&w(i)},[i]),Sc(()=>()=>{l(dn())},[]),kr("div",{className:r.root,children:[Qe(se,{withDivider:!0,children:(i?p:c).slice(0,s).map((h,y)=>Qe(M,{selected:d===y,onClick:()=>t(h.text),"data-testid":"linksearch-suggestion",children:kr(D,{children:[Qe(D.Image,{src:On(h,"small",m||void 0),title:h.title||h.text}),kr(D.Content,{className:r.content,cropText:!0,children:[Qe(D.Title,{children:h.title||Er(h.text)}),h.title&&Er(h.text)]}),Qe(M.Actions,{children:Qe(M.ActionButton,{label:n,onClick:_=>g(_,h.text)})})]})},h.text))}),Qe(to,{value:i,onChange:f,autoFocus:!0,placeholder:o,onKeyUp:x})]})},xc=bh;var Rr={};U(Rr,{enUS:()=>Ch,nlNL:()=>wh});var Ch={insertLink:[{type:0,value:"Insert link"}],linkInputPlaceholder:[{type:0,value:"Search, type or paste link"}],visitUrl:[{type:0,value:"Visit"}]},wh={insertLink:[{type:0,value:"Voeg link toe"}],linkInputPlaceholder:[{type:0,value:"Zoek, typ of plak link"}],visitUrl:[{type:0,value:"Bekijk"}]};import{jsx as ge,jsxs as Pr}from"react/jsx-runtime";var Ih=kh((t,e)=>{let o=S("TabCompletion",ye);return ge("mark",{ref:e,className:Ir(o.matchSelection)},"selection-start")}),Ah=({startRef:t,boundaryRef:e,inputStyle:o,inputElement:n,children:s})=>{let r=T(Rr),i=S("TabCompletion",ye),a=Cc(null),l=Cc(null),[c,p]=wc(null),d=Ph(),u=In(document.activeElement===n),[m]=wc(()=>document.createRange());u.triggerRef.current=m,bc(()=>()=>m.detach(),[]),bc(()=>{let g=t.current,x=a.current;!g||!x||(m.setStart(g,0),m.setEnd(x,0))},[t.current,a.current]),gt(()=>{u.close()});let f=Rh(g=>{let x=m.toString(),w=/^http(s?):\/\//.test(g)?g:`https://${g}`;d($o({text:`[${x}](${w})`,replace:"selection"}))},[]);return Pr("span",{children:[ge("mark",{ref:a,className:Ir(i.matchSelection),"aria-haspopup":"dialog","aria-expanded":u.opened?"true":"false",children:s}),u.opened&&ge(An,{className:i.popoverRoot,triggerRef:u.triggerRef,boundaryRef:e,position:"above",align:"start",children:Pr(Ln,{style:o,ref:l,children:[ge("div",{className:Ir(i.selectionOptions,{[i.selectionOptionsIsHidden]:c!==null}),children:Pr("button",{type:"button",tabIndex:c===null?-1:void 0,className:i.selectionOptionsButton,onClick:()=>p("insertLink"),children:[ge(hc,{}),ge("span",{children:"\xA0"}),ge("span",{children:r("insertLink")})]})}),c==="insertLink"&&ge(xc,{placeholder:r("linkInputPlaceholder"),visitUrlText:r("visitUrl"),onSelectLink:f,onDismiss:()=>{p(null),u.close()}})]})})]},"selection-end")},Nn=class extends Th{charCount=0;foundIndex=0;startRef=null;props;onBeforeParse(e,o){return this.props=o,this.charCount=0,this.startRef=Eh(),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?ge(Ih,{ref:this.startRef}):ge(Ah,{inputElement:o.inputElement,startRef:this.startRef,boundaryRef:o.boundaryRef,inputStyle:o.inputStyle})}asTag(){return"mark"}};import{jsx as Lt,jsxs as Fh}from"react/jsx-runtime";var Hh=({enabled:t,content:e,tabText:o,showTabHint:n,showTabCompletion:s,showStyleSuggestions:r,keywordMatches:i,inputElement:a,source:l})=>{let c=S("TabCompletion",ic),p=b("insertLink"),d=b("showMidSentenceSuggestions"),u=b("inlineSuggestions"),m=on(a),f=Nh(null);Oh(()=>{He(a)&&m&&nn(a,m)},[m]);let g=Mh(h=>{if(!s||!o)return h;let y=[Lt("span",{className:c.resetIndent,children:"\u200B"},"u200B"),Lt("span",{"data-testid":"tab-completion",className:Ar(c.tabText,c.resetIndent),"data-source":l,children:o},"tabText")];return n&&y.push(Lt("span",{className:Ar(c.hint,c.resetIndent),children:Lt(gs,{keyCode:"tab"},"tabHint")})),xr(h,y)},[s,o,n]),x=Tc(()=>{let h=[];return p&&h.push(new Nn("selection")),h.push(new ut("placeholders")),r&&h.push(new Mn("keywords")),h},[u,p,r]),w=Tc(()=>{let h=window.getComputedStyle(a);return{"--dd-color":h.color,"--dd-font-size":h.fontSize,"--dd-font-family":h.fontFamily,"--dd-font-variant":h.fontVariant}},[]);return t?Fh("div",{ref:h=>{h!=null&&h.parentElement&&(f.current=h==null?void 0:h.parentElement)},className:c.root,style:w,children:[Lt(Lh,{tagName:"span",containerTagName:"div",className:Ar(c.container,c.agentText),disableLineBreaks:He(a),content:e||"\u200B",onAfterParse:g,matchers:x,selection:m,keywordMatches:i,inputElement:a,inputStyle:w,boundaryRef:f,inlineSuggestionsOnlyAtEnd:!d}),Lt("br",{})]}):null},Bh=({input:t,ui:e,settings:o,styleSuggestions:n,conversation:s})=>{var g;let{tabCompletionSuggestion:r}=t,i=(r==null?void 0:r.text)||"",a=(r==null?void 0:r.source)||"",l=t.html??io(t.text),c=i.indexOf(t.text)===0?i.slice(t.text.length):"",{showTabHint:p}=e,{isSupported:d}=s,{showTabCompletion:u,visible:m,showStyleSuggestions:f}=o;return{showTabHint:p,showStyleSuggestions:f,showTabCompletion:u,content:l,tabText:c,source:a,keywordMatches:((g=n.list)==null?void 0:g.keywordMatches)??[],enabled:m&&d!==!1}},Ec=Dh(Bh)(Hh);import by from"classnames";import{useEffect as Cy}from"react";import{useDispatch as wy,useSelector as Q}from"react-redux";import{createAsyncThunk as co,createSlice as Kh}from"@reduxjs/toolkit";var kc={list:[],fetchState:"idle",isInitialRequest:null},Pc=t=>t.autoflows.list||[],Rc=t=>e=>{var o;return(o=e.list)==null?void 0:o.find(n=>n.triggerPayload===t)},Ee=co("autoflows/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getAutoflows(t)}),Lr=co("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(Ee(t.platformSessionId))}),Mr=co("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(Ee(t.platformSessionId))}),Uh=Kh({name:"autoflows",initialState:kc,reducers:{},extraReducers:t=>{t.addCase(Lr.pending,(e,o)=>{let n=Rc(o.meta.arg.triggerPayload)(e);n.state="Started",n.isBusy=!0}),t.addCase(Mr.pending,(e,o)=>{let n=Rc(o.meta.arg.triggerPayload)(e);n.state="Aborted",n.isBusy=!0}),t.addCase(Ee.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}),t.addCase(Ee.rejected,e=>{e.fetchState="error"}),t.addCase(Ee.fulfilled,(e,o)=>{e.list=o.payload,e.fetchState="done"}),t.addCase(R,()=>kc)}}),Ic=co("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(Ee(t))}),s.on("sessionCompleted",()=>{o(Ee(t))})}),Ac=co("autoflows/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),Lc=Uh.reducer;import{createAsyncThunk as uo,createSlice as zh}from"@reduxjs/toolkit";var Mc={list:[],fetchState:"idle",isInitialRequest:null,sentSuggestions:[],errorSuggestions:[],answeredSuggestions:[]},Oc=t=>t.customMessages.list,Nc=t=>e=>!!e.customMessages.sentSuggestions.find(o=>o===t),Dc=t=>e=>!!e.customMessages.answeredSuggestions.find(o=>o===t),Hc=t=>e=>!!e.customMessages.errorSuggestions.find(o=>o===t),po=uo("customMessages/getAll",async(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");return o.getCustomMessages(t)}),Dn=uo("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)}),Hn=uo("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)}),Bc=zh({name:"customMessages",initialState:Mc,reducers:{onCustomMessage(t,e){Array.isArray(e.payload)?t.list=e.payload:t.list=[e.payload]}},extraReducers:t=>{t.addCase(po.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(po.rejected,e=>{e.fetchState="error"}).addCase(po.fulfilled,(e,o)=>{e.fetchState="done",e.list=o.payload||[]}).addCase(Dn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.errorSuggestions=e.errorSuggestions.filter(n=>o.meta.arg.suggestion.text!==n)}).addCase(Dn.rejected,(e,o)=>{let n=e.sentSuggestions.indexOf(o.meta.arg.suggestion.text);e.errorSuggestions.push(...e.sentSuggestions.splice(n,1))}).addCase(Hn.pending,(e,o)=>{e.sentSuggestions.push(o.meta.arg.suggestion.text),e.answeredSuggestions.push(o.meta.arg.suggestion.text)}).addCase(Hn.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(R,()=>Mc)}}),Fc=uo("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(Bc.actions.onCustomMessage(r))})}),Kc=uo("customMessages/closeStream",(t,e)=>{let{deepdeskBrokerAPI:o}=e.extra;if(!o)throw new Error("Deepdesk Broker not initialized");o.closeStream(t)}),Uc=Bc.reducer;import{createAsyncThunk as zc,createSlice as jh}from"@reduxjs/toolkit";var qh={jwt:null,accountUrl:null,interval:null},jc=t=>e=>{let{exchangeToken:{jwt:o,accountUrl:n}}=e;return o&&n?`${n}/apis/admin/session/jwt/?jwt=${o}&redirect=${t}`:null},Or=zc("exchangeToken/getTemporaryExchangeToken",async(t,e)=>{let{deepdeskAPI:o}=e.extra,n=await o.getTemporaryExchangeToken();return{accountUrl:o.client.baseUrl,jwt:n}}),Nr=zc("exchangeToken/pollExchangeToken",(t={},e)=>{let{interval:o=1e3*60*30}=t,{dispatch:n}=e;return n(Or()),setInterval(()=>n(Or()),o)}),qc=jh({name:"exchangeToken",initialState:qh,reducers:{stopPollExchangeToken(t){t.interval&&clearInterval(t.interval),t.interval=null}},extraReducers:t=>{t.addCase(Or.fulfilled,(e,o)=>{e.jwt=o.payload.jwt,e.accountUrl=o.payload.accountUrl}),t.addCase(Nr.fulfilled,(e,o)=>{e.interval=o.payload})}}),{stopPollExchangeToken:Vc}=qc.actions,Wc=qc.reducer;function Gc(t){let{customMessages:e,autoflows:o}=t;return o.fetchState==="loading"&&o.isInitialRequest===!0||e.fetchState==="loading"&&e.isInitialRequest===!0}import{Fragment as ey}from"react";import{connect as ty}from"react-redux";import Zh from"classnames";import{Fragment as Jh}from"react";import Vh from"classnames";var $c={root:"_root_838fd_1"};import{jsx as Gh}from"react/jsx-runtime";var Wh=({className:t,children:e})=>{let o=S("Unicode",$c);return Gh("span",{className:Vh(t,o.root),children:e})},Xc=Wh;var Qc={isDisabled:"_isDisabled_1rmfm_1",buttonStart:"_buttonStart_1rmfm_5",root:"_root_1rmfm_8",buttonStop:"_buttonStop_1rmfm_8",stateBadge:"_stateBadge_1rmfm_19",isCompleted:"_isCompleted_1rmfm_26",isStarted:"_isStarted_1rmfm_30",isAborted:"_isAborted_1rmfm_34"};var Dr={};U(Dr,{enUS:()=>$h,nlNL:()=>Xh});var $h={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"}]},Xh={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 Ze,jsxs as Bn}from"react/jsx-runtime";var Yh=({disabled:t,state:e,displayName:o,description:n,onStartAutoflow:s,onStopAutoflow:r})=>{let i=S("Autoflow",Qc),a=T(Dr),l=e==="Started"?"stop":"start",c=l==="start"?"\u25B6":l==="stop"?"\u25FC":"";return Bn(M,{className:Zh(i.root,{[i.isDisabled]:t,[i.isCompleted]:e==="Completed",[i.isAborted]:e==="Aborted",[i.isStarted]:e==="Started"}),children:[Ze(D,{children:Bn(D.Content,{children:[Bn(D.Title,{children:[e&&Ze("span",{className:i.stateBadge,children:a(e)}),o]}),Ze("span",{children:n})]})}),Ze(M.Actions,{fixed:e==="Started",children:Ze(M.ActionButton,{primary:!0,className:l==="start"?i.buttonStart:i.buttonStop,onClick:e==="Started"?r:s,disabled:t,label:Bn(Jh,{children:[Ze(Xc,{children:c})," ",Ze("span",{children:a(l)})]})})})]})},Zc=Yh;import{jsx as Jc}from"react/jsx-runtime";var oy=(t,e)=>{let o=e.filter(n=>n.state==="Started");return o.length>0?o.indexOf(t)===-1:!1},ny=({autoflows:t,onStartAutoflow:e,onStopAutoflow:o,platformSessionId:n})=>Jc(ey,{children:t.map(s=>Jc(Zc,{displayName:s.displayName,description:s.description,disabled:s.isBusy||oy(s,t),state:s.state,onStartAutoflow:()=>e({platformSessionId:n,triggerPayload:s.triggerPayload}),onStopAutoflow:()=>o({platformSessionId:n,triggerPayload:s.triggerPayload})},s.displayName))}),sy=({autoflows:t,conversation:e})=>{var o;return{autoflows:t.list,platformSessionId:(o=e.current)==null?void 0:o.sessionId}},ry={onStartAutoflow:Lr,onStopAutoflow:Mr},Yc=ty(sy,ry)(ny);import{useEffect as iy,useState as ay}from"react";import{useDispatch as ly}from"react-redux";import op from"classnames";import{jsx as ep}from"react/jsx-runtime";var Hr=()=>ep("svg",{width:"1em",height:"1em",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:ep("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 tp={root:"_root_rjdyr_1",entity:"_entity_rjdyr_10",entityText:"_entityText_rjdyr_46",iconWrapper:"_iconWrapper_rjdyr_53",icon:"_icon_rjdyr_53",iconClicked:"_iconClicked_rjdyr_67"};import{jsx as Mt,jsxs as np}from"react/jsx-runtime";var cy=({entities:t})=>{let e=S("EntitiesWidgetList",tp),[o,n]=ay(void 0),s=ly(),r=()=>{n(void 0)},i=a=>{t&&(n(t.indexOf(a)),no(a.text),s(J({name:"entity copied",data:{entity:a,type:"copy"}})))};return iy(()=>{let a=setTimeout(r,500);return()=>{clearTimeout(a)}},[o]),!t||t.length===0?null:Mt("div",{className:e.root,"data-testid":"widget-entities-list",children:t.map((a,l)=>np("button",{title:a.text,className:e.entity,type:"button",onClick:()=>i(a),children:[Mt("span",{className:e.entityText,children:a.text}),np("span",{className:e.iconWrapper,children:[Mt("span",{className:op(e.icon),children:Mt(Hr,{})}),Mt("span",{className:op(e.icon,o===l&&e.iconClicked),children:Mt(Hr,{})})]})]},a.text))})},sp=cy;import uy from"classnames";import{useCallback as rp}from"react";import{useDispatch as gy,useSelector as Fn}from"react-redux";var go={};U(go,{enUS:()=>py,nlNL:()=>dy});var py={preview:[{type:0,value:"Preview"}],useSuggestion:[{type:0,value:"Add"}],sendSuggestion:[{type:0,value:"Send"}],suggestionSent:[{type:0,value:"Sent"}],sendingError:[{type:0,value:"Sending failed"}],tryAgain:[{type:0,value:"Try again"}],editSuggestion:[{type:0,value:"Edit"}],visitUrl:[{type:0,value:"Visit"}],answer:[{type:0,value:"Answer"}]},dy={preview:[{type:0,value:"Preview"}],useSuggestion:[{type:0,value:"Gebruik"}],sendSuggestion:[{type:0,value:"Verzenden"}],suggestionSent:[{type:0,value:"Verzonden"}],sendingError:[{type:0,value:"Verzenden mislukt"}],tryAgain:[{type:0,value:"Probeer opnieuw"}],editSuggestion:[{type:0,value:"Bewerken"}],visitUrl:[{type:0,value:"Bekijk"}],answer:[{type:0,value:"Antwoord"}]};var ke={root:"_root_1e6ej_1",title:"_title_1e6ej_8",isUsed:"_isUsed_1e6ej_13",quickReplies:"_quickReplies_1e6ej_22",quickReply:"_quickReply_1e6ej_29",hasError:"_hasError_1e6ej_39",label:"_label_1e6ej_43",errorIcon:"_errorIcon_1e6ej_48"};import{jsx as Be,jsxs as Kn}from"react/jsx-runtime";var my=({suggestion:t})=>{let e=T(go),o=gy(),n=Fn(Nc(t.text)),s=Fn(Dc(t.text)),r=Fn(Hc(t.text)),i=Fn(Ko),{replyOptions:a}=t,l=rp(p=>{p.preventDefault(),p.stopPropagation(),!(n||!i)&&o(Dn({platformSessionId:i,suggestion:t}))},[t,n,o,i]),c=rp(p=>{if(p.preventDefault(),p.stopPropagation(),!i||!a)return;let d=parseInt(p.target.dataset.index,10),u=a[d];o(Hn({platformSessionId:i,reply:u,suggestion:t}))},[t,n,o,i]);return Kn(M,{onClick:l,className:uy(ke.root,{[ke.isUsed]:n,[ke.hasError]:r}),children:[Be(D,{children:Kn(D.Content,{children:[Kn(D.Title,{className:ke.title,children:[t.text," ",Be(ms,{className:ke.label,children:"analyse tool"})," ",r&&Be("span",{className:ke.errorIcon,role:"img","aria-label":e("sendingError"),title:e("sendingError"),children:"!"})]}),a&&a.length>0&&Be("ul",{className:ke.quickReplies,children:a.map(p=>Be("li",{className:ke.quickReply,children:p.title},p.title))})]})}),Kn(M.Actions,{fixed:r||n,children:[a&&a.length>0&&Be(M.DropdownButton,{label:e("answer"),disabled:s,children:a.map((p,d)=>Be(M.DropdownItem,{index:d,label:p.title,onClick:c},p.title))}),Be(M.ActionButton,{primary:!0,disabled:n,onClick:l,label:e(n?"suggestionSent":r?"tryAgain":"sendSuggestion")})]})]})},ip=my;import{jsx as ap}from"react/jsx-runtime";var lp=()=>ap("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:ap("path",{d:"M17 13.5v6H5v-12h6m3-3h6v6m0-6-9 9",stroke:"currentColor",strokeWidth:"1.5",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"})});import{useSelector as yy}from"react-redux";import{useCallback as fy}from"react";import{jsx as Je,jsxs as Un}from"react/jsx-runtime";var hy=({suggestion:t,lines:e,onEdit:o,onUse:n})=>{var u;let s=t.text||t.url||t.message,r=un(s),i=T(go),a=b("showImages"),l=b("fallbackImage"),c=m=>{m.preventDefault(),m.stopPropagation(),n(s)},p=m=>{m.preventDefault(),m.stopPropagation(),o(t)},d=fy(m=>{window.open(r,"_blank"),m.stopPropagation(),m.preventDefault()},[r]);return Un(M,{onClick:c,"data-testid":"edit-suggestion",children:[Un(D,{children:[a&&t.image&&Je(D.Image,{src:On(t,"small",l||void 0),title:t.title}),Un(D.Content,{children:[t.title&&Je(D.Title,{"data-testid":"widget-suggestion-title",children:t.title}),t.searchKeywords&&((u=t.searchKeywords)==null?void 0:u.length)>0&&Je(M.Labels,{labels:t.searchKeywords}),Je(D.Content,{cropText:e==="single",lineClamp:e==="multiple",children:s})]})]}),Un(M.Actions,{children:[r&&Je(M.ActionButton,{onClick:d,label:i("visitUrl")}),Je(M.ActionButton,{primary:!0,onClick:p,label:i("preview")}),Je(M.ActionButton,{primary:!0,onClick:c,label:i("useSuggestion")})]})]})},cp=hy;import{Fragment as vy,jsx as pp}from"react/jsx-runtime";var Sy=({contentType:t,lines:e,suggestions:o})=>{let n=ee(),s=yy(_t),r=a=>{n.send(Js,{state:s,suggestion:a,contentType:t})},i=(a,l)=>{n.send(be,{text:a,suggestion:{...l,source:l.source,sourceText:l.text}})};return pp(vy,{children:o.map(a=>pp(cp,{suggestion:a,lines:e,onEdit:l=>r(l),onUse:l=>i(l,a)},a.text||a.url||a.message))})},dp=Sy;var Br={};U(Br,{enUS:()=>_y,nlNL:()=>xy});var _y={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"}],actions:[{type:0,value:"Shortcuts"}],linkPersonalcollection:[{type:0,value:"Personal Collection"}],linkSummary:[{type:0,value:"Summarize"}],linkKnowledgeSearch:[{type:0,value:"Knowledge Assist"}],linkSearch:[{type:0,value:"Search"}]},xy={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"}],actions:[{type:0,value:"Shortcuts"}],linkPersonalcollection:[{type:0,value:"Personal Collection"}],linkSummary:[{type:0,value:"Gesprek samenvatten"}],linkKnowledgeSearch:[{type:0,value:"Knowledge assist"}],linkSearch:[{type:0,value:"Zoeken"}]};var up={root:"_root_x0pwe_1",loginText:"_loginText_x0pwe_7",stateText:"_stateText_x0pwe_8",sectionList:"_sectionList_x0pwe_20",shortcutList:"_shortcutList_x0pwe_24",shortcut:"_shortcut_x0pwe_24",link:"_link_x0pwe_52"};import{jsx as gp}from"react/jsx-runtime";var mp=()=>gp("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:gp("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 fp}from"react/jsx-runtime";var hp=()=>fp("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",children:fp("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{jsx as L,jsxs as Ot}from"react/jsx-runtime";var zn=(t,e)=>{let o=Q(ie);Cy(()=>o?e.every(n=>!!n)?t():()=>{}:()=>{},[...e,o])},Ty=()=>{let t=T(Br),e=wy(),o=b("isEmbedded"),n=S("Widget",up),s=b("showAutoflows"),r=b("showCustomMessages"),i=b("showPersonalCollectionLink"),a=b("showSummaryCommand"),l=b("showKnowledgeSearch"),c=b("showSearch"),p=Q(Rt),d=Q(xn),u=Q(Pc),m=Q(Sn),f=Q(Oc),g=Q(Uo),x=Q(ct),w=Q(ie),h=Q(Ko),y=Q(Gc),_=Q(_t),C=ee(),H=Q(Na),O=Q(jc("/admin/personal-collection")),le=b("adminUrl");if(zn(()=>(e(po(h)),e(Fc(h)),()=>{e(Kc(h))}),[e,x,r,h]),zn(()=>(e(Ee(h)),e(Ic(h)),()=>{e(Ac(h))}),[e,x,s,h]),zn(()=>{d.forEach(({type:k})=>{e(k==="entities"?ae():_e(k))})},[e,x,g,p]),zn(()=>(e(Nr()),()=>{e(Vc())}),[e,x,i,g]),x===!1)return L("div",{className:n.stateText,children:L("div",{children:L("p",{children:t("notSupported")})})},"supported");if(w===!1)return L("div",{className:n.loginText,children:L("div",{children:L(En,{isEmbedded:o,loginUrl:le})})},"login");if(!p||!h||w===null||H||y)return L("div",{className:n.stateText,children:L("div",{children:L("p",{children:t("waiting")})})},"waiting");let N=c||a||l||O;return L("div",{className:by(n.root),"data-testid":"widget",children:Ot(hs,{className:n.sectionList,children:[N&&L(ze,{title:t("actions"),type:"shortcuts",children:Ot("div",{className:n.shortcutList,children:[c&&Ot("button",{className:n.shortcut,"data-testid":"shortcut-search",onClick:()=>C.send("ShowCommandPalette",{isOpen:!0}),children:[L(St,{}),t("linkSearch")]}),a&&Ot("button",{className:n.shortcut,"data-testid":"shortcut-summary",onClick:()=>C.send("ShowCommandPalette",{isOpen:!0,page:"summary"}),children:[L(hp,{}),t("linkSummary")]}),l&&Ot("button",{className:n.shortcut,"data-testid":"shortcut-knowledge-assist",onClick:()=>C.send("ShowCommandPalette",{isOpen:!0,page:"knowledgeAssist"}),children:[L(mp,{}),t("linkKnowledgeSearch")]}),O&&Ot("a",{className:n.shortcut,target:"_blank",href:O,"data-testid":"shortcut-personal-collection",rel:"noreferrer",children:[L(lp,{}),t("linkPersonalcollection")]})]})}),r&&f.length>0&&L(ze,{type:"custom-messages","data-testid":"custom-messages",children:L(se,{withDivider:!0,children:f.map(k=>L(ip,{suggestion:k},k.text))})}),s&&u.length>0&&L(ze,{type:"autoflows",title:t("titleAutoflows"),"data-testid":"autoflows",children:L(se,{withDivider:!0,children:L(Yc,{})})}),d.map(({type:k,title:V,amount:te,lines:Jn})=>{var Ke;switch(k){case"entities":return m&&m.length>0&&L(ze,{type:k,title:V,"data-testid":`type-${k}`,children:L(sp,{entities:m})},k);default:return((Ke=_[k])==null?void 0:Ke.fetchState)==="done"&&_[k].suggestions.length>0&&L(ze,{type:k,title:V,"data-testid":`type-${k}`,children:L(se,{withDivider:!0,children:L(dp,{lines:Jn,contentType:k,suggestions:_[k].suggestions.slice(0,te)||[]})})},k)}})]})})},yp=Ty;function fo(t){let e=new Range;return e.selectNodeContents(t),e}function Sp(t,e,o){try{return Ye(t,e,o),!0}catch{return!1}}function jn(t){return"tagName"in t&&(t.tagName==="DIV"||t.tagName==="P")}function qn(t){return"tagName"in t&&t.tagName==="BR"}var mo=/[\u200B-\u200D\uFEFF]/g;function Ye(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 p=-1,d=/[\u200B-\u200D\uFEFF]/;if(!d.test(l))return c;for(let u=0;u<=l.length;u++)if(d.test(l[u])||p++,p===c)return u;throw new Error("Offset out of range")}function a(l){switch(l.nodeType){case Node.TEXT_NODE:{let c=l.textContent,p=c.replace(mo,""),d=s+p.length,u=e>=s&&e<=d,m=o>=s&&o<=d;if(u){let f=i(c,e-s);f===0&&!m?n.setStartBefore(l):n.setStart(l,f)}m&&(n.setEnd(l,i(c,o-s)),r=!0),s=d;break}case Node.ELEMENT_NODE:{if(qn(l)&&(s===e&&n.setStartBefore(l),s++,s===o)){n.setEndAfter(l),r=!0;return}for(let p=0;p<l.childNodes.length&&(a(l.childNodes[p]),!r);p++);let c=l.lastChild;jn(l)&&c&&!jn(c)&&!qn(c)&&s++;break}default:break}}if(a(t),n.startContainer===document)throw new Error("Offsets out of bound");return n}function Vn(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 p(d){let u=d===o,m=d===s;switch(d.nodeType){case Node.TEXT_NODE:{let f=d.textContent;u&&(a=c+f.substring(0,n).replace(mo,"").length),m&&(l=c+f.substring(0,r).replace(mo,"").length),c+=f.replace(mo,"").length;break}case Node.ELEMENT_NODE:{let f=d.nextSibling===null;qn(d)&&!f&&c++;for(let g=0;g<d.childNodes.length;g++){let x=u&&g===n,w=m&&g===r;if(x&&(a=c),w&&(l=c),l!==void 0||((!x||!i)&&p(d.childNodes[g]),m&&g===r-1&&(l=c),l!==void 0))break}!m&&jn(d)&&!f&&c++,m&&(l=c);break}default:break}}if(p(t),l===void 0)throw new Error("Could not determine start and end");return{start:a??l,end:l}}function Wn(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 p=c===o,d=c===s;switch(p&&i++,c.nodeType){case Node.TEXT_NODE:{if(i!==0)return;let u=p?n:0,m=d?r:void 0,f=c.textContent.replace(mo,"");u===0&&m===void 0?a+=f:a+=f.substring(u,m);break}case Node.ELEMENT_NODE:{let u=c.nextSibling===null;i===0&&qn(c)&&!u&&(a+=`
4
4
  `);for(let m=p?n:0;m<(d?Math.min(r,c.childNodes.length):c.childNodes.length)&&(l(c.childNodes[m]),i!==1);m++);!d&&i===0&&jn(c)&&!u&&(a+=`
5
- `);break}default:break}d&&i++}return l(t),a}function vp(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var Nt=class extends Le{observer;lastKnownSelection=null;getRootNode(){return this.element.getRootNode()}getText(){let e=new Range;return e.selectNodeContents(this.element),Wn(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!vp(o)&&(e.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=e.getBoundingClientRect(),e.deleteContents(),!vp(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let e=this.getRange();if(e)return Vn(this.element,e);let o=this.lastKnownSelection;if(o&&Sp(this.element,o.start,o.end))return o;let n=fo(this.element);return n.collapse(!1),Vn(this.element,n)}getSelectedText(){let{start:e,end:o}=this.getSelection();return Wn(this.element,Ye(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 Fr=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(e)}close(){this.disposeHandlers.forEach(e=>e()),this.broadcastChannel.close()}},Kr=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.iframe=this.createIframe(),document.body.appendChild(this.iframe)}iframe;disposeHandlers=[];createIframe(){let e=`deepdesk-iframe-${this.name}`,o=document.getElementById(e);if(o)return o;let n=document.createElement("iframe"),s=`${this.targetOrigin}/v2/widget/liveengage/channel.html`,r=new URLSearchParams({channel:this.name,host:window.location.origin});return this.options.debug&&r.set("debug","1"),n.style.position="absolute",n.style.left="-999em",n.style.width="0px",n.style.height="0px",n.tabIndex=-1,n.id=e,n.title=`iframe-${this.name}`,n.src=`${s}?${r.toString()}`,n}onMessage(e){window.addEventListener("message",e),this.disposeHandlers.push(()=>{window.removeEventListener("message",e)})}postMessage(e){var o;(o=this.iframe.contentWindow)==null||o.postMessage(e,this.targetOrigin)}close(){var e;this.disposeHandlers.forEach(o=>o()),(e=this.iframe)==null||e.remove()}},Ur=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,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(),E.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 Kr(e,this.deepdeskUrl,{debug:!0}):new Fr(e),n=s=>{var r,i;s.origin===this.deepdeskUrl&&s.data.type==="event"&&s.data.channel===e&&(E.info("Received broadcast event",this.sessionId,s),(i=(r=this.eventMap)[s.data.name])==null||i.call(r,s.data.payload))};return o.onMessage(n),o}send(e,o){var s,r,i;if(!this.sessionId)return;E.info("broadcast event",{sessionId:this.sessionId,name:e,payload:o});let n={type:"event",name:e,payload:o};(r=(s=this.eventMap)[e])==null||r.call(s,o),(i=this.channel)==null||i.postMessage({...n,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)}},_p=Ur;var Dt=class extends Error{constructor(o,n){super(o);this.body=n}name="CustomError"};var zr=t=>new Promise(e=>{setTimeout(e,t)});var Ht=class extends Dt{name="ClientError"},jr=class extends Dt{name="ServerError"},me=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,{abortLatest:l=!1,attempts:c=1,retryDelay:p=500,refreshTokenOn401:d=!0,retryOnError:u=_=>_ instanceof TypeError,retryOnResponse:m=_=>_.status>=500,version:f="v1",...g}=o,x={credentials:"include",...g,headers:{"Content-Type":"application/json",...g.headers}};o.method!==void 0&&o.method!=="GET"&&this.csrfToken&&(x.headers={...x.headers,"X-CSRFToken":this.csrfToken}),typeof f=="string"&&(x.headers={...x.headers,"X-Deepdesk-API-Version":f});let w=c,h=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&l&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let y=async()=>(w--,a(i,x).then(async _=>m(_)&&!r.isAborted&&w>0?(await zr(p),y()):_.status===401&&d===!0&&h===!1?(h=!0,await this.refreshToken(),y()):_).catch(async _=>{if(u(_)&&!r.isAborted&&w>0)return await zr(p),y();throw _}));y().then(_=>_.json().catch(()=>null).then(C=>{_.status>=500?s(new jr("Server Error",C)):_.status===401?s(new Ht("Unauthorized",C)):_.status===403?s(new Ht("Forbidden",C)):_.status===404?s(new Ht("Not Found",C)):_.status>=400&&s(new Ht("Bad Request",C)),delete this.latestRequestByUrl[i],n(C)})).catch(_=>{s(_)})})}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 Ey;(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||={})})(Ey||={});function Gn(t){return{...A(t),tags:t.tags}}var Fe=class t{constructor(e,o={}){this.options=o;this.client=new me(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(),E.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=await this.client.post("/api/conversations",{...B(e),tags:e.tags},{version:"v2"});return Gn(o)}async getProfile(e){let o=await this.client.get(`/apis/admin/profiles/${e}/`,{version:null});return A(o)}async getContentTypes(){let e=await this.client.get("/apis/admin/content-types/",{version:null});return A(e)}async getPlatformConfig(){let{config:e}=await this.client.get("/platform/config/",{version:null});return A(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(),E.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 Gn(r)}async isConversationSupported(e,o={}){E.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=B(o);o.tags&&(n.tags=o.tags);let s=await this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return Gn(s)}async postMessages(e,o){return(await this.client.post(`/api/conversations/${e}/messages`,o.map(s=>({...B(s),tags:s.tags})),{version:"v2"})).map(s=>Gn(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",B({...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:B({...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)},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 E.warn(`Invalid token '${e}'`),o})}async authenticateWithKey(e,o){await this.client.post("/apis/admin/session/api-key/",B(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}`,B(o),{abortLatest:!0})).map(r=>({...A(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`,B(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 A(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",B(e),{abortLatest:!0});return A(o)}async search(e){let o=await this.client.post(`/api/profiles/${e.profile}/search`,B(e),{version:"v2"});return A(o)}async knowledgeAssist(e,o,n){let s=await this.client.post("/api/knowledge-search/search",B({question:e.question,promptInstruction:e.promptInstruction,profile:n,chatHistory:o.map(r=>({question:r.question,answer:r.answer.answer}))}),{version:"v2"});return A(s)}async requestLoginByEmail(e){let o=await this.client.post("/apis/admin/session/passwordless/request/",{email:e},{version:null});return A(o)}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 A(o)}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(fi);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&E.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};var ho=class{constructor(e,o){this.url=e;this.options={timeout:25e3,...o}}eventListeners={};options;timeoutTimer;eventSource;proxyEvent(e){this.eventSource.addEventListener(js(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,A(s))}catch{E.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 ky;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||={})})(ky||={});var yo=class{constructor(e,o={}){this.apiUrl=e;this.client=new me(e,o)}client;streams={};logger=E;async getCustomMessages(e){let o=await this.client.get(`/sessions/${e}/suggestions`);return A(o.suggestions)}async sendCustomMessage(e,o){let n=await this.client.post(`/sessions/${e}/messages`,B(o));return A(n)}async answerCustomMessage(e,o){await this.client.post(`/sessions/${e}/answers`,B(o))}async getAutoflows(e){let o=await this.client.get(`/sessions/${e}/autoflows`);return A(o.autoflows)}async startAutoflowSession(e){let o=await this.client.post("/autoflow-sessions",B(e));return A(o)}async stopAutoflowSession(e){await this.client.delete(`/autoflow-sessions/${e}`)}openStream(e){return this.streams[e]||(this.streams[e]=new ho(`${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 Oy,configureStore as Ny}from"@reduxjs/toolkit";import{createSlice as Ry}from"@reduxjs/toolkit";var xp={startTime:null,stopTime:null},bp=Ry({name:"handlingTime",initialState:xp,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(R,()=>xp)}}),{handlingTimeStart:Cp,handlingTimeStop:$n,handlingTimeReset:wp}=bp.actions,Tp=bp.reducer;var Ep=(t={})=>{let e={onAuthError:Ct(!1),...t};return o=>n=>s=>("error"in s&&s.error.message==="Unauthorized"&&o.dispatch(e.onAuthError),n(s))};import{createAsyncThunk as Py,createSlice as Iy}from"@reduxjs/toolkit";var Xn={list:{keywordMatches:[]},fetchState:"idle",isInitialRequest:null};var et=Py("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 Xn.list;if(!r)throw new Error("No current conversation to fetch pinned messages");return o.getStyleSuggestions({profileCode:r,message:t})}),Ay=Iy({name:"styleSuggestions",initialState:Xn,reducers:{},extraReducers:t=>{t.addCase(et.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(et.rejected,e=>{e.fetchState="error"}).addCase(et.fulfilled,(e,o)=>{e.fetchState="done",Pe(e.list,o.payload)||(e.list=o.payload)}).addCase(Ve,e=>{e.list=Xn.list}).addCase(R,()=>Xn)}}),kp=Ay.reducer;var Rp=(t={})=>{let e,o=!0,n={getStyleSuggestions:et,debounce:500,...t};return s=>r=>i=>{var m;let a=s.getState().input.text,l=r(i),c=s.getState();if(c.auth.isLoggedIn!==!0)return l;let{showStyleSuggestions:p}=c.settings;if(!((m=c.conversation.current)==null?void 0:m.id)||!p)return l;let{text:u}=c.input;return u===a&&!o||(clearTimeout(e),u==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:u}))},t.debounce)),l}};function Ly(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var Pp=(t={})=>{let e={getTextSuggestions:_e,getAutocompleteSuggestions:Jt,debounce:200,check:It,...t},o;return n=>s=>r=>{var g;let{input:{userCommitted:i}}=n.getState(),a=s(r),l=n.getState();if(l.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:c,showTabCompletion:p}=l.settings,d=(g=l.conversation.current)==null?void 0:g.id,u=r.type===fn.toString();if(!d||!c&&!p)return a;let{input:{userCommitted:m}}=l;return Ly(m,i)&&!u||(clearTimeout(o),!e.check(l))||(o=setTimeout(()=>{let x=pt(l);x===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(x))},u?0:e.debounce)),a}};var Ip=et.fulfilled.toString();function My(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 Ap=t=>e=>o=>n=>{var c;if(n.type!==Ip){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=My(s,i);n.type===Ip&&l.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:l}})};var Dy=Oy({activeSuggestion:Va,answer:Ll,auth:sl,autoflows:Lc,conversation:xi,contentTypes:fl,customMessages:Uc,exchangeToken:Wc,entities:Sl,handlingTime:Tp,info:ma,input:ws.reducer,overlayInput:W.reducer,settings:yi,profile:Hl,search:_a,summary:Tl,styleSuggestions:kp,ui:Xa,textSuggestions:Ka});function Lp(t){return Ny({reducer:Dy,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),Ep(),Pp({debounce:200}),Rp({debounce:500}),Ap(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var Hy=t=>{var e;return((e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())??"unknown"},By=t=>e=>o=>n=>{var a;let s=e.getState(),r=_s("inlineSuggestions")(s);switch(n.type){case xe.toString():{let l=Oa(n.payload.contentType)(e.getState()),c=l.indexOf(n.payload.suggestion);t.emit("edit-suggestion",{contentType:n.payload.contentType,index:c,suggestions:l});break}case Ct.toString():{!n.payload&&t.emit("logout",void 0);break}case re.toString():{let{start:l,end:c}=s.input.selection;t.emit("select-suggestion",{type:Hy(n.payload.suggestion),...n.payload,replace:n.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0});break}case $o.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 Vt.toString():{let l=e.getState(),{text:c,selection:p}=l.input.userCommitted;t.emit("reset",{text:c,selectionAfter:p},{mayApplyChanges:!0});break}case Jo.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 ae.fulfilled.toString():n.payload.length>0&&t.sendEvent("entities found",{conversationId:s.conversation.current.id,data:{entities:n.payload}});break;case Ce.fulfilled.toString():t.sendEvent("conversation summarized",{conversationId:s.conversation.current.id,data:{summary:n.payload.summary}});break;case J.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 Xo.toString():t.handleKeyDown(n.payload);break;case Ve.toString():t.logSendMessage(n.payload);break;case Qo.toString():t.logSendEditSuggestionMessage(n.payload);break;case Zo.toString():t.handleInputChanged(n.payload);break;default:break}let i=o(n);switch(n.type){case Ve.toString():t.handleAfterSendMessage(n.payload);break;case Yt.toString():t.onUpdateShowTabHint(n.payload);break;case $n.toString():t.logHandlingTime();break;case re.toString():{r&&(e.dispatch(he([])),e.dispatch(Ae()));break}default:break}return i},Mp=By;function qr(t){return t.toISOString().replace("T"," ").replace("Z","")}function Op(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:qr(o),timeStop:qr(n)}}function Vr(t,e,o){var O,le,N;let{text:n,metrics:{numCharsTyped:s,numCharsPasted:r,numCharsCut:i,numCharsDeleted:a,numPaste:l,agentStartedTypingTimestamp:c,externalTimeTotalSeconds:p,pastes:d,cuts:u,deletions:m,textSuggestions:f,offeredTextSuggestions:g}}=e[t],x=n.length,h=f.reduce((k,{text:V,searchTerm:te})=>k+V.length-(te?te.length:0),0),y=c??Date.now(),_=(Date.now()-y)/1e3+(p||0),C=s/_,H=f.reduce((k,{searchTerm:V})=>k+(V?V.length:0),0);return{conversationId:e.conversation.current.id,source:"agent",text:n,clientVersion:o.version,pastes:d,cuts:u,deletions:m,lenTextTyped:s+H,lenTextTotal:x,lenTextAssisted:h,lenTextPasted:r,lenTextCut:i,lenTextDeleted:a,timeTotalSeconds:_,charsPerSecond:C,numPastes:l,textSuggestionsV2:f,suggestionsCounters:[{source:"gpt",countOffered:g.filter(k=>k.source==="gpt").length}],agentId:(O=e.info.agentInfo)==null?void 0:O.agentId,agentName:(le=e.info.agentInfo)==null?void 0:le.agentName,agentEmail:(N=e.info.agentInfo)==null?void 0:N.agentEmail}}function Np(t,e){let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;return n instanceof HTMLElement?Np(n,e):null}function Dp(t,e){return Np(t,e)}function Hp(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function Fy(t){return typeof t=="object"&&t!==null&&"tagName"in t}function Wr(t){return Fy(t)&&(He(t)||tn(t))}var Bp=(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{E.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function Ky(t){return t.offsetParent!==null}function Fp(t){if(!Ky(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 Gr(t,e,o=100){let n=Fp(t);e({isVisible:n});let s=setInterval(()=>{let r=Fp(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}import{jsx as q}from"react/jsx-runtime";var Kp=Bp("showTabHint",!0),Zn=class t{static version="10.3.1-beta.7";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 Fe(c,{token:r,fetch:i}),this.version=n,this.instanceId=t.count++;let p={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[Mp({emit:(d,u,m)=>this.emit(d,u,m),handleAfterSendMessage:d=>this.handleAfterSendMessage(d),handleInputChanged:d=>this.handleInputChanged(d),handleKeyDown:d=>this.handleKeyDown(d),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:d=>this.logSendMessage(d),logSendEditSuggestionMessage:d=>this.logSendEditMessage(d),onUpdateShowTabHint:d=>Kp.update(d),sendEvent:(d,u)=>this.deepdeskApi.sendEvent(d,u)})]};o&&Object.assign(p,{deepdeskBrokerAPI:new yo(o)}),this.store=Lp(p),this.broadcastEvents=new _p({debug:!0,deepdeskUrl:c,eventMap:rl(this.store),createCustomChannel:l}),this.store.dispatch(qt),this.store.dispatch(Yt(Kp.value())),this.store.dispatch(qt({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?(E.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(E.warn("Profile has not been loaded (yet)"),!0):(E.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(Ct(null)),this.store.dispatch(De()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();ie(n)&&Ja(n)!=="loading"&&e()});this.unmountHandlers.push(()=>{o()})})}isLoggedIn(){return this.deepdeskApi.isLoggedIn()}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){E.warn("Failed to attach user:",o)}}async isConversationSupported(e,o){return(await this.store.dispatch(bs({sessionId:e,options:o}))).payload}async createConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(zo(e))).payload}async getConversationBySessionId(e,o){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(await this.store.dispatch(jo({sessionId:e,options:o}))).payload}async upsertConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Cs(e))).payload}async postMessages(e){return(await this.store.dispatch(Vo(e))).payload}async updateConversation(e){return(await this.store.dispatch(qo(e))).payload}resetConversation(){this.store.dispatch(R()),this.dynamicThunkObject.conversationQuery=null}async getSummary(){let e=await this.store.dispatch(Ce());if(e.error)throw new Error(e.error.message);return e.payload.summary}configure(e){this.store.dispatch(qt(e))}setVisitorInfo(e){this.store.dispatch(ga(e))}async setAgentInfo(e){await this.store.dispatch(Xt(e))}async setAgentSettings(e){await this.store.dispatch(Vs(e))}async getAgentSettings(){return(await this.store.dispatch(Ws())).payload}async refresh(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.handleInputChanged(this.inputMediator.getText());let e=[];return this.store.dispatch(fn()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})}notifyInputChanged(e){this.store.dispatch(Zo(e))}notifyKeyDown(e){this.store.dispatch(Xo(e))}notifyPaste(e,o){this.store.dispatch(Li({text:e,selectionText:o}))}notifyCut(e){this.store.dispatch(Ii(e))}notifyExternalSuggestion(e){this.store.dispatch(re(e)),this.store.dispatch(Ae())}notifyEditSuggestion(e){this.store.dispatch(Ba(e.contentType,e.suggestions)),this.store.dispatch(xe({contentType:e.contentType,suggestion:typeof e.index=="number"?e.suggestions[e.index]:null}))}handleInputChanged(e){let{overlayCollapsed:o,openOverlayWhenTyping:n}=this.state.ui;o&&n&&this.store.dispatch(Ne({collapse:!1})),this.inputMediator&&this.store.dispatch(wi({text:e,html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),!this.shouldAbort()&&(this.isMounted||this.store.dispatch(he([])))}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(Ai(Go(e))),e.key!=="Tab"&&!this.settings.showTextSuggestions)return;let c=()=>{o||!a||r&&(e.shiftKey||(this.store.dispatch(ki()),i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault()))},p=()=>{if(o||!a||!r||e.shiftKey)return;this.store.dispatch(Pi());let{selectedSuggestionIndex:d}=this.state.input;e.preventDefault(),!i&&(d===-1?this.store.dispatch(Vt()):this.stageSelectedSuggestion({inputType:"arrow"}))};switch(e.key){case"Up":case"ArrowUp":i?p():c();return;case"Down":case"ArrowDown":{i?c():p();return}case"Esc":case"Escape":{i&&l&&this.store.dispatch(Wt(-1)),this.state.input.selectedSuggestionIndex!==-1?(this.store.dispatch(Wt(-1)),this.store.dispatch(Vt()),e.preventDefault()):o||(this.store.dispatch(Ne({collapse:!0})),this.store.dispatch(Ga(!0)),e.preventDefault());return}case"Tab":{let{userCommitted:d}=this.state.input,u=d.text.substring(0,d.selection.end),{tabCompletionSuggestion:m}=this.state.input;this.store.dispatch(Yt(!1)),this.state.input.selectedSuggestionIndex>-1?this.stageSelectedSuggestion({inputType:"tab"}):!i&&this.settings.showTabCompletion&&m&&m.text.startsWith(u)&&(this.store.dispatch(re({text:m.text,suggestion:m,eventMetrics:{inputType:"tab"},replace:"until-selection-end"})),this.store.dispatch(Ae())),e.preventDefault();break}default:}}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(Mi()),this.store.dispatch(he([]))}handlingTimeStart(){this.state.handlingTime.startTime||(E.info("Start handling time"),this.store.dispatch(Cp()))}handlingTimeStop(){this.state.handlingTime.startTime&&(E.info("Stop handling time"),this.store.dispatch($n()))}logSendMessage(e){let o=Vr("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)}logSendEditMessage(e){let o=Vr("overlayInput",this.state,{version:this.version});e&&Object.assign(o,{text:e}),this.store.dispatch(Ei(this.state.overlayInput.metrics))}logHandlingTime(){let e=Op(this.state,{version:this.version});this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(wp())}notifySubmit(e={}){this.shouldAbort()||(this.store.dispatch(Ae()),this.store.dispatch(Ve(e.text??this.state.input.text)))}stageSelectedSuggestion(e){let o=this.state.input.selectedSuggestionIndex,{textSuggestions:n}=this.state.input;this.store.dispatch(re({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){E.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),E.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]=ft(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{Qn(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]=ft(r,{appendTo:document.body});a.dataset.testid=o,a.style.zIndex="2",a.appendChild(n),this.unmountHandlers.push(()=>{Qn(s),l()})}else document.body.appendChild(n);return s}createContainer(e,o=document.body){let n=window.getComputedStyle(o),s=document.createElement("div");return We(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(()=>{Qn(s),s.remove()}),s}mount(e,o={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!Wr(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:p,isEmbedded:d,detectSubmit:u,insertLink:m,inputMediator:f,closestScrollSelector:g,appendOverlayTo:x,inlineSuggestions:w}=o;if(this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:p,showTextSuggestions:i,insertLink:m,isEmbedded:d,inlineSuggestions:w}),o.automaticHandlingTime&&this.setupHandlingTime(e),We(e),this.inputMediator=f||(He(e)?new Me(e):new Nt(e)),this.inputMediator.on("change",({plainText:y})=>{this.notifyInputChanged(y)}),this.inputMediator.on("updated",()=>{this.inputMediator&&this.store.dispatch(Oi({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()}))}),this.inputMediator.on("keydown",y=>{this.notifyKeyDown(y)}),this.inputMediator.on("paste",({pastedText:y,selectionText:_})=>{this.notifyPaste(y,_)}),this.inputMediator.on("cut",({selectionText:y})=>{this.notifyCut(y)}),w){if(He(e))throw new Error("[Deepdesk] Inline suggestion is not supported for textarea yet.");let y=this.createInlineContainer(e,"deepdesk-caret");So(q(At,{store:this.store,customStyles:n,children:q(bt,{broadcastEvents:this.broadcastEvents,children:q(Ql,{})})}),y),this.inputMediator.on("caret",_=>{this.store.dispatch(he([])),_?(y.style.display="block",y.style.top=`${_.top}px`,y.style.left=`${_.left}px`):y.style.display="none"})}else{let y=g&&Dp(e,g)||void 0,_=this.overlayContainerFactory("deepdesk-tab-completion",y||e,{appendTo:x,closestScrollElement:y,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),C=this.overlayContainerFactory("deepdesk-suggestions-overlay",y||e,{appendTo:x},n==null?void 0:n.suggestionsRootNode);So(q(At,{store:this.store,customStyles:n,children:q(bt,{broadcastEvents:this.broadcastEvents,children:q(Ec,{inputElement:e})})}),_),So(q(At,{store:this.store,customStyles:n,children:q(bt,{broadcastEvents:this.broadcastEvents,children:q(rc,{})})}),C)}So(q(At,{store:this.store,customStyles:n,children:q(bt,{broadcastEvents:this.broadcastEvents,children:q(Ul,{})})}),this.createContainer("deepdesk-overlays"));let h;this.inputMediator.on("selection",y=>{clearTimeout(h),y===null?h=setTimeout(()=>{y!==null&&this.store.dispatch(Ts(y))},500):this.store.dispatch(Ts(y))}),this.inputMediator.on("disabled",()=>{var y;(y=this.inputMediator)==null||y.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{u&&this.notifySubmit()}),this.inputMediator.on("blur",()=>this.store.dispatch(xt(!1))),this.inputMediator.on("focus",()=>this.store.dispatch(xt(!0))),this.store.dispatch(Ti({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),this.whenConversationLoaded(()=>{var y;this.refresh(),this.broadcastEvents.setSessionId((y=this.state.conversation.current)==null?void 0:y.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&&E.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:n,showImages:s,showPersonalCollectionLink:r,isEmbedded:i}=o;this.widgetRoot=e,this.configure({showImages:s,showPersonalCollectionLink:r,isEmbedded:i}),So(q(At,{store:this.store,customStyles:n,children:q(bt,{broadcastEvents:this.broadcastEvents,children:q(yp,{})})}),e),this.whenConversationLoaded(()=>{var a;this.broadcastEvents.setSessionId((a=this.state.conversation.current)==null?void 0:a.sessionId)})}unmountWidget(){this.widgetRoot&&Qn(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=Gr(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){Hp(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfigPromise=null;loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(async()=>{await this.store.dispatch(so());let e=Rt(this.state);e&&this.store.dispatch(qt({showSearch:e.search,showAutoflows:e.autoflows,showCustomMessages:e.customMessages,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:e.summarizer,showKnowledgeSearch:e.knowledgeAssistForAgents,recommendTextSuggestions:e.recommendTextSuggestions}))}),this.loadProfileConfigPromise)}async checkForTrialMode(e){try{let{account:o}=await this.deepdeskApi.getPlatformConfig();if(!o.isTrial){this.shouldRender=!0;return}if(E.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;E.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=xn(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(ae()):this.store.dispatch(_e(n))})}catch(n){this.handleError(n)}}};async function Uy(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 zy(t,e,o={}){let n=o.replace?Ye(t,o.replace.start,o.replace.end):fo(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(`
5
+ `);break}default:break}d&&i++}return l(t),a}function vp(t){return t.top!==0||t.left!==0||t.height!==0||t.width!==0}var Nt=class extends Le{observer;lastKnownSelection=null;getRootNode(){return this.element.getRootNode()}getText(){let e=new Range;return e.selectNodeContents(this.element),Wn(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!vp(o)&&(e.insertNode(this.element.ownerDocument.createTextNode("\u2060")),o=e.getBoundingClientRect(),e.deleteContents(),!vp(o))?null:{top:o.top+o.height,left:o.left}}getSelection(){let e=this.getRange();if(e)return Vn(this.element,e);let o=this.lastKnownSelection;if(o&&Sp(this.element,o.start,o.end))return o;let n=fo(this.element);return n.collapse(!1),Vn(this.element,n)}getSelectedText(){let{start:e,end:o}=this.getSelection();return Wn(this.element,Ye(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 Fr=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(e)}close(){this.disposeHandlers.forEach(e=>e()),this.broadcastChannel.close()}},Kr=class{constructor(e,o,n){this.name=e;this.targetOrigin=o;this.options=n;this.iframe=this.createIframe(),document.body.appendChild(this.iframe)}iframe;disposeHandlers=[];createIframe(){let e=`deepdesk-iframe-${this.name}`,o=document.getElementById(e);if(o)return o;let n=document.createElement("iframe"),s=`${this.targetOrigin}/v2/widget/liveengage/channel.html`,r=new URLSearchParams({channel:this.name,host:window.location.origin});return this.options.debug&&r.set("debug","1"),n.style.position="absolute",n.style.left="-999em",n.style.width="0px",n.style.height="0px",n.tabIndex=-1,n.id=e,n.title=`iframe-${this.name}`,n.src=`${s}?${r.toString()}`,n}onMessage(e){window.addEventListener("message",e),this.disposeHandlers.push(()=>{window.removeEventListener("message",e)})}postMessage(e){var o;(o=this.iframe.contentWindow)==null||o.postMessage(e,this.targetOrigin)}close(){var e;this.disposeHandlers.forEach(o=>o()),(e=this.iframe)==null||e.remove()}},Ur=class{constructor(e){this.params=e;this.deepdeskUrl=e.deepdeskUrl,this.eventMap=e.eventMap,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(),E.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 Kr(e,this.deepdeskUrl,{debug:!0}):new Fr(e),n=s=>{var r,i;s.origin===this.deepdeskUrl&&s.data.type==="event"&&s.data.channel===e&&(E.info("Received broadcast event",this.sessionId,s),(i=(r=this.eventMap)[s.data.name])==null||i.call(r,s.data.payload))};return o.onMessage(n),o}send(e,o){var s,r,i;if(!this.sessionId)return;E.info("broadcast event",{sessionId:this.sessionId,name:e,payload:o});let n={type:"event",name:e,payload:o};(r=(s=this.eventMap)[e])==null||r.call(s,o),(i=this.channel)==null||i.postMessage({...n,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)}},_p=Ur;var Dt=class extends Error{constructor(o,n){super(o);this.body=n}name="CustomError"};var zr=t=>new Promise(e=>{setTimeout(e,t)});var Ht=class extends Dt{name="ClientError"},jr=class extends Dt{name="ServerError"},me=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,{abortLatest:l=!1,attempts:c=1,retryDelay:p=500,refreshTokenOn401:d=!0,retryOnError:u=_=>_ instanceof TypeError,retryOnResponse:m=_=>_.status>=500,version:f="v1",...g}=o,x={credentials:"include",...g,headers:{"Content-Type":"application/json",...g.headers}};o.method!==void 0&&o.method!=="GET"&&this.csrfToken&&(x.headers={...x.headers,"X-CSRFToken":this.csrfToken}),typeof f=="string"&&(x.headers={...x.headers,"X-Deepdesk-API-Version":f});let w=c,h=!1;if(!a)throw new Error("fetch is not set");this.latestRequestByUrl[i]&&l&&(this.latestRequestByUrl[i].isAborted=!0,this.latestRequestByUrl[i].reject(new Error("Aborted"))),this.latestRequestByUrl[i]=r;let y=async()=>(w--,a(i,x).then(async _=>m(_)&&!r.isAborted&&w>0?(await zr(p),y()):_.status===401&&d===!0&&h===!1?(h=!0,await this.refreshToken(),y()):_).catch(async _=>{if(u(_)&&!r.isAborted&&w>0)return await zr(p),y();throw _}));y().then(_=>_.json().catch(()=>null).then(C=>{_.status>=500?s(new jr("Server Error",C)):_.status===401?s(new Ht("Unauthorized",C)):_.status===403?s(new Ht("Forbidden",C)):_.status===404?s(new Ht("Not Found",C)):_.status>=400&&s(new Ht("Bad Request",C)),delete this.latestRequestByUrl[i],n(C)})).catch(_=>{s(_)})})}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 Ey;(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||={})})(Ey||={});function Gn(t){return{...A(t),tags:t.tags}}var Fe=class t{constructor(e,o={}){this.options=o;this.client=new me(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(),E.info(`Creating conversation for session ${e.sessionId} and agent ${e.agentId}`);let o=await this.client.post("/api/conversations",{...B(e),tags:e.tags},{version:"v2"});return Gn(o)}async getProfile(e){let o=await this.client.get(`/apis/admin/profiles/${e}/`,{version:null});return A(o)}async getContentTypes(){let e=await this.client.get("/apis/admin/content-types/",{version:null});return A(e)}async getPlatformConfig(){let{config:e}=await this.client.get("/platform/config/",{version:null});return A(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(),E.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 Gn(r)}async isConversationSupported(e,o={}){E.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=B(o);o.tags&&(n.tags=o.tags);let s=await this.client.put(`/api/conversations/${e}`,n,{version:"v2"});return Gn(s)}async postMessages(e,o){return(await this.client.post(`/api/conversations/${e}/messages`,o.map(s=>({...B(s),tags:s.tags})),{version:"v2"})).map(s=>Gn(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",B({...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:B({...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)},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 E.warn(`Invalid token '${e}'`),o})}async authenticateWithKey(e,o){await this.client.post("/apis/admin/session/api-key/",B(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}`,B(o),{abortLatest:!0})).map(r=>({...A(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`,B(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 A(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",B(e),{abortLatest:!0});return A(o)}async search(e){let o=await this.client.post(`/api/profiles/${e.profile}/search`,B(e),{version:"v2"});return A(o)}async knowledgeAssist(e,o,n){let s=await this.client.post("/api/knowledge-search/search",B({question:e.question,promptInstruction:e.promptInstruction,profile:n,chatHistory:o.map(r=>({question:r.question,answer:r.answer.answer}))}),{version:"v2"});return A(s)}async requestLoginByEmail(e){let o=await this.client.post("/apis/admin/session/passwordless/request/",{email:e},{version:null});return A(o)}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 A(o)}handleDeepdeskVersionHeaders(e){e.headers.forEach((o,n)=>{let s=n.toLowerCase(),r=s.match(fi);if(!o||!r)return;let i=r[1].replace("-","_"),a=this.latestReceivedDeepdeskVersions[i];a&&o&&a!==o&&E.warn(`Overwritten Version header ${s}: ${JSON.stringify(a)} -> ${JSON.stringify(o)}`),this.latestReceivedDeepdeskVersions[i]=o})}};var ho=class{constructor(e,o){this.url=e;this.options={timeout:25e3,...o}}eventListeners={};options;timeoutTimer;eventSource;proxyEvent(e){this.eventSource.addEventListener(js(e),o=>{let{data:n}=o;try{let s=JSON.parse(n);this.emit(e,A(s))}catch{E.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 ky;(e=>{let t;(r=>(r.Started="Started",r.Aborted="Aborted",r.Completed="Completed"))(t=e.AutoflowSessionState||={})})(ky||={});var yo=class{constructor(e,o={}){this.apiUrl=e;this.client=new me(e,o)}client;streams={};logger=E;async getCustomMessages(e){let o=await this.client.get(`/sessions/${e}/suggestions`);return A(o.suggestions)}async sendCustomMessage(e,o){let n=await this.client.post(`/sessions/${e}/messages`,B(o));return A(n)}async answerCustomMessage(e,o){await this.client.post(`/sessions/${e}/answers`,B(o))}async getAutoflows(e){let o=await this.client.get(`/sessions/${e}/autoflows`);return A(o.autoflows)}async startAutoflowSession(e){let o=await this.client.post("/autoflow-sessions",B(e));return A(o)}async stopAutoflowSession(e){await this.client.delete(`/autoflow-sessions/${e}`)}openStream(e){return this.streams[e]||(this.streams[e]=new ho(`${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 Oy,configureStore as Ny}from"@reduxjs/toolkit";import{createSlice as Ry}from"@reduxjs/toolkit";var xp={startTime:null,stopTime:null},bp=Ry({name:"handlingTime",initialState:xp,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(R,()=>xp)}}),{handlingTimeStart:Cp,handlingTimeStop:$n,handlingTimeReset:wp}=bp.actions,Tp=bp.reducer;var Ep=(t={})=>{let e={onAuthError:Ct(!1),...t};return o=>n=>s=>("error"in s&&s.error.message==="Unauthorized"&&o.dispatch(e.onAuthError),n(s))};import{createAsyncThunk as Py,createSlice as Iy}from"@reduxjs/toolkit";var Xn={list:{keywordMatches:[]},fetchState:"idle",isInitialRequest:null};var et=Py("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 Xn.list;if(!r)throw new Error("No current conversation to fetch pinned messages");return o.getStyleSuggestions({profileCode:r,message:t})}),Ay=Iy({name:"styleSuggestions",initialState:Xn,reducers:{},extraReducers:t=>{t.addCase(et.pending,e=>{e.isInitialRequest=e.isInitialRequest===null,e.fetchState="loading"}).addCase(et.rejected,e=>{e.fetchState="error"}).addCase(et.fulfilled,(e,o)=>{e.fetchState="done",Pe(e.list,o.payload)||(e.list=o.payload)}).addCase(Ve,e=>{e.list=Xn.list}).addCase(R,()=>Xn)}}),kp=Ay.reducer;var Rp=(t={})=>{let e,o=!0,n={getStyleSuggestions:et,debounce:500,...t};return s=>r=>i=>{var m;let a=s.getState().input.text,l=r(i),c=s.getState();if(c.auth.isLoggedIn!==!0)return l;let{showStyleSuggestions:p}=c.settings;if(!((m=c.conversation.current)==null?void 0:m.id)||!p)return l;let{text:u}=c.input;return u===a&&!o||(clearTimeout(e),u==="")||(e=setTimeout(()=>{o=!1,s.dispatch(n.getStyleSuggestions({text:u}))},t.debounce)),l}};function Ly(t,e){return t.text===e.text&&t.selection.start===e.selection.start&&t.selection.end===e.selection.end}var Pp=(t={})=>{let e={getTextSuggestions:_e,getAutocompleteSuggestions:Jt,debounce:200,check:It,...t},o;return n=>s=>r=>{var g;let{input:{userCommitted:i}}=n.getState(),a=s(r),l=n.getState();if(l.auth.isLoggedIn!==!0)return a;let{recommendTextSuggestions:c,showTabCompletion:p}=l.settings,d=(g=l.conversation.current)==null?void 0:g.id,u=r.type===fn.toString();if(!d||!c&&!p)return a;let{input:{userCommitted:m}}=l;return Ly(m,i)&&!u||(clearTimeout(o),!e.check(l))||(o=setTimeout(()=>{let x=pt(l);x===""?n.dispatch(e.getTextSuggestions("default")):n.dispatch(e.getAutocompleteSuggestions(x))},u?0:e.debounce)),a}};var Ip=et.fulfilled.toString();function My(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 Ap=t=>e=>o=>n=>{var c;if(n.type!==Ip){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=My(s,i);n.type===Ip&&l.length>0&&t.sendEvent("style suggested",{conversationId:a==null?void 0:a.id,data:{keywordMatches:l}})};var Dy=Oy({activeSuggestion:Va,answer:Ll,auth:sl,autoflows:Lc,conversation:xi,contentTypes:fl,customMessages:Uc,exchangeToken:Wc,entities:Sl,handlingTime:Tp,info:ma,input:ws.reducer,overlayInput:W.reducer,settings:yi,profile:Hl,search:_a,summary:Tl,styleSuggestions:kp,ui:Xa,textSuggestions:Ka});function Lp(t){return Ny({reducer:Dy,middleware:e=>[...e({thunk:{extraArgument:{dynamicThunkObject:t.dynamicThunkObject,deepdeskAPI:t.deepdeskAPI,deepdeskBrokerAPI:t.deepdeskBrokerAPI}},serializableCheck:!1}),Ep(),Pp({debounce:200}),Rp({debounce:500}),Ap(t.deepdeskAPI),...t.middleware?t.middleware:[]],preloadedState:t.preloadedState})}var Hy=t=>{var e;return((e=t==null?void 0:t.type)==null?void 0:e.toLowerCase())??"unknown"},By=t=>e=>o=>n=>{var a;let s=e.getState(),r=_s("inlineSuggestions")(s);switch(n.type){case xe.toString():{let l=Oa(n.payload.contentType)(e.getState()),c=l.indexOf(n.payload.suggestion);t.emit("edit-suggestion",{contentType:n.payload.contentType,index:c,suggestions:l});break}case Ct.toString():{!n.payload&&t.emit("logout",void 0);break}case re.toString():{let{start:l,end:c}=s.input.selection;t.emit("select-suggestion",{type:Hy(n.payload.suggestion),...n.payload,replace:n.payload.replace==="selection"?{start:l,end:c}:{start:0,end:c}},{mayApplyChanges:!0});break}case $o.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 Vt.toString():{let l=e.getState(),{text:c,selection:p}=l.input.userCommitted;t.emit("reset",{text:c,selectionAfter:p},{mayApplyChanges:!0});break}case Jo.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 ae.fulfilled.toString():n.payload.length>0&&t.sendEvent("entities found",{conversationId:s.conversation.current.id,data:{entities:n.payload}});break;case Ce.fulfilled.toString():t.sendEvent("conversation summarized",{conversationId:s.conversation.current.id,data:{summary:n.payload.summary}});break;case J.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 Xo.toString():t.handleKeyDown(n.payload);break;case Ve.toString():t.logSendMessage(n.payload);break;case Qo.toString():t.logSendEditSuggestionMessage(n.payload);break;case Zo.toString():t.handleInputChanged(n.payload);break;default:break}let i=o(n);switch(n.type){case Ve.toString():t.handleAfterSendMessage(n.payload);break;case Yt.toString():t.onUpdateShowTabHint(n.payload);break;case $n.toString():t.logHandlingTime();break;case re.toString():{r&&(e.dispatch(he([])),e.dispatch(Ae()));break}default:break}return i},Mp=By;function qr(t){return t.toISOString().replace("T"," ").replace("Z","")}function Op(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:qr(o),timeStop:qr(n)}}function Vr(t,e,o){var O,le,N;let{text:n,metrics:{numCharsTyped:s,numCharsPasted:r,numCharsCut:i,numCharsDeleted:a,numPaste:l,agentStartedTypingTimestamp:c,externalTimeTotalSeconds:p,pastes:d,cuts:u,deletions:m,textSuggestions:f,offeredTextSuggestions:g}}=e[t],x=n.length,h=f.reduce((k,{text:V,searchTerm:te})=>k+V.length-(te?te.length:0),0),y=c??Date.now(),_=(Date.now()-y)/1e3+(p||0),C=s/_,H=f.reduce((k,{searchTerm:V})=>k+(V?V.length:0),0);return{conversationId:e.conversation.current.id,source:"agent",text:n,clientVersion:o.version,pastes:d,cuts:u,deletions:m,lenTextTyped:s+H,lenTextTotal:x,lenTextAssisted:h,lenTextPasted:r,lenTextCut:i,lenTextDeleted:a,timeTotalSeconds:_,charsPerSecond:C,numPastes:l,textSuggestionsV2:f,suggestionsCounters:[{source:"gpt",countOffered:g.filter(k=>k.source==="gpt").length}],agentId:(O=e.info.agentInfo)==null?void 0:O.agentId,agentName:(le=e.info.agentInfo)==null?void 0:le.agentName,agentEmail:(N=e.info.agentInfo)==null?void 0:N.agentEmail}}function Np(t,e){let o=t.closest(e);if(o)return o;let n=t.getRootNode().host;return n instanceof HTMLElement?Np(n,e):null}function Dp(t,e){return Np(t,e)}function Hp(t){return typeof t=="object"&&t!==null&&"name"in t&&"message"in t}function Fy(t){return typeof t=="object"&&t!==null&&"tagName"in t}function Wr(t){return Fy(t)&&(He(t)||tn(t))}var Bp=(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{E.warn("[Deepdesk] SessionStorage is blocked by browser")}}});function Ky(t){return t.offsetParent!==null}function Fp(t){if(!Ky(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 Gr(t,e,o=100){let n=Fp(t);e({isVisible:n});let s=setInterval(()=>{let r=Fp(t);r!==n&&(n=r,e({isVisible:n}))},o);return()=>{clearTimeout(s)}}import{jsx as q}from"react/jsx-runtime";var Kp=Bp("showTabHint",!0),Zn=class t{static version="10.4.0";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 Fe(c,{token:r,fetch:i}),this.version=n,this.instanceId=t.count++;let p={deepdeskAPI:this.deepdeskApi,dynamicThunkObject:this.dynamicThunkObject,middleware:[Mp({emit:(d,u,m)=>this.emit(d,u,m),handleAfterSendMessage:d=>this.handleAfterSendMessage(d),handleInputChanged:d=>this.handleInputChanged(d),handleKeyDown:d=>this.handleKeyDown(d),logHandlingTime:()=>this.logHandlingTime(),logSendMessage:d=>this.logSendMessage(d),logSendEditSuggestionMessage:d=>this.logSendEditMessage(d),onUpdateShowTabHint:d=>Kp.update(d),sendEvent:(d,u)=>this.deepdeskApi.sendEvent(d,u)})]};o&&Object.assign(p,{deepdeskBrokerAPI:new yo(o)}),this.store=Lp(p),this.broadcastEvents=new _p({debug:!0,deepdeskUrl:c,eventMap:rl(this.store),createCustomChannel:l}),this.store.dispatch(qt),this.store.dispatch(Yt(Kp.value())),this.store.dispatch(qt({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?(E.warn("Conversation is not supported"),!0):this.hasConversation()?this.state.profile.data?!1:(E.warn("Profile has not been loaded (yet)"),!0):(E.warn("No conversation loaded (yet)"),!0)}login(){return this.store.dispatch(Ct(null)),this.store.dispatch(De()),new Promise(e=>{let o=this.store.subscribe(()=>{let n=this.store.getState();ie(n)&&Ja(n)!=="loading"&&e()});this.unmountHandlers.push(()=>{o()})})}isLoggedIn(){return this.deepdeskApi.isLoggedIn()}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){E.warn("Failed to attach user:",o)}}async isConversationSupported(e,o){return(await this.store.dispatch(bs({sessionId:e,options:o}))).payload}async createConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(zo(e))).payload}async getConversationBySessionId(e,o){return this.hasConversation()&&this.sessionId()!==e&&this.resetConversation(),(await this.store.dispatch(jo({sessionId:e,options:o}))).payload}async upsertConversation(e){return this.hasConversation()&&this.sessionId()!==e.sessionId&&this.resetConversation(),(await this.store.dispatch(Cs(e))).payload}async postMessages(e){return(await this.store.dispatch(Vo(e))).payload}async updateConversation(e){return(await this.store.dispatch(qo(e))).payload}resetConversation(){this.store.dispatch(R()),this.dynamicThunkObject.conversationQuery=null}async getSummary(){let e=await this.store.dispatch(Ce());if(e.error)throw new Error(e.error.message);return e.payload.summary}configure(e){this.store.dispatch(qt(e))}setVisitorInfo(e){this.store.dispatch(ga(e))}async setAgentInfo(e){await this.store.dispatch(Xt(e))}async setAgentSettings(e){await this.store.dispatch(Vs(e))}async getAgentSettings(){return(await this.store.dispatch(Ws())).payload}async refresh(){if(this.shouldAbort())return Promise.resolve();this.inputMediator&&this.handleInputChanged(this.inputMediator.getText());let e=[];return this.store.dispatch(fn()),e.push(this.refreshWidgetSuggestions()),Promise.all(e).then(()=>{})}notifyInputChanged(e){this.store.dispatch(Zo(e))}notifyKeyDown(e){this.store.dispatch(Xo(e))}notifyPaste(e,o){this.store.dispatch(Li({text:e,selectionText:o}))}notifyCut(e){this.store.dispatch(Ii(e))}notifyExternalSuggestion(e){this.store.dispatch(re(e)),this.store.dispatch(Ae())}notifyEditSuggestion(e){this.store.dispatch(Ba(e.contentType,e.suggestions)),this.store.dispatch(xe({contentType:e.contentType,suggestion:typeof e.index=="number"?e.suggestions[e.index]:null}))}handleInputChanged(e){let{overlayCollapsed:o,openOverlayWhenTyping:n}=this.state.ui;o&&n&&this.store.dispatch(Ne({collapse:!1})),this.inputMediator&&this.store.dispatch(wi({text:e,html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),!this.shouldAbort()&&(this.isMounted||this.store.dispatch(he([])))}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(Ai(Go(e))),e.key!=="Tab"&&!this.settings.showTextSuggestions)return;let c=()=>{o||!a||r&&(e.shiftKey||(this.store.dispatch(ki()),i||this.stageSelectedSuggestion({inputType:"arrow"}),e.preventDefault()))},p=()=>{if(o||!a||!r||e.shiftKey)return;this.store.dispatch(Pi());let{selectedSuggestionIndex:d}=this.state.input;e.preventDefault(),!i&&(d===-1?this.store.dispatch(Vt()):this.stageSelectedSuggestion({inputType:"arrow"}))};switch(e.key){case"Up":case"ArrowUp":i?p():c();return;case"Down":case"ArrowDown":{i?c():p();return}case"Esc":case"Escape":{i&&l&&this.store.dispatch(Wt(-1)),this.state.input.selectedSuggestionIndex!==-1?(this.store.dispatch(Wt(-1)),this.store.dispatch(Vt()),e.preventDefault()):o||(this.store.dispatch(Ne({collapse:!0})),this.store.dispatch(Ga(!0)),e.preventDefault());return}case"Tab":{let{userCommitted:d}=this.state.input,u=d.text.substring(0,d.selection.end),{tabCompletionSuggestion:m}=this.state.input;this.store.dispatch(Yt(!1)),this.state.input.selectedSuggestionIndex>-1?this.stageSelectedSuggestion({inputType:"tab"}):!i&&this.settings.showTabCompletion&&m&&m.text.startsWith(u)&&(this.store.dispatch(re({text:m.text,suggestion:m,eventMetrics:{inputType:"tab"},replace:"until-selection-end"})),this.store.dispatch(Ae())),e.preventDefault();break}default:}}handleAfterSendMessage(e){this.emit("send-message",e),this.store.dispatch(Mi()),this.store.dispatch(he([]))}handlingTimeStart(){this.state.handlingTime.startTime||(E.info("Start handling time"),this.store.dispatch(Cp()))}handlingTimeStop(){this.state.handlingTime.startTime&&(E.info("Stop handling time"),this.store.dispatch($n()))}logSendMessage(e){let o=Vr("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)}logSendEditMessage(e){let o=Vr("overlayInput",this.state,{version:this.version});e&&Object.assign(o,{text:e}),this.store.dispatch(Ei(this.state.overlayInput.metrics))}logHandlingTime(){let e=Op(this.state,{version:this.version});this.deepdeskApi.sendEventV1("Handling Time",e),this.store.dispatch(wp())}notifySubmit(e={}){this.shouldAbort()||(this.store.dispatch(Ae()),this.store.dispatch(Ve(e.text??this.state.input.text)))}stageSelectedSuggestion(e){let o=this.state.input.selectedSuggestionIndex,{textSuggestions:n}=this.state.input;this.store.dispatch(re({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){E.warn(`The following error occurred in deepdeskSDK.on('${e}', handler)`),E.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]=ft(o,n);return r.setAttribute("translate","no"),r.dataset.testid=e,s&&r.classList.add(s),this.unmountHandlers.push(()=>{Qn(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]=ft(r,{appendTo:document.body});a.dataset.testid=o,a.style.zIndex="2",a.appendChild(n),this.unmountHandlers.push(()=>{Qn(s),l()})}else document.body.appendChild(n);return s}createContainer(e,o=document.body){let n=window.getComputedStyle(o),s=document.createElement("div");return We(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(()=>{Qn(s),s.remove()}),s}mount(e,o={}){if(this.isMounted)throw new Error("[Deepdesk] This instance was already mounted. Make sure to unmount before you remount.");if(!Wr(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:p,isEmbedded:d,detectSubmit:u,insertLink:m,inputMediator:f,closestScrollSelector:g,appendOverlayTo:x,inlineSuggestions:w}=o;if(this.configure({showStyleSuggestions:s,showTabCompletion:r,textSuggestionsCount:a,showMidSentenceSuggestions:l,showSuggestionsBeforePattern:c,showSuggestionsAfterPattern:p,showTextSuggestions:i,insertLink:m,isEmbedded:d,inlineSuggestions:w}),o.automaticHandlingTime&&this.setupHandlingTime(e),We(e),this.inputMediator=f||(He(e)?new Me(e):new Nt(e)),this.inputMediator.on("change",({plainText:y})=>{this.notifyInputChanged(y)}),this.inputMediator.on("updated",()=>{this.inputMediator&&this.store.dispatch(Oi({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()}))}),this.inputMediator.on("keydown",y=>{this.notifyKeyDown(y)}),this.inputMediator.on("paste",({pastedText:y,selectionText:_})=>{this.notifyPaste(y,_)}),this.inputMediator.on("cut",({selectionText:y})=>{this.notifyCut(y)}),w){if(He(e))throw new Error("[Deepdesk] Inline suggestion is not supported for textarea yet.");let y=this.createInlineContainer(e,"deepdesk-caret");So(q(At,{store:this.store,customStyles:n,children:q(bt,{broadcastEvents:this.broadcastEvents,children:q(Ql,{})})}),y),this.inputMediator.on("caret",_=>{this.store.dispatch(he([])),_?(y.style.display="block",y.style.top=`${_.top}px`,y.style.left=`${_.left}px`):y.style.display="none"})}else{let y=g&&Dp(e,g)||void 0,_=this.overlayContainerFactory("deepdesk-tab-completion",y||e,{appendTo:x,closestScrollElement:y,mirrorOverflow:!0,onRemove:()=>this.unmount()},n==null?void 0:n.rootNode),C=this.overlayContainerFactory("deepdesk-suggestions-overlay",y||e,{appendTo:x},n==null?void 0:n.suggestionsRootNode);So(q(At,{store:this.store,customStyles:n,children:q(bt,{broadcastEvents:this.broadcastEvents,children:q(Ec,{inputElement:e})})}),_),So(q(At,{store:this.store,customStyles:n,children:q(bt,{broadcastEvents:this.broadcastEvents,children:q(rc,{})})}),C)}So(q(At,{store:this.store,customStyles:n,children:q(bt,{broadcastEvents:this.broadcastEvents,children:q(Ul,{})})}),this.createContainer("deepdesk-overlays"));let h;this.inputMediator.on("selection",y=>{clearTimeout(h),y===null?h=setTimeout(()=>{y!==null&&this.store.dispatch(Ts(y))},500):this.store.dispatch(Ts(y))}),this.inputMediator.on("disabled",()=>{var y;(y=this.inputMediator)==null||y.deactivate(),this.configure({visible:!1})}),this.inputMediator.on("enabled",()=>{this.inputMediator&&(this.configure({visible:!0}),this.inputMediator.activate())}),this.inputMediator.on("submit",()=>{u&&this.notifySubmit()}),this.inputMediator.on("blur",()=>this.store.dispatch(xt(!1))),this.inputMediator.on("focus",()=>this.store.dispatch(xt(!0))),this.store.dispatch(Ti({text:this.inputMediator.getText(),html:this.inputMediator.getHTML(),selection:this.inputMediator.getSelection()})),this.whenConversationLoaded(()=>{var y;this.refresh(),this.broadcastEvents.setSessionId((y=this.state.conversation.current)==null?void 0:y.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&&E.warn("A widget was already rendered for this instance. Make sure to unmountWidget before rerendering"),!this.shouldRender)return;let{customStyles:n,showImages:s,showPersonalCollectionLink:r,isEmbedded:i}=o;this.widgetRoot=e,this.configure({showImages:s,showPersonalCollectionLink:r,isEmbedded:i}),So(q(At,{store:this.store,customStyles:n,children:q(bt,{broadcastEvents:this.broadcastEvents,children:q(yp,{})})}),e),this.whenConversationLoaded(()=>{var a;this.broadcastEvents.setSessionId((a=this.state.conversation.current)==null?void 0:a.sessionId)})}unmountWidget(){this.widgetRoot&&Qn(this.widgetRoot),this.widgetRoot=null}setupHandlingTime(e){let o=Gr(e,({isVisible:n})=>{n?this.handlingTimeStart():this.handlingTimeStop()});this.unmountHandlers.push(()=>{this.handlingTimeStop(),o()}),this.whenConversationLoaded(()=>{this.handlingTimeStart()})}handleError(e){Hp(e)&&e.message==="Unauthorized"&&this.login()}loadProfileConfigPromise=null;loadProfileConfig(){return this.loadProfileConfigPromise?this.loadProfileConfigPromise:(this.loadProfileConfigPromise=Promise.resolve().then(async()=>{await this.store.dispatch(so());let e=Rt(this.state);e&&this.store.dispatch(qt({showSearch:e.search,showAutoflows:e.autoflows,showCustomMessages:e.customMessages,showImageSearch:e.imageSearch,showEntitiesCommand:e.entitiesCommand,showSummaryCommand:e.summarizer,showKnowledgeSearch:e.knowledgeAssistForAgents,recommendTextSuggestions:e.recommendTextSuggestions}))}),this.loadProfileConfigPromise)}async checkForTrialMode(e){try{let{account:o}=await this.deepdeskApi.getPlatformConfig();if(!o.isTrial){this.shouldRender=!0;return}if(E.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;E.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=xn(this.state);try{o.forEach(({type:n})=>{n==="entities"?this.store.dispatch(ae()):this.store.dispatch(_e(n))})}catch(n){this.handleError(n)}}};async function Uy(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 zy(t,e,o={}){let n=o.replace?Ye(t,o.replace.start,o.replace.end):fo(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(`
6
6
  `).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?Ye(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()}})}async function jy(t,e){let o;t.dispatchEvent(new InputEvent("beforeinput",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0}));let n=()=>{let r=(t.ownerDocument.defaultView??window).getSelection();if(!r)return;let i=r.getRangeAt(0);i&&(i.deleteContents(),o=document.createElement("span"),i.insertNode(o),e.split(`
7
7
  `).reverse().forEach((a,l)=>{l>0&&i.insertNode(document.createElement("br")),i.insertNode(document.createTextNode(a))}),i.collapse(!1))};return Promise.resolve(n()).then(()=>{if(t.dispatchEvent(new InputEvent("input",{inputType:"insertText",data:e,bubbles:!0,cancelable:!0})),t.focus(),!!o)try{o.scrollIntoView&&o.scrollIntoView({block:"nearest",inline:"nearest"})}finally{o&&o.remove()}})}function qy(t){return t.replace(/\[([\w\s\d]+)\]\((https?:\/\/[^\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>')}async function Vy(t,e,o){await new Fe(t).authenticateWithKey(e,o)}async function Wy(t){let o=await new me(t).get("/platform/config/",{version:null});return A(o)}async function Gy(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 $y(t,e){let o=await Gy(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{D as Card,Ed as Chip,Nt as ContentEditableInput,Fe as DeepdeskAPI,Zn as DeepdeskSDK,me as HTTPClient,Le as InputMediator,je as InputType,gs as KeyboardHint,ms as Label,Fo as Locale,ze as Section,hs as SectionList,ce as Sources,M as Suggestion,se as SuggestionList,Me as TextAreaInput,it as ToggleButton,$y as attachFile,Vy as authenticateWithKey,fo as createFullRange,ft as createOverlayContainer,Ye as createRangeFromOffsets,io as escapeHTML,Wy as fetchPlatformConfig,qy as formatTextMarkup,Vn as getRangeOffsets,Wn as getRangeText,jy as insertCKEditor,Wr as isSupportedInputElement,zy as updateContentEditable,Uy as updateTextArea,S as useStyles,Gr as waitForElementVisibilityChange};