@makemore/agent-frontend 2.9.0 → 2.10.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.
@@ -1,5 +1,5 @@
1
- var ChatWidgetModule=(()=>{var de=Object.defineProperty;var Jt=Object.getOwnPropertyDescriptor;var qt=Object.getOwnPropertyNames;var Gt=Object.prototype.hasOwnProperty;var Yt=(e,t,n)=>t in e?de(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Xt=(e,t)=>{for(var n in t)de(e,n,{get:t[n],enumerable:!0})},Qt=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of qt(t))!Gt.call(e,a)&&a!==n&&de(e,a,{get:()=>t[a],enumerable:!(s=Jt(t,a))||s.enumerable});return e};var Zt=e=>Qt(de({},"__esModule",{value:!0}),e);var je=(e,t,n)=>(Yt(e,typeof t!="symbol"?t+"":t,n),n);var An={};Xt(An,{ChatWidget:()=>Ee,default:()=>In});var fe,W,Ye,en,se,ze,Xe,Qe,Ze,De,xe,Ie,tn,le={},et=[],nn=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,me=Array.isArray;function te(e,t){for(var n in t)e[n]=t[n];return e}function Pe(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function ge(e,t,n){var s,a,o,l={};for(o in t)o=="key"?s=t[o]:o=="ref"?a=t[o]:l[o]=t[o];if(arguments.length>2&&(l.children=arguments.length>3?fe.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(o in e.defaultProps)l[o]===void 0&&(l[o]=e.defaultProps[o]);return _e(e,l,s,a,null)}function _e(e,t,n,s,a){var o={type:e,props:t,key:n,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:a??++Ye,__i:-1,__u:0};return a==null&&W.vnode!=null&&W.vnode(o),o}function ye(e){return e.children}function re(e,t){this.props=e,this.context=t}function oe(e,t){if(t==null)return e.__?oe(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type=="function"?oe(e):null}function tt(e){var t,n;if((e=e.__)!=null&&e.__c!=null){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null){e.__e=e.__c.base=n.__e;break}return tt(e)}}function Je(e){(!e.__d&&(e.__d=!0)&&se.push(e)&&!he.__r++||ze!=W.debounceRendering)&&((ze=W.debounceRendering)||Xe)(he)}function he(){for(var e,t,n,s,a,o,l,i=1;se.length;)se.length>i&&se.sort(Qe),e=se.shift(),i=se.length,e.__d&&(n=void 0,s=void 0,a=(s=(t=e).__v).__e,o=[],l=[],t.__P&&((n=te({},s)).__v=s.__v+1,W.vnode&&W.vnode(n),Re(t.__P,n,s,t.__n,t.__P.namespaceURI,32&s.__u?[a]:null,o,a??oe(s),!!(32&s.__u),l),n.__v=s.__v,n.__.__k[n.__i]=n,ot(o,n,l),s.__e=s.__=null,n.__e!=a&&tt(n)));he.__r=0}function nt(e,t,n,s,a,o,l,i,u,c,p){var r,d,h,f,y,g,m,k=s&&s.__k||et,$=t.length;for(u=sn(n,t,k,u,$),r=0;r<$;r++)(h=n.__k[r])!=null&&(d=h.__i==-1?le:k[h.__i]||le,h.__i=r,g=Re(e,h,d,a,o,l,i,u,c,p),f=h.__e,h.ref&&d.ref!=h.ref&&(d.ref&&Fe(d.ref,null,h),p.push(h.ref,h.__c||f,h)),y==null&&f!=null&&(y=f),(m=!!(4&h.__u))||d.__k===h.__k?u=st(h,u,e,m):typeof h.type=="function"&&g!==void 0?u=g:f&&(u=f.nextSibling),h.__u&=-7);return n.__e=y,u}function sn(e,t,n,s,a){var o,l,i,u,c,p=n.length,r=p,d=0;for(e.__k=new Array(a),o=0;o<a;o++)(l=t[o])!=null&&typeof l!="boolean"&&typeof l!="function"?(typeof l=="string"||typeof l=="number"||typeof l=="bigint"||l.constructor==String?l=e.__k[o]=_e(null,l,null,null,null):me(l)?l=e.__k[o]=_e(ye,{children:l},null,null,null):l.constructor===void 0&&l.__b>0?l=e.__k[o]=_e(l.type,l.props,l.key,l.ref?l.ref:null,l.__v):e.__k[o]=l,u=o+d,l.__=e,l.__b=e.__b+1,i=null,(c=l.__i=on(l,n,u,r))!=-1&&(r--,(i=n[c])&&(i.__u|=2)),i==null||i.__v==null?(c==-1&&(a>p?d--:a<p&&d++),typeof l.type!="function"&&(l.__u|=4)):c!=u&&(c==u-1?d--:c==u+1?d++:(c>u?d--:d++,l.__u|=4))):e.__k[o]=null;if(r)for(o=0;o<p;o++)(i=n[o])!=null&&!(2&i.__u)&&(i.__e==s&&(s=oe(i)),rt(i,i));return s}function st(e,t,n,s){var a,o;if(typeof e.type=="function"){for(a=e.__k,o=0;a&&o<a.length;o++)a[o]&&(a[o].__=e,t=st(a[o],t,n,s));return t}e.__e!=t&&(s&&(t&&e.type&&!t.parentNode&&(t=oe(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function on(e,t,n,s){var a,o,l,i=e.key,u=e.type,c=t[n],p=c!=null&&(2&c.__u)==0;if(c===null&&i==null||p&&i==c.key&&u==c.type)return n;if(s>(p?1:0)){for(a=n-1,o=n+1;a>=0||o<t.length;)if((c=t[l=a>=0?a--:o++])!=null&&!(2&c.__u)&&i==c.key&&u==c.type)return l}return-1}function qe(e,t,n){t[0]=="-"?e.setProperty(t,n??""):e[t]=n==null?"":typeof n!="number"||nn.test(t)?n:n+"px"}function pe(e,t,n,s,a){var o,l;e:if(t=="style")if(typeof n=="string")e.style.cssText=n;else{if(typeof s=="string"&&(e.style.cssText=s=""),s)for(t in s)n&&t in n||qe(e.style,t,"");if(n)for(t in n)s&&n[t]==s[t]||qe(e.style,t,n[t])}else if(t[0]=="o"&&t[1]=="n")o=t!=(t=t.replace(Ze,"$1")),l=t.toLowerCase(),t=l in e||t=="onFocusOut"||t=="onFocusIn"?l.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+o]=n,n?s?n.u=s.u:(n.u=De,e.addEventListener(t,o?Ie:xe,o)):e.removeEventListener(t,o?Ie:xe,o);else{if(a=="http://www.w3.org/2000/svg")t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!="width"&&t!="height"&&t!="href"&&t!="list"&&t!="form"&&t!="tabIndex"&&t!="download"&&t!="rowSpan"&&t!="colSpan"&&t!="role"&&t!="popover"&&t in e)try{e[t]=n??"";break e}catch{}typeof n=="function"||(n==null||n===!1&&t[4]!="-"?e.removeAttribute(t):e.setAttribute(t,t=="popover"&&n==1?"":n))}}function Ge(e){return function(t){if(this.l){var n=this.l[t.type+e];if(t.t==null)t.t=De++;else if(t.t<n.u)return;return n(W.event?W.event(t):t)}}}function Re(e,t,n,s,a,o,l,i,u,c){var p,r,d,h,f,y,g,m,k,$,N,j,I,O,R,F,J,H=t.type;if(t.constructor!==void 0)return null;128&n.__u&&(u=!!(32&n.__u),o=[i=t.__e=n.__e]),(p=W.__b)&&p(t);e:if(typeof H=="function")try{if(m=t.props,k="prototype"in H&&H.prototype.render,$=(p=H.contextType)&&s[p.__c],N=p?$?$.props.value:p.__:s,n.__c?g=(r=t.__c=n.__c).__=r.__E:(k?t.__c=r=new H(m,N):(t.__c=r=new re(m,N),r.constructor=H,r.render=rn),$&&$.sub(r),r.state||(r.state={}),r.__n=s,d=r.__d=!0,r.__h=[],r._sb=[]),k&&r.__s==null&&(r.__s=r.state),k&&H.getDerivedStateFromProps!=null&&(r.__s==r.state&&(r.__s=te({},r.__s)),te(r.__s,H.getDerivedStateFromProps(m,r.__s))),h=r.props,f=r.state,r.__v=t,d)k&&H.getDerivedStateFromProps==null&&r.componentWillMount!=null&&r.componentWillMount(),k&&r.componentDidMount!=null&&r.__h.push(r.componentDidMount);else{if(k&&H.getDerivedStateFromProps==null&&m!==h&&r.componentWillReceiveProps!=null&&r.componentWillReceiveProps(m,N),t.__v==n.__v||!r.__e&&r.shouldComponentUpdate!=null&&r.shouldComponentUpdate(m,r.__s,N)===!1){for(t.__v!=n.__v&&(r.props=m,r.state=r.__s,r.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(w){w&&(w.__=t)}),j=0;j<r._sb.length;j++)r.__h.push(r._sb[j]);r._sb=[],r.__h.length&&l.push(r);break e}r.componentWillUpdate!=null&&r.componentWillUpdate(m,r.__s,N),k&&r.componentDidUpdate!=null&&r.__h.push(function(){r.componentDidUpdate(h,f,y)})}if(r.context=N,r.props=m,r.__P=e,r.__e=!1,I=W.__r,O=0,k){for(r.state=r.__s,r.__d=!1,I&&I(t),p=r.render(r.props,r.state,r.context),R=0;R<r._sb.length;R++)r.__h.push(r._sb[R]);r._sb=[]}else do r.__d=!1,I&&I(t),p=r.render(r.props,r.state,r.context),r.state=r.__s;while(r.__d&&++O<25);r.state=r.__s,r.getChildContext!=null&&(s=te(te({},s),r.getChildContext())),k&&!d&&r.getSnapshotBeforeUpdate!=null&&(y=r.getSnapshotBeforeUpdate(h,f)),F=p,p!=null&&p.type===ye&&p.key==null&&(F=at(p.props.children)),i=nt(e,me(F)?F:[F],t,n,s,a,o,l,i,u,c),r.base=t.__e,t.__u&=-161,r.__h.length&&l.push(r),g&&(r.__E=r.__=null)}catch(w){if(t.__v=null,u||o!=null)if(w.then){for(t.__u|=u?160:128;i&&i.nodeType==8&&i.nextSibling;)i=i.nextSibling;o[o.indexOf(i)]=null,t.__e=i}else{for(J=o.length;J--;)Pe(o[J]);Ae(t)}else t.__e=n.__e,t.__k=n.__k,w.then||Ae(t);W.__e(w,t,n)}else o==null&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):i=t.__e=an(n.__e,t,n,s,a,o,l,u,c);return(p=W.diffed)&&p(t),128&t.__u?void 0:i}function Ae(e){e&&e.__c&&(e.__c.__e=!0),e&&e.__k&&e.__k.forEach(Ae)}function ot(e,t,n){for(var s=0;s<n.length;s++)Fe(n[s],n[++s],n[++s]);W.__c&&W.__c(t,e),e.some(function(a){try{e=a.__h,a.__h=[],e.some(function(o){o.call(a)})}catch(o){W.__e(o,a.__v)}})}function at(e){return typeof e!="object"||e==null||e.__b&&e.__b>0?e:me(e)?e.map(at):te({},e)}function an(e,t,n,s,a,o,l,i,u){var c,p,r,d,h,f,y,g=n.props||le,m=t.props,k=t.type;if(k=="svg"?a="http://www.w3.org/2000/svg":k=="math"?a="http://www.w3.org/1998/Math/MathML":a||(a="http://www.w3.org/1999/xhtml"),o!=null){for(c=0;c<o.length;c++)if((h=o[c])&&"setAttribute"in h==!!k&&(k?h.localName==k:h.nodeType==3)){e=h,o[c]=null;break}}if(e==null){if(k==null)return document.createTextNode(m);e=document.createElementNS(a,k,m.is&&m),i&&(W.__m&&W.__m(t,o),i=!1),o=null}if(k==null)g===m||i&&e.data==m||(e.data=m);else{if(o=o&&fe.call(e.childNodes),!i&&o!=null)for(g={},c=0;c<e.attributes.length;c++)g[(h=e.attributes[c]).name]=h.value;for(c in g)if(h=g[c],c!="children"){if(c=="dangerouslySetInnerHTML")r=h;else if(!(c in m)){if(c=="value"&&"defaultValue"in m||c=="checked"&&"defaultChecked"in m)continue;pe(e,c,null,h,a)}}for(c in m)h=m[c],c=="children"?d=h:c=="dangerouslySetInnerHTML"?p=h:c=="value"?f=h:c=="checked"?y=h:i&&typeof h!="function"||g[c]===h||pe(e,c,h,g[c],a);if(p)i||r&&(p.__html==r.__html||p.__html==e.innerHTML)||(e.innerHTML=p.__html),t.__k=[];else if(r&&(e.innerHTML=""),nt(t.type=="template"?e.content:e,me(d)?d:[d],t,n,s,k=="foreignObject"?"http://www.w3.org/1999/xhtml":a,o,l,o?o[0]:n.__k&&oe(n,0),i,u),o!=null)for(c=o.length;c--;)Pe(o[c]);i||(c="value",k=="progress"&&f==null?e.removeAttribute("value"):f!=null&&(f!==e[c]||k=="progress"&&!f||k=="option"&&f!=g[c])&&pe(e,c,f,g[c],a),c="checked",y!=null&&y!=e[c]&&pe(e,c,y,g[c],a))}return e}function Fe(e,t,n){try{if(typeof e=="function"){var s=typeof e.__u=="function";s&&e.__u(),s&&t==null||(e.__u=e(t))}else e.current=t}catch(a){W.__e(a,n)}}function rt(e,t,n){var s,a;if(W.unmount&&W.unmount(e),(s=e.ref)&&(s.current&&s.current!=e.__e||Fe(s,null,t)),(s=e.__c)!=null){if(s.componentWillUnmount)try{s.componentWillUnmount()}catch(o){W.__e(o,t)}s.base=s.__P=null}if(s=e.__k)for(a=0;a<s.length;a++)s[a]&&rt(s[a],t,n||typeof e.type!="function");n||Pe(e.__e),e.__c=e.__=e.__e=void 0}function rn(e,t,n){return this.constructor(e,n)}function ve(e,t,n){var s,a,o,l;t==document&&(t=document.documentElement),W.__&&W.__(e,t),a=(s=typeof n=="function")?null:n&&n.__k||t.__k,o=[],l=[],Re(t,e=(!s&&n||t).__k=ge(ye,null,[e]),a||le,le,t.namespaceURI,!s&&n?[n]:a?null:t.firstChild?fe.call(t.childNodes):null,o,!s&&n?n:a?a.__e:t.firstChild,s,l),ot(o,e,l)}fe=et.slice,W={__e:function(e,t,n,s){for(var a,o,l;t=t.__;)if((a=t.__c)&&!a.__)try{if((o=a.constructor)&&o.getDerivedStateFromError!=null&&(a.setState(o.getDerivedStateFromError(e)),l=a.__d),a.componentDidCatch!=null&&(a.componentDidCatch(e,s||{}),l=a.__d),l)return a.__E=a}catch(i){e=i}throw e}},Ye=0,en=function(e){return e!=null&&e.constructor===void 0},re.prototype.setState=function(e,t){var n;n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=te({},this.state),typeof e=="function"&&(e=e(te({},n),this.props)),e&&te(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),Je(this))},re.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Je(this))},re.prototype.render=ye,se=[],Xe=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Qe=function(e,t){return e.__v.__b-t.__v.__b},he.__r=0,Ze=/(PointerCapture)$|Capture$/i,De=0,xe=Ge(!1),Ie=Ge(!0),tn=0;var it=function(e,t,n,s){var a;t[0]=0;for(var o=1;o<t.length;o++){var l=t[o++],i=t[o]?(t[0]|=l?1:2,n[t[o++]]):t[++o];l===3?s[0]=i:l===4?s[1]=Object.assign(s[1]||{},i):l===5?(s[1]=s[1]||{})[t[++o]]=i:l===6?s[1][t[++o]]+=i+"":l?(a=e.apply(i,it(e,i,n,["",null])),s.push(a),i[0]?t[0]|=2:(t[o-2]=0,t[o]=a)):s.push(i)}return s},lt=new Map;function ct(e){var t=lt.get(this);return t||(t=new Map,lt.set(this,t)),(t=it(this,t.get(e)||(t.set(e,t=function(n){for(var s,a,o=1,l="",i="",u=[0],c=function(d){o===1&&(d||(l=l.replace(/^\s*\n\s*|\s*\n\s*$/g,"")))?u.push(0,d,l):o===3&&(d||l)?(u.push(3,d,l),o=2):o===2&&l==="..."&&d?u.push(4,d,0):o===2&&l&&!d?u.push(5,0,!0,l):o>=5&&((l||!d&&o===5)&&(u.push(o,0,l,a),o=6),d&&(u.push(o,d,0,a),o=6)),l=""},p=0;p<n.length;p++){p&&(o===1&&c(),c(p));for(var r=0;r<n[p].length;r++)s=n[p][r],o===1?s==="<"?(c(),u=[u],o=3):l+=s:o===4?l==="--"&&s===">"?(o=1,l=""):l=s+l[0]:i?s===i?i="":l+=s:s==='"'||s==="'"?i=s:s===">"?(c(),o=1):o&&(s==="="?(o=5,a=l,l=""):s==="/"&&(o<5||n[p][r+1]===">")?(c(),o===3&&(u=u[0]),o=u,(u=u[0]).push(2,0,o),o=0):s===" "||s===" "||s===`
2
- `||s==="\r"?(c(),o=2):l+=s),o===3&&l==="!--"&&(o=4,u=u[0])}return c(),u}(e)),t),arguments,[])).length>1?t:t[0]}var _=ct.bind(ge);var ie,z,Oe,ut,ce=0,yt=[],q=W,dt=q.__b,pt=q.__r,_t=q.diffed,ht=q.__c,ft=q.unmount,mt=q.__;function Le(e,t){q.__h&&q.__h(z,e,ce||t),ce=0;var n=z.__H||(z.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function T(e){return ce=1,ln($t,e)}function ln(e,t,n){var s=Le(ie++,2);if(s.t=e,!s.__c&&(s.__=[n?n(t):$t(void 0,t),function(i){var u=s.__N?s.__N[0]:s.__[0],c=s.t(u,i);u!==c&&(s.__N=[c,s.__[1]],s.__c.setState({}))}],s.__c=z,!z.__f)){var a=function(i,u,c){if(!s.__c.__H)return!0;var p=s.__c.__H.__.filter(function(d){return!!d.__c});if(p.every(function(d){return!d.__N}))return!o||o.call(this,i,u,c);var r=s.__c.props!==i;return p.forEach(function(d){if(d.__N){var h=d.__[0];d.__=d.__N,d.__N=void 0,h!==d.__[0]&&(r=!0)}}),o&&o.call(this,i,u,c)||r};z.__f=!0;var o=z.shouldComponentUpdate,l=z.componentWillUpdate;z.componentWillUpdate=function(i,u,c){if(this.__e){var p=o;o=void 0,a(i,u,c),o=p}l&&l.call(this,i,u,c)},z.shouldComponentUpdate=a}return s.__N||s.__}function V(e,t){var n=Le(ie++,3);!q.__s&&vt(n.__H,t)&&(n.__=e,n.u=t,z.__H.__h.push(n))}function Q(e){return ce=5,ae(function(){return{current:e}},[])}function ae(e,t){var n=Le(ie++,7);return vt(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function E(e,t){return ce=8,ae(function(){return e},t)}function cn(){for(var e;e=yt.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach($e),e.__H.__h.forEach(He),e.__H.__h=[]}catch(t){e.__H.__h=[],q.__e(t,e.__v)}}q.__b=function(e){z=null,dt&&dt(e)},q.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),mt&&mt(e,t)},q.__r=function(e){pt&&pt(e),ie=0;var t=(z=e.__c).__H;t&&(Oe===z?(t.__h=[],z.__h=[],t.__.forEach(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(t.__h.forEach($e),t.__h.forEach(He),t.__h=[],ie=0)),Oe=z},q.diffed=function(e){_t&&_t(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(yt.push(t)!==1&&ut===q.requestAnimationFrame||((ut=q.requestAnimationFrame)||un)(cn)),t.__H.__.forEach(function(n){n.u&&(n.__H=n.u),n.u=void 0})),Oe=z=null},q.__c=function(e,t){t.some(function(n){try{n.__h.forEach($e),n.__h=n.__h.filter(function(s){return!s.__||He(s)})}catch(s){t.some(function(a){a.__h&&(a.__h=[])}),t=[],q.__e(s,n.__v)}}),ht&&ht(e,t)},q.unmount=function(e){ft&&ft(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(s){try{$e(s)}catch(a){t=a}}),n.__H=void 0,t&&q.__e(t,n.__v))};var gt=typeof requestAnimationFrame=="function";function un(e){var t,n=function(){clearTimeout(s),gt&&cancelAnimationFrame(t),setTimeout(e)},s=setTimeout(n,35);gt&&(t=requestAnimationFrame(n))}function $e(e){var t=z,n=e.__c;typeof n=="function"&&(e.__c=void 0,n()),z=t}function He(e){var t=z;e.__c=e.__(),z=t}function vt(e,t){return!e||e.length!==t.length||t.some(function(n,s){return n!==e[s]})}function $t(e,t){return typeof t=="function"?t(e):t}function dn(e){return e.replace(/_([a-z])/g,(t,n)=>n.toUpperCase())}function Ne(e){return e.replace(/[A-Z]/g,t=>`_${t.toLowerCase()}`)}function we(e){return Array.isArray(e)?e.map(we):e!==null&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([t,n])=>[dn(t),we(n)])):e}function ke(e){return Array.isArray(e)?e.map(ke):e!==null&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([t,n])=>[Ne(t),ke(n)])):e}function be(){return"msg-"+Date.now()+"-"+Math.random().toString(36).substr(2,9)}function G(e){let t=document.createElement("div");return t.textContent=e,t.innerHTML}function wt(e){if(!e)return"";try{let t=new Date(e),s=new Date-t,a=Math.floor(s/6e4),o=Math.floor(s/36e5),l=Math.floor(s/864e5);return a<1?"Just now":a<60?`${a}m ago`:o<24?`${o}h ago`:l<7?`${l}d ago`:t.toLocaleDateString()}catch{return""}}function kt(e,t=null){if(t)return t(e);let n=G(e);return n=n.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),n=n.replace(/__(.+?)__/g,"<strong>$1</strong>"),n=n.replace(/\*(.+?)\*/g,"<em>$1</em>"),n=n.replace(/_(.+?)_/g,"<em>$1</em>"),n=n.replace(/`(.+?)`/g,"<code>$1</code>"),n=n.replace(/\[(.+?)\]\((.+?)\)/g,'<a href="$2" target="_blank" rel="noopener noreferrer">$1</a>'),n=n.replace(/\n/g,"<br>"),n}function bt(e=""){let t=n=>e?`${n}_${e}`:n;return{get(n){try{return localStorage.getItem(t(n))}catch{return null}},set(n,s){try{let a=t(n);s===null?localStorage.removeItem(a):localStorage.setItem(a,s)}catch{}}}}function Ct(e="csrftoken"){let t=document.cookie.split(";");for(let s of t){let[a,o]=s.trim().split("=");if(a===e)return decodeURIComponent(o)}let n=document.querySelector('meta[name="csrf-token"]');return n?n.getAttribute("content"):null}function Ce(e){if(e===0)return"0 B";let t=1024,n=["B","KB","MB","GB"],s=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/Math.pow(t,s)).toFixed(1))+" "+n[s]}function Se(e){return e?e.startsWith("image/")?"\u{1F5BC}\uFE0F":e.startsWith("video/")?"\u{1F3AC}":e.startsWith("audio/")?"\u{1F3B5}":e.includes("pdf")?"\u{1F4D5}":e.includes("spreadsheet")||e.includes("excel")?"\u{1F4CA}":e.includes("document")||e.includes("word")?"\u{1F4DD}":e.includes("presentation")||e.includes("powerpoint")?"\u{1F4FD}\uFE0F":e.includes("zip")||e.includes("compressed")?"\u{1F5DC}\uFE0F":(e.includes("text/"),"\u{1F4C4}"):"\u{1F4C4}"}function pn(e){if(!e||typeof e!="string")return 0;let t=e.replace("#","");if(t.length!==6&&t.length!==3)return 0;let n=t.length===3?t.split("").map(i=>i+i).join(""):t,s=parseInt(n.substr(0,2),16)/255,a=parseInt(n.substr(2,2),16)/255,o=parseInt(n.substr(4,2),16)/255,l=i=>i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4);return .2126*l(s)+.7152*l(a)+.0722*l(o)}function St(e){return pn(e)>.179?"#000000":"#ffffff"}function Tt({config:e,debugMode:t,isExpanded:n,isSpeaking:s,messagesCount:a,isLoading:o,currentAgent:l,onClose:i,onToggleExpand:u,onToggleDebug:c,onToggleTTS:p,onClear:r,onToggleSidebar:d}){let{title:h,primaryColor:f,embedded:y,showConversationSidebar:g,showClearButton:m,showDebugButton:k,enableDebugMode:$,showTTSButton:N,showExpandButton:j,enableTTS:I,elevenLabsApiKey:O,ttsProxyUrl:R}=e,F=O||R;return _`
1
+ var ChatWidgetModule=(()=>{var de=Object.defineProperty;var Jt=Object.getOwnPropertyDescriptor;var qt=Object.getOwnPropertyNames;var Gt=Object.prototype.hasOwnProperty;var Yt=(e,t,n)=>t in e?de(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Xt=(e,t)=>{for(var n in t)de(e,n,{get:t[n],enumerable:!0})},Qt=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of qt(t))!Gt.call(e,a)&&a!==n&&de(e,a,{get:()=>t[a],enumerable:!(s=Jt(t,a))||s.enumerable});return e};var Zt=e=>Qt(de({},"__esModule",{value:!0}),e);var je=(e,t,n)=>(Yt(e,typeof t!="symbol"?t+"":t,n),n);var An={};Xt(An,{ChatWidget:()=>Ee,default:()=>In});var fe,W,Ye,en,se,ze,Xe,Qe,Ze,De,xe,Ie,tn,le={},et=[],nn=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,me=Array.isArray;function te(e,t){for(var n in t)e[n]=t[n];return e}function Pe(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function ge(e,t,n){var s,a,o,l={};for(o in t)o=="key"?s=t[o]:o=="ref"?a=t[o]:l[o]=t[o];if(arguments.length>2&&(l.children=arguments.length>3?fe.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(o in e.defaultProps)l[o]===void 0&&(l[o]=e.defaultProps[o]);return _e(e,l,s,a,null)}function _e(e,t,n,s,a){var o={type:e,props:t,key:n,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:a??++Ye,__i:-1,__u:0};return a==null&&W.vnode!=null&&W.vnode(o),o}function ye(e){return e.children}function re(e,t){this.props=e,this.context=t}function oe(e,t){if(t==null)return e.__?oe(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type=="function"?oe(e):null}function tt(e){var t,n;if((e=e.__)!=null&&e.__c!=null){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null){e.__e=e.__c.base=n.__e;break}return tt(e)}}function Je(e){(!e.__d&&(e.__d=!0)&&se.push(e)&&!he.__r++||ze!=W.debounceRendering)&&((ze=W.debounceRendering)||Xe)(he)}function he(){for(var e,t,n,s,a,o,l,i=1;se.length;)se.length>i&&se.sort(Qe),e=se.shift(),i=se.length,e.__d&&(n=void 0,s=void 0,a=(s=(t=e).__v).__e,o=[],l=[],t.__P&&((n=te({},s)).__v=s.__v+1,W.vnode&&W.vnode(n),Fe(t.__P,n,s,t.__n,t.__P.namespaceURI,32&s.__u?[a]:null,o,a??oe(s),!!(32&s.__u),l),n.__v=s.__v,n.__.__k[n.__i]=n,ot(o,n,l),s.__e=s.__=null,n.__e!=a&&tt(n)));he.__r=0}function nt(e,t,n,s,a,o,l,i,u,c,p){var r,d,h,f,y,g,m,k=s&&s.__k||et,$=t.length;for(u=sn(n,t,k,u,$),r=0;r<$;r++)(h=n.__k[r])!=null&&(d=h.__i==-1?le:k[h.__i]||le,h.__i=r,g=Fe(e,h,d,a,o,l,i,u,c,p),f=h.__e,h.ref&&d.ref!=h.ref&&(d.ref&&Re(d.ref,null,h),p.push(h.ref,h.__c||f,h)),y==null&&f!=null&&(y=f),(m=!!(4&h.__u))||d.__k===h.__k?u=st(h,u,e,m):typeof h.type=="function"&&g!==void 0?u=g:f&&(u=f.nextSibling),h.__u&=-7);return n.__e=y,u}function sn(e,t,n,s,a){var o,l,i,u,c,p=n.length,r=p,d=0;for(e.__k=new Array(a),o=0;o<a;o++)(l=t[o])!=null&&typeof l!="boolean"&&typeof l!="function"?(typeof l=="string"||typeof l=="number"||typeof l=="bigint"||l.constructor==String?l=e.__k[o]=_e(null,l,null,null,null):me(l)?l=e.__k[o]=_e(ye,{children:l},null,null,null):l.constructor===void 0&&l.__b>0?l=e.__k[o]=_e(l.type,l.props,l.key,l.ref?l.ref:null,l.__v):e.__k[o]=l,u=o+d,l.__=e,l.__b=e.__b+1,i=null,(c=l.__i=on(l,n,u,r))!=-1&&(r--,(i=n[c])&&(i.__u|=2)),i==null||i.__v==null?(c==-1&&(a>p?d--:a<p&&d++),typeof l.type!="function"&&(l.__u|=4)):c!=u&&(c==u-1?d--:c==u+1?d++:(c>u?d--:d++,l.__u|=4))):e.__k[o]=null;if(r)for(o=0;o<p;o++)(i=n[o])!=null&&!(2&i.__u)&&(i.__e==s&&(s=oe(i)),rt(i,i));return s}function st(e,t,n,s){var a,o;if(typeof e.type=="function"){for(a=e.__k,o=0;a&&o<a.length;o++)a[o]&&(a[o].__=e,t=st(a[o],t,n,s));return t}e.__e!=t&&(s&&(t&&e.type&&!t.parentNode&&(t=oe(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function on(e,t,n,s){var a,o,l,i=e.key,u=e.type,c=t[n],p=c!=null&&(2&c.__u)==0;if(c===null&&i==null||p&&i==c.key&&u==c.type)return n;if(s>(p?1:0)){for(a=n-1,o=n+1;a>=0||o<t.length;)if((c=t[l=a>=0?a--:o++])!=null&&!(2&c.__u)&&i==c.key&&u==c.type)return l}return-1}function qe(e,t,n){t[0]=="-"?e.setProperty(t,n??""):e[t]=n==null?"":typeof n!="number"||nn.test(t)?n:n+"px"}function pe(e,t,n,s,a){var o,l;e:if(t=="style")if(typeof n=="string")e.style.cssText=n;else{if(typeof s=="string"&&(e.style.cssText=s=""),s)for(t in s)n&&t in n||qe(e.style,t,"");if(n)for(t in n)s&&n[t]==s[t]||qe(e.style,t,n[t])}else if(t[0]=="o"&&t[1]=="n")o=t!=(t=t.replace(Ze,"$1")),l=t.toLowerCase(),t=l in e||t=="onFocusOut"||t=="onFocusIn"?l.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+o]=n,n?s?n.u=s.u:(n.u=De,e.addEventListener(t,o?Ie:xe,o)):e.removeEventListener(t,o?Ie:xe,o);else{if(a=="http://www.w3.org/2000/svg")t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!="width"&&t!="height"&&t!="href"&&t!="list"&&t!="form"&&t!="tabIndex"&&t!="download"&&t!="rowSpan"&&t!="colSpan"&&t!="role"&&t!="popover"&&t in e)try{e[t]=n??"";break e}catch{}typeof n=="function"||(n==null||n===!1&&t[4]!="-"?e.removeAttribute(t):e.setAttribute(t,t=="popover"&&n==1?"":n))}}function Ge(e){return function(t){if(this.l){var n=this.l[t.type+e];if(t.t==null)t.t=De++;else if(t.t<n.u)return;return n(W.event?W.event(t):t)}}}function Fe(e,t,n,s,a,o,l,i,u,c){var p,r,d,h,f,y,g,m,k,$,N,j,I,H,F,R,J,O=t.type;if(t.constructor!==void 0)return null;128&n.__u&&(u=!!(32&n.__u),o=[i=t.__e=n.__e]),(p=W.__b)&&p(t);e:if(typeof O=="function")try{if(m=t.props,k="prototype"in O&&O.prototype.render,$=(p=O.contextType)&&s[p.__c],N=p?$?$.props.value:p.__:s,n.__c?g=(r=t.__c=n.__c).__=r.__E:(k?t.__c=r=new O(m,N):(t.__c=r=new re(m,N),r.constructor=O,r.render=rn),$&&$.sub(r),r.state||(r.state={}),r.__n=s,d=r.__d=!0,r.__h=[],r._sb=[]),k&&r.__s==null&&(r.__s=r.state),k&&O.getDerivedStateFromProps!=null&&(r.__s==r.state&&(r.__s=te({},r.__s)),te(r.__s,O.getDerivedStateFromProps(m,r.__s))),h=r.props,f=r.state,r.__v=t,d)k&&O.getDerivedStateFromProps==null&&r.componentWillMount!=null&&r.componentWillMount(),k&&r.componentDidMount!=null&&r.__h.push(r.componentDidMount);else{if(k&&O.getDerivedStateFromProps==null&&m!==h&&r.componentWillReceiveProps!=null&&r.componentWillReceiveProps(m,N),t.__v==n.__v||!r.__e&&r.shouldComponentUpdate!=null&&r.shouldComponentUpdate(m,r.__s,N)===!1){for(t.__v!=n.__v&&(r.props=m,r.state=r.__s,r.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(w){w&&(w.__=t)}),j=0;j<r._sb.length;j++)r.__h.push(r._sb[j]);r._sb=[],r.__h.length&&l.push(r);break e}r.componentWillUpdate!=null&&r.componentWillUpdate(m,r.__s,N),k&&r.componentDidUpdate!=null&&r.__h.push(function(){r.componentDidUpdate(h,f,y)})}if(r.context=N,r.props=m,r.__P=e,r.__e=!1,I=W.__r,H=0,k){for(r.state=r.__s,r.__d=!1,I&&I(t),p=r.render(r.props,r.state,r.context),F=0;F<r._sb.length;F++)r.__h.push(r._sb[F]);r._sb=[]}else do r.__d=!1,I&&I(t),p=r.render(r.props,r.state,r.context),r.state=r.__s;while(r.__d&&++H<25);r.state=r.__s,r.getChildContext!=null&&(s=te(te({},s),r.getChildContext())),k&&!d&&r.getSnapshotBeforeUpdate!=null&&(y=r.getSnapshotBeforeUpdate(h,f)),R=p,p!=null&&p.type===ye&&p.key==null&&(R=at(p.props.children)),i=nt(e,me(R)?R:[R],t,n,s,a,o,l,i,u,c),r.base=t.__e,t.__u&=-161,r.__h.length&&l.push(r),g&&(r.__E=r.__=null)}catch(w){if(t.__v=null,u||o!=null)if(w.then){for(t.__u|=u?160:128;i&&i.nodeType==8&&i.nextSibling;)i=i.nextSibling;o[o.indexOf(i)]=null,t.__e=i}else{for(J=o.length;J--;)Pe(o[J]);Ae(t)}else t.__e=n.__e,t.__k=n.__k,w.then||Ae(t);W.__e(w,t,n)}else o==null&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):i=t.__e=an(n.__e,t,n,s,a,o,l,u,c);return(p=W.diffed)&&p(t),128&t.__u?void 0:i}function Ae(e){e&&e.__c&&(e.__c.__e=!0),e&&e.__k&&e.__k.forEach(Ae)}function ot(e,t,n){for(var s=0;s<n.length;s++)Re(n[s],n[++s],n[++s]);W.__c&&W.__c(t,e),e.some(function(a){try{e=a.__h,a.__h=[],e.some(function(o){o.call(a)})}catch(o){W.__e(o,a.__v)}})}function at(e){return typeof e!="object"||e==null||e.__b&&e.__b>0?e:me(e)?e.map(at):te({},e)}function an(e,t,n,s,a,o,l,i,u){var c,p,r,d,h,f,y,g=n.props||le,m=t.props,k=t.type;if(k=="svg"?a="http://www.w3.org/2000/svg":k=="math"?a="http://www.w3.org/1998/Math/MathML":a||(a="http://www.w3.org/1999/xhtml"),o!=null){for(c=0;c<o.length;c++)if((h=o[c])&&"setAttribute"in h==!!k&&(k?h.localName==k:h.nodeType==3)){e=h,o[c]=null;break}}if(e==null){if(k==null)return document.createTextNode(m);e=document.createElementNS(a,k,m.is&&m),i&&(W.__m&&W.__m(t,o),i=!1),o=null}if(k==null)g===m||i&&e.data==m||(e.data=m);else{if(o=o&&fe.call(e.childNodes),!i&&o!=null)for(g={},c=0;c<e.attributes.length;c++)g[(h=e.attributes[c]).name]=h.value;for(c in g)if(h=g[c],c!="children"){if(c=="dangerouslySetInnerHTML")r=h;else if(!(c in m)){if(c=="value"&&"defaultValue"in m||c=="checked"&&"defaultChecked"in m)continue;pe(e,c,null,h,a)}}for(c in m)h=m[c],c=="children"?d=h:c=="dangerouslySetInnerHTML"?p=h:c=="value"?f=h:c=="checked"?y=h:i&&typeof h!="function"||g[c]===h||pe(e,c,h,g[c],a);if(p)i||r&&(p.__html==r.__html||p.__html==e.innerHTML)||(e.innerHTML=p.__html),t.__k=[];else if(r&&(e.innerHTML=""),nt(t.type=="template"?e.content:e,me(d)?d:[d],t,n,s,k=="foreignObject"?"http://www.w3.org/1999/xhtml":a,o,l,o?o[0]:n.__k&&oe(n,0),i,u),o!=null)for(c=o.length;c--;)Pe(o[c]);i||(c="value",k=="progress"&&f==null?e.removeAttribute("value"):f!=null&&(f!==e[c]||k=="progress"&&!f||k=="option"&&f!=g[c])&&pe(e,c,f,g[c],a),c="checked",y!=null&&y!=e[c]&&pe(e,c,y,g[c],a))}return e}function Re(e,t,n){try{if(typeof e=="function"){var s=typeof e.__u=="function";s&&e.__u(),s&&t==null||(e.__u=e(t))}else e.current=t}catch(a){W.__e(a,n)}}function rt(e,t,n){var s,a;if(W.unmount&&W.unmount(e),(s=e.ref)&&(s.current&&s.current!=e.__e||Re(s,null,t)),(s=e.__c)!=null){if(s.componentWillUnmount)try{s.componentWillUnmount()}catch(o){W.__e(o,t)}s.base=s.__P=null}if(s=e.__k)for(a=0;a<s.length;a++)s[a]&&rt(s[a],t,n||typeof e.type!="function");n||Pe(e.__e),e.__c=e.__=e.__e=void 0}function rn(e,t,n){return this.constructor(e,n)}function ve(e,t,n){var s,a,o,l;t==document&&(t=document.documentElement),W.__&&W.__(e,t),a=(s=typeof n=="function")?null:n&&n.__k||t.__k,o=[],l=[],Fe(t,e=(!s&&n||t).__k=ge(ye,null,[e]),a||le,le,t.namespaceURI,!s&&n?[n]:a?null:t.firstChild?fe.call(t.childNodes):null,o,!s&&n?n:a?a.__e:t.firstChild,s,l),ot(o,e,l)}fe=et.slice,W={__e:function(e,t,n,s){for(var a,o,l;t=t.__;)if((a=t.__c)&&!a.__)try{if((o=a.constructor)&&o.getDerivedStateFromError!=null&&(a.setState(o.getDerivedStateFromError(e)),l=a.__d),a.componentDidCatch!=null&&(a.componentDidCatch(e,s||{}),l=a.__d),l)return a.__E=a}catch(i){e=i}throw e}},Ye=0,en=function(e){return e!=null&&e.constructor===void 0},re.prototype.setState=function(e,t){var n;n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=te({},this.state),typeof e=="function"&&(e=e(te({},n),this.props)),e&&te(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),Je(this))},re.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Je(this))},re.prototype.render=ye,se=[],Xe=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Qe=function(e,t){return e.__v.__b-t.__v.__b},he.__r=0,Ze=/(PointerCapture)$|Capture$/i,De=0,xe=Ge(!1),Ie=Ge(!0),tn=0;var it=function(e,t,n,s){var a;t[0]=0;for(var o=1;o<t.length;o++){var l=t[o++],i=t[o]?(t[0]|=l?1:2,n[t[o++]]):t[++o];l===3?s[0]=i:l===4?s[1]=Object.assign(s[1]||{},i):l===5?(s[1]=s[1]||{})[t[++o]]=i:l===6?s[1][t[++o]]+=i+"":l?(a=e.apply(i,it(e,i,n,["",null])),s.push(a),i[0]?t[0]|=2:(t[o-2]=0,t[o]=a)):s.push(i)}return s},lt=new Map;function ct(e){var t=lt.get(this);return t||(t=new Map,lt.set(this,t)),(t=it(this,t.get(e)||(t.set(e,t=function(n){for(var s,a,o=1,l="",i="",u=[0],c=function(d){o===1&&(d||(l=l.replace(/^\s*\n\s*|\s*\n\s*$/g,"")))?u.push(0,d,l):o===3&&(d||l)?(u.push(3,d,l),o=2):o===2&&l==="..."&&d?u.push(4,d,0):o===2&&l&&!d?u.push(5,0,!0,l):o>=5&&((l||!d&&o===5)&&(u.push(o,0,l,a),o=6),d&&(u.push(o,d,0,a),o=6)),l=""},p=0;p<n.length;p++){p&&(o===1&&c(),c(p));for(var r=0;r<n[p].length;r++)s=n[p][r],o===1?s==="<"?(c(),u=[u],o=3):l+=s:o===4?l==="--"&&s===">"?(o=1,l=""):l=s+l[0]:i?s===i?i="":l+=s:s==='"'||s==="'"?i=s:s===">"?(c(),o=1):o&&(s==="="?(o=5,a=l,l=""):s==="/"&&(o<5||n[p][r+1]===">")?(c(),o===3&&(u=u[0]),o=u,(u=u[0]).push(2,0,o),o=0):s===" "||s===" "||s===`
2
+ `||s==="\r"?(c(),o=2):l+=s),o===3&&l==="!--"&&(o=4,u=u[0])}return c(),u}(e)),t),arguments,[])).length>1?t:t[0]}var _=ct.bind(ge);var ie,z,He,ut,ce=0,yt=[],q=W,dt=q.__b,pt=q.__r,_t=q.diffed,ht=q.__c,ft=q.unmount,mt=q.__;function Le(e,t){q.__h&&q.__h(z,e,ce||t),ce=0;var n=z.__H||(z.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function T(e){return ce=1,ln($t,e)}function ln(e,t,n){var s=Le(ie++,2);if(s.t=e,!s.__c&&(s.__=[n?n(t):$t(void 0,t),function(i){var u=s.__N?s.__N[0]:s.__[0],c=s.t(u,i);u!==c&&(s.__N=[c,s.__[1]],s.__c.setState({}))}],s.__c=z,!z.__f)){var a=function(i,u,c){if(!s.__c.__H)return!0;var p=s.__c.__H.__.filter(function(d){return!!d.__c});if(p.every(function(d){return!d.__N}))return!o||o.call(this,i,u,c);var r=s.__c.props!==i;return p.forEach(function(d){if(d.__N){var h=d.__[0];d.__=d.__N,d.__N=void 0,h!==d.__[0]&&(r=!0)}}),o&&o.call(this,i,u,c)||r};z.__f=!0;var o=z.shouldComponentUpdate,l=z.componentWillUpdate;z.componentWillUpdate=function(i,u,c){if(this.__e){var p=o;o=void 0,a(i,u,c),o=p}l&&l.call(this,i,u,c)},z.shouldComponentUpdate=a}return s.__N||s.__}function V(e,t){var n=Le(ie++,3);!q.__s&&vt(n.__H,t)&&(n.__=e,n.u=t,z.__H.__h.push(n))}function Q(e){return ce=5,ae(function(){return{current:e}},[])}function ae(e,t){var n=Le(ie++,7);return vt(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function E(e,t){return ce=8,ae(function(){return e},t)}function cn(){for(var e;e=yt.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach($e),e.__H.__h.forEach(Oe),e.__H.__h=[]}catch(t){e.__H.__h=[],q.__e(t,e.__v)}}q.__b=function(e){z=null,dt&&dt(e)},q.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),mt&&mt(e,t)},q.__r=function(e){pt&&pt(e),ie=0;var t=(z=e.__c).__H;t&&(He===z?(t.__h=[],z.__h=[],t.__.forEach(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(t.__h.forEach($e),t.__h.forEach(Oe),t.__h=[],ie=0)),He=z},q.diffed=function(e){_t&&_t(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(yt.push(t)!==1&&ut===q.requestAnimationFrame||((ut=q.requestAnimationFrame)||un)(cn)),t.__H.__.forEach(function(n){n.u&&(n.__H=n.u),n.u=void 0})),He=z=null},q.__c=function(e,t){t.some(function(n){try{n.__h.forEach($e),n.__h=n.__h.filter(function(s){return!s.__||Oe(s)})}catch(s){t.some(function(a){a.__h&&(a.__h=[])}),t=[],q.__e(s,n.__v)}}),ht&&ht(e,t)},q.unmount=function(e){ft&&ft(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(s){try{$e(s)}catch(a){t=a}}),n.__H=void 0,t&&q.__e(t,n.__v))};var gt=typeof requestAnimationFrame=="function";function un(e){var t,n=function(){clearTimeout(s),gt&&cancelAnimationFrame(t),setTimeout(e)},s=setTimeout(n,35);gt&&(t=requestAnimationFrame(n))}function $e(e){var t=z,n=e.__c;typeof n=="function"&&(e.__c=void 0,n()),z=t}function Oe(e){var t=z;e.__c=e.__(),z=t}function vt(e,t){return!e||e.length!==t.length||t.some(function(n,s){return n!==e[s]})}function $t(e,t){return typeof t=="function"?t(e):t}function dn(e){return e.replace(/_([a-z])/g,(t,n)=>n.toUpperCase())}function Ne(e){return e.replace(/[A-Z]/g,t=>`_${t.toLowerCase()}`)}function we(e){return Array.isArray(e)?e.map(we):e!==null&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([t,n])=>[dn(t),we(n)])):e}function ke(e){return Array.isArray(e)?e.map(ke):e!==null&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([t,n])=>[Ne(t),ke(n)])):e}function be(){return"msg-"+Date.now()+"-"+Math.random().toString(36).substr(2,9)}function G(e){let t=document.createElement("div");return t.textContent=e,t.innerHTML}function wt(e){if(!e)return"";try{let t=new Date(e),s=new Date-t,a=Math.floor(s/6e4),o=Math.floor(s/36e5),l=Math.floor(s/864e5);return a<1?"Just now":a<60?`${a}m ago`:o<24?`${o}h ago`:l<7?`${l}d ago`:t.toLocaleDateString()}catch{return""}}function kt(e,t=null){if(t)return t(e);let n=G(e);return n=n.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),n=n.replace(/__(.+?)__/g,"<strong>$1</strong>"),n=n.replace(/\*(.+?)\*/g,"<em>$1</em>"),n=n.replace(/_(.+?)_/g,"<em>$1</em>"),n=n.replace(/`(.+?)`/g,"<code>$1</code>"),n=n.replace(/\[(.+?)\]\((.+?)\)/g,'<a href="$2" target="_blank" rel="noopener noreferrer">$1</a>'),n=n.replace(/\n/g,"<br>"),n}function bt(e=""){let t=n=>e?`${n}_${e}`:n;return{get(n){try{return localStorage.getItem(t(n))}catch{return null}},set(n,s){try{let a=t(n);s===null?localStorage.removeItem(a):localStorage.setItem(a,s)}catch{}}}}function Ct(e="csrftoken"){let t=document.cookie.split(";");for(let s of t){let[a,o]=s.trim().split("=");if(a===e)return decodeURIComponent(o)}let n=document.querySelector('meta[name="csrf-token"]');return n?n.getAttribute("content"):null}function Ce(e){if(e===0)return"0 B";let t=1024,n=["B","KB","MB","GB"],s=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/Math.pow(t,s)).toFixed(1))+" "+n[s]}function Se(e){return e?e.startsWith("image/")?"\u{1F5BC}\uFE0F":e.startsWith("video/")?"\u{1F3AC}":e.startsWith("audio/")?"\u{1F3B5}":e.includes("pdf")?"\u{1F4D5}":e.includes("spreadsheet")||e.includes("excel")?"\u{1F4CA}":e.includes("document")||e.includes("word")?"\u{1F4DD}":e.includes("presentation")||e.includes("powerpoint")?"\u{1F4FD}\uFE0F":e.includes("zip")||e.includes("compressed")?"\u{1F5DC}\uFE0F":(e.includes("text/"),"\u{1F4C4}"):"\u{1F4C4}"}function pn(e){if(!e||typeof e!="string")return 0;let t=e.replace("#","");if(t.length!==6&&t.length!==3)return 0;let n=t.length===3?t.split("").map(i=>i+i).join(""):t,s=parseInt(n.substr(0,2),16)/255,a=parseInt(n.substr(2,2),16)/255,o=parseInt(n.substr(4,2),16)/255,l=i=>i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4);return .2126*l(s)+.7152*l(a)+.0722*l(o)}function St(e){return pn(e)>.179?"#000000":"#ffffff"}function Tt({config:e,debugMode:t,isExpanded:n,isSpeaking:s,messagesCount:a,isLoading:o,currentAgent:l,onClose:i,onToggleExpand:u,onToggleDebug:c,onToggleTTS:p,onClear:r,onToggleSidebar:d}){let{title:h,primaryColor:f,embedded:y,showConversationSidebar:g,showClearButton:m,showDebugButton:k,enableDebugMode:$,showTTSButton:N,showExpandButton:j,enableTTS:I,elevenLabsApiKey:H,ttsProxyUrl:F}=e,R=H||F;return _`
3
3
  <div class="cw-header" style=${{backgroundColor:f}}>
4
4
  ${g&&_`
5
5
  <button
@@ -43,7 +43,7 @@ var ChatWidgetModule=(()=>{var de=Object.defineProperty;var Jt=Object.getOwnProp
43
43
  >🐛</button>
44
44
  `}
45
45
 
46
- ${N&&F&&_`
46
+ ${N&&R&&_`
47
47
  <button
48
48
  class="cw-header-btn ${I?"cw-btn-active":""}"
49
49
  onClick=${p}
@@ -149,7 +149,7 @@ var ChatWidgetModule=(()=>{var de=Object.defineProperty;var Jt=Object.getOwnProp
149
149
  `}
150
150
  ${t&&_`<${Ke} msg=${e} show=${c} onToggle=${()=>p(!c)} />`}
151
151
  </div>
152
- `}let j=["cw-message",h&&"cw-message-user",m&&"cw-message-error"].filter(Boolean).join(" "),I=`cw-message-row ${h?"cw-message-row-user":""}`,O=e.role==="assistant"?kt(e.content,n):G(e.content),R=e.files&&e.files.length>0,F=()=>R?_`
152
+ `}let j=["cw-message",h&&"cw-message-user",m&&"cw-message-error"].filter(Boolean).join(" "),I=`cw-message-row ${h?"cw-message-row-user":""}`,H=e.role==="assistant"?kt(e.content,n):G(e.content),F=e.files&&e.files.length>0,R=()=>F?_`
153
153
  <div class="cw-message-attachments">
154
154
  ${e.files.map(S=>S.type&&S.type.startsWith("image/")?_`
155
155
  <a class="cw-attachment-thumbnail" href=${S.url} target="_blank" title=${S.name}>
@@ -165,9 +165,9 @@ var ChatWidgetModule=(()=>{var de=Object.defineProperty;var Jt=Object.getOwnProp
165
165
  </a>
166
166
  `)}
167
167
  </div>
168
- `:null,J=S=>{d(!1),s&&s(l,S)},H=()=>{a&&a(l)};if(h&&r)return _`
168
+ `:null,J=S=>{d(!1),s&&s(l,S)},O=()=>{a&&a(l)};if(h&&r)return _`
169
169
  <div class=${I} style="position: relative;">
170
- ${F()}
170
+ ${R()}
171
171
  <${_n}
172
172
  initialContent=${e.content}
173
173
  onSave=${J}
@@ -176,25 +176,25 @@ var ChatWidgetModule=(()=>{var de=Object.defineProperty;var Jt=Object.getOwnProp
176
176
  </div>
177
177
  `;let w=h&&s&&a,C=e.role==="assistant"&&a&&!o;return _`
178
178
  <div class="${I} ${w||C?"cw-message-row-with-actions":""}">
179
- ${F()}
179
+ ${R()}
180
180
  ${w&&_`
181
181
  <div class="cw-user-actions-wrapper">
182
182
  <${Mt}
183
183
  onEdit=${()=>d(!0)}
184
- onRetry=${H}
184
+ onRetry=${O}
185
185
  isLoading=${o}
186
186
  position="left"
187
187
  showEdit=${!0}
188
188
  />
189
- <div class=${j} dangerouslySetInnerHTML=${{__html:O}} />
189
+ <div class=${j} dangerouslySetInnerHTML=${{__html:H}} />
190
190
  </div>
191
191
  `}
192
192
  ${!w&&_`
193
- <div class=${j} dangerouslySetInnerHTML=${{__html:O}} />
193
+ <div class=${j} dangerouslySetInnerHTML=${{__html:H}} />
194
194
  `}
195
195
  ${C&&_`
196
196
  <${Mt}
197
- onRetry=${H}
197
+ onRetry=${O}
198
198
  isLoading=${o}
199
199
  position="right"
200
200
  showEdit=${!1}
@@ -242,7 +242,7 @@ var ChatWidgetModule=(()=>{var de=Object.defineProperty;var Jt=Object.getOwnProp
242
242
  </div>
243
243
  `}
244
244
  </div>
245
- `}var Ue=typeof window<"u"?window.SpeechRecognition||window.webkitSpeechRecognition:null;function It({onSend:e,onCancel:t,isLoading:n,placeholder:s,primaryColor:a,enableVoice:o=!0,enableFiles:l=!0}){let[i,u]=T(""),[c,p]=T([]),[r,d]=T(!1),[h,f]=T(!1),[y]=T(()=>!!Ue),g=Q(null),m=Q(null),k=Q(null),$=Q(!1);V(()=>{!n&&g.current&&g.current.focus()},[n]),V(()=>{g.current&&(g.current.style.height="auto",g.current.style.height=Math.min(g.current.scrollHeight,150)+"px")},[i]),V(()=>()=>{$.current=!1,k.current&&k.current.abort()},[]);let N=b=>{b.preventDefault(),(i.trim()||c.length>0)&&!n&&(e(i,c),u(""),p([]),g.current&&(g.current.style.height="auto"),m.current&&(m.current.value=""))},j=b=>{let L=Array.from(b.target.files||[]);L.length>0&&p(U=>[...U,...L])},I=b=>{p(L=>L.filter((U,v)=>v!==b))},O=b=>{b.preventDefault(),m.current&&!n&&m.current.click()},R=b=>{b.key==="Enter"&&!b.shiftKey&&(b.preventDefault(),N(b))},F=b=>{n&&t&&(b.preventDefault(),t())},J=()=>{if(!Ue||n)return;$.current=!0;let b=new Ue;b.continuous=!0,b.interimResults=!0,b.lang=navigator.language||"en-US";let L=i,U="";b.onstart=()=>{f(!0)},b.onresult=v=>{U="";for(let P=v.resultIndex;P<v.results.length;P++){let B=v.results[P][0].transcript;v.results[P].isFinal?L+=(L?" ":"")+B:U+=B}u(L+(U?" "+U:""))},b.onerror=v=>{if(v.error==="no-speech"||v.error==="aborted"){console.log("[ChatWidget] Speech recognition:",v.error,"- continuing...");return}console.warn("[ChatWidget] Speech recognition error:",v.error),$.current=!1,f(!1),u(L||i)},b.onend=()=>{if($.current){console.log("[ChatWidget] Recognition paused, restarting...");try{b.start();return}catch(v){console.warn("[ChatWidget] Could not restart recognition:",v)}}f(!1),L&&u(L),k.current=null},k.current=b,b.start()},H=()=>{$.current=!1,k.current&&k.current.stop()},w=b=>{b.preventDefault(),h?H():J()},A=_`
245
+ `}var Ue=typeof window<"u"?window.SpeechRecognition||window.webkitSpeechRecognition:null;function It({onSend:e,onCancel:t,isLoading:n,placeholder:s,primaryColor:a,enableVoice:o=!0,enableFiles:l=!0}){let[i,u]=T(""),[c,p]=T([]),[r,d]=T(!1),[h,f]=T(!1),[y]=T(()=>!!Ue),g=Q(null),m=Q(null),k=Q(null),$=Q(!1);V(()=>{!n&&g.current&&g.current.focus()},[n]),V(()=>{g.current&&(g.current.style.height="auto",g.current.style.height=Math.min(g.current.scrollHeight,150)+"px")},[i]),V(()=>()=>{$.current=!1,k.current&&k.current.abort()},[]);let N=b=>{b.preventDefault(),(i.trim()||c.length>0)&&!n&&(e(i,c),u(""),p([]),g.current&&(g.current.style.height="auto"),m.current&&(m.current.value=""))},j=b=>{let L=Array.from(b.target.files||[]);L.length>0&&p(U=>[...U,...L])},I=b=>{p(L=>L.filter((U,v)=>v!==b))},H=b=>{b.preventDefault(),m.current&&!n&&m.current.click()},F=b=>{b.key==="Enter"&&!b.shiftKey&&(b.preventDefault(),N(b))},R=b=>{n&&t&&(b.preventDefault(),t())},J=()=>{if(!Ue||n)return;$.current=!0;let b=new Ue;b.continuous=!0,b.interimResults=!0,b.lang=navigator.language||"en-US";let L=i,U="";b.onstart=()=>{f(!0)},b.onresult=v=>{U="";for(let P=v.resultIndex;P<v.results.length;P++){let B=v.results[P][0].transcript;v.results[P].isFinal?L+=(L?" ":"")+B:U+=B}u(L+(U?" "+U:""))},b.onerror=v=>{if(v.error==="no-speech"||v.error==="aborted"){console.log("[ChatWidget] Speech recognition:",v.error,"- continuing...");return}console.warn("[ChatWidget] Speech recognition error:",v.error),$.current=!1,f(!1),u(L||i)},b.onend=()=>{if($.current){console.log("[ChatWidget] Recognition paused, restarting...");try{b.start();return}catch(v){console.warn("[ChatWidget] Could not restart recognition:",v)}}f(!1),L&&u(L),k.current=null},k.current=b,b.start()},O=()=>{$.current=!1,k.current&&k.current.stop()},w=b=>{b.preventDefault(),h?O():J()},A=_`
246
246
  <svg width="14" height="14" viewBox="0 0 14 14" fill="currentColor">
247
247
  <rect x="2" y="2" width="10" height="10" rx="1" />
248
248
  </svg>
@@ -289,7 +289,7 @@ var ChatWidgetModule=(()=>{var de=Object.defineProperty;var Jt=Object.getOwnProp
289
289
  placeholder=${G(s)}
290
290
  value=${i}
291
291
  onInput=${b=>u(b.target.value)}
292
- onKeyDown=${R}
292
+ onKeyDown=${F}
293
293
  disabled=${n}
294
294
  rows="1"
295
295
  />
@@ -297,7 +297,7 @@ var ChatWidgetModule=(()=>{var de=Object.defineProperty;var Jt=Object.getOwnProp
297
297
  <button
298
298
  type="button"
299
299
  class="cw-attach-btn"
300
- onClick=${O}
300
+ onClick=${H}
301
301
  disabled=${n}
302
302
  title="Attach files"
303
303
  >
@@ -319,7 +319,7 @@ var ChatWidgetModule=(()=>{var de=Object.defineProperty;var Jt=Object.getOwnProp
319
319
  type=${n?"button":"submit"}
320
320
  class=${`cw-send-btn ${n?"cw-send-btn-loading":""} ${n&&r?"cw-send-btn-stop":""}`}
321
321
  style=${{backgroundColor:n&&r?"#dc2626":a}}
322
- onClick=${F}
322
+ onClick=${R}
323
323
  onMouseEnter=${()=>d(!0)}
324
324
  onMouseLeave=${()=>d(!1)}
325
325
  title=${n?"Stop":"Send"}
@@ -491,7 +491,7 @@ var ChatWidgetModule=(()=>{var de=Object.defineProperty;var Jt=Object.getOwnProp
491
491
  `:p.map(r=>c(r))}
492
492
  </div>
493
493
  </div>
494
- `}function Rt({systems:e,agents:t,selectedSystem:n,selectedAgent:s,selectedSystemVersion:a,selectedAgentVersion:o,onSelectSystem:l,onSelectAgent:i,onSelectSystemVersion:u,onSelectAgentVersion:c,disabled:p}){let r=e.find($=>$.slug===n),d=t.find($=>$.slug===s),h=r?.versions||[],f=d?.versions||[];if(e.length===0&&t.length===0)return null;let y=e.length>1,g=t.length>1,m=h.length>1,k=f.length>1;return _`
494
+ `}function Ft({systems:e,agents:t,selectedSystem:n,selectedAgent:s,selectedSystemVersion:a,selectedAgentVersion:o,onSelectSystem:l,onSelectAgent:i,onSelectSystemVersion:u,onSelectAgentVersion:c,disabled:p}){let r=e.find($=>$.slug===n),d=t.find($=>$.slug===s),h=r?.versions||[],f=d?.versions||[];if(e.length===0&&t.length===0)return null;let y=e.length>1,g=t.length>1,m=h.length>1,k=f.length>1;return _`
495
495
  <div class="cw-dev-toolbar">
496
496
  <div class="cw-dev-toolbar-label">
497
497
  <span class="cw-dev-toolbar-icon">🛠️</span>
@@ -584,7 +584,7 @@ var ChatWidgetModule=(()=>{var de=Object.defineProperty;var Jt=Object.getOwnProp
584
584
  </div>
585
585
  </div>
586
586
  </div>
587
- `}function Ft(e,t,n){let[s,a]=T([]),[o,l]=T(!1),[i,u]=T(null),[c,p]=T(()=>n?.get(e.conversationIdKey)||null),[r,d]=T(!1),[h,f]=T(!1),[y,g]=T(0),m=Q(null),k=Q(null);V(()=>{c&&n?.set(e.conversationIdKey,c)},[c,e.conversationIdKey,n]);let $=E(async(w,A,C)=>{m.current&&m.current.close();let M=e.apiPaths.runEvents.replace("{runId}",w),S=`${e.backendUrl}${M}`;A&&(S+=`?anonymous_token=${encodeURIComponent(A)}`);let D=new EventSource(S);m.current=D;let b="";D.addEventListener("assistant.message",U=>{try{let v=JSON.parse(U.data);e.onEvent&&e.onEvent("assistant.message",v.payload);let P=v.payload.content;P&&(b+=P,a(B=>{let X=B[B.length-1];return X?.role==="assistant"&&X.id.startsWith("assistant-stream-")?[...B.slice(0,-1),{...X,content:b}]:[...B,{id:"assistant-stream-"+Date.now(),role:"assistant",content:b,timestamp:new Date,type:"message"}]}))}catch(v){console.error("[ChatWidget] Parse error:",v)}}),D.addEventListener("tool.call",U=>{try{let v=JSON.parse(U.data);e.onEvent&&e.onEvent("tool.call",v.payload),a(P=>[...P,{id:"tool-call-"+Date.now(),role:"assistant",content:`\u{1F527} ${v.payload.name}`,timestamp:new Date,type:"tool_call",metadata:{toolName:v.payload.name,arguments:v.payload.arguments,toolCallId:v.payload.id}}])}catch(v){console.error("[ChatWidget] Parse error:",v)}}),D.addEventListener("tool.result",U=>{try{let v=JSON.parse(U.data);e.onEvent&&e.onEvent("tool.result",v.payload);let P=v.payload.result,B=P?.error;a(X=>[...X,{id:"tool-result-"+Date.now(),role:"system",content:B?`\u274C ${P.error}`:"\u2713 Done",timestamp:new Date,type:"tool_result",metadata:{toolName:v.payload.name,result:P,toolCallId:v.payload.tool_call_id}}])}catch(v){console.error("[ChatWidget] Parse error:",v)}}),D.addEventListener("custom",U=>{try{let v=JSON.parse(U.data);e.onEvent&&e.onEvent("custom",v.payload),v.payload?.type==="ui_control"&&e.onUIControl&&e.onUIControl(v.payload),v.payload?.type==="agent_context"&&a(P=>[...P,{id:"agent-context-"+Date.now(),role:"system",content:`\u{1F517} ${v.payload.agent_name||"Sub-agent"} is now handling this request`,timestamp:new Date,type:"agent_context",metadata:{agentKey:v.payload.agent_key,agentName:v.payload.agent_name,action:v.payload.action}}])}catch(v){console.error("[ChatWidget] Parse error:",v)}}),D.addEventListener("sub_agent.start",U=>{try{let v=JSON.parse(U.data);e.onEvent&&e.onEvent("sub_agent.start",v.payload),a(P=>[...P,{id:"sub-agent-start-"+Date.now(),role:"system",content:`\u{1F517} Delegating to ${v.payload.agent_name||v.payload.sub_agent_key||"sub-agent"}...`,timestamp:new Date,type:"sub_agent_start",metadata:{subAgentKey:v.payload.sub_agent_key,agentName:v.payload.agent_name,invocationMode:v.payload.invocation_mode}}])}catch(v){console.error("[ChatWidget] Parse error:",v)}}),D.addEventListener("sub_agent.end",U=>{try{let v=JSON.parse(U.data);e.onEvent&&e.onEvent("sub_agent.end",v.payload),a(P=>[...P,{id:"sub-agent-end-"+Date.now(),role:"system",content:`\u2713 ${v.payload.agent_name||"Sub-agent"} completed`,timestamp:new Date,type:"sub_agent_end",metadata:{subAgentKey:v.payload.sub_agent_key,agentName:v.payload.agent_name}}])}catch(v){console.error("[ChatWidget] Parse error:",v)}});let L=U=>{try{let v=JSON.parse(U.data);if(e.onEvent&&e.onEvent(v.type,v.payload),v.type==="run.failed"){let P=v.payload.error||"Agent run failed";u(P),a(B=>[...B,{id:"error-"+Date.now(),role:"system",content:`\u274C Error: ${P}`,timestamp:new Date,type:"error"}])}}catch(v){console.error("[ChatWidget] Parse error:",v)}l(!1),D.close(),m.current=null,b&&C&&C(b)};D.addEventListener("run.succeeded",L),D.addEventListener("run.failed",L),D.addEventListener("run.cancelled",L),D.addEventListener("run.timed_out",L),D.onerror=()=>{l(!1),D.close(),m.current=null}},[e]),N=E(async(w,A={},C={})=>{if(!w.trim()||o)return;let M=[],S={};typeof A=="function"?S={onAssistantMessage:A}:Array.isArray(A)?(M=A,S=C):S=A||{};let{model:D,thinking:b,onAssistantMessage:L,supersedeFromMessageIndex:U}=S;l(!0),u(null);let v={id:be(),role:"user",content:w.trim(),timestamp:new Date,type:"message",files:M.length>0?M.map(P=>({name:P.name,size:P.size,type:P.type})):void 0};a(P=>[...P,v]);try{let P=await t.getOrCreateSession(),B;if(M.length>0){let Y=e.apiCaseStyle!=="camel",Be=ue=>Y?Ne(ue):ue,ne=new FormData;ne.append(Be("agentKey"),e.agentKey),c&&ne.append(Be("conversationId"),c),ne.append("messages",JSON.stringify([{role:"user",content:w.trim()}])),ne.append("metadata",JSON.stringify(Y?{...e.metadata,journey_type:e.defaultJourneyType}:{...e.metadata,journeyType:e.defaultJourneyType})),D&&ne.append("model",D),b&&ne.append("thinking","true"),M.forEach(ue=>{ne.append("files",ue)}),B=t.getFetchOptions({method:"POST",body:ne},P)}else{let Y=t.transformRequest({agentKey:e.agentKey,conversationId:c,messages:[{role:"user",content:w.trim()}],metadata:{...e.metadata,journeyType:e.defaultJourneyType},...D&&{model:D},...b&&{thinking:!0},...U!==void 0&&{supersedeFromMessageIndex:U}});B=t.getFetchOptions({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Y)},P)}let X=await fetch(`${e.backendUrl}${e.apiPaths.runs}`,B),x=P;if(X.status===401){t.clearSession();let Y=await t.getOrCreateSession(!0);Y&&(x=Y,M.length>0?B=t.getFetchOptions({method:"POST",body:B.body},Y):B=t.getFetchOptions({method:"POST",headers:{"Content-Type":"application/json"},body:B.body},Y),X=await fetch(`${e.backendUrl}${e.apiPaths.runs}`,B))}if(!X.ok){let Y=await X.json().catch(()=>({}));throw new Error(Y.error||Y.detail||`HTTP ${X.status}`)}let Z=await X.json(),ee=t.transformResponse(Z);k.current=ee.id,!c&&ee.conversationId&&p(ee.conversationId),await $(ee.id,x,L)}catch(P){u(P.message||"Failed to send message"),l(!1)}finally{k.current=null}},[e,t,c,o,$]),j=E(async()=>{let w=k.current;if(!(!w||!o))try{let A=e.apiPaths.cancelRun?e.apiPaths.cancelRun.replace("{runId}",w):`${e.apiPaths.runs}${w}/cancel/`;(await fetch(`${e.backendUrl}${A}`,t.getFetchOptions({method:"POST",headers:{"Content-Type":"application/json"}}))).ok&&(m.current&&(m.current.close(),m.current=null),l(!1),k.current=null,a(M=>[...M,{id:"cancelled-"+Date.now(),role:"system",content:"\u23F9 Run cancelled",timestamp:new Date,type:"cancelled"}]))}catch(A){console.error("[ChatWidget] Failed to cancel run:",A)}},[e,t,o]),I=E(()=>{a([]),p(null),u(null),d(!1),g(0),n?.set(e.conversationIdKey,null)},[e.conversationIdKey,n]),O=w=>{let A={id:be(),role:w.role,timestamp:w.timestamp?new Date(w.timestamp):new Date};if(w.role==="tool")return{...A,role:"system",content:"\u2713 Done",type:"tool_result",metadata:{result:w.content,toolCallId:w.toolCallId}};if(w.role==="assistant"&&w.toolCalls&&w.toolCalls.length>0)return w.toolCalls.map(M=>({id:be(),role:"assistant",content:`\u{1F527} ${M.function?.name||M.name||"tool"}`,timestamp:A.timestamp,type:"tool_call",metadata:{toolName:M.function?.name||M.name,arguments:M.function?.arguments||M.arguments,toolCallId:M.id}}));let C=typeof w.content=="string"?w.content:JSON.stringify(w.content);return w.role==="assistant"&&!C?.trim()?null:{...A,content:C,type:"message"}},R=E(async w=>{console.log("[ChatWidget] loadConversation called with:",w),l(!0),a([]),p(w);try{let A=await t.getOrCreateSession(),M=`${e.backendUrl}${e.apiPaths.conversations}${w}/?limit=10&offset=0`;console.log("[ChatWidget] Fetching conversation from:",M);let S=await fetch(M,t.getFetchOptions({method:"GET"},A));if(console.log("[ChatWidget] Response status:",S.status),S.ok){let D=await S.json();console.log("[ChatWidget] Raw conversation:",D);let b=t.transformResponse(D);if(console.log("[ChatWidget] Transformed conversation:",b),b.messages){let L=b.messages.flatMap(O).filter(Boolean);console.log("[ChatWidget] Mapped messages:",L),a(L)}d(b.hasMore||!1),g(b.messages?.length||0)}else S.status===404?(console.log("[ChatWidget] Conversation not found, clearing"),p(null),n?.set(e.conversationIdKey,null)):console.error("[ChatWidget] Unexpected response status:",S.status)}catch(A){console.error("[ChatWidget] Failed to load conversation:",A)}finally{l(!1)}},[e,t,n]),F=E(async()=>{if(!(!c||h||!r)){f(!0);try{let w=await t.getOrCreateSession(),C=`${e.backendUrl}${e.apiPaths.conversations}${c}/?limit=10&offset=${y}`,M=await fetch(C,t.getFetchOptions({method:"GET"},w));if(M.ok){let S=await M.json(),D=t.transformResponse(S);if(D.messages?.length>0){let b=D.messages.flatMap(O).filter(Boolean);a(L=>[...b,...L]),g(L=>L+D.messages.length),d(D.hasMore||!1)}else d(!1)}}catch(w){console.error("[ChatWidget] Failed to load more messages:",w)}finally{f(!1)}}},[e,t,c,y,h,r]),J=E(async(w,A,C={})=>{if(o)return;let M=s[w];if(!M||M.role!=="user")return;let S=s.slice(0,w);a(S),await N(A,{...C,supersedeFromMessageIndex:w})},[s,o,N]),H=E(async(w,A={})=>{if(o)return;let C=s[w];if(!C)return;let M=w,S=C;if(C.role==="assistant"){for(let b=w-1;b>=0;b--)if(s[b].role==="user"){M=b,S=s[b];break}if(S.role!=="user")return}else if(C.role!=="user")return;let D=s.slice(0,M);a(D),await N(S.content,{...A,supersedeFromMessageIndex:M})},[s,o,N]);return V(()=>()=>{m.current&&m.current.close()},[]),{messages:s,isLoading:o,error:i,conversationId:c,hasMoreMessages:r,loadingMoreMessages:h,sendMessage:N,cancelRun:j,clearMessages:I,loadConversation:R,loadMoreMessages:F,setConversationId:p,editMessage:J,retryMessage:H}}var Ot="cw_thinking_enabled";function Ht(e,t,n){let[s,a]=T([]),[o,l]=T(null),[i,u]=T(null),[c,p]=T(!1),[r,d]=T(!1);V(()=>{(async()=>{if(e.showModelSelector){p(!0);try{let k=await fetch(`${e.backendUrl}${e.apiPaths.models}`,t.getFetchOptions({method:"GET"}));if(k.ok){let $=await k.json(),N=$.models||[];a(N),u($.default);let j=n?.get(e.modelKey);j&&N.some(O=>O.id===j)?l(j):l($.default),n?.get(Ot)==="true"&&d(!0)}}catch(k){console.warn("[ChatWidget] Failed to load models:",k)}finally{p(!1)}}})()},[e.backendUrl,e.apiPaths.models,e.showModelSelector,e.modelKey,t,n]);let h=E(m=>{l(m),n?.set(e.modelKey,m)},[e.modelKey,n]),f=E(m=>{d(m),n?.set(Ot,m?"true":"false")},[n]),y=E(()=>s.find(m=>m.id===o)||null,[s,o]),g=E(()=>y()?.supports_thinking||!1,[y]);return{availableModels:s,selectedModel:o,defaultModel:i,isLoading:c,selectModel:h,getSelectedModelInfo:y,thinkingEnabled:r,toggleThinking:f,supportsThinking:g}}function Lt(e,t){let[n,s]=T(null),[a,o]=T(!1),[l,i]=T(null),u=e.apiPaths?.tasks||"/api/agent/tasks/",c=E(async()=>{o(!0),i(null);try{let y=`${e.backendUrl}${u}`,g=await fetch(y,t.getFetchOptions({method:"GET"}));if(g.ok){let m=await g.json();s(m)}else{let m=await g.json().catch(()=>({}));i(m.error||"Failed to load tasks")}}catch(y){console.error("[useTasks] Failed to load task list:",y),i("Failed to load tasks")}finally{o(!1)}},[e.backendUrl,u,t]),p=E(async y=>{if(!n)return null;try{let g=`${e.backendUrl}${u}${n.id}/add_task/`,m=await fetch(g,t.getFetchOptions({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(y)}));if(m.ok){let k=await m.json();return await c(),k}else{let k=await m.json().catch(()=>({}));return i(k.error||"Failed to add task"),null}}catch(g){return console.error("[useTasks] Failed to add task:",g),i("Failed to add task"),null}},[e.backendUrl,u,n,t,c]),r=E(async(y,g)=>{if(!n)return null;try{let m=`${e.backendUrl}${u}${n.id}/update_task/${y}/`,k=await fetch(m,t.getFetchOptions({method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(g)}));if(k.ok){let $=await k.json();return await c(),$}else{let $=await k.json().catch(()=>({}));return i($.error||"Failed to update task"),null}}catch(m){return console.error("[useTasks] Failed to update task:",m),i("Failed to update task"),null}},[e.backendUrl,u,n,t,c]),d=E(async y=>{if(!n)return!1;try{let g=`${e.backendUrl}${u}${n.id}/remove_task/${y}/`,m=await fetch(g,t.getFetchOptions({method:"DELETE"}));if(m.ok)return await c(),!0;{let k=await m.json().catch(()=>({}));return i(k.error||"Failed to remove task"),!1}}catch(g){return console.error("[useTasks] Failed to remove task:",g),i("Failed to remove task"),!1}},[e.backendUrl,u,n,t,c]),h=E(async()=>{if(!n)return!1;try{let y=`${e.backendUrl}${u}${n.id}/clear/`,g=await fetch(y,t.getFetchOptions({method:"POST"}));if(g.ok)return await c(),!0;{let m=await g.json().catch(()=>({}));return i(m.error||"Failed to clear tasks"),!1}}catch(y){return console.error("[useTasks] Failed to clear tasks:",y),i("Failed to clear tasks"),!1}},[e.backendUrl,u,n,t,c]),f=E(()=>i(null),[]);return{taskList:n,tasks:n?.tasks||[],progress:n?.progress||{total:0,completed:0,percent_complete:0},isLoading:a,error:l,loadTaskList:c,addTask:p,updateTask:r,removeTask:d,clearTasks:h,clearError:f}}var Nt="cw_selected_system",We="cw_selected_agent",Kt="cw_selected_system_version",Te="cw_selected_agent_version";function Ut(e,t,n){let[s,a]=T([]),[o,l]=T([]),[i,u]=T(null),[c,p]=T(null),[r,d]=T(null),[h,f]=T(null),[y,g]=T(!1),m=E(()=>{if(c)return c;if(i){let I=s.find(O=>O.slug===i);if(I?.entry_agent)return I.entry_agent.slug}return e.agentKey},[c,i,s,e.agentKey]);V(()=>{if(!e.showDevTools)return;(async()=>{g(!0);try{let O=await fetch(`${e.backendUrl}${e.apiPaths.systems}`,t.getFetchOptions({method:"GET"}));if(O.ok){let R=await O.json(),F=R.results||R;a(F);let J=n?.get(Nt);J&&F.some(H=>H.slug===J)?u(J):F.length===1&&u(F[0].slug)}}catch(O){console.warn("[ChatWidget] Failed to load systems:",O)}finally{g(!1)}})()},[e.backendUrl,e.apiPaths.systems,e.showDevTools,t,n]),V(()=>{if(!e.showDevTools)return;(async()=>{try{let O=i?`?system=${encodeURIComponent(i)}`:"",R=await fetch(`${e.backendUrl}${e.apiPaths.agents}${O}`,t.getFetchOptions({method:"GET"}));if(R.ok){let F=await R.json(),J=F.results||F;l(J);let H=n?.get(We);if(H&&J.some(A=>A.slug===H))p(H);else if(i){let A=s.find(C=>C.slug===i);A?.entry_agent&&p(A.entry_agent.slug)}let w=n?.get(Te);w&&f(w)}}catch(O){console.warn("[ChatWidget] Failed to load agents:",O)}})()},[e.backendUrl,e.apiPaths.agents,e.showDevTools,i,t,n,s]);let k=E(I=>{u(I),n?.set(Nt,I),p(null),f(null),n?.set(We,null),n?.set(Te,null);let R=s.find(F=>F.slug===I)?.active_version||null;d(R),n?.set(Kt,R)},[n,s]),$=E(I=>{p(I),n?.set(We,I);let R=o.find(F=>F.slug===I)?.active_version||null;f(R),n?.set(Te,R)},[n,o]),N=E(I=>{d(I),n?.set(Kt,I)},[n]),j=E(I=>{f(I),n?.set(Te,I)},[n]);return{systems:s,agents:o,selectedSystem:i,selectedAgent:c,selectedSystemVersion:r,selectedAgentVersion:h,isLoading:y,selectSystem:k,selectAgent:$,selectSystemVersion:N,selectAgentVersion:j,getEffectiveAgentKey:m}}function Wt(e,t,n){let s=p=>!p||typeof p!="object"||e.apiCaseStyle==="camel"?p:ke(p),a=p=>!p||typeof p!="object"||e.apiCaseStyle==="snake"?p:we(p),o=()=>e.authStrategy?e.authStrategy:e.authToken?"token":e.apiPaths.anonymousSession||e.anonymousSessionEndpoint?"anonymous":"none",l=(p=null)=>{let r=o(),d={},h=p||e.authToken||t().authToken;if(r==="token"&&h){let f=e.authHeader||"Authorization",y=e.authTokenPrefix!==void 0?e.authTokenPrefix:"Token";d[f]=y?`${y} ${h}`:h}else if(r==="jwt"&&h){let f=e.authHeader||"Authorization",y=e.authTokenPrefix!==void 0?e.authTokenPrefix:"Bearer";d[f]=y?`${y} ${h}`:h}else if(r==="anonymous"&&h){let f=e.authHeader||e.anonymousTokenHeader||"X-Anonymous-Token";d[f]=h}if(r==="session"){let f=Ct(e.csrfCookieName);f&&(d["X-CSRFToken"]=f)}return d};return{getAuthStrategy:o,getAuthHeaders:l,getFetchOptions:(p={},r=null)=>{let d=o(),h={...p},f=l(r);return console.log("[ChatWidget] getFetchOptions - strategy:",d,"overrideToken:",r,"authHeaders:",f),h.headers={...h.headers,...f},d==="session"&&(h.credentials="include"),h},getOrCreateSession:async(p=!1)=>{let r=o(),d=t(),h=e.anonymousTokenKey||e.sessionTokenKey;if(r!=="anonymous")return e.authToken||d.authToken;if(!p){if(d.authToken)return d.authToken;let f=d.storage?.get(h);if(f)return n(y=>({...y,authToken:f})),f}try{let f=e.anonymousSessionEndpoint||e.apiPaths.anonymousSession,y=await fetch(`${e.backendUrl}${f}`,{method:"POST",headers:{"Content-Type":"application/json"}});if(y.ok){let g=await y.json();return n(m=>({...m,authToken:g.token})),d.storage?.set(h,g.token),g.token}}catch(f){console.warn("[ChatWidget] Failed to create session:",f)}return null},clearSession:()=>{let p=e.anonymousTokenKey||e.sessionTokenKey,r=t();n(d=>({...d,authToken:null})),r.storage?.set(p,null)},transformRequest:s,transformResponse:a}}function Vt({config:e,onStateChange:t,markdownParser:n,apiRef:s}){console.log("[ChatWidget] Config:",{showConversationSidebar:e.showConversationSidebar,apiPaths:e.apiPaths});let[a,o]=T(e.embedded||e.forceOpen===!0),[l,i]=T(!1),[u,c]=T(!1),[p,r]=T(!1),[d,h]=T([]),[f,y]=T("chat"),[g,m]=T(!1),[k,$]=T(e.enableTTS),[N,j]=T(!1),[I,O]=T(null);V(()=>{e.forceOpen!==void 0&&o(e.forceOpen)},[e.forceOpen]);let R=ae(()=>bt(e.containerId),[e.containerId]),[F,J]=T(e.authToken||null),H=ae(()=>Wt(e,()=>({authToken:F,storage:R}),ee=>{let Y=ee({authToken:F,storage:R});Y.authToken!==F&&J(Y.authToken)}),[e,F,R]),w=Ut(e,H,R),A=ae(()=>{if(!e.showDevTools)return e;let x=w.getEffectiveAgentKey();return x&&x!==e.agentKey?{...e,agentKey:x}:e},[e,w.getEffectiveAgentKey]),C=Ft(A,H,R),M=Ht(e,H,R),S=Lt(e,H);V(()=>{for(let x=C.messages.length-1;x>=0;x--){let Z=C.messages[x];if(Z.type==="sub_agent_start"){O({key:Z.metadata?.subAgentKey,name:Z.metadata?.agentName});return}if(Z.type==="sub_agent_end"){O(null);return}}},[C.messages]),V(()=>{let x=R.get(e.conversationIdKey);console.log("[ChatWidget] Initial load - storedConvId:",x,"key:",e.conversationIdKey),console.log("[ChatWidget] apiPaths.conversations:",e.apiPaths.conversations),x&&(console.log("[ChatWidget] Loading conversation:",x),C.loadConversation(x))},[]),V(()=>{t&&t({isOpen:a,isExpanded:l,debugMode:u,messages:C.messages,conversationId:C.conversationId,isLoading:C.isLoading,error:C.error})},[a,l,u,C.messages,C.conversationId,C.isLoading,C.error]);let D=E(async()=>{if(e.showConversationSidebar){m(!0);try{let x=A.agentKey,Z=`${e.backendUrl}${e.apiPaths.conversations}?agent_key=${encodeURIComponent(x)}`,ee=await fetch(Z,H.getFetchOptions({method:"GET"}));if(ee.ok){let Y=await ee.json();h(Y.results||Y)}}catch(x){console.error("[ChatWidget] Failed to load conversations:",x),h([])}finally{m(!1)}}},[e,A,H]),b=E(()=>{let x=!p;r(x),x&&D()},[p,D]),L=E(x=>{x!==C.conversationId&&C.loadConversation(x),r(!1)},[C]),U=E(()=>{C.clearMessages(),r(!1)},[C]),v=E(x=>{C.sendMessage(x,{model:M.selectedModel,thinking:M.thinkingEnabled&&M.supportsThinking(),onAssistantMessage:Z=>{}})},[C,k,M.selectedModel,M.thinkingEnabled,M.supportsThinking]),P=E(x=>{y(x),x==="tasks"&&S.loadTaskList()},[S]);if(V(()=>{s&&(s.current={open:()=>o(!0),close:()=>o(!1),send:x=>v(x),clearMessages:()=>C.clearMessages(),toggleTTS:()=>$(x=>!x),stopSpeech:()=>j(!1),setAuth:x=>{x.token!==void 0&&J(x.token)},clearAuth:()=>J(null)})},[C,s,v]),!e.embedded&&!a)return _`
587
+ `}function Rt(e,t,n){let[s,a]=T([]),[o,l]=T(!1),[i,u]=T(null),[c,p]=T(()=>n?.get(e.conversationIdKey)||null),[r,d]=T(!1),[h,f]=T(!1),[y,g]=T(0),m=Q(null),k=Q(null);V(()=>{c&&n?.set(e.conversationIdKey,c)},[c,e.conversationIdKey,n]);let $=E(async(w,A,C)=>{m.current&&m.current.close();let M=e.apiPaths.runEvents.replace("{runId}",w),S=`${e.backendUrl}${M}`;A&&(S+=`?anonymous_token=${encodeURIComponent(A)}`);let D=new EventSource(S);m.current=D;let b="";D.addEventListener("assistant.message",U=>{try{let v=JSON.parse(U.data);e.onEvent&&e.onEvent("assistant.message",v.payload);let P=v.payload.content;P&&(b+=P,a(B=>{let X=B[B.length-1];return X?.role==="assistant"&&X.id.startsWith("assistant-stream-")?[...B.slice(0,-1),{...X,content:b}]:[...B,{id:"assistant-stream-"+Date.now(),role:"assistant",content:b,timestamp:new Date,type:"message"}]}))}catch(v){console.error("[ChatWidget] Parse error:",v)}}),D.addEventListener("tool.call",U=>{try{let v=JSON.parse(U.data);e.onEvent&&e.onEvent("tool.call",v.payload),a(P=>[...P,{id:"tool-call-"+Date.now(),role:"assistant",content:`\u{1F527} ${v.payload.name}`,timestamp:new Date,type:"tool_call",metadata:{toolName:v.payload.name,arguments:v.payload.arguments,toolCallId:v.payload.id}}])}catch(v){console.error("[ChatWidget] Parse error:",v)}}),D.addEventListener("tool.result",U=>{try{let v=JSON.parse(U.data);e.onEvent&&e.onEvent("tool.result",v.payload);let P=v.payload.result,B=P?.error;a(X=>[...X,{id:"tool-result-"+Date.now(),role:"system",content:B?`\u274C ${P.error}`:"\u2713 Done",timestamp:new Date,type:"tool_result",metadata:{toolName:v.payload.name,result:P,toolCallId:v.payload.tool_call_id}}])}catch(v){console.error("[ChatWidget] Parse error:",v)}}),D.addEventListener("custom",U=>{try{let v=JSON.parse(U.data);e.onEvent&&e.onEvent("custom",v.payload),v.payload?.type==="ui_control"&&e.onUIControl&&e.onUIControl(v.payload),v.payload?.type==="agent_context"&&a(P=>[...P,{id:"agent-context-"+Date.now(),role:"system",content:`\u{1F517} ${v.payload.agent_name||"Sub-agent"} is now handling this request`,timestamp:new Date,type:"agent_context",metadata:{agentKey:v.payload.agent_key,agentName:v.payload.agent_name,action:v.payload.action}}])}catch(v){console.error("[ChatWidget] Parse error:",v)}}),D.addEventListener("sub_agent.start",U=>{try{let v=JSON.parse(U.data);e.onEvent&&e.onEvent("sub_agent.start",v.payload),a(P=>[...P,{id:"sub-agent-start-"+Date.now(),role:"system",content:`\u{1F517} Delegating to ${v.payload.agent_name||v.payload.sub_agent_key||"sub-agent"}...`,timestamp:new Date,type:"sub_agent_start",metadata:{subAgentKey:v.payload.sub_agent_key,agentName:v.payload.agent_name,invocationMode:v.payload.invocation_mode}}])}catch(v){console.error("[ChatWidget] Parse error:",v)}}),D.addEventListener("sub_agent.end",U=>{try{let v=JSON.parse(U.data);e.onEvent&&e.onEvent("sub_agent.end",v.payload),a(P=>[...P,{id:"sub-agent-end-"+Date.now(),role:"system",content:`\u2713 ${v.payload.agent_name||"Sub-agent"} completed`,timestamp:new Date,type:"sub_agent_end",metadata:{subAgentKey:v.payload.sub_agent_key,agentName:v.payload.agent_name}}])}catch(v){console.error("[ChatWidget] Parse error:",v)}});let L=U=>{try{let v=JSON.parse(U.data);if(e.onEvent&&e.onEvent(v.type,v.payload),v.type==="run.failed"){let P=v.payload.error||"Agent run failed";u(P),a(B=>[...B,{id:"error-"+Date.now(),role:"system",content:`\u274C Error: ${P}`,timestamp:new Date,type:"error"}])}}catch(v){console.error("[ChatWidget] Parse error:",v)}l(!1),D.close(),m.current=null,b&&C&&C(b)};D.addEventListener("run.succeeded",L),D.addEventListener("run.failed",L),D.addEventListener("run.cancelled",L),D.addEventListener("run.timed_out",L),D.onerror=()=>{l(!1),D.close(),m.current=null}},[e]),N=E(async(w,A={},C={})=>{if(!w.trim()||o)return;let M=[],S={};typeof A=="function"?S={onAssistantMessage:A}:Array.isArray(A)?(M=A,S=C):S=A||{};let{model:D,thinking:b,onAssistantMessage:L,supersedeFromMessageIndex:U}=S;l(!0),u(null);let v={id:be(),role:"user",content:w.trim(),timestamp:new Date,type:"message",files:M.length>0?M.map(P=>({name:P.name,size:P.size,type:P.type})):void 0};a(P=>[...P,v]);try{let P=await t.getOrCreateSession(),B;if(M.length>0){let Y=e.apiCaseStyle!=="camel",Be=ue=>Y?Ne(ue):ue,ne=new FormData;ne.append(Be("agentKey"),e.agentKey),c&&ne.append(Be("conversationId"),c),ne.append("messages",JSON.stringify([{role:"user",content:w.trim()}])),ne.append("metadata",JSON.stringify(Y?{...e.metadata,journey_type:e.defaultJourneyType}:{...e.metadata,journeyType:e.defaultJourneyType})),D&&ne.append("model",D),b&&ne.append("thinking","true"),M.forEach(ue=>{ne.append("files",ue)}),B=t.getFetchOptions({method:"POST",body:ne},P)}else{let Y=t.transformRequest({agentKey:e.agentKey,conversationId:c,messages:[{role:"user",content:w.trim()}],metadata:{...e.metadata,journeyType:e.defaultJourneyType},...D&&{model:D},...b&&{thinking:!0},...U!==void 0&&{supersedeFromMessageIndex:U}});B=t.getFetchOptions({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Y)},P)}let X=await fetch(`${e.backendUrl}${e.apiPaths.runs}`,B),x=P;if(X.status===401){t.clearSession();let Y=await t.getOrCreateSession(!0);Y&&(x=Y,M.length>0?B=t.getFetchOptions({method:"POST",body:B.body},Y):B=t.getFetchOptions({method:"POST",headers:{"Content-Type":"application/json"},body:B.body},Y),X=await fetch(`${e.backendUrl}${e.apiPaths.runs}`,B))}if(!X.ok){let Y=await X.json().catch(()=>({}));throw new Error(Y.error||Y.detail||`HTTP ${X.status}`)}let Z=await X.json(),ee=t.transformResponse(Z);k.current=ee.id,!c&&ee.conversationId&&p(ee.conversationId),await $(ee.id,x,L)}catch(P){u(P.message||"Failed to send message"),l(!1)}finally{k.current=null}},[e,t,c,o,$]),j=E(async()=>{let w=k.current;if(!(!w||!o))try{let A=e.apiPaths.cancelRun?e.apiPaths.cancelRun.replace("{runId}",w):`${e.apiPaths.runs}${w}/cancel/`;(await fetch(`${e.backendUrl}${A}`,t.getFetchOptions({method:"POST",headers:{"Content-Type":"application/json"}}))).ok&&(m.current&&(m.current.close(),m.current=null),l(!1),k.current=null,a(M=>[...M,{id:"cancelled-"+Date.now(),role:"system",content:"\u23F9 Run cancelled",timestamp:new Date,type:"cancelled"}]))}catch(A){console.error("[ChatWidget] Failed to cancel run:",A)}},[e,t,o]),I=E(()=>{a([]),p(null),u(null),d(!1),g(0),n?.set(e.conversationIdKey,null)},[e.conversationIdKey,n]),H=w=>{let A={id:be(),role:w.role,timestamp:w.timestamp?new Date(w.timestamp):new Date};if(w.role==="tool")return{...A,role:"system",content:"\u2713 Done",type:"tool_result",metadata:{result:w.content,toolCallId:w.toolCallId}};if(w.role==="assistant"&&w.toolCalls&&w.toolCalls.length>0)return w.toolCalls.map(M=>({id:be(),role:"assistant",content:`\u{1F527} ${M.function?.name||M.name||"tool"}`,timestamp:A.timestamp,type:"tool_call",metadata:{toolName:M.function?.name||M.name,arguments:M.function?.arguments||M.arguments,toolCallId:M.id}}));let C=typeof w.content=="string"?w.content:JSON.stringify(w.content);return w.role==="assistant"&&!C?.trim()?null:{...A,content:C,type:"message"}},F=E(async w=>{console.log("[ChatWidget] loadConversation called with:",w),l(!0),a([]),p(w);try{let A=await t.getOrCreateSession(),M=`${e.backendUrl}${e.apiPaths.conversations}${w}/?limit=10&offset=0`;console.log("[ChatWidget] Fetching conversation from:",M);let S=await fetch(M,t.getFetchOptions({method:"GET"},A));if(console.log("[ChatWidget] Response status:",S.status),S.ok){let D=await S.json();console.log("[ChatWidget] Raw conversation:",D);let b=t.transformResponse(D);if(console.log("[ChatWidget] Transformed conversation:",b),b.messages){let L=b.messages.flatMap(H).filter(Boolean);console.log("[ChatWidget] Mapped messages:",L),a(L)}d(b.hasMore||!1),g(b.messages?.length||0)}else S.status===404?(console.log("[ChatWidget] Conversation not found, clearing"),p(null),n?.set(e.conversationIdKey,null)):console.error("[ChatWidget] Unexpected response status:",S.status)}catch(A){console.error("[ChatWidget] Failed to load conversation:",A)}finally{l(!1)}},[e,t,n]),R=E(async()=>{if(!(!c||h||!r)){f(!0);try{let w=await t.getOrCreateSession(),C=`${e.backendUrl}${e.apiPaths.conversations}${c}/?limit=10&offset=${y}`,M=await fetch(C,t.getFetchOptions({method:"GET"},w));if(M.ok){let S=await M.json(),D=t.transformResponse(S);if(D.messages?.length>0){let b=D.messages.flatMap(H).filter(Boolean);a(L=>[...b,...L]),g(L=>L+D.messages.length),d(D.hasMore||!1)}else d(!1)}}catch(w){console.error("[ChatWidget] Failed to load more messages:",w)}finally{f(!1)}}},[e,t,c,y,h,r]),J=E(async(w,A,C={})=>{if(o)return;let M=s[w];if(!M||M.role!=="user")return;let S=s.slice(0,w);a(S),await N(A,{...C,supersedeFromMessageIndex:w})},[s,o,N]),O=E(async(w,A={})=>{if(o)return;let C=s[w];if(!C)return;let M=w,S=C;if(C.role==="assistant"){for(let b=w-1;b>=0;b--)if(s[b].role==="user"){M=b,S=s[b];break}if(S.role!=="user")return}else if(C.role!=="user")return;let D=s.slice(0,M);a(D),await N(S.content,{...A,supersedeFromMessageIndex:M})},[s,o,N]);return V(()=>()=>{m.current&&m.current.close()},[]),{messages:s,isLoading:o,error:i,conversationId:c,hasMoreMessages:r,loadingMoreMessages:h,sendMessage:N,cancelRun:j,clearMessages:I,loadConversation:F,loadMoreMessages:R,setConversationId:p,editMessage:J,retryMessage:O}}var Ht="cw_thinking_enabled";function Ot(e,t,n){let[s,a]=T([]),[o,l]=T(null),[i,u]=T(null),[c,p]=T(!1),[r,d]=T(!1);V(()=>{(async()=>{if(e.showModelSelector){p(!0);try{let k=await fetch(`${e.backendUrl}${e.apiPaths.models}`,t.getFetchOptions({method:"GET"}));if(k.ok){let $=await k.json(),N=$.models||[];a(N),u($.default);let j=n?.get(e.modelKey);j&&N.some(H=>H.id===j)?l(j):l($.default),n?.get(Ht)==="true"&&d(!0)}}catch(k){console.warn("[ChatWidget] Failed to load models:",k)}finally{p(!1)}}})()},[e.backendUrl,e.apiPaths.models,e.showModelSelector,e.modelKey,t,n]);let h=E(m=>{l(m),n?.set(e.modelKey,m)},[e.modelKey,n]),f=E(m=>{d(m),n?.set(Ht,m?"true":"false")},[n]),y=E(()=>s.find(m=>m.id===o)||null,[s,o]),g=E(()=>y()?.supports_thinking||!1,[y]);return{availableModels:s,selectedModel:o,defaultModel:i,isLoading:c,selectModel:h,getSelectedModelInfo:y,thinkingEnabled:r,toggleThinking:f,supportsThinking:g}}function Lt(e,t){let[n,s]=T(null),[a,o]=T(!1),[l,i]=T(null),u=e.apiPaths?.tasks||"/api/agent/tasks/",c=E(async()=>{o(!0),i(null);try{let y=`${e.backendUrl}${u}`,g=await fetch(y,t.getFetchOptions({method:"GET"}));if(g.ok){let m=await g.json();s(m)}else{let m=await g.json().catch(()=>({}));i(m.error||"Failed to load tasks")}}catch(y){console.error("[useTasks] Failed to load task list:",y),i("Failed to load tasks")}finally{o(!1)}},[e.backendUrl,u,t]),p=E(async y=>{if(!n)return null;try{let g=`${e.backendUrl}${u}${n.id}/add_task/`,m=await fetch(g,t.getFetchOptions({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(y)}));if(m.ok){let k=await m.json();return await c(),k}else{let k=await m.json().catch(()=>({}));return i(k.error||"Failed to add task"),null}}catch(g){return console.error("[useTasks] Failed to add task:",g),i("Failed to add task"),null}},[e.backendUrl,u,n,t,c]),r=E(async(y,g)=>{if(!n)return null;try{let m=`${e.backendUrl}${u}${n.id}/update_task/${y}/`,k=await fetch(m,t.getFetchOptions({method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(g)}));if(k.ok){let $=await k.json();return await c(),$}else{let $=await k.json().catch(()=>({}));return i($.error||"Failed to update task"),null}}catch(m){return console.error("[useTasks] Failed to update task:",m),i("Failed to update task"),null}},[e.backendUrl,u,n,t,c]),d=E(async y=>{if(!n)return!1;try{let g=`${e.backendUrl}${u}${n.id}/remove_task/${y}/`,m=await fetch(g,t.getFetchOptions({method:"DELETE"}));if(m.ok)return await c(),!0;{let k=await m.json().catch(()=>({}));return i(k.error||"Failed to remove task"),!1}}catch(g){return console.error("[useTasks] Failed to remove task:",g),i("Failed to remove task"),!1}},[e.backendUrl,u,n,t,c]),h=E(async()=>{if(!n)return!1;try{let y=`${e.backendUrl}${u}${n.id}/clear/`,g=await fetch(y,t.getFetchOptions({method:"POST"}));if(g.ok)return await c(),!0;{let m=await g.json().catch(()=>({}));return i(m.error||"Failed to clear tasks"),!1}}catch(y){return console.error("[useTasks] Failed to clear tasks:",y),i("Failed to clear tasks"),!1}},[e.backendUrl,u,n,t,c]),f=E(()=>i(null),[]);return{taskList:n,tasks:n?.tasks||[],progress:n?.progress||{total:0,completed:0,percent_complete:0},isLoading:a,error:l,loadTaskList:c,addTask:p,updateTask:r,removeTask:d,clearTasks:h,clearError:f}}var Nt="cw_selected_system",We="cw_selected_agent",Kt="cw_selected_system_version",Te="cw_selected_agent_version";function Ut(e,t,n){let[s,a]=T([]),[o,l]=T([]),[i,u]=T(null),[c,p]=T(null),[r,d]=T(null),[h,f]=T(null),[y,g]=T(!1),m=E(()=>{if(c)return c;if(i){let I=s.find(H=>H.slug===i);if(I?.entry_agent)return I.entry_agent.slug}return e.agentKey},[c,i,s,e.agentKey]);V(()=>{if(!e.showDevTools)return;(async()=>{g(!0);try{let H=await fetch(`${e.backendUrl}${e.apiPaths.systems}`,t.getFetchOptions({method:"GET"}));if(H.ok){let F=await H.json(),R=F.results||F;a(R);let J=n?.get(Nt);J&&R.some(O=>O.slug===J)?u(J):R.length===1&&u(R[0].slug)}}catch(H){console.warn("[ChatWidget] Failed to load systems:",H)}finally{g(!1)}})()},[e.backendUrl,e.apiPaths.systems,e.showDevTools,t,n]),V(()=>{if(!e.showDevTools)return;(async()=>{try{let H=i?`?system=${encodeURIComponent(i)}`:"",F=await fetch(`${e.backendUrl}${e.apiPaths.agents}${H}`,t.getFetchOptions({method:"GET"}));if(F.ok){let R=await F.json(),J=R.results||R;l(J);let O=n?.get(We);if(O&&J.some(A=>A.slug===O))p(O);else if(i){let A=s.find(C=>C.slug===i);A?.entry_agent&&p(A.entry_agent.slug)}let w=n?.get(Te);w&&f(w)}}catch(H){console.warn("[ChatWidget] Failed to load agents:",H)}})()},[e.backendUrl,e.apiPaths.agents,e.showDevTools,i,t,n,s]);let k=E(I=>{u(I),n?.set(Nt,I),p(null),f(null),n?.set(We,null),n?.set(Te,null);let F=s.find(R=>R.slug===I)?.active_version||null;d(F),n?.set(Kt,F)},[n,s]),$=E(I=>{p(I),n?.set(We,I);let F=o.find(R=>R.slug===I)?.active_version||null;f(F),n?.set(Te,F)},[n,o]),N=E(I=>{d(I),n?.set(Kt,I)},[n]),j=E(I=>{f(I),n?.set(Te,I)},[n]);return{systems:s,agents:o,selectedSystem:i,selectedAgent:c,selectedSystemVersion:r,selectedAgentVersion:h,isLoading:y,selectSystem:k,selectAgent:$,selectSystemVersion:N,selectAgentVersion:j,getEffectiveAgentKey:m}}function Wt(e,t,n){let s=p=>!p||typeof p!="object"||e.apiCaseStyle==="camel"?p:ke(p),a=p=>!p||typeof p!="object"||e.apiCaseStyle==="snake"?p:we(p),o=()=>e.authStrategy?e.authStrategy:e.authToken?"token":e.apiPaths.anonymousSession||e.anonymousSessionEndpoint?"anonymous":"none",l=(p=null)=>{let r=o(),d={},h=p||e.authToken||t().authToken;if(r==="token"&&h){let f=e.authHeader||"Authorization",y=e.authTokenPrefix!==void 0?e.authTokenPrefix:"Token";d[f]=y?`${y} ${h}`:h}else if(r==="jwt"&&h){let f=e.authHeader||"Authorization",y=e.authTokenPrefix!==void 0?e.authTokenPrefix:"Bearer";d[f]=y?`${y} ${h}`:h}else if(r==="anonymous"&&h){let f=e.authHeader||e.anonymousTokenHeader||"X-Anonymous-Token";d[f]=h}if(r==="session"){let f=Ct(e.csrfCookieName);f&&(d["X-CSRFToken"]=f)}return d};return{getAuthStrategy:o,getAuthHeaders:l,getFetchOptions:(p={},r=null)=>{let d=o(),h={...p},f=l(r);return console.log("[ChatWidget] getFetchOptions - strategy:",d,"overrideToken:",r,"authHeaders:",f),h.headers={...h.headers,...f},d==="session"&&(h.credentials="include"),h},getOrCreateSession:async(p=!1)=>{let r=o(),d=t(),h=e.anonymousTokenKey||e.sessionTokenKey;if(r!=="anonymous")return e.authToken||d.authToken;if(!p){if(d.authToken)return d.authToken;let f=d.storage?.get(h);if(f)return n(y=>({...y,authToken:f})),f}try{let f=e.anonymousSessionEndpoint||e.apiPaths.anonymousSession,y=await fetch(`${e.backendUrl}${f}`,{method:"POST",headers:{"Content-Type":"application/json"}});if(y.ok){let g=await y.json();return n(m=>({...m,authToken:g.token})),d.storage?.set(h,g.token),g.token}}catch(f){console.warn("[ChatWidget] Failed to create session:",f)}return null},clearSession:()=>{let p=e.anonymousTokenKey||e.sessionTokenKey,r=t();n(d=>({...d,authToken:null})),r.storage?.set(p,null)},transformRequest:s,transformResponse:a}}function Vt({config:e,onStateChange:t,markdownParser:n,apiRef:s}){console.log("[ChatWidget] Config:",{showConversationSidebar:e.showConversationSidebar,apiPaths:e.apiPaths});let[a,o]=T(e.embedded||e.forceOpen===!0),[l,i]=T(!1),[u,c]=T(!1),[p,r]=T(!1),[d,h]=T([]),[f,y]=T("chat"),[g,m]=T(!1),[k,$]=T(e.enableTTS),[N,j]=T(!1),[I,H]=T(null);V(()=>{e.forceOpen!==void 0&&o(e.forceOpen)},[e.forceOpen]);let F=ae(()=>bt(e.containerId),[e.containerId]),[R,J]=T(e.authToken||null),O=ae(()=>Wt(e,()=>({authToken:R,storage:F}),ee=>{let Y=ee({authToken:R,storage:F});Y.authToken!==R&&J(Y.authToken)}),[e,R,F]),w=Ut(e,O,F),A=ae(()=>{if(!e.showDevTools)return e;let x=w.getEffectiveAgentKey();return x&&x!==e.agentKey?{...e,agentKey:x}:e},[e,w.getEffectiveAgentKey]),C=Rt(A,O,F),M=Ot(e,O,F),S=Lt(e,O);V(()=>{for(let x=C.messages.length-1;x>=0;x--){let Z=C.messages[x];if(Z.type==="sub_agent_start"){H({key:Z.metadata?.subAgentKey,name:Z.metadata?.agentName});return}if(Z.type==="sub_agent_end"){H(null);return}}},[C.messages]),V(()=>{let x=F.get(e.conversationIdKey);console.log("[ChatWidget] Initial load - storedConvId:",x,"key:",e.conversationIdKey),console.log("[ChatWidget] apiPaths.conversations:",e.apiPaths.conversations),x&&(console.log("[ChatWidget] Loading conversation:",x),C.loadConversation(x))},[]),V(()=>{t&&t({isOpen:a,isExpanded:l,debugMode:u,messages:C.messages,conversationId:C.conversationId,isLoading:C.isLoading,error:C.error})},[a,l,u,C.messages,C.conversationId,C.isLoading,C.error]);let D=E(async()=>{if(e.showConversationSidebar){m(!0);try{let x=A.agentKey,Z=`${e.backendUrl}${e.apiPaths.conversations}?agent_key=${encodeURIComponent(x)}`,ee=await fetch(Z,O.getFetchOptions({method:"GET"}));if(ee.ok){let Y=await ee.json();h(Y.results||Y)}}catch(x){console.error("[ChatWidget] Failed to load conversations:",x),h([])}finally{m(!1)}}},[e,A,O]),b=E(()=>{let x=!p;r(x),x&&D()},[p,D]),L=E(x=>{x!==C.conversationId&&C.loadConversation(x),r(!1)},[C]),U=E(()=>{C.clearMessages(),r(!1)},[C]),v=E(x=>{C.sendMessage(x,{model:M.selectedModel,thinking:M.thinkingEnabled&&M.supportsThinking(),onAssistantMessage:Z=>{}})},[C,k,M.selectedModel,M.thinkingEnabled,M.supportsThinking]),P=E(x=>{y(x),x==="tasks"&&S.loadTaskList()},[S]);if(V(()=>{s&&(s.current={open:()=>o(!0),close:()=>o(!1),send:x=>v(x),clearMessages:()=>C.clearMessages(),toggleTTS:()=>$(x=>!x),stopSpeech:()=>j(!1),setAuth:x=>{x.token!==void 0&&J(x.token)},clearAuth:()=>J(null)})},[C,s,v]),!e.embedded&&!a)return _`
588
588
  <button
589
589
  class="cw-fab"
590
590
  style=${{backgroundColor:e.primaryColor}}
@@ -608,24 +608,26 @@ var ChatWidgetModule=(()=>{var de=Object.defineProperty;var Jt=Object.getOwnProp
608
608
  />
609
609
  `}
610
610
 
611
- <${Tt}
612
- config=${e}
613
- debugMode=${u}
614
- isExpanded=${l}
615
- isSpeaking=${N}
616
- messagesCount=${C.messages.length}
617
- isLoading=${C.isLoading}
618
- currentAgent=${I}
619
- onClose=${()=>o(!1)}
620
- onToggleExpand=${()=>i(!l)}
621
- onToggleDebug=${()=>c(!u)}
622
- onToggleTTS=${()=>$(!k)}
623
- onClear=${C.clearMessages}
624
- onToggleSidebar=${b}
625
- />
611
+ ${e.showHeader!==!1&&_`
612
+ <${Tt}
613
+ config=${e}
614
+ debugMode=${u}
615
+ isExpanded=${l}
616
+ isSpeaking=${N}
617
+ messagesCount=${C.messages.length}
618
+ isLoading=${C.isLoading}
619
+ currentAgent=${I}
620
+ onClose=${()=>o(!1)}
621
+ onToggleExpand=${()=>i(!l)}
622
+ onToggleDebug=${()=>c(!u)}
623
+ onToggleTTS=${()=>$(!k)}
624
+ onClear=${C.clearMessages}
625
+ onToggleSidebar=${b}
626
+ />
627
+ `}
626
628
 
627
629
  ${e.showDevTools&&_`
628
- <${Rt}
630
+ <${Ft}
629
631
  systems=${w.systems}
630
632
  agents=${w.agents}
631
633
  selectedSystem=${w.selectedSystem}
@@ -694,6 +696,7 @@ var ChatWidgetModule=(()=>{var de=Object.defineProperty;var Jt=Object.getOwnProp
694
696
  placeholder=${e.placeholder}
695
697
  primaryColor=${e.primaryColor}
696
698
  enableVoice=${e.enableVoice}
699
+ enableFiles=${e.showFileAttachment!==!1}
697
700
  />
698
701
  `:_`
699
702
  <${Pt}
@@ -708,7 +711,7 @@ var ChatWidgetModule=(()=>{var de=Object.defineProperty;var Jt=Object.getOwnProp
708
711
  />
709
712
  `}
710
713
  </div>
711
- `}var Bt={backendUrl:"http://localhost:8000",agentKey:"default-agent",title:"Chat Assistant",subtitle:"How can we help you today?",primaryColor:"#0066cc",headerTextColor:null,position:"bottom-right",defaultJourneyType:"general",enableDebugMode:!0,enableAutoRun:!0,journeyTypes:{},customerPrompts:{},placeholder:"Type your message...",emptyStateTitle:"Start a Conversation",emptyStateMessage:"Send a message to get started.",authStrategy:null,authToken:null,authHeader:null,authTokenPrefix:null,anonymousSessionEndpoint:null,anonymousTokenKey:"chat_widget_anonymous_token",onAuthError:null,anonymousTokenHeader:"X-Anonymous-Token",conversationIdKey:"chat_widget_conversation_id",sessionTokenKey:"chat_widget_session_token",apiPaths:{anonymousSession:"/api/accounts/anonymous-session/",conversations:"/api/agent-runtime/conversations/",runs:"/api/agent-runtime/runs/",runEvents:"/api/agent-runtime/runs/{runId}/events/",simulateCustomer:"/api/agent-runtime/simulate-customer/",ttsVoices:"/api/tts/voices/",ttsSetVoice:"/api/tts/set-voice/",models:"/api/agent-runtime/models/",systems:"/api/agent-runtime/systems/",agents:"/api/agent-runtime/agents/"},apiCaseStyle:"auto",theme:"light",showConversationSidebar:!0,showClearButton:!0,showDebugButton:!0,showTTSButton:!0,showVoiceSettings:!0,showExpandButton:!0,showModelSelector:!1,showDevTools:!1,enableVoice:!0,modelKey:"chat_widget_selected_model",autoRunDelay:1e3,autoRunMode:"automatic",enableTTS:!1,ttsProxyUrl:null,elevenLabsApiKey:null,ttsVoices:{assistant:null,user:null},ttsModel:"eleven_turbo_v2_5",ttsSettings:{stability:.5,similarity_boost:.75,style:0,use_speaker_boost:!0},availableVoices:[],onEvent:null,containerId:null,embedded:!1,metadata:{}};function jt(e){let t={...Bt.apiPaths,...e.apiPaths||{}};return{...Bt,...e,apiPaths:t}}var Me=new Map,gn=0,K=null,Ve=class{constructor(t={}){je(this,"_handleStateChange",t=>{this._state=t});this.instanceId=`cw-${++gn}`,this.config=jt(t),this.container=null,this._state={},this._apiRef={current:null},Me.set(this.instanceId,this)}init(){if(this.config.containerId){if(this.container=document.getElementById(this.config.containerId),!this.container)return console.error(`[ChatWidget] Container not found: ${this.config.containerId}`),this;this.container.classList.add("cw-container-embedded")}else this.container=document.createElement("div"),this.container.id=this.instanceId,this.container.className=`cw-container cw-position-${this.config.position}`,document.body.appendChild(this.container);return this._applyTheme(),this._render(),console.log(`[ChatWidget] Instance ${this.instanceId} initialized`),this}_applyTheme(){this.container&&(this.container.classList.remove("cw-dark","cw-auto"),this.config.theme==="dark"?this.container.classList.add("cw-dark"):this.config.theme==="auto"&&this.container.classList.add("cw-auto"))}_render(t={}){this.container&&ve(_`<${Vt}
714
+ `}var Bt={backendUrl:"http://localhost:8000",agentKey:"default-agent",title:"Chat Assistant",subtitle:"How can we help you today?",primaryColor:"#0066cc",headerTextColor:null,position:"bottom-right",defaultJourneyType:"general",enableDebugMode:!0,enableAutoRun:!0,journeyTypes:{},customerPrompts:{},placeholder:"Type your message...",emptyStateTitle:"Start a Conversation",emptyStateMessage:"Send a message to get started.",authStrategy:null,authToken:null,authHeader:null,authTokenPrefix:null,anonymousSessionEndpoint:null,anonymousTokenKey:"chat_widget_anonymous_token",onAuthError:null,anonymousTokenHeader:"X-Anonymous-Token",conversationIdKey:"chat_widget_conversation_id",sessionTokenKey:"chat_widget_session_token",apiPaths:{anonymousSession:"/api/accounts/anonymous-session/",conversations:"/api/agent-runtime/conversations/",runs:"/api/agent-runtime/runs/",runEvents:"/api/agent-runtime/runs/{runId}/events/",simulateCustomer:"/api/agent-runtime/simulate-customer/",ttsVoices:"/api/tts/voices/",ttsSetVoice:"/api/tts/set-voice/",models:"/api/agent-runtime/models/",systems:"/api/agent-runtime/systems/",agents:"/api/agent-runtime/agents/"},apiCaseStyle:"auto",theme:"light",showHeader:!0,showFileAttachment:!0,showTasksTab:!0,showConversationSidebar:!0,showClearButton:!0,showDebugButton:!0,showTTSButton:!0,showVoiceSettings:!0,showExpandButton:!0,showModelSelector:!1,showDevTools:!1,enableVoice:!0,modelKey:"chat_widget_selected_model",autoRunDelay:1e3,autoRunMode:"automatic",enableTTS:!1,ttsProxyUrl:null,elevenLabsApiKey:null,ttsVoices:{assistant:null,user:null},ttsModel:"eleven_turbo_v2_5",ttsSettings:{stability:.5,similarity_boost:.75,style:0,use_speaker_boost:!0},availableVoices:[],onEvent:null,containerId:null,embedded:!1,metadata:{}};function jt(e){let t={...Bt.apiPaths,...e.apiPaths||{}};return{...Bt,...e,apiPaths:t}}var Me=new Map,gn=0,K=null,Ve=class{constructor(t={}){je(this,"_handleStateChange",t=>{this._state=t});this.instanceId=`cw-${++gn}`,this.config=jt(t),this.container=null,this._state={},this._apiRef={current:null},Me.set(this.instanceId,this)}init(){if(this.config.containerId){if(this.container=document.getElementById(this.config.containerId),!this.container)return console.error(`[ChatWidget] Container not found: ${this.config.containerId}`),this;this.container.classList.add("cw-container-embedded")}else this.container=document.createElement("div"),this.container.id=this.instanceId,this.container.className=`cw-container cw-position-${this.config.position}`,document.body.appendChild(this.container);return this._applyTheme(),this._render(),console.log(`[ChatWidget] Instance ${this.instanceId} initialized`),this}_applyTheme(){this.container&&(this.container.classList.remove("cw-dark","cw-auto"),this.config.theme==="dark"?this.container.classList.add("cw-dark"):this.config.theme==="auto"&&this.container.classList.add("cw-auto"))}_render(t={}){this.container&&ve(_`<${Vt}
712
715
  config=${{...this.config,...t}}
713
716
  onStateChange=${this._handleStateChange}
714
717
  markdownParser=${Ee._enhancedMarkdownParser}