teodor-new-chat-ui 3.0.21 → 3.0.22

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.umd.js CHANGED
@@ -1,12 +1,12 @@
1
- (function(ee,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("react/jsx-runtime"),require("react"),require("lucide-react"),require("@radix-ui/react-slot"),require("class-variance-authority"),require("clsx"),require("tailwind-merge"),require("react-dom"),require("react-markdown"),require("remark-gfm")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","lucide-react","@radix-ui/react-slot","class-variance-authority","clsx","tailwind-merge","react-dom","react-markdown","remark-gfm"],i):(ee=typeof globalThis<"u"?globalThis:ee||self,i(ee.NewChatUI={},ee.jsxRuntime,ee.React,ee.LucideReact,ee.reactSlot,ee.classVarianceAuthority,ee.clsx,ee.tailwindMerge,ee.ReactDOM,ee.ReactMarkdown,ee.remarkGfm))})(this,function(ee,i,A,q,_e,Wt,Rd,Kd,ps,Gd,qd){"use strict";var _n=typeof document<"u"?document.currentScript:null;function hs(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const d=hs(A),hr=hs(ps);function gs(e,t){return function(){return e.apply(t,arguments)}}const{toString:Xd}=Object.prototype,{getPrototypeOf:kn}=Object,{iterator:gr,toStringTag:ms}=Symbol,mr=(e=>t=>{const r=Xd.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),$e=e=>(e=e.toLowerCase(),t=>mr(t)===e),br=e=>t=>typeof t===e,{isArray:St}=Array,Ct=br("undefined");function jt(e){return e!==null&&!Ct(e)&&e.constructor!==null&&!Ct(e.constructor)&&Ae(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const bs=$e("ArrayBuffer");function Yd(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&bs(e.buffer),t}const Jd=br("string"),Ae=br("function"),vs=br("number"),Vt=e=>e!==null&&typeof e=="object",Zd=e=>e===!0||e===!1,vr=e=>{if(mr(e)!=="object")return!1;const t=kn(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(ms in e)&&!(gr in e)},Qd=e=>{if(!Vt(e)||jt(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},eu=$e("Date"),tu=$e("File"),ru=$e("Blob"),nu=$e("FileList"),ou=e=>Vt(e)&&Ae(e.pipe),su=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Ae(e.append)&&((t=mr(e))==="formdata"||t==="object"&&Ae(e.toString)&&e.toString()==="[object FormData]"))},au=$e("URLSearchParams"),[iu,cu,lu,du]=["ReadableStream","Request","Response","Headers"].map($e),uu=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Rt(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,o;if(typeof e!="object"&&(e=[e]),St(e))for(n=0,o=e.length;n<o;n++)t.call(null,e[n],n,e);else{if(jt(e))return;const s=r?Object.getOwnPropertyNames(e):Object.keys(e),a=s.length;let c;for(n=0;n<a;n++)c=s[n],t.call(null,e[c],c,e)}}function ws(e,t){if(jt(e))return null;t=t.toLowerCase();const r=Object.keys(e);let n=r.length,o;for(;n-- >0;)if(o=r[n],t===o.toLowerCase())return o;return null}const ut=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,ys=e=>!Ct(e)&&e!==ut;function On(){const{caseless:e,skipUndefined:t}=ys(this)&&this||{},r={},n=(o,s)=>{const a=e&&ws(r,s)||s;vr(r[a])&&vr(o)?r[a]=On(r[a],o):vr(o)?r[a]=On({},o):St(o)?r[a]=o.slice():(!t||!Ct(o))&&(r[a]=o)};for(let o=0,s=arguments.length;o<s;o++)arguments[o]&&Rt(arguments[o],n);return r}const fu=(e,t,r,{allOwnKeys:n}={})=>(Rt(t,(o,s)=>{r&&Ae(o)?e[s]=gs(o,r):e[s]=o},{allOwnKeys:n}),e),pu=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),hu=(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},gu=(e,t,r,n)=>{let o,s,a;const c={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),s=o.length;s-- >0;)a=o[s],(!n||n(a,e,t))&&!c[a]&&(t[a]=e[a],c[a]=!0);e=r!==!1&&kn(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},mu=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;const n=e.indexOf(t,r);return n!==-1&&n===r},bu=e=>{if(!e)return null;if(St(e))return e;let t=e.length;if(!vs(t))return null;const r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},vu=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&kn(Uint8Array)),wu=(e,t)=>{const n=(e&&e[gr]).call(e);let o;for(;(o=n.next())&&!o.done;){const s=o.value;t.call(e,s[0],s[1])}},yu=(e,t)=>{let r;const n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},xu=$e("HTMLFormElement"),Su=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,o){return n.toUpperCase()+o}),xs=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),Cu=$e("RegExp"),Ss=(e,t)=>{const r=Object.getOwnPropertyDescriptors(e),n={};Rt(r,(o,s)=>{let a;(a=t(o,s,e))!==!1&&(n[s]=a||o)}),Object.defineProperties(e,n)},Eu=e=>{Ss(e,(t,r)=>{if(Ae(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;const n=e[r];if(Ae(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},Nu=(e,t)=>{const r={},n=o=>{o.forEach(s=>{r[s]=!0})};return St(e)?n(e):n(String(e).split(t)),r},Tu=()=>{},Au=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Pu(e){return!!(e&&Ae(e.append)&&e[ms]==="FormData"&&e[gr])}const Iu=e=>{const t=new Array(10),r=(n,o)=>{if(Vt(n)){if(t.indexOf(n)>=0)return;if(jt(n))return n;if(!("toJSON"in n)){t[o]=n;const s=St(n)?[]:{};return Rt(n,(a,c)=>{const l=r(a,o+1);!Ct(l)&&(s[c]=l)}),t[o]=void 0,s}}return n};return r(e,0)},_u=$e("AsyncFunction"),ku=e=>e&&(Vt(e)||Ae(e))&&Ae(e.then)&&Ae(e.catch),Cs=((e,t)=>e?setImmediate:t?((r,n)=>(ut.addEventListener("message",({source:o,data:s})=>{o===ut&&s===r&&n.length&&n.shift()()},!1),o=>{n.push(o),ut.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",Ae(ut.postMessage)),Ou=typeof queueMicrotask<"u"?queueMicrotask.bind(ut):typeof process<"u"&&process.nextTick||Cs,S={isArray:St,isArrayBuffer:bs,isBuffer:jt,isFormData:su,isArrayBufferView:Yd,isString:Jd,isNumber:vs,isBoolean:Zd,isObject:Vt,isPlainObject:vr,isEmptyObject:Qd,isReadableStream:iu,isRequest:cu,isResponse:lu,isHeaders:du,isUndefined:Ct,isDate:eu,isFile:tu,isBlob:ru,isRegExp:Cu,isFunction:Ae,isStream:ou,isURLSearchParams:au,isTypedArray:vu,isFileList:nu,forEach:Rt,merge:On,extend:fu,trim:uu,stripBOM:pu,inherits:hu,toFlatObject:gu,kindOf:mr,kindOfTest:$e,endsWith:mu,toArray:bu,forEachEntry:wu,matchAll:yu,isHTMLForm:xu,hasOwnProperty:xs,hasOwnProp:xs,reduceDescriptors:Ss,freezeMethods:Eu,toObjectSet:Nu,toCamelCase:Su,noop:Tu,toFiniteNumber:Au,findKey:ws,global:ut,isContextDefined:ys,isSpecCompliantForm:Pu,toJSONObject:Iu,isAsyncFn:_u,isThenable:ku,setImmediate:Cs,asap:Ou,isIterable:e=>e!=null&&Ae(e[gr])};function te(e,t,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o,this.status=o.status?o.status:null)}S.inherits(te,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:S.toJSONObject(this.config),code:this.code,status:this.status}}});const Es=te.prototype,Ns={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Ns[e]={value:e}}),Object.defineProperties(te,Ns),Object.defineProperty(Es,"isAxiosError",{value:!0}),te.from=(e,t,r,n,o,s)=>{const a=Object.create(Es);S.toFlatObject(e,a,function(u){return u!==Error.prototype},f=>f!=="isAxiosError");const c=e&&e.message?e.message:"Error",l=t==null&&e?e.code:t;return te.call(a,c,l,r,n,o),e&&a.cause==null&&Object.defineProperty(a,"cause",{value:e,configurable:!0}),a.name=e&&e.name||"Error",s&&Object.assign(a,s),a};const Mu=null;function Mn(e){return S.isPlainObject(e)||S.isArray(e)}function Ts(e){return S.endsWith(e,"[]")?e.slice(0,-2):e}function As(e,t,r){return e?e.concat(t).map(function(o,s){return o=Ts(o),!r&&s?"["+o+"]":o}).join(r?".":""):t}function Du(e){return S.isArray(e)&&!e.some(Mn)}const Lu=S.toFlatObject(S,{},null,function(t){return/^is[A-Z]/.test(t)});function wr(e,t,r){if(!S.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,r=S.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,b){return!S.isUndefined(b[h])});const n=r.metaTokens,o=r.visitor||u,s=r.dots,a=r.indexes,l=(r.Blob||typeof Blob<"u"&&Blob)&&S.isSpecCompliantForm(t);if(!S.isFunction(o))throw new TypeError("visitor must be a function");function f(m){if(m===null)return"";if(S.isDate(m))return m.toISOString();if(S.isBoolean(m))return m.toString();if(!l&&S.isBlob(m))throw new te("Blob is not supported. Use a Buffer instead.");return S.isArrayBuffer(m)||S.isTypedArray(m)?l&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function u(m,h,b){let w=m;if(m&&!b&&typeof m=="object"){if(S.endsWith(h,"{}"))h=n?h:h.slice(0,-2),m=JSON.stringify(m);else if(S.isArray(m)&&Du(m)||(S.isFileList(m)||S.endsWith(h,"[]"))&&(w=S.toArray(m)))return h=Ts(h),w.forEach(function(y,C){!(S.isUndefined(y)||y===null)&&t.append(a===!0?As([h],C,s):a===null?h:h+"[]",f(y))}),!1}return Mn(m)?!0:(t.append(As(b,h,s),f(m)),!1)}const p=[],g=Object.assign(Lu,{defaultVisitor:u,convertValue:f,isVisitable:Mn});function v(m,h){if(!S.isUndefined(m)){if(p.indexOf(m)!==-1)throw Error("Circular reference detected in "+h.join("."));p.push(m),S.forEach(m,function(w,x){(!(S.isUndefined(w)||w===null)&&o.call(t,w,S.isString(x)?x.trim():x,h,g))===!0&&v(w,h?h.concat(x):[x])}),p.pop()}}if(!S.isObject(e))throw new TypeError("data must be an object");return v(e),t}function Ps(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function Dn(e,t){this._pairs=[],e&&wr(e,this,t)}const Is=Dn.prototype;Is.append=function(t,r){this._pairs.push([t,r])},Is.toString=function(t){const r=t?function(n){return t.call(this,n,Ps)}:Ps;return this._pairs.map(function(o){return r(o[0])+"="+r(o[1])},"").join("&")};function Fu(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function _s(e,t,r){if(!t)return e;const n=r&&r.encode||Fu;S.isFunction(r)&&(r={serialize:r});const o=r&&r.serialize;let s;if(o?s=o(t,r):s=S.isURLSearchParams(t)?t.toString():new Dn(t,r).toString(n),s){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}class ks{constructor(){this.handlers=[]}use(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){S.forEach(this.handlers,function(n){n!==null&&t(n)})}}const Os={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},$u={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:Dn,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},Ln=typeof window<"u"&&typeof document<"u",Fn=typeof navigator=="object"&&navigator||void 0,Bu=Ln&&(!Fn||["ReactNative","NativeScript","NS"].indexOf(Fn.product)<0),Uu=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Hu=Ln&&window.location.href||"http://localhost",Ee={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ln,hasStandardBrowserEnv:Bu,hasStandardBrowserWebWorkerEnv:Uu,navigator:Fn,origin:Hu},Symbol.toStringTag,{value:"Module"})),...$u};function zu(e,t){return wr(e,new Ee.classes.URLSearchParams,{visitor:function(r,n,o,s){return Ee.isNode&&S.isBuffer(r)?(this.append(n,r.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)},...t})}function Wu(e){return S.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function ju(e){const t={},r=Object.keys(e);let n;const o=r.length;let s;for(n=0;n<o;n++)s=r[n],t[s]=e[s];return t}function Ms(e){function t(r,n,o,s){let a=r[s++];if(a==="__proto__")return!0;const c=Number.isFinite(+a),l=s>=r.length;return a=!a&&S.isArray(o)?o.length:a,l?(S.hasOwnProp(o,a)?o[a]=[o[a],n]:o[a]=n,!c):((!o[a]||!S.isObject(o[a]))&&(o[a]=[]),t(r,n,o[a],s)&&S.isArray(o[a])&&(o[a]=ju(o[a])),!c)}if(S.isFormData(e)&&S.isFunction(e.entries)){const r={};return S.forEachEntry(e,(n,o)=>{t(Wu(n),o,r,0)}),r}return null}function Vu(e,t,r){if(S.isString(e))try{return(t||JSON.parse)(e),S.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}const Kt={transitional:Os,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){const n=r.getContentType()||"",o=n.indexOf("application/json")>-1,s=S.isObject(t);if(s&&S.isHTMLForm(t)&&(t=new FormData(t)),S.isFormData(t))return o?JSON.stringify(Ms(t)):t;if(S.isArrayBuffer(t)||S.isBuffer(t)||S.isStream(t)||S.isFile(t)||S.isBlob(t)||S.isReadableStream(t))return t;if(S.isArrayBufferView(t))return t.buffer;if(S.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let c;if(s){if(n.indexOf("application/x-www-form-urlencoded")>-1)return zu(t,this.formSerializer).toString();if((c=S.isFileList(t))||n.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return wr(c?{"files[]":t}:t,l&&new l,this.formSerializer)}}return s||o?(r.setContentType("application/json",!1),Vu(t)):t}],transformResponse:[function(t){const r=this.transitional||Kt.transitional,n=r&&r.forcedJSONParsing,o=this.responseType==="json";if(S.isResponse(t)||S.isReadableStream(t))return t;if(t&&S.isString(t)&&(n&&!this.responseType||o)){const a=!(r&&r.silentJSONParsing)&&o;try{return JSON.parse(t,this.parseReviver)}catch(c){if(a)throw c.name==="SyntaxError"?te.from(c,te.ERR_BAD_RESPONSE,this,null,this.response):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ee.classes.FormData,Blob:Ee.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};S.forEach(["delete","get","head","post","put","patch"],e=>{Kt.headers[e]={}});const Ru=S.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Ku=e=>{const t={};let r,n,o;return e&&e.split(`
2
- `).forEach(function(a){o=a.indexOf(":"),r=a.substring(0,o).trim().toLowerCase(),n=a.substring(o+1).trim(),!(!r||t[r]&&Ru[r])&&(r==="set-cookie"?t[r]?t[r].push(n):t[r]=[n]:t[r]=t[r]?t[r]+", "+n:n)}),t},Ds=Symbol("internals");function Gt(e){return e&&String(e).trim().toLowerCase()}function yr(e){return e===!1||e==null?e:S.isArray(e)?e.map(yr):String(e)}function Gu(e){const t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=r.exec(e);)t[n[1]]=n[2];return t}const qu=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function $n(e,t,r,n,o){if(S.isFunction(n))return n.call(this,t,r);if(o&&(t=r),!!S.isString(t)){if(S.isString(n))return t.indexOf(n)!==-1;if(S.isRegExp(n))return n.test(t)}}function Xu(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,n)=>r.toUpperCase()+n)}function Yu(e,t){const r=S.toCamelCase(" "+t);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+r,{value:function(o,s,a){return this[n].call(this,t,o,s,a)},configurable:!0})})}let Pe=class{constructor(t){t&&this.set(t)}set(t,r,n){const o=this;function s(c,l,f){const u=Gt(l);if(!u)throw new Error("header name must be a non-empty string");const p=S.findKey(o,u);(!p||o[p]===void 0||f===!0||f===void 0&&o[p]!==!1)&&(o[p||l]=yr(c))}const a=(c,l)=>S.forEach(c,(f,u)=>s(f,u,l));if(S.isPlainObject(t)||t instanceof this.constructor)a(t,r);else if(S.isString(t)&&(t=t.trim())&&!qu(t))a(Ku(t),r);else if(S.isObject(t)&&S.isIterable(t)){let c={},l,f;for(const u of t){if(!S.isArray(u))throw TypeError("Object iterator must return a key-value pair");c[f=u[0]]=(l=c[f])?S.isArray(l)?[...l,u[1]]:[l,u[1]]:u[1]}a(c,r)}else t!=null&&s(r,t,n);return this}get(t,r){if(t=Gt(t),t){const n=S.findKey(this,t);if(n){const o=this[n];if(!r)return o;if(r===!0)return Gu(o);if(S.isFunction(r))return r.call(this,o,n);if(S.isRegExp(r))return r.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=Gt(t),t){const n=S.findKey(this,t);return!!(n&&this[n]!==void 0&&(!r||$n(this,this[n],n,r)))}return!1}delete(t,r){const n=this;let o=!1;function s(a){if(a=Gt(a),a){const c=S.findKey(n,a);c&&(!r||$n(n,n[c],c,r))&&(delete n[c],o=!0)}}return S.isArray(t)?t.forEach(s):s(t),o}clear(t){const r=Object.keys(this);let n=r.length,o=!1;for(;n--;){const s=r[n];(!t||$n(this,this[s],s,t,!0))&&(delete this[s],o=!0)}return o}normalize(t){const r=this,n={};return S.forEach(this,(o,s)=>{const a=S.findKey(n,s);if(a){r[a]=yr(o),delete r[s];return}const c=t?Xu(s):String(s).trim();c!==s&&delete r[s],r[c]=yr(o),n[c]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const r=Object.create(null);return S.forEach(this,(n,o)=>{n!=null&&n!==!1&&(r[o]=t&&S.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(`
3
- `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){const n=new this(t);return r.forEach(o=>n.set(o)),n}static accessor(t){const n=(this[Ds]=this[Ds]={accessors:{}}).accessors,o=this.prototype;function s(a){const c=Gt(a);n[c]||(Yu(o,a),n[c]=!0)}return S.isArray(t)?t.forEach(s):s(t),this}};Pe.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),S.reduceDescriptors(Pe.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(n){this[r]=n}}}),S.freezeMethods(Pe);function Bn(e,t){const r=this||Kt,n=t||r,o=Pe.from(n.headers);let s=n.data;return S.forEach(e,function(c){s=c.call(r,s,o.normalize(),t?t.status:void 0)}),o.normalize(),s}function Ls(e){return!!(e&&e.__CANCEL__)}function Et(e,t,r){te.call(this,e??"canceled",te.ERR_CANCELED,t,r),this.name="CanceledError"}S.inherits(Et,te,{__CANCEL__:!0});function Fs(e,t,r){const n=r.config.validateStatus;!r.status||!n||n(r.status)?e(r):t(new te("Request failed with status code "+r.status,[te.ERR_BAD_REQUEST,te.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function Ju(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Zu(e,t){e=e||10;const r=new Array(e),n=new Array(e);let o=0,s=0,a;return t=t!==void 0?t:1e3,function(l){const f=Date.now(),u=n[s];a||(a=f),r[o]=l,n[o]=f;let p=s,g=0;for(;p!==o;)g+=r[p++],p=p%e;if(o=(o+1)%e,o===s&&(s=(s+1)%e),f-a<t)return;const v=u&&f-u;return v?Math.round(g*1e3/v):void 0}}function Qu(e,t){let r=0,n=1e3/t,o,s;const a=(f,u=Date.now())=>{r=u,o=null,s&&(clearTimeout(s),s=null),e(...f)};return[(...f)=>{const u=Date.now(),p=u-r;p>=n?a(f,u):(o=f,s||(s=setTimeout(()=>{s=null,a(o)},n-p)))},()=>o&&a(o)]}const xr=(e,t,r=3)=>{let n=0;const o=Zu(50,250);return Qu(s=>{const a=s.loaded,c=s.lengthComputable?s.total:void 0,l=a-n,f=o(l),u=a<=c;n=a;const p={loaded:a,total:c,progress:c?a/c:void 0,bytes:l,rate:f||void 0,estimated:f&&c&&u?(c-a)/f:void 0,event:s,lengthComputable:c!=null,[t?"download":"upload"]:!0};e(p)},r)},$s=(e,t)=>{const r=e!=null;return[n=>t[0]({lengthComputable:r,total:e,loaded:n}),t[1]]},Bs=e=>(...t)=>S.asap(()=>e(...t)),ef=Ee.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,Ee.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(Ee.origin),Ee.navigator&&/(msie|trident)/i.test(Ee.navigator.userAgent)):()=>!0,tf=Ee.hasStandardBrowserEnv?{write(e,t,r,n,o,s){const a=[e+"="+encodeURIComponent(t)];S.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),S.isString(n)&&a.push("path="+n),S.isString(o)&&a.push("domain="+o),s===!0&&a.push("secure"),document.cookie=a.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function rf(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function nf(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Us(e,t,r){let n=!rf(t);return e&&(n||r==!1)?nf(e,t):t}const Hs=e=>e instanceof Pe?{...e}:e;function ft(e,t){t=t||{};const r={};function n(f,u,p,g){return S.isPlainObject(f)&&S.isPlainObject(u)?S.merge.call({caseless:g},f,u):S.isPlainObject(u)?S.merge({},u):S.isArray(u)?u.slice():u}function o(f,u,p,g){if(S.isUndefined(u)){if(!S.isUndefined(f))return n(void 0,f,p,g)}else return n(f,u,p,g)}function s(f,u){if(!S.isUndefined(u))return n(void 0,u)}function a(f,u){if(S.isUndefined(u)){if(!S.isUndefined(f))return n(void 0,f)}else return n(void 0,u)}function c(f,u,p){if(p in t)return n(f,u);if(p in e)return n(void 0,f)}const l={url:s,method:s,data:s,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:c,headers:(f,u,p)=>o(Hs(f),Hs(u),p,!0)};return S.forEach(Object.keys({...e,...t}),function(u){const p=l[u]||o,g=p(e[u],t[u],u);S.isUndefined(g)&&p!==c||(r[u]=g)}),r}const zs=e=>{const t=ft({},e);let{data:r,withXSRFToken:n,xsrfHeaderName:o,xsrfCookieName:s,headers:a,auth:c}=t;if(t.headers=a=Pe.from(a),t.url=_s(Us(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),c&&a.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),S.isFormData(r)){if(Ee.hasStandardBrowserEnv||Ee.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(S.isFunction(r.getHeaders)){const l=r.getHeaders(),f=["content-type","content-length"];Object.entries(l).forEach(([u,p])=>{f.includes(u.toLowerCase())&&a.set(u,p)})}}if(Ee.hasStandardBrowserEnv&&(n&&S.isFunction(n)&&(n=n(t)),n||n!==!1&&ef(t.url))){const l=o&&s&&tf.read(s);l&&a.set(o,l)}return t},of=typeof XMLHttpRequest<"u"&&function(e){return new Promise(function(r,n){const o=zs(e);let s=o.data;const a=Pe.from(o.headers).normalize();let{responseType:c,onUploadProgress:l,onDownloadProgress:f}=o,u,p,g,v,m;function h(){v&&v(),m&&m(),o.cancelToken&&o.cancelToken.unsubscribe(u),o.signal&&o.signal.removeEventListener("abort",u)}let b=new XMLHttpRequest;b.open(o.method.toUpperCase(),o.url,!0),b.timeout=o.timeout;function w(){if(!b)return;const y=Pe.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),T={data:!c||c==="text"||c==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:y,config:e,request:b};Fs(function(N){r(N),h()},function(N){n(N),h()},T),b=null}"onloadend"in b?b.onloadend=w:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.indexOf("file:")===0)||setTimeout(w)},b.onabort=function(){b&&(n(new te("Request aborted",te.ECONNABORTED,e,b)),b=null)},b.onerror=function(C){const T=C&&C.message?C.message:"Network Error",M=new te(T,te.ERR_NETWORK,e,b);M.event=C||null,n(M),b=null},b.ontimeout=function(){let C=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const T=o.transitional||Os;o.timeoutErrorMessage&&(C=o.timeoutErrorMessage),n(new te(C,T.clarifyTimeoutError?te.ETIMEDOUT:te.ECONNABORTED,e,b)),b=null},s===void 0&&a.setContentType(null),"setRequestHeader"in b&&S.forEach(a.toJSON(),function(C,T){b.setRequestHeader(T,C)}),S.isUndefined(o.withCredentials)||(b.withCredentials=!!o.withCredentials),c&&c!=="json"&&(b.responseType=o.responseType),f&&([g,m]=xr(f,!0),b.addEventListener("progress",g)),l&&b.upload&&([p,v]=xr(l),b.upload.addEventListener("progress",p),b.upload.addEventListener("loadend",v)),(o.cancelToken||o.signal)&&(u=y=>{b&&(n(!y||y.type?new Et(null,e,b):y),b.abort(),b=null)},o.cancelToken&&o.cancelToken.subscribe(u),o.signal&&(o.signal.aborted?u():o.signal.addEventListener("abort",u)));const x=Ju(o.url);if(x&&Ee.protocols.indexOf(x)===-1){n(new te("Unsupported protocol "+x+":",te.ERR_BAD_REQUEST,e));return}b.send(s||null)})},sf=(e,t)=>{const{length:r}=e=e?e.filter(Boolean):[];if(t||r){let n=new AbortController,o;const s=function(f){if(!o){o=!0,c();const u=f instanceof Error?f:this.reason;n.abort(u instanceof te?u:new Et(u instanceof Error?u.message:u))}};let a=t&&setTimeout(()=>{a=null,s(new te(`timeout ${t} of ms exceeded`,te.ETIMEDOUT))},t);const c=()=>{e&&(a&&clearTimeout(a),a=null,e.forEach(f=>{f.unsubscribe?f.unsubscribe(s):f.removeEventListener("abort",s)}),e=null)};e.forEach(f=>f.addEventListener("abort",s));const{signal:l}=n;return l.unsubscribe=()=>S.asap(c),l}},af=function*(e,t){let r=e.byteLength;if(r<t){yield e;return}let n=0,o;for(;n<r;)o=n+t,yield e.slice(n,o),n=o},cf=async function*(e,t){for await(const r of lf(e))yield*af(r,t)},lf=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:r,value:n}=await t.read();if(r)break;yield n}}finally{await t.cancel()}},Ws=(e,t,r,n)=>{const o=cf(e,t);let s=0,a,c=l=>{a||(a=!0,n&&n(l))};return new ReadableStream({async pull(l){try{const{done:f,value:u}=await o.next();if(f){c(),l.close();return}let p=u.byteLength;if(r){let g=s+=p;r(g)}l.enqueue(new Uint8Array(u))}catch(f){throw c(f),f}},cancel(l){return c(l),o.return()}},{highWaterMark:2})},js=64*1024,{isFunction:Sr}=S,df=(({Request:e,Response:t})=>({Request:e,Response:t}))(S.global),{ReadableStream:Vs,TextEncoder:Rs}=S.global,Ks=(e,...t)=>{try{return!!e(...t)}catch{return!1}},uf=e=>{e=S.merge.call({skipUndefined:!0},df,e);const{fetch:t,Request:r,Response:n}=e,o=t?Sr(t):typeof fetch=="function",s=Sr(r),a=Sr(n);if(!o)return!1;const c=o&&Sr(Vs),l=o&&(typeof Rs=="function"?(m=>h=>m.encode(h))(new Rs):async m=>new Uint8Array(await new r(m).arrayBuffer())),f=s&&c&&Ks(()=>{let m=!1;const h=new r(Ee.origin,{body:new Vs,method:"POST",get duplex(){return m=!0,"half"}}).headers.has("Content-Type");return m&&!h}),u=a&&c&&Ks(()=>S.isReadableStream(new n("").body)),p={stream:u&&(m=>m.body)};o&&["text","arrayBuffer","blob","formData","stream"].forEach(m=>{!p[m]&&(p[m]=(h,b)=>{let w=h&&h[m];if(w)return w.call(h);throw new te(`Response type '${m}' is not supported`,te.ERR_NOT_SUPPORT,b)})});const g=async m=>{if(m==null)return 0;if(S.isBlob(m))return m.size;if(S.isSpecCompliantForm(m))return(await new r(Ee.origin,{method:"POST",body:m}).arrayBuffer()).byteLength;if(S.isArrayBufferView(m)||S.isArrayBuffer(m))return m.byteLength;if(S.isURLSearchParams(m)&&(m=m+""),S.isString(m))return(await l(m)).byteLength},v=async(m,h)=>{const b=S.toFiniteNumber(m.getContentLength());return b??g(h)};return async m=>{let{url:h,method:b,data:w,signal:x,cancelToken:y,timeout:C,onDownloadProgress:T,onUploadProgress:M,responseType:N,headers:F,withCredentials:B="same-origin",fetchOptions:z}=zs(m),K=t||fetch;N=N?(N+"").toLowerCase():"text";let X=sf([x,y&&y.toAbortSignal()],C),V=null;const I=X&&X.unsubscribe&&(()=>{X.unsubscribe()});let U;try{if(M&&f&&b!=="get"&&b!=="head"&&(U=await v(F,w))!==0){let G=new r(h,{method:"POST",body:w,duplex:"half"}),re;if(S.isFormData(w)&&(re=G.headers.get("content-type"))&&F.setContentType(re),G.body){const[$,R]=$s(U,xr(Bs(M)));w=Ws(G.body,js,$,R)}}S.isString(B)||(B=B?"include":"omit");const _=s&&"credentials"in r.prototype,W={...z,signal:X,method:b.toUpperCase(),headers:F.normalize().toJSON(),body:w,duplex:"half",credentials:_?B:void 0};V=s&&new r(h,W);let D=await(s?K(V,z):K(h,W));const E=u&&(N==="stream"||N==="response");if(u&&(T||E&&I)){const G={};["status","statusText","headers"].forEach(ie=>{G[ie]=D[ie]});const re=S.toFiniteNumber(D.headers.get("content-length")),[$,R]=T&&$s(re,xr(Bs(T),!0))||[];D=new n(Ws(D.body,js,$,()=>{R&&R(),I&&I()}),G)}N=N||"text";let Z=await p[S.findKey(p,N)||"text"](D,m);return!E&&I&&I(),await new Promise((G,re)=>{Fs(G,re,{data:Z,headers:Pe.from(D.headers),status:D.status,statusText:D.statusText,config:m,request:V})})}catch(_){throw I&&I(),_&&_.name==="TypeError"&&/Load failed|fetch/i.test(_.message)?Object.assign(new te("Network Error",te.ERR_NETWORK,m,V),{cause:_.cause||_}):te.from(_,_&&_.code,m,V)}}},ff=new Map,Gs=e=>{let t=e?e.env:{};const{fetch:r,Request:n,Response:o}=t,s=[n,o,r];let a=s.length,c=a,l,f,u=ff;for(;c--;)l=s[c],f=u.get(l),f===void 0&&u.set(l,f=c?new Map:uf(t)),u=f;return f};Gs();const Un={http:Mu,xhr:of,fetch:{get:Gs}};S.forEach(Un,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const qs=e=>`- ${e}`,pf=e=>S.isFunction(e)||e===null||e===!1,Xs={getAdapter:(e,t)=>{e=S.isArray(e)?e:[e];const{length:r}=e;let n,o;const s={};for(let a=0;a<r;a++){n=e[a];let c;if(o=n,!pf(n)&&(o=Un[(c=String(n)).toLowerCase()],o===void 0))throw new te(`Unknown adapter '${c}'`);if(o&&(S.isFunction(o)||(o=o.get(t))))break;s[c||"#"+a]=o}if(!o){const a=Object.entries(s).map(([l,f])=>`adapter ${l} `+(f===!1?"is not supported by the environment":"is not available in the build"));let c=r?a.length>1?`since :
1
+ (function(ee,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("react/jsx-runtime"),require("react"),require("lucide-react"),require("@radix-ui/react-slot"),require("class-variance-authority"),require("clsx"),require("tailwind-merge"),require("react-dom"),require("react-markdown"),require("remark-gfm")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","lucide-react","@radix-ui/react-slot","class-variance-authority","clsx","tailwind-merge","react-dom","react-markdown","remark-gfm"],i):(ee=typeof globalThis<"u"?globalThis:ee||self,i(ee.NewChatUI={},ee.jsxRuntime,ee.React,ee.LucideReact,ee.reactSlot,ee.classVarianceAuthority,ee.clsx,ee.tailwindMerge,ee.ReactDOM,ee.ReactMarkdown,ee.remarkGfm))})(this,function(ee,i,A,q,_e,Wt,Kd,Rd,ps,Gd,qd){"use strict";var _n=typeof document<"u"?document.currentScript:null;function hs(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const d=hs(A),hr=hs(ps);function gs(e,t){return function(){return e.apply(t,arguments)}}const{toString:Xd}=Object.prototype,{getPrototypeOf:kn}=Object,{iterator:gr,toStringTag:ms}=Symbol,mr=(e=>t=>{const r=Xd.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),$e=e=>(e=e.toLowerCase(),t=>mr(t)===e),br=e=>t=>typeof t===e,{isArray:St}=Array,Ct=br("undefined");function jt(e){return e!==null&&!Ct(e)&&e.constructor!==null&&!Ct(e.constructor)&&Ae(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const bs=$e("ArrayBuffer");function Yd(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&bs(e.buffer),t}const Jd=br("string"),Ae=br("function"),vs=br("number"),Vt=e=>e!==null&&typeof e=="object",Zd=e=>e===!0||e===!1,vr=e=>{if(mr(e)!=="object")return!1;const t=kn(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(ms in e)&&!(gr in e)},Qd=e=>{if(!Vt(e)||jt(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},eu=$e("Date"),tu=$e("File"),ru=$e("Blob"),nu=$e("FileList"),ou=e=>Vt(e)&&Ae(e.pipe),su=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Ae(e.append)&&((t=mr(e))==="formdata"||t==="object"&&Ae(e.toString)&&e.toString()==="[object FormData]"))},au=$e("URLSearchParams"),[iu,cu,lu,du]=["ReadableStream","Request","Response","Headers"].map($e),uu=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Kt(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,o;if(typeof e!="object"&&(e=[e]),St(e))for(n=0,o=e.length;n<o;n++)t.call(null,e[n],n,e);else{if(jt(e))return;const s=r?Object.getOwnPropertyNames(e):Object.keys(e),a=s.length;let c;for(n=0;n<a;n++)c=s[n],t.call(null,e[c],c,e)}}function ws(e,t){if(jt(e))return null;t=t.toLowerCase();const r=Object.keys(e);let n=r.length,o;for(;n-- >0;)if(o=r[n],t===o.toLowerCase())return o;return null}const ut=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,ys=e=>!Ct(e)&&e!==ut;function On(){const{caseless:e,skipUndefined:t}=ys(this)&&this||{},r={},n=(o,s)=>{const a=e&&ws(r,s)||s;vr(r[a])&&vr(o)?r[a]=On(r[a],o):vr(o)?r[a]=On({},o):St(o)?r[a]=o.slice():(!t||!Ct(o))&&(r[a]=o)};for(let o=0,s=arguments.length;o<s;o++)arguments[o]&&Kt(arguments[o],n);return r}const fu=(e,t,r,{allOwnKeys:n}={})=>(Kt(t,(o,s)=>{r&&Ae(o)?e[s]=gs(o,r):e[s]=o},{allOwnKeys:n}),e),pu=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),hu=(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},gu=(e,t,r,n)=>{let o,s,a;const c={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),s=o.length;s-- >0;)a=o[s],(!n||n(a,e,t))&&!c[a]&&(t[a]=e[a],c[a]=!0);e=r!==!1&&kn(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},mu=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;const n=e.indexOf(t,r);return n!==-1&&n===r},bu=e=>{if(!e)return null;if(St(e))return e;let t=e.length;if(!vs(t))return null;const r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},vu=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&kn(Uint8Array)),wu=(e,t)=>{const n=(e&&e[gr]).call(e);let o;for(;(o=n.next())&&!o.done;){const s=o.value;t.call(e,s[0],s[1])}},yu=(e,t)=>{let r;const n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},xu=$e("HTMLFormElement"),Su=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,o){return n.toUpperCase()+o}),xs=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),Cu=$e("RegExp"),Ss=(e,t)=>{const r=Object.getOwnPropertyDescriptors(e),n={};Kt(r,(o,s)=>{let a;(a=t(o,s,e))!==!1&&(n[s]=a||o)}),Object.defineProperties(e,n)},Eu=e=>{Ss(e,(t,r)=>{if(Ae(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;const n=e[r];if(Ae(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},Nu=(e,t)=>{const r={},n=o=>{o.forEach(s=>{r[s]=!0})};return St(e)?n(e):n(String(e).split(t)),r},Tu=()=>{},Au=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Pu(e){return!!(e&&Ae(e.append)&&e[ms]==="FormData"&&e[gr])}const Iu=e=>{const t=new Array(10),r=(n,o)=>{if(Vt(n)){if(t.indexOf(n)>=0)return;if(jt(n))return n;if(!("toJSON"in n)){t[o]=n;const s=St(n)?[]:{};return Kt(n,(a,c)=>{const l=r(a,o+1);!Ct(l)&&(s[c]=l)}),t[o]=void 0,s}}return n};return r(e,0)},_u=$e("AsyncFunction"),ku=e=>e&&(Vt(e)||Ae(e))&&Ae(e.then)&&Ae(e.catch),Cs=((e,t)=>e?setImmediate:t?((r,n)=>(ut.addEventListener("message",({source:o,data:s})=>{o===ut&&s===r&&n.length&&n.shift()()},!1),o=>{n.push(o),ut.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",Ae(ut.postMessage)),Ou=typeof queueMicrotask<"u"?queueMicrotask.bind(ut):typeof process<"u"&&process.nextTick||Cs,S={isArray:St,isArrayBuffer:bs,isBuffer:jt,isFormData:su,isArrayBufferView:Yd,isString:Jd,isNumber:vs,isBoolean:Zd,isObject:Vt,isPlainObject:vr,isEmptyObject:Qd,isReadableStream:iu,isRequest:cu,isResponse:lu,isHeaders:du,isUndefined:Ct,isDate:eu,isFile:tu,isBlob:ru,isRegExp:Cu,isFunction:Ae,isStream:ou,isURLSearchParams:au,isTypedArray:vu,isFileList:nu,forEach:Kt,merge:On,extend:fu,trim:uu,stripBOM:pu,inherits:hu,toFlatObject:gu,kindOf:mr,kindOfTest:$e,endsWith:mu,toArray:bu,forEachEntry:wu,matchAll:yu,isHTMLForm:xu,hasOwnProperty:xs,hasOwnProp:xs,reduceDescriptors:Ss,freezeMethods:Eu,toObjectSet:Nu,toCamelCase:Su,noop:Tu,toFiniteNumber:Au,findKey:ws,global:ut,isContextDefined:ys,isSpecCompliantForm:Pu,toJSONObject:Iu,isAsyncFn:_u,isThenable:ku,setImmediate:Cs,asap:Ou,isIterable:e=>e!=null&&Ae(e[gr])};function te(e,t,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o,this.status=o.status?o.status:null)}S.inherits(te,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:S.toJSONObject(this.config),code:this.code,status:this.status}}});const Es=te.prototype,Ns={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Ns[e]={value:e}}),Object.defineProperties(te,Ns),Object.defineProperty(Es,"isAxiosError",{value:!0}),te.from=(e,t,r,n,o,s)=>{const a=Object.create(Es);S.toFlatObject(e,a,function(u){return u!==Error.prototype},f=>f!=="isAxiosError");const c=e&&e.message?e.message:"Error",l=t==null&&e?e.code:t;return te.call(a,c,l,r,n,o),e&&a.cause==null&&Object.defineProperty(a,"cause",{value:e,configurable:!0}),a.name=e&&e.name||"Error",s&&Object.assign(a,s),a};const Mu=null;function Mn(e){return S.isPlainObject(e)||S.isArray(e)}function Ts(e){return S.endsWith(e,"[]")?e.slice(0,-2):e}function As(e,t,r){return e?e.concat(t).map(function(o,s){return o=Ts(o),!r&&s?"["+o+"]":o}).join(r?".":""):t}function Du(e){return S.isArray(e)&&!e.some(Mn)}const Lu=S.toFlatObject(S,{},null,function(t){return/^is[A-Z]/.test(t)});function wr(e,t,r){if(!S.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,r=S.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,b){return!S.isUndefined(b[h])});const n=r.metaTokens,o=r.visitor||u,s=r.dots,a=r.indexes,l=(r.Blob||typeof Blob<"u"&&Blob)&&S.isSpecCompliantForm(t);if(!S.isFunction(o))throw new TypeError("visitor must be a function");function f(m){if(m===null)return"";if(S.isDate(m))return m.toISOString();if(S.isBoolean(m))return m.toString();if(!l&&S.isBlob(m))throw new te("Blob is not supported. Use a Buffer instead.");return S.isArrayBuffer(m)||S.isTypedArray(m)?l&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function u(m,h,b){let w=m;if(m&&!b&&typeof m=="object"){if(S.endsWith(h,"{}"))h=n?h:h.slice(0,-2),m=JSON.stringify(m);else if(S.isArray(m)&&Du(m)||(S.isFileList(m)||S.endsWith(h,"[]"))&&(w=S.toArray(m)))return h=Ts(h),w.forEach(function(y,C){!(S.isUndefined(y)||y===null)&&t.append(a===!0?As([h],C,s):a===null?h:h+"[]",f(y))}),!1}return Mn(m)?!0:(t.append(As(b,h,s),f(m)),!1)}const p=[],g=Object.assign(Lu,{defaultVisitor:u,convertValue:f,isVisitable:Mn});function v(m,h){if(!S.isUndefined(m)){if(p.indexOf(m)!==-1)throw Error("Circular reference detected in "+h.join("."));p.push(m),S.forEach(m,function(w,x){(!(S.isUndefined(w)||w===null)&&o.call(t,w,S.isString(x)?x.trim():x,h,g))===!0&&v(w,h?h.concat(x):[x])}),p.pop()}}if(!S.isObject(e))throw new TypeError("data must be an object");return v(e),t}function Ps(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function Dn(e,t){this._pairs=[],e&&wr(e,this,t)}const Is=Dn.prototype;Is.append=function(t,r){this._pairs.push([t,r])},Is.toString=function(t){const r=t?function(n){return t.call(this,n,Ps)}:Ps;return this._pairs.map(function(o){return r(o[0])+"="+r(o[1])},"").join("&")};function Fu(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function _s(e,t,r){if(!t)return e;const n=r&&r.encode||Fu;S.isFunction(r)&&(r={serialize:r});const o=r&&r.serialize;let s;if(o?s=o(t,r):s=S.isURLSearchParams(t)?t.toString():new Dn(t,r).toString(n),s){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}class ks{constructor(){this.handlers=[]}use(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){S.forEach(this.handlers,function(n){n!==null&&t(n)})}}const Os={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},$u={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:Dn,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},Ln=typeof window<"u"&&typeof document<"u",Fn=typeof navigator=="object"&&navigator||void 0,Bu=Ln&&(!Fn||["ReactNative","NativeScript","NS"].indexOf(Fn.product)<0),Uu=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Hu=Ln&&window.location.href||"http://localhost",Ee={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ln,hasStandardBrowserEnv:Bu,hasStandardBrowserWebWorkerEnv:Uu,navigator:Fn,origin:Hu},Symbol.toStringTag,{value:"Module"})),...$u};function zu(e,t){return wr(e,new Ee.classes.URLSearchParams,{visitor:function(r,n,o,s){return Ee.isNode&&S.isBuffer(r)?(this.append(n,r.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)},...t})}function Wu(e){return S.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function ju(e){const t={},r=Object.keys(e);let n;const o=r.length;let s;for(n=0;n<o;n++)s=r[n],t[s]=e[s];return t}function Ms(e){function t(r,n,o,s){let a=r[s++];if(a==="__proto__")return!0;const c=Number.isFinite(+a),l=s>=r.length;return a=!a&&S.isArray(o)?o.length:a,l?(S.hasOwnProp(o,a)?o[a]=[o[a],n]:o[a]=n,!c):((!o[a]||!S.isObject(o[a]))&&(o[a]=[]),t(r,n,o[a],s)&&S.isArray(o[a])&&(o[a]=ju(o[a])),!c)}if(S.isFormData(e)&&S.isFunction(e.entries)){const r={};return S.forEachEntry(e,(n,o)=>{t(Wu(n),o,r,0)}),r}return null}function Vu(e,t,r){if(S.isString(e))try{return(t||JSON.parse)(e),S.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}const Rt={transitional:Os,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){const n=r.getContentType()||"",o=n.indexOf("application/json")>-1,s=S.isObject(t);if(s&&S.isHTMLForm(t)&&(t=new FormData(t)),S.isFormData(t))return o?JSON.stringify(Ms(t)):t;if(S.isArrayBuffer(t)||S.isBuffer(t)||S.isStream(t)||S.isFile(t)||S.isBlob(t)||S.isReadableStream(t))return t;if(S.isArrayBufferView(t))return t.buffer;if(S.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let c;if(s){if(n.indexOf("application/x-www-form-urlencoded")>-1)return zu(t,this.formSerializer).toString();if((c=S.isFileList(t))||n.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return wr(c?{"files[]":t}:t,l&&new l,this.formSerializer)}}return s||o?(r.setContentType("application/json",!1),Vu(t)):t}],transformResponse:[function(t){const r=this.transitional||Rt.transitional,n=r&&r.forcedJSONParsing,o=this.responseType==="json";if(S.isResponse(t)||S.isReadableStream(t))return t;if(t&&S.isString(t)&&(n&&!this.responseType||o)){const a=!(r&&r.silentJSONParsing)&&o;try{return JSON.parse(t,this.parseReviver)}catch(c){if(a)throw c.name==="SyntaxError"?te.from(c,te.ERR_BAD_RESPONSE,this,null,this.response):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ee.classes.FormData,Blob:Ee.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};S.forEach(["delete","get","head","post","put","patch"],e=>{Rt.headers[e]={}});const Ku=S.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Ru=e=>{const t={};let r,n,o;return e&&e.split(`
2
+ `).forEach(function(a){o=a.indexOf(":"),r=a.substring(0,o).trim().toLowerCase(),n=a.substring(o+1).trim(),!(!r||t[r]&&Ku[r])&&(r==="set-cookie"?t[r]?t[r].push(n):t[r]=[n]:t[r]=t[r]?t[r]+", "+n:n)}),t},Ds=Symbol("internals");function Gt(e){return e&&String(e).trim().toLowerCase()}function yr(e){return e===!1||e==null?e:S.isArray(e)?e.map(yr):String(e)}function Gu(e){const t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=r.exec(e);)t[n[1]]=n[2];return t}const qu=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function $n(e,t,r,n,o){if(S.isFunction(n))return n.call(this,t,r);if(o&&(t=r),!!S.isString(t)){if(S.isString(n))return t.indexOf(n)!==-1;if(S.isRegExp(n))return n.test(t)}}function Xu(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,n)=>r.toUpperCase()+n)}function Yu(e,t){const r=S.toCamelCase(" "+t);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+r,{value:function(o,s,a){return this[n].call(this,t,o,s,a)},configurable:!0})})}let Pe=class{constructor(t){t&&this.set(t)}set(t,r,n){const o=this;function s(c,l,f){const u=Gt(l);if(!u)throw new Error("header name must be a non-empty string");const p=S.findKey(o,u);(!p||o[p]===void 0||f===!0||f===void 0&&o[p]!==!1)&&(o[p||l]=yr(c))}const a=(c,l)=>S.forEach(c,(f,u)=>s(f,u,l));if(S.isPlainObject(t)||t instanceof this.constructor)a(t,r);else if(S.isString(t)&&(t=t.trim())&&!qu(t))a(Ru(t),r);else if(S.isObject(t)&&S.isIterable(t)){let c={},l,f;for(const u of t){if(!S.isArray(u))throw TypeError("Object iterator must return a key-value pair");c[f=u[0]]=(l=c[f])?S.isArray(l)?[...l,u[1]]:[l,u[1]]:u[1]}a(c,r)}else t!=null&&s(r,t,n);return this}get(t,r){if(t=Gt(t),t){const n=S.findKey(this,t);if(n){const o=this[n];if(!r)return o;if(r===!0)return Gu(o);if(S.isFunction(r))return r.call(this,o,n);if(S.isRegExp(r))return r.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=Gt(t),t){const n=S.findKey(this,t);return!!(n&&this[n]!==void 0&&(!r||$n(this,this[n],n,r)))}return!1}delete(t,r){const n=this;let o=!1;function s(a){if(a=Gt(a),a){const c=S.findKey(n,a);c&&(!r||$n(n,n[c],c,r))&&(delete n[c],o=!0)}}return S.isArray(t)?t.forEach(s):s(t),o}clear(t){const r=Object.keys(this);let n=r.length,o=!1;for(;n--;){const s=r[n];(!t||$n(this,this[s],s,t,!0))&&(delete this[s],o=!0)}return o}normalize(t){const r=this,n={};return S.forEach(this,(o,s)=>{const a=S.findKey(n,s);if(a){r[a]=yr(o),delete r[s];return}const c=t?Xu(s):String(s).trim();c!==s&&delete r[s],r[c]=yr(o),n[c]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const r=Object.create(null);return S.forEach(this,(n,o)=>{n!=null&&n!==!1&&(r[o]=t&&S.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(`
3
+ `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){const n=new this(t);return r.forEach(o=>n.set(o)),n}static accessor(t){const n=(this[Ds]=this[Ds]={accessors:{}}).accessors,o=this.prototype;function s(a){const c=Gt(a);n[c]||(Yu(o,a),n[c]=!0)}return S.isArray(t)?t.forEach(s):s(t),this}};Pe.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),S.reduceDescriptors(Pe.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(n){this[r]=n}}}),S.freezeMethods(Pe);function Bn(e,t){const r=this||Rt,n=t||r,o=Pe.from(n.headers);let s=n.data;return S.forEach(e,function(c){s=c.call(r,s,o.normalize(),t?t.status:void 0)}),o.normalize(),s}function Ls(e){return!!(e&&e.__CANCEL__)}function Et(e,t,r){te.call(this,e??"canceled",te.ERR_CANCELED,t,r),this.name="CanceledError"}S.inherits(Et,te,{__CANCEL__:!0});function Fs(e,t,r){const n=r.config.validateStatus;!r.status||!n||n(r.status)?e(r):t(new te("Request failed with status code "+r.status,[te.ERR_BAD_REQUEST,te.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function Ju(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Zu(e,t){e=e||10;const r=new Array(e),n=new Array(e);let o=0,s=0,a;return t=t!==void 0?t:1e3,function(l){const f=Date.now(),u=n[s];a||(a=f),r[o]=l,n[o]=f;let p=s,g=0;for(;p!==o;)g+=r[p++],p=p%e;if(o=(o+1)%e,o===s&&(s=(s+1)%e),f-a<t)return;const v=u&&f-u;return v?Math.round(g*1e3/v):void 0}}function Qu(e,t){let r=0,n=1e3/t,o,s;const a=(f,u=Date.now())=>{r=u,o=null,s&&(clearTimeout(s),s=null),e(...f)};return[(...f)=>{const u=Date.now(),p=u-r;p>=n?a(f,u):(o=f,s||(s=setTimeout(()=>{s=null,a(o)},n-p)))},()=>o&&a(o)]}const xr=(e,t,r=3)=>{let n=0;const o=Zu(50,250);return Qu(s=>{const a=s.loaded,c=s.lengthComputable?s.total:void 0,l=a-n,f=o(l),u=a<=c;n=a;const p={loaded:a,total:c,progress:c?a/c:void 0,bytes:l,rate:f||void 0,estimated:f&&c&&u?(c-a)/f:void 0,event:s,lengthComputable:c!=null,[t?"download":"upload"]:!0};e(p)},r)},$s=(e,t)=>{const r=e!=null;return[n=>t[0]({lengthComputable:r,total:e,loaded:n}),t[1]]},Bs=e=>(...t)=>S.asap(()=>e(...t)),ef=Ee.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,Ee.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(Ee.origin),Ee.navigator&&/(msie|trident)/i.test(Ee.navigator.userAgent)):()=>!0,tf=Ee.hasStandardBrowserEnv?{write(e,t,r,n,o,s){const a=[e+"="+encodeURIComponent(t)];S.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),S.isString(n)&&a.push("path="+n),S.isString(o)&&a.push("domain="+o),s===!0&&a.push("secure"),document.cookie=a.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function rf(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function nf(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Us(e,t,r){let n=!rf(t);return e&&(n||r==!1)?nf(e,t):t}const Hs=e=>e instanceof Pe?{...e}:e;function ft(e,t){t=t||{};const r={};function n(f,u,p,g){return S.isPlainObject(f)&&S.isPlainObject(u)?S.merge.call({caseless:g},f,u):S.isPlainObject(u)?S.merge({},u):S.isArray(u)?u.slice():u}function o(f,u,p,g){if(S.isUndefined(u)){if(!S.isUndefined(f))return n(void 0,f,p,g)}else return n(f,u,p,g)}function s(f,u){if(!S.isUndefined(u))return n(void 0,u)}function a(f,u){if(S.isUndefined(u)){if(!S.isUndefined(f))return n(void 0,f)}else return n(void 0,u)}function c(f,u,p){if(p in t)return n(f,u);if(p in e)return n(void 0,f)}const l={url:s,method:s,data:s,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:c,headers:(f,u,p)=>o(Hs(f),Hs(u),p,!0)};return S.forEach(Object.keys({...e,...t}),function(u){const p=l[u]||o,g=p(e[u],t[u],u);S.isUndefined(g)&&p!==c||(r[u]=g)}),r}const zs=e=>{const t=ft({},e);let{data:r,withXSRFToken:n,xsrfHeaderName:o,xsrfCookieName:s,headers:a,auth:c}=t;if(t.headers=a=Pe.from(a),t.url=_s(Us(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),c&&a.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),S.isFormData(r)){if(Ee.hasStandardBrowserEnv||Ee.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(S.isFunction(r.getHeaders)){const l=r.getHeaders(),f=["content-type","content-length"];Object.entries(l).forEach(([u,p])=>{f.includes(u.toLowerCase())&&a.set(u,p)})}}if(Ee.hasStandardBrowserEnv&&(n&&S.isFunction(n)&&(n=n(t)),n||n!==!1&&ef(t.url))){const l=o&&s&&tf.read(s);l&&a.set(o,l)}return t},of=typeof XMLHttpRequest<"u"&&function(e){return new Promise(function(r,n){const o=zs(e);let s=o.data;const a=Pe.from(o.headers).normalize();let{responseType:c,onUploadProgress:l,onDownloadProgress:f}=o,u,p,g,v,m;function h(){v&&v(),m&&m(),o.cancelToken&&o.cancelToken.unsubscribe(u),o.signal&&o.signal.removeEventListener("abort",u)}let b=new XMLHttpRequest;b.open(o.method.toUpperCase(),o.url,!0),b.timeout=o.timeout;function w(){if(!b)return;const y=Pe.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),T={data:!c||c==="text"||c==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:y,config:e,request:b};Fs(function(N){r(N),h()},function(N){n(N),h()},T),b=null}"onloadend"in b?b.onloadend=w:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.indexOf("file:")===0)||setTimeout(w)},b.onabort=function(){b&&(n(new te("Request aborted",te.ECONNABORTED,e,b)),b=null)},b.onerror=function(C){const T=C&&C.message?C.message:"Network Error",M=new te(T,te.ERR_NETWORK,e,b);M.event=C||null,n(M),b=null},b.ontimeout=function(){let C=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const T=o.transitional||Os;o.timeoutErrorMessage&&(C=o.timeoutErrorMessage),n(new te(C,T.clarifyTimeoutError?te.ETIMEDOUT:te.ECONNABORTED,e,b)),b=null},s===void 0&&a.setContentType(null),"setRequestHeader"in b&&S.forEach(a.toJSON(),function(C,T){b.setRequestHeader(T,C)}),S.isUndefined(o.withCredentials)||(b.withCredentials=!!o.withCredentials),c&&c!=="json"&&(b.responseType=o.responseType),f&&([g,m]=xr(f,!0),b.addEventListener("progress",g)),l&&b.upload&&([p,v]=xr(l),b.upload.addEventListener("progress",p),b.upload.addEventListener("loadend",v)),(o.cancelToken||o.signal)&&(u=y=>{b&&(n(!y||y.type?new Et(null,e,b):y),b.abort(),b=null)},o.cancelToken&&o.cancelToken.subscribe(u),o.signal&&(o.signal.aborted?u():o.signal.addEventListener("abort",u)));const x=Ju(o.url);if(x&&Ee.protocols.indexOf(x)===-1){n(new te("Unsupported protocol "+x+":",te.ERR_BAD_REQUEST,e));return}b.send(s||null)})},sf=(e,t)=>{const{length:r}=e=e?e.filter(Boolean):[];if(t||r){let n=new AbortController,o;const s=function(f){if(!o){o=!0,c();const u=f instanceof Error?f:this.reason;n.abort(u instanceof te?u:new Et(u instanceof Error?u.message:u))}};let a=t&&setTimeout(()=>{a=null,s(new te(`timeout ${t} of ms exceeded`,te.ETIMEDOUT))},t);const c=()=>{e&&(a&&clearTimeout(a),a=null,e.forEach(f=>{f.unsubscribe?f.unsubscribe(s):f.removeEventListener("abort",s)}),e=null)};e.forEach(f=>f.addEventListener("abort",s));const{signal:l}=n;return l.unsubscribe=()=>S.asap(c),l}},af=function*(e,t){let r=e.byteLength;if(r<t){yield e;return}let n=0,o;for(;n<r;)o=n+t,yield e.slice(n,o),n=o},cf=async function*(e,t){for await(const r of lf(e))yield*af(r,t)},lf=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:r,value:n}=await t.read();if(r)break;yield n}}finally{await t.cancel()}},Ws=(e,t,r,n)=>{const o=cf(e,t);let s=0,a,c=l=>{a||(a=!0,n&&n(l))};return new ReadableStream({async pull(l){try{const{done:f,value:u}=await o.next();if(f){c(),l.close();return}let p=u.byteLength;if(r){let g=s+=p;r(g)}l.enqueue(new Uint8Array(u))}catch(f){throw c(f),f}},cancel(l){return c(l),o.return()}},{highWaterMark:2})},js=64*1024,{isFunction:Sr}=S,df=(({Request:e,Response:t})=>({Request:e,Response:t}))(S.global),{ReadableStream:Vs,TextEncoder:Ks}=S.global,Rs=(e,...t)=>{try{return!!e(...t)}catch{return!1}},uf=e=>{e=S.merge.call({skipUndefined:!0},df,e);const{fetch:t,Request:r,Response:n}=e,o=t?Sr(t):typeof fetch=="function",s=Sr(r),a=Sr(n);if(!o)return!1;const c=o&&Sr(Vs),l=o&&(typeof Ks=="function"?(m=>h=>m.encode(h))(new Ks):async m=>new Uint8Array(await new r(m).arrayBuffer())),f=s&&c&&Rs(()=>{let m=!1;const h=new r(Ee.origin,{body:new Vs,method:"POST",get duplex(){return m=!0,"half"}}).headers.has("Content-Type");return m&&!h}),u=a&&c&&Rs(()=>S.isReadableStream(new n("").body)),p={stream:u&&(m=>m.body)};o&&["text","arrayBuffer","blob","formData","stream"].forEach(m=>{!p[m]&&(p[m]=(h,b)=>{let w=h&&h[m];if(w)return w.call(h);throw new te(`Response type '${m}' is not supported`,te.ERR_NOT_SUPPORT,b)})});const g=async m=>{if(m==null)return 0;if(S.isBlob(m))return m.size;if(S.isSpecCompliantForm(m))return(await new r(Ee.origin,{method:"POST",body:m}).arrayBuffer()).byteLength;if(S.isArrayBufferView(m)||S.isArrayBuffer(m))return m.byteLength;if(S.isURLSearchParams(m)&&(m=m+""),S.isString(m))return(await l(m)).byteLength},v=async(m,h)=>{const b=S.toFiniteNumber(m.getContentLength());return b??g(h)};return async m=>{let{url:h,method:b,data:w,signal:x,cancelToken:y,timeout:C,onDownloadProgress:T,onUploadProgress:M,responseType:N,headers:F,withCredentials:B="same-origin",fetchOptions:z}=zs(m),R=t||fetch;N=N?(N+"").toLowerCase():"text";let X=sf([x,y&&y.toAbortSignal()],C),V=null;const I=X&&X.unsubscribe&&(()=>{X.unsubscribe()});let U;try{if(M&&f&&b!=="get"&&b!=="head"&&(U=await v(F,w))!==0){let G=new r(h,{method:"POST",body:w,duplex:"half"}),re;if(S.isFormData(w)&&(re=G.headers.get("content-type"))&&F.setContentType(re),G.body){const[$,K]=$s(U,xr(Bs(M)));w=Ws(G.body,js,$,K)}}S.isString(B)||(B=B?"include":"omit");const _=s&&"credentials"in r.prototype,W={...z,signal:X,method:b.toUpperCase(),headers:F.normalize().toJSON(),body:w,duplex:"half",credentials:_?B:void 0};V=s&&new r(h,W);let D=await(s?R(V,z):R(h,W));const E=u&&(N==="stream"||N==="response");if(u&&(T||E&&I)){const G={};["status","statusText","headers"].forEach(ie=>{G[ie]=D[ie]});const re=S.toFiniteNumber(D.headers.get("content-length")),[$,K]=T&&$s(re,xr(Bs(T),!0))||[];D=new n(Ws(D.body,js,$,()=>{K&&K(),I&&I()}),G)}N=N||"text";let Z=await p[S.findKey(p,N)||"text"](D,m);return!E&&I&&I(),await new Promise((G,re)=>{Fs(G,re,{data:Z,headers:Pe.from(D.headers),status:D.status,statusText:D.statusText,config:m,request:V})})}catch(_){throw I&&I(),_&&_.name==="TypeError"&&/Load failed|fetch/i.test(_.message)?Object.assign(new te("Network Error",te.ERR_NETWORK,m,V),{cause:_.cause||_}):te.from(_,_&&_.code,m,V)}}},ff=new Map,Gs=e=>{let t=e?e.env:{};const{fetch:r,Request:n,Response:o}=t,s=[n,o,r];let a=s.length,c=a,l,f,u=ff;for(;c--;)l=s[c],f=u.get(l),f===void 0&&u.set(l,f=c?new Map:uf(t)),u=f;return f};Gs();const Un={http:Mu,xhr:of,fetch:{get:Gs}};S.forEach(Un,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const qs=e=>`- ${e}`,pf=e=>S.isFunction(e)||e===null||e===!1,Xs={getAdapter:(e,t)=>{e=S.isArray(e)?e:[e];const{length:r}=e;let n,o;const s={};for(let a=0;a<r;a++){n=e[a];let c;if(o=n,!pf(n)&&(o=Un[(c=String(n)).toLowerCase()],o===void 0))throw new te(`Unknown adapter '${c}'`);if(o&&(S.isFunction(o)||(o=o.get(t))))break;s[c||"#"+a]=o}if(!o){const a=Object.entries(s).map(([l,f])=>`adapter ${l} `+(f===!1?"is not supported by the environment":"is not available in the build"));let c=r?a.length>1?`since :
4
4
  `+a.map(qs).join(`
5
- `):" "+qs(a[0]):"as no adapter specified";throw new te("There is no suitable adapter to dispatch the request "+c,"ERR_NOT_SUPPORT")}return o},adapters:Un};function Hn(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Et(null,e)}function Ys(e){return Hn(e),e.headers=Pe.from(e.headers),e.data=Bn.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Xs.getAdapter(e.adapter||Kt.adapter,e)(e).then(function(n){return Hn(e),n.data=Bn.call(e,e.transformResponse,n),n.headers=Pe.from(n.headers),n},function(n){return Ls(n)||(Hn(e),n&&n.response&&(n.response.data=Bn.call(e,e.transformResponse,n.response),n.response.headers=Pe.from(n.response.headers))),Promise.reject(n)})}const Js="1.12.2",Cr={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Cr[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});const Zs={};Cr.transitional=function(t,r,n){function o(s,a){return"[Axios v"+Js+"] Transitional option '"+s+"'"+a+(n?". "+n:"")}return(s,a,c)=>{if(t===!1)throw new te(o(a," has been removed"+(r?" in "+r:"")),te.ERR_DEPRECATED);return r&&!Zs[a]&&(Zs[a]=!0,console.warn(o(a," has been deprecated since v"+r+" and will be removed in the near future"))),t?t(s,a,c):!0}},Cr.spelling=function(t){return(r,n)=>(console.warn(`${n} is likely a misspelling of ${t}`),!0)};function hf(e,t,r){if(typeof e!="object")throw new te("options must be an object",te.ERR_BAD_OPTION_VALUE);const n=Object.keys(e);let o=n.length;for(;o-- >0;){const s=n[o],a=t[s];if(a){const c=e[s],l=c===void 0||a(c,s,e);if(l!==!0)throw new te("option "+s+" must be "+l,te.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new te("Unknown option "+s,te.ERR_BAD_OPTION)}}const Er={assertOptions:hf,validators:Cr},Re=Er.validators;let pt=class{constructor(t){this.defaults=t||{},this.interceptors={request:new ks,response:new ks}}async request(t,r){try{return await this._request(t,r)}catch(n){if(n instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;const s=o.stack?o.stack.replace(/^.+\n/,""):"";try{n.stack?s&&!String(n.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(n.stack+=`
6
- `+s):n.stack=s}catch{}}throw n}}_request(t,r){typeof t=="string"?(r=r||{},r.url=t):r=t||{},r=ft(this.defaults,r);const{transitional:n,paramsSerializer:o,headers:s}=r;n!==void 0&&Er.assertOptions(n,{silentJSONParsing:Re.transitional(Re.boolean),forcedJSONParsing:Re.transitional(Re.boolean),clarifyTimeoutError:Re.transitional(Re.boolean)},!1),o!=null&&(S.isFunction(o)?r.paramsSerializer={serialize:o}:Er.assertOptions(o,{encode:Re.function,serialize:Re.function},!0)),r.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?r.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:r.allowAbsoluteUrls=!0),Er.assertOptions(r,{baseUrl:Re.spelling("baseURL"),withXsrfToken:Re.spelling("withXSRFToken")},!0),r.method=(r.method||this.defaults.method||"get").toLowerCase();let a=s&&S.merge(s.common,s[r.method]);s&&S.forEach(["delete","get","head","post","put","patch","common"],m=>{delete s[m]}),r.headers=Pe.concat(a,s);const c=[];let l=!0;this.interceptors.request.forEach(function(h){typeof h.runWhen=="function"&&h.runWhen(r)===!1||(l=l&&h.synchronous,c.unshift(h.fulfilled,h.rejected))});const f=[];this.interceptors.response.forEach(function(h){f.push(h.fulfilled,h.rejected)});let u,p=0,g;if(!l){const m=[Ys.bind(this),void 0];for(m.unshift(...c),m.push(...f),g=m.length,u=Promise.resolve(r);p<g;)u=u.then(m[p++],m[p++]);return u}g=c.length;let v=r;for(;p<g;){const m=c[p++],h=c[p++];try{v=m(v)}catch(b){h.call(this,b);break}}try{u=Ys.call(this,v)}catch(m){return Promise.reject(m)}for(p=0,g=f.length;p<g;)u=u.then(f[p++],f[p++]);return u}getUri(t){t=ft(this.defaults,t);const r=Us(t.baseURL,t.url,t.allowAbsoluteUrls);return _s(r,t.params,t.paramsSerializer)}};S.forEach(["delete","get","head","options"],function(t){pt.prototype[t]=function(r,n){return this.request(ft(n||{},{method:t,url:r,data:(n||{}).data}))}}),S.forEach(["post","put","patch"],function(t){function r(n){return function(s,a,c){return this.request(ft(c||{},{method:t,headers:n?{"Content-Type":"multipart/form-data"}:{},url:s,data:a}))}}pt.prototype[t]=r(),pt.prototype[t+"Form"]=r(!0)});let gf=class Vd{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(s){r=s});const n=this;this.promise.then(o=>{if(!n._listeners)return;let s=n._listeners.length;for(;s-- >0;)n._listeners[s](o);n._listeners=null}),this.promise.then=o=>{let s;const a=new Promise(c=>{n.subscribe(c),s=c}).then(o);return a.cancel=function(){n.unsubscribe(s)},a},t(function(s,a,c){n.reason||(n.reason=new Et(s,a,c),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const r=this._listeners.indexOf(t);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){const t=new AbortController,r=n=>{t.abort(n)};return this.subscribe(r),t.signal.unsubscribe=()=>this.unsubscribe(r),t.signal}static source(){let t;return{token:new Vd(function(o){t=o}),cancel:t}}};function mf(e){return function(r){return e.apply(null,r)}}function bf(e){return S.isObject(e)&&e.isAxiosError===!0}const zn={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(zn).forEach(([e,t])=>{zn[t]=e});function Qs(e){const t=new pt(e),r=gs(pt.prototype.request,t);return S.extend(r,pt.prototype,t,{allOwnKeys:!0}),S.extend(r,t,null,{allOwnKeys:!0}),r.create=function(o){return Qs(ft(e,o))},r}const ye=Qs(Kt);ye.Axios=pt,ye.CanceledError=Et,ye.CancelToken=gf,ye.isCancel=Ls,ye.VERSION=Js,ye.toFormData=wr,ye.AxiosError=te,ye.Cancel=ye.CanceledError,ye.all=function(t){return Promise.all(t)},ye.spread=mf,ye.isAxiosError=bf,ye.mergeConfig=ft,ye.AxiosHeaders=Pe,ye.formToJSON=e=>Ms(S.isHTMLForm(e)?new FormData(e):e),ye.getAdapter=Xs.getAdapter,ye.HttpStatusCode=zn,ye.default=ye;const{Axios:zw,AxiosError:Ww,CanceledError:jw,isCancel:Vw,CancelToken:Rw,VERSION:Kw,all:Gw,Cancel:qw,isAxiosError:Xw,spread:Yw,toFormData:Jw,AxiosHeaders:Zw,HttpStatusCode:Qw,formToJSON:ey,getAdapter:ty,mergeConfig:ry}=ye,Wn={};function Nt(){var e;try{return typeof window<"u"&&((e=window.localStorage)==null?void 0:e.getItem("chat-debug"))==="1"}catch{return!1}}const ea=Wn==null?void 0:Wn.VITE_API_BASE_URL,ta=ea?ea.replace(/\/+$/,""):void 0;!ta&&typeof window<"u"&&console.warn("VITE_API_BASE_URL is not set. The API client will need to be configured via apiConfig prop.");let Nr=null;const jn=new Set;function ra(){return Nr}function Vn(e){Nr=e,jn.forEach(t=>t(e))}function na(e){return jn.add(e),()=>jn.delete(e)}const rt=ye.create({baseURL:ta||"http://localhost:8000",timeout:3e4,withCredentials:!0});rt.interceptors.request.use(e=>(Nr&&(e.headers.Authorization=`Bearer ${Nr}`),e)),rt.interceptors.response.use(e=>e,e=>Promise.reject(e));async function Me(e,t){return(await rt.get(e,t)).data}async function qt(e,t,r){return(await rt.post(e,t,r)).data}async function oa(e,t,r){return(await rt.put(e,t,r)).data}async function sa(e,t){return(await rt.delete(e,t)).data}function Ne(e){return e&&typeof e=="object"&&"data"in e?e.data:e}class Tr{get baseUrl(){const t=rt.defaults.baseURL||"";return String(t).replace(/\/+$|^\s+|\s+$/g,"")}updateConfig(t){t.baseUrl&&(rt.defaults.baseURL=String(t.baseUrl).replace(/\/+$/g,"")),t.authToken!==void 0&&Vn(t.authToken)}getAuthToken(){return ra()}setAuthToken(t){Vn(t)}onTokenChange(t){return na(t)}async listThreads(){const t=await Me("/chat/threads"),r=Ne(t);return(r==null?void 0:r.items)??(t==null?void 0:t.items)??[]}async createThread(t){const n=await qt("/chat/threads",t?{title:t}:void 0);return Ne(n)}async updateThread(t,r){const n=await oa(`/chat/threads/${t}`,{title:r});return Ne(n)}async deleteThread(t){const r=await sa(`/chat/threads/${t}`);return Ne(r)}async threadInfo(t){const r=await Me(`/chat/threads/${t}/info`);return Ne(r)}async listAgents(){const t=await Me("/chat/agents"),r=Ne(t);return(r==null?void 0:r.items)??[]}async getAgent(t){const r=await Me(`/chat/agents/${t}`);return Ne(r)}async getAgentSchema(t){const r=await Me(`/chat/agents/${t}/schema`);return Ne(r)}async getMessages(t){const r=await Me(`/chat/threads/${t.threadId}/messages`,{params:{thread_id:t.threadId,checkpoint_id:t.checkpointId,checkpoint_ns:t.checkpointNs,limit:t.limit,before_id:t.beforeId??void 0}});return Ne(r)}async getState(t){const r=await Me(`/chat/threads/${t.threadId}/state`,{params:{thread_id:t.threadId,checkpoint_id:t.checkpointId,checkpoint_ns:t.checkpointNs}});return Ne(r)}async getStateHistory(t){const r=await Me(`/chat/threads/${t.threadId}/state/history`,{params:{thread_id:t.threadId,checkpoint_id:t.checkpointId,checkpoint_ns:t.checkpointNs}});return Ne(r)}async listCheckpoints(t){const r=await Me(`/chat/threads/${t}/checkpoints`,{params:{thread_id:t}});return Ne(r)}async uploadExcel(t,r="/upload_excel",n={}){const o=new FormData,s=t.name.replace(/\.[^.]+$/,"").toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||`excel_${Date.now()}`,a=(n.tableName??s).trim();o.append("file",t,t.name),o.append("table_name",a),n.sheetName&&o.append("sheet_name",n.sheetName),Nt()&&console.debug("[api.uploadExcel] ->",r,{name:t.name,size:t.size,tableName:a,sheetName:n.sheetName});const c=await qt(r,o,{headers:{Accept:"application/json"},maxBodyLength:1/0}),l=Ne(c);return Nt()&&console.debug("[api.uploadExcel] <-",l),l}async uploadImage(t,r="/upload"){const n=new FormData;n.append("file",t,t.name),Nt()&&console.debug("[api.uploadImage] ->",r,{name:t.name,type:t.type,size:t.size});const o=await qt(r,n,{headers:{Accept:"application/json"},maxBodyLength:1/0}),s=Ne(o);if(Nt()&&console.debug("[api.uploadImage] <-",s),!(s!=null&&s.url))throw new Error("Invalid upload response: missing url");return{url:s.url,mimeType:s.mimeType??t.type,name:s.name??t.name,size:s.size??t.size}}async uploadFile(t,r,n,o){const s={file_data:t,filename:r,mime_type:n};o&&(s.thread_id=o),Nt()&&console.debug("[api.uploadFile] ->","/chat/files/upload",s);const a=await qt("/chat/files/upload",s,{headers:{Accept:"application/json"}}),c=Ne(a);if(Nt()&&console.debug("[api.uploadFile] <-",c),!(c!=null&&c.id))throw new Error("Invalid upload response: missing id");return c}}const Ke=new Tr;function aa(e={}){const t=e.baseUrl??"/api/chat",r=e.streamPath??"/runs/stream",[n,o]=A.useState(e.token??null),s=A.useRef(e.headers??{}),[a,c]=A.useState(!1),[l,f]=A.useState(null),[u,p]=A.useState(""),[g,v]=A.useState(null),m=A.useRef(null),h=A.useCallback(y=>{o(y)},[]),b=A.useCallback(()=>{var y;(y=m.current)==null||y.abort(),m.current=null,c(!1)},[]),w=A.useCallback(()=>{p(""),v(null),f(null)},[]),x=A.useCallback((y,C,T)=>{m.current&&(m.current.abort(),m.current=null),c(!0),f(null),e.autoAppendAssistant!==!1&&p("");const M=new AbortController;return m.current=M,(async()=>{var B,z,K,X,V;const N=(()=>{var I;try{return typeof window<"u"&&((I=window.localStorage)==null?void 0:I.getItem("chat-debug"))==="1"}catch{return!1}})(),F=I=>{var U;try{const _=JSON.parse(JSON.stringify(I));return(U=_==null?void 0:_.payload)!=null&&U.files_info&&Array.isArray(_.payload.files_info)&&(_.payload.files_info=_.payload.files_info.map(W=>({...W,data:W!=null&&W.data?`<base64 ${String(W.data).length} chars>`:W==null?void 0:W.data}))),_}catch{return I}};try{let I={};try{if(n)I={Authorization:`Bearer ${n}`};else if(typeof window<"u"){const Z=window.__AUTH_TOKEN__,G=((B=window.localStorage)==null?void 0:B.getItem("authToken"))||null;let re=null;try{const R=(z=window.localStorage)==null?void 0:z.getItem("chat-settings");R&&(re=((K=JSON.parse(R))==null?void 0:K.apiKey)||null)}catch{}const $=Z||G||re||null;$&&(I={Authorization:`Bearer ${$}`})}}catch{}N&&console.debug("[use-chat] POST",t+r,F(y));const U=await fetch(t+r,{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream",...I,...s.current},body:JSON.stringify(y),signal:M.signal});if(!U.ok||!U.body){const E=await U.text().catch(()=>"");throw N&&console.debug("[use-chat] non-OK response",U.status,E==null?void 0:E.slice(0,500)),new Error(`stream ${U.status}${E?": "+E:""}`)}try{const E=U.headers.get("X-Thread-Id")||U.headers.get("x-thread-id"),Z=U.headers.get("X-Thread-Created")||U.headers.get("x-thread-created"),G=E??null,re=String(Z??"").toLowerCase()==="true";try{(X=T==null?void 0:T.onOpen)==null||X.call(T,{threadId:G,created:re})}catch($){N&&console.debug("[use-chat] onOpen handler threw:",$)}}catch(E){N&&console.debug("[use-chat] failed to read headers:",E)}const _=U.body.getReader(),W=new TextDecoder;let D="";for(;;){const{value:E,done:Z}=await _.read();if(Z)break;D+=W.decode(E,{stream:!0});let G;for(;(G=D.indexOf(`
5
+ `):" "+qs(a[0]):"as no adapter specified";throw new te("There is no suitable adapter to dispatch the request "+c,"ERR_NOT_SUPPORT")}return o},adapters:Un};function Hn(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Et(null,e)}function Ys(e){return Hn(e),e.headers=Pe.from(e.headers),e.data=Bn.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Xs.getAdapter(e.adapter||Rt.adapter,e)(e).then(function(n){return Hn(e),n.data=Bn.call(e,e.transformResponse,n),n.headers=Pe.from(n.headers),n},function(n){return Ls(n)||(Hn(e),n&&n.response&&(n.response.data=Bn.call(e,e.transformResponse,n.response),n.response.headers=Pe.from(n.response.headers))),Promise.reject(n)})}const Js="1.12.2",Cr={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Cr[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});const Zs={};Cr.transitional=function(t,r,n){function o(s,a){return"[Axios v"+Js+"] Transitional option '"+s+"'"+a+(n?". "+n:"")}return(s,a,c)=>{if(t===!1)throw new te(o(a," has been removed"+(r?" in "+r:"")),te.ERR_DEPRECATED);return r&&!Zs[a]&&(Zs[a]=!0,console.warn(o(a," has been deprecated since v"+r+" and will be removed in the near future"))),t?t(s,a,c):!0}},Cr.spelling=function(t){return(r,n)=>(console.warn(`${n} is likely a misspelling of ${t}`),!0)};function hf(e,t,r){if(typeof e!="object")throw new te("options must be an object",te.ERR_BAD_OPTION_VALUE);const n=Object.keys(e);let o=n.length;for(;o-- >0;){const s=n[o],a=t[s];if(a){const c=e[s],l=c===void 0||a(c,s,e);if(l!==!0)throw new te("option "+s+" must be "+l,te.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new te("Unknown option "+s,te.ERR_BAD_OPTION)}}const Er={assertOptions:hf,validators:Cr},Ke=Er.validators;let pt=class{constructor(t){this.defaults=t||{},this.interceptors={request:new ks,response:new ks}}async request(t,r){try{return await this._request(t,r)}catch(n){if(n instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;const s=o.stack?o.stack.replace(/^.+\n/,""):"";try{n.stack?s&&!String(n.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(n.stack+=`
6
+ `+s):n.stack=s}catch{}}throw n}}_request(t,r){typeof t=="string"?(r=r||{},r.url=t):r=t||{},r=ft(this.defaults,r);const{transitional:n,paramsSerializer:o,headers:s}=r;n!==void 0&&Er.assertOptions(n,{silentJSONParsing:Ke.transitional(Ke.boolean),forcedJSONParsing:Ke.transitional(Ke.boolean),clarifyTimeoutError:Ke.transitional(Ke.boolean)},!1),o!=null&&(S.isFunction(o)?r.paramsSerializer={serialize:o}:Er.assertOptions(o,{encode:Ke.function,serialize:Ke.function},!0)),r.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?r.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:r.allowAbsoluteUrls=!0),Er.assertOptions(r,{baseUrl:Ke.spelling("baseURL"),withXsrfToken:Ke.spelling("withXSRFToken")},!0),r.method=(r.method||this.defaults.method||"get").toLowerCase();let a=s&&S.merge(s.common,s[r.method]);s&&S.forEach(["delete","get","head","post","put","patch","common"],m=>{delete s[m]}),r.headers=Pe.concat(a,s);const c=[];let l=!0;this.interceptors.request.forEach(function(h){typeof h.runWhen=="function"&&h.runWhen(r)===!1||(l=l&&h.synchronous,c.unshift(h.fulfilled,h.rejected))});const f=[];this.interceptors.response.forEach(function(h){f.push(h.fulfilled,h.rejected)});let u,p=0,g;if(!l){const m=[Ys.bind(this),void 0];for(m.unshift(...c),m.push(...f),g=m.length,u=Promise.resolve(r);p<g;)u=u.then(m[p++],m[p++]);return u}g=c.length;let v=r;for(;p<g;){const m=c[p++],h=c[p++];try{v=m(v)}catch(b){h.call(this,b);break}}try{u=Ys.call(this,v)}catch(m){return Promise.reject(m)}for(p=0,g=f.length;p<g;)u=u.then(f[p++],f[p++]);return u}getUri(t){t=ft(this.defaults,t);const r=Us(t.baseURL,t.url,t.allowAbsoluteUrls);return _s(r,t.params,t.paramsSerializer)}};S.forEach(["delete","get","head","options"],function(t){pt.prototype[t]=function(r,n){return this.request(ft(n||{},{method:t,url:r,data:(n||{}).data}))}}),S.forEach(["post","put","patch"],function(t){function r(n){return function(s,a,c){return this.request(ft(c||{},{method:t,headers:n?{"Content-Type":"multipart/form-data"}:{},url:s,data:a}))}}pt.prototype[t]=r(),pt.prototype[t+"Form"]=r(!0)});let gf=class Vd{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(s){r=s});const n=this;this.promise.then(o=>{if(!n._listeners)return;let s=n._listeners.length;for(;s-- >0;)n._listeners[s](o);n._listeners=null}),this.promise.then=o=>{let s;const a=new Promise(c=>{n.subscribe(c),s=c}).then(o);return a.cancel=function(){n.unsubscribe(s)},a},t(function(s,a,c){n.reason||(n.reason=new Et(s,a,c),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const r=this._listeners.indexOf(t);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){const t=new AbortController,r=n=>{t.abort(n)};return this.subscribe(r),t.signal.unsubscribe=()=>this.unsubscribe(r),t.signal}static source(){let t;return{token:new Vd(function(o){t=o}),cancel:t}}};function mf(e){return function(r){return e.apply(null,r)}}function bf(e){return S.isObject(e)&&e.isAxiosError===!0}const zn={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(zn).forEach(([e,t])=>{zn[t]=e});function Qs(e){const t=new pt(e),r=gs(pt.prototype.request,t);return S.extend(r,pt.prototype,t,{allOwnKeys:!0}),S.extend(r,t,null,{allOwnKeys:!0}),r.create=function(o){return Qs(ft(e,o))},r}const ye=Qs(Rt);ye.Axios=pt,ye.CanceledError=Et,ye.CancelToken=gf,ye.isCancel=Ls,ye.VERSION=Js,ye.toFormData=wr,ye.AxiosError=te,ye.Cancel=ye.CanceledError,ye.all=function(t){return Promise.all(t)},ye.spread=mf,ye.isAxiosError=bf,ye.mergeConfig=ft,ye.AxiosHeaders=Pe,ye.formToJSON=e=>Ms(S.isHTMLForm(e)?new FormData(e):e),ye.getAdapter=Xs.getAdapter,ye.HttpStatusCode=zn,ye.default=ye;const{Axios:zw,AxiosError:Ww,CanceledError:jw,isCancel:Vw,CancelToken:Kw,VERSION:Rw,all:Gw,Cancel:qw,isAxiosError:Xw,spread:Yw,toFormData:Jw,AxiosHeaders:Zw,HttpStatusCode:Qw,formToJSON:ey,getAdapter:ty,mergeConfig:ry}=ye,Wn={};function Nt(){var e;try{return typeof window<"u"&&((e=window.localStorage)==null?void 0:e.getItem("chat-debug"))==="1"}catch{return!1}}const ea=Wn==null?void 0:Wn.VITE_API_BASE_URL,ta=ea?ea.replace(/\/+$/,""):void 0;!ta&&typeof window<"u"&&console.warn("VITE_API_BASE_URL is not set. The API client will need to be configured via apiConfig prop.");let Nr=null;const jn=new Set;function ra(){return Nr}function Vn(e){Nr=e,jn.forEach(t=>t(e))}function na(e){return jn.add(e),()=>jn.delete(e)}const rt=ye.create({baseURL:ta||"http://localhost:8000",timeout:3e4,withCredentials:!0});rt.interceptors.request.use(e=>(Nr&&(e.headers.Authorization=`Bearer ${Nr}`),e)),rt.interceptors.response.use(e=>e,e=>Promise.reject(e));async function Me(e,t){return(await rt.get(e,t)).data}async function qt(e,t,r){return(await rt.post(e,t,r)).data}async function oa(e,t,r){return(await rt.put(e,t,r)).data}async function sa(e,t){return(await rt.delete(e,t)).data}function Ne(e){return e&&typeof e=="object"&&"data"in e?e.data:e}class Tr{get baseUrl(){const t=rt.defaults.baseURL||"";return String(t).replace(/\/+$|^\s+|\s+$/g,"")}updateConfig(t){t.baseUrl&&(rt.defaults.baseURL=String(t.baseUrl).replace(/\/+$/g,"")),t.authToken!==void 0&&Vn(t.authToken)}getAuthToken(){return ra()}setAuthToken(t){Vn(t)}onTokenChange(t){return na(t)}async listThreads(){const t=await Me("/chat/threads"),r=Ne(t);return(r==null?void 0:r.items)??(t==null?void 0:t.items)??[]}async createThread(t){const n=await qt("/chat/threads",t?{title:t}:void 0);return Ne(n)}async updateThread(t,r){const n=await oa(`/chat/threads/${t}`,{title:r});return Ne(n)}async deleteThread(t){const r=await sa(`/chat/threads/${t}`);return Ne(r)}async threadInfo(t){const r=await Me(`/chat/threads/${t}/info`);return Ne(r)}async listAgents(){const t=await Me("/chat/agents"),r=Ne(t);return(r==null?void 0:r.items)??[]}async getAgent(t){const r=await Me(`/chat/agents/${t}`);return Ne(r)}async getAgentSchema(t){const r=await Me(`/chat/agents/${t}/schema`);return Ne(r)}async getMessages(t){const r=await Me(`/chat/threads/${t.threadId}/messages`,{params:{thread_id:t.threadId,checkpoint_id:t.checkpointId,checkpoint_ns:t.checkpointNs,limit:t.limit,before_id:t.beforeId??void 0}});return Ne(r)}async getState(t){const r=await Me(`/chat/threads/${t.threadId}/state`,{params:{thread_id:t.threadId,checkpoint_id:t.checkpointId,checkpoint_ns:t.checkpointNs}});return Ne(r)}async getStateHistory(t){const r=await Me(`/chat/threads/${t.threadId}/state/history`,{params:{thread_id:t.threadId,checkpoint_id:t.checkpointId,checkpoint_ns:t.checkpointNs}});return Ne(r)}async listCheckpoints(t){const r=await Me(`/chat/threads/${t}/checkpoints`,{params:{thread_id:t}});return Ne(r)}async uploadExcel(t,r="/upload_excel",n={}){const o=new FormData,s=t.name.replace(/\.[^.]+$/,"").toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||`excel_${Date.now()}`,a=(n.tableName??s).trim();o.append("file",t,t.name),o.append("table_name",a),n.sheetName&&o.append("sheet_name",n.sheetName),Nt()&&console.debug("[api.uploadExcel] ->",r,{name:t.name,size:t.size,tableName:a,sheetName:n.sheetName});const c=await qt(r,o,{headers:{Accept:"application/json"},maxBodyLength:1/0}),l=Ne(c);return Nt()&&console.debug("[api.uploadExcel] <-",l),l}async uploadImage(t,r="/upload"){const n=new FormData;n.append("file",t,t.name),Nt()&&console.debug("[api.uploadImage] ->",r,{name:t.name,type:t.type,size:t.size});const o=await qt(r,n,{headers:{Accept:"application/json"},maxBodyLength:1/0}),s=Ne(o);if(Nt()&&console.debug("[api.uploadImage] <-",s),!(s!=null&&s.url))throw new Error("Invalid upload response: missing url");return{url:s.url,mimeType:s.mimeType??t.type,name:s.name??t.name,size:s.size??t.size}}async uploadFile(t,r,n,o){const s={file_data:t,filename:r,mime_type:n};o&&(s.thread_id=o),Nt()&&console.debug("[api.uploadFile] ->","/chat/files/upload",s);const a=await qt("/chat/files/upload",s,{headers:{Accept:"application/json"}}),c=Ne(a);if(Nt()&&console.debug("[api.uploadFile] <-",c),!(c!=null&&c.id))throw new Error("Invalid upload response: missing id");return c}}const Re=new Tr;function aa(e={}){const t=e.baseUrl??"/api/chat",r=e.streamPath??"/runs/stream",[n,o]=A.useState(e.token??null),s=A.useRef(e.headers??{}),[a,c]=A.useState(!1),[l,f]=A.useState(null),[u,p]=A.useState(""),[g,v]=A.useState(null),m=A.useRef(null),h=A.useCallback(y=>{o(y)},[]),b=A.useCallback(()=>{var y;(y=m.current)==null||y.abort(),m.current=null,c(!1)},[]),w=A.useCallback(()=>{p(""),v(null),f(null)},[]),x=A.useCallback((y,C,T)=>{m.current&&(m.current.abort(),m.current=null),c(!0),f(null),e.autoAppendAssistant!==!1&&p("");const M=new AbortController;return m.current=M,(async()=>{var B,z,R,X,V;const N=(()=>{var I;try{return typeof window<"u"&&((I=window.localStorage)==null?void 0:I.getItem("chat-debug"))==="1"}catch{return!1}})(),F=I=>{var U;try{const _=JSON.parse(JSON.stringify(I));return(U=_==null?void 0:_.payload)!=null&&U.files_info&&Array.isArray(_.payload.files_info)&&(_.payload.files_info=_.payload.files_info.map(W=>({...W,data:W!=null&&W.data?`<base64 ${String(W.data).length} chars>`:W==null?void 0:W.data}))),_}catch{return I}};try{let I={};try{if(n)I={Authorization:`Bearer ${n}`};else if(typeof window<"u"){const Z=window.__AUTH_TOKEN__,G=((B=window.localStorage)==null?void 0:B.getItem("authToken"))||null;let re=null;try{const K=(z=window.localStorage)==null?void 0:z.getItem("chat-settings");K&&(re=((R=JSON.parse(K))==null?void 0:R.apiKey)||null)}catch{}const $=Z||G||re||null;$&&(I={Authorization:`Bearer ${$}`})}}catch{}N&&console.debug("[use-chat] POST",t+r,F(y));const U=await fetch(t+r,{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream",...I,...s.current},body:JSON.stringify(y),signal:M.signal});if(!U.ok||!U.body){const E=await U.text().catch(()=>"");throw N&&console.debug("[use-chat] non-OK response",U.status,E==null?void 0:E.slice(0,500)),new Error(`stream ${U.status}${E?": "+E:""}`)}try{const E=U.headers.get("X-Thread-Id")||U.headers.get("x-thread-id"),Z=U.headers.get("X-Thread-Created")||U.headers.get("x-thread-created"),G=E??null,re=String(Z??"").toLowerCase()==="true";try{(X=T==null?void 0:T.onOpen)==null||X.call(T,{threadId:G,created:re})}catch($){N&&console.debug("[use-chat] onOpen handler threw:",$)}}catch(E){N&&console.debug("[use-chat] failed to read headers:",E)}const _=U.body.getReader(),W=new TextDecoder;let D="";for(;;){const{value:E,done:Z}=await _.read();if(Z)break;D+=W.decode(E,{stream:!0});let G;for(;(G=D.indexOf(`
7
7
 
8
- `))>=0;){const re=D.slice(0,G);D=D.slice(G+2);const $=wf(re);if(!$)continue;let R;try{R=JSON.parse($)}catch{N&&console.debug("[use-chat] skip malformed SSE data:",$==null?void 0:$.slice(0,200));continue}const ie=vf(R)?R.data:R;if(N&&console.debug("[use-chat] event:",ie==null?void 0:ie.type,ie),C==null||C(ie),ie.type==="token")e.autoAppendAssistant!==!1&&p(ge=>ge+ie.content);else if(ie.type==="message_delta"){const ge=ie.delta.filter(j=>j.type==="text").map(j=>j.text).join("");ge&&e.autoAppendAssistant!==!1&&p(j=>j+ge)}else ie.type==="checkpoint"?v(ie.checkpointId):ie.type==="error"&&f(ie.message)}}}catch(I){if((I==null?void 0:I.name)==="AbortError")return;const U=(I==null?void 0:I.message)||String(I);N&&console.debug("[use-chat] error:",U),f(U),(V=T==null?void 0:T.onError)==null||V.call(T,U)}finally{c(!1),m.current=null}})(),{close:()=>M.abort()}},[t,n,e.autoAppendAssistant]);return A.useEffect(()=>()=>{var y;return(y=m.current)==null?void 0:y.abort()},[]),{isStreaming:a,error:l,assistantText:u,lastCheckpointId:g,stream:x,stop:b,clear:w,setToken:h}}function vf(e){return!!e&&typeof e=="object"&&e.protocolVersion==="v1"&&"data"in e}function wf(e){const t=e.split(/\r?\n/),r=[];for(const n of t)if(n&&!n.startsWith(":")&&n.startsWith("data:")){const o=n.slice(5);r.push(o.startsWith(" ")?o.slice(1):o)}return r.length===0?null:r.join(`
9
- `)}const yf={messages:[],assemblingId:null,lastCheckpointId:null,toolIndex:{},lastBranch:null};function xf(e,t){var r,n;switch(t.type){case"reset":return{messages:Rn(((r=t.payload)==null?void 0:r.messages)??[]),assemblingId:null,lastCheckpointId:null,toolIndex:{},lastBranch:null};case"seed":return{...e,messages:Rn(t.payload.messages)};case"prepend":{const o=Rn(t.payload.messages);if(!o.length)return e;const s=new Set(e.messages.map(c=>c.id)),a=o.filter(c=>!s.has(c.id));return a.length?{...e,messages:[...a,...e.messages]}:e}case"user_message":{const o=t.payload.message;if(e.assemblingId){const s=e.messages.findIndex(a=>a.id===e.assemblingId&&a.role==="assistant");if(s>=0){const a=e.messages.slice(0,s),c=e.messages.slice(s);return{...e,messages:[...a,o,...c]}}}return{...e,messages:[...e.messages,o]}}case"event":{const o=t.payload.ev;if(o.type==="message_start"&&o.role==="assistant"){const s=o.id,a=Nf(o.model),c={id:s,role:"assistant",name:a||void 0,model:o.model,createdAt:new Date().toISOString(),content:[]};return{...e,assemblingId:s,messages:[...e.messages,c]}}if(o.type==="token"){const s=e.assemblingId??Kn(e.messages);return s?{...e,messages:Sf(e.messages,s,o.content)}:e}if(o.type==="message_delta"){const s=e.assemblingId??Kn(e.messages);return s?{...e,messages:ca(e.messages,s,o.delta)}:e}if(o.type==="message_end"){const s=e.assemblingId??Kn(e.messages);if(!s)return{...e,assemblingId:null};const a=e.messages,c=a.findIndex(l=>l.id===s&&l.role==="assistant");if(c>=0&&!((n=a[c].content)==null?void 0:n.some(u=>{var p;return(u==null?void 0:u.type)==="text"&&((p=u.text)==null?void 0:p.trim())}))){const u=[...a.slice(0,c),...a.slice(c+1)];return{...e,assemblingId:null,messages:u}}return{...e,assemblingId:null}}if(o.type==="tool_start"){const s=`tool-${o.id}`,a={type:"tool_call",id:o.id,name:o.name,args:o.args},c={id:s,role:"tool",name:o.name,createdAt:new Date().toISOString(),content:[a]};return{...e,messages:[...e.messages,c],toolIndex:{...e.toolIndex,[o.id]:s}}}if(o.type==="tool_result"){const s=e.toolIndex[o.id]??`tool-${o.id}`,a={type:"tool_result",toolCallId:o.id,output:o.output,error:o.error},c=e.messages.find(u=>u.id===s),l={id:s,role:"tool",content:[a],createdAt:new Date().toISOString()},f=c?ca(e.messages,s,[a]):[...e.messages,l];return{...e,messages:f}}if(o.type==="checkpoint"){const s=Ef(e.messages,o.checkpointId);return{...e,lastCheckpointId:o.checkpointId,messages:s}}if(o.type==="branch"){const s=o.checkpointId??e.lastCheckpointId;return{...e,lastBranch:o,lastCheckpointId:s??null}}if(o.type==="error"){const s={id:`err-${Date.now()}`,role:"system",content:[{type:"text",text:`Error: ${o.message}`}],createdAt:new Date().toISOString()};return{...e,messages:[...e.messages,s]}}return e}default:return e}}function ia(e=[]){const[t,r]=A.useReducer(xf,{...yf,messages:e}),n=A.useCallback(s=>{r({type:"event",payload:{ev:s}})},[]),o=A.useMemo(()=>({reset:s=>r({type:"reset",payload:{messages:s}}),seed:s=>r({type:"seed",payload:{messages:s}}),prepend:s=>r({type:"prepend",payload:{messages:s}}),pushUser:s=>r({type:"user_message",payload:{message:s}}),onEvent:n}),[n]);return{state:t,dispatch:r,...o}}function Rn(e){return e.filter(t=>{if(t.role!=="assistant")return!0;const r=(t.content||[]).some(o=>{var s;return o&&o.type==="text"&&((s=o.text)==null?void 0:s.trim())}),n=(t.content||[]).some(o=>o&&o.type==="image_url");return!!(r||n)})}function Kn(e){for(let t=e.length-1;t>=0;t--)if(e[t].role==="assistant")return e[t].id;return null}function Sf(e,t,r){return e.map(n=>{if(n.id!==t)return n;const o=n.content.slice(),s=o[o.length-1];return s&&s.type==="text"?s.text+=r:o.push({type:"text",text:r}),{...n,content:o}})}function ca(e,t,r){return e.map(n=>n.id===t?{...n,content:Cf(n.content,r)}:n)}function Cf(e,t){const r=e.slice();for(const n of t)if(n.type==="text"){const o=r[r.length-1];(o==null?void 0:o.type)==="text"?o.text+=n.text:r.push({type:"text",text:n.text})}else r.push(n);return r}function Ef(e,t){for(let r=e.length-1;r>=0;r--)if(e[r].role==="assistant"){const o={...e[r],checkpointId:t};return[...e.slice(0,r),o,...e.slice(r+1)]}return e}function Nf(e){if(!e)return null;const t=e.split("/");return t[t.length-1]||null}function Tf(e,t){const r=e==null?void 0:e.checkpoints,n=Array.isArray(r)?r.slice():r?Object.values(r):[],o=a=>a&&typeof a=="object"&&typeof a.checkpointId=="string"&&typeof a.createdAt=="string",s=n.filter(o).map(a=>({checkpointId:a.checkpointId,checkpointNs:a.checkpointNs??"",createdAt:a.createdAt,messagesLen:a.messagesLen??0,preview:a.preview??"",role:a.role??null,parentId:a.parentId??null,editedMessageId:a.editedMessageId??null,branchLabel:a.branchLabel??null}));return{threadId:(e==null?void 0:e.threadId)??t??null,checkpoints:s}}async function Gn(e){return await new Promise((t,r)=>{const n=new FileReader;n.onload=()=>t(String(n.result)),n.onerror=o=>r(o),n.readAsDataURL(e)})}async function Af(e){return await new Promise((t,r)=>{const n=new FileReader;n.onload=()=>{try{const o=n.result,s=new Uint8Array(o);let a="";const c=s.byteLength;for(let l=0;l<c;l++)a+=String.fromCharCode(s[l]);t(btoa(a))}catch(o){r(o)}},n.onerror=o=>r(o),n.readAsArrayBuffer(e)})}async function Pf(e,t,r){try{return await Gn(t)}catch{return null}}async function If(e,t=[],r,n,o,s){const a=[],c=[];for(const l of t){let f=null;try{f=await Pf(e,l,s)}catch{f=null}if(l.type&&l.type.startsWith("image/"))if(f){const u={type:"image_url",url:f,mimeType:l.type,alt:l.name};a.push(u)}else try{const u=await Gn(l),p={type:"image_url",url:String(u),mimeType:l.type,alt:l.name};a.push(p)}catch{}else if(f){const u={type:"file",url:f,mimeType:l.type||void 0,name:l.name,size:l.size};a.push(u)}else try{const u=await Gn(l),p={type:"file",url:String(u),mimeType:l.type||void 0,name:l.name,size:l.size};a.push(p)}catch{}try{const u=await Af(l);c.push({filename:l.name,data:u,mime_type:l.type||"application/octet-stream"})}catch{}}return{contentParts:a,filesInfo:c}}const la=A.createContext(null);function Xt({children:e,apiConfig:t,onError:r,onThreadChange:n,initialThreadId:o=null,historyPageSize:s,enableFileAgentRouting:a=!1,fileAgentId:c="invoice_reader"}){const l=Ke;A.useEffect(()=>{t&&l.updateConfig({baseUrl:t.baseUrl,authToken:t.apiKey})},[l,t]);const{isStreaming:f,error:u,stream:p,stop:g,setToken:v}=aa({baseUrl:l.baseUrl,token:null,headers:t==null?void 0:t.headers,streamPath:"/chat/runs/stream"}),[m,h]=A.useState(()=>typeof l.getAuthToken=="function"?l.getAuthToken():null);A.useEffect(()=>{v(typeof l.getAuthToken=="function"?l.getAuthToken():null);const k=l.onTokenChange(L=>{h(L),v(L)});return()=>{k()}},[l,v]);const b=A.useCallback(k=>{l.setAuthToken(k)},[l]),{state:w,seed:x,prepend:y,pushUser:C,onEvent:T,reset:M}=ia(),N=s&&s>0?s:6,[F,B]=A.useState(!1),[z,K]=A.useState(!1),[X,V]=A.useState(null),[I,U]=A.useState(void 0),_=A.useCallback((k,L)=>{const se=Array.isArray(k==null?void 0:k.messages)?k.messages:[];L==="replace"?x(se):L==="prepend"&&se.length&&y(se),V((k==null?void 0:k.nextCursor)??null),B(!!(k!=null&&k.hasMore)),U(ve=>(k==null?void 0:k.checkpointId)??ve??void 0)},[x,y]),[W,D]=A.useState([]),[E,Z]=A.useState(null),G=A.useCallback(async()=>{const k=await l.listThreads();D(k)},[l]);A.useEffect(()=>{G().catch(()=>{})},[G]),A.useEffect(()=>{n==null||n(E)},[E,n]);const re=A.useRef(null);A.useEffect(()=>{o&&re.current!==o&&(re.current=o,R(o).catch(()=>{}))},[o]);const $=A.useRef(null),R=A.useCallback(async(k,L,se)=>{if($.current!==k){$.current=k;try{B(!1),V(null),U(void 0);const ve=await l.getMessages({threadId:k,checkpointId:L,checkpointNs:se,limit:N});Z(k),_(ve,"replace")}finally{$.current=null}}},[l,_]),ie=A.useCallback(async k=>{const L=await l.listCheckpoints(k);return Tf(L,k)},[l]),ge=A.useCallback(async k=>{if(!E)throw new Error("No active thread");B(!1),V(null),U(void 0);const L=await l.getMessages({threadId:E,checkpointId:k,limit:N});_(L,"replace")},[l,E,_,N]),j=A.useCallback(async()=>{if(!E)throw new Error("No active thread");await R(E)},[E,R]),le=A.useRef(!1);A.useEffect(()=>{const k=le.current;if(le.current=f,k&&!f&&E){const L=w.lastCheckpointId??void 0;(async()=>{try{const se=await l.getMessages({threadId:E,checkpointId:L,limit:N});_(se,"replace")}catch{}try{await G()}catch{}})()}},[f,E,w.lastCheckpointId,l,_,G]);const ue=A.useCallback(async k=>{const L=await l.createThread(k);return await G(),await R(L.threadId),L.threadId},[l,G,R]),ce=A.useCallback(async k=>{await l.deleteThread(k),await G(),E===k&&(Z(null),M([]),B(!1),V(null),U(void 0))},[l,G,E,M]),de=A.useCallback(async(k,L)=>{await l.updateThread(k,L),await G()},[l,G]),ne=A.useCallback(async(k,L)=>{var zt;const se=(L==null?void 0:L.attachments)||[],{contentParts:ve,filesInfo:we}=await If(l,se,t==null?void 0:t.uploadPath,a,c,E),me=[];k&&me.push({type:"text",text:k});for(const xe of ve)me.push(xe);const be={id:((zt=crypto.randomUUID)==null?void 0:zt.call(crypto))||`user-${Date.now()}`,role:"user",content:me,createdAt:new Date().toISOString(),checkpointId:(L==null?void 0:L.checkpointId)??w.lastCheckpointId??void 0};C(be);const tt={...be,content:be.content.filter(xe=>xe.type==="text"||xe.type==="image_url")},xt={...(L==null?void 0:L.payloadExtras)??{}},Ht=!!xt.edit,An=xt.originalMessageId,ds=typeof An=="string"?An:void 0,Pn=se&&se.length>0,us={...E?{threadId:E}:{},payload:{messages:[tt],attachments:be.content.filter(xe=>xe.type==="file").map(xe=>({type:"file",url:xe.url,mimeType:xe.mimeType,name:xe.name,size:xe.size})),files_info:we,...a&&Pn&&c?{agent_id:c}:{},...xt},checkpointId:(L==null?void 0:L.checkpointId)??w.lastCheckpointId??void 0,checkpointNs:L==null?void 0:L.checkpointNs,nodeFilter:L==null?void 0:L.nodeFilter,config:L==null?void 0:L.config,edit:Ht,originalMessageId:ds};p(us,xe=>T(xe),{onError:xe=>console.warn("stream error",xe),onOpen:({threadId:xe,created:fs})=>{!E&&xe&&(Z(xe),fs&&G().catch(()=>{}))}})},[E,C,p,T,w.lastCheckpointId,l,t==null?void 0:t.uploadPath,G,Z,a,c]),J=A.useCallback(async k=>{if(!E)throw new Error("No active thread");if(z||!F)return;const L=X;if(L){K(!0);try{const se=await l.getMessages({threadId:E,checkpointId:I,limit:(k==null?void 0:k.limit)??N,beforeId:L});_(se,"prepend")}finally{K(!1)}}},[l,E,I,X,F,z,_]),oe={baseUrl:l.baseUrl,token:m,setToken:b,api:l,threads:W,currentThreadId:E,setCurrentThreadId:Z,messages:w.messages,isStreaming:f,error:u,lastCheckpointId:w.lastCheckpointId,streamingAssistantId:w.assemblingId,hasMoreHistory:F,isLoadingHistory:z,loadOlderMessages:J,historyPageSize:N,listCheckpoints:ie,navigateToCheckpoint:ge,returnToLatest:j,refreshThreads:G,createThread:ue,deleteThread:ce,renameThread:de,loadThread:R,send:ne,stop:g};return i.jsx(la.Provider,{value:oe,children:e})}function Ar(){const e=A.useContext(la);if(!e)throw new Error("useChat must be used within ChatProvider");return e}function P(...e){return Kd.twMerge(Rd.clsx(e))}const _f=Wt.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),he=d.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},s)=>{const a=n?_e.Slot:"button";return i.jsx(a,{className:P(_f({variant:t,size:r,className:e})),ref:s,...o})});he.displayName="Button";const da=d.forwardRef(({className:e,...t},r)=>i.jsx("textarea",{className:P("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),ref:r,...t}));da.displayName="Textarea";const kf=Wt.cva("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function ua({className:e,variant:t,...r}){return i.jsx("div",{className:P(kf({variant:t}),e),...r})}function H(e,t,{checkForDefaultPrevented:r=!0}={}){return function(o){if(e==null||e(o),r===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function Of(e,t){const r=d.createContext(t),n=s=>{const{children:a,...c}=s,l=d.useMemo(()=>c,Object.values(c));return i.jsx(r.Provider,{value:l,children:a})};n.displayName=e+"Provider";function o(s){const a=d.useContext(r);if(a)return a;if(t!==void 0)return t;throw new Error(`\`${s}\` must be used within \`${e}\``)}return[n,o]}function Be(e,t=[]){let r=[];function n(s,a){const c=d.createContext(a),l=r.length;r=[...r,a];const f=p=>{var w;const{scope:g,children:v,...m}=p,h=((w=g==null?void 0:g[e])==null?void 0:w[l])||c,b=d.useMemo(()=>m,Object.values(m));return i.jsx(h.Provider,{value:b,children:v})};f.displayName=s+"Provider";function u(p,g){var h;const v=((h=g==null?void 0:g[e])==null?void 0:h[l])||c,m=d.useContext(v);if(m)return m;if(a!==void 0)return a;throw new Error(`\`${p}\` must be used within \`${s}\``)}return[f,u]}const o=()=>{const s=r.map(a=>d.createContext(a));return function(c){const l=(c==null?void 0:c[e])||s;return d.useMemo(()=>({[`__scope${e}`]:{...c,[e]:l}}),[c,l])}};return o.scopeName=e,[n,Mf(o,...t)]}function Mf(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=n.reduce((c,{useScope:l,scopeName:f})=>{const p=l(s)[`__scope${f}`];return{...c,...p}},{});return d.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return r.scopeName=t.scopeName,r}var Se=globalThis!=null&&globalThis.document?d.useLayoutEffect:()=>{},Df=d[" useInsertionEffect ".trim().toString()]||Se;function nt({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[o,s,a]=Lf({defaultProp:t,onChange:r}),c=e!==void 0,l=c?e:o;{const u=d.useRef(e!==void 0);d.useEffect(()=>{const p=u.current;p!==c&&console.warn(`${n} is changing from ${p?"controlled":"uncontrolled"} to ${c?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),u.current=c},[c,n])}const f=d.useCallback(u=>{var p;if(c){const g=Ff(u)?u(e):u;g!==e&&((p=a.current)==null||p.call(a,g))}else s(u)},[c,e,s,a]);return[l,f]}function Lf({defaultProp:e,onChange:t}){const[r,n]=d.useState(e),o=d.useRef(r),s=d.useRef(t);return Df(()=>{s.current=t},[t]),d.useEffect(()=>{var a;o.current!==r&&((a=s.current)==null||a.call(s,r),o.current=r)},[r,o]),[r,n,s]}function Ff(e){return typeof e=="function"}function fa(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function qn(...e){return t=>{let r=!1;const n=e.map(o=>{const s=fa(o,t);return!r&&typeof s=="function"&&(r=!0),s});if(r)return()=>{for(let o=0;o<n.length;o++){const s=n[o];typeof s=="function"?s():fa(e[o],null)}}}}function ae(...e){return d.useCallback(qn(...e),e)}var $f=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Q=$f.reduce((e,t)=>{const r=_e.createSlot(`Primitive.${t}`),n=d.forwardRef((o,s)=>{const{asChild:a,...c}=o,l=a?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(l,{...c,ref:s})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function pa(e,t){e&&hr.flushSync(()=>e.dispatchEvent(t))}function Bf(e,t){return d.useReducer((r,n)=>t[r][n]??r,e)}var Ie=e=>{const{present:t,children:r}=e,n=Uf(t),o=typeof r=="function"?r({present:n.isPresent}):d.Children.only(r),s=ae(n.ref,Hf(o));return typeof r=="function"||n.isPresent?d.cloneElement(o,{ref:s}):null};Ie.displayName="Presence";function Uf(e){const[t,r]=d.useState(),n=d.useRef(null),o=d.useRef(e),s=d.useRef("none"),a=e?"mounted":"unmounted",[c,l]=Bf(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return d.useEffect(()=>{const f=Pr(n.current);s.current=c==="mounted"?f:"none"},[c]),Se(()=>{const f=n.current,u=o.current;if(u!==e){const g=s.current,v=Pr(f);e?l("MOUNT"):v==="none"||(f==null?void 0:f.display)==="none"?l("UNMOUNT"):l(u&&g!==v?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,l]),Se(()=>{if(t){let f;const u=t.ownerDocument.defaultView??window,p=v=>{const h=Pr(n.current).includes(CSS.escape(v.animationName));if(v.target===t&&h&&(l("ANIMATION_END"),!o.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",f=u.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},g=v=>{v.target===t&&(s.current=Pr(n.current))};return t.addEventListener("animationstart",g),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{u.clearTimeout(f),t.removeEventListener("animationstart",g),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:d.useCallback(f=>{n.current=f?getComputedStyle(f):null,r(f)},[])}}function Pr(e){return(e==null?void 0:e.animationName)||"none"}function Hf(e){var n,o;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var zf=d[" useId ".trim().toString()]||(()=>{}),Wf=0;function Ue(e){const[t,r]=d.useState(zf());return Se(()=>{r(n=>n??String(Wf++))},[e]),t?`radix-${t}`:""}var Ir="Collapsible",[jf,ny]=Be(Ir),[Vf,Xn]=jf(Ir),ha=d.forwardRef((e,t)=>{const{__scopeCollapsible:r,open:n,defaultOpen:o,disabled:s,onOpenChange:a,...c}=e,[l,f]=nt({prop:n,defaultProp:o??!1,onChange:a,caller:Ir});return i.jsx(Vf,{scope:r,disabled:s,contentId:Ue(),open:l,onOpenToggle:d.useCallback(()=>f(u=>!u),[f]),children:i.jsx(Q.div,{"data-state":Jn(l),"data-disabled":s?"":void 0,...c,ref:t})})});ha.displayName=Ir;var ga="CollapsibleTrigger",ma=d.forwardRef((e,t)=>{const{__scopeCollapsible:r,...n}=e,o=Xn(ga,r);return i.jsx(Q.button,{type:"button","aria-controls":o.contentId,"aria-expanded":o.open||!1,"data-state":Jn(o.open),"data-disabled":o.disabled?"":void 0,disabled:o.disabled,...n,ref:t,onClick:H(e.onClick,o.onOpenToggle)})});ma.displayName=ga;var Yn="CollapsibleContent",Rf=d.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=Xn(Yn,e.__scopeCollapsible);return i.jsx(Ie,{present:r||o.open,children:({present:s})=>i.jsx(Kf,{...n,ref:t,present:s})})});Rf.displayName=Yn;var Kf=d.forwardRef((e,t)=>{const{__scopeCollapsible:r,present:n,children:o,...s}=e,a=Xn(Yn,r),[c,l]=d.useState(n),f=d.useRef(null),u=ae(t,f),p=d.useRef(0),g=p.current,v=d.useRef(0),m=v.current,h=a.open||c,b=d.useRef(h),w=d.useRef(void 0);return d.useEffect(()=>{const x=requestAnimationFrame(()=>b.current=!1);return()=>cancelAnimationFrame(x)},[]),Se(()=>{const x=f.current;if(x){w.current=w.current||{transitionDuration:x.style.transitionDuration,animationName:x.style.animationName},x.style.transitionDuration="0s",x.style.animationName="none";const y=x.getBoundingClientRect();p.current=y.height,v.current=y.width,b.current||(x.style.transitionDuration=w.current.transitionDuration,x.style.animationName=w.current.animationName),l(n)}},[a.open,n]),i.jsx(Q.div,{"data-state":Jn(a.open),"data-disabled":a.disabled?"":void 0,id:a.contentId,hidden:!h,...s,ref:u,style:{"--radix-collapsible-content-height":g?`${g}px`:void 0,"--radix-collapsible-content-width":m?`${m}px`:void 0,...e.style},children:h&&o})});function Jn(e){return e?"open":"closed"}var Gf=ha;const ba=Gf,va=ma;function Yt({content:e,className:t=""}){const r=A.useMemo(()=>({table:({node:f,className:u,...p})=>i.jsx("div",{className:"max-w-full",children:i.jsx("table",{...p,className:P("w-full table-fixed border-collapse break-words",u)})}),th:({node:f,className:u,...p})=>i.jsx("th",{...p,className:P("break-words whitespace-normal border-b border-border/60 px-3 py-2 text-left align-top",u)}),td:({node:f,className:u,...p})=>i.jsx("td",{...p,className:P("break-words whitespace-normal border-b border-border/30 px-3 py-2 align-top",u)}),pre:({node:f,className:u,...p})=>i.jsx("pre",{...p,className:P("whitespace-pre-wrap break-words",u)}),code:({node:f,className:u,children:p,...g})=>{const{inline:v,...m}=g;return v?i.jsx("code",{...m,className:P("break-words whitespace-normal",u),children:p}):i.jsx("code",{...m,className:P("block break-words whitespace-pre-wrap",u),children:p})}}),[]),n=P("prose prose-sm max-w-none break-words dark:prose-invert leading-relaxed","prose-headings:break-words prose-p:break-words prose-li:break-words prose-td:break-words prose-th:break-words","prose-a:break-all prose-blockquote:break-words prose-strong:break-words prose-em:break-words","prose-code:break-words prose-pre:rounded prose-pre:border prose-pre:bg-background/50","prose-code:bg-background/50 prose-code:px-1 prose-code:py-0.5 prose-code:rounded prose-table:my-4 prose-th:px-2 prose-td:px-2",t);return i.jsx("div",{className:n,style:{wordBreak:"break-word",overflowWrap:"anywhere"},children:i.jsx(Gd,{remarkPlugins:[qd],components:r,children:e})})}async function wa(e,t){return await Me(e,{responseType:"blob",onDownloadProgress:n=>{try{if(t&&n.lengthComputable){const o=n.loaded/n.total;t(o)}}catch{}},maxBodyLength:1/0})}async function ya(e,t){const r=await wa(`/chat/files/${e}/view`,t),n=URL.createObjectURL(r);window.open(n,"_blank"),setTimeout(()=>URL.revokeObjectURL(n),6e4)}async function qf(e,t){const r=await wa(`/chat/files/${e}/download`,t),n=URL.createObjectURL(r);let o=`file_${e}`;try{const a=await Me(`/chat/files/${e}`);o=(a==null?void 0:a.filename)??o}catch{}const s=document.createElement("a");s.href=n,s.download=o,document.body.appendChild(s),s.click(),s.remove(),setTimeout(()=>URL.revokeObjectURL(n),6e4)}const Xf=1,Yf=1e6;let Zn=0;function Jf(){return Zn=(Zn+1)%Number.MAX_SAFE_INTEGER,Zn.toString()}const Qn=new Map,xa=e=>{if(Qn.has(e))return;const t=setTimeout(()=>{Qn.delete(e),Jt({type:"REMOVE_TOAST",toastId:e})},Yf);Qn.set(e,t)},Zf=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,Xf)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(r=>r.id===t.toast.id?{...r,...t.toast}:r)};case"DISMISS_TOAST":{const{toastId:r}=t;return r?xa(r):e.toasts.forEach(n=>{xa(n.id)}),{...e,toasts:e.toasts.map(n=>n.id===r||r===void 0?{...n,open:!1}:n)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(r=>r.id!==t.toastId)}}},_r=[];let kr={toasts:[]};function Jt(e){kr=Zf(kr,e),_r.forEach(t=>{t(kr)})}function Qf({...e}){const t=Jf(),r=o=>Jt({type:"UPDATE_TOAST",toast:{...o,id:t}}),n=()=>Jt({type:"DISMISS_TOAST",toastId:t});return Jt({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:o=>{o||n()}}}),{id:t,dismiss:n,update:r}}function Sa(){const[e,t]=d.useState(kr);return d.useEffect(()=>(_r.push(t),()=>{const r=_r.indexOf(t);r>-1&&_r.splice(r,1)}),[e]),{...e,toast:Qf,dismiss:r=>Jt({type:"DISMISS_TOAST",toastId:r})}}const Or="prose prose-sm max-w-none break-words dark:prose-invert prose-headings:break-words prose-p:break-words prose-li:break-words prose-td:break-words prose-th:break-words prose-a:break-all prose-code:break-words prose-blockquote:break-words";function ep({className:e}){const[t,r]=A.useState(0);return A.useEffect(()=>{const n=setInterval(()=>r(o=>(o+1)%4),500);return()=>clearInterval(n)},[]),i.jsxs("span",{"aria-live":"polite",className:P("inline-block text-xs opacity-70 ml-1",e),children:["Is thinking",".".repeat(t)]})}function Ca({message:e,messageIndex:t,isStreamingMessage:r=!1,streamingDebounceMs:n=40,isEditing:o=!1,showActions:s=!0,showTimestamp:a=!0,showAgentName:c=!0,layoutSize:l="desktop",truncateToolMessages:f=!0,toolMessagePreviewLength:u=200,truncateUserMessages:p=!0,userMessagePreviewLength:g=200,customStyles:v={},onEdit:m,onRegenerate:h,onCancelEdit:b,onCopy:w}){const[x,y]=A.useState(!1),[C,T]=A.useState(!1),[M,N]=A.useState(!1),[F,B]=A.useState(!1),{currentThreadId:z}=Ar(),{toast:K}=Sa(),[X,V]=A.useState({}),I=l==="phone"||l==="half-screen",U=e.role,_=U==="tool",W=A.useMemo(()=>{switch(U){case"user":return"text-[hsl(var(--chat-bubble-user-text))]";case"assistant":return"text-[hsl(var(--chat-bubble-ai-text))]";case"tool":return"text-secondary-foreground";case"system":return"text-muted-foreground";default:return"text-[hsl(var(--chat-bubble-ai-text))]"}},[U]),D=A.useMemo(()=>tp(e.content),[e.content]),E=A.useMemo(()=>ap(e.content),[e.content]),Z=A.useMemo(()=>e.content.filter(J=>J.type==="image_url"),[e.content]),G=A.useMemo(()=>e.content.filter(J=>J.type==="file"),[e.content]),re=cp(D,r?n:0),$=async()=>{try{const J=_?Tt(e.content):D;await navigator.clipboard.writeText(J),y(!0),setTimeout(()=>y(!1),2e3),w==null||w(J)}catch(J){console.error("Failed to copy:",J)}},R=()=>{if(!m)return;const J=_?Tt(e.content):D;m(e.id,J)},ie=()=>h==null?void 0:h(t),ge=async(J,oe,k)=>{try{const L=String(oe.url??"");try{const se=L.match(/\/chat\/files\/(\d+)(?:\/(view|download))?/);if(se){J.preventDefault();const ve=se[1],we=se[2]||"view";if(X[k])return;V(me=>({...me,[k]:!0}));try{const me=K({title:we==="download"?"Downloading file...":"Opening file...",description:"",open:!0}),be=tt=>{me.update({id:me.id,description:`Progress: ${(tt*100).toFixed(0)}%`})};we==="download"?await qf(ve,be):await ya(ve,be),me.update({id:me.id,title:"Done",description:void 0})}catch(me){console.error("Failed to fetch server file:",me),K({title:"Failed to fetch file",description:String(me),open:!0})}finally{V(me=>({...me,[k]:!1}))}return}}catch{}if(L.startsWith("data:")){if(J.preventDefault(),X[k])return;V(be=>({...be,[k]:!0}));const ve=L.split(",")[1]??"";let we=oe.mimeType??"application/octet-stream";const me=L.substring(5,L.indexOf(","));me&&me.includes(";")?we=me.split(";")[0]||we:me&&!me.includes(";")&&(we=me||we);try{const be=K({title:"Uploading file...",description:"",open:!0}),tt=await Ke.uploadFile(ve,oe.name??"file",we,z??void 0);if(tt&&tt.id){const xt=tt.id;await ya(xt,Ht=>be.update({id:be.id,description:`Progress: ${(Ht*100).toFixed(0)}%`})),be.update({id:be.id,title:"Done",description:void 0})}}catch(be){console.error("Failed to upload file for viewing:",be),K({title:"Failed to upload file",description:String(be),open:!0})}finally{V(be=>({...be,[k]:!1}))}}}finally{V(L=>({...L,[k]:!1}))}},j=()=>{const oe=P(I?"h-3 w-3":"h-4 w-4","opacity-60 flex-shrink-0",W);switch(U){case"user":return i.jsx(q.User,{className:oe});case"assistant":return i.jsx(q.Bot,{className:oe});case"tool":return i.jsx(q.Wrench,{className:oe});default:return i.jsx(q.Bot,{className:oe})}},le=()=>{const J="group relative mb-4 flex w-full";switch(U){case"user":return P(J,"justify-end");case"assistant":case"tool":case"system":return P(J,"justify-start");default:return J}},ue=()=>{const J=P("rounded-lg px-4 py-3 relative transition-all duration-200 min-w-0 max-w-full break-words",I&&"px-3 py-2 text-sm");switch(U){case"user":return P(J,"w-full md:max-w-[95%]","bg-[hsl(var(--chat-bubble-user))] text-[hsl(var(--chat-bubble-user-text))]","border border-transparent");case"assistant":return P(J,"w-full md:max-w-[95%]","bg-[hsl(var(--chat-bubble-ai))] text-[hsl(var(--chat-bubble-ai-text))]","border border-border/60 dark:border-border/40");case"tool":return P(J,"w-full md:max-w-[95%] bg-secondary/50 text-secondary-foreground border border-dashed");case"system":return P(J,"w-full md:max-w-[85%] bg-accent/40 text-muted-foreground border");default:return P(J,"w-full md:max-w-[95%]","bg-[hsl(var(--chat-bubble-ai))] text-[hsl(var(--chat-bubble-ai-text))]","border border-border/60 dark:border-border/40")}},ce=J=>{if(!J)return"";try{return new Date(J).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}catch{return""}},de=()=>{if(e.model==="reflection"){const k=D.trim(),L=eo(k);if(L&&typeof L=="object")return i.jsx(lp,{data:L})}if(_&&E.name==="get_issues"){const k=e.content.find(ve=>ve.type==="tool_result"),L=(k==null?void 0:k.output)??Tt(e.content),se=Ta(L);if(se)return i.jsx(dp,{issues:se})}if(_&&!M){const k=Tt(e.content).slice(0,80).replace(/\s+/g," ");return i.jsx("div",{className:P("text-xs font-mono opacity-70 flex items-center justify-between gap-2 text-current",I&&"text-[10px]"),children:i.jsxs("span",{className:"truncate max-w-full text-current",children:[k,k.length>=80?"…":""]})})}if(_&&f){const k=Tt(e.content),L=k.length>u;return i.jsx(ba,{open:C,onOpenChange:T,children:i.jsxs("div",{className:"font-mono text-sm text-current",children:[i.jsx("pre",{className:P("whitespace-pre-wrap break-words text-current",I&&"text-xs"),children:L&&!C?k.substring(0,u)+"...":k}),L&&i.jsx(va,{asChild:!0,children:i.jsx(he,{variant:"ghost",size:"sm",className:"h-6 text-xs text-current",children:C?i.jsxs(i.Fragment,{children:[i.jsx(q.ChevronUp,{className:"h-3 w-3 mr-1"}),"Show less"]}):i.jsxs(i.Fragment,{children:[i.jsx(q.ChevronDown,{className:"h-3 w-3 mr-1"}),"Show more (",k.length-u," chars)"]})})})]})})}if(_&&M&&!f){const k=up(e.content);if(k&&rp(k))return i.jsx(Yt,{content:k.trim()});const L=Tt(e.content);return i.jsx("div",{className:"font-mono text-sm text-current",children:i.jsx("pre",{className:P("whitespace-pre-wrap break-words text-current",I&&"text-xs"),children:L})})}const J=Z.length>0&&U!=="tool",oe=G.length>0&&U!=="tool";return i.jsxs("div",{children:[r?i.jsxs("div",{className:"relative",children:[(()=>{const k=eo(re);return k!==null?i.jsx(Ea,{data:k}):i.jsx(Yt,{content:op(np(re))})})(),i.jsx(ep,{className:P(W,I?"text-xs":"text-sm")})]}):(()=>{const k=eo(D.trim());if(k!==null)return i.jsx(Ea,{data:k});if(U==="user"&&p){const L=D.trim();if(L.length>g)return i.jsxs(ba,{open:F,onOpenChange:B,children:[i.jsx("div",{className:P("text-sm text-[hsl(var(--chat-bubble-user-text))]",I&&"text-xs"),children:F?i.jsx(Yt,{content:L}):i.jsxs("pre",{className:P("font-sans whitespace-pre-wrap break-words bg-transparent p-0 m-0 text-[hsl(var(--chat-bubble-user-text))]",I&&"text-xs"),children:[L.substring(0,g),"..."]})}),i.jsx(va,{asChild:!0,children:i.jsx(he,{variant:"ghost",size:"sm",className:"h-6 text-xs !text-[hsl(var(--chat-bubble-user-text))]",children:F?i.jsxs(i.Fragment,{children:[i.jsx(q.ChevronUp,{className:"h-3 w-3 mr-1"})," Show less"]}):i.jsxs(i.Fragment,{children:[i.jsx(q.ChevronDown,{className:"h-3 w-3 mr-1"})," Show more (",L.length-g," chars)"]})})})]})}return i.jsx(Yt,{content:D.trim()})})(),J&&i.jsx("div",{className:"mt-2 grid grid-cols-2 gap-2",children:Z.map((k,L)=>i.jsxs("div",{className:"relative border rounded overflow-hidden",children:[i.jsx("img",{src:k.url,alt:k.alt??"image",className:"w-full h-auto"}),i.jsxs("div",{className:"absolute top-1 right-1 bg-background/70 rounded px-1 py-0.5 text-[10px] flex items-center gap-1",children:[i.jsx(q.Image,{className:"h-3 w-3"}),i.jsx("span",{children:"image"})]})]},L))}),oe&&i.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:G.map((k,L)=>{const se=k,ve=se.name||"file";return i.jsxs("a",{href:se.url,download:ve,onClick:we=>ge(we,se,L),target:"_blank",rel:"noreferrer",className:P("inline-flex items-center gap-2 rounded px-2 py-1 text-xs","bg-gray-100 border border-gray-200 hover:bg-gray-200","dark:bg-background/10 dark:border-border/30 dark:hover:bg-background/20","text-current"),title:ve,children:[i.jsx("span",{className:"inline-block w-1.5 h-1.5 rounded-full bg-gray-400 dark:bg-gray-500"}),i.jsxs("span",{className:"truncate max-w-[180px]",children:[ve,X[L]?" (uploading...)":""]})]},L)})})]})},ne=A.useMemo(()=>ip(e),[e]);return i.jsx("div",{className:P(le(),v.container),children:i.jsxs("div",{className:P(ue(),v.content),children:[(a||c||_)&&i.jsxs("div",{className:P("flex items-center justify-between mb-2 pb-2 border-b border-current/10",I&&"mb-1 pb-1",W,v.header),children:[i.jsxs("div",{className:"flex items-center gap-2",children:[j(),c&&ne&&i.jsx("span",{className:P("font-medium",I?"text-xs":"text-sm"),children:ne}),_&&E.name&&i.jsxs(ua,{variant:"outline",className:P("text-xs flex items-center gap-1 cursor-pointer",W,"border border-current/40",I&&"text-xs h-4"),onClick:()=>N(J=>!J),children:[i.jsx("span",{children:E.name}),i.jsx("span",{className:"inline-flex items-center",children:M?i.jsx(q.ChevronUp,{className:"h-3 w-3"}):i.jsx(q.ChevronDown,{className:"h-3 w-3"})})]}),_&&!E.name&&i.jsx(he,{variant:"ghost",size:"sm",className:P("h-6 px-1",W,"hover:bg-foreground/10"),onClick:()=>N(J=>!J),children:i.jsxs("span",{className:"text-xs flex items-center gap-1",children:["Tool Output ",M?i.jsx(q.ChevronUp,{className:"h-3 w-3"}):i.jsx(q.ChevronDown,{className:"h-3 w-3"})]})})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[a&&i.jsx("span",{className:P("text-xs opacity-60",W,I&&"text-xs"),children:ce(e.createdAt)}),s&&!o&&i.jsxs("div",{className:P("opacity-0 group-hover:opacity-100 transition-opacity","flex items-center gap-1",v.actions),children:[i.jsx(he,{variant:"ghost",size:"sm",onClick:$,className:P("h-6 w-6 p-0 hover:bg-foreground/10",W,I&&"h-5 w-5"),children:i.jsx(q.Copy,{className:P(x?"text-success":W,I?"h-3 w-3":"h-4 w-4")})}),U==="user"&&m&&i.jsx(he,{variant:"ghost",size:"sm",onClick:R,className:P("h-6 w-6 p-0 hover:bg-foreground/10",W,I&&"h-5 w-5"),children:i.jsx(q.Edit,{className:P(W,I?"h-3 w-3":"h-4 w-4")})}),U==="assistant"&&h&&i.jsx(he,{variant:"ghost",size:"sm",onClick:ie,className:P("h-6 w-6 p-0 hover:bg-foreground/10",W,I&&"h-5 w-5"),children:i.jsx(q.RotateCcw,{className:P(W,I?"h-3 w-3":"h-4 w-4")})})]})]})]}),i.jsx("div",{className:"relative",children:de()}),_&&M&&(E.toolCallId||E.name)&&i.jsxs("div",{className:P("mt-2 pt-2 border-t border-current/10 text-xs opacity-60",I&&"text-xs"),children:[E.name&&i.jsxs("div",{children:["Function: ",E.name]}),E.toolCallId&&i.jsxs("div",{children:["Call ID: ",E.toolCallId]})]}),!(a||c||_)&&s&&!o&&i.jsxs("div",{className:P("absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity","flex items-center gap-1",v.actions),children:[i.jsx(he,{variant:"ghost",size:"sm",onClick:$,className:P("h-6 w-6 p-0 hover:bg-background/50 text-current",I&&"h-5 w-5"),children:i.jsx(q.Copy,{className:P(x?"text-success":"text-current",I?"h-3 w-3":"h-4 w-4")})}),U==="user"&&m&&i.jsx(he,{variant:"ghost",size:"sm",onClick:R,className:P("h-6 w-6 p-0 hover:bg-background/50 text-current",I&&"h-5 w-5"),children:i.jsx(q.Edit,{className:P("text-current",I?"h-3 w-3":"h-4 w-4")})}),U==="assistant"&&h&&i.jsx(he,{variant:"ghost",size:"sm",onClick:ie,className:P("h-6 w-6 p-0 hover:bg-background/50 text-current",I&&"h-5 w-5"),children:i.jsx(q.RotateCcw,{className:P("text-current",I?"h-3 w-3":"h-4 w-4")})})]})]})})}function tp(e){const t=e.filter(r=>r.type==="text").map(r=>r.text).join("");return t||JSON.stringify(e)}function rp(e){return e.includes(`
8
+ `))>=0;){const re=D.slice(0,G);D=D.slice(G+2);const $=wf(re);if(!$)continue;let K;try{K=JSON.parse($)}catch{N&&console.debug("[use-chat] skip malformed SSE data:",$==null?void 0:$.slice(0,200));continue}const ie=vf(K)?K.data:K;if(N&&console.debug("[use-chat] event:",ie==null?void 0:ie.type,ie),C==null||C(ie),ie.type==="token")e.autoAppendAssistant!==!1&&p(ge=>ge+ie.content);else if(ie.type==="message_delta"){const ge=ie.delta.filter(j=>j.type==="text").map(j=>j.text).join("");ge&&e.autoAppendAssistant!==!1&&p(j=>j+ge)}else ie.type==="checkpoint"?v(ie.checkpointId):ie.type==="error"&&f(ie.message)}}}catch(I){if((I==null?void 0:I.name)==="AbortError")return;const U=(I==null?void 0:I.message)||String(I);N&&console.debug("[use-chat] error:",U),f(U),(V=T==null?void 0:T.onError)==null||V.call(T,U)}finally{c(!1),m.current=null}})(),{close:()=>M.abort()}},[t,n,e.autoAppendAssistant]);return A.useEffect(()=>()=>{var y;return(y=m.current)==null?void 0:y.abort()},[]),{isStreaming:a,error:l,assistantText:u,lastCheckpointId:g,stream:x,stop:b,clear:w,setToken:h}}function vf(e){return!!e&&typeof e=="object"&&e.protocolVersion==="v1"&&"data"in e}function wf(e){const t=e.split(/\r?\n/),r=[];for(const n of t)if(n&&!n.startsWith(":")&&n.startsWith("data:")){const o=n.slice(5);r.push(o.startsWith(" ")?o.slice(1):o)}return r.length===0?null:r.join(`
9
+ `)}const yf={messages:[],assemblingId:null,lastCheckpointId:null,toolIndex:{},lastBranch:null};function xf(e,t){var r,n;switch(t.type){case"reset":return{messages:Kn(((r=t.payload)==null?void 0:r.messages)??[]),assemblingId:null,lastCheckpointId:null,toolIndex:{},lastBranch:null};case"seed":return{...e,messages:Kn(t.payload.messages)};case"prepend":{const o=Kn(t.payload.messages);if(!o.length)return e;const s=new Set(e.messages.map(c=>c.id)),a=o.filter(c=>!s.has(c.id));return a.length?{...e,messages:[...a,...e.messages]}:e}case"user_message":{const o=t.payload.message;if(e.assemblingId){const s=e.messages.findIndex(a=>a.id===e.assemblingId&&a.role==="assistant");if(s>=0){const a=e.messages.slice(0,s),c=e.messages.slice(s);return{...e,messages:[...a,o,...c]}}}return{...e,messages:[...e.messages,o]}}case"event":{const o=t.payload.ev;if(o.type==="message_start"&&o.role==="assistant"){const s=o.id,a=Nf(o.model),c={id:s,role:"assistant",name:a||void 0,model:o.model,createdAt:new Date().toISOString(),content:[]};return{...e,assemblingId:s,messages:[...e.messages,c]}}if(o.type==="token"){const s=e.assemblingId??Rn(e.messages);return s?{...e,messages:Sf(e.messages,s,o.content)}:e}if(o.type==="message_delta"){const s=e.assemblingId??Rn(e.messages);return s?{...e,messages:ca(e.messages,s,o.delta)}:e}if(o.type==="message_end"){const s=e.assemblingId??Rn(e.messages);if(!s)return{...e,assemblingId:null};const a=e.messages,c=a.findIndex(l=>l.id===s&&l.role==="assistant");if(c>=0&&!((n=a[c].content)==null?void 0:n.some(u=>{var p;return(u==null?void 0:u.type)==="text"&&((p=u.text)==null?void 0:p.trim())}))){const u=[...a.slice(0,c),...a.slice(c+1)];return{...e,assemblingId:null,messages:u}}return{...e,assemblingId:null}}if(o.type==="tool_start"){const s=`tool-${o.id}`,a={type:"tool_call",id:o.id,name:o.name,args:o.args},c={id:s,role:"tool",name:o.name,createdAt:new Date().toISOString(),content:[a]};return{...e,messages:[...e.messages,c],toolIndex:{...e.toolIndex,[o.id]:s}}}if(o.type==="tool_result"){const s=e.toolIndex[o.id]??`tool-${o.id}`,a={type:"tool_result",toolCallId:o.id,output:o.output,error:o.error},c=e.messages.find(u=>u.id===s),l={id:s,role:"tool",content:[a],createdAt:new Date().toISOString()},f=c?ca(e.messages,s,[a]):[...e.messages,l];return{...e,messages:f}}if(o.type==="checkpoint"){const s=Ef(e.messages,o.checkpointId);return{...e,lastCheckpointId:o.checkpointId,messages:s}}if(o.type==="branch"){const s=o.checkpointId??e.lastCheckpointId;return{...e,lastBranch:o,lastCheckpointId:s??null}}if(o.type==="error"){const s={id:`err-${Date.now()}`,role:"system",content:[{type:"text",text:`Error: ${o.message}`}],createdAt:new Date().toISOString()};return{...e,messages:[...e.messages,s]}}return e}default:return e}}function ia(e=[]){const[t,r]=A.useReducer(xf,{...yf,messages:e}),n=A.useCallback(s=>{r({type:"event",payload:{ev:s}})},[]),o=A.useMemo(()=>({reset:s=>r({type:"reset",payload:{messages:s}}),seed:s=>r({type:"seed",payload:{messages:s}}),prepend:s=>r({type:"prepend",payload:{messages:s}}),pushUser:s=>r({type:"user_message",payload:{message:s}}),onEvent:n}),[n]);return{state:t,dispatch:r,...o}}function Kn(e){return e.filter(t=>{if(t.role!=="assistant")return!0;const r=(t.content||[]).some(o=>{var s;return o&&o.type==="text"&&((s=o.text)==null?void 0:s.trim())}),n=(t.content||[]).some(o=>o&&o.type==="image_url");return!!(r||n)})}function Rn(e){for(let t=e.length-1;t>=0;t--)if(e[t].role==="assistant")return e[t].id;return null}function Sf(e,t,r){return e.map(n=>{if(n.id!==t)return n;const o=n.content.slice(),s=o[o.length-1];return s&&s.type==="text"?s.text+=r:o.push({type:"text",text:r}),{...n,content:o}})}function ca(e,t,r){return e.map(n=>n.id===t?{...n,content:Cf(n.content,r)}:n)}function Cf(e,t){const r=e.slice();for(const n of t)if(n.type==="text"){const o=r[r.length-1];(o==null?void 0:o.type)==="text"?o.text+=n.text:r.push({type:"text",text:n.text})}else r.push(n);return r}function Ef(e,t){for(let r=e.length-1;r>=0;r--)if(e[r].role==="assistant"){const o={...e[r],checkpointId:t};return[...e.slice(0,r),o,...e.slice(r+1)]}return e}function Nf(e){if(!e)return null;const t=e.split("/");return t[t.length-1]||null}function Tf(e,t){const r=e==null?void 0:e.checkpoints,n=Array.isArray(r)?r.slice():r?Object.values(r):[],o=a=>a&&typeof a=="object"&&typeof a.checkpointId=="string"&&typeof a.createdAt=="string",s=n.filter(o).map(a=>({checkpointId:a.checkpointId,checkpointNs:a.checkpointNs??"",createdAt:a.createdAt,messagesLen:a.messagesLen??0,preview:a.preview??"",role:a.role??null,parentId:a.parentId??null,editedMessageId:a.editedMessageId??null,branchLabel:a.branchLabel??null}));return{threadId:(e==null?void 0:e.threadId)??t??null,checkpoints:s}}async function Gn(e){return await new Promise((t,r)=>{const n=new FileReader;n.onload=()=>t(String(n.result)),n.onerror=o=>r(o),n.readAsDataURL(e)})}async function Af(e){return await new Promise((t,r)=>{const n=new FileReader;n.onload=()=>{try{const o=n.result,s=new Uint8Array(o);let a="";const c=s.byteLength;for(let l=0;l<c;l++)a+=String.fromCharCode(s[l]);t(btoa(a))}catch(o){r(o)}},n.onerror=o=>r(o),n.readAsArrayBuffer(e)})}async function Pf(e,t,r){try{return await Gn(t)}catch{return null}}async function If(e,t=[],r,n,o,s){const a=[],c=[];for(const l of t){let f=null;try{f=await Pf(e,l,s)}catch{f=null}if(l.type&&l.type.startsWith("image/"))if(f){const u={type:"image_url",url:f,mimeType:l.type,alt:l.name};a.push(u)}else try{const u=await Gn(l),p={type:"image_url",url:String(u),mimeType:l.type,alt:l.name};a.push(p)}catch{}else if(f){const u={type:"file",url:f,mimeType:l.type||void 0,name:l.name,size:l.size};a.push(u)}else try{const u=await Gn(l),p={type:"file",url:String(u),mimeType:l.type||void 0,name:l.name,size:l.size};a.push(p)}catch{}try{const u=await Af(l);c.push({filename:l.name,data:u,mime_type:l.type||"application/octet-stream"})}catch{}}return{contentParts:a,filesInfo:c}}const la=A.createContext(null);function Xt({children:e,apiConfig:t,onError:r,onThreadChange:n,initialThreadId:o=null,historyPageSize:s,enableFileAgentRouting:a=!1,fileAgentId:c="invoice_reader"}){const l=Re;A.useEffect(()=>{t&&l.updateConfig({baseUrl:t.baseUrl,authToken:t.apiKey})},[l,t]);const{isStreaming:f,error:u,stream:p,stop:g,setToken:v}=aa({baseUrl:l.baseUrl,token:null,headers:t==null?void 0:t.headers,streamPath:"/chat/runs/stream"}),[m,h]=A.useState(()=>typeof l.getAuthToken=="function"?l.getAuthToken():null);A.useEffect(()=>{v(typeof l.getAuthToken=="function"?l.getAuthToken():null);const k=l.onTokenChange(L=>{h(L),v(L)});return()=>{k()}},[l,v]);const b=A.useCallback(k=>{l.setAuthToken(k)},[l]),{state:w,seed:x,prepend:y,pushUser:C,onEvent:T,reset:M}=ia(),N=s&&s>0?s:6,[F,B]=A.useState(!1),[z,R]=A.useState(!1),[X,V]=A.useState(null),[I,U]=A.useState(void 0),_=A.useCallback((k,L)=>{const se=Array.isArray(k==null?void 0:k.messages)?k.messages:[];L==="replace"?x(se):L==="prepend"&&se.length&&y(se),V((k==null?void 0:k.nextCursor)??null),B(!!(k!=null&&k.hasMore)),U(be=>(k==null?void 0:k.checkpointId)??be??void 0)},[x,y]),[W,D]=A.useState([]),[E,Z]=A.useState(null),G=A.useCallback(async()=>{const k=await l.listThreads();D(k)},[l]);A.useEffect(()=>{G().catch(()=>{})},[G]),A.useEffect(()=>{n==null||n(E)},[E,n]);const re=A.useRef(null);A.useEffect(()=>{o&&re.current!==o&&(re.current=o,K(o).catch(()=>{}))},[o]);const $=A.useRef(null),K=A.useCallback(async(k,L,se)=>{if($.current!==k){$.current=k;try{B(!1),V(null),U(void 0);const be=await l.getMessages({threadId:k,checkpointId:L,checkpointNs:se,limit:N});Z(k),_(be,"replace")}finally{$.current=null}}},[l,_]),ie=A.useCallback(async k=>{const L=await l.listCheckpoints(k);return Tf(L,k)},[l]),ge=A.useCallback(async k=>{if(!E)throw new Error("No active thread");B(!1),V(null),U(void 0);const L=await l.getMessages({threadId:E,checkpointId:k,limit:N});_(L,"replace")},[l,E,_,N]),j=A.useCallback(async()=>{if(!E)throw new Error("No active thread");await K(E)},[E,K]),le=A.useRef(!1);A.useEffect(()=>{const k=le.current;if(le.current=f,k&&!f&&E){const L=w.lastCheckpointId??void 0;(async()=>{try{const se=await l.getMessages({threadId:E,checkpointId:L,limit:N});_(se,"replace")}catch{}try{await G()}catch{}})()}},[f,E,w.lastCheckpointId,l,_,G]);const ue=A.useCallback(async k=>{const L=await l.createThread(k);return await G(),await K(L.threadId),L.threadId},[l,G,K]),ce=A.useCallback(async k=>{await l.deleteThread(k),await G(),E===k&&(Z(null),M([]),B(!1),V(null),U(void 0))},[l,G,E,M]),de=A.useCallback(async(k,L)=>{await l.updateThread(k,L),await G()},[l,G]),ne=A.useCallback(async(k,L)=>{var zt;const se=(L==null?void 0:L.attachments)||[],{contentParts:be,filesInfo:we}=await If(l,se,t==null?void 0:t.uploadPath,a,c,E),me=[];k&&me.push({type:"text",text:k});for(const xe of be)me.push(xe);const ve={id:((zt=crypto.randomUUID)==null?void 0:zt.call(crypto))||`user-${Date.now()}`,role:"user",content:me,createdAt:new Date().toISOString(),checkpointId:(L==null?void 0:L.checkpointId)??w.lastCheckpointId??void 0};C(ve);const tt={...ve,content:ve.content.filter(xe=>xe.type==="text"||xe.type==="image_url")},xt={...(L==null?void 0:L.payloadExtras)??{}},Ht=!!xt.edit,An=xt.originalMessageId,ds=typeof An=="string"?An:void 0,Pn=se&&se.length>0,us={...E?{threadId:E}:{},payload:{messages:[tt],attachments:ve.content.filter(xe=>xe.type==="file").map(xe=>({type:"file",url:xe.url,mimeType:xe.mimeType,name:xe.name,size:xe.size})),files_info:we,...a&&Pn&&c?{agent_id:c}:{},...xt},checkpointId:(L==null?void 0:L.checkpointId)??w.lastCheckpointId??void 0,checkpointNs:L==null?void 0:L.checkpointNs,nodeFilter:L==null?void 0:L.nodeFilter,config:L==null?void 0:L.config,edit:Ht,originalMessageId:ds};p(us,xe=>T(xe),{onError:xe=>console.warn("stream error",xe),onOpen:({threadId:xe,created:fs})=>{!E&&xe&&(Z(xe),fs&&G().catch(()=>{}))}})},[E,C,p,T,w.lastCheckpointId,l,t==null?void 0:t.uploadPath,G,Z,a,c]),J=A.useCallback(async k=>{if(!E)throw new Error("No active thread");if(z||!F)return;const L=X;if(L){R(!0);try{const se=await l.getMessages({threadId:E,checkpointId:I,limit:(k==null?void 0:k.limit)??N,beforeId:L});_(se,"prepend")}finally{R(!1)}}},[l,E,I,X,F,z,_]),oe={baseUrl:l.baseUrl,token:m,setToken:b,api:l,threads:W,currentThreadId:E,setCurrentThreadId:Z,messages:w.messages,isStreaming:f,error:u,lastCheckpointId:w.lastCheckpointId,streamingAssistantId:w.assemblingId,hasMoreHistory:F,isLoadingHistory:z,loadOlderMessages:J,historyPageSize:N,listCheckpoints:ie,navigateToCheckpoint:ge,returnToLatest:j,refreshThreads:G,createThread:ue,deleteThread:ce,renameThread:de,loadThread:K,send:ne,stop:g};return i.jsx(la.Provider,{value:oe,children:e})}function Ar(){const e=A.useContext(la);if(!e)throw new Error("useChat must be used within ChatProvider");return e}function P(...e){return Rd.twMerge(Kd.clsx(e))}const _f=Wt.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),he=d.forwardRef(({className:e,variant:t,size:r,asChild:n=!1,...o},s)=>{const a=n?_e.Slot:"button";return i.jsx(a,{className:P(_f({variant:t,size:r,className:e})),ref:s,...o})});he.displayName="Button";const da=d.forwardRef(({className:e,...t},r)=>i.jsx("textarea",{className:P("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),ref:r,...t}));da.displayName="Textarea";const kf=Wt.cva("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function ua({className:e,variant:t,...r}){return i.jsx("div",{className:P(kf({variant:t}),e),...r})}function H(e,t,{checkForDefaultPrevented:r=!0}={}){return function(o){if(e==null||e(o),r===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function Of(e,t){const r=d.createContext(t),n=s=>{const{children:a,...c}=s,l=d.useMemo(()=>c,Object.values(c));return i.jsx(r.Provider,{value:l,children:a})};n.displayName=e+"Provider";function o(s){const a=d.useContext(r);if(a)return a;if(t!==void 0)return t;throw new Error(`\`${s}\` must be used within \`${e}\``)}return[n,o]}function Be(e,t=[]){let r=[];function n(s,a){const c=d.createContext(a),l=r.length;r=[...r,a];const f=p=>{var w;const{scope:g,children:v,...m}=p,h=((w=g==null?void 0:g[e])==null?void 0:w[l])||c,b=d.useMemo(()=>m,Object.values(m));return i.jsx(h.Provider,{value:b,children:v})};f.displayName=s+"Provider";function u(p,g){var h;const v=((h=g==null?void 0:g[e])==null?void 0:h[l])||c,m=d.useContext(v);if(m)return m;if(a!==void 0)return a;throw new Error(`\`${p}\` must be used within \`${s}\``)}return[f,u]}const o=()=>{const s=r.map(a=>d.createContext(a));return function(c){const l=(c==null?void 0:c[e])||s;return d.useMemo(()=>({[`__scope${e}`]:{...c,[e]:l}}),[c,l])}};return o.scopeName=e,[n,Mf(o,...t)]}function Mf(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=n.reduce((c,{useScope:l,scopeName:f})=>{const p=l(s)[`__scope${f}`];return{...c,...p}},{});return d.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return r.scopeName=t.scopeName,r}var Se=globalThis!=null&&globalThis.document?d.useLayoutEffect:()=>{},Df=d[" useInsertionEffect ".trim().toString()]||Se;function nt({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[o,s,a]=Lf({defaultProp:t,onChange:r}),c=e!==void 0,l=c?e:o;{const u=d.useRef(e!==void 0);d.useEffect(()=>{const p=u.current;p!==c&&console.warn(`${n} is changing from ${p?"controlled":"uncontrolled"} to ${c?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),u.current=c},[c,n])}const f=d.useCallback(u=>{var p;if(c){const g=Ff(u)?u(e):u;g!==e&&((p=a.current)==null||p.call(a,g))}else s(u)},[c,e,s,a]);return[l,f]}function Lf({defaultProp:e,onChange:t}){const[r,n]=d.useState(e),o=d.useRef(r),s=d.useRef(t);return Df(()=>{s.current=t},[t]),d.useEffect(()=>{var a;o.current!==r&&((a=s.current)==null||a.call(s,r),o.current=r)},[r,o]),[r,n,s]}function Ff(e){return typeof e=="function"}function fa(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function qn(...e){return t=>{let r=!1;const n=e.map(o=>{const s=fa(o,t);return!r&&typeof s=="function"&&(r=!0),s});if(r)return()=>{for(let o=0;o<n.length;o++){const s=n[o];typeof s=="function"?s():fa(e[o],null)}}}}function ae(...e){return d.useCallback(qn(...e),e)}var $f=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Q=$f.reduce((e,t)=>{const r=_e.createSlot(`Primitive.${t}`),n=d.forwardRef((o,s)=>{const{asChild:a,...c}=o,l=a?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(l,{...c,ref:s})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function pa(e,t){e&&hr.flushSync(()=>e.dispatchEvent(t))}function Bf(e,t){return d.useReducer((r,n)=>t[r][n]??r,e)}var Ie=e=>{const{present:t,children:r}=e,n=Uf(t),o=typeof r=="function"?r({present:n.isPresent}):d.Children.only(r),s=ae(n.ref,Hf(o));return typeof r=="function"||n.isPresent?d.cloneElement(o,{ref:s}):null};Ie.displayName="Presence";function Uf(e){const[t,r]=d.useState(),n=d.useRef(null),o=d.useRef(e),s=d.useRef("none"),a=e?"mounted":"unmounted",[c,l]=Bf(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return d.useEffect(()=>{const f=Pr(n.current);s.current=c==="mounted"?f:"none"},[c]),Se(()=>{const f=n.current,u=o.current;if(u!==e){const g=s.current,v=Pr(f);e?l("MOUNT"):v==="none"||(f==null?void 0:f.display)==="none"?l("UNMOUNT"):l(u&&g!==v?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,l]),Se(()=>{if(t){let f;const u=t.ownerDocument.defaultView??window,p=v=>{const h=Pr(n.current).includes(CSS.escape(v.animationName));if(v.target===t&&h&&(l("ANIMATION_END"),!o.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",f=u.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},g=v=>{v.target===t&&(s.current=Pr(n.current))};return t.addEventListener("animationstart",g),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{u.clearTimeout(f),t.removeEventListener("animationstart",g),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:d.useCallback(f=>{n.current=f?getComputedStyle(f):null,r(f)},[])}}function Pr(e){return(e==null?void 0:e.animationName)||"none"}function Hf(e){var n,o;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var zf=d[" useId ".trim().toString()]||(()=>{}),Wf=0;function Ue(e){const[t,r]=d.useState(zf());return Se(()=>{r(n=>n??String(Wf++))},[e]),t?`radix-${t}`:""}var Ir="Collapsible",[jf,ny]=Be(Ir),[Vf,Xn]=jf(Ir),ha=d.forwardRef((e,t)=>{const{__scopeCollapsible:r,open:n,defaultOpen:o,disabled:s,onOpenChange:a,...c}=e,[l,f]=nt({prop:n,defaultProp:o??!1,onChange:a,caller:Ir});return i.jsx(Vf,{scope:r,disabled:s,contentId:Ue(),open:l,onOpenToggle:d.useCallback(()=>f(u=>!u),[f]),children:i.jsx(Q.div,{"data-state":Jn(l),"data-disabled":s?"":void 0,...c,ref:t})})});ha.displayName=Ir;var ga="CollapsibleTrigger",ma=d.forwardRef((e,t)=>{const{__scopeCollapsible:r,...n}=e,o=Xn(ga,r);return i.jsx(Q.button,{type:"button","aria-controls":o.contentId,"aria-expanded":o.open||!1,"data-state":Jn(o.open),"data-disabled":o.disabled?"":void 0,disabled:o.disabled,...n,ref:t,onClick:H(e.onClick,o.onOpenToggle)})});ma.displayName=ga;var Yn="CollapsibleContent",Kf=d.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=Xn(Yn,e.__scopeCollapsible);return i.jsx(Ie,{present:r||o.open,children:({present:s})=>i.jsx(Rf,{...n,ref:t,present:s})})});Kf.displayName=Yn;var Rf=d.forwardRef((e,t)=>{const{__scopeCollapsible:r,present:n,children:o,...s}=e,a=Xn(Yn,r),[c,l]=d.useState(n),f=d.useRef(null),u=ae(t,f),p=d.useRef(0),g=p.current,v=d.useRef(0),m=v.current,h=a.open||c,b=d.useRef(h),w=d.useRef(void 0);return d.useEffect(()=>{const x=requestAnimationFrame(()=>b.current=!1);return()=>cancelAnimationFrame(x)},[]),Se(()=>{const x=f.current;if(x){w.current=w.current||{transitionDuration:x.style.transitionDuration,animationName:x.style.animationName},x.style.transitionDuration="0s",x.style.animationName="none";const y=x.getBoundingClientRect();p.current=y.height,v.current=y.width,b.current||(x.style.transitionDuration=w.current.transitionDuration,x.style.animationName=w.current.animationName),l(n)}},[a.open,n]),i.jsx(Q.div,{"data-state":Jn(a.open),"data-disabled":a.disabled?"":void 0,id:a.contentId,hidden:!h,...s,ref:u,style:{"--radix-collapsible-content-height":g?`${g}px`:void 0,"--radix-collapsible-content-width":m?`${m}px`:void 0,...e.style},children:h&&o})});function Jn(e){return e?"open":"closed"}var Gf=ha;const ba=Gf,va=ma;function Yt({content:e,className:t=""}){const r=A.useMemo(()=>({table:({node:f,className:u,...p})=>i.jsx("div",{className:"max-w-full",children:i.jsx("table",{...p,className:P("w-full table-fixed border-collapse break-words",u)})}),th:({node:f,className:u,...p})=>i.jsx("th",{...p,className:P("break-words whitespace-normal border-b border-border/60 px-3 py-2 text-left align-top",u)}),td:({node:f,className:u,...p})=>i.jsx("td",{...p,className:P("break-words whitespace-normal border-b border-border/30 px-3 py-2 align-top",u)}),pre:({node:f,className:u,...p})=>i.jsx("pre",{...p,className:P("whitespace-pre-wrap break-words",u)}),code:({node:f,className:u,children:p,...g})=>{const{inline:v,...m}=g;return v?i.jsx("code",{...m,className:P("break-words whitespace-normal",u),children:p}):i.jsx("code",{...m,className:P("block break-words whitespace-pre-wrap",u),children:p})}}),[]),n=P("prose prose-sm max-w-none break-words dark:prose-invert leading-relaxed","prose-headings:break-words prose-p:break-words prose-li:break-words prose-td:break-words prose-th:break-words","prose-a:break-all prose-blockquote:break-words prose-strong:break-words prose-em:break-words","prose-code:break-words prose-pre:rounded prose-pre:border prose-pre:bg-background/50","prose-code:bg-background/50 prose-code:px-1 prose-code:py-0.5 prose-code:rounded prose-table:my-4 prose-th:px-2 prose-td:px-2",t);return i.jsx("div",{className:n,style:{wordBreak:"break-word",overflowWrap:"anywhere"},children:i.jsx(Gd,{remarkPlugins:[qd],components:r,children:e})})}async function wa(e,t){return await Me(e,{responseType:"blob",onDownloadProgress:n=>{try{if(t&&n.lengthComputable){const o=n.loaded/n.total;t(o)}}catch{}},maxBodyLength:1/0})}async function ya(e,t){const r=await wa(`/chat/files/${e}/view`,t),n=URL.createObjectURL(r);window.open(n,"_blank"),setTimeout(()=>URL.revokeObjectURL(n),6e4)}async function qf(e,t){const r=await wa(`/chat/files/${e}/download`,t),n=URL.createObjectURL(r);let o=`file_${e}`;try{const a=await Me(`/chat/files/${e}`);o=(a==null?void 0:a.filename)??o}catch{}const s=document.createElement("a");s.href=n,s.download=o,document.body.appendChild(s),s.click(),s.remove(),setTimeout(()=>URL.revokeObjectURL(n),6e4)}const Xf=1,Yf=1e6;let Zn=0;function Jf(){return Zn=(Zn+1)%Number.MAX_SAFE_INTEGER,Zn.toString()}const Qn=new Map,xa=e=>{if(Qn.has(e))return;const t=setTimeout(()=>{Qn.delete(e),Jt({type:"REMOVE_TOAST",toastId:e})},Yf);Qn.set(e,t)},Zf=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,Xf)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(r=>r.id===t.toast.id?{...r,...t.toast}:r)};case"DISMISS_TOAST":{const{toastId:r}=t;return r?xa(r):e.toasts.forEach(n=>{xa(n.id)}),{...e,toasts:e.toasts.map(n=>n.id===r||r===void 0?{...n,open:!1}:n)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(r=>r.id!==t.toastId)}}},_r=[];let kr={toasts:[]};function Jt(e){kr=Zf(kr,e),_r.forEach(t=>{t(kr)})}function Qf({...e}){const t=Jf(),r=o=>Jt({type:"UPDATE_TOAST",toast:{...o,id:t}}),n=()=>Jt({type:"DISMISS_TOAST",toastId:t});return Jt({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:o=>{o||n()}}}),{id:t,dismiss:n,update:r}}function Sa(){const[e,t]=d.useState(kr);return d.useEffect(()=>(_r.push(t),()=>{const r=_r.indexOf(t);r>-1&&_r.splice(r,1)}),[e]),{...e,toast:Qf,dismiss:r=>Jt({type:"DISMISS_TOAST",toastId:r})}}const Or="prose prose-sm max-w-none break-words dark:prose-invert prose-headings:break-words prose-p:break-words prose-li:break-words prose-td:break-words prose-th:break-words prose-a:break-all prose-code:break-words prose-blockquote:break-words";function ep({className:e}){const[t,r]=A.useState(0);return A.useEffect(()=>{const n=setInterval(()=>r(o=>(o+1)%4),500);return()=>clearInterval(n)},[]),i.jsxs("span",{"aria-live":"polite",className:P("inline-block text-xs opacity-70 ml-1",e),children:["Is thinking",".".repeat(t)]})}function Ca({message:e,messageIndex:t,isStreamingMessage:r=!1,streamingDebounceMs:n=40,isEditing:o=!1,showActions:s=!0,showTimestamp:a=!0,showAgentName:c=!0,layoutSize:l="desktop",truncateToolMessages:f=!0,toolMessagePreviewLength:u=200,truncateUserMessages:p=!0,userMessagePreviewLength:g=200,customStyles:v={},onEdit:m,onRegenerate:h,onCancelEdit:b,onCopy:w}){const[x,y]=A.useState(!1),[C,T]=A.useState(!1),[M,N]=A.useState(!1),[F,B]=A.useState(!1),{currentThreadId:z}=Ar(),{toast:R}=Sa(),[X,V]=A.useState({}),I=l==="phone"||l==="half-screen",U=e.role,_=U==="tool",W=A.useMemo(()=>{switch(U){case"user":return"text-[hsl(var(--chat-bubble-user-text))]";case"assistant":return"text-[hsl(var(--chat-bubble-ai-text))]";case"tool":return"text-secondary-foreground";case"system":return"text-muted-foreground";default:return"text-[hsl(var(--chat-bubble-ai-text))]"}},[U]),D=A.useMemo(()=>tp(e.content),[e.content]),E=A.useMemo(()=>ap(e.content),[e.content]),Z=A.useMemo(()=>e.content.filter(J=>J.type==="image_url"),[e.content]),G=A.useMemo(()=>e.content.filter(J=>J.type==="file"),[e.content]),re=cp(D,r?n:0),$=async()=>{try{const J=_?Tt(e.content):D;await navigator.clipboard.writeText(J),y(!0),setTimeout(()=>y(!1),2e3),w==null||w(J)}catch(J){console.error("Failed to copy:",J)}},K=()=>{if(!m)return;const J=_?Tt(e.content):D;m(e.id,J)},ie=()=>h==null?void 0:h(t),ge=async(J,oe,k)=>{try{const L=String(oe.url??"");try{const se=L.match(/\/chat\/files\/(\d+)(?:\/(view|download))?/);if(se){J.preventDefault();const be=se[1],we=se[2]||"view";if(X[k])return;V(me=>({...me,[k]:!0}));try{const me=R({title:we==="download"?"Downloading file...":"Opening file...",description:"",open:!0}),ve=tt=>{me.update({id:me.id,description:`Progress: ${(tt*100).toFixed(0)}%`})};we==="download"?await qf(be,ve):await ya(be,ve),me.update({id:me.id,title:"Done",description:void 0})}catch(me){console.error("Failed to fetch server file:",me),R({title:"Failed to fetch file",description:String(me),open:!0})}finally{V(me=>({...me,[k]:!1}))}return}}catch{}if(L.startsWith("data:")){if(J.preventDefault(),X[k])return;V(ve=>({...ve,[k]:!0}));const be=L.split(",")[1]??"";let we=oe.mimeType??"application/octet-stream";const me=L.substring(5,L.indexOf(","));me&&me.includes(";")?we=me.split(";")[0]||we:me&&!me.includes(";")&&(we=me||we);try{const ve=R({title:"Uploading file...",description:"",open:!0}),tt=await Re.uploadFile(be,oe.name??"file",we,z??void 0);if(tt&&tt.id){const xt=tt.id;await ya(xt,Ht=>ve.update({id:ve.id,description:`Progress: ${(Ht*100).toFixed(0)}%`})),ve.update({id:ve.id,title:"Done",description:void 0})}}catch(ve){console.error("Failed to upload file for viewing:",ve),R({title:"Failed to upload file",description:String(ve),open:!0})}finally{V(ve=>({...ve,[k]:!1}))}}}finally{V(L=>({...L,[k]:!1}))}},j=()=>{const oe=P(I?"h-3 w-3":"h-4 w-4","opacity-60 flex-shrink-0",W);switch(U){case"user":return i.jsx(q.User,{className:oe});case"assistant":return i.jsx(q.Bot,{className:oe});case"tool":return i.jsx(q.Wrench,{className:oe});default:return i.jsx(q.Bot,{className:oe})}},le=()=>{const J="group relative mb-4 flex w-full";switch(U){case"user":return P(J,"justify-end");case"assistant":case"tool":case"system":return P(J,"justify-start");default:return J}},ue=()=>{const J=P("rounded-lg px-4 py-3 relative transition-all duration-200 min-w-0 max-w-full break-words",I&&"px-3 py-2 text-sm");switch(U){case"user":return P(J,"w-full md:max-w-[95%]","bg-[hsl(var(--chat-bubble-user))] text-[hsl(var(--chat-bubble-user-text))]","border border-transparent");case"assistant":return P(J,"w-full md:max-w-[95%]","bg-[hsl(var(--chat-bubble-ai))] text-[hsl(var(--chat-bubble-ai-text))]","border border-border/60 dark:border-border/40");case"tool":return P(J,"w-full md:max-w-[95%] bg-secondary/50 text-secondary-foreground border border-dashed");case"system":return P(J,"w-full md:max-w-[85%] bg-accent/40 text-muted-foreground border");default:return P(J,"w-full md:max-w-[95%]","bg-[hsl(var(--chat-bubble-ai))] text-[hsl(var(--chat-bubble-ai-text))]","border border-border/60 dark:border-border/40")}},ce=J=>{if(!J)return"";try{return new Date(J).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}catch{return""}},de=()=>{if(e.model==="reflection"){const k=D.trim(),L=eo(k);if(L&&typeof L=="object")return i.jsx(lp,{data:L})}if(_&&E.name==="get_issues"){const k=e.content.find(be=>be.type==="tool_result"),L=(k==null?void 0:k.output)??Tt(e.content),se=Ta(L);if(se)return i.jsx(dp,{issues:se})}if(_&&!M){const k=Tt(e.content).slice(0,80).replace(/\s+/g," ");return i.jsx("div",{className:P("text-xs font-mono opacity-70 flex items-center justify-between gap-2 text-current",I&&"text-[10px]"),children:i.jsxs("span",{className:"truncate max-w-full text-current",children:[k,k.length>=80?"…":""]})})}if(_&&f){const k=Tt(e.content),L=k.length>u;return i.jsx(ba,{open:C,onOpenChange:T,children:i.jsxs("div",{className:"font-mono text-sm text-current",children:[i.jsx("pre",{className:P("whitespace-pre-wrap break-words text-current",I&&"text-xs"),children:L&&!C?k.substring(0,u)+"...":k}),L&&i.jsx(va,{asChild:!0,children:i.jsx(he,{variant:"ghost",size:"sm",className:"h-6 text-xs text-current",children:C?i.jsxs(i.Fragment,{children:[i.jsx(q.ChevronUp,{className:"h-3 w-3 mr-1"}),"Show less"]}):i.jsxs(i.Fragment,{children:[i.jsx(q.ChevronDown,{className:"h-3 w-3 mr-1"}),"Show more (",k.length-u," chars)"]})})})]})})}if(_&&M&&!f){const k=up(e.content);if(k&&rp(k))return i.jsx(Yt,{content:k.trim()});const L=Tt(e.content);return i.jsx("div",{className:"font-mono text-sm text-current",children:i.jsx("pre",{className:P("whitespace-pre-wrap break-words text-current",I&&"text-xs"),children:L})})}const J=Z.length>0&&U!=="tool",oe=G.length>0&&U!=="tool";return i.jsxs("div",{children:[r?i.jsxs("div",{className:"relative",children:[(()=>{const k=eo(re);return k!==null?i.jsx(Ea,{data:k}):i.jsx(Yt,{content:op(np(re))})})(),i.jsx(ep,{className:P(W,I?"text-xs":"text-sm")})]}):(()=>{const k=eo(D.trim());if(k!==null)return i.jsx(Ea,{data:k});if(U==="user"&&p){const L=D.trim();if(L.length>g)return i.jsxs(ba,{open:F,onOpenChange:B,children:[i.jsx("div",{className:P("text-sm text-[hsl(var(--chat-bubble-user-text))]",I&&"text-xs"),children:F?i.jsx(Yt,{content:L}):i.jsxs("pre",{className:P("font-sans whitespace-pre-wrap break-words bg-transparent p-0 m-0 text-[hsl(var(--chat-bubble-user-text))]",I&&"text-xs"),children:[L.substring(0,g),"..."]})}),i.jsx(va,{asChild:!0,children:i.jsx(he,{variant:"ghost",size:"sm",className:"h-6 text-xs !text-[hsl(var(--chat-bubble-user-text))]",children:F?i.jsxs(i.Fragment,{children:[i.jsx(q.ChevronUp,{className:"h-3 w-3 mr-1"})," Show less"]}):i.jsxs(i.Fragment,{children:[i.jsx(q.ChevronDown,{className:"h-3 w-3 mr-1"})," Show more (",L.length-g," chars)"]})})})]})}return i.jsx(Yt,{content:D.trim()})})(),J&&i.jsx("div",{className:"mt-2 grid grid-cols-2 gap-2",children:Z.map((k,L)=>i.jsxs("div",{className:"relative border rounded overflow-hidden",children:[i.jsx("img",{src:k.url,alt:k.alt??"image",className:"w-full h-auto"}),i.jsxs("div",{className:"absolute top-1 right-1 bg-background/70 rounded px-1 py-0.5 text-[10px] flex items-center gap-1",children:[i.jsx(q.Image,{className:"h-3 w-3"}),i.jsx("span",{children:"image"})]})]},L))}),oe&&i.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:G.map((k,L)=>{const se=k,be=se.name||"file";return i.jsxs("a",{href:se.url,download:be,onClick:we=>ge(we,se,L),target:"_blank",rel:"noreferrer",className:P("inline-flex items-center gap-2 rounded px-2 py-1 text-xs","bg-gray-100 border border-gray-200 hover:bg-gray-200","dark:bg-background/10 dark:border-border/30 dark:hover:bg-background/20","text-current"),title:be,children:[i.jsx("span",{className:"inline-block w-1.5 h-1.5 rounded-full bg-gray-400 dark:bg-gray-500"}),X[L]?i.jsxs("span",{className:"flex items-center gap-2",children:[i.jsx(q.Loader,{className:"h-4 w-4 animate-spin"}),i.jsxs("span",{className:"truncate max-w-[140px]",children:[be," (processing)"]})]}):i.jsx("span",{className:"truncate max-w-[180px]",children:be})]},L)})})]})},ne=A.useMemo(()=>ip(e),[e]);return i.jsx("div",{className:P(le(),v.container),children:i.jsxs("div",{className:P(ue(),v.content),children:[(a||c||_)&&i.jsxs("div",{className:P("flex items-center justify-between mb-2 pb-2 border-b border-current/10",I&&"mb-1 pb-1",W,v.header),children:[i.jsxs("div",{className:"flex items-center gap-2",children:[j(),c&&ne&&i.jsx("span",{className:P("font-medium",I?"text-xs":"text-sm"),children:ne}),_&&E.name&&i.jsxs(ua,{variant:"outline",className:P("text-xs flex items-center gap-1 cursor-pointer",W,"border border-current/40",I&&"text-xs h-4"),onClick:()=>N(J=>!J),children:[i.jsx("span",{children:E.name}),i.jsx("span",{className:"inline-flex items-center",children:M?i.jsx(q.ChevronUp,{className:"h-3 w-3"}):i.jsx(q.ChevronDown,{className:"h-3 w-3"})})]}),_&&!E.name&&i.jsx(he,{variant:"ghost",size:"sm",className:P("h-6 px-1",W,"hover:bg-foreground/10"),onClick:()=>N(J=>!J),children:i.jsxs("span",{className:"text-xs flex items-center gap-1",children:["Tool Output ",M?i.jsx(q.ChevronUp,{className:"h-3 w-3"}):i.jsx(q.ChevronDown,{className:"h-3 w-3"})]})})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[a&&i.jsx("span",{className:P("text-xs opacity-60",W,I&&"text-xs"),children:ce(e.createdAt)}),s&&!o&&i.jsxs("div",{className:P("opacity-0 group-hover:opacity-100 transition-opacity","flex items-center gap-1",v.actions),children:[i.jsx(he,{variant:"ghost",size:"sm",onClick:$,className:P("h-6 w-6 p-0 hover:bg-foreground/10",W,I&&"h-5 w-5"),children:i.jsx(q.Copy,{className:P(x?"text-success":W,I?"h-3 w-3":"h-4 w-4")})}),U==="user"&&m&&i.jsx(he,{variant:"ghost",size:"sm",onClick:K,className:P("h-6 w-6 p-0 hover:bg-foreground/10",W,I&&"h-5 w-5"),children:i.jsx(q.Edit,{className:P(W,I?"h-3 w-3":"h-4 w-4")})}),U==="assistant"&&h&&i.jsx(he,{variant:"ghost",size:"sm",onClick:ie,className:P("h-6 w-6 p-0 hover:bg-foreground/10",W,I&&"h-5 w-5"),children:i.jsx(q.RotateCcw,{className:P(W,I?"h-3 w-3":"h-4 w-4")})})]})]})]}),i.jsx("div",{className:"relative",children:de()}),_&&M&&(E.toolCallId||E.name)&&i.jsxs("div",{className:P("mt-2 pt-2 border-t border-current/10 text-xs opacity-60",I&&"text-xs"),children:[E.name&&i.jsxs("div",{children:["Function: ",E.name]}),E.toolCallId&&i.jsxs("div",{children:["Call ID: ",E.toolCallId]})]}),!(a||c||_)&&s&&!o&&i.jsxs("div",{className:P("absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity","flex items-center gap-1",v.actions),children:[i.jsx(he,{variant:"ghost",size:"sm",onClick:$,className:P("h-6 w-6 p-0 hover:bg-background/50 text-current",I&&"h-5 w-5"),children:i.jsx(q.Copy,{className:P(x?"text-success":"text-current",I?"h-3 w-3":"h-4 w-4")})}),U==="user"&&m&&i.jsx(he,{variant:"ghost",size:"sm",onClick:K,className:P("h-6 w-6 p-0 hover:bg-background/50 text-current",I&&"h-5 w-5"),children:i.jsx(q.Edit,{className:P("text-current",I?"h-3 w-3":"h-4 w-4")})}),U==="assistant"&&h&&i.jsx(he,{variant:"ghost",size:"sm",onClick:ie,className:P("h-6 w-6 p-0 hover:bg-background/50 text-current",I&&"h-5 w-5"),children:i.jsx(q.RotateCcw,{className:P("text-current",I?"h-3 w-3":"h-4 w-4")})})]})]})})}function tp(e){const t=e.filter(r=>r.type==="text").map(r=>r.text).join("");return t||JSON.stringify(e)}function rp(e){return e.includes(`
10
10
  `)||e.includes("```")||/[-*] /.test(e)||/#+\s/.test(e)}function np(e){let t=e;try{(t.match(/```/g)||[]).length%2===1&&(t+="\n```"),(t.replace(/```[\s\S]*?```/g,"").match(new RegExp("(?<!`)`(?!`)","g"))||[]).length%2===1&&(t+="`")}catch{}return t}function op(e){let t=e;try{const r=[],n=[],o="\0F",s="\0I";let a=t.replace(/```[\s\S]*?```/g,c=>(r.push(c),`${o}${r.length-1}\0`));a=a.replace(/`[^`]*`/g,c=>(n.push(c),`${s}${n.length-1}\0`)),a=a.replace(/\b([A-Za-z0-9_&\/-]+)\b(\s+\1\b)+/g,"$1").replace(/\b([A-Za-z0-9_&\/-]+\s+[A-Za-z0-9_&\/-]+)\b(\s+\1\b)+/g,"$1").replace(/([\.,;:!\?\-])\1+/g,"$1").replace(/([:;!\?\)])([A-Za-z])/g,"$1 $2").replace(/\s{3,}/g," "),a=a.replace(/\u0000F(\d+)\u0000/g,(c,l)=>r[Number(l)]??""),a=a.replace(/\u0000I(\d+)\u0000/g,(c,l)=>n[Number(l)]??""),t=a}catch{}return t}function eo(e){const t=e==null?void 0:e.trim();if(!t||!(t.startsWith("{")||t.startsWith("[")))return null;try{return JSON.parse(t)}catch{return null}}function Ea({data:e}){if(Array.isArray(e))return e.every(r=>r===null||["string","number","boolean"].includes(typeof r))?i.jsx("div",{className:Or,children:i.jsx("ul",{className:"list-disc pl-5",children:e.map((r,n)=>i.jsx("li",{children:String(r)},n))})}):i.jsx("pre",{className:"font-mono text-xs bg-background/50 rounded border p-2 whitespace-pre-wrap break-words",children:Zt(e)});if(e&&typeof e=="object"){const t=Array.isArray(e.distilled_facts)?e.distilled_facts:null,r=Array.isArray(e.follow_up_queries)?e.follow_up_queries:null,n=typeof e.is_sufficient=="boolean"?e.is_sufficient:void 0;if(t||r||typeof n=="boolean")return i.jsxs("div",{className:Or,children:[typeof n=="boolean"&&i.jsxs("p",{children:[i.jsx("strong",{children:"Is sufficient:"})," ",n?"Yes":"No"]}),r&&r.length>0&&i.jsxs("div",{children:[i.jsx("p",{children:i.jsx("strong",{children:"Follow-up queries:"})}),i.jsx("ul",{className:"list-disc pl-5",children:r.map((s,a)=>i.jsx("li",{children:String(s)},a))})]}),t&&t.length>0&&i.jsxs("div",{children:[i.jsx("p",{children:i.jsx("strong",{children:"Facts:"})}),i.jsx("ul",{className:"list-disc pl-5",children:t.map((s,a)=>i.jsx("li",{children:String(s)},a))})]})]});const o=Object.entries(e);return i.jsx("div",{className:Or,children:i.jsx("dl",{className:"mt-0",children:o.map(([s,a])=>i.jsxs("div",{className:"mb-1",children:[i.jsxs("dt",{className:"inline font-medium mr-1",children:[s,":"]}),i.jsx("dd",{className:"inline",children:sp(a)})]},s))})})}return i.jsx("pre",{className:"font-mono text-xs bg-background/50 rounded border p-2 whitespace-pre-wrap break-words",children:Zt(e)})}function sp(e){if(e==null)return String(e);const t=typeof e;if(t==="string"||t==="number"||t==="boolean")return String(e);if(Array.isArray(e)&&e.every(n=>n===null||["string","number","boolean"].includes(typeof n)))return e.join(", ");try{return i.jsx("code",{className:"text-xs",children:JSON.stringify(Mr(e))})}catch{return String(e)}}function Na(e){return!!(e&&typeof e=="object"&&(e.type==="file"||e.mimeType||e.filename||e.sourceType==="base64"))}function Mr(e){if(typeof e=="string")return e.length>2e3?e.slice(0,2e3)+"... [truncated]":e;if(e&&typeof e=="object"){if(Array.isArray(e)){const r=e.map(Mr).filter(n=>n!==void 0);return r.length?r:void 0}if(Na(e))return;const t={};for(const r of Object.keys(e)){const n=e[r];if(r==="data"&&typeof n=="string"&&n.length>100)t[r]=`[base64 ${n.length} chars omitted]`;else{const o=Mr(n);o!==void 0&&(t[r]=o)}}return Object.keys(t).length?t:void 0}return e}function Zt(e){if(typeof e=="string")return e;if(Na(e))return"";try{const t=Mr(e);return t===void 0?"":typeof t=="string"?t:JSON.stringify(t,null,2)}catch{return""}}function ap(e){const t=e.find(n=>n.type==="tool_call"),r=e.find(n=>n.type==="tool_result");return{name:t==null?void 0:t.name,toolCallId:(r==null?void 0:r.toolCallId)??(t==null?void 0:t.id)}}function ip(e){return e.name&&e.name.trim()?e.name:e.model&&e.model.includes("/")?e.model.split("/").pop()||null:e.model||null}function cp(e,t){const[r,n]=A.useState(e);return A.useEffect(()=>{if(!t){n(e);return}const o=setTimeout(()=>n(e),t);return()=>clearTimeout(o)},[e,t]),r}function lp({data:e}){return i.jsx("dl",{className:"grid grid-cols-1 gap-y-2",children:Object.entries(e).map(([t,r])=>i.jsxs("div",{className:"flex",children:[i.jsxs("dt",{className:"font-semibold mr-2",children:[t,":"]}),i.jsx("dd",{className:"flex-1 break-words",children:Array.isArray(r)?r.map((n,o)=>i.jsxs("div",{className:"ml-4 break-words",children:["- ",String(n)]},o)):String(r)})]},t))})}function Ta(e){if(!e)return null;if(typeof e=="object"&&!Array.isArray(e)){if(e.desirability||e.feasibility||e.viability||e.other)return{desirability:Array.isArray(e.desirability)?e.desirability:[],feasibility:Array.isArray(e.feasibility)?e.feasibility:[],viability:Array.isArray(e.viability)?e.viability:[],other:Array.isArray(e.other)?e.other:[]};if(e.output&&typeof e.output!="object")e=e.output;else if(e.output&&typeof e.output=="object")return Ta(e.output)}const t=String(e),r={desirability:[],feasibility:[],viability:[],other:[]};let n=t;const o=Math.min(...["desirability=","feasibility=","viability=","other="].map(a=>{const c=n.toLowerCase().indexOf(a);return c===-1?Number.MAX_SAFE_INTEGER:c}));o!==Number.MAX_SAFE_INTEGER&&(n=n.slice(o));for(const a of Object.keys(r)){const l=new RegExp(a+"\\s*=\\s*\\[([\\s\\S]*?)\\]","i").exec(n);if(!l)continue;const f=l[1],u=/Issue\(([\s\S]*?)\)(?:,|$)/g;let p=null;for(;(p=u.exec(f))!==null;){const g=p[1],v=/title\s*=\s*(['"])([\s\S]*?)\1/.exec(g),m=/description\s*=\s*(['"])([\s\S]*?)\1/.exec(g),h=v?v[2].trim():"",b=m?m[2].trim():"";r[a].push({title:h,description:b})}}return Object.values(r).some(a=>a.length>0)?r:null}function dp({issues:e}){const t=[{key:"desirability",title:"Desirability"},{key:"feasibility",title:"Feasibility"},{key:"viability",title:"Viability"},{key:"other",title:"Other"}];return i.jsx("div",{className:Or,children:t.map(r=>{const n=e[r.key];return!n||!n.length?null:i.jsxs("div",{className:"mb-4",children:[i.jsxs("h4",{className:"font-semibold mb-2",children:[r.title," (",n.length,")"]}),i.jsx("ol",{className:"list-decimal pl-5 space-y-2",children:n.map((o,s)=>i.jsxs("li",{children:[i.jsx("div",{className:"font-medium",children:o.title}),i.jsx("div",{className:"text-sm text-muted-foreground",children:o.description})]},s))})]},r.key)})})}function Tt(e){const t=e.filter(r=>r.type==="tool_result");if(t.length)try{return t.length===1?Zt(t[0].output):Zt(t.map(r=>({toolCallId:r.toolCallId,output:r.output})))}catch{}return Zt(e)}function up(e){const t=e.find(n=>n.type==="tool_result");if(!t)return null;const r=t.output;return typeof r=="string"?r:null}const At=1e4;function fp(e){if(typeof e!="string")return String(e);const t=[/<script[^>]*>.*?<\/script>/gi,/<iframe[^>]*>.*?<\/iframe>/gi,/javascript:/gi,/vbscript:/gi,/on\w+\s*=/gi,/<object[^>]*>.*?<\/object>/gi,/<embed[^>]*>.*?<\/embed>/gi,/<form[^>]*>.*?<\/form>/gi];let r=e;for(const o of t)r=r.replace(o,"");return/<[^>]+>/.test(r)&&!/<(?!\/?(?:code|strong|em|b|i|br|p|ul|ol|li|h[1-6])\b)[^>]+>/i.test(r)?r.replace(/<code>(.*?)<\/code>/gi,"`$1`").replace(/<strong>(.*?)<\/strong>/gi,"**$1**").replace(/<b>(.*?)<\/b>/gi,"**$1**").replace(/<em>(.*?)<\/em>/gi,"*$1*").replace(/<i>(.*?)<\/i>/gi,"*$1*").replace(/<br\s*\/?>/gi,`
11
11
  `).replace(/<p>(.*?)<\/p>/gi,`$1
12
12
 
@@ -15,7 +15,7 @@
15
15
  `).replace(/<ul>/gi,"").replace(/<\/ul>/gi,`
16
16
  `).replace(/<ol>/gi,"").replace(/<\/ol>/gi,`
17
17
  `).replace(/<li>(.*?)<\/li>/gi,`- $1
18
- `).trim():r.replace(/</g,"&lt;").replace(/>/g,"&gt;").trim()}function pp(e,t=At){if(!e||typeof e!="string")throw new Error("Invalid content: must be a non-empty string");if(e.length>t)throw new Error(`Message exceeds maximum length of ${t} characters`);return e}function hp(e){let t;return typeof e=="string"?t=e:typeof e=="object"&&e!==null?t=JSON.stringify(e):t=String(e),pp(t),fp(t)}function to(e){const t=e+"CollectionProvider",[r,n]=Be(t),[o,s]=r(t,{collectionRef:{current:null},itemMap:new Map}),a=h=>{const{scope:b,children:w}=h,x=A.useRef(null),y=A.useRef(new Map).current;return i.jsx(o,{scope:b,itemMap:y,collectionRef:x,children:w})};a.displayName=t;const c=e+"CollectionSlot",l=_e.createSlot(c),f=A.forwardRef((h,b)=>{const{scope:w,children:x}=h,y=s(c,w),C=ae(b,y.collectionRef);return i.jsx(l,{ref:C,children:x})});f.displayName=c;const u=e+"CollectionItemSlot",p="data-radix-collection-item",g=_e.createSlot(u),v=A.forwardRef((h,b)=>{const{scope:w,children:x,...y}=h,C=A.useRef(null),T=ae(b,C),M=s(u,w);return A.useEffect(()=>(M.itemMap.set(C,{ref:C,...y}),()=>void M.itemMap.delete(C))),i.jsx(g,{[p]:"",ref:T,children:x})});v.displayName=u;function m(h){const b=s(e+"CollectionConsumer",h);return A.useCallback(()=>{const x=b.collectionRef.current;if(!x)return[];const y=Array.from(x.querySelectorAll(`[${p}]`));return Array.from(b.itemMap.values()).sort((M,N)=>y.indexOf(M.ref.current)-y.indexOf(N.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:a,Slot:f,ItemSlot:v},m,n]}var gp=d.createContext(void 0);function Dr(e){const t=d.useContext(gp);return e||t||"ltr"}function Ce(e){const t=d.useRef(e);return d.useEffect(()=>{t.current=e}),d.useMemo(()=>(...r)=>{var n;return(n=t.current)==null?void 0:n.call(t,...r)},[])}function mp(e,t=globalThis==null?void 0:globalThis.document){const r=Ce(e);d.useEffect(()=>{const n=o=>{o.key==="Escape"&&r(o)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[r,t])}var bp="DismissableLayer",ro="dismissableLayer.update",vp="dismissableLayer.pointerDownOutside",wp="dismissableLayer.focusOutside",Aa,Pa=d.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Qt=d.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:n,onPointerDownOutside:o,onFocusOutside:s,onInteractOutside:a,onDismiss:c,...l}=e,f=d.useContext(Pa),[u,p]=d.useState(null),g=(u==null?void 0:u.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,v]=d.useState({}),m=ae(t,N=>p(N)),h=Array.from(f.layers),[b]=[...f.layersWithOutsidePointerEventsDisabled].slice(-1),w=h.indexOf(b),x=u?h.indexOf(u):-1,y=f.layersWithOutsidePointerEventsDisabled.size>0,C=x>=w,T=Sp(N=>{const F=N.target,B=[...f.branches].some(z=>z.contains(F));!C||B||(o==null||o(N),a==null||a(N),N.defaultPrevented||c==null||c())},g),M=Cp(N=>{const F=N.target;[...f.branches].some(z=>z.contains(F))||(s==null||s(N),a==null||a(N),N.defaultPrevented||c==null||c())},g);return mp(N=>{x===f.layers.size-1&&(n==null||n(N),!N.defaultPrevented&&c&&(N.preventDefault(),c()))},g),d.useEffect(()=>{if(u)return r&&(f.layersWithOutsidePointerEventsDisabled.size===0&&(Aa=g.body.style.pointerEvents,g.body.style.pointerEvents="none"),f.layersWithOutsidePointerEventsDisabled.add(u)),f.layers.add(u),Ia(),()=>{r&&f.layersWithOutsidePointerEventsDisabled.size===1&&(g.body.style.pointerEvents=Aa)}},[u,g,r,f]),d.useEffect(()=>()=>{u&&(f.layers.delete(u),f.layersWithOutsidePointerEventsDisabled.delete(u),Ia())},[u,f]),d.useEffect(()=>{const N=()=>v({});return document.addEventListener(ro,N),()=>document.removeEventListener(ro,N)},[]),i.jsx(Q.div,{...l,ref:m,style:{pointerEvents:y?C?"auto":"none":void 0,...e.style},onFocusCapture:H(e.onFocusCapture,M.onFocusCapture),onBlurCapture:H(e.onBlurCapture,M.onBlurCapture),onPointerDownCapture:H(e.onPointerDownCapture,T.onPointerDownCapture)})});Qt.displayName=bp;var yp="DismissableLayerBranch",xp=d.forwardRef((e,t)=>{const r=d.useContext(Pa),n=d.useRef(null),o=ae(t,n);return d.useEffect(()=>{const s=n.current;if(s)return r.branches.add(s),()=>{r.branches.delete(s)}},[r.branches]),i.jsx(Q.div,{...e,ref:o})});xp.displayName=yp;function Sp(e,t=globalThis==null?void 0:globalThis.document){const r=Ce(e),n=d.useRef(!1),o=d.useRef(()=>{});return d.useEffect(()=>{const s=c=>{if(c.target&&!n.current){let l=function(){_a(vp,r,f,{discrete:!0})};const f={originalEvent:c};c.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=l,t.addEventListener("click",o.current,{once:!0})):l()}else t.removeEventListener("click",o.current);n.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",s)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",s),t.removeEventListener("click",o.current)}},[t,r]),{onPointerDownCapture:()=>n.current=!0}}function Cp(e,t=globalThis==null?void 0:globalThis.document){const r=Ce(e),n=d.useRef(!1);return d.useEffect(()=>{const o=s=>{s.target&&!n.current&&_a(wp,r,{originalEvent:s},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function Ia(){const e=new CustomEvent(ro);document.dispatchEvent(e)}function _a(e,t,r,{discrete:n}){const o=r.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&o.addEventListener(e,t,{once:!0}),n?pa(o,s):o.dispatchEvent(s)}var no=0;function oo(){d.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??ka()),document.body.insertAdjacentElement("beforeend",e[1]??ka()),no++,()=>{no===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),no--}},[])}function ka(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var so="focusScope.autoFocusOnMount",ao="focusScope.autoFocusOnUnmount",Oa={bubbles:!1,cancelable:!0},Ep="FocusScope",Lr=d.forwardRef((e,t)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:o,onUnmountAutoFocus:s,...a}=e,[c,l]=d.useState(null),f=Ce(o),u=Ce(s),p=d.useRef(null),g=ae(t,h=>l(h)),v=d.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;d.useEffect(()=>{if(n){let h=function(y){if(v.paused||!c)return;const C=y.target;c.contains(C)?p.current=C:ot(p.current,{select:!0})},b=function(y){if(v.paused||!c)return;const C=y.relatedTarget;C!==null&&(c.contains(C)||ot(p.current,{select:!0}))},w=function(y){if(document.activeElement===document.body)for(const T of y)T.removedNodes.length>0&&ot(c)};document.addEventListener("focusin",h),document.addEventListener("focusout",b);const x=new MutationObserver(w);return c&&x.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",h),document.removeEventListener("focusout",b),x.disconnect()}}},[n,c,v.paused]),d.useEffect(()=>{if(c){La.add(v);const h=document.activeElement;if(!c.contains(h)){const w=new CustomEvent(so,Oa);c.addEventListener(so,f),c.dispatchEvent(w),w.defaultPrevented||(Np(_p(Ma(c)),{select:!0}),document.activeElement===h&&ot(c))}return()=>{c.removeEventListener(so,f),setTimeout(()=>{const w=new CustomEvent(ao,Oa);c.addEventListener(ao,u),c.dispatchEvent(w),w.defaultPrevented||ot(h??document.body,{select:!0}),c.removeEventListener(ao,u),La.remove(v)},0)}}},[c,f,u,v]);const m=d.useCallback(h=>{if(!r&&!n||v.paused)return;const b=h.key==="Tab"&&!h.altKey&&!h.ctrlKey&&!h.metaKey,w=document.activeElement;if(b&&w){const x=h.currentTarget,[y,C]=Tp(x);y&&C?!h.shiftKey&&w===C?(h.preventDefault(),r&&ot(y,{select:!0})):h.shiftKey&&w===y&&(h.preventDefault(),r&&ot(C,{select:!0})):w===x&&h.preventDefault()}},[r,n,v.paused]);return i.jsx(Q.div,{tabIndex:-1,...a,ref:g,onKeyDown:m})});Lr.displayName=Ep;function Np(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if(ot(n,{select:t}),document.activeElement!==r)return}function Tp(e){const t=Ma(e),r=Da(t,e),n=Da(t.reverse(),e);return[r,n]}function Ma(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const o=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||o?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function Da(e,t){for(const r of e)if(!Ap(r,{upTo:t}))return r}function Ap(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Pp(e){return e instanceof HTMLInputElement&&"select"in e}function ot(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&Pp(e)&&t&&e.select()}}var La=Ip();function Ip(){let e=[];return{add(t){const r=e[0];t!==r&&(r==null||r.pause()),e=Fa(e,t),e.unshift(t)},remove(t){var r;e=Fa(e,t),(r=e[0])==null||r.resume()}}}function Fa(e,t){const r=[...e],n=r.indexOf(t);return n!==-1&&r.splice(n,1),r}function _p(e){return e.filter(t=>t.tagName!=="A")}const kp=["top","right","bottom","left"],st=Math.min,ke=Math.max,Fr=Math.round,$r=Math.floor,Ge=e=>({x:e,y:e}),Op={left:"right",right:"left",bottom:"top",top:"bottom"},Mp={start:"end",end:"start"};function io(e,t,r){return ke(e,st(t,r))}function Qe(e,t){return typeof e=="function"?e(t):e}function et(e){return e.split("-")[0]}function Pt(e){return e.split("-")[1]}function co(e){return e==="x"?"y":"x"}function lo(e){return e==="y"?"height":"width"}const Dp=new Set(["top","bottom"]);function qe(e){return Dp.has(et(e))?"y":"x"}function uo(e){return co(qe(e))}function Lp(e,t,r){r===void 0&&(r=!1);const n=Pt(e),o=uo(e),s=lo(o);let a=o==="x"?n===(r?"end":"start")?"right":"left":n==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(a=Br(a)),[a,Br(a)]}function Fp(e){const t=Br(e);return[fo(e),t,fo(t)]}function fo(e){return e.replace(/start|end/g,t=>Mp[t])}const $a=["left","right"],Ba=["right","left"],$p=["top","bottom"],Bp=["bottom","top"];function Up(e,t,r){switch(e){case"top":case"bottom":return r?t?Ba:$a:t?$a:Ba;case"left":case"right":return t?$p:Bp;default:return[]}}function Hp(e,t,r,n){const o=Pt(e);let s=Up(et(e),r==="start",n);return o&&(s=s.map(a=>a+"-"+o),t&&(s=s.concat(s.map(fo)))),s}function Br(e){return e.replace(/left|right|bottom|top/g,t=>Op[t])}function zp(e){return{top:0,right:0,bottom:0,left:0,...e}}function Ua(e){return typeof e!="number"?zp(e):{top:e,right:e,bottom:e,left:e}}function Ur(e){const{x:t,y:r,width:n,height:o}=e;return{width:n,height:o,top:r,left:t,right:t+n,bottom:r+o,x:t,y:r}}function Ha(e,t,r){let{reference:n,floating:o}=e;const s=qe(t),a=uo(t),c=lo(a),l=et(t),f=s==="y",u=n.x+n.width/2-o.width/2,p=n.y+n.height/2-o.height/2,g=n[c]/2-o[c]/2;let v;switch(l){case"top":v={x:u,y:n.y-o.height};break;case"bottom":v={x:u,y:n.y+n.height};break;case"right":v={x:n.x+n.width,y:p};break;case"left":v={x:n.x-o.width,y:p};break;default:v={x:n.x,y:n.y}}switch(Pt(t)){case"start":v[a]-=g*(r&&f?-1:1);break;case"end":v[a]+=g*(r&&f?-1:1);break}return v}const Wp=async(e,t,r)=>{const{placement:n="bottom",strategy:o="absolute",middleware:s=[],platform:a}=r,c=s.filter(Boolean),l=await(a.isRTL==null?void 0:a.isRTL(t));let f=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:u,y:p}=Ha(f,n,l),g=n,v={},m=0;for(let h=0;h<c.length;h++){const{name:b,fn:w}=c[h],{x,y,data:C,reset:T}=await w({x:u,y:p,initialPlacement:n,placement:g,strategy:o,middlewareData:v,rects:f,platform:a,elements:{reference:e,floating:t}});u=x??u,p=y??p,v={...v,[b]:{...v[b],...C}},T&&m<=50&&(m++,typeof T=="object"&&(T.placement&&(g=T.placement),T.rects&&(f=T.rects===!0?await a.getElementRects({reference:e,floating:t,strategy:o}):T.rects),{x:u,y:p}=Ha(f,g,l)),h=-1)}return{x:u,y:p,placement:g,strategy:o,middlewareData:v}};async function er(e,t){var r;t===void 0&&(t={});const{x:n,y:o,platform:s,rects:a,elements:c,strategy:l}=e,{boundary:f="clippingAncestors",rootBoundary:u="viewport",elementContext:p="floating",altBoundary:g=!1,padding:v=0}=Qe(t,e),m=Ua(v),b=c[g?p==="floating"?"reference":"floating":p],w=Ur(await s.getClippingRect({element:(r=await(s.isElement==null?void 0:s.isElement(b)))==null||r?b:b.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(c.floating)),boundary:f,rootBoundary:u,strategy:l})),x=p==="floating"?{x:n,y:o,width:a.floating.width,height:a.floating.height}:a.reference,y=await(s.getOffsetParent==null?void 0:s.getOffsetParent(c.floating)),C=await(s.isElement==null?void 0:s.isElement(y))?await(s.getScale==null?void 0:s.getScale(y))||{x:1,y:1}:{x:1,y:1},T=Ur(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:x,offsetParent:y,strategy:l}):x);return{top:(w.top-T.top+m.top)/C.y,bottom:(T.bottom-w.bottom+m.bottom)/C.y,left:(w.left-T.left+m.left)/C.x,right:(T.right-w.right+m.right)/C.x}}const jp=e=>({name:"arrow",options:e,async fn(t){const{x:r,y:n,placement:o,rects:s,platform:a,elements:c,middlewareData:l}=t,{element:f,padding:u=0}=Qe(e,t)||{};if(f==null)return{};const p=Ua(u),g={x:r,y:n},v=uo(o),m=lo(v),h=await a.getDimensions(f),b=v==="y",w=b?"top":"left",x=b?"bottom":"right",y=b?"clientHeight":"clientWidth",C=s.reference[m]+s.reference[v]-g[v]-s.floating[m],T=g[v]-s.reference[v],M=await(a.getOffsetParent==null?void 0:a.getOffsetParent(f));let N=M?M[y]:0;(!N||!await(a.isElement==null?void 0:a.isElement(M)))&&(N=c.floating[y]||s.floating[m]);const F=C/2-T/2,B=N/2-h[m]/2-1,z=st(p[w],B),K=st(p[x],B),X=z,V=N-h[m]-K,I=N/2-h[m]/2+F,U=io(X,I,V),_=!l.arrow&&Pt(o)!=null&&I!==U&&s.reference[m]/2-(I<X?z:K)-h[m]/2<0,W=_?I<X?I-X:I-V:0;return{[v]:g[v]+W,data:{[v]:U,centerOffset:I-U-W,..._&&{alignmentOffset:W}},reset:_}}}),Vp=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var r,n;const{placement:o,middlewareData:s,rects:a,initialPlacement:c,platform:l,elements:f}=t,{mainAxis:u=!0,crossAxis:p=!0,fallbackPlacements:g,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:m="none",flipAlignment:h=!0,...b}=Qe(e,t);if((r=s.arrow)!=null&&r.alignmentOffset)return{};const w=et(o),x=qe(c),y=et(c)===c,C=await(l.isRTL==null?void 0:l.isRTL(f.floating)),T=g||(y||!h?[Br(c)]:Fp(c)),M=m!=="none";!g&&M&&T.push(...Hp(c,h,m,C));const N=[c,...T],F=await er(t,b),B=[];let z=((n=s.flip)==null?void 0:n.overflows)||[];if(u&&B.push(F[w]),p){const I=Lp(o,a,C);B.push(F[I[0]],F[I[1]])}if(z=[...z,{placement:o,overflows:B}],!B.every(I=>I<=0)){var K,X;const I=(((K=s.flip)==null?void 0:K.index)||0)+1,U=N[I];if(U&&(!(p==="alignment"?x!==qe(U):!1)||z.every(D=>qe(D.placement)===x?D.overflows[0]>0:!0)))return{data:{index:I,overflows:z},reset:{placement:U}};let _=(X=z.filter(W=>W.overflows[0]<=0).sort((W,D)=>W.overflows[1]-D.overflows[1])[0])==null?void 0:X.placement;if(!_)switch(v){case"bestFit":{var V;const W=(V=z.filter(D=>{if(M){const E=qe(D.placement);return E===x||E==="y"}return!0}).map(D=>[D.placement,D.overflows.filter(E=>E>0).reduce((E,Z)=>E+Z,0)]).sort((D,E)=>D[1]-E[1])[0])==null?void 0:V[0];W&&(_=W);break}case"initialPlacement":_=c;break}if(o!==_)return{reset:{placement:_}}}return{}}}};function za(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Wa(e){return kp.some(t=>e[t]>=0)}const Rp=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:r}=t,{strategy:n="referenceHidden",...o}=Qe(e,t);switch(n){case"referenceHidden":{const s=await er(t,{...o,elementContext:"reference"}),a=za(s,r.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:Wa(a)}}}case"escaped":{const s=await er(t,{...o,altBoundary:!0}),a=za(s,r.floating);return{data:{escapedOffsets:a,escaped:Wa(a)}}}default:return{}}}}},ja=new Set(["left","top"]);async function Kp(e,t){const{placement:r,platform:n,elements:o}=e,s=await(n.isRTL==null?void 0:n.isRTL(o.floating)),a=et(r),c=Pt(r),l=qe(r)==="y",f=ja.has(a)?-1:1,u=s&&l?-1:1,p=Qe(t,e);let{mainAxis:g,crossAxis:v,alignmentAxis:m}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return c&&typeof m=="number"&&(v=c==="end"?m*-1:m),l?{x:v*u,y:g*f}:{x:g*f,y:v*u}}const Gp=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var r,n;const{x:o,y:s,placement:a,middlewareData:c}=t,l=await Kp(t,e);return a===((r=c.offset)==null?void 0:r.placement)&&(n=c.arrow)!=null&&n.alignmentOffset?{}:{x:o+l.x,y:s+l.y,data:{...l,placement:a}}}}},qp=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:r,y:n,placement:o}=t,{mainAxis:s=!0,crossAxis:a=!1,limiter:c={fn:b=>{let{x:w,y:x}=b;return{x:w,y:x}}},...l}=Qe(e,t),f={x:r,y:n},u=await er(t,l),p=qe(et(o)),g=co(p);let v=f[g],m=f[p];if(s){const b=g==="y"?"top":"left",w=g==="y"?"bottom":"right",x=v+u[b],y=v-u[w];v=io(x,v,y)}if(a){const b=p==="y"?"top":"left",w=p==="y"?"bottom":"right",x=m+u[b],y=m-u[w];m=io(x,m,y)}const h=c.fn({...t,[g]:v,[p]:m});return{...h,data:{x:h.x-r,y:h.y-n,enabled:{[g]:s,[p]:a}}}}}},Xp=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:r,y:n,placement:o,rects:s,middlewareData:a}=t,{offset:c=0,mainAxis:l=!0,crossAxis:f=!0}=Qe(e,t),u={x:r,y:n},p=qe(o),g=co(p);let v=u[g],m=u[p];const h=Qe(c,t),b=typeof h=="number"?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(l){const y=g==="y"?"height":"width",C=s.reference[g]-s.floating[y]+b.mainAxis,T=s.reference[g]+s.reference[y]-b.mainAxis;v<C?v=C:v>T&&(v=T)}if(f){var w,x;const y=g==="y"?"width":"height",C=ja.has(et(o)),T=s.reference[p]-s.floating[y]+(C&&((w=a.offset)==null?void 0:w[p])||0)+(C?0:b.crossAxis),M=s.reference[p]+s.reference[y]+(C?0:((x=a.offset)==null?void 0:x[p])||0)-(C?b.crossAxis:0);m<T?m=T:m>M&&(m=M)}return{[g]:v,[p]:m}}}},Yp=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var r,n;const{placement:o,rects:s,platform:a,elements:c}=t,{apply:l=()=>{},...f}=Qe(e,t),u=await er(t,f),p=et(o),g=Pt(o),v=qe(o)==="y",{width:m,height:h}=s.floating;let b,w;p==="top"||p==="bottom"?(b=p,w=g===(await(a.isRTL==null?void 0:a.isRTL(c.floating))?"start":"end")?"left":"right"):(w=p,b=g==="end"?"top":"bottom");const x=h-u.top-u.bottom,y=m-u.left-u.right,C=st(h-u[b],x),T=st(m-u[w],y),M=!t.middlewareData.shift;let N=C,F=T;if((r=t.middlewareData.shift)!=null&&r.enabled.x&&(F=y),(n=t.middlewareData.shift)!=null&&n.enabled.y&&(N=x),M&&!g){const z=ke(u.left,0),K=ke(u.right,0),X=ke(u.top,0),V=ke(u.bottom,0);v?F=m-2*(z!==0||K!==0?z+K:ke(u.left,u.right)):N=h-2*(X!==0||V!==0?X+V:ke(u.top,u.bottom))}await l({...t,availableWidth:F,availableHeight:N});const B=await a.getDimensions(c.floating);return m!==B.width||h!==B.height?{reset:{rects:!0}}:{}}}};function Hr(){return typeof window<"u"}function It(e){return Va(e)?(e.nodeName||"").toLowerCase():"#document"}function Oe(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Xe(e){var t;return(t=(Va(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Va(e){return Hr()?e instanceof Node||e instanceof Oe(e).Node:!1}function He(e){return Hr()?e instanceof Element||e instanceof Oe(e).Element:!1}function Ye(e){return Hr()?e instanceof HTMLElement||e instanceof Oe(e).HTMLElement:!1}function Ra(e){return!Hr()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Oe(e).ShadowRoot}const Jp=new Set(["inline","contents"]);function tr(e){const{overflow:t,overflowX:r,overflowY:n,display:o}=ze(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&!Jp.has(o)}const Zp=new Set(["table","td","th"]);function Qp(e){return Zp.has(It(e))}const eh=[":popover-open",":modal"];function zr(e){return eh.some(t=>{try{return e.matches(t)}catch{return!1}})}const th=["transform","translate","scale","rotate","perspective"],rh=["transform","translate","scale","rotate","perspective","filter"],nh=["paint","layout","strict","content"];function po(e){const t=ho(),r=He(e)?ze(e):e;return th.some(n=>r[n]?r[n]!=="none":!1)||(r.containerType?r.containerType!=="normal":!1)||!t&&(r.backdropFilter?r.backdropFilter!=="none":!1)||!t&&(r.filter?r.filter!=="none":!1)||rh.some(n=>(r.willChange||"").includes(n))||nh.some(n=>(r.contain||"").includes(n))}function oh(e){let t=at(e);for(;Ye(t)&&!_t(t);){if(po(t))return t;if(zr(t))return null;t=at(t)}return null}function ho(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const sh=new Set(["html","body","#document"]);function _t(e){return sh.has(It(e))}function ze(e){return Oe(e).getComputedStyle(e)}function Wr(e){return He(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function at(e){if(It(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Ra(e)&&e.host||Xe(e);return Ra(t)?t.host:t}function Ka(e){const t=at(e);return _t(t)?e.ownerDocument?e.ownerDocument.body:e.body:Ye(t)&&tr(t)?t:Ka(t)}function rr(e,t,r){var n;t===void 0&&(t=[]),r===void 0&&(r=!0);const o=Ka(e),s=o===((n=e.ownerDocument)==null?void 0:n.body),a=Oe(o);if(s){const c=go(a);return t.concat(a,a.visualViewport||[],tr(o)?o:[],c&&r?rr(c):[])}return t.concat(o,rr(o,[],r))}function go(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ga(e){const t=ze(e);let r=parseFloat(t.width)||0,n=parseFloat(t.height)||0;const o=Ye(e),s=o?e.offsetWidth:r,a=o?e.offsetHeight:n,c=Fr(r)!==s||Fr(n)!==a;return c&&(r=s,n=a),{width:r,height:n,$:c}}function mo(e){return He(e)?e:e.contextElement}function kt(e){const t=mo(e);if(!Ye(t))return Ge(1);const r=t.getBoundingClientRect(),{width:n,height:o,$:s}=Ga(t);let a=(s?Fr(r.width):r.width)/n,c=(s?Fr(r.height):r.height)/o;return(!a||!Number.isFinite(a))&&(a=1),(!c||!Number.isFinite(c))&&(c=1),{x:a,y:c}}const ah=Ge(0);function qa(e){const t=Oe(e);return!ho()||!t.visualViewport?ah:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function ih(e,t,r){return t===void 0&&(t=!1),!r||t&&r!==Oe(e)?!1:t}function ht(e,t,r,n){t===void 0&&(t=!1),r===void 0&&(r=!1);const o=e.getBoundingClientRect(),s=mo(e);let a=Ge(1);t&&(n?He(n)&&(a=kt(n)):a=kt(e));const c=ih(s,r,n)?qa(s):Ge(0);let l=(o.left+c.x)/a.x,f=(o.top+c.y)/a.y,u=o.width/a.x,p=o.height/a.y;if(s){const g=Oe(s),v=n&&He(n)?Oe(n):n;let m=g,h=go(m);for(;h&&n&&v!==m;){const b=kt(h),w=h.getBoundingClientRect(),x=ze(h),y=w.left+(h.clientLeft+parseFloat(x.paddingLeft))*b.x,C=w.top+(h.clientTop+parseFloat(x.paddingTop))*b.y;l*=b.x,f*=b.y,u*=b.x,p*=b.y,l+=y,f+=C,m=Oe(h),h=go(m)}}return Ur({width:u,height:p,x:l,y:f})}function jr(e,t){const r=Wr(e).scrollLeft;return t?t.left+r:ht(Xe(e)).left+r}function Xa(e,t){const r=e.getBoundingClientRect(),n=r.left+t.scrollLeft-jr(e,r),o=r.top+t.scrollTop;return{x:n,y:o}}function ch(e){let{elements:t,rect:r,offsetParent:n,strategy:o}=e;const s=o==="fixed",a=Xe(n),c=t?zr(t.floating):!1;if(n===a||c&&s)return r;let l={scrollLeft:0,scrollTop:0},f=Ge(1);const u=Ge(0),p=Ye(n);if((p||!p&&!s)&&((It(n)!=="body"||tr(a))&&(l=Wr(n)),Ye(n))){const v=ht(n);f=kt(n),u.x=v.x+n.clientLeft,u.y=v.y+n.clientTop}const g=a&&!p&&!s?Xa(a,l):Ge(0);return{width:r.width*f.x,height:r.height*f.y,x:r.x*f.x-l.scrollLeft*f.x+u.x+g.x,y:r.y*f.y-l.scrollTop*f.y+u.y+g.y}}function lh(e){return Array.from(e.getClientRects())}function dh(e){const t=Xe(e),r=Wr(e),n=e.ownerDocument.body,o=ke(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),s=ke(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight);let a=-r.scrollLeft+jr(e);const c=-r.scrollTop;return ze(n).direction==="rtl"&&(a+=ke(t.clientWidth,n.clientWidth)-o),{width:o,height:s,x:a,y:c}}const Ya=25;function uh(e,t){const r=Oe(e),n=Xe(e),o=r.visualViewport;let s=n.clientWidth,a=n.clientHeight,c=0,l=0;if(o){s=o.width,a=o.height;const u=ho();(!u||u&&t==="fixed")&&(c=o.offsetLeft,l=o.offsetTop)}const f=jr(n);if(f<=0){const u=n.ownerDocument,p=u.body,g=getComputedStyle(p),v=u.compatMode==="CSS1Compat"&&parseFloat(g.marginLeft)+parseFloat(g.marginRight)||0,m=Math.abs(n.clientWidth-p.clientWidth-v);m<=Ya&&(s-=m)}else f<=Ya&&(s+=f);return{width:s,height:a,x:c,y:l}}const fh=new Set(["absolute","fixed"]);function ph(e,t){const r=ht(e,!0,t==="fixed"),n=r.top+e.clientTop,o=r.left+e.clientLeft,s=Ye(e)?kt(e):Ge(1),a=e.clientWidth*s.x,c=e.clientHeight*s.y,l=o*s.x,f=n*s.y;return{width:a,height:c,x:l,y:f}}function Ja(e,t,r){let n;if(t==="viewport")n=uh(e,r);else if(t==="document")n=dh(Xe(e));else if(He(t))n=ph(t,r);else{const o=qa(e);n={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return Ur(n)}function Za(e,t){const r=at(e);return r===t||!He(r)||_t(r)?!1:ze(r).position==="fixed"||Za(r,t)}function hh(e,t){const r=t.get(e);if(r)return r;let n=rr(e,[],!1).filter(c=>He(c)&&It(c)!=="body"),o=null;const s=ze(e).position==="fixed";let a=s?at(e):e;for(;He(a)&&!_t(a);){const c=ze(a),l=po(a);!l&&c.position==="fixed"&&(o=null),(s?!l&&!o:!l&&c.position==="static"&&!!o&&fh.has(o.position)||tr(a)&&!l&&Za(e,a))?n=n.filter(u=>u!==a):o=c,a=at(a)}return t.set(e,n),n}function gh(e){let{element:t,boundary:r,rootBoundary:n,strategy:o}=e;const a=[...r==="clippingAncestors"?zr(t)?[]:hh(t,this._c):[].concat(r),n],c=a[0],l=a.reduce((f,u)=>{const p=Ja(t,u,o);return f.top=ke(p.top,f.top),f.right=st(p.right,f.right),f.bottom=st(p.bottom,f.bottom),f.left=ke(p.left,f.left),f},Ja(t,c,o));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function mh(e){const{width:t,height:r}=Ga(e);return{width:t,height:r}}function bh(e,t,r){const n=Ye(t),o=Xe(t),s=r==="fixed",a=ht(e,!0,s,t);let c={scrollLeft:0,scrollTop:0};const l=Ge(0);function f(){l.x=jr(o)}if(n||!n&&!s)if((It(t)!=="body"||tr(o))&&(c=Wr(t)),n){const v=ht(t,!0,s,t);l.x=v.x+t.clientLeft,l.y=v.y+t.clientTop}else o&&f();s&&!n&&o&&f();const u=o&&!n&&!s?Xa(o,c):Ge(0),p=a.left+c.scrollLeft-l.x-u.x,g=a.top+c.scrollTop-l.y-u.y;return{x:p,y:g,width:a.width,height:a.height}}function bo(e){return ze(e).position==="static"}function Qa(e,t){if(!Ye(e)||ze(e).position==="fixed")return null;if(t)return t(e);let r=e.offsetParent;return Xe(e)===r&&(r=r.ownerDocument.body),r}function ei(e,t){const r=Oe(e);if(zr(e))return r;if(!Ye(e)){let o=at(e);for(;o&&!_t(o);){if(He(o)&&!bo(o))return o;o=at(o)}return r}let n=Qa(e,t);for(;n&&Qp(n)&&bo(n);)n=Qa(n,t);return n&&_t(n)&&bo(n)&&!po(n)?r:n||oh(e)||r}const vh=async function(e){const t=this.getOffsetParent||ei,r=this.getDimensions,n=await r(e.floating);return{reference:bh(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function wh(e){return ze(e).direction==="rtl"}const yh={convertOffsetParentRelativeRectToViewportRelativeRect:ch,getDocumentElement:Xe,getClippingRect:gh,getOffsetParent:ei,getElementRects:vh,getClientRects:lh,getDimensions:mh,getScale:kt,isElement:He,isRTL:wh};function ti(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function xh(e,t){let r=null,n;const o=Xe(e);function s(){var c;clearTimeout(n),(c=r)==null||c.disconnect(),r=null}function a(c,l){c===void 0&&(c=!1),l===void 0&&(l=1),s();const f=e.getBoundingClientRect(),{left:u,top:p,width:g,height:v}=f;if(c||t(),!g||!v)return;const m=$r(p),h=$r(o.clientWidth-(u+g)),b=$r(o.clientHeight-(p+v)),w=$r(u),y={rootMargin:-m+"px "+-h+"px "+-b+"px "+-w+"px",threshold:ke(0,st(1,l))||1};let C=!0;function T(M){const N=M[0].intersectionRatio;if(N!==l){if(!C)return a();N?a(!1,N):n=setTimeout(()=>{a(!1,1e-7)},1e3)}N===1&&!ti(f,e.getBoundingClientRect())&&a(),C=!1}try{r=new IntersectionObserver(T,{...y,root:o.ownerDocument})}catch{r=new IntersectionObserver(T,y)}r.observe(e)}return a(!0),s}function Sh(e,t,r,n){n===void 0&&(n={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:l=!1}=n,f=mo(e),u=o||s?[...f?rr(f):[],...rr(t)]:[];u.forEach(w=>{o&&w.addEventListener("scroll",r,{passive:!0}),s&&w.addEventListener("resize",r)});const p=f&&c?xh(f,r):null;let g=-1,v=null;a&&(v=new ResizeObserver(w=>{let[x]=w;x&&x.target===f&&v&&(v.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var y;(y=v)==null||y.observe(t)})),r()}),f&&!l&&v.observe(f),v.observe(t));let m,h=l?ht(e):null;l&&b();function b(){const w=ht(e);h&&!ti(h,w)&&r(),h=w,m=requestAnimationFrame(b)}return r(),()=>{var w;u.forEach(x=>{o&&x.removeEventListener("scroll",r),s&&x.removeEventListener("resize",r)}),p==null||p(),(w=v)==null||w.disconnect(),v=null,l&&cancelAnimationFrame(m)}}const Ch=Gp,Eh=qp,Nh=Vp,Th=Yp,Ah=Rp,ri=jp,Ph=Xp,Ih=(e,t,r)=>{const n=new Map,o={platform:yh,...r},s={...o.platform,_c:n};return Wp(e,t,{...o,platform:s})};var _h=typeof document<"u",kh=function(){},Vr=_h?A.useLayoutEffect:kh;function Rr(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let r,n,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==t.length)return!1;for(n=r;n--!==0;)if(!Rr(e[n],t[n]))return!1;return!0}if(o=Object.keys(e),r=o.length,r!==Object.keys(t).length)return!1;for(n=r;n--!==0;)if(!{}.hasOwnProperty.call(t,o[n]))return!1;for(n=r;n--!==0;){const s=o[n];if(!(s==="_owner"&&e.$$typeof)&&!Rr(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function ni(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function oi(e,t){const r=ni(e);return Math.round(t*r)/r}function vo(e){const t=d.useRef(e);return Vr(()=>{t.current=e}),t}function Oh(e){e===void 0&&(e={});const{placement:t="bottom",strategy:r="absolute",middleware:n=[],platform:o,elements:{reference:s,floating:a}={},transform:c=!0,whileElementsMounted:l,open:f}=e,[u,p]=d.useState({x:0,y:0,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[g,v]=d.useState(n);Rr(g,n)||v(n);const[m,h]=d.useState(null),[b,w]=d.useState(null),x=d.useCallback(D=>{D!==M.current&&(M.current=D,h(D))},[]),y=d.useCallback(D=>{D!==N.current&&(N.current=D,w(D))},[]),C=s||m,T=a||b,M=d.useRef(null),N=d.useRef(null),F=d.useRef(u),B=l!=null,z=vo(l),K=vo(o),X=vo(f),V=d.useCallback(()=>{if(!M.current||!N.current)return;const D={placement:t,strategy:r,middleware:g};K.current&&(D.platform=K.current),Ih(M.current,N.current,D).then(E=>{const Z={...E,isPositioned:X.current!==!1};I.current&&!Rr(F.current,Z)&&(F.current=Z,hr.flushSync(()=>{p(Z)}))})},[g,t,r,K,X]);Vr(()=>{f===!1&&F.current.isPositioned&&(F.current.isPositioned=!1,p(D=>({...D,isPositioned:!1})))},[f]);const I=d.useRef(!1);Vr(()=>(I.current=!0,()=>{I.current=!1}),[]),Vr(()=>{if(C&&(M.current=C),T&&(N.current=T),C&&T){if(z.current)return z.current(C,T,V);V()}},[C,T,V,z,B]);const U=d.useMemo(()=>({reference:M,floating:N,setReference:x,setFloating:y}),[x,y]),_=d.useMemo(()=>({reference:C,floating:T}),[C,T]),W=d.useMemo(()=>{const D={position:r,left:0,top:0};if(!_.floating)return D;const E=oi(_.floating,u.x),Z=oi(_.floating,u.y);return c?{...D,transform:"translate("+E+"px, "+Z+"px)",...ni(_.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:E,top:Z}},[r,c,_.floating,u.x,u.y]);return d.useMemo(()=>({...u,update:V,refs:U,elements:_,floatingStyles:W}),[u,V,U,_,W])}const Mh=e=>{function t(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:n,padding:o}=typeof e=="function"?e(r):e;return n&&t(n)?n.current!=null?ri({element:n.current,padding:o}).fn(r):{}:n?ri({element:n,padding:o}).fn(r):{}}}},Dh=(e,t)=>({...Ch(e),options:[e,t]}),Lh=(e,t)=>({...Eh(e),options:[e,t]}),Fh=(e,t)=>({...Ph(e),options:[e,t]}),$h=(e,t)=>({...Nh(e),options:[e,t]}),Bh=(e,t)=>({...Th(e),options:[e,t]}),Uh=(e,t)=>({...Ah(e),options:[e,t]}),Hh=(e,t)=>({...Mh(e),options:[e,t]});var zh="Arrow",si=d.forwardRef((e,t)=>{const{children:r,width:n=10,height:o=5,...s}=e;return i.jsx(Q.svg,{...s,ref:t,width:n,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:i.jsx("polygon",{points:"0,0 30,0 15,10"})})});si.displayName=zh;var Wh=si;function ai(e){const[t,r]=d.useState(void 0);return Se(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const n=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const s=o[0];let a,c;if("borderBoxSize"in s){const l=s.borderBoxSize,f=Array.isArray(l)?l[0]:l;a=f.inlineSize,c=f.blockSize}else a=e.offsetWidth,c=e.offsetHeight;r({width:a,height:c})});return n.observe(e,{box:"border-box"}),()=>n.unobserve(e)}else r(void 0)},[e]),t}var wo="Popper",[ii,Ot]=Be(wo),[jh,ci]=ii(wo),li=e=>{const{__scopePopper:t,children:r}=e,[n,o]=d.useState(null);return i.jsx(jh,{scope:t,anchor:n,onAnchorChange:o,children:r})};li.displayName=wo;var di="PopperAnchor",ui=d.forwardRef((e,t)=>{const{__scopePopper:r,virtualRef:n,...o}=e,s=ci(di,r),a=d.useRef(null),c=ae(t,a),l=d.useRef(null);return d.useEffect(()=>{const f=l.current;l.current=(n==null?void 0:n.current)||a.current,f!==l.current&&s.onAnchorChange(l.current)}),n?null:i.jsx(Q.div,{...o,ref:c})});ui.displayName=di;var yo="PopperContent",[Vh,Rh]=ii(yo),fi=d.forwardRef((e,t)=>{var j,le,ue,ce,de,ne;const{__scopePopper:r,side:n="bottom",sideOffset:o=0,align:s="center",alignOffset:a=0,arrowPadding:c=0,avoidCollisions:l=!0,collisionBoundary:f=[],collisionPadding:u=0,sticky:p="partial",hideWhenDetached:g=!1,updatePositionStrategy:v="optimized",onPlaced:m,...h}=e,b=ci(yo,r),[w,x]=d.useState(null),y=ae(t,J=>x(J)),[C,T]=d.useState(null),M=ai(C),N=(M==null?void 0:M.width)??0,F=(M==null?void 0:M.height)??0,B=n+(s!=="center"?"-"+s:""),z=typeof u=="number"?u:{top:0,right:0,bottom:0,left:0,...u},K=Array.isArray(f)?f:[f],X=K.length>0,V={padding:z,boundary:K.filter(Gh),altBoundary:X},{refs:I,floatingStyles:U,placement:_,isPositioned:W,middlewareData:D}=Oh({strategy:"fixed",placement:B,whileElementsMounted:(...J)=>Sh(...J,{animationFrame:v==="always"}),elements:{reference:b.anchor},middleware:[Dh({mainAxis:o+F,alignmentAxis:a}),l&&Lh({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?Fh():void 0,...V}),l&&$h({...V}),Bh({...V,apply:({elements:J,rects:oe,availableWidth:k,availableHeight:L})=>{const{width:se,height:ve}=oe.reference,we=J.floating.style;we.setProperty("--radix-popper-available-width",`${k}px`),we.setProperty("--radix-popper-available-height",`${L}px`),we.setProperty("--radix-popper-anchor-width",`${se}px`),we.setProperty("--radix-popper-anchor-height",`${ve}px`)}}),C&&Hh({element:C,padding:c}),qh({arrowWidth:N,arrowHeight:F}),g&&Uh({strategy:"referenceHidden",...V})]}),[E,Z]=gi(_),G=Ce(m);Se(()=>{W&&(G==null||G())},[W,G]);const re=(j=D.arrow)==null?void 0:j.x,$=(le=D.arrow)==null?void 0:le.y,R=((ue=D.arrow)==null?void 0:ue.centerOffset)!==0,[ie,ge]=d.useState();return Se(()=>{w&&ge(window.getComputedStyle(w).zIndex)},[w]),i.jsx("div",{ref:I.setFloating,"data-radix-popper-content-wrapper":"",style:{...U,transform:W?U.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ie,"--radix-popper-transform-origin":[(ce=D.transformOrigin)==null?void 0:ce.x,(de=D.transformOrigin)==null?void 0:de.y].join(" "),...((ne=D.hide)==null?void 0:ne.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:i.jsx(Vh,{scope:r,placedSide:E,onArrowChange:T,arrowX:re,arrowY:$,shouldHideArrow:R,children:i.jsx(Q.div,{"data-side":E,"data-align":Z,...h,ref:y,style:{...h.style,animation:W?void 0:"none"}})})})});fi.displayName=yo;var pi="PopperArrow",Kh={top:"bottom",right:"left",bottom:"top",left:"right"},hi=d.forwardRef(function(t,r){const{__scopePopper:n,...o}=t,s=Rh(pi,n),a=Kh[s.placedSide];return i.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:i.jsx(Wh,{...o,ref:r,style:{...o.style,display:"block"}})})});hi.displayName=pi;function Gh(e){return e!==null}var qh=e=>({name:"transformOrigin",options:e,fn(t){var b,w,x;const{placement:r,rects:n,middlewareData:o}=t,a=((b=o.arrow)==null?void 0:b.centerOffset)!==0,c=a?0:e.arrowWidth,l=a?0:e.arrowHeight,[f,u]=gi(r),p={start:"0%",center:"50%",end:"100%"}[u],g=(((w=o.arrow)==null?void 0:w.x)??0)+c/2,v=(((x=o.arrow)==null?void 0:x.y)??0)+l/2;let m="",h="";return f==="bottom"?(m=a?p:`${g}px`,h=`${-l}px`):f==="top"?(m=a?p:`${g}px`,h=`${n.floating.height+l}px`):f==="right"?(m=`${-l}px`,h=a?p:`${v}px`):f==="left"&&(m=`${n.floating.width+l}px`,h=a?p:`${v}px`),{data:{x:m,y:h}}}});function gi(e){const[t,r="center"]=e.split("-");return[t,r]}var xo=li,So=ui,Co=fi,Eo=hi,Xh="Portal",Kr=d.forwardRef((e,t)=>{var c;const{container:r,...n}=e,[o,s]=d.useState(!1);Se(()=>s(!0),[]);const a=r||o&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return a?ps.createPortal(i.jsx(Q.div,{...n,ref:t}),a):null});Kr.displayName=Xh;var No="rovingFocusGroup.onEntryFocus",Yh={bubbles:!1,cancelable:!0},nr="RovingFocusGroup",[To,mi,Jh]=to(nr),[Zh,bi]=Be(nr,[Jh]),[Qh,eg]=Zh(nr),vi=d.forwardRef((e,t)=>i.jsx(To.Provider,{scope:e.__scopeRovingFocusGroup,children:i.jsx(To.Slot,{scope:e.__scopeRovingFocusGroup,children:i.jsx(tg,{...e,ref:t})})}));vi.displayName=nr;var tg=d.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:r,orientation:n,loop:o=!1,dir:s,currentTabStopId:a,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:l,onEntryFocus:f,preventScrollOnEntryFocus:u=!1,...p}=e,g=d.useRef(null),v=ae(t,g),m=Dr(s),[h,b]=nt({prop:a,defaultProp:c??null,onChange:l,caller:nr}),[w,x]=d.useState(!1),y=Ce(f),C=mi(r),T=d.useRef(!1),[M,N]=d.useState(0);return d.useEffect(()=>{const F=g.current;if(F)return F.addEventListener(No,y),()=>F.removeEventListener(No,y)},[y]),i.jsx(Qh,{scope:r,orientation:n,dir:m,loop:o,currentTabStopId:h,onItemFocus:d.useCallback(F=>b(F),[b]),onItemShiftTab:d.useCallback(()=>x(!0),[]),onFocusableItemAdd:d.useCallback(()=>N(F=>F+1),[]),onFocusableItemRemove:d.useCallback(()=>N(F=>F-1),[]),children:i.jsx(Q.div,{tabIndex:w||M===0?-1:0,"data-orientation":n,...p,ref:v,style:{outline:"none",...e.style},onMouseDown:H(e.onMouseDown,()=>{T.current=!0}),onFocus:H(e.onFocus,F=>{const B=!T.current;if(F.target===F.currentTarget&&B&&!w){const z=new CustomEvent(No,Yh);if(F.currentTarget.dispatchEvent(z),!z.defaultPrevented){const K=C().filter(_=>_.focusable),X=K.find(_=>_.active),V=K.find(_=>_.id===h),U=[X,V,...K].filter(Boolean).map(_=>_.ref.current);xi(U,u)}}T.current=!1}),onBlur:H(e.onBlur,()=>x(!1))})})}),wi="RovingFocusGroupItem",yi=d.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:r,focusable:n=!0,active:o=!1,tabStopId:s,children:a,...c}=e,l=Ue(),f=s||l,u=eg(wi,r),p=u.currentTabStopId===f,g=mi(r),{onFocusableItemAdd:v,onFocusableItemRemove:m,currentTabStopId:h}=u;return d.useEffect(()=>{if(n)return v(),()=>m()},[n,v,m]),i.jsx(To.ItemSlot,{scope:r,id:f,focusable:n,active:o,children:i.jsx(Q.span,{tabIndex:p?0:-1,"data-orientation":u.orientation,...c,ref:t,onMouseDown:H(e.onMouseDown,b=>{n?u.onItemFocus(f):b.preventDefault()}),onFocus:H(e.onFocus,()=>u.onItemFocus(f)),onKeyDown:H(e.onKeyDown,b=>{if(b.key==="Tab"&&b.shiftKey){u.onItemShiftTab();return}if(b.target!==b.currentTarget)return;const w=og(b,u.orientation,u.dir);if(w!==void 0){if(b.metaKey||b.ctrlKey||b.altKey||b.shiftKey)return;b.preventDefault();let y=g().filter(C=>C.focusable).map(C=>C.ref.current);if(w==="last")y.reverse();else if(w==="prev"||w==="next"){w==="prev"&&y.reverse();const C=y.indexOf(b.currentTarget);y=u.loop?sg(y,C+1):y.slice(C+1)}setTimeout(()=>xi(y))}}),children:typeof a=="function"?a({isCurrentTabStop:p,hasTabStop:h!=null}):a})})});yi.displayName=wi;var rg={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function ng(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function og(e,t,r){const n=ng(e.key,r);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(n))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(n)))return rg[n]}function xi(e,t=!1){const r=document.activeElement;for(const n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}function sg(e,t){return e.map((r,n)=>e[(t+n)%e.length])}var ag=vi,ig=yi,cg=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Mt=new WeakMap,Gr=new WeakMap,qr={},Ao=0,Si=function(e){return e&&(e.host||Si(e.parentNode))},lg=function(e,t){return t.map(function(r){if(e.contains(r))return r;var n=Si(r);return n&&e.contains(n)?n:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},dg=function(e,t,r,n){var o=lg(t,Array.isArray(e)?e:[e]);qr[r]||(qr[r]=new WeakMap);var s=qr[r],a=[],c=new Set,l=new Set(o),f=function(p){!p||c.has(p)||(c.add(p),f(p.parentNode))};o.forEach(f);var u=function(p){!p||l.has(p)||Array.prototype.forEach.call(p.children,function(g){if(c.has(g))u(g);else try{var v=g.getAttribute(n),m=v!==null&&v!=="false",h=(Mt.get(g)||0)+1,b=(s.get(g)||0)+1;Mt.set(g,h),s.set(g,b),a.push(g),h===1&&m&&Gr.set(g,!0),b===1&&g.setAttribute(r,"true"),m||g.setAttribute(n,"true")}catch(w){console.error("aria-hidden: cannot operate on ",g,w)}})};return u(t),c.clear(),Ao++,function(){a.forEach(function(p){var g=Mt.get(p)-1,v=s.get(p)-1;Mt.set(p,g),s.set(p,v),g||(Gr.has(p)||p.removeAttribute(n),Gr.delete(p)),v||p.removeAttribute(r)}),Ao--,Ao||(Mt=new WeakMap,Mt=new WeakMap,Gr=new WeakMap,qr={})}},Po=function(e,t,r){r===void 0&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),o=cg(e);return o?(n.push.apply(n,Array.from(o.querySelectorAll("[aria-live], script"))),dg(n,o,r,"aria-hidden")):function(){return null}},Je=function(){return Je=Object.assign||function(t){for(var r,n=1,o=arguments.length;n<o;n++){r=arguments[n];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(t[s]=r[s])}return t},Je.apply(this,arguments)};function Ci(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r}function ug(e,t,r){if(r||arguments.length===2)for(var n=0,o=t.length,s;n<o;n++)(s||!(n in t))&&(s||(s=Array.prototype.slice.call(t,0,n)),s[n]=t[n]);return e.concat(s||Array.prototype.slice.call(t))}typeof SuppressedError=="function"&&SuppressedError;var Xr="right-scroll-bar-position",Yr="width-before-scroll-bar",fg="with-scroll-bars-hidden",pg="--removed-body-scroll-bar-size";function Io(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function hg(e,t){var r=A.useState(function(){return{value:e,callback:t,facade:{get current(){return r.value},set current(n){var o=r.value;o!==n&&(r.value=n,r.callback(n,o))}}}})[0];return r.callback=t,r.facade}var gg=typeof window<"u"?d.useLayoutEffect:d.useEffect,Ei=new WeakMap;function mg(e,t){var r=hg(null,function(n){return e.forEach(function(o){return Io(o,n)})});return gg(function(){var n=Ei.get(r);if(n){var o=new Set(n),s=new Set(e),a=r.current;o.forEach(function(c){s.has(c)||Io(c,null)}),s.forEach(function(c){o.has(c)||Io(c,a)})}Ei.set(r,e)},[e]),r}function bg(e){return e}function vg(e,t){t===void 0&&(t=bg);var r=[],n=!1,o={read:function(){if(n)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:e},useMedium:function(s){var a=t(s,n);return r.push(a),function(){r=r.filter(function(c){return c!==a})}},assignSyncMedium:function(s){for(n=!0;r.length;){var a=r;r=[],a.forEach(s)}r={push:function(c){return s(c)},filter:function(){return r}}},assignMedium:function(s){n=!0;var a=[];if(r.length){var c=r;r=[],c.forEach(s),a=r}var l=function(){var u=a;a=[],u.forEach(s)},f=function(){return Promise.resolve().then(l)};f(),r={push:function(u){a.push(u),f()},filter:function(u){return a=a.filter(u),r}}}};return o}function wg(e){e===void 0&&(e={});var t=vg(null);return t.options=Je({async:!0,ssr:!1},e),t}var Ni=function(e){var t=e.sideCar,r=Ci(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var n=t.read();if(!n)throw new Error("Sidecar medium not found");return d.createElement(n,Je({},r))};Ni.isSideCarExport=!0;function yg(e,t){return e.useMedium(t),Ni}var Ti=wg(),_o=function(){},Jr=d.forwardRef(function(e,t){var r=d.useRef(null),n=d.useState({onScrollCapture:_o,onWheelCapture:_o,onTouchMoveCapture:_o}),o=n[0],s=n[1],a=e.forwardProps,c=e.children,l=e.className,f=e.removeScrollBar,u=e.enabled,p=e.shards,g=e.sideCar,v=e.noRelative,m=e.noIsolation,h=e.inert,b=e.allowPinchZoom,w=e.as,x=w===void 0?"div":w,y=e.gapMode,C=Ci(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),T=g,M=mg([r,t]),N=Je(Je({},C),o);return d.createElement(d.Fragment,null,u&&d.createElement(T,{sideCar:Ti,removeScrollBar:f,shards:p,noRelative:v,noIsolation:m,inert:h,setCallbacks:s,allowPinchZoom:!!b,lockRef:r,gapMode:y}),a?d.cloneElement(d.Children.only(c),Je(Je({},N),{ref:M})):d.createElement(x,Je({},N,{className:l,ref:M}),c))});Jr.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},Jr.classNames={fullWidth:Yr,zeroRight:Xr};var xg=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function Sg(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=xg();return t&&e.setAttribute("nonce",t),e}function Cg(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Eg(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Ng=function(){var e=0,t=null;return{add:function(r){e==0&&(t=Sg())&&(Cg(t,r),Eg(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Tg=function(){var e=Ng();return function(t,r){d.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&r])}},Ai=function(){var e=Tg(),t=function(r){var n=r.styles,o=r.dynamic;return e(n,o),null};return t},Ag={left:0,top:0,right:0,gap:0},ko=function(e){return parseInt(e||"",10)||0},Pg=function(e){var t=window.getComputedStyle(document.body),r=t[e==="padding"?"paddingLeft":"marginLeft"],n=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[ko(r),ko(n),ko(o)]},Ig=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Ag;var t=Pg(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},_g=Ai(),Dt="data-scroll-locked",kg=function(e,t,r,n){var o=e.left,s=e.top,a=e.right,c=e.gap;return r===void 0&&(r="margin"),`
18
+ `).trim():r.replace(/</g,"&lt;").replace(/>/g,"&gt;").trim()}function pp(e,t=At){if(!e||typeof e!="string")throw new Error("Invalid content: must be a non-empty string");if(e.length>t)throw new Error(`Message exceeds maximum length of ${t} characters`);return e}function hp(e){let t;return typeof e=="string"?t=e:typeof e=="object"&&e!==null?t=JSON.stringify(e):t=String(e),pp(t),fp(t)}function to(e){const t=e+"CollectionProvider",[r,n]=Be(t),[o,s]=r(t,{collectionRef:{current:null},itemMap:new Map}),a=h=>{const{scope:b,children:w}=h,x=A.useRef(null),y=A.useRef(new Map).current;return i.jsx(o,{scope:b,itemMap:y,collectionRef:x,children:w})};a.displayName=t;const c=e+"CollectionSlot",l=_e.createSlot(c),f=A.forwardRef((h,b)=>{const{scope:w,children:x}=h,y=s(c,w),C=ae(b,y.collectionRef);return i.jsx(l,{ref:C,children:x})});f.displayName=c;const u=e+"CollectionItemSlot",p="data-radix-collection-item",g=_e.createSlot(u),v=A.forwardRef((h,b)=>{const{scope:w,children:x,...y}=h,C=A.useRef(null),T=ae(b,C),M=s(u,w);return A.useEffect(()=>(M.itemMap.set(C,{ref:C,...y}),()=>void M.itemMap.delete(C))),i.jsx(g,{[p]:"",ref:T,children:x})});v.displayName=u;function m(h){const b=s(e+"CollectionConsumer",h);return A.useCallback(()=>{const x=b.collectionRef.current;if(!x)return[];const y=Array.from(x.querySelectorAll(`[${p}]`));return Array.from(b.itemMap.values()).sort((M,N)=>y.indexOf(M.ref.current)-y.indexOf(N.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:a,Slot:f,ItemSlot:v},m,n]}var gp=d.createContext(void 0);function Dr(e){const t=d.useContext(gp);return e||t||"ltr"}function Ce(e){const t=d.useRef(e);return d.useEffect(()=>{t.current=e}),d.useMemo(()=>(...r)=>{var n;return(n=t.current)==null?void 0:n.call(t,...r)},[])}function mp(e,t=globalThis==null?void 0:globalThis.document){const r=Ce(e);d.useEffect(()=>{const n=o=>{o.key==="Escape"&&r(o)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[r,t])}var bp="DismissableLayer",ro="dismissableLayer.update",vp="dismissableLayer.pointerDownOutside",wp="dismissableLayer.focusOutside",Aa,Pa=d.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Qt=d.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:n,onPointerDownOutside:o,onFocusOutside:s,onInteractOutside:a,onDismiss:c,...l}=e,f=d.useContext(Pa),[u,p]=d.useState(null),g=(u==null?void 0:u.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,v]=d.useState({}),m=ae(t,N=>p(N)),h=Array.from(f.layers),[b]=[...f.layersWithOutsidePointerEventsDisabled].slice(-1),w=h.indexOf(b),x=u?h.indexOf(u):-1,y=f.layersWithOutsidePointerEventsDisabled.size>0,C=x>=w,T=Sp(N=>{const F=N.target,B=[...f.branches].some(z=>z.contains(F));!C||B||(o==null||o(N),a==null||a(N),N.defaultPrevented||c==null||c())},g),M=Cp(N=>{const F=N.target;[...f.branches].some(z=>z.contains(F))||(s==null||s(N),a==null||a(N),N.defaultPrevented||c==null||c())},g);return mp(N=>{x===f.layers.size-1&&(n==null||n(N),!N.defaultPrevented&&c&&(N.preventDefault(),c()))},g),d.useEffect(()=>{if(u)return r&&(f.layersWithOutsidePointerEventsDisabled.size===0&&(Aa=g.body.style.pointerEvents,g.body.style.pointerEvents="none"),f.layersWithOutsidePointerEventsDisabled.add(u)),f.layers.add(u),Ia(),()=>{r&&f.layersWithOutsidePointerEventsDisabled.size===1&&(g.body.style.pointerEvents=Aa)}},[u,g,r,f]),d.useEffect(()=>()=>{u&&(f.layers.delete(u),f.layersWithOutsidePointerEventsDisabled.delete(u),Ia())},[u,f]),d.useEffect(()=>{const N=()=>v({});return document.addEventListener(ro,N),()=>document.removeEventListener(ro,N)},[]),i.jsx(Q.div,{...l,ref:m,style:{pointerEvents:y?C?"auto":"none":void 0,...e.style},onFocusCapture:H(e.onFocusCapture,M.onFocusCapture),onBlurCapture:H(e.onBlurCapture,M.onBlurCapture),onPointerDownCapture:H(e.onPointerDownCapture,T.onPointerDownCapture)})});Qt.displayName=bp;var yp="DismissableLayerBranch",xp=d.forwardRef((e,t)=>{const r=d.useContext(Pa),n=d.useRef(null),o=ae(t,n);return d.useEffect(()=>{const s=n.current;if(s)return r.branches.add(s),()=>{r.branches.delete(s)}},[r.branches]),i.jsx(Q.div,{...e,ref:o})});xp.displayName=yp;function Sp(e,t=globalThis==null?void 0:globalThis.document){const r=Ce(e),n=d.useRef(!1),o=d.useRef(()=>{});return d.useEffect(()=>{const s=c=>{if(c.target&&!n.current){let l=function(){_a(vp,r,f,{discrete:!0})};const f={originalEvent:c};c.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=l,t.addEventListener("click",o.current,{once:!0})):l()}else t.removeEventListener("click",o.current);n.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",s)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",s),t.removeEventListener("click",o.current)}},[t,r]),{onPointerDownCapture:()=>n.current=!0}}function Cp(e,t=globalThis==null?void 0:globalThis.document){const r=Ce(e),n=d.useRef(!1);return d.useEffect(()=>{const o=s=>{s.target&&!n.current&&_a(wp,r,{originalEvent:s},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function Ia(){const e=new CustomEvent(ro);document.dispatchEvent(e)}function _a(e,t,r,{discrete:n}){const o=r.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&o.addEventListener(e,t,{once:!0}),n?pa(o,s):o.dispatchEvent(s)}var no=0;function oo(){d.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??ka()),document.body.insertAdjacentElement("beforeend",e[1]??ka()),no++,()=>{no===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),no--}},[])}function ka(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var so="focusScope.autoFocusOnMount",ao="focusScope.autoFocusOnUnmount",Oa={bubbles:!1,cancelable:!0},Ep="FocusScope",Lr=d.forwardRef((e,t)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:o,onUnmountAutoFocus:s,...a}=e,[c,l]=d.useState(null),f=Ce(o),u=Ce(s),p=d.useRef(null),g=ae(t,h=>l(h)),v=d.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;d.useEffect(()=>{if(n){let h=function(y){if(v.paused||!c)return;const C=y.target;c.contains(C)?p.current=C:ot(p.current,{select:!0})},b=function(y){if(v.paused||!c)return;const C=y.relatedTarget;C!==null&&(c.contains(C)||ot(p.current,{select:!0}))},w=function(y){if(document.activeElement===document.body)for(const T of y)T.removedNodes.length>0&&ot(c)};document.addEventListener("focusin",h),document.addEventListener("focusout",b);const x=new MutationObserver(w);return c&&x.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",h),document.removeEventListener("focusout",b),x.disconnect()}}},[n,c,v.paused]),d.useEffect(()=>{if(c){La.add(v);const h=document.activeElement;if(!c.contains(h)){const w=new CustomEvent(so,Oa);c.addEventListener(so,f),c.dispatchEvent(w),w.defaultPrevented||(Np(_p(Ma(c)),{select:!0}),document.activeElement===h&&ot(c))}return()=>{c.removeEventListener(so,f),setTimeout(()=>{const w=new CustomEvent(ao,Oa);c.addEventListener(ao,u),c.dispatchEvent(w),w.defaultPrevented||ot(h??document.body,{select:!0}),c.removeEventListener(ao,u),La.remove(v)},0)}}},[c,f,u,v]);const m=d.useCallback(h=>{if(!r&&!n||v.paused)return;const b=h.key==="Tab"&&!h.altKey&&!h.ctrlKey&&!h.metaKey,w=document.activeElement;if(b&&w){const x=h.currentTarget,[y,C]=Tp(x);y&&C?!h.shiftKey&&w===C?(h.preventDefault(),r&&ot(y,{select:!0})):h.shiftKey&&w===y&&(h.preventDefault(),r&&ot(C,{select:!0})):w===x&&h.preventDefault()}},[r,n,v.paused]);return i.jsx(Q.div,{tabIndex:-1,...a,ref:g,onKeyDown:m})});Lr.displayName=Ep;function Np(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if(ot(n,{select:t}),document.activeElement!==r)return}function Tp(e){const t=Ma(e),r=Da(t,e),n=Da(t.reverse(),e);return[r,n]}function Ma(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const o=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||o?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function Da(e,t){for(const r of e)if(!Ap(r,{upTo:t}))return r}function Ap(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Pp(e){return e instanceof HTMLInputElement&&"select"in e}function ot(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&Pp(e)&&t&&e.select()}}var La=Ip();function Ip(){let e=[];return{add(t){const r=e[0];t!==r&&(r==null||r.pause()),e=Fa(e,t),e.unshift(t)},remove(t){var r;e=Fa(e,t),(r=e[0])==null||r.resume()}}}function Fa(e,t){const r=[...e],n=r.indexOf(t);return n!==-1&&r.splice(n,1),r}function _p(e){return e.filter(t=>t.tagName!=="A")}const kp=["top","right","bottom","left"],st=Math.min,ke=Math.max,Fr=Math.round,$r=Math.floor,Ge=e=>({x:e,y:e}),Op={left:"right",right:"left",bottom:"top",top:"bottom"},Mp={start:"end",end:"start"};function io(e,t,r){return ke(e,st(t,r))}function Qe(e,t){return typeof e=="function"?e(t):e}function et(e){return e.split("-")[0]}function Pt(e){return e.split("-")[1]}function co(e){return e==="x"?"y":"x"}function lo(e){return e==="y"?"height":"width"}const Dp=new Set(["top","bottom"]);function qe(e){return Dp.has(et(e))?"y":"x"}function uo(e){return co(qe(e))}function Lp(e,t,r){r===void 0&&(r=!1);const n=Pt(e),o=uo(e),s=lo(o);let a=o==="x"?n===(r?"end":"start")?"right":"left":n==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(a=Br(a)),[a,Br(a)]}function Fp(e){const t=Br(e);return[fo(e),t,fo(t)]}function fo(e){return e.replace(/start|end/g,t=>Mp[t])}const $a=["left","right"],Ba=["right","left"],$p=["top","bottom"],Bp=["bottom","top"];function Up(e,t,r){switch(e){case"top":case"bottom":return r?t?Ba:$a:t?$a:Ba;case"left":case"right":return t?$p:Bp;default:return[]}}function Hp(e,t,r,n){const o=Pt(e);let s=Up(et(e),r==="start",n);return o&&(s=s.map(a=>a+"-"+o),t&&(s=s.concat(s.map(fo)))),s}function Br(e){return e.replace(/left|right|bottom|top/g,t=>Op[t])}function zp(e){return{top:0,right:0,bottom:0,left:0,...e}}function Ua(e){return typeof e!="number"?zp(e):{top:e,right:e,bottom:e,left:e}}function Ur(e){const{x:t,y:r,width:n,height:o}=e;return{width:n,height:o,top:r,left:t,right:t+n,bottom:r+o,x:t,y:r}}function Ha(e,t,r){let{reference:n,floating:o}=e;const s=qe(t),a=uo(t),c=lo(a),l=et(t),f=s==="y",u=n.x+n.width/2-o.width/2,p=n.y+n.height/2-o.height/2,g=n[c]/2-o[c]/2;let v;switch(l){case"top":v={x:u,y:n.y-o.height};break;case"bottom":v={x:u,y:n.y+n.height};break;case"right":v={x:n.x+n.width,y:p};break;case"left":v={x:n.x-o.width,y:p};break;default:v={x:n.x,y:n.y}}switch(Pt(t)){case"start":v[a]-=g*(r&&f?-1:1);break;case"end":v[a]+=g*(r&&f?-1:1);break}return v}const Wp=async(e,t,r)=>{const{placement:n="bottom",strategy:o="absolute",middleware:s=[],platform:a}=r,c=s.filter(Boolean),l=await(a.isRTL==null?void 0:a.isRTL(t));let f=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:u,y:p}=Ha(f,n,l),g=n,v={},m=0;for(let h=0;h<c.length;h++){const{name:b,fn:w}=c[h],{x,y,data:C,reset:T}=await w({x:u,y:p,initialPlacement:n,placement:g,strategy:o,middlewareData:v,rects:f,platform:a,elements:{reference:e,floating:t}});u=x??u,p=y??p,v={...v,[b]:{...v[b],...C}},T&&m<=50&&(m++,typeof T=="object"&&(T.placement&&(g=T.placement),T.rects&&(f=T.rects===!0?await a.getElementRects({reference:e,floating:t,strategy:o}):T.rects),{x:u,y:p}=Ha(f,g,l)),h=-1)}return{x:u,y:p,placement:g,strategy:o,middlewareData:v}};async function er(e,t){var r;t===void 0&&(t={});const{x:n,y:o,platform:s,rects:a,elements:c,strategy:l}=e,{boundary:f="clippingAncestors",rootBoundary:u="viewport",elementContext:p="floating",altBoundary:g=!1,padding:v=0}=Qe(t,e),m=Ua(v),b=c[g?p==="floating"?"reference":"floating":p],w=Ur(await s.getClippingRect({element:(r=await(s.isElement==null?void 0:s.isElement(b)))==null||r?b:b.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(c.floating)),boundary:f,rootBoundary:u,strategy:l})),x=p==="floating"?{x:n,y:o,width:a.floating.width,height:a.floating.height}:a.reference,y=await(s.getOffsetParent==null?void 0:s.getOffsetParent(c.floating)),C=await(s.isElement==null?void 0:s.isElement(y))?await(s.getScale==null?void 0:s.getScale(y))||{x:1,y:1}:{x:1,y:1},T=Ur(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:x,offsetParent:y,strategy:l}):x);return{top:(w.top-T.top+m.top)/C.y,bottom:(T.bottom-w.bottom+m.bottom)/C.y,left:(w.left-T.left+m.left)/C.x,right:(T.right-w.right+m.right)/C.x}}const jp=e=>({name:"arrow",options:e,async fn(t){const{x:r,y:n,placement:o,rects:s,platform:a,elements:c,middlewareData:l}=t,{element:f,padding:u=0}=Qe(e,t)||{};if(f==null)return{};const p=Ua(u),g={x:r,y:n},v=uo(o),m=lo(v),h=await a.getDimensions(f),b=v==="y",w=b?"top":"left",x=b?"bottom":"right",y=b?"clientHeight":"clientWidth",C=s.reference[m]+s.reference[v]-g[v]-s.floating[m],T=g[v]-s.reference[v],M=await(a.getOffsetParent==null?void 0:a.getOffsetParent(f));let N=M?M[y]:0;(!N||!await(a.isElement==null?void 0:a.isElement(M)))&&(N=c.floating[y]||s.floating[m]);const F=C/2-T/2,B=N/2-h[m]/2-1,z=st(p[w],B),R=st(p[x],B),X=z,V=N-h[m]-R,I=N/2-h[m]/2+F,U=io(X,I,V),_=!l.arrow&&Pt(o)!=null&&I!==U&&s.reference[m]/2-(I<X?z:R)-h[m]/2<0,W=_?I<X?I-X:I-V:0;return{[v]:g[v]+W,data:{[v]:U,centerOffset:I-U-W,..._&&{alignmentOffset:W}},reset:_}}}),Vp=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var r,n;const{placement:o,middlewareData:s,rects:a,initialPlacement:c,platform:l,elements:f}=t,{mainAxis:u=!0,crossAxis:p=!0,fallbackPlacements:g,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:m="none",flipAlignment:h=!0,...b}=Qe(e,t);if((r=s.arrow)!=null&&r.alignmentOffset)return{};const w=et(o),x=qe(c),y=et(c)===c,C=await(l.isRTL==null?void 0:l.isRTL(f.floating)),T=g||(y||!h?[Br(c)]:Fp(c)),M=m!=="none";!g&&M&&T.push(...Hp(c,h,m,C));const N=[c,...T],F=await er(t,b),B=[];let z=((n=s.flip)==null?void 0:n.overflows)||[];if(u&&B.push(F[w]),p){const I=Lp(o,a,C);B.push(F[I[0]],F[I[1]])}if(z=[...z,{placement:o,overflows:B}],!B.every(I=>I<=0)){var R,X;const I=(((R=s.flip)==null?void 0:R.index)||0)+1,U=N[I];if(U&&(!(p==="alignment"?x!==qe(U):!1)||z.every(D=>qe(D.placement)===x?D.overflows[0]>0:!0)))return{data:{index:I,overflows:z},reset:{placement:U}};let _=(X=z.filter(W=>W.overflows[0]<=0).sort((W,D)=>W.overflows[1]-D.overflows[1])[0])==null?void 0:X.placement;if(!_)switch(v){case"bestFit":{var V;const W=(V=z.filter(D=>{if(M){const E=qe(D.placement);return E===x||E==="y"}return!0}).map(D=>[D.placement,D.overflows.filter(E=>E>0).reduce((E,Z)=>E+Z,0)]).sort((D,E)=>D[1]-E[1])[0])==null?void 0:V[0];W&&(_=W);break}case"initialPlacement":_=c;break}if(o!==_)return{reset:{placement:_}}}return{}}}};function za(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Wa(e){return kp.some(t=>e[t]>=0)}const Kp=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:r}=t,{strategy:n="referenceHidden",...o}=Qe(e,t);switch(n){case"referenceHidden":{const s=await er(t,{...o,elementContext:"reference"}),a=za(s,r.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:Wa(a)}}}case"escaped":{const s=await er(t,{...o,altBoundary:!0}),a=za(s,r.floating);return{data:{escapedOffsets:a,escaped:Wa(a)}}}default:return{}}}}},ja=new Set(["left","top"]);async function Rp(e,t){const{placement:r,platform:n,elements:o}=e,s=await(n.isRTL==null?void 0:n.isRTL(o.floating)),a=et(r),c=Pt(r),l=qe(r)==="y",f=ja.has(a)?-1:1,u=s&&l?-1:1,p=Qe(t,e);let{mainAxis:g,crossAxis:v,alignmentAxis:m}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return c&&typeof m=="number"&&(v=c==="end"?m*-1:m),l?{x:v*u,y:g*f}:{x:g*f,y:v*u}}const Gp=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var r,n;const{x:o,y:s,placement:a,middlewareData:c}=t,l=await Rp(t,e);return a===((r=c.offset)==null?void 0:r.placement)&&(n=c.arrow)!=null&&n.alignmentOffset?{}:{x:o+l.x,y:s+l.y,data:{...l,placement:a}}}}},qp=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:r,y:n,placement:o}=t,{mainAxis:s=!0,crossAxis:a=!1,limiter:c={fn:b=>{let{x:w,y:x}=b;return{x:w,y:x}}},...l}=Qe(e,t),f={x:r,y:n},u=await er(t,l),p=qe(et(o)),g=co(p);let v=f[g],m=f[p];if(s){const b=g==="y"?"top":"left",w=g==="y"?"bottom":"right",x=v+u[b],y=v-u[w];v=io(x,v,y)}if(a){const b=p==="y"?"top":"left",w=p==="y"?"bottom":"right",x=m+u[b],y=m-u[w];m=io(x,m,y)}const h=c.fn({...t,[g]:v,[p]:m});return{...h,data:{x:h.x-r,y:h.y-n,enabled:{[g]:s,[p]:a}}}}}},Xp=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:r,y:n,placement:o,rects:s,middlewareData:a}=t,{offset:c=0,mainAxis:l=!0,crossAxis:f=!0}=Qe(e,t),u={x:r,y:n},p=qe(o),g=co(p);let v=u[g],m=u[p];const h=Qe(c,t),b=typeof h=="number"?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(l){const y=g==="y"?"height":"width",C=s.reference[g]-s.floating[y]+b.mainAxis,T=s.reference[g]+s.reference[y]-b.mainAxis;v<C?v=C:v>T&&(v=T)}if(f){var w,x;const y=g==="y"?"width":"height",C=ja.has(et(o)),T=s.reference[p]-s.floating[y]+(C&&((w=a.offset)==null?void 0:w[p])||0)+(C?0:b.crossAxis),M=s.reference[p]+s.reference[y]+(C?0:((x=a.offset)==null?void 0:x[p])||0)-(C?b.crossAxis:0);m<T?m=T:m>M&&(m=M)}return{[g]:v,[p]:m}}}},Yp=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var r,n;const{placement:o,rects:s,platform:a,elements:c}=t,{apply:l=()=>{},...f}=Qe(e,t),u=await er(t,f),p=et(o),g=Pt(o),v=qe(o)==="y",{width:m,height:h}=s.floating;let b,w;p==="top"||p==="bottom"?(b=p,w=g===(await(a.isRTL==null?void 0:a.isRTL(c.floating))?"start":"end")?"left":"right"):(w=p,b=g==="end"?"top":"bottom");const x=h-u.top-u.bottom,y=m-u.left-u.right,C=st(h-u[b],x),T=st(m-u[w],y),M=!t.middlewareData.shift;let N=C,F=T;if((r=t.middlewareData.shift)!=null&&r.enabled.x&&(F=y),(n=t.middlewareData.shift)!=null&&n.enabled.y&&(N=x),M&&!g){const z=ke(u.left,0),R=ke(u.right,0),X=ke(u.top,0),V=ke(u.bottom,0);v?F=m-2*(z!==0||R!==0?z+R:ke(u.left,u.right)):N=h-2*(X!==0||V!==0?X+V:ke(u.top,u.bottom))}await l({...t,availableWidth:F,availableHeight:N});const B=await a.getDimensions(c.floating);return m!==B.width||h!==B.height?{reset:{rects:!0}}:{}}}};function Hr(){return typeof window<"u"}function It(e){return Va(e)?(e.nodeName||"").toLowerCase():"#document"}function Oe(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Xe(e){var t;return(t=(Va(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Va(e){return Hr()?e instanceof Node||e instanceof Oe(e).Node:!1}function He(e){return Hr()?e instanceof Element||e instanceof Oe(e).Element:!1}function Ye(e){return Hr()?e instanceof HTMLElement||e instanceof Oe(e).HTMLElement:!1}function Ka(e){return!Hr()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Oe(e).ShadowRoot}const Jp=new Set(["inline","contents"]);function tr(e){const{overflow:t,overflowX:r,overflowY:n,display:o}=ze(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&!Jp.has(o)}const Zp=new Set(["table","td","th"]);function Qp(e){return Zp.has(It(e))}const eh=[":popover-open",":modal"];function zr(e){return eh.some(t=>{try{return e.matches(t)}catch{return!1}})}const th=["transform","translate","scale","rotate","perspective"],rh=["transform","translate","scale","rotate","perspective","filter"],nh=["paint","layout","strict","content"];function po(e){const t=ho(),r=He(e)?ze(e):e;return th.some(n=>r[n]?r[n]!=="none":!1)||(r.containerType?r.containerType!=="normal":!1)||!t&&(r.backdropFilter?r.backdropFilter!=="none":!1)||!t&&(r.filter?r.filter!=="none":!1)||rh.some(n=>(r.willChange||"").includes(n))||nh.some(n=>(r.contain||"").includes(n))}function oh(e){let t=at(e);for(;Ye(t)&&!_t(t);){if(po(t))return t;if(zr(t))return null;t=at(t)}return null}function ho(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const sh=new Set(["html","body","#document"]);function _t(e){return sh.has(It(e))}function ze(e){return Oe(e).getComputedStyle(e)}function Wr(e){return He(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function at(e){if(It(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Ka(e)&&e.host||Xe(e);return Ka(t)?t.host:t}function Ra(e){const t=at(e);return _t(t)?e.ownerDocument?e.ownerDocument.body:e.body:Ye(t)&&tr(t)?t:Ra(t)}function rr(e,t,r){var n;t===void 0&&(t=[]),r===void 0&&(r=!0);const o=Ra(e),s=o===((n=e.ownerDocument)==null?void 0:n.body),a=Oe(o);if(s){const c=go(a);return t.concat(a,a.visualViewport||[],tr(o)?o:[],c&&r?rr(c):[])}return t.concat(o,rr(o,[],r))}function go(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ga(e){const t=ze(e);let r=parseFloat(t.width)||0,n=parseFloat(t.height)||0;const o=Ye(e),s=o?e.offsetWidth:r,a=o?e.offsetHeight:n,c=Fr(r)!==s||Fr(n)!==a;return c&&(r=s,n=a),{width:r,height:n,$:c}}function mo(e){return He(e)?e:e.contextElement}function kt(e){const t=mo(e);if(!Ye(t))return Ge(1);const r=t.getBoundingClientRect(),{width:n,height:o,$:s}=Ga(t);let a=(s?Fr(r.width):r.width)/n,c=(s?Fr(r.height):r.height)/o;return(!a||!Number.isFinite(a))&&(a=1),(!c||!Number.isFinite(c))&&(c=1),{x:a,y:c}}const ah=Ge(0);function qa(e){const t=Oe(e);return!ho()||!t.visualViewport?ah:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function ih(e,t,r){return t===void 0&&(t=!1),!r||t&&r!==Oe(e)?!1:t}function ht(e,t,r,n){t===void 0&&(t=!1),r===void 0&&(r=!1);const o=e.getBoundingClientRect(),s=mo(e);let a=Ge(1);t&&(n?He(n)&&(a=kt(n)):a=kt(e));const c=ih(s,r,n)?qa(s):Ge(0);let l=(o.left+c.x)/a.x,f=(o.top+c.y)/a.y,u=o.width/a.x,p=o.height/a.y;if(s){const g=Oe(s),v=n&&He(n)?Oe(n):n;let m=g,h=go(m);for(;h&&n&&v!==m;){const b=kt(h),w=h.getBoundingClientRect(),x=ze(h),y=w.left+(h.clientLeft+parseFloat(x.paddingLeft))*b.x,C=w.top+(h.clientTop+parseFloat(x.paddingTop))*b.y;l*=b.x,f*=b.y,u*=b.x,p*=b.y,l+=y,f+=C,m=Oe(h),h=go(m)}}return Ur({width:u,height:p,x:l,y:f})}function jr(e,t){const r=Wr(e).scrollLeft;return t?t.left+r:ht(Xe(e)).left+r}function Xa(e,t){const r=e.getBoundingClientRect(),n=r.left+t.scrollLeft-jr(e,r),o=r.top+t.scrollTop;return{x:n,y:o}}function ch(e){let{elements:t,rect:r,offsetParent:n,strategy:o}=e;const s=o==="fixed",a=Xe(n),c=t?zr(t.floating):!1;if(n===a||c&&s)return r;let l={scrollLeft:0,scrollTop:0},f=Ge(1);const u=Ge(0),p=Ye(n);if((p||!p&&!s)&&((It(n)!=="body"||tr(a))&&(l=Wr(n)),Ye(n))){const v=ht(n);f=kt(n),u.x=v.x+n.clientLeft,u.y=v.y+n.clientTop}const g=a&&!p&&!s?Xa(a,l):Ge(0);return{width:r.width*f.x,height:r.height*f.y,x:r.x*f.x-l.scrollLeft*f.x+u.x+g.x,y:r.y*f.y-l.scrollTop*f.y+u.y+g.y}}function lh(e){return Array.from(e.getClientRects())}function dh(e){const t=Xe(e),r=Wr(e),n=e.ownerDocument.body,o=ke(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),s=ke(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight);let a=-r.scrollLeft+jr(e);const c=-r.scrollTop;return ze(n).direction==="rtl"&&(a+=ke(t.clientWidth,n.clientWidth)-o),{width:o,height:s,x:a,y:c}}const Ya=25;function uh(e,t){const r=Oe(e),n=Xe(e),o=r.visualViewport;let s=n.clientWidth,a=n.clientHeight,c=0,l=0;if(o){s=o.width,a=o.height;const u=ho();(!u||u&&t==="fixed")&&(c=o.offsetLeft,l=o.offsetTop)}const f=jr(n);if(f<=0){const u=n.ownerDocument,p=u.body,g=getComputedStyle(p),v=u.compatMode==="CSS1Compat"&&parseFloat(g.marginLeft)+parseFloat(g.marginRight)||0,m=Math.abs(n.clientWidth-p.clientWidth-v);m<=Ya&&(s-=m)}else f<=Ya&&(s+=f);return{width:s,height:a,x:c,y:l}}const fh=new Set(["absolute","fixed"]);function ph(e,t){const r=ht(e,!0,t==="fixed"),n=r.top+e.clientTop,o=r.left+e.clientLeft,s=Ye(e)?kt(e):Ge(1),a=e.clientWidth*s.x,c=e.clientHeight*s.y,l=o*s.x,f=n*s.y;return{width:a,height:c,x:l,y:f}}function Ja(e,t,r){let n;if(t==="viewport")n=uh(e,r);else if(t==="document")n=dh(Xe(e));else if(He(t))n=ph(t,r);else{const o=qa(e);n={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return Ur(n)}function Za(e,t){const r=at(e);return r===t||!He(r)||_t(r)?!1:ze(r).position==="fixed"||Za(r,t)}function hh(e,t){const r=t.get(e);if(r)return r;let n=rr(e,[],!1).filter(c=>He(c)&&It(c)!=="body"),o=null;const s=ze(e).position==="fixed";let a=s?at(e):e;for(;He(a)&&!_t(a);){const c=ze(a),l=po(a);!l&&c.position==="fixed"&&(o=null),(s?!l&&!o:!l&&c.position==="static"&&!!o&&fh.has(o.position)||tr(a)&&!l&&Za(e,a))?n=n.filter(u=>u!==a):o=c,a=at(a)}return t.set(e,n),n}function gh(e){let{element:t,boundary:r,rootBoundary:n,strategy:o}=e;const a=[...r==="clippingAncestors"?zr(t)?[]:hh(t,this._c):[].concat(r),n],c=a[0],l=a.reduce((f,u)=>{const p=Ja(t,u,o);return f.top=ke(p.top,f.top),f.right=st(p.right,f.right),f.bottom=st(p.bottom,f.bottom),f.left=ke(p.left,f.left),f},Ja(t,c,o));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function mh(e){const{width:t,height:r}=Ga(e);return{width:t,height:r}}function bh(e,t,r){const n=Ye(t),o=Xe(t),s=r==="fixed",a=ht(e,!0,s,t);let c={scrollLeft:0,scrollTop:0};const l=Ge(0);function f(){l.x=jr(o)}if(n||!n&&!s)if((It(t)!=="body"||tr(o))&&(c=Wr(t)),n){const v=ht(t,!0,s,t);l.x=v.x+t.clientLeft,l.y=v.y+t.clientTop}else o&&f();s&&!n&&o&&f();const u=o&&!n&&!s?Xa(o,c):Ge(0),p=a.left+c.scrollLeft-l.x-u.x,g=a.top+c.scrollTop-l.y-u.y;return{x:p,y:g,width:a.width,height:a.height}}function bo(e){return ze(e).position==="static"}function Qa(e,t){if(!Ye(e)||ze(e).position==="fixed")return null;if(t)return t(e);let r=e.offsetParent;return Xe(e)===r&&(r=r.ownerDocument.body),r}function ei(e,t){const r=Oe(e);if(zr(e))return r;if(!Ye(e)){let o=at(e);for(;o&&!_t(o);){if(He(o)&&!bo(o))return o;o=at(o)}return r}let n=Qa(e,t);for(;n&&Qp(n)&&bo(n);)n=Qa(n,t);return n&&_t(n)&&bo(n)&&!po(n)?r:n||oh(e)||r}const vh=async function(e){const t=this.getOffsetParent||ei,r=this.getDimensions,n=await r(e.floating);return{reference:bh(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function wh(e){return ze(e).direction==="rtl"}const yh={convertOffsetParentRelativeRectToViewportRelativeRect:ch,getDocumentElement:Xe,getClippingRect:gh,getOffsetParent:ei,getElementRects:vh,getClientRects:lh,getDimensions:mh,getScale:kt,isElement:He,isRTL:wh};function ti(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function xh(e,t){let r=null,n;const o=Xe(e);function s(){var c;clearTimeout(n),(c=r)==null||c.disconnect(),r=null}function a(c,l){c===void 0&&(c=!1),l===void 0&&(l=1),s();const f=e.getBoundingClientRect(),{left:u,top:p,width:g,height:v}=f;if(c||t(),!g||!v)return;const m=$r(p),h=$r(o.clientWidth-(u+g)),b=$r(o.clientHeight-(p+v)),w=$r(u),y={rootMargin:-m+"px "+-h+"px "+-b+"px "+-w+"px",threshold:ke(0,st(1,l))||1};let C=!0;function T(M){const N=M[0].intersectionRatio;if(N!==l){if(!C)return a();N?a(!1,N):n=setTimeout(()=>{a(!1,1e-7)},1e3)}N===1&&!ti(f,e.getBoundingClientRect())&&a(),C=!1}try{r=new IntersectionObserver(T,{...y,root:o.ownerDocument})}catch{r=new IntersectionObserver(T,y)}r.observe(e)}return a(!0),s}function Sh(e,t,r,n){n===void 0&&(n={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:l=!1}=n,f=mo(e),u=o||s?[...f?rr(f):[],...rr(t)]:[];u.forEach(w=>{o&&w.addEventListener("scroll",r,{passive:!0}),s&&w.addEventListener("resize",r)});const p=f&&c?xh(f,r):null;let g=-1,v=null;a&&(v=new ResizeObserver(w=>{let[x]=w;x&&x.target===f&&v&&(v.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var y;(y=v)==null||y.observe(t)})),r()}),f&&!l&&v.observe(f),v.observe(t));let m,h=l?ht(e):null;l&&b();function b(){const w=ht(e);h&&!ti(h,w)&&r(),h=w,m=requestAnimationFrame(b)}return r(),()=>{var w;u.forEach(x=>{o&&x.removeEventListener("scroll",r),s&&x.removeEventListener("resize",r)}),p==null||p(),(w=v)==null||w.disconnect(),v=null,l&&cancelAnimationFrame(m)}}const Ch=Gp,Eh=qp,Nh=Vp,Th=Yp,Ah=Kp,ri=jp,Ph=Xp,Ih=(e,t,r)=>{const n=new Map,o={platform:yh,...r},s={...o.platform,_c:n};return Wp(e,t,{...o,platform:s})};var _h=typeof document<"u",kh=function(){},Vr=_h?A.useLayoutEffect:kh;function Kr(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let r,n,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==t.length)return!1;for(n=r;n--!==0;)if(!Kr(e[n],t[n]))return!1;return!0}if(o=Object.keys(e),r=o.length,r!==Object.keys(t).length)return!1;for(n=r;n--!==0;)if(!{}.hasOwnProperty.call(t,o[n]))return!1;for(n=r;n--!==0;){const s=o[n];if(!(s==="_owner"&&e.$$typeof)&&!Kr(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function ni(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function oi(e,t){const r=ni(e);return Math.round(t*r)/r}function vo(e){const t=d.useRef(e);return Vr(()=>{t.current=e}),t}function Oh(e){e===void 0&&(e={});const{placement:t="bottom",strategy:r="absolute",middleware:n=[],platform:o,elements:{reference:s,floating:a}={},transform:c=!0,whileElementsMounted:l,open:f}=e,[u,p]=d.useState({x:0,y:0,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[g,v]=d.useState(n);Kr(g,n)||v(n);const[m,h]=d.useState(null),[b,w]=d.useState(null),x=d.useCallback(D=>{D!==M.current&&(M.current=D,h(D))},[]),y=d.useCallback(D=>{D!==N.current&&(N.current=D,w(D))},[]),C=s||m,T=a||b,M=d.useRef(null),N=d.useRef(null),F=d.useRef(u),B=l!=null,z=vo(l),R=vo(o),X=vo(f),V=d.useCallback(()=>{if(!M.current||!N.current)return;const D={placement:t,strategy:r,middleware:g};R.current&&(D.platform=R.current),Ih(M.current,N.current,D).then(E=>{const Z={...E,isPositioned:X.current!==!1};I.current&&!Kr(F.current,Z)&&(F.current=Z,hr.flushSync(()=>{p(Z)}))})},[g,t,r,R,X]);Vr(()=>{f===!1&&F.current.isPositioned&&(F.current.isPositioned=!1,p(D=>({...D,isPositioned:!1})))},[f]);const I=d.useRef(!1);Vr(()=>(I.current=!0,()=>{I.current=!1}),[]),Vr(()=>{if(C&&(M.current=C),T&&(N.current=T),C&&T){if(z.current)return z.current(C,T,V);V()}},[C,T,V,z,B]);const U=d.useMemo(()=>({reference:M,floating:N,setReference:x,setFloating:y}),[x,y]),_=d.useMemo(()=>({reference:C,floating:T}),[C,T]),W=d.useMemo(()=>{const D={position:r,left:0,top:0};if(!_.floating)return D;const E=oi(_.floating,u.x),Z=oi(_.floating,u.y);return c?{...D,transform:"translate("+E+"px, "+Z+"px)",...ni(_.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:E,top:Z}},[r,c,_.floating,u.x,u.y]);return d.useMemo(()=>({...u,update:V,refs:U,elements:_,floatingStyles:W}),[u,V,U,_,W])}const Mh=e=>{function t(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:n,padding:o}=typeof e=="function"?e(r):e;return n&&t(n)?n.current!=null?ri({element:n.current,padding:o}).fn(r):{}:n?ri({element:n,padding:o}).fn(r):{}}}},Dh=(e,t)=>({...Ch(e),options:[e,t]}),Lh=(e,t)=>({...Eh(e),options:[e,t]}),Fh=(e,t)=>({...Ph(e),options:[e,t]}),$h=(e,t)=>({...Nh(e),options:[e,t]}),Bh=(e,t)=>({...Th(e),options:[e,t]}),Uh=(e,t)=>({...Ah(e),options:[e,t]}),Hh=(e,t)=>({...Mh(e),options:[e,t]});var zh="Arrow",si=d.forwardRef((e,t)=>{const{children:r,width:n=10,height:o=5,...s}=e;return i.jsx(Q.svg,{...s,ref:t,width:n,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:i.jsx("polygon",{points:"0,0 30,0 15,10"})})});si.displayName=zh;var Wh=si;function ai(e){const[t,r]=d.useState(void 0);return Se(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const n=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const s=o[0];let a,c;if("borderBoxSize"in s){const l=s.borderBoxSize,f=Array.isArray(l)?l[0]:l;a=f.inlineSize,c=f.blockSize}else a=e.offsetWidth,c=e.offsetHeight;r({width:a,height:c})});return n.observe(e,{box:"border-box"}),()=>n.unobserve(e)}else r(void 0)},[e]),t}var wo="Popper",[ii,Ot]=Be(wo),[jh,ci]=ii(wo),li=e=>{const{__scopePopper:t,children:r}=e,[n,o]=d.useState(null);return i.jsx(jh,{scope:t,anchor:n,onAnchorChange:o,children:r})};li.displayName=wo;var di="PopperAnchor",ui=d.forwardRef((e,t)=>{const{__scopePopper:r,virtualRef:n,...o}=e,s=ci(di,r),a=d.useRef(null),c=ae(t,a),l=d.useRef(null);return d.useEffect(()=>{const f=l.current;l.current=(n==null?void 0:n.current)||a.current,f!==l.current&&s.onAnchorChange(l.current)}),n?null:i.jsx(Q.div,{...o,ref:c})});ui.displayName=di;var yo="PopperContent",[Vh,Kh]=ii(yo),fi=d.forwardRef((e,t)=>{var j,le,ue,ce,de,ne;const{__scopePopper:r,side:n="bottom",sideOffset:o=0,align:s="center",alignOffset:a=0,arrowPadding:c=0,avoidCollisions:l=!0,collisionBoundary:f=[],collisionPadding:u=0,sticky:p="partial",hideWhenDetached:g=!1,updatePositionStrategy:v="optimized",onPlaced:m,...h}=e,b=ci(yo,r),[w,x]=d.useState(null),y=ae(t,J=>x(J)),[C,T]=d.useState(null),M=ai(C),N=(M==null?void 0:M.width)??0,F=(M==null?void 0:M.height)??0,B=n+(s!=="center"?"-"+s:""),z=typeof u=="number"?u:{top:0,right:0,bottom:0,left:0,...u},R=Array.isArray(f)?f:[f],X=R.length>0,V={padding:z,boundary:R.filter(Gh),altBoundary:X},{refs:I,floatingStyles:U,placement:_,isPositioned:W,middlewareData:D}=Oh({strategy:"fixed",placement:B,whileElementsMounted:(...J)=>Sh(...J,{animationFrame:v==="always"}),elements:{reference:b.anchor},middleware:[Dh({mainAxis:o+F,alignmentAxis:a}),l&&Lh({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?Fh():void 0,...V}),l&&$h({...V}),Bh({...V,apply:({elements:J,rects:oe,availableWidth:k,availableHeight:L})=>{const{width:se,height:be}=oe.reference,we=J.floating.style;we.setProperty("--radix-popper-available-width",`${k}px`),we.setProperty("--radix-popper-available-height",`${L}px`),we.setProperty("--radix-popper-anchor-width",`${se}px`),we.setProperty("--radix-popper-anchor-height",`${be}px`)}}),C&&Hh({element:C,padding:c}),qh({arrowWidth:N,arrowHeight:F}),g&&Uh({strategy:"referenceHidden",...V})]}),[E,Z]=gi(_),G=Ce(m);Se(()=>{W&&(G==null||G())},[W,G]);const re=(j=D.arrow)==null?void 0:j.x,$=(le=D.arrow)==null?void 0:le.y,K=((ue=D.arrow)==null?void 0:ue.centerOffset)!==0,[ie,ge]=d.useState();return Se(()=>{w&&ge(window.getComputedStyle(w).zIndex)},[w]),i.jsx("div",{ref:I.setFloating,"data-radix-popper-content-wrapper":"",style:{...U,transform:W?U.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ie,"--radix-popper-transform-origin":[(ce=D.transformOrigin)==null?void 0:ce.x,(de=D.transformOrigin)==null?void 0:de.y].join(" "),...((ne=D.hide)==null?void 0:ne.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:i.jsx(Vh,{scope:r,placedSide:E,onArrowChange:T,arrowX:re,arrowY:$,shouldHideArrow:K,children:i.jsx(Q.div,{"data-side":E,"data-align":Z,...h,ref:y,style:{...h.style,animation:W?void 0:"none"}})})})});fi.displayName=yo;var pi="PopperArrow",Rh={top:"bottom",right:"left",bottom:"top",left:"right"},hi=d.forwardRef(function(t,r){const{__scopePopper:n,...o}=t,s=Kh(pi,n),a=Rh[s.placedSide];return i.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:i.jsx(Wh,{...o,ref:r,style:{...o.style,display:"block"}})})});hi.displayName=pi;function Gh(e){return e!==null}var qh=e=>({name:"transformOrigin",options:e,fn(t){var b,w,x;const{placement:r,rects:n,middlewareData:o}=t,a=((b=o.arrow)==null?void 0:b.centerOffset)!==0,c=a?0:e.arrowWidth,l=a?0:e.arrowHeight,[f,u]=gi(r),p={start:"0%",center:"50%",end:"100%"}[u],g=(((w=o.arrow)==null?void 0:w.x)??0)+c/2,v=(((x=o.arrow)==null?void 0:x.y)??0)+l/2;let m="",h="";return f==="bottom"?(m=a?p:`${g}px`,h=`${-l}px`):f==="top"?(m=a?p:`${g}px`,h=`${n.floating.height+l}px`):f==="right"?(m=`${-l}px`,h=a?p:`${v}px`):f==="left"&&(m=`${n.floating.width+l}px`,h=a?p:`${v}px`),{data:{x:m,y:h}}}});function gi(e){const[t,r="center"]=e.split("-");return[t,r]}var xo=li,So=ui,Co=fi,Eo=hi,Xh="Portal",Rr=d.forwardRef((e,t)=>{var c;const{container:r,...n}=e,[o,s]=d.useState(!1);Se(()=>s(!0),[]);const a=r||o&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return a?ps.createPortal(i.jsx(Q.div,{...n,ref:t}),a):null});Rr.displayName=Xh;var No="rovingFocusGroup.onEntryFocus",Yh={bubbles:!1,cancelable:!0},nr="RovingFocusGroup",[To,mi,Jh]=to(nr),[Zh,bi]=Be(nr,[Jh]),[Qh,eg]=Zh(nr),vi=d.forwardRef((e,t)=>i.jsx(To.Provider,{scope:e.__scopeRovingFocusGroup,children:i.jsx(To.Slot,{scope:e.__scopeRovingFocusGroup,children:i.jsx(tg,{...e,ref:t})})}));vi.displayName=nr;var tg=d.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:r,orientation:n,loop:o=!1,dir:s,currentTabStopId:a,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:l,onEntryFocus:f,preventScrollOnEntryFocus:u=!1,...p}=e,g=d.useRef(null),v=ae(t,g),m=Dr(s),[h,b]=nt({prop:a,defaultProp:c??null,onChange:l,caller:nr}),[w,x]=d.useState(!1),y=Ce(f),C=mi(r),T=d.useRef(!1),[M,N]=d.useState(0);return d.useEffect(()=>{const F=g.current;if(F)return F.addEventListener(No,y),()=>F.removeEventListener(No,y)},[y]),i.jsx(Qh,{scope:r,orientation:n,dir:m,loop:o,currentTabStopId:h,onItemFocus:d.useCallback(F=>b(F),[b]),onItemShiftTab:d.useCallback(()=>x(!0),[]),onFocusableItemAdd:d.useCallback(()=>N(F=>F+1),[]),onFocusableItemRemove:d.useCallback(()=>N(F=>F-1),[]),children:i.jsx(Q.div,{tabIndex:w||M===0?-1:0,"data-orientation":n,...p,ref:v,style:{outline:"none",...e.style},onMouseDown:H(e.onMouseDown,()=>{T.current=!0}),onFocus:H(e.onFocus,F=>{const B=!T.current;if(F.target===F.currentTarget&&B&&!w){const z=new CustomEvent(No,Yh);if(F.currentTarget.dispatchEvent(z),!z.defaultPrevented){const R=C().filter(_=>_.focusable),X=R.find(_=>_.active),V=R.find(_=>_.id===h),U=[X,V,...R].filter(Boolean).map(_=>_.ref.current);xi(U,u)}}T.current=!1}),onBlur:H(e.onBlur,()=>x(!1))})})}),wi="RovingFocusGroupItem",yi=d.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:r,focusable:n=!0,active:o=!1,tabStopId:s,children:a,...c}=e,l=Ue(),f=s||l,u=eg(wi,r),p=u.currentTabStopId===f,g=mi(r),{onFocusableItemAdd:v,onFocusableItemRemove:m,currentTabStopId:h}=u;return d.useEffect(()=>{if(n)return v(),()=>m()},[n,v,m]),i.jsx(To.ItemSlot,{scope:r,id:f,focusable:n,active:o,children:i.jsx(Q.span,{tabIndex:p?0:-1,"data-orientation":u.orientation,...c,ref:t,onMouseDown:H(e.onMouseDown,b=>{n?u.onItemFocus(f):b.preventDefault()}),onFocus:H(e.onFocus,()=>u.onItemFocus(f)),onKeyDown:H(e.onKeyDown,b=>{if(b.key==="Tab"&&b.shiftKey){u.onItemShiftTab();return}if(b.target!==b.currentTarget)return;const w=og(b,u.orientation,u.dir);if(w!==void 0){if(b.metaKey||b.ctrlKey||b.altKey||b.shiftKey)return;b.preventDefault();let y=g().filter(C=>C.focusable).map(C=>C.ref.current);if(w==="last")y.reverse();else if(w==="prev"||w==="next"){w==="prev"&&y.reverse();const C=y.indexOf(b.currentTarget);y=u.loop?sg(y,C+1):y.slice(C+1)}setTimeout(()=>xi(y))}}),children:typeof a=="function"?a({isCurrentTabStop:p,hasTabStop:h!=null}):a})})});yi.displayName=wi;var rg={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function ng(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function og(e,t,r){const n=ng(e.key,r);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(n))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(n)))return rg[n]}function xi(e,t=!1){const r=document.activeElement;for(const n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}function sg(e,t){return e.map((r,n)=>e[(t+n)%e.length])}var ag=vi,ig=yi,cg=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Mt=new WeakMap,Gr=new WeakMap,qr={},Ao=0,Si=function(e){return e&&(e.host||Si(e.parentNode))},lg=function(e,t){return t.map(function(r){if(e.contains(r))return r;var n=Si(r);return n&&e.contains(n)?n:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},dg=function(e,t,r,n){var o=lg(t,Array.isArray(e)?e:[e]);qr[r]||(qr[r]=new WeakMap);var s=qr[r],a=[],c=new Set,l=new Set(o),f=function(p){!p||c.has(p)||(c.add(p),f(p.parentNode))};o.forEach(f);var u=function(p){!p||l.has(p)||Array.prototype.forEach.call(p.children,function(g){if(c.has(g))u(g);else try{var v=g.getAttribute(n),m=v!==null&&v!=="false",h=(Mt.get(g)||0)+1,b=(s.get(g)||0)+1;Mt.set(g,h),s.set(g,b),a.push(g),h===1&&m&&Gr.set(g,!0),b===1&&g.setAttribute(r,"true"),m||g.setAttribute(n,"true")}catch(w){console.error("aria-hidden: cannot operate on ",g,w)}})};return u(t),c.clear(),Ao++,function(){a.forEach(function(p){var g=Mt.get(p)-1,v=s.get(p)-1;Mt.set(p,g),s.set(p,v),g||(Gr.has(p)||p.removeAttribute(n),Gr.delete(p)),v||p.removeAttribute(r)}),Ao--,Ao||(Mt=new WeakMap,Mt=new WeakMap,Gr=new WeakMap,qr={})}},Po=function(e,t,r){r===void 0&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),o=cg(e);return o?(n.push.apply(n,Array.from(o.querySelectorAll("[aria-live], script"))),dg(n,o,r,"aria-hidden")):function(){return null}},Je=function(){return Je=Object.assign||function(t){for(var r,n=1,o=arguments.length;n<o;n++){r=arguments[n];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(t[s]=r[s])}return t},Je.apply(this,arguments)};function Ci(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r}function ug(e,t,r){if(r||arguments.length===2)for(var n=0,o=t.length,s;n<o;n++)(s||!(n in t))&&(s||(s=Array.prototype.slice.call(t,0,n)),s[n]=t[n]);return e.concat(s||Array.prototype.slice.call(t))}typeof SuppressedError=="function"&&SuppressedError;var Xr="right-scroll-bar-position",Yr="width-before-scroll-bar",fg="with-scroll-bars-hidden",pg="--removed-body-scroll-bar-size";function Io(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function hg(e,t){var r=A.useState(function(){return{value:e,callback:t,facade:{get current(){return r.value},set current(n){var o=r.value;o!==n&&(r.value=n,r.callback(n,o))}}}})[0];return r.callback=t,r.facade}var gg=typeof window<"u"?d.useLayoutEffect:d.useEffect,Ei=new WeakMap;function mg(e,t){var r=hg(null,function(n){return e.forEach(function(o){return Io(o,n)})});return gg(function(){var n=Ei.get(r);if(n){var o=new Set(n),s=new Set(e),a=r.current;o.forEach(function(c){s.has(c)||Io(c,null)}),s.forEach(function(c){o.has(c)||Io(c,a)})}Ei.set(r,e)},[e]),r}function bg(e){return e}function vg(e,t){t===void 0&&(t=bg);var r=[],n=!1,o={read:function(){if(n)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:e},useMedium:function(s){var a=t(s,n);return r.push(a),function(){r=r.filter(function(c){return c!==a})}},assignSyncMedium:function(s){for(n=!0;r.length;){var a=r;r=[],a.forEach(s)}r={push:function(c){return s(c)},filter:function(){return r}}},assignMedium:function(s){n=!0;var a=[];if(r.length){var c=r;r=[],c.forEach(s),a=r}var l=function(){var u=a;a=[],u.forEach(s)},f=function(){return Promise.resolve().then(l)};f(),r={push:function(u){a.push(u),f()},filter:function(u){return a=a.filter(u),r}}}};return o}function wg(e){e===void 0&&(e={});var t=vg(null);return t.options=Je({async:!0,ssr:!1},e),t}var Ni=function(e){var t=e.sideCar,r=Ci(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var n=t.read();if(!n)throw new Error("Sidecar medium not found");return d.createElement(n,Je({},r))};Ni.isSideCarExport=!0;function yg(e,t){return e.useMedium(t),Ni}var Ti=wg(),_o=function(){},Jr=d.forwardRef(function(e,t){var r=d.useRef(null),n=d.useState({onScrollCapture:_o,onWheelCapture:_o,onTouchMoveCapture:_o}),o=n[0],s=n[1],a=e.forwardProps,c=e.children,l=e.className,f=e.removeScrollBar,u=e.enabled,p=e.shards,g=e.sideCar,v=e.noRelative,m=e.noIsolation,h=e.inert,b=e.allowPinchZoom,w=e.as,x=w===void 0?"div":w,y=e.gapMode,C=Ci(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),T=g,M=mg([r,t]),N=Je(Je({},C),o);return d.createElement(d.Fragment,null,u&&d.createElement(T,{sideCar:Ti,removeScrollBar:f,shards:p,noRelative:v,noIsolation:m,inert:h,setCallbacks:s,allowPinchZoom:!!b,lockRef:r,gapMode:y}),a?d.cloneElement(d.Children.only(c),Je(Je({},N),{ref:M})):d.createElement(x,Je({},N,{className:l,ref:M}),c))});Jr.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},Jr.classNames={fullWidth:Yr,zeroRight:Xr};var xg=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function Sg(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=xg();return t&&e.setAttribute("nonce",t),e}function Cg(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Eg(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Ng=function(){var e=0,t=null;return{add:function(r){e==0&&(t=Sg())&&(Cg(t,r),Eg(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Tg=function(){var e=Ng();return function(t,r){d.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&r])}},Ai=function(){var e=Tg(),t=function(r){var n=r.styles,o=r.dynamic;return e(n,o),null};return t},Ag={left:0,top:0,right:0,gap:0},ko=function(e){return parseInt(e||"",10)||0},Pg=function(e){var t=window.getComputedStyle(document.body),r=t[e==="padding"?"paddingLeft":"marginLeft"],n=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[ko(r),ko(n),ko(o)]},Ig=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Ag;var t=Pg(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},_g=Ai(),Dt="data-scroll-locked",kg=function(e,t,r,n){var o=e.left,s=e.top,a=e.right,c=e.gap;return r===void 0&&(r="margin"),`
19
19
  .`.concat(fg,` {
20
20
  overflow: hidden `).concat(n,`;
21
21
  padding-right: `).concat(c,"px ").concat(n,`;
@@ -55,8 +55,8 @@
55
55
  `)},Pi=function(){var e=parseInt(document.body.getAttribute(Dt)||"0",10);return isFinite(e)?e:0},Og=function(){d.useEffect(function(){return document.body.setAttribute(Dt,(Pi()+1).toString()),function(){var e=Pi()-1;e<=0?document.body.removeAttribute(Dt):document.body.setAttribute(Dt,e.toString())}},[])},Mg=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,o=n===void 0?"margin":n;Og();var s=d.useMemo(function(){return Ig(o)},[o]);return d.createElement(_g,{styles:kg(s,!t,o,r?"":"!important")})},Oo=!1;if(typeof window<"u")try{var Zr=Object.defineProperty({},"passive",{get:function(){return Oo=!0,!0}});window.addEventListener("test",Zr,Zr),window.removeEventListener("test",Zr,Zr)}catch{Oo=!1}var Lt=Oo?{passive:!1}:!1,Dg=function(e){return e.tagName==="TEXTAREA"},Ii=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[t]!=="hidden"&&!(r.overflowY===r.overflowX&&!Dg(e)&&r[t]==="visible")},Lg=function(e){return Ii(e,"overflowY")},Fg=function(e){return Ii(e,"overflowX")},_i=function(e,t){var r=t.ownerDocument,n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var o=ki(e,n);if(o){var s=Oi(e,n),a=s[1],c=s[2];if(a>c)return!0}n=n.parentNode}while(n&&n!==r.body);return!1},$g=function(e){var t=e.scrollTop,r=e.scrollHeight,n=e.clientHeight;return[t,r,n]},Bg=function(e){var t=e.scrollLeft,r=e.scrollWidth,n=e.clientWidth;return[t,r,n]},ki=function(e,t){return e==="v"?Lg(t):Fg(t)},Oi=function(e,t){return e==="v"?$g(t):Bg(t)},Ug=function(e,t){return e==="h"&&t==="rtl"?-1:1},Hg=function(e,t,r,n,o){var s=Ug(e,window.getComputedStyle(t).direction),a=s*n,c=r.target,l=t.contains(c),f=!1,u=a>0,p=0,g=0;do{if(!c)break;var v=Oi(e,c),m=v[0],h=v[1],b=v[2],w=h-b-s*m;(m||w)&&ki(e,c)&&(p+=w,g+=m);var x=c.parentNode;c=x&&x.nodeType===Node.DOCUMENT_FRAGMENT_NODE?x.host:x}while(!l&&c!==document.body||l&&(t.contains(c)||t===c));return(u&&Math.abs(p)<1||!u&&Math.abs(g)<1)&&(f=!0),f},Qr=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Mi=function(e){return[e.deltaX,e.deltaY]},Di=function(e){return e&&"current"in e?e.current:e},zg=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Wg=function(e){return`
56
56
  .block-interactivity-`.concat(e,` {pointer-events: none;}
57
57
  .allow-interactivity-`).concat(e,` {pointer-events: all;}
58
- `)},jg=0,Ft=[];function Vg(e){var t=d.useRef([]),r=d.useRef([0,0]),n=d.useRef(),o=d.useState(jg++)[0],s=d.useState(Ai)[0],a=d.useRef(e);d.useEffect(function(){a.current=e},[e]),d.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var h=ug([e.lockRef.current],(e.shards||[]).map(Di),!0).filter(Boolean);return h.forEach(function(b){return b.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),h.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var c=d.useCallback(function(h,b){if("touches"in h&&h.touches.length===2||h.type==="wheel"&&h.ctrlKey)return!a.current.allowPinchZoom;var w=Qr(h),x=r.current,y="deltaX"in h?h.deltaX:x[0]-w[0],C="deltaY"in h?h.deltaY:x[1]-w[1],T,M=h.target,N=Math.abs(y)>Math.abs(C)?"h":"v";if("touches"in h&&N==="h"&&M.type==="range")return!1;var F=_i(N,M);if(!F)return!0;if(F?T=N:(T=N==="v"?"h":"v",F=_i(N,M)),!F)return!1;if(!n.current&&"changedTouches"in h&&(y||C)&&(n.current=T),!T)return!0;var B=n.current||T;return Hg(B,b,h,B==="h"?y:C)},[]),l=d.useCallback(function(h){var b=h;if(!(!Ft.length||Ft[Ft.length-1]!==s)){var w="deltaY"in b?Mi(b):Qr(b),x=t.current.filter(function(T){return T.name===b.type&&(T.target===b.target||b.target===T.shadowParent)&&zg(T.delta,w)})[0];if(x&&x.should){b.cancelable&&b.preventDefault();return}if(!x){var y=(a.current.shards||[]).map(Di).filter(Boolean).filter(function(T){return T.contains(b.target)}),C=y.length>0?c(b,y[0]):!a.current.noIsolation;C&&b.cancelable&&b.preventDefault()}}},[]),f=d.useCallback(function(h,b,w,x){var y={name:h,delta:b,target:w,should:x,shadowParent:Rg(w)};t.current.push(y),setTimeout(function(){t.current=t.current.filter(function(C){return C!==y})},1)},[]),u=d.useCallback(function(h){r.current=Qr(h),n.current=void 0},[]),p=d.useCallback(function(h){f(h.type,Mi(h),h.target,c(h,e.lockRef.current))},[]),g=d.useCallback(function(h){f(h.type,Qr(h),h.target,c(h,e.lockRef.current))},[]);d.useEffect(function(){return Ft.push(s),e.setCallbacks({onScrollCapture:p,onWheelCapture:p,onTouchMoveCapture:g}),document.addEventListener("wheel",l,Lt),document.addEventListener("touchmove",l,Lt),document.addEventListener("touchstart",u,Lt),function(){Ft=Ft.filter(function(h){return h!==s}),document.removeEventListener("wheel",l,Lt),document.removeEventListener("touchmove",l,Lt),document.removeEventListener("touchstart",u,Lt)}},[]);var v=e.removeScrollBar,m=e.inert;return d.createElement(d.Fragment,null,m?d.createElement(s,{styles:Wg(o)}):null,v?d.createElement(Mg,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Rg(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const Kg=yg(Ti,Vg);var en=d.forwardRef(function(e,t){return d.createElement(Jr,Je({},e,{ref:t,sideCar:Kg}))});en.classNames=Jr.classNames;var Mo=["Enter"," "],Gg=["ArrowDown","PageUp","Home"],Li=["ArrowUp","PageDown","End"],qg=[...Gg,...Li],Xg={ltr:[...Mo,"ArrowRight"],rtl:[...Mo,"ArrowLeft"]},Yg={ltr:["ArrowLeft"],rtl:["ArrowRight"]},or="Menu",[sr,Jg,Zg]=to(or),[gt,Fi]=Be(or,[Zg,Ot,bi]),tn=Ot(),$i=bi(),[Qg,mt]=gt(or),[em,ar]=gt(or),Bi=e=>{const{__scopeMenu:t,open:r=!1,children:n,dir:o,onOpenChange:s,modal:a=!0}=e,c=tn(t),[l,f]=d.useState(null),u=d.useRef(!1),p=Ce(s),g=Dr(o);return d.useEffect(()=>{const v=()=>{u.current=!0,document.addEventListener("pointerdown",m,{capture:!0,once:!0}),document.addEventListener("pointermove",m,{capture:!0,once:!0})},m=()=>u.current=!1;return document.addEventListener("keydown",v,{capture:!0}),()=>{document.removeEventListener("keydown",v,{capture:!0}),document.removeEventListener("pointerdown",m,{capture:!0}),document.removeEventListener("pointermove",m,{capture:!0})}},[]),i.jsx(xo,{...c,children:i.jsx(Qg,{scope:t,open:r,onOpenChange:p,content:l,onContentChange:f,children:i.jsx(em,{scope:t,onClose:d.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:u,dir:g,modal:a,children:n})})})};Bi.displayName=or;var tm="MenuAnchor",Do=d.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e,o=tn(r);return i.jsx(So,{...o,...n,ref:t})});Do.displayName=tm;var Lo="MenuPortal",[rm,Ui]=gt(Lo,{forceMount:void 0}),Hi=e=>{const{__scopeMenu:t,forceMount:r,children:n,container:o}=e,s=mt(Lo,t);return i.jsx(rm,{scope:t,forceMount:r,children:i.jsx(Ie,{present:r||s.open,children:i.jsx(Kr,{asChild:!0,container:o,children:n})})})};Hi.displayName=Lo;var De="MenuContent",[nm,Fo]=gt(De),zi=d.forwardRef((e,t)=>{const r=Ui(De,e.__scopeMenu),{forceMount:n=r.forceMount,...o}=e,s=mt(De,e.__scopeMenu),a=ar(De,e.__scopeMenu);return i.jsx(sr.Provider,{scope:e.__scopeMenu,children:i.jsx(Ie,{present:n||s.open,children:i.jsx(sr.Slot,{scope:e.__scopeMenu,children:a.modal?i.jsx(om,{...o,ref:t}):i.jsx(sm,{...o,ref:t})})})})}),om=d.forwardRef((e,t)=>{const r=mt(De,e.__scopeMenu),n=d.useRef(null),o=ae(t,n);return d.useEffect(()=>{const s=n.current;if(s)return Po(s)},[]),i.jsx($o,{...e,ref:o,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:H(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),sm=d.forwardRef((e,t)=>{const r=mt(De,e.__scopeMenu);return i.jsx($o,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),am=_e.createSlot("MenuContent.ScrollLock"),$o=d.forwardRef((e,t)=>{const{__scopeMenu:r,loop:n=!1,trapFocus:o,onOpenAutoFocus:s,onCloseAutoFocus:a,disableOutsidePointerEvents:c,onEntryFocus:l,onEscapeKeyDown:f,onPointerDownOutside:u,onFocusOutside:p,onInteractOutside:g,onDismiss:v,disableOutsideScroll:m,...h}=e,b=mt(De,r),w=ar(De,r),x=tn(r),y=$i(r),C=Jg(r),[T,M]=d.useState(null),N=d.useRef(null),F=ae(t,N,b.onContentChange),B=d.useRef(0),z=d.useRef(""),K=d.useRef(0),X=d.useRef(null),V=d.useRef("right"),I=d.useRef(0),U=m?en:d.Fragment,_=m?{as:am,allowPinchZoom:!0}:void 0,W=E=>{var j,le;const Z=z.current+E,G=C().filter(ue=>!ue.disabled),re=document.activeElement,$=(j=G.find(ue=>ue.ref.current===re))==null?void 0:j.textValue,R=G.map(ue=>ue.textValue),ie=vm(R,Z,$),ge=(le=G.find(ue=>ue.textValue===ie))==null?void 0:le.ref.current;(function ue(ce){z.current=ce,window.clearTimeout(B.current),ce!==""&&(B.current=window.setTimeout(()=>ue(""),1e3))})(Z),ge&&setTimeout(()=>ge.focus())};d.useEffect(()=>()=>window.clearTimeout(B.current),[]),oo();const D=d.useCallback(E=>{var G,re;return V.current===((G=X.current)==null?void 0:G.side)&&ym(E,(re=X.current)==null?void 0:re.area)},[]);return i.jsx(nm,{scope:r,searchRef:z,onItemEnter:d.useCallback(E=>{D(E)&&E.preventDefault()},[D]),onItemLeave:d.useCallback(E=>{var Z;D(E)||((Z=N.current)==null||Z.focus(),M(null))},[D]),onTriggerLeave:d.useCallback(E=>{D(E)&&E.preventDefault()},[D]),pointerGraceTimerRef:K,onPointerGraceIntentChange:d.useCallback(E=>{X.current=E},[]),children:i.jsx(U,{..._,children:i.jsx(Lr,{asChild:!0,trapped:o,onMountAutoFocus:H(s,E=>{var Z;E.preventDefault(),(Z=N.current)==null||Z.focus({preventScroll:!0})}),onUnmountAutoFocus:a,children:i.jsx(Qt,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:f,onPointerDownOutside:u,onFocusOutside:p,onInteractOutside:g,onDismiss:v,children:i.jsx(ag,{asChild:!0,...y,dir:w.dir,orientation:"vertical",loop:n,currentTabStopId:T,onCurrentTabStopIdChange:M,onEntryFocus:H(l,E=>{w.isUsingKeyboardRef.current||E.preventDefault()}),preventScrollOnEntryFocus:!0,children:i.jsx(Co,{role:"menu","aria-orientation":"vertical","data-state":oc(b.open),"data-radix-menu-content":"",dir:w.dir,...x,...h,ref:F,style:{outline:"none",...h.style},onKeyDown:H(h.onKeyDown,E=>{const G=E.target.closest("[data-radix-menu-content]")===E.currentTarget,re=E.ctrlKey||E.altKey||E.metaKey,$=E.key.length===1;G&&(E.key==="Tab"&&E.preventDefault(),!re&&$&&W(E.key));const R=N.current;if(E.target!==R||!qg.includes(E.key))return;E.preventDefault();const ge=C().filter(j=>!j.disabled).map(j=>j.ref.current);Li.includes(E.key)&&ge.reverse(),mm(ge)}),onBlur:H(e.onBlur,E=>{E.currentTarget.contains(E.target)||(window.clearTimeout(B.current),z.current="")}),onPointerMove:H(e.onPointerMove,cr(E=>{const Z=E.target,G=I.current!==E.clientX;if(E.currentTarget.contains(Z)&&G){const re=E.clientX>I.current?"right":"left";V.current=re,I.current=E.clientX}}))})})})})})})});zi.displayName=De;var im="MenuGroup",Bo=d.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e;return i.jsx(Q.div,{role:"group",...n,ref:t})});Bo.displayName=im;var cm="MenuLabel",Wi=d.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e;return i.jsx(Q.div,{...n,ref:t})});Wi.displayName=cm;var rn="MenuItem",ji="menu.itemSelect",nn=d.forwardRef((e,t)=>{const{disabled:r=!1,onSelect:n,...o}=e,s=d.useRef(null),a=ar(rn,e.__scopeMenu),c=Fo(rn,e.__scopeMenu),l=ae(t,s),f=d.useRef(!1),u=()=>{const p=s.current;if(!r&&p){const g=new CustomEvent(ji,{bubbles:!0,cancelable:!0});p.addEventListener(ji,v=>n==null?void 0:n(v),{once:!0}),pa(p,g),g.defaultPrevented?f.current=!1:a.onClose()}};return i.jsx(Vi,{...o,ref:l,disabled:r,onClick:H(e.onClick,u),onPointerDown:p=>{var g;(g=e.onPointerDown)==null||g.call(e,p),f.current=!0},onPointerUp:H(e.onPointerUp,p=>{var g;f.current||(g=p.currentTarget)==null||g.click()}),onKeyDown:H(e.onKeyDown,p=>{const g=c.searchRef.current!=="";r||g&&p.key===" "||Mo.includes(p.key)&&(p.currentTarget.click(),p.preventDefault())})})});nn.displayName=rn;var Vi=d.forwardRef((e,t)=>{const{__scopeMenu:r,disabled:n=!1,textValue:o,...s}=e,a=Fo(rn,r),c=$i(r),l=d.useRef(null),f=ae(t,l),[u,p]=d.useState(!1),[g,v]=d.useState("");return d.useEffect(()=>{const m=l.current;m&&v((m.textContent??"").trim())},[s.children]),i.jsx(sr.ItemSlot,{scope:r,disabled:n,textValue:o??g,children:i.jsx(ig,{asChild:!0,...c,focusable:!n,children:i.jsx(Q.div,{role:"menuitem","data-highlighted":u?"":void 0,"aria-disabled":n||void 0,"data-disabled":n?"":void 0,...s,ref:f,onPointerMove:H(e.onPointerMove,cr(m=>{n?a.onItemLeave(m):(a.onItemEnter(m),m.defaultPrevented||m.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:H(e.onPointerLeave,cr(m=>a.onItemLeave(m))),onFocus:H(e.onFocus,()=>p(!0)),onBlur:H(e.onBlur,()=>p(!1))})})})}),lm="MenuCheckboxItem",Ri=d.forwardRef((e,t)=>{const{checked:r=!1,onCheckedChange:n,...o}=e;return i.jsx(Yi,{scope:e.__scopeMenu,checked:r,children:i.jsx(nn,{role:"menuitemcheckbox","aria-checked":on(r)?"mixed":r,...o,ref:t,"data-state":Ho(r),onSelect:H(o.onSelect,()=>n==null?void 0:n(on(r)?!0:!r),{checkForDefaultPrevented:!1})})})});Ri.displayName=lm;var Ki="MenuRadioGroup",[dm,um]=gt(Ki,{value:void 0,onValueChange:()=>{}}),Gi=d.forwardRef((e,t)=>{const{value:r,onValueChange:n,...o}=e,s=Ce(n);return i.jsx(dm,{scope:e.__scopeMenu,value:r,onValueChange:s,children:i.jsx(Bo,{...o,ref:t})})});Gi.displayName=Ki;var qi="MenuRadioItem",Xi=d.forwardRef((e,t)=>{const{value:r,...n}=e,o=um(qi,e.__scopeMenu),s=r===o.value;return i.jsx(Yi,{scope:e.__scopeMenu,checked:s,children:i.jsx(nn,{role:"menuitemradio","aria-checked":s,...n,ref:t,"data-state":Ho(s),onSelect:H(n.onSelect,()=>{var a;return(a=o.onValueChange)==null?void 0:a.call(o,r)},{checkForDefaultPrevented:!1})})})});Xi.displayName=qi;var Uo="MenuItemIndicator",[Yi,fm]=gt(Uo,{checked:!1}),Ji=d.forwardRef((e,t)=>{const{__scopeMenu:r,forceMount:n,...o}=e,s=fm(Uo,r);return i.jsx(Ie,{present:n||on(s.checked)||s.checked===!0,children:i.jsx(Q.span,{...o,ref:t,"data-state":Ho(s.checked)})})});Ji.displayName=Uo;var pm="MenuSeparator",Zi=d.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e;return i.jsx(Q.div,{role:"separator","aria-orientation":"horizontal",...n,ref:t})});Zi.displayName=pm;var hm="MenuArrow",Qi=d.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e,o=tn(r);return i.jsx(Eo,{...o,...n,ref:t})});Qi.displayName=hm;var gm="MenuSub",[oy,ec]=gt(gm),ir="MenuSubTrigger",tc=d.forwardRef((e,t)=>{const r=mt(ir,e.__scopeMenu),n=ar(ir,e.__scopeMenu),o=ec(ir,e.__scopeMenu),s=Fo(ir,e.__scopeMenu),a=d.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:l}=s,f={__scopeMenu:e.__scopeMenu},u=d.useCallback(()=>{a.current&&window.clearTimeout(a.current),a.current=null},[]);return d.useEffect(()=>u,[u]),d.useEffect(()=>{const p=c.current;return()=>{window.clearTimeout(p),l(null)}},[c,l]),i.jsx(Do,{asChild:!0,...f,children:i.jsx(Vi,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":o.contentId,"data-state":oc(r.open),...e,ref:qn(t,o.onTriggerChange),onClick:p=>{var g;(g=e.onClick)==null||g.call(e,p),!(e.disabled||p.defaultPrevented)&&(p.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:H(e.onPointerMove,cr(p=>{s.onItemEnter(p),!p.defaultPrevented&&!e.disabled&&!r.open&&!a.current&&(s.onPointerGraceIntentChange(null),a.current=window.setTimeout(()=>{r.onOpenChange(!0),u()},100))})),onPointerLeave:H(e.onPointerLeave,cr(p=>{var v,m;u();const g=(v=r.content)==null?void 0:v.getBoundingClientRect();if(g){const h=(m=r.content)==null?void 0:m.dataset.side,b=h==="right",w=b?-5:5,x=g[b?"left":"right"],y=g[b?"right":"left"];s.onPointerGraceIntentChange({area:[{x:p.clientX+w,y:p.clientY},{x,y:g.top},{x:y,y:g.top},{x:y,y:g.bottom},{x,y:g.bottom}],side:h}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(p),p.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:H(e.onKeyDown,p=>{var v;const g=s.searchRef.current!=="";e.disabled||g&&p.key===" "||Xg[n.dir].includes(p.key)&&(r.onOpenChange(!0),(v=r.content)==null||v.focus(),p.preventDefault())})})})});tc.displayName=ir;var rc="MenuSubContent",nc=d.forwardRef((e,t)=>{const r=Ui(De,e.__scopeMenu),{forceMount:n=r.forceMount,...o}=e,s=mt(De,e.__scopeMenu),a=ar(De,e.__scopeMenu),c=ec(rc,e.__scopeMenu),l=d.useRef(null),f=ae(t,l);return i.jsx(sr.Provider,{scope:e.__scopeMenu,children:i.jsx(Ie,{present:n||s.open,children:i.jsx(sr.Slot,{scope:e.__scopeMenu,children:i.jsx($o,{id:c.contentId,"aria-labelledby":c.triggerId,...o,ref:f,align:"start",side:a.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:u=>{var p;a.isUsingKeyboardRef.current&&((p=l.current)==null||p.focus()),u.preventDefault()},onCloseAutoFocus:u=>u.preventDefault(),onFocusOutside:H(e.onFocusOutside,u=>{u.target!==c.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:H(e.onEscapeKeyDown,u=>{a.onClose(),u.preventDefault()}),onKeyDown:H(e.onKeyDown,u=>{var v;const p=u.currentTarget.contains(u.target),g=Yg[a.dir].includes(u.key);p&&g&&(s.onOpenChange(!1),(v=c.trigger)==null||v.focus(),u.preventDefault())})})})})})});nc.displayName=rc;function oc(e){return e?"open":"closed"}function on(e){return e==="indeterminate"}function Ho(e){return on(e)?"indeterminate":e?"checked":"unchecked"}function mm(e){const t=document.activeElement;for(const r of e)if(r===t||(r.focus(),document.activeElement!==t))return}function bm(e,t){return e.map((r,n)=>e[(t+n)%e.length])}function vm(e,t,r){const o=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,s=r?e.indexOf(r):-1;let a=bm(e,Math.max(s,0));o.length===1&&(a=a.filter(f=>f!==r));const l=a.find(f=>f.toLowerCase().startsWith(o.toLowerCase()));return l!==r?l:void 0}function wm(e,t){const{x:r,y:n}=e;let o=!1;for(let s=0,a=t.length-1;s<t.length;a=s++){const c=t[s],l=t[a],f=c.x,u=c.y,p=l.x,g=l.y;u>n!=g>n&&r<(p-f)*(n-u)/(g-u)+f&&(o=!o)}return o}function ym(e,t){if(!t)return!1;const r={x:e.clientX,y:e.clientY};return wm(r,t)}function cr(e){return t=>t.pointerType==="mouse"?e(t):void 0}var xm=Bi,Sm=Do,Cm=Hi,Em=zi,Nm=Bo,Tm=Wi,Am=nn,Pm=Ri,Im=Gi,_m=Xi,km=Ji,Om=Zi,Mm=Qi,Dm=tc,Lm=nc,sn="DropdownMenu",[Fm,sy]=Be(sn,[Fi]),Te=Fi(),[$m,sc]=Fm(sn),ac=e=>{const{__scopeDropdownMenu:t,children:r,dir:n,open:o,defaultOpen:s,onOpenChange:a,modal:c=!0}=e,l=Te(t),f=d.useRef(null),[u,p]=nt({prop:o,defaultProp:s??!1,onChange:a,caller:sn});return i.jsx($m,{scope:t,triggerId:Ue(),triggerRef:f,contentId:Ue(),open:u,onOpenChange:p,onOpenToggle:d.useCallback(()=>p(g=>!g),[p]),modal:c,children:i.jsx(xm,{...l,open:u,onOpenChange:p,dir:n,modal:c,children:r})})};ac.displayName=sn;var ic="DropdownMenuTrigger",cc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,disabled:n=!1,...o}=e,s=sc(ic,r),a=Te(r);return i.jsx(Sm,{asChild:!0,...a,children:i.jsx(Q.button,{type:"button",id:s.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":s.open?"open":"closed","data-disabled":n?"":void 0,disabled:n,...o,ref:qn(t,s.triggerRef),onPointerDown:H(e.onPointerDown,c=>{!n&&c.button===0&&c.ctrlKey===!1&&(s.onOpenToggle(),s.open||c.preventDefault())}),onKeyDown:H(e.onKeyDown,c=>{n||(["Enter"," "].includes(c.key)&&s.onOpenToggle(),c.key==="ArrowDown"&&s.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(c.key)&&c.preventDefault())})})})});cc.displayName=ic;var Bm="DropdownMenuPortal",lc=e=>{const{__scopeDropdownMenu:t,...r}=e,n=Te(t);return i.jsx(Cm,{...n,...r})};lc.displayName=Bm;var dc="DropdownMenuContent",uc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=sc(dc,r),s=Te(r),a=d.useRef(!1);return i.jsx(Em,{id:o.contentId,"aria-labelledby":o.triggerId,...s,...n,ref:t,onCloseAutoFocus:H(e.onCloseAutoFocus,c=>{var l;a.current||(l=o.triggerRef.current)==null||l.focus(),a.current=!1,c.preventDefault()}),onInteractOutside:H(e.onInteractOutside,c=>{const l=c.detail.originalEvent,f=l.button===0&&l.ctrlKey===!0,u=l.button===2||f;(!o.modal||u)&&(a.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});uc.displayName=dc;var Um="DropdownMenuGroup",Hm=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(Nm,{...o,...n,ref:t})});Hm.displayName=Um;var zm="DropdownMenuLabel",fc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(Tm,{...o,...n,ref:t})});fc.displayName=zm;var Wm="DropdownMenuItem",pc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(Am,{...o,...n,ref:t})});pc.displayName=Wm;var jm="DropdownMenuCheckboxItem",hc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(Pm,{...o,...n,ref:t})});hc.displayName=jm;var Vm="DropdownMenuRadioGroup",Rm=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(Im,{...o,...n,ref:t})});Rm.displayName=Vm;var Km="DropdownMenuRadioItem",gc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(_m,{...o,...n,ref:t})});gc.displayName=Km;var Gm="DropdownMenuItemIndicator",mc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(km,{...o,...n,ref:t})});mc.displayName=Gm;var qm="DropdownMenuSeparator",bc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(Om,{...o,...n,ref:t})});bc.displayName=qm;var Xm="DropdownMenuArrow",Ym=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(Mm,{...o,...n,ref:t})});Ym.displayName=Xm;var Jm="DropdownMenuSubTrigger",vc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(Dm,{...o,...n,ref:t})});vc.displayName=Jm;var Zm="DropdownMenuSubContent",wc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(Lm,{...o,...n,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});wc.displayName=Zm;var Qm=ac,eb=cc,tb=lc,yc=uc,xc=fc,Sc=pc,Cc=hc,Ec=gc,Nc=mc,Tc=bc,Ac=vc,Pc=wc;const rb=Qm,nb=eb,ob=d.forwardRef(({className:e,inset:t,children:r,...n},o)=>i.jsxs(Ac,{ref:o,className:P("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",t&&"pl-8",e),...n,children:[r,i.jsx(q.ChevronRight,{className:"ml-auto h-4 w-4"})]}));ob.displayName=Ac.displayName;const sb=d.forwardRef(({className:e,...t},r)=>i.jsx(Pc,{ref:r,className:P("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...t}));sb.displayName=Pc.displayName;const Ic=d.forwardRef(({className:e,sideOffset:t=4,...r},n)=>i.jsx(tb,{children:i.jsx(yc,{ref:n,sideOffset:t,className:P("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r})}));Ic.displayName=yc.displayName;const zo=d.forwardRef(({className:e,inset:t,...r},n)=>i.jsx(Sc,{ref:n,className:P("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",e),...r}));zo.displayName=Sc.displayName;const ab=d.forwardRef(({className:e,children:t,checked:r,...n},o)=>i.jsxs(Cc,{ref:o,className:P("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:r,...n,children:[i.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:i.jsx(Nc,{children:i.jsx(q.Check,{className:"h-4 w-4"})})}),t]}));ab.displayName=Cc.displayName;const ib=d.forwardRef(({className:e,children:t,...r},n)=>i.jsxs(Ec,{ref:n,className:P("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...r,children:[i.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:i.jsx(Nc,{children:i.jsx(q.Circle,{className:"h-2 w-2 fill-current"})})}),t]}));ib.displayName=Ec.displayName;const cb=d.forwardRef(({className:e,inset:t,...r},n)=>i.jsx(xc,{ref:n,className:P("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...r}));cb.displayName=xc.displayName;const lb=d.forwardRef(({className:e,...t},r)=>i.jsx(Tc,{ref:r,className:P("-mx-1 my-1 h-px bg-muted",e),...t}));lb.displayName=Tc.displayName;function lr({className:e="",placeholder:t="Type your message...",autoFocus:r=!0,maxHeight:n=void 0,streamingDebounceMs:o=40,enableFileUpload:s=!0,enableExcelUpload:a=!1,enableMessageEditing:c=!0,customStyles:l={},onMessageSent:f,onExcelUploadSuccess:u,onError:p}){const{currentThreadId:g,messages:v,isStreaming:m,streamingAssistantId:h,error:b,send:w,stop:x,lastCheckpointId:y,listCheckpoints:C,navigateToCheckpoint:T,returnToLatest:M,hasMoreHistory:N,isLoadingHistory:F,loadOlderMessages:B,api:z}=Ar(),[K,X]=A.useState(""),[V,I]=A.useState(null),[U,_]=A.useState(null),[W,D]=A.useState([]),[E,Z]=A.useState(!1),[G,re]=A.useState(null),[$,R]=A.useState(null),[ie,ge]=A.useState(!1),[j,le]=A.useState(null),[ue,ce]=A.useState([]),[de,ne]=A.useState(null),J=A.useRef(null),oe=A.useRef(null),k=A.useRef(null),L=A.useRef(null),se=A.useRef(null),ve=A.useRef(!1),we=A.useRef(!0),me=A.useRef(0),be=A.useRef(null),[tt,xt]=A.useState("desktop");A.useEffect(()=>{const O=()=>{const Y=window.innerWidth;xt(Y<640?"phone":Y<1024?"tablet":"desktop")};return O(),window.addEventListener("resize",O),()=>window.removeEventListener("resize",O)},[]),A.useEffect(()=>{let O=!1;if(!g){ce([]),ne(null),be.current=null;return}const Y={threadId:g,checkpointId:y??null},pe=be.current;if(!(pe&&pe.threadId===Y.threadId&&pe.checkpointId===Y.checkpointId))return C(g).then(fe=>{if(O)return;const Ve=((fe==null?void 0:fe.checkpoints)??[]).slice().sort((dt,In)=>new Date(In.createdAt).getTime()-new Date(dt.createdAt).getTime());ce(Ve),ne(dt=>{var In;return dt??((In=Ve[0])==null?void 0:In.checkpointId)??null}),be.current=Y}).catch(fe=>{console.error("ChatInterface - listCheckpoints error:",fe),O||(ce([]),be.current=null)}),()=>{O=!0}},[g,y,C]),A.useEffect(()=>{y&&ne(y)},[y]);const Ht=A.useCallback(async()=>{if(!N||F)return;const O=se.current;if(!O)return;const Y=O.scrollHeight,pe=O.scrollTop;ve.current=!0;try{await B()}catch(fe){console.warn("loadOlderMessages failed",fe)}finally{requestAnimationFrame(()=>{const fe=se.current;if(!fe){ve.current=!1;return}const Ve=fe.scrollHeight;fe.scrollTop=pe+(Ve-Y);const dt=Ve-fe.scrollTop-fe.clientHeight;we.current=dt<=32,ve.current=!1})}},[N,F,B]);A.useEffect(()=>{const O=se.current;if(!O)return;const Y=()=>{O.scrollTop<=80&&Ht();const Ve=O.scrollHeight-O.scrollTop-O.clientHeight;we.current=Ve<=80};return O.addEventListener("scroll",Y),()=>O.removeEventListener("scroll",Y)},[Ht]),A.useEffect(()=>{v.length<me.current&&(we.current=!0),me.current=v.length},[v.length]),A.useEffect(()=>{const O=se.current;O&&(ve.current||we.current&&(O.scrollTop=O.scrollHeight,we.current=!0))},[v]),A.useEffect(()=>{var O;r&&((O=oe.current)==null||O.focus())},[r]),A.useEffect(()=>{(async()=>{try{const Y=await z.getAgent("default");le(Y.uiDefaultMessage||null)}catch(Y){console.warn("Failed to fetch default message:",Y),le(null)}})()},[z]),A.useEffect(()=>{b&&!ie&&(p==null||p(b))},[b,ie,p]);const An=O=>{if(O.length>At)return`Message too long (${O.length}/${At} characters)`;try{return hp(O),null}catch(Y){return(Y==null?void 0:Y.message)||"Invalid message"}},ds=O=>{const Y=O.content||[],pe=Y.filter(fe=>fe.type==="text").map(fe=>fe.text).join("");if(pe)return pe;try{return JSON.stringify(Y,null,2)}catch{return String(Y)}},Pn=async()=>{const O=K.trim();if(!(!O&&W.length===0)){if(O){const Y=An(O);if(Y){_(Y);return}}try{await w(O,{checkpointId:de||y||void 0,payloadExtras:V?{edit:!0,originalMessageId:V}:void 0,attachments:W}),f==null||f(O),X(""),_(null),D([]),I(null),oe.current&&(oe.current.style.height="auto")}catch(Y){const pe=(Y==null?void 0:Y.message)||"Failed to send message";_(pe),p==null||p(pe)}}},us=(O,Y)=>{c&&(I(O),X(Y),_(null),setTimeout(()=>{oe.current&&(oe.current.focus(),oe.current.style.height="auto",oe.current.style.height=oe.current.scrollHeight+"px")},0))},zt=()=>{I(null),X(""),_(null),oe.current&&(oe.current.style.height="auto")},xe=O=>{O.key==="Enter"&&!O.shiftKey?(O.preventDefault(),Pn()):O.key==="Escape"&&V&&(O.preventDefault(),zt())},fs=O=>{const Y=Array.from(O.target.files||[]);D(pe=>[...pe,...Y])},Pw=O=>D(Y=>Y.filter((pe,fe)=>O!==fe)),Iw=async O=>{const Y=(O.target.files||[])[0];if(Y){re(null),R(null),Z(!0);try{const pe=await z.uploadExcel(Y),fe=pe.sheets.map(dt=>`${dt.sheetName} -> ${dt.tableName}`).join(", "),Ve=fe?`Uploaded ${Y.name} (${pe.sheets.length} sheet${pe.sheets.length===1?"":"s"}: ${fe})`:`Uploaded ${Y.name}`;R(Ve),u==null||u({file:Y,response:pe})}catch(pe){const fe=pe instanceof Error?pe.message:"Failed to upload Excel file";console.error("Excel upload failed",pe),re(fe),p==null||p(fe)}finally{Z(!1),O.target.value=""}}},_w=O=>{if(!O)return"Unknown";const Y=Date.parse(O);return Number.isNaN(Y)?O:new Date(Y).toLocaleString()},kw=async O=>{if(g){if(!O){await M(),ne(null);return}await T(O),ne(O)}},Ow=`flex flex-1 w-full flex-col min-h-0 min-w-0 max-h-full overflow-hidden bg-transparent ${e} ${l.container||""}`,Mw=`flex-1 min-h-0 min-w-0 max-h-full w-full overflow-y-auto overflow-x-auto overscroll-contain break-words break-anywhere p-4 space-y-4 bg-transparent ${l.messagesArea||""}`,Dw=`flex-shrink-0 w-full border-t p-4 bg-transparent ${l.inputArea||""}`;return i.jsxs("div",{className:Ow,children:[!!b&&!ie&&i.jsxs("div",{className:"flex-shrink-0 bg-red-50 border border-red-200 text-red-800 px-4 py-2 text-sm flex items-center justify-between",children:[i.jsx("span",{children:b}),i.jsx(he,{variant:"ghost",size:"sm",onClick:()=>ge(!0),className:"text-red-800 hover:bg-red-100","aria-label":"Dismiss error",children:i.jsx(q.X,{size:16})})]}),g&&ue.length>0&&i.jsxs("div",{className:"flex-shrink-0 flex items-center gap-2 px-4 py-2 border-b border-border bg-muted/60 text-xs dark:bg-muted/50",children:[i.jsx("span",{className:"opacity-70",children:"Checkpoint:"}),i.jsxs("select",{className:"border border-border rounded px-2 py-1 text-xs bg-card text-foreground focus:outline-none focus:ring-1 focus:ring-ring dark:bg-secondary",value:de??"",onChange:O=>{const Y=O.target.value||null;kw(Y)},children:[i.jsx("option",{value:"",children:"Latest"}),ue.map(O=>i.jsxs("option",{value:O.checkpointId,children:[_w(O.createdAt),O.preview?` — ${O.preview.slice(0,40)}`:""]},O.checkpointId))]})]}),i.jsxs("div",{ref:se,className:Mw,style:n?{maxHeight:n}:void 0,children:[v.length===0?i.jsx("div",{className:"flex items-center justify-center py-8 text-muted-foreground text-center max-w-md mx-auto",children:j||"No messages yet. Start a conversation!"}):i.jsxs(i.Fragment,{children:[(F||!N)&&i.jsx("div",{className:"flex justify-center py-2 text-xs text-muted-foreground",children:F?i.jsx(q.Loader2,{className:"h-4 w-4 animate-spin"}):"You've reached the beginning"}),v.map((O,Y)=>i.jsx(Ca,{message:O,messageIndex:Y,isStreamingMessage:m&&h===O.id,streamingDebounceMs:o,isEditing:V===O.id,showActions:c,showTimestamp:!1,showAgentName:!0,layoutSize:tt,truncateToolMessages:!1,toolMessagePreviewLength:200,onEdit:(pe,fe)=>us(pe,fe),onRegenerate:()=>{const pe=[...v].reverse().find(Ve=>Ve.role==="user"),fe=pe?ds(pe):"";fe&&w(fe,{checkpointId:de||y||void 0})},onCancelEdit:zt},O.id??`msg-${O.role}-${Y}-${O.createdAt??""}`))]}),i.jsx("div",{ref:J})]}),i.jsxs("div",{className:Dw,children:[V&&i.jsx("div",{className:"mb-3 p-3 bg-blue-50 border border-blue-200 rounded-lg",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(q.Edit3,{size:16,className:"text-blue-600"}),i.jsx("span",{className:"text-sm font-medium text-blue-800",children:"Editing message"})]}),i.jsx(he,{variant:"ghost",size:"sm",onClick:zt,className:"text-blue-600 hover:bg-blue-100",children:i.jsx(q.X,{size:16})})]})}),(s||a)&&i.jsxs("div",{className:"mb-3 space-y-3",children:[s&&i.jsxs(i.Fragment,{children:[i.jsx("input",{ref:k,type:"file",multiple:!0,onChange:O=>fs(O),className:"hidden"}),W.length>0&&i.jsx("div",{className:"flex flex-wrap gap-2",children:W.map((O,Y)=>i.jsxs("div",{className:"flex items-center gap-2 bg-gray-100 dark:bg-gray-800 rounded-lg px-3 py-2 text-sm text-gray-900 dark:text-gray-100",children:[i.jsx(q.Paperclip,{size:14}),i.jsx("span",{className:"truncate max-w-[150px]",children:O.name}),i.jsx(he,{variant:"ghost",size:"sm",onClick:()=>Pw(Y),className:"h-4 w-4 p-0 text-gray-500 dark:text-gray-400 hover:text-red-500 dark:hover:text-red-400","aria-label":`Remove ${O.name}`,children:i.jsx(q.X,{size:12})})]},Y))})]}),a&&i.jsxs(i.Fragment,{children:[i.jsx("input",{ref:L,type:"file",accept:".xls,.xlsx,.xlsm",onChange:Iw,className:"hidden"}),E&&i.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[i.jsx(q.Loader2,{className:"h-4 w-4 animate-spin"})," Uploading Excel file..."]}),$&&!E&&i.jsx("div",{className:"text-sm rounded border border-emerald-200 bg-emerald-50 px-3 py-2 text-emerald-700",children:$}),G&&!E&&i.jsx("div",{className:"text-sm rounded border border-red-200 bg-red-50 px-3 py-2 text-red-600",children:G})]})]}),U&&i.jsx("div",{className:"mb-3 text-sm text-red-600 bg-red-50 border border-red-200 rounded px-3 py-2",children:U}),i.jsxs("div",{className:"flex items-end gap-2",children:[(s||a)&&i.jsxs(rb,{children:[i.jsx(nb,{asChild:!0,children:i.jsx(he,{type:"button",size:"icon",variant:"outline",disabled:m,title:"More input actions",className:l.moreButton||"",children:i.jsx(q.Plus,{size:16})})}),i.jsxs(Ic,{align:"start",sideOffset:6,className:"w-52",children:[s&&i.jsxs(zo,{onClick:()=>{var O;return(O=k.current)==null?void 0:O.click()},className:"cursor-pointer",children:[i.jsx(q.Paperclip,{className:"h-4 w-4 mr-2"})," Attach files or images"]}),a&&i.jsxs(zo,{onClick:()=>{var O;E||(O=L.current)==null||O.click()},className:`cursor-pointer ${E?"opacity-60 pointer-events-none":""}`,children:[i.jsx(q.FileSpreadsheet,{className:"h-4 w-4 mr-2"})," Upload Excel file"]})]})]}),i.jsx("div",{className:"flex-1",children:i.jsx(da,{ref:oe,value:K,onChange:O=>{X(O.target.value),_(null),oe.current&&(oe.current.style.height="auto",oe.current.style.height=`${oe.current.scrollHeight}px`)},onKeyDown:xe,placeholder:V?"Edit your message...":t,className:`resize-none min-h-[44px] max-h-[20rem] w-full transition-colors ${V?"border-blue-400 bg-blue-50 text-blue-900 dark:border-blue-500 dark:bg-blue-950/60 dark:text-blue-50":""} ${U?"border-red-400":""} ${l.textarea||""}`,disabled:!1,maxLength:At,rows:1})}),i.jsx("div",{children:m?i.jsx(he,{type:"button",onClick:x,size:"icon",variant:"outline",className:"shrink-0",title:"Stop generating",children:i.jsx(q.Square,{size:16})}):i.jsx(he,{type:"button",onClick:Pn,size:"icon",disabled:!K.trim()&&W.length===0,className:`shrink-0 ${W.length>0?"bg-blue-500 hover:bg-blue-600 text-white":""} ${l.sendButton||""}`,title:V?"Save changes":"Send message",children:i.jsx(q.Send,{size:16})})})]}),K.length>At*.8&&i.jsxs("div",{className:"mt-2 text-xs text-gray-500 text-right",children:[K.length,"/",At]})]})]})}const dr=d.forwardRef(({className:e,type:t,...r},n)=>i.jsx("input",{type:t,className:P("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:n,...r}));dr.displayName="Input";function Wo(e,[t,r]){return Math.min(r,Math.max(t,e))}function db(e,t){return d.useReducer((r,n)=>t[r][n]??r,e)}var jo="ScrollArea",[_c,ay]=Be(jo),[ub,Le]=_c(jo),kc=d.forwardRef((e,t)=>{const{__scopeScrollArea:r,type:n="hover",dir:o,scrollHideDelay:s=600,...a}=e,[c,l]=d.useState(null),[f,u]=d.useState(null),[p,g]=d.useState(null),[v,m]=d.useState(null),[h,b]=d.useState(null),[w,x]=d.useState(0),[y,C]=d.useState(0),[T,M]=d.useState(!1),[N,F]=d.useState(!1),B=ae(t,K=>l(K)),z=Dr(o);return i.jsx(ub,{scope:r,type:n,dir:z,scrollHideDelay:s,scrollArea:c,viewport:f,onViewportChange:u,content:p,onContentChange:g,scrollbarX:v,onScrollbarXChange:m,scrollbarXEnabled:T,onScrollbarXEnabledChange:M,scrollbarY:h,onScrollbarYChange:b,scrollbarYEnabled:N,onScrollbarYEnabledChange:F,onCornerWidthChange:x,onCornerHeightChange:C,children:i.jsx(Q.div,{dir:z,...a,ref:B,style:{position:"relative","--radix-scroll-area-corner-width":w+"px","--radix-scroll-area-corner-height":y+"px",...e.style}})})});kc.displayName=jo;var Oc="ScrollAreaViewport",Mc=d.forwardRef((e,t)=>{const{__scopeScrollArea:r,children:n,nonce:o,...s}=e,a=Le(Oc,r),c=d.useRef(null),l=ae(t,c,a.onViewportChange);return i.jsxs(i.Fragment,{children:[i.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),i.jsx(Q.div,{"data-radix-scroll-area-viewport":"",...s,ref:l,style:{overflowX:a.scrollbarXEnabled?"scroll":"hidden",overflowY:a.scrollbarYEnabled?"scroll":"hidden",...e.style},children:i.jsx("div",{ref:a.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});Mc.displayName=Oc;var Ze="ScrollAreaScrollbar",Vo=d.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=Le(Ze,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:a}=o,c=e.orientation==="horizontal";return d.useEffect(()=>(c?s(!0):a(!0),()=>{c?s(!1):a(!1)}),[c,s,a]),o.type==="hover"?i.jsx(fb,{...n,ref:t,forceMount:r}):o.type==="scroll"?i.jsx(pb,{...n,ref:t,forceMount:r}):o.type==="auto"?i.jsx(Dc,{...n,ref:t,forceMount:r}):o.type==="always"?i.jsx(Ro,{...n,ref:t}):null});Vo.displayName=Ze;var fb=d.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=Le(Ze,e.__scopeScrollArea),[s,a]=d.useState(!1);return d.useEffect(()=>{const c=o.scrollArea;let l=0;if(c){const f=()=>{window.clearTimeout(l),a(!0)},u=()=>{l=window.setTimeout(()=>a(!1),o.scrollHideDelay)};return c.addEventListener("pointerenter",f),c.addEventListener("pointerleave",u),()=>{window.clearTimeout(l),c.removeEventListener("pointerenter",f),c.removeEventListener("pointerleave",u)}}},[o.scrollArea,o.scrollHideDelay]),i.jsx(Ie,{present:r||s,children:i.jsx(Dc,{"data-state":s?"visible":"hidden",...n,ref:t})})}),pb=d.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=Le(Ze,e.__scopeScrollArea),s=e.orientation==="horizontal",a=dn(()=>l("SCROLL_END"),100),[c,l]=db("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return d.useEffect(()=>{if(c==="idle"){const f=window.setTimeout(()=>l("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(f)}},[c,o.scrollHideDelay,l]),d.useEffect(()=>{const f=o.viewport,u=s?"scrollLeft":"scrollTop";if(f){let p=f[u];const g=()=>{const v=f[u];p!==v&&(l("SCROLL"),a()),p=v};return f.addEventListener("scroll",g),()=>f.removeEventListener("scroll",g)}},[o.viewport,s,l,a]),i.jsx(Ie,{present:r||c!=="hidden",children:i.jsx(Ro,{"data-state":c==="hidden"?"hidden":"visible",...n,ref:t,onPointerEnter:H(e.onPointerEnter,()=>l("POINTER_ENTER")),onPointerLeave:H(e.onPointerLeave,()=>l("POINTER_LEAVE"))})})}),Dc=d.forwardRef((e,t)=>{const r=Le(Ze,e.__scopeScrollArea),{forceMount:n,...o}=e,[s,a]=d.useState(!1),c=e.orientation==="horizontal",l=dn(()=>{if(r.viewport){const f=r.viewport.offsetWidth<r.viewport.scrollWidth,u=r.viewport.offsetHeight<r.viewport.scrollHeight;a(c?f:u)}},10);return $t(r.viewport,l),$t(r.content,l),i.jsx(Ie,{present:n||s,children:i.jsx(Ro,{"data-state":s?"visible":"hidden",...o,ref:t})})}),Ro=d.forwardRef((e,t)=>{const{orientation:r="vertical",...n}=e,o=Le(Ze,e.__scopeScrollArea),s=d.useRef(null),a=d.useRef(0),[c,l]=d.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),f=Uc(c.viewport,c.content),u={...n,sizes:c,onSizesChange:l,hasThumb:f>0&&f<1,onThumbChange:g=>s.current=g,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:g=>a.current=g};function p(g,v){return wb(g,a.current,c,v)}return r==="horizontal"?i.jsx(hb,{...u,ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const g=o.viewport.scrollLeft,v=Hc(g,c,o.dir);s.current.style.transform=`translate3d(${v}px, 0, 0)`}},onWheelScroll:g=>{o.viewport&&(o.viewport.scrollLeft=g)},onDragScroll:g=>{o.viewport&&(o.viewport.scrollLeft=p(g,o.dir))}}):r==="vertical"?i.jsx(gb,{...u,ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const g=o.viewport.scrollTop,v=Hc(g,c);s.current.style.transform=`translate3d(0, ${v}px, 0)`}},onWheelScroll:g=>{o.viewport&&(o.viewport.scrollTop=g)},onDragScroll:g=>{o.viewport&&(o.viewport.scrollTop=p(g))}}):null}),hb=d.forwardRef((e,t)=>{const{sizes:r,onSizesChange:n,...o}=e,s=Le(Ze,e.__scopeScrollArea),[a,c]=d.useState(),l=d.useRef(null),f=ae(t,l,s.onScrollbarXChange);return d.useEffect(()=>{l.current&&c(getComputedStyle(l.current))},[l]),i.jsx(Fc,{"data-orientation":"horizontal",...o,ref:f,sizes:r,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ln(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.x),onDragScroll:u=>e.onDragScroll(u.x),onWheelScroll:(u,p)=>{if(s.viewport){const g=s.viewport.scrollLeft+u.deltaX;e.onWheelScroll(g),Wc(g,p)&&u.preventDefault()}},onResize:()=>{l.current&&s.viewport&&a&&n({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:l.current.clientWidth,paddingStart:cn(a.paddingLeft),paddingEnd:cn(a.paddingRight)}})}})}),gb=d.forwardRef((e,t)=>{const{sizes:r,onSizesChange:n,...o}=e,s=Le(Ze,e.__scopeScrollArea),[a,c]=d.useState(),l=d.useRef(null),f=ae(t,l,s.onScrollbarYChange);return d.useEffect(()=>{l.current&&c(getComputedStyle(l.current))},[l]),i.jsx(Fc,{"data-orientation":"vertical",...o,ref:f,sizes:r,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ln(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.y),onDragScroll:u=>e.onDragScroll(u.y),onWheelScroll:(u,p)=>{if(s.viewport){const g=s.viewport.scrollTop+u.deltaY;e.onWheelScroll(g),Wc(g,p)&&u.preventDefault()}},onResize:()=>{l.current&&s.viewport&&a&&n({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:l.current.clientHeight,paddingStart:cn(a.paddingTop),paddingEnd:cn(a.paddingBottom)}})}})}),[mb,Lc]=_c(Ze),Fc=d.forwardRef((e,t)=>{const{__scopeScrollArea:r,sizes:n,hasThumb:o,onThumbChange:s,onThumbPointerUp:a,onThumbPointerDown:c,onThumbPositionChange:l,onDragScroll:f,onWheelScroll:u,onResize:p,...g}=e,v=Le(Ze,r),[m,h]=d.useState(null),b=ae(t,B=>h(B)),w=d.useRef(null),x=d.useRef(""),y=v.viewport,C=n.content-n.viewport,T=Ce(u),M=Ce(l),N=dn(p,10);function F(B){if(w.current){const z=B.clientX-w.current.left,K=B.clientY-w.current.top;f({x:z,y:K})}}return d.useEffect(()=>{const B=z=>{const K=z.target;(m==null?void 0:m.contains(K))&&T(z,C)};return document.addEventListener("wheel",B,{passive:!1}),()=>document.removeEventListener("wheel",B,{passive:!1})},[y,m,C,T]),d.useEffect(M,[n,M]),$t(m,N),$t(v.content,N),i.jsx(mb,{scope:r,scrollbar:m,hasThumb:o,onThumbChange:Ce(s),onThumbPointerUp:Ce(a),onThumbPositionChange:M,onThumbPointerDown:Ce(c),children:i.jsx(Q.div,{...g,ref:b,style:{position:"absolute",...g.style},onPointerDown:H(e.onPointerDown,B=>{B.button===0&&(B.target.setPointerCapture(B.pointerId),w.current=m.getBoundingClientRect(),x.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",v.viewport&&(v.viewport.style.scrollBehavior="auto"),F(B))}),onPointerMove:H(e.onPointerMove,F),onPointerUp:H(e.onPointerUp,B=>{const z=B.target;z.hasPointerCapture(B.pointerId)&&z.releasePointerCapture(B.pointerId),document.body.style.webkitUserSelect=x.current,v.viewport&&(v.viewport.style.scrollBehavior=""),w.current=null})})})}),an="ScrollAreaThumb",$c=d.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=Lc(an,e.__scopeScrollArea);return i.jsx(Ie,{present:r||o.hasThumb,children:i.jsx(bb,{ref:t,...n})})}),bb=d.forwardRef((e,t)=>{const{__scopeScrollArea:r,style:n,...o}=e,s=Le(an,r),a=Lc(an,r),{onThumbPositionChange:c}=a,l=ae(t,p=>a.onThumbChange(p)),f=d.useRef(void 0),u=dn(()=>{f.current&&(f.current(),f.current=void 0)},100);return d.useEffect(()=>{const p=s.viewport;if(p){const g=()=>{if(u(),!f.current){const v=yb(p,c);f.current=v,c()}};return c(),p.addEventListener("scroll",g),()=>p.removeEventListener("scroll",g)}},[s.viewport,u,c]),i.jsx(Q.div,{"data-state":a.hasThumb?"visible":"hidden",...o,ref:l,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:H(e.onPointerDownCapture,p=>{const v=p.target.getBoundingClientRect(),m=p.clientX-v.left,h=p.clientY-v.top;a.onThumbPointerDown({x:m,y:h})}),onPointerUp:H(e.onPointerUp,a.onThumbPointerUp)})});$c.displayName=an;var Ko="ScrollAreaCorner",Bc=d.forwardRef((e,t)=>{const r=Le(Ko,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&n?i.jsx(vb,{...e,ref:t}):null});Bc.displayName=Ko;var vb=d.forwardRef((e,t)=>{const{__scopeScrollArea:r,...n}=e,o=Le(Ko,r),[s,a]=d.useState(0),[c,l]=d.useState(0),f=!!(s&&c);return $t(o.scrollbarX,()=>{var p;const u=((p=o.scrollbarX)==null?void 0:p.offsetHeight)||0;o.onCornerHeightChange(u),l(u)}),$t(o.scrollbarY,()=>{var p;const u=((p=o.scrollbarY)==null?void 0:p.offsetWidth)||0;o.onCornerWidthChange(u),a(u)}),f?i.jsx(Q.div,{...n,ref:t,style:{width:s,height:c,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function cn(e){return e?parseInt(e,10):0}function Uc(e,t){const r=e/t;return isNaN(r)?0:r}function ln(e){const t=Uc(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,n=(e.scrollbar.size-r)*t;return Math.max(n,18)}function wb(e,t,r,n="ltr"){const o=ln(r),s=o/2,a=t||s,c=o-a,l=r.scrollbar.paddingStart+a,f=r.scrollbar.size-r.scrollbar.paddingEnd-c,u=r.content-r.viewport,p=n==="ltr"?[0,u]:[u*-1,0];return zc([l,f],p)(e)}function Hc(e,t,r="ltr"){const n=ln(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-o,a=t.content-t.viewport,c=s-n,l=r==="ltr"?[0,a]:[a*-1,0],f=Wo(e,l);return zc([0,a],[0,c])(f)}function zc(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}function Wc(e,t){return e>0&&e<t}var yb=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return function o(){const s={left:e.scrollLeft,top:e.scrollTop},a=r.left!==s.left,c=r.top!==s.top;(a||c)&&t(),r=s,n=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(n)};function dn(e,t){const r=Ce(e),n=d.useRef(0);return d.useEffect(()=>()=>window.clearTimeout(n.current),[]),d.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,t)},[r,t])}function $t(e,t){const r=Ce(t);Se(()=>{let n=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(n),n=window.requestAnimationFrame(r)});return o.observe(e),()=>{window.cancelAnimationFrame(n),o.unobserve(e)}}},[e,r])}var jc=kc,xb=Mc,Sb=Bc;const Vc=d.forwardRef(({className:e,children:t,...r},n)=>i.jsxs(jc,{ref:n,className:P("relative overflow-hidden",e),...r,children:[i.jsx(xb,{className:"h-full w-full rounded-[inherit] overflow-auto",children:t}),i.jsx(Rc,{}),i.jsx(Sb,{})]}));Vc.displayName=jc.displayName;const Rc=d.forwardRef(({className:e,orientation:t="vertical",...r},n)=>i.jsx(Vo,{ref:n,orientation:t,className:P("flex touch-none select-none transition-colors",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...r,children:i.jsx($c,{className:"relative flex-1 rounded-full bg-border"})}));Rc.displayName=Vo.displayName;function un({className:e="",showCreateButton:t=!0,showDeleteButton:r=!0,showEditTitle:n=!0,maxHeight:o="400px",customStyles:s={},currentThreadId:a=null,navigateToThread:c,onThreadSelect:l,onThreadCreate:f,onThreadDelete:u}){const{loadThread:p,threads:g,refreshThreads:v,currentThreadId:m,createThread:h,deleteThread:b,renameThread:w}=Ar(),[x,y]=A.useState(g??[]),[C,T]=A.useState(!1),[M,N]=A.useState(null),[F,B]=A.useState(null),[z,K]=A.useState(""),[X,V]=A.useState(!1);A.useEffect(()=>{y(g??[])},[g]);const I=async $=>{try{await p($),c==null||c($),l==null||l($)}catch(R){console.error("Failed to select thread:",R)}},U=async()=>{try{V(!0);const $=await h();f==null||f($),c==null||c($)}catch($){console.error("Failed to create thread:",$)}finally{V(!1)}},_=async($,R)=>{if(R.stopPropagation(),!!confirm("Delete this thread?"))try{await b($),u==null||u($)}catch(ie){console.error("Failed to delete thread:",ie)}},W=($,R)=>{R.stopPropagation(),B($.threadId),K($.title||`Thread ${$.threadId.slice(0,8)}`)},D=async $=>{if(z.trim())try{await w($,z.trim()),B(null),K("")}catch(R){console.error("Failed to update title:",R)}},E=()=>{B(null),K("")},Z=($,R)=>{$.key==="Enter"?D(R):$.key==="Escape"&&E()},G=$=>{if(!$)return"";try{const R=new Date($),ge=new Date().getTime()-R.getTime(),j=Math.floor(ge/(1e3*60*60*24));return j===0?R.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):j===1?"Yesterday":j<7?`${j} days ago`:R.toLocaleDateString()}catch{return""}},re=$=>$.title||`Thread ${$.threadId.slice(0,8)}`;return i.jsxs("div",{className:`flex flex-col h-full ${e} ${s.container||""}`,children:[t&&i.jsx("div",{className:s.header||"flex-shrink-0 p-2 border-b bg-slate-800 border-slate-700 text-slate-100 flex justify-end",children:i.jsx(he,{onClick:U,disabled:X||C,className:s.createButton||"p-2",size:"sm",variant:"ghost",title:X?"Creating...":"New Chat",children:i.jsx(q.MessageSquarePlus,{size:20})})}),i.jsx(Vc,{className:`flex-1 min-h-0 ${s.threadList||""}`,style:o?{maxHeight:o}:void 0,children:i.jsx("div",{className:"p-2 space-y-1 pb-4",children:C?i.jsx("div",{className:"text-center py-8 text-slate-400",children:"Loading…"}):x.length===0?i.jsxs("div",{className:"text-center py-8 text-slate-400",children:[i.jsx(q.MessageSquare,{className:"w-8 h-8 mx-auto mb-2 opacity-40 text-slate-500"}),i.jsx("p",{className:"text-sm text-slate-500",children:"No conversations yet"})]}):x.slice().sort(($,R)=>new Date(R.updatedAt||R.createdAt||"").getTime()-new Date($.updatedAt||$.createdAt||"").getTime()).map($=>i.jsxs("div",{onClick:()=>I($.threadId),className:`group relative p-3 rounded-lg cursor-pointer transition-colors border ${(a??m)===$.threadId?`${s.activeThread||"bg-slate-600 border-slate-500"} `:`${s.threadItem||"bg-slate-700 border-slate-600 hover:bg-slate-600 text-gray-900 dark:text-slate-100"}`} ${s.threadItem||""} text-gray-900 dark:text-slate-100`,children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx("div",{className:"flex-1 min-w-0",children:F===$.threadId?i.jsxs("div",{className:"flex items-center gap-2",onClick:R=>R.stopPropagation(),children:[i.jsx(dr,{value:z,onChange:R=>K(R.target.value),onKeyDown:R=>Z(R,$.threadId),className:"h-6 text-sm",autoFocus:!0}),i.jsx(he,{variant:"ghost",size:"sm",onClick:()=>D($.threadId),className:"h-6 w-6 p-0",children:i.jsx(q.Check,{size:12})}),i.jsx(he,{variant:"ghost",size:"sm",onClick:E,className:"h-6 w-6 p-0",children:i.jsx(q.X,{size:12})})]}):i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"font-medium text-sm truncate text-gray-900 dark:text-slate-100",children:re($)}),i.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500 dark:text-slate-400 mt-1",children:[i.jsx(q.Calendar,{size:10}),i.jsx("span",{children:G($.updatedAt||$.createdAt)})]})]})}),i.jsxs("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity ml-2",children:[n&&F!==$.threadId&&i.jsx(he,{variant:"ghost",size:"sm",onClick:R=>W($,R),className:"h-6 w-6 p-0",title:"Edit title",children:i.jsx(q.Edit3,{size:12})}),r&&i.jsx(he,{variant:"ghost",size:"sm",onClick:R=>_($.threadId,R),className:"h-6 w-6 p-0 text-red-400 hover:text-red-300 hover:bg-red-900/20",title:"Delete thread",children:i.jsx(q.Trash2,{size:12})})]})]}),a===$.threadId&&i.jsx("div",{className:"absolute left-0 top-1/2 -translate-y-1/2 w-1 h-8 bg-blue-400 rounded-r"})]},$.threadId))})})]})}const Kc=A.createContext(null);function Cb({children:e,basePath:t="/chat"}){const r=A.useMemo(()=>t?t==="/"?"":t.endsWith("/")?t.slice(0,-1):t:"/chat",[t]),n={basePath:r,buildThreadPath:o=>`${r}/${o}`,buildBasePath:()=>r};return i.jsx(Kc.Provider,{value:n,children:e})}function Eb(){const e=A.useContext(Kc);return e||{basePath:"/chat",buildThreadPath:t=>`/chat/${t}`,buildBasePath:()=>"/chat"}}const Gc={BASE_URL:"/",DEV:!1,MODE:"library",PROD:!0,SSR:!1};function ur(e){var o;const t=typeof{url:typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:_n&&_n.tagName.toUpperCase()==="SCRIPT"&&_n.src||new URL("index.umd.js",document.baseURI).href}<"u"&&Gc?Gc[e]:void 0,r=(o=globalThis==null?void 0:globalThis.process)==null?void 0:o.env,n=r?r[e]:void 0;return(t??n)||void 0}function Nb(){return ur("VITE_API_BASE_URL")||ur("NEXT_PUBLIC_API_BASE_URL")||void 0}function Tb(){return ur("VITE_API_KEY")||ur("NEXT_PUBLIC_API_KEY")||ur("VITE_AUTH_TOKEN")||void 0}function qc(){const e=Nb(),t=Tb(),r={};return e&&(r.baseUrl=e),t&&(r.apiKey=t),r}function Xc(){const e=qc(),t=Ke.getAuthToken();return{apiBaseUrl:e.baseUrl||Ke.baseUrl||"http://localhost:8000",apiKey:t||e.apiKey||"",model:"gpt-4",temperature:.7,maxTokens:4096,layoutSize:"desktop",showThreads:!0,autoScrollMessages:!0,truncateToolMessages:!0,toolMessagePreviewLength:200,darkMode:!1,enableSound:!1,messageHistory:100}}const Yc="chat-settings";function Ab(){try{const e=localStorage.getItem(Yc);return e?JSON.parse(e):{}}catch(e){return console.error("Failed to parse stored settings:",e),{}}}function Pb(e){try{localStorage.setItem(Yc,JSON.stringify(e)),e.apiKey&&Ke.setAuthToken(e.apiKey)}catch(t){console.error("Failed to save settings:",t)}}function Ib(){const e=Xc(),t=Ab(),r=Ke.getAuthToken();return{...e,...t,apiKey:r||t.apiKey||e.apiKey,apiBaseUrl:Ke.baseUrl||t.apiBaseUrl||e.apiBaseUrl}}function _b(e){e.apiKey&&Ke.setAuthToken(e.apiKey),Pb(e)}const Go=768;function kb(){const[e,t]=d.useState(void 0);return d.useEffect(()=>{const r=window.matchMedia(`(max-width: ${Go-1}px)`),n=()=>{t(window.innerWidth<Go)};return r.addEventListener("change",n),t(window.innerWidth<Go),()=>r.removeEventListener("change",n)},[]),!!e}var Ob="Separator",Jc="horizontal",Mb=["horizontal","vertical"],Zc=d.forwardRef((e,t)=>{const{decorative:r,orientation:n=Jc,...o}=e,s=Db(n)?n:Jc,c=r?{role:"none"}:{"aria-orientation":s==="vertical"?s:void 0,role:"separator"};return i.jsx(Q.div,{"data-orientation":s,...c,...o,ref:t})});Zc.displayName=Ob;function Db(e){return Mb.includes(e)}var Qc=Zc;const qo=d.forwardRef(({className:e,orientation:t="horizontal",decorative:r=!0,...n},o)=>i.jsx(Qc,{ref:o,decorative:r,orientation:t,className:P("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...n}));qo.displayName=Qc.displayName;var fn="Dialog",[el,iy]=Be(fn),[Lb,We]=el(fn),tl=e=>{const{__scopeDialog:t,children:r,open:n,defaultOpen:o,onOpenChange:s,modal:a=!0}=e,c=d.useRef(null),l=d.useRef(null),[f,u]=nt({prop:n,defaultProp:o??!1,onChange:s,caller:fn});return i.jsx(Lb,{scope:t,triggerRef:c,contentRef:l,contentId:Ue(),titleId:Ue(),descriptionId:Ue(),open:f,onOpenChange:u,onOpenToggle:d.useCallback(()=>u(p=>!p),[u]),modal:a,children:r})};tl.displayName=fn;var rl="DialogTrigger",nl=d.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=We(rl,r),s=ae(t,o.triggerRef);return i.jsx(Q.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":Jo(o.open),...n,ref:s,onClick:H(e.onClick,o.onOpenToggle)})});nl.displayName=rl;var Xo="DialogPortal",[Fb,ol]=el(Xo,{forceMount:void 0}),sl=e=>{const{__scopeDialog:t,forceMount:r,children:n,container:o}=e,s=We(Xo,t);return i.jsx(Fb,{scope:t,forceMount:r,children:d.Children.map(n,a=>i.jsx(Ie,{present:r||s.open,children:i.jsx(Kr,{asChild:!0,container:o,children:a})}))})};sl.displayName=Xo;var pn="DialogOverlay",al=d.forwardRef((e,t)=>{const r=ol(pn,e.__scopeDialog),{forceMount:n=r.forceMount,...o}=e,s=We(pn,e.__scopeDialog);return s.modal?i.jsx(Ie,{present:n||s.open,children:i.jsx(Bb,{...o,ref:t})}):null});al.displayName=pn;var $b=_e.createSlot("DialogOverlay.RemoveScroll"),Bb=d.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=We(pn,r);return i.jsx(en,{as:$b,allowPinchZoom:!0,shards:[o.contentRef],children:i.jsx(Q.div,{"data-state":Jo(o.open),...n,ref:t,style:{pointerEvents:"auto",...n.style}})})}),bt="DialogContent",il=d.forwardRef((e,t)=>{const r=ol(bt,e.__scopeDialog),{forceMount:n=r.forceMount,...o}=e,s=We(bt,e.__scopeDialog);return i.jsx(Ie,{present:n||s.open,children:s.modal?i.jsx(Ub,{...o,ref:t}):i.jsx(Hb,{...o,ref:t})})});il.displayName=bt;var Ub=d.forwardRef((e,t)=>{const r=We(bt,e.__scopeDialog),n=d.useRef(null),o=ae(t,r.contentRef,n);return d.useEffect(()=>{const s=n.current;if(s)return Po(s)},[]),i.jsx(cl,{...e,ref:o,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:H(e.onCloseAutoFocus,s=>{var a;s.preventDefault(),(a=r.triggerRef.current)==null||a.focus()}),onPointerDownOutside:H(e.onPointerDownOutside,s=>{const a=s.detail.originalEvent,c=a.button===0&&a.ctrlKey===!0;(a.button===2||c)&&s.preventDefault()}),onFocusOutside:H(e.onFocusOutside,s=>s.preventDefault())})}),Hb=d.forwardRef((e,t)=>{const r=We(bt,e.__scopeDialog),n=d.useRef(!1),o=d.useRef(!1);return i.jsx(cl,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var a,c;(a=e.onCloseAutoFocus)==null||a.call(e,s),s.defaultPrevented||(n.current||(c=r.triggerRef.current)==null||c.focus(),s.preventDefault()),n.current=!1,o.current=!1},onInteractOutside:s=>{var l,f;(l=e.onInteractOutside)==null||l.call(e,s),s.defaultPrevented||(n.current=!0,s.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const a=s.target;((f=r.triggerRef.current)==null?void 0:f.contains(a))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&o.current&&s.preventDefault()}})}),cl=d.forwardRef((e,t)=>{const{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:o,onCloseAutoFocus:s,...a}=e,c=We(bt,r),l=d.useRef(null),f=ae(t,l);return oo(),i.jsxs(i.Fragment,{children:[i.jsx(Lr,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:o,onUnmountAutoFocus:s,children:i.jsx(Qt,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":Jo(c.open),...a,ref:f,onDismiss:()=>c.onOpenChange(!1)})}),i.jsxs(i.Fragment,{children:[i.jsx(zb,{titleId:c.titleId}),i.jsx(jb,{contentRef:l,descriptionId:c.descriptionId})]})]})}),Yo="DialogTitle",ll=d.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=We(Yo,r);return i.jsx(Q.h2,{id:o.titleId,...n,ref:t})});ll.displayName=Yo;var dl="DialogDescription",ul=d.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=We(dl,r);return i.jsx(Q.p,{id:o.descriptionId,...n,ref:t})});ul.displayName=dl;var fl="DialogClose",pl=d.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=We(fl,r);return i.jsx(Q.button,{type:"button",...n,ref:t,onClick:H(e.onClick,()=>o.onOpenChange(!1))})});pl.displayName=fl;function Jo(e){return e?"open":"closed"}var hl="DialogTitleWarning",[cy,gl]=Of(hl,{contentName:bt,titleName:Yo,docsSlug:"dialog"}),zb=({titleId:e})=>{const t=gl(hl),r=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
58
+ `)},jg=0,Ft=[];function Vg(e){var t=d.useRef([]),r=d.useRef([0,0]),n=d.useRef(),o=d.useState(jg++)[0],s=d.useState(Ai)[0],a=d.useRef(e);d.useEffect(function(){a.current=e},[e]),d.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var h=ug([e.lockRef.current],(e.shards||[]).map(Di),!0).filter(Boolean);return h.forEach(function(b){return b.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),h.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var c=d.useCallback(function(h,b){if("touches"in h&&h.touches.length===2||h.type==="wheel"&&h.ctrlKey)return!a.current.allowPinchZoom;var w=Qr(h),x=r.current,y="deltaX"in h?h.deltaX:x[0]-w[0],C="deltaY"in h?h.deltaY:x[1]-w[1],T,M=h.target,N=Math.abs(y)>Math.abs(C)?"h":"v";if("touches"in h&&N==="h"&&M.type==="range")return!1;var F=_i(N,M);if(!F)return!0;if(F?T=N:(T=N==="v"?"h":"v",F=_i(N,M)),!F)return!1;if(!n.current&&"changedTouches"in h&&(y||C)&&(n.current=T),!T)return!0;var B=n.current||T;return Hg(B,b,h,B==="h"?y:C)},[]),l=d.useCallback(function(h){var b=h;if(!(!Ft.length||Ft[Ft.length-1]!==s)){var w="deltaY"in b?Mi(b):Qr(b),x=t.current.filter(function(T){return T.name===b.type&&(T.target===b.target||b.target===T.shadowParent)&&zg(T.delta,w)})[0];if(x&&x.should){b.cancelable&&b.preventDefault();return}if(!x){var y=(a.current.shards||[]).map(Di).filter(Boolean).filter(function(T){return T.contains(b.target)}),C=y.length>0?c(b,y[0]):!a.current.noIsolation;C&&b.cancelable&&b.preventDefault()}}},[]),f=d.useCallback(function(h,b,w,x){var y={name:h,delta:b,target:w,should:x,shadowParent:Kg(w)};t.current.push(y),setTimeout(function(){t.current=t.current.filter(function(C){return C!==y})},1)},[]),u=d.useCallback(function(h){r.current=Qr(h),n.current=void 0},[]),p=d.useCallback(function(h){f(h.type,Mi(h),h.target,c(h,e.lockRef.current))},[]),g=d.useCallback(function(h){f(h.type,Qr(h),h.target,c(h,e.lockRef.current))},[]);d.useEffect(function(){return Ft.push(s),e.setCallbacks({onScrollCapture:p,onWheelCapture:p,onTouchMoveCapture:g}),document.addEventListener("wheel",l,Lt),document.addEventListener("touchmove",l,Lt),document.addEventListener("touchstart",u,Lt),function(){Ft=Ft.filter(function(h){return h!==s}),document.removeEventListener("wheel",l,Lt),document.removeEventListener("touchmove",l,Lt),document.removeEventListener("touchstart",u,Lt)}},[]);var v=e.removeScrollBar,m=e.inert;return d.createElement(d.Fragment,null,m?d.createElement(s,{styles:Wg(o)}):null,v?d.createElement(Mg,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Kg(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const Rg=yg(Ti,Vg);var en=d.forwardRef(function(e,t){return d.createElement(Jr,Je({},e,{ref:t,sideCar:Rg}))});en.classNames=Jr.classNames;var Mo=["Enter"," "],Gg=["ArrowDown","PageUp","Home"],Li=["ArrowUp","PageDown","End"],qg=[...Gg,...Li],Xg={ltr:[...Mo,"ArrowRight"],rtl:[...Mo,"ArrowLeft"]},Yg={ltr:["ArrowLeft"],rtl:["ArrowRight"]},or="Menu",[sr,Jg,Zg]=to(or),[gt,Fi]=Be(or,[Zg,Ot,bi]),tn=Ot(),$i=bi(),[Qg,mt]=gt(or),[em,ar]=gt(or),Bi=e=>{const{__scopeMenu:t,open:r=!1,children:n,dir:o,onOpenChange:s,modal:a=!0}=e,c=tn(t),[l,f]=d.useState(null),u=d.useRef(!1),p=Ce(s),g=Dr(o);return d.useEffect(()=>{const v=()=>{u.current=!0,document.addEventListener("pointerdown",m,{capture:!0,once:!0}),document.addEventListener("pointermove",m,{capture:!0,once:!0})},m=()=>u.current=!1;return document.addEventListener("keydown",v,{capture:!0}),()=>{document.removeEventListener("keydown",v,{capture:!0}),document.removeEventListener("pointerdown",m,{capture:!0}),document.removeEventListener("pointermove",m,{capture:!0})}},[]),i.jsx(xo,{...c,children:i.jsx(Qg,{scope:t,open:r,onOpenChange:p,content:l,onContentChange:f,children:i.jsx(em,{scope:t,onClose:d.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:u,dir:g,modal:a,children:n})})})};Bi.displayName=or;var tm="MenuAnchor",Do=d.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e,o=tn(r);return i.jsx(So,{...o,...n,ref:t})});Do.displayName=tm;var Lo="MenuPortal",[rm,Ui]=gt(Lo,{forceMount:void 0}),Hi=e=>{const{__scopeMenu:t,forceMount:r,children:n,container:o}=e,s=mt(Lo,t);return i.jsx(rm,{scope:t,forceMount:r,children:i.jsx(Ie,{present:r||s.open,children:i.jsx(Rr,{asChild:!0,container:o,children:n})})})};Hi.displayName=Lo;var De="MenuContent",[nm,Fo]=gt(De),zi=d.forwardRef((e,t)=>{const r=Ui(De,e.__scopeMenu),{forceMount:n=r.forceMount,...o}=e,s=mt(De,e.__scopeMenu),a=ar(De,e.__scopeMenu);return i.jsx(sr.Provider,{scope:e.__scopeMenu,children:i.jsx(Ie,{present:n||s.open,children:i.jsx(sr.Slot,{scope:e.__scopeMenu,children:a.modal?i.jsx(om,{...o,ref:t}):i.jsx(sm,{...o,ref:t})})})})}),om=d.forwardRef((e,t)=>{const r=mt(De,e.__scopeMenu),n=d.useRef(null),o=ae(t,n);return d.useEffect(()=>{const s=n.current;if(s)return Po(s)},[]),i.jsx($o,{...e,ref:o,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:H(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),sm=d.forwardRef((e,t)=>{const r=mt(De,e.__scopeMenu);return i.jsx($o,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),am=_e.createSlot("MenuContent.ScrollLock"),$o=d.forwardRef((e,t)=>{const{__scopeMenu:r,loop:n=!1,trapFocus:o,onOpenAutoFocus:s,onCloseAutoFocus:a,disableOutsidePointerEvents:c,onEntryFocus:l,onEscapeKeyDown:f,onPointerDownOutside:u,onFocusOutside:p,onInteractOutside:g,onDismiss:v,disableOutsideScroll:m,...h}=e,b=mt(De,r),w=ar(De,r),x=tn(r),y=$i(r),C=Jg(r),[T,M]=d.useState(null),N=d.useRef(null),F=ae(t,N,b.onContentChange),B=d.useRef(0),z=d.useRef(""),R=d.useRef(0),X=d.useRef(null),V=d.useRef("right"),I=d.useRef(0),U=m?en:d.Fragment,_=m?{as:am,allowPinchZoom:!0}:void 0,W=E=>{var j,le;const Z=z.current+E,G=C().filter(ue=>!ue.disabled),re=document.activeElement,$=(j=G.find(ue=>ue.ref.current===re))==null?void 0:j.textValue,K=G.map(ue=>ue.textValue),ie=vm(K,Z,$),ge=(le=G.find(ue=>ue.textValue===ie))==null?void 0:le.ref.current;(function ue(ce){z.current=ce,window.clearTimeout(B.current),ce!==""&&(B.current=window.setTimeout(()=>ue(""),1e3))})(Z),ge&&setTimeout(()=>ge.focus())};d.useEffect(()=>()=>window.clearTimeout(B.current),[]),oo();const D=d.useCallback(E=>{var G,re;return V.current===((G=X.current)==null?void 0:G.side)&&ym(E,(re=X.current)==null?void 0:re.area)},[]);return i.jsx(nm,{scope:r,searchRef:z,onItemEnter:d.useCallback(E=>{D(E)&&E.preventDefault()},[D]),onItemLeave:d.useCallback(E=>{var Z;D(E)||((Z=N.current)==null||Z.focus(),M(null))},[D]),onTriggerLeave:d.useCallback(E=>{D(E)&&E.preventDefault()},[D]),pointerGraceTimerRef:R,onPointerGraceIntentChange:d.useCallback(E=>{X.current=E},[]),children:i.jsx(U,{..._,children:i.jsx(Lr,{asChild:!0,trapped:o,onMountAutoFocus:H(s,E=>{var Z;E.preventDefault(),(Z=N.current)==null||Z.focus({preventScroll:!0})}),onUnmountAutoFocus:a,children:i.jsx(Qt,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:f,onPointerDownOutside:u,onFocusOutside:p,onInteractOutside:g,onDismiss:v,children:i.jsx(ag,{asChild:!0,...y,dir:w.dir,orientation:"vertical",loop:n,currentTabStopId:T,onCurrentTabStopIdChange:M,onEntryFocus:H(l,E=>{w.isUsingKeyboardRef.current||E.preventDefault()}),preventScrollOnEntryFocus:!0,children:i.jsx(Co,{role:"menu","aria-orientation":"vertical","data-state":oc(b.open),"data-radix-menu-content":"",dir:w.dir,...x,...h,ref:F,style:{outline:"none",...h.style},onKeyDown:H(h.onKeyDown,E=>{const G=E.target.closest("[data-radix-menu-content]")===E.currentTarget,re=E.ctrlKey||E.altKey||E.metaKey,$=E.key.length===1;G&&(E.key==="Tab"&&E.preventDefault(),!re&&$&&W(E.key));const K=N.current;if(E.target!==K||!qg.includes(E.key))return;E.preventDefault();const ge=C().filter(j=>!j.disabled).map(j=>j.ref.current);Li.includes(E.key)&&ge.reverse(),mm(ge)}),onBlur:H(e.onBlur,E=>{E.currentTarget.contains(E.target)||(window.clearTimeout(B.current),z.current="")}),onPointerMove:H(e.onPointerMove,cr(E=>{const Z=E.target,G=I.current!==E.clientX;if(E.currentTarget.contains(Z)&&G){const re=E.clientX>I.current?"right":"left";V.current=re,I.current=E.clientX}}))})})})})})})});zi.displayName=De;var im="MenuGroup",Bo=d.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e;return i.jsx(Q.div,{role:"group",...n,ref:t})});Bo.displayName=im;var cm="MenuLabel",Wi=d.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e;return i.jsx(Q.div,{...n,ref:t})});Wi.displayName=cm;var rn="MenuItem",ji="menu.itemSelect",nn=d.forwardRef((e,t)=>{const{disabled:r=!1,onSelect:n,...o}=e,s=d.useRef(null),a=ar(rn,e.__scopeMenu),c=Fo(rn,e.__scopeMenu),l=ae(t,s),f=d.useRef(!1),u=()=>{const p=s.current;if(!r&&p){const g=new CustomEvent(ji,{bubbles:!0,cancelable:!0});p.addEventListener(ji,v=>n==null?void 0:n(v),{once:!0}),pa(p,g),g.defaultPrevented?f.current=!1:a.onClose()}};return i.jsx(Vi,{...o,ref:l,disabled:r,onClick:H(e.onClick,u),onPointerDown:p=>{var g;(g=e.onPointerDown)==null||g.call(e,p),f.current=!0},onPointerUp:H(e.onPointerUp,p=>{var g;f.current||(g=p.currentTarget)==null||g.click()}),onKeyDown:H(e.onKeyDown,p=>{const g=c.searchRef.current!=="";r||g&&p.key===" "||Mo.includes(p.key)&&(p.currentTarget.click(),p.preventDefault())})})});nn.displayName=rn;var Vi=d.forwardRef((e,t)=>{const{__scopeMenu:r,disabled:n=!1,textValue:o,...s}=e,a=Fo(rn,r),c=$i(r),l=d.useRef(null),f=ae(t,l),[u,p]=d.useState(!1),[g,v]=d.useState("");return d.useEffect(()=>{const m=l.current;m&&v((m.textContent??"").trim())},[s.children]),i.jsx(sr.ItemSlot,{scope:r,disabled:n,textValue:o??g,children:i.jsx(ig,{asChild:!0,...c,focusable:!n,children:i.jsx(Q.div,{role:"menuitem","data-highlighted":u?"":void 0,"aria-disabled":n||void 0,"data-disabled":n?"":void 0,...s,ref:f,onPointerMove:H(e.onPointerMove,cr(m=>{n?a.onItemLeave(m):(a.onItemEnter(m),m.defaultPrevented||m.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:H(e.onPointerLeave,cr(m=>a.onItemLeave(m))),onFocus:H(e.onFocus,()=>p(!0)),onBlur:H(e.onBlur,()=>p(!1))})})})}),lm="MenuCheckboxItem",Ki=d.forwardRef((e,t)=>{const{checked:r=!1,onCheckedChange:n,...o}=e;return i.jsx(Yi,{scope:e.__scopeMenu,checked:r,children:i.jsx(nn,{role:"menuitemcheckbox","aria-checked":on(r)?"mixed":r,...o,ref:t,"data-state":Ho(r),onSelect:H(o.onSelect,()=>n==null?void 0:n(on(r)?!0:!r),{checkForDefaultPrevented:!1})})})});Ki.displayName=lm;var Ri="MenuRadioGroup",[dm,um]=gt(Ri,{value:void 0,onValueChange:()=>{}}),Gi=d.forwardRef((e,t)=>{const{value:r,onValueChange:n,...o}=e,s=Ce(n);return i.jsx(dm,{scope:e.__scopeMenu,value:r,onValueChange:s,children:i.jsx(Bo,{...o,ref:t})})});Gi.displayName=Ri;var qi="MenuRadioItem",Xi=d.forwardRef((e,t)=>{const{value:r,...n}=e,o=um(qi,e.__scopeMenu),s=r===o.value;return i.jsx(Yi,{scope:e.__scopeMenu,checked:s,children:i.jsx(nn,{role:"menuitemradio","aria-checked":s,...n,ref:t,"data-state":Ho(s),onSelect:H(n.onSelect,()=>{var a;return(a=o.onValueChange)==null?void 0:a.call(o,r)},{checkForDefaultPrevented:!1})})})});Xi.displayName=qi;var Uo="MenuItemIndicator",[Yi,fm]=gt(Uo,{checked:!1}),Ji=d.forwardRef((e,t)=>{const{__scopeMenu:r,forceMount:n,...o}=e,s=fm(Uo,r);return i.jsx(Ie,{present:n||on(s.checked)||s.checked===!0,children:i.jsx(Q.span,{...o,ref:t,"data-state":Ho(s.checked)})})});Ji.displayName=Uo;var pm="MenuSeparator",Zi=d.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e;return i.jsx(Q.div,{role:"separator","aria-orientation":"horizontal",...n,ref:t})});Zi.displayName=pm;var hm="MenuArrow",Qi=d.forwardRef((e,t)=>{const{__scopeMenu:r,...n}=e,o=tn(r);return i.jsx(Eo,{...o,...n,ref:t})});Qi.displayName=hm;var gm="MenuSub",[oy,ec]=gt(gm),ir="MenuSubTrigger",tc=d.forwardRef((e,t)=>{const r=mt(ir,e.__scopeMenu),n=ar(ir,e.__scopeMenu),o=ec(ir,e.__scopeMenu),s=Fo(ir,e.__scopeMenu),a=d.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:l}=s,f={__scopeMenu:e.__scopeMenu},u=d.useCallback(()=>{a.current&&window.clearTimeout(a.current),a.current=null},[]);return d.useEffect(()=>u,[u]),d.useEffect(()=>{const p=c.current;return()=>{window.clearTimeout(p),l(null)}},[c,l]),i.jsx(Do,{asChild:!0,...f,children:i.jsx(Vi,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":o.contentId,"data-state":oc(r.open),...e,ref:qn(t,o.onTriggerChange),onClick:p=>{var g;(g=e.onClick)==null||g.call(e,p),!(e.disabled||p.defaultPrevented)&&(p.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:H(e.onPointerMove,cr(p=>{s.onItemEnter(p),!p.defaultPrevented&&!e.disabled&&!r.open&&!a.current&&(s.onPointerGraceIntentChange(null),a.current=window.setTimeout(()=>{r.onOpenChange(!0),u()},100))})),onPointerLeave:H(e.onPointerLeave,cr(p=>{var v,m;u();const g=(v=r.content)==null?void 0:v.getBoundingClientRect();if(g){const h=(m=r.content)==null?void 0:m.dataset.side,b=h==="right",w=b?-5:5,x=g[b?"left":"right"],y=g[b?"right":"left"];s.onPointerGraceIntentChange({area:[{x:p.clientX+w,y:p.clientY},{x,y:g.top},{x:y,y:g.top},{x:y,y:g.bottom},{x,y:g.bottom}],side:h}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(p),p.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:H(e.onKeyDown,p=>{var v;const g=s.searchRef.current!=="";e.disabled||g&&p.key===" "||Xg[n.dir].includes(p.key)&&(r.onOpenChange(!0),(v=r.content)==null||v.focus(),p.preventDefault())})})})});tc.displayName=ir;var rc="MenuSubContent",nc=d.forwardRef((e,t)=>{const r=Ui(De,e.__scopeMenu),{forceMount:n=r.forceMount,...o}=e,s=mt(De,e.__scopeMenu),a=ar(De,e.__scopeMenu),c=ec(rc,e.__scopeMenu),l=d.useRef(null),f=ae(t,l);return i.jsx(sr.Provider,{scope:e.__scopeMenu,children:i.jsx(Ie,{present:n||s.open,children:i.jsx(sr.Slot,{scope:e.__scopeMenu,children:i.jsx($o,{id:c.contentId,"aria-labelledby":c.triggerId,...o,ref:f,align:"start",side:a.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:u=>{var p;a.isUsingKeyboardRef.current&&((p=l.current)==null||p.focus()),u.preventDefault()},onCloseAutoFocus:u=>u.preventDefault(),onFocusOutside:H(e.onFocusOutside,u=>{u.target!==c.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:H(e.onEscapeKeyDown,u=>{a.onClose(),u.preventDefault()}),onKeyDown:H(e.onKeyDown,u=>{var v;const p=u.currentTarget.contains(u.target),g=Yg[a.dir].includes(u.key);p&&g&&(s.onOpenChange(!1),(v=c.trigger)==null||v.focus(),u.preventDefault())})})})})})});nc.displayName=rc;function oc(e){return e?"open":"closed"}function on(e){return e==="indeterminate"}function Ho(e){return on(e)?"indeterminate":e?"checked":"unchecked"}function mm(e){const t=document.activeElement;for(const r of e)if(r===t||(r.focus(),document.activeElement!==t))return}function bm(e,t){return e.map((r,n)=>e[(t+n)%e.length])}function vm(e,t,r){const o=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,s=r?e.indexOf(r):-1;let a=bm(e,Math.max(s,0));o.length===1&&(a=a.filter(f=>f!==r));const l=a.find(f=>f.toLowerCase().startsWith(o.toLowerCase()));return l!==r?l:void 0}function wm(e,t){const{x:r,y:n}=e;let o=!1;for(let s=0,a=t.length-1;s<t.length;a=s++){const c=t[s],l=t[a],f=c.x,u=c.y,p=l.x,g=l.y;u>n!=g>n&&r<(p-f)*(n-u)/(g-u)+f&&(o=!o)}return o}function ym(e,t){if(!t)return!1;const r={x:e.clientX,y:e.clientY};return wm(r,t)}function cr(e){return t=>t.pointerType==="mouse"?e(t):void 0}var xm=Bi,Sm=Do,Cm=Hi,Em=zi,Nm=Bo,Tm=Wi,Am=nn,Pm=Ki,Im=Gi,_m=Xi,km=Ji,Om=Zi,Mm=Qi,Dm=tc,Lm=nc,sn="DropdownMenu",[Fm,sy]=Be(sn,[Fi]),Te=Fi(),[$m,sc]=Fm(sn),ac=e=>{const{__scopeDropdownMenu:t,children:r,dir:n,open:o,defaultOpen:s,onOpenChange:a,modal:c=!0}=e,l=Te(t),f=d.useRef(null),[u,p]=nt({prop:o,defaultProp:s??!1,onChange:a,caller:sn});return i.jsx($m,{scope:t,triggerId:Ue(),triggerRef:f,contentId:Ue(),open:u,onOpenChange:p,onOpenToggle:d.useCallback(()=>p(g=>!g),[p]),modal:c,children:i.jsx(xm,{...l,open:u,onOpenChange:p,dir:n,modal:c,children:r})})};ac.displayName=sn;var ic="DropdownMenuTrigger",cc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,disabled:n=!1,...o}=e,s=sc(ic,r),a=Te(r);return i.jsx(Sm,{asChild:!0,...a,children:i.jsx(Q.button,{type:"button",id:s.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":s.open?"open":"closed","data-disabled":n?"":void 0,disabled:n,...o,ref:qn(t,s.triggerRef),onPointerDown:H(e.onPointerDown,c=>{!n&&c.button===0&&c.ctrlKey===!1&&(s.onOpenToggle(),s.open||c.preventDefault())}),onKeyDown:H(e.onKeyDown,c=>{n||(["Enter"," "].includes(c.key)&&s.onOpenToggle(),c.key==="ArrowDown"&&s.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(c.key)&&c.preventDefault())})})})});cc.displayName=ic;var Bm="DropdownMenuPortal",lc=e=>{const{__scopeDropdownMenu:t,...r}=e,n=Te(t);return i.jsx(Cm,{...n,...r})};lc.displayName=Bm;var dc="DropdownMenuContent",uc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=sc(dc,r),s=Te(r),a=d.useRef(!1);return i.jsx(Em,{id:o.contentId,"aria-labelledby":o.triggerId,...s,...n,ref:t,onCloseAutoFocus:H(e.onCloseAutoFocus,c=>{var l;a.current||(l=o.triggerRef.current)==null||l.focus(),a.current=!1,c.preventDefault()}),onInteractOutside:H(e.onInteractOutside,c=>{const l=c.detail.originalEvent,f=l.button===0&&l.ctrlKey===!0,u=l.button===2||f;(!o.modal||u)&&(a.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});uc.displayName=dc;var Um="DropdownMenuGroup",Hm=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(Nm,{...o,...n,ref:t})});Hm.displayName=Um;var zm="DropdownMenuLabel",fc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(Tm,{...o,...n,ref:t})});fc.displayName=zm;var Wm="DropdownMenuItem",pc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(Am,{...o,...n,ref:t})});pc.displayName=Wm;var jm="DropdownMenuCheckboxItem",hc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(Pm,{...o,...n,ref:t})});hc.displayName=jm;var Vm="DropdownMenuRadioGroup",Km=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(Im,{...o,...n,ref:t})});Km.displayName=Vm;var Rm="DropdownMenuRadioItem",gc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(_m,{...o,...n,ref:t})});gc.displayName=Rm;var Gm="DropdownMenuItemIndicator",mc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(km,{...o,...n,ref:t})});mc.displayName=Gm;var qm="DropdownMenuSeparator",bc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(Om,{...o,...n,ref:t})});bc.displayName=qm;var Xm="DropdownMenuArrow",Ym=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(Mm,{...o,...n,ref:t})});Ym.displayName=Xm;var Jm="DropdownMenuSubTrigger",vc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(Dm,{...o,...n,ref:t})});vc.displayName=Jm;var Zm="DropdownMenuSubContent",wc=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=Te(r);return i.jsx(Lm,{...o,...n,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});wc.displayName=Zm;var Qm=ac,eb=cc,tb=lc,yc=uc,xc=fc,Sc=pc,Cc=hc,Ec=gc,Nc=mc,Tc=bc,Ac=vc,Pc=wc;const rb=Qm,nb=eb,ob=d.forwardRef(({className:e,inset:t,children:r,...n},o)=>i.jsxs(Ac,{ref:o,className:P("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",t&&"pl-8",e),...n,children:[r,i.jsx(q.ChevronRight,{className:"ml-auto h-4 w-4"})]}));ob.displayName=Ac.displayName;const sb=d.forwardRef(({className:e,...t},r)=>i.jsx(Pc,{ref:r,className:P("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...t}));sb.displayName=Pc.displayName;const Ic=d.forwardRef(({className:e,sideOffset:t=4,...r},n)=>i.jsx(tb,{children:i.jsx(yc,{ref:n,sideOffset:t,className:P("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r})}));Ic.displayName=yc.displayName;const zo=d.forwardRef(({className:e,inset:t,...r},n)=>i.jsx(Sc,{ref:n,className:P("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",e),...r}));zo.displayName=Sc.displayName;const ab=d.forwardRef(({className:e,children:t,checked:r,...n},o)=>i.jsxs(Cc,{ref:o,className:P("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:r,...n,children:[i.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:i.jsx(Nc,{children:i.jsx(q.Check,{className:"h-4 w-4"})})}),t]}));ab.displayName=Cc.displayName;const ib=d.forwardRef(({className:e,children:t,...r},n)=>i.jsxs(Ec,{ref:n,className:P("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...r,children:[i.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:i.jsx(Nc,{children:i.jsx(q.Circle,{className:"h-2 w-2 fill-current"})})}),t]}));ib.displayName=Ec.displayName;const cb=d.forwardRef(({className:e,inset:t,...r},n)=>i.jsx(xc,{ref:n,className:P("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...r}));cb.displayName=xc.displayName;const lb=d.forwardRef(({className:e,...t},r)=>i.jsx(Tc,{ref:r,className:P("-mx-1 my-1 h-px bg-muted",e),...t}));lb.displayName=Tc.displayName;function lr({className:e="",placeholder:t="Type your message...",autoFocus:r=!0,maxHeight:n=void 0,streamingDebounceMs:o=40,enableFileUpload:s=!0,enableExcelUpload:a=!1,enableMessageEditing:c=!0,customStyles:l={},onMessageSent:f,onExcelUploadSuccess:u,onError:p}){const{currentThreadId:g,messages:v,isStreaming:m,streamingAssistantId:h,error:b,send:w,stop:x,lastCheckpointId:y,listCheckpoints:C,navigateToCheckpoint:T,returnToLatest:M,hasMoreHistory:N,isLoadingHistory:F,loadOlderMessages:B,api:z}=Ar(),[R,X]=A.useState(""),[V,I]=A.useState(null),[U,_]=A.useState(null),[W,D]=A.useState([]),[E,Z]=A.useState(!1),[G,re]=A.useState(null),[$,K]=A.useState(null),[ie,ge]=A.useState(!1),[j,le]=A.useState(null),[ue,ce]=A.useState([]),[de,ne]=A.useState(null),J=A.useRef(null),oe=A.useRef(null),k=A.useRef(null),L=A.useRef(null),se=A.useRef(null),be=A.useRef(!1),we=A.useRef(!0),me=A.useRef(0),ve=A.useRef(null),[tt,xt]=A.useState("desktop");A.useEffect(()=>{const O=()=>{const Y=window.innerWidth;xt(Y<640?"phone":Y<1024?"tablet":"desktop")};return O(),window.addEventListener("resize",O),()=>window.removeEventListener("resize",O)},[]),A.useEffect(()=>{let O=!1;if(!g){ce([]),ne(null),ve.current=null;return}const Y={threadId:g,checkpointId:y??null},pe=ve.current;if(!(pe&&pe.threadId===Y.threadId&&pe.checkpointId===Y.checkpointId))return C(g).then(fe=>{if(O)return;const Ve=((fe==null?void 0:fe.checkpoints)??[]).slice().sort((dt,In)=>new Date(In.createdAt).getTime()-new Date(dt.createdAt).getTime());ce(Ve),ne(dt=>{var In;return dt??((In=Ve[0])==null?void 0:In.checkpointId)??null}),ve.current=Y}).catch(fe=>{console.error("ChatInterface - listCheckpoints error:",fe),O||(ce([]),ve.current=null)}),()=>{O=!0}},[g,y,C]),A.useEffect(()=>{y&&ne(y)},[y]);const Ht=A.useCallback(async()=>{if(!N||F)return;const O=se.current;if(!O)return;const Y=O.scrollHeight,pe=O.scrollTop;be.current=!0;try{await B()}catch(fe){console.warn("loadOlderMessages failed",fe)}finally{requestAnimationFrame(()=>{const fe=se.current;if(!fe){be.current=!1;return}const Ve=fe.scrollHeight;fe.scrollTop=pe+(Ve-Y);const dt=Ve-fe.scrollTop-fe.clientHeight;we.current=dt<=32,be.current=!1})}},[N,F,B]);A.useEffect(()=>{const O=se.current;if(!O)return;const Y=()=>{O.scrollTop<=80&&Ht();const Ve=O.scrollHeight-O.scrollTop-O.clientHeight;we.current=Ve<=80};return O.addEventListener("scroll",Y),()=>O.removeEventListener("scroll",Y)},[Ht]),A.useEffect(()=>{v.length<me.current&&(we.current=!0),me.current=v.length},[v.length]),A.useEffect(()=>{const O=se.current;O&&(be.current||we.current&&(O.scrollTop=O.scrollHeight,we.current=!0))},[v]),A.useEffect(()=>{var O;r&&((O=oe.current)==null||O.focus())},[r]),A.useEffect(()=>{(async()=>{try{const Y=await z.getAgent("default");le(Y.uiDefaultMessage||null)}catch(Y){console.warn("Failed to fetch default message:",Y),le(null)}})()},[z]),A.useEffect(()=>{b&&!ie&&(p==null||p(b))},[b,ie,p]);const An=O=>{if(O.length>At)return`Message too long (${O.length}/${At} characters)`;try{return hp(O),null}catch(Y){return(Y==null?void 0:Y.message)||"Invalid message"}},ds=O=>{const Y=O.content||[],pe=Y.filter(fe=>fe.type==="text").map(fe=>fe.text).join("");if(pe)return pe;try{return JSON.stringify(Y,null,2)}catch{return String(Y)}},Pn=async()=>{const O=R.trim();if(!(!O&&W.length===0)){if(O){const Y=An(O);if(Y){_(Y);return}}try{await w(O,{checkpointId:de||y||void 0,payloadExtras:V?{edit:!0,originalMessageId:V}:void 0,attachments:W}),f==null||f(O),X(""),_(null),D([]),I(null),oe.current&&(oe.current.style.height="auto")}catch(Y){const pe=(Y==null?void 0:Y.message)||"Failed to send message";_(pe),p==null||p(pe)}}},us=(O,Y)=>{c&&(I(O),X(Y),_(null),setTimeout(()=>{oe.current&&(oe.current.focus(),oe.current.style.height="auto",oe.current.style.height=oe.current.scrollHeight+"px")},0))},zt=()=>{I(null),X(""),_(null),oe.current&&(oe.current.style.height="auto")},xe=O=>{O.key==="Enter"&&!O.shiftKey?(O.preventDefault(),Pn()):O.key==="Escape"&&V&&(O.preventDefault(),zt())},fs=O=>{const Y=Array.from(O.target.files||[]);D(pe=>[...pe,...Y])},Pw=O=>D(Y=>Y.filter((pe,fe)=>O!==fe)),Iw=async O=>{const Y=(O.target.files||[])[0];if(Y){re(null),K(null),Z(!0);try{const pe=await z.uploadExcel(Y),fe=pe.sheets.map(dt=>`${dt.sheetName} -> ${dt.tableName}`).join(", "),Ve=fe?`Uploaded ${Y.name} (${pe.sheets.length} sheet${pe.sheets.length===1?"":"s"}: ${fe})`:`Uploaded ${Y.name}`;K(Ve),u==null||u({file:Y,response:pe})}catch(pe){const fe=pe instanceof Error?pe.message:"Failed to upload Excel file";console.error("Excel upload failed",pe),re(fe),p==null||p(fe)}finally{Z(!1),O.target.value=""}}},_w=O=>{if(!O)return"Unknown";const Y=Date.parse(O);return Number.isNaN(Y)?O:new Date(Y).toLocaleString()},kw=async O=>{if(g){if(!O){await M(),ne(null);return}await T(O),ne(O)}},Ow=`flex flex-1 w-full flex-col min-h-0 min-w-0 max-h-full overflow-hidden bg-transparent ${e} ${l.container||""}`,Mw=`flex-1 min-h-0 min-w-0 max-h-full w-full overflow-y-auto overflow-x-auto overscroll-contain break-words break-anywhere p-4 space-y-4 bg-transparent ${l.messagesArea||""}`,Dw=`flex-shrink-0 w-full border-t p-4 bg-transparent ${l.inputArea||""}`;return i.jsxs("div",{className:Ow,children:[!!b&&!ie&&i.jsxs("div",{className:"flex-shrink-0 bg-red-50 border border-red-200 text-red-800 px-4 py-2 text-sm flex items-center justify-between",children:[i.jsx("span",{children:b}),i.jsx(he,{variant:"ghost",size:"sm",onClick:()=>ge(!0),className:"text-red-800 hover:bg-red-100","aria-label":"Dismiss error",children:i.jsx(q.X,{size:16})})]}),g&&ue.length>0&&i.jsxs("div",{className:"flex-shrink-0 flex items-center gap-2 px-4 py-2 border-b border-border bg-muted/60 text-xs dark:bg-muted/50",children:[i.jsx("span",{className:"opacity-70",children:"Checkpoint:"}),i.jsxs("select",{className:"border border-border rounded px-2 py-1 text-xs bg-card text-foreground focus:outline-none focus:ring-1 focus:ring-ring dark:bg-secondary",value:de??"",onChange:O=>{const Y=O.target.value||null;kw(Y)},children:[i.jsx("option",{value:"",children:"Latest"}),ue.map(O=>i.jsxs("option",{value:O.checkpointId,children:[_w(O.createdAt),O.preview?` — ${O.preview.slice(0,40)}`:""]},O.checkpointId))]})]}),i.jsxs("div",{ref:se,className:Mw,style:n?{maxHeight:n}:void 0,children:[v.length===0?i.jsx("div",{className:"flex items-center justify-center py-8 text-muted-foreground text-center max-w-md mx-auto",children:j||"No messages yet. Start a conversation!"}):i.jsxs(i.Fragment,{children:[(F||!N)&&i.jsx("div",{className:"flex justify-center py-2 text-xs text-muted-foreground",children:F?i.jsx(q.Loader2,{className:"h-4 w-4 animate-spin"}):"You've reached the beginning"}),v.map((O,Y)=>i.jsx(Ca,{message:O,messageIndex:Y,isStreamingMessage:m&&h===O.id,streamingDebounceMs:o,isEditing:V===O.id,showActions:c,showTimestamp:!1,showAgentName:!0,layoutSize:tt,truncateToolMessages:!1,toolMessagePreviewLength:200,onEdit:(pe,fe)=>us(pe,fe),onRegenerate:()=>{const pe=[...v].reverse().find(Ve=>Ve.role==="user"),fe=pe?ds(pe):"";fe&&w(fe,{checkpointId:de||y||void 0})},onCancelEdit:zt},O.id??`msg-${O.role}-${Y}-${O.createdAt??""}`))]}),i.jsx("div",{ref:J})]}),i.jsxs("div",{className:Dw,children:[V&&i.jsx("div",{className:"mb-3 p-3 bg-blue-50 border border-blue-200 rounded-lg",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(q.Edit3,{size:16,className:"text-blue-600"}),i.jsx("span",{className:"text-sm font-medium text-blue-800",children:"Editing message"})]}),i.jsx(he,{variant:"ghost",size:"sm",onClick:zt,className:"text-blue-600 hover:bg-blue-100",children:i.jsx(q.X,{size:16})})]})}),(s||a)&&i.jsxs("div",{className:"mb-3 space-y-3",children:[s&&i.jsxs(i.Fragment,{children:[i.jsx("input",{ref:k,type:"file",multiple:!0,onChange:O=>fs(O),className:"hidden"}),W.length>0&&i.jsx("div",{className:"flex flex-wrap gap-2",children:W.map((O,Y)=>i.jsxs("div",{className:"flex items-center gap-2 bg-gray-100 dark:bg-gray-800 rounded-lg px-3 py-2 text-sm text-gray-900 dark:text-gray-100",children:[i.jsx(q.Paperclip,{size:14}),i.jsx("span",{className:"truncate max-w-[150px]",children:O.name}),i.jsx(he,{variant:"ghost",size:"sm",onClick:()=>Pw(Y),className:"h-4 w-4 p-0 text-gray-500 dark:text-gray-400 hover:text-red-500 dark:hover:text-red-400","aria-label":`Remove ${O.name}`,children:i.jsx(q.X,{size:12})})]},Y))})]}),a&&i.jsxs(i.Fragment,{children:[i.jsx("input",{ref:L,type:"file",accept:".xls,.xlsx,.xlsm",onChange:Iw,className:"hidden"}),E&&i.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[i.jsx(q.Loader2,{className:"h-4 w-4 animate-spin"})," Uploading Excel file..."]}),$&&!E&&i.jsx("div",{className:"text-sm rounded border border-emerald-200 bg-emerald-50 px-3 py-2 text-emerald-700",children:$}),G&&!E&&i.jsx("div",{className:"text-sm rounded border border-red-200 bg-red-50 px-3 py-2 text-red-600",children:G})]})]}),U&&i.jsx("div",{className:"mb-3 text-sm text-red-600 bg-red-50 border border-red-200 rounded px-3 py-2",children:U}),i.jsxs("div",{className:"flex items-end gap-2",children:[(s||a)&&i.jsxs(rb,{children:[i.jsx(nb,{asChild:!0,children:i.jsx(he,{type:"button",size:"icon",variant:"outline",disabled:m,title:"More input actions",className:l.moreButton||"",children:i.jsx(q.Plus,{size:16})})}),i.jsxs(Ic,{align:"start",sideOffset:6,className:"w-52",children:[s&&i.jsxs(zo,{onClick:()=>{var O;return(O=k.current)==null?void 0:O.click()},className:"cursor-pointer",children:[i.jsx(q.Paperclip,{className:"h-4 w-4 mr-2"})," Attach files or images"]}),a&&i.jsxs(zo,{onClick:()=>{var O;E||(O=L.current)==null||O.click()},className:`cursor-pointer ${E?"opacity-60 pointer-events-none":""}`,children:[i.jsx(q.FileSpreadsheet,{className:"h-4 w-4 mr-2"})," Upload Excel file"]})]})]}),i.jsx("div",{className:"flex-1",children:i.jsx(da,{ref:oe,value:R,onChange:O=>{X(O.target.value),_(null),oe.current&&(oe.current.style.height="auto",oe.current.style.height=`${oe.current.scrollHeight}px`)},onKeyDown:xe,placeholder:V?"Edit your message...":t,className:`resize-none min-h-[44px] max-h-[20rem] w-full transition-colors ${V?"border-blue-400 bg-blue-50 text-blue-900 dark:border-blue-500 dark:bg-blue-950/60 dark:text-blue-50":""} ${U?"border-red-400":""} ${l.textarea||""}`,disabled:!1,maxLength:At,rows:1})}),i.jsx("div",{children:m?i.jsx(he,{type:"button",onClick:x,size:"icon",variant:"outline",className:"shrink-0",title:"Stop generating",children:i.jsx(q.Square,{size:16})}):i.jsx(he,{type:"button",onClick:Pn,size:"icon",disabled:!R.trim()&&W.length===0,className:`shrink-0 ${W.length>0?"bg-blue-500 hover:bg-blue-600 text-white":""} ${l.sendButton||""}`,title:V?"Save changes":"Send message",children:i.jsx(q.Send,{size:16})})})]}),R.length>At*.8&&i.jsxs("div",{className:"mt-2 text-xs text-gray-500 text-right",children:[R.length,"/",At]})]})]})}const dr=d.forwardRef(({className:e,type:t,...r},n)=>i.jsx("input",{type:t,className:P("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:n,...r}));dr.displayName="Input";function Wo(e,[t,r]){return Math.min(r,Math.max(t,e))}function db(e,t){return d.useReducer((r,n)=>t[r][n]??r,e)}var jo="ScrollArea",[_c,ay]=Be(jo),[ub,Le]=_c(jo),kc=d.forwardRef((e,t)=>{const{__scopeScrollArea:r,type:n="hover",dir:o,scrollHideDelay:s=600,...a}=e,[c,l]=d.useState(null),[f,u]=d.useState(null),[p,g]=d.useState(null),[v,m]=d.useState(null),[h,b]=d.useState(null),[w,x]=d.useState(0),[y,C]=d.useState(0),[T,M]=d.useState(!1),[N,F]=d.useState(!1),B=ae(t,R=>l(R)),z=Dr(o);return i.jsx(ub,{scope:r,type:n,dir:z,scrollHideDelay:s,scrollArea:c,viewport:f,onViewportChange:u,content:p,onContentChange:g,scrollbarX:v,onScrollbarXChange:m,scrollbarXEnabled:T,onScrollbarXEnabledChange:M,scrollbarY:h,onScrollbarYChange:b,scrollbarYEnabled:N,onScrollbarYEnabledChange:F,onCornerWidthChange:x,onCornerHeightChange:C,children:i.jsx(Q.div,{dir:z,...a,ref:B,style:{position:"relative","--radix-scroll-area-corner-width":w+"px","--radix-scroll-area-corner-height":y+"px",...e.style}})})});kc.displayName=jo;var Oc="ScrollAreaViewport",Mc=d.forwardRef((e,t)=>{const{__scopeScrollArea:r,children:n,nonce:o,...s}=e,a=Le(Oc,r),c=d.useRef(null),l=ae(t,c,a.onViewportChange);return i.jsxs(i.Fragment,{children:[i.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),i.jsx(Q.div,{"data-radix-scroll-area-viewport":"",...s,ref:l,style:{overflowX:a.scrollbarXEnabled?"scroll":"hidden",overflowY:a.scrollbarYEnabled?"scroll":"hidden",...e.style},children:i.jsx("div",{ref:a.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});Mc.displayName=Oc;var Ze="ScrollAreaScrollbar",Vo=d.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=Le(Ze,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:a}=o,c=e.orientation==="horizontal";return d.useEffect(()=>(c?s(!0):a(!0),()=>{c?s(!1):a(!1)}),[c,s,a]),o.type==="hover"?i.jsx(fb,{...n,ref:t,forceMount:r}):o.type==="scroll"?i.jsx(pb,{...n,ref:t,forceMount:r}):o.type==="auto"?i.jsx(Dc,{...n,ref:t,forceMount:r}):o.type==="always"?i.jsx(Ko,{...n,ref:t}):null});Vo.displayName=Ze;var fb=d.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=Le(Ze,e.__scopeScrollArea),[s,a]=d.useState(!1);return d.useEffect(()=>{const c=o.scrollArea;let l=0;if(c){const f=()=>{window.clearTimeout(l),a(!0)},u=()=>{l=window.setTimeout(()=>a(!1),o.scrollHideDelay)};return c.addEventListener("pointerenter",f),c.addEventListener("pointerleave",u),()=>{window.clearTimeout(l),c.removeEventListener("pointerenter",f),c.removeEventListener("pointerleave",u)}}},[o.scrollArea,o.scrollHideDelay]),i.jsx(Ie,{present:r||s,children:i.jsx(Dc,{"data-state":s?"visible":"hidden",...n,ref:t})})}),pb=d.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=Le(Ze,e.__scopeScrollArea),s=e.orientation==="horizontal",a=dn(()=>l("SCROLL_END"),100),[c,l]=db("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return d.useEffect(()=>{if(c==="idle"){const f=window.setTimeout(()=>l("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(f)}},[c,o.scrollHideDelay,l]),d.useEffect(()=>{const f=o.viewport,u=s?"scrollLeft":"scrollTop";if(f){let p=f[u];const g=()=>{const v=f[u];p!==v&&(l("SCROLL"),a()),p=v};return f.addEventListener("scroll",g),()=>f.removeEventListener("scroll",g)}},[o.viewport,s,l,a]),i.jsx(Ie,{present:r||c!=="hidden",children:i.jsx(Ko,{"data-state":c==="hidden"?"hidden":"visible",...n,ref:t,onPointerEnter:H(e.onPointerEnter,()=>l("POINTER_ENTER")),onPointerLeave:H(e.onPointerLeave,()=>l("POINTER_LEAVE"))})})}),Dc=d.forwardRef((e,t)=>{const r=Le(Ze,e.__scopeScrollArea),{forceMount:n,...o}=e,[s,a]=d.useState(!1),c=e.orientation==="horizontal",l=dn(()=>{if(r.viewport){const f=r.viewport.offsetWidth<r.viewport.scrollWidth,u=r.viewport.offsetHeight<r.viewport.scrollHeight;a(c?f:u)}},10);return $t(r.viewport,l),$t(r.content,l),i.jsx(Ie,{present:n||s,children:i.jsx(Ko,{"data-state":s?"visible":"hidden",...o,ref:t})})}),Ko=d.forwardRef((e,t)=>{const{orientation:r="vertical",...n}=e,o=Le(Ze,e.__scopeScrollArea),s=d.useRef(null),a=d.useRef(0),[c,l]=d.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),f=Uc(c.viewport,c.content),u={...n,sizes:c,onSizesChange:l,hasThumb:f>0&&f<1,onThumbChange:g=>s.current=g,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:g=>a.current=g};function p(g,v){return wb(g,a.current,c,v)}return r==="horizontal"?i.jsx(hb,{...u,ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const g=o.viewport.scrollLeft,v=Hc(g,c,o.dir);s.current.style.transform=`translate3d(${v}px, 0, 0)`}},onWheelScroll:g=>{o.viewport&&(o.viewport.scrollLeft=g)},onDragScroll:g=>{o.viewport&&(o.viewport.scrollLeft=p(g,o.dir))}}):r==="vertical"?i.jsx(gb,{...u,ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const g=o.viewport.scrollTop,v=Hc(g,c);s.current.style.transform=`translate3d(0, ${v}px, 0)`}},onWheelScroll:g=>{o.viewport&&(o.viewport.scrollTop=g)},onDragScroll:g=>{o.viewport&&(o.viewport.scrollTop=p(g))}}):null}),hb=d.forwardRef((e,t)=>{const{sizes:r,onSizesChange:n,...o}=e,s=Le(Ze,e.__scopeScrollArea),[a,c]=d.useState(),l=d.useRef(null),f=ae(t,l,s.onScrollbarXChange);return d.useEffect(()=>{l.current&&c(getComputedStyle(l.current))},[l]),i.jsx(Fc,{"data-orientation":"horizontal",...o,ref:f,sizes:r,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ln(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.x),onDragScroll:u=>e.onDragScroll(u.x),onWheelScroll:(u,p)=>{if(s.viewport){const g=s.viewport.scrollLeft+u.deltaX;e.onWheelScroll(g),Wc(g,p)&&u.preventDefault()}},onResize:()=>{l.current&&s.viewport&&a&&n({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:l.current.clientWidth,paddingStart:cn(a.paddingLeft),paddingEnd:cn(a.paddingRight)}})}})}),gb=d.forwardRef((e,t)=>{const{sizes:r,onSizesChange:n,...o}=e,s=Le(Ze,e.__scopeScrollArea),[a,c]=d.useState(),l=d.useRef(null),f=ae(t,l,s.onScrollbarYChange);return d.useEffect(()=>{l.current&&c(getComputedStyle(l.current))},[l]),i.jsx(Fc,{"data-orientation":"vertical",...o,ref:f,sizes:r,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ln(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.y),onDragScroll:u=>e.onDragScroll(u.y),onWheelScroll:(u,p)=>{if(s.viewport){const g=s.viewport.scrollTop+u.deltaY;e.onWheelScroll(g),Wc(g,p)&&u.preventDefault()}},onResize:()=>{l.current&&s.viewport&&a&&n({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:l.current.clientHeight,paddingStart:cn(a.paddingTop),paddingEnd:cn(a.paddingBottom)}})}})}),[mb,Lc]=_c(Ze),Fc=d.forwardRef((e,t)=>{const{__scopeScrollArea:r,sizes:n,hasThumb:o,onThumbChange:s,onThumbPointerUp:a,onThumbPointerDown:c,onThumbPositionChange:l,onDragScroll:f,onWheelScroll:u,onResize:p,...g}=e,v=Le(Ze,r),[m,h]=d.useState(null),b=ae(t,B=>h(B)),w=d.useRef(null),x=d.useRef(""),y=v.viewport,C=n.content-n.viewport,T=Ce(u),M=Ce(l),N=dn(p,10);function F(B){if(w.current){const z=B.clientX-w.current.left,R=B.clientY-w.current.top;f({x:z,y:R})}}return d.useEffect(()=>{const B=z=>{const R=z.target;(m==null?void 0:m.contains(R))&&T(z,C)};return document.addEventListener("wheel",B,{passive:!1}),()=>document.removeEventListener("wheel",B,{passive:!1})},[y,m,C,T]),d.useEffect(M,[n,M]),$t(m,N),$t(v.content,N),i.jsx(mb,{scope:r,scrollbar:m,hasThumb:o,onThumbChange:Ce(s),onThumbPointerUp:Ce(a),onThumbPositionChange:M,onThumbPointerDown:Ce(c),children:i.jsx(Q.div,{...g,ref:b,style:{position:"absolute",...g.style},onPointerDown:H(e.onPointerDown,B=>{B.button===0&&(B.target.setPointerCapture(B.pointerId),w.current=m.getBoundingClientRect(),x.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",v.viewport&&(v.viewport.style.scrollBehavior="auto"),F(B))}),onPointerMove:H(e.onPointerMove,F),onPointerUp:H(e.onPointerUp,B=>{const z=B.target;z.hasPointerCapture(B.pointerId)&&z.releasePointerCapture(B.pointerId),document.body.style.webkitUserSelect=x.current,v.viewport&&(v.viewport.style.scrollBehavior=""),w.current=null})})})}),an="ScrollAreaThumb",$c=d.forwardRef((e,t)=>{const{forceMount:r,...n}=e,o=Lc(an,e.__scopeScrollArea);return i.jsx(Ie,{present:r||o.hasThumb,children:i.jsx(bb,{ref:t,...n})})}),bb=d.forwardRef((e,t)=>{const{__scopeScrollArea:r,style:n,...o}=e,s=Le(an,r),a=Lc(an,r),{onThumbPositionChange:c}=a,l=ae(t,p=>a.onThumbChange(p)),f=d.useRef(void 0),u=dn(()=>{f.current&&(f.current(),f.current=void 0)},100);return d.useEffect(()=>{const p=s.viewport;if(p){const g=()=>{if(u(),!f.current){const v=yb(p,c);f.current=v,c()}};return c(),p.addEventListener("scroll",g),()=>p.removeEventListener("scroll",g)}},[s.viewport,u,c]),i.jsx(Q.div,{"data-state":a.hasThumb?"visible":"hidden",...o,ref:l,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:H(e.onPointerDownCapture,p=>{const v=p.target.getBoundingClientRect(),m=p.clientX-v.left,h=p.clientY-v.top;a.onThumbPointerDown({x:m,y:h})}),onPointerUp:H(e.onPointerUp,a.onThumbPointerUp)})});$c.displayName=an;var Ro="ScrollAreaCorner",Bc=d.forwardRef((e,t)=>{const r=Le(Ro,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&n?i.jsx(vb,{...e,ref:t}):null});Bc.displayName=Ro;var vb=d.forwardRef((e,t)=>{const{__scopeScrollArea:r,...n}=e,o=Le(Ro,r),[s,a]=d.useState(0),[c,l]=d.useState(0),f=!!(s&&c);return $t(o.scrollbarX,()=>{var p;const u=((p=o.scrollbarX)==null?void 0:p.offsetHeight)||0;o.onCornerHeightChange(u),l(u)}),$t(o.scrollbarY,()=>{var p;const u=((p=o.scrollbarY)==null?void 0:p.offsetWidth)||0;o.onCornerWidthChange(u),a(u)}),f?i.jsx(Q.div,{...n,ref:t,style:{width:s,height:c,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function cn(e){return e?parseInt(e,10):0}function Uc(e,t){const r=e/t;return isNaN(r)?0:r}function ln(e){const t=Uc(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,n=(e.scrollbar.size-r)*t;return Math.max(n,18)}function wb(e,t,r,n="ltr"){const o=ln(r),s=o/2,a=t||s,c=o-a,l=r.scrollbar.paddingStart+a,f=r.scrollbar.size-r.scrollbar.paddingEnd-c,u=r.content-r.viewport,p=n==="ltr"?[0,u]:[u*-1,0];return zc([l,f],p)(e)}function Hc(e,t,r="ltr"){const n=ln(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-o,a=t.content-t.viewport,c=s-n,l=r==="ltr"?[0,a]:[a*-1,0],f=Wo(e,l);return zc([0,a],[0,c])(f)}function zc(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}function Wc(e,t){return e>0&&e<t}var yb=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return function o(){const s={left:e.scrollLeft,top:e.scrollTop},a=r.left!==s.left,c=r.top!==s.top;(a||c)&&t(),r=s,n=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(n)};function dn(e,t){const r=Ce(e),n=d.useRef(0);return d.useEffect(()=>()=>window.clearTimeout(n.current),[]),d.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,t)},[r,t])}function $t(e,t){const r=Ce(t);Se(()=>{let n=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(n),n=window.requestAnimationFrame(r)});return o.observe(e),()=>{window.cancelAnimationFrame(n),o.unobserve(e)}}},[e,r])}var jc=kc,xb=Mc,Sb=Bc;const Vc=d.forwardRef(({className:e,children:t,...r},n)=>i.jsxs(jc,{ref:n,className:P("relative overflow-hidden",e),...r,children:[i.jsx(xb,{className:"h-full w-full rounded-[inherit] overflow-auto",children:t}),i.jsx(Kc,{}),i.jsx(Sb,{})]}));Vc.displayName=jc.displayName;const Kc=d.forwardRef(({className:e,orientation:t="vertical",...r},n)=>i.jsx(Vo,{ref:n,orientation:t,className:P("flex touch-none select-none transition-colors",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...r,children:i.jsx($c,{className:"relative flex-1 rounded-full bg-border"})}));Kc.displayName=Vo.displayName;function un({className:e="",showCreateButton:t=!0,showDeleteButton:r=!0,showEditTitle:n=!0,maxHeight:o="400px",customStyles:s={},currentThreadId:a=null,navigateToThread:c,onThreadSelect:l,onThreadCreate:f,onThreadDelete:u}){const{loadThread:p,threads:g,refreshThreads:v,currentThreadId:m,createThread:h,deleteThread:b,renameThread:w}=Ar(),[x,y]=A.useState(g??[]),[C,T]=A.useState(!1),[M,N]=A.useState(null),[F,B]=A.useState(null),[z,R]=A.useState(""),[X,V]=A.useState(!1);A.useEffect(()=>{y(g??[])},[g]);const I=async $=>{try{await p($),c==null||c($),l==null||l($)}catch(K){console.error("Failed to select thread:",K)}},U=async()=>{try{V(!0);const $=await h();f==null||f($),c==null||c($)}catch($){console.error("Failed to create thread:",$)}finally{V(!1)}},_=async($,K)=>{if(K.stopPropagation(),!!confirm("Delete this thread?"))try{await b($),u==null||u($)}catch(ie){console.error("Failed to delete thread:",ie)}},W=($,K)=>{K.stopPropagation(),B($.threadId),R($.title||`Thread ${$.threadId.slice(0,8)}`)},D=async $=>{if(z.trim())try{await w($,z.trim()),B(null),R("")}catch(K){console.error("Failed to update title:",K)}},E=()=>{B(null),R("")},Z=($,K)=>{$.key==="Enter"?D(K):$.key==="Escape"&&E()},G=$=>{if(!$)return"";try{const K=new Date($),ge=new Date().getTime()-K.getTime(),j=Math.floor(ge/(1e3*60*60*24));return j===0?K.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):j===1?"Yesterday":j<7?`${j} days ago`:K.toLocaleDateString()}catch{return""}},re=$=>$.title||`Thread ${$.threadId.slice(0,8)}`;return i.jsxs("div",{className:`flex flex-col h-full ${e} ${s.container||""}`,children:[t&&i.jsx("div",{className:s.header||"flex-shrink-0 p-2 border-b bg-slate-800 border-slate-700 text-slate-100 flex justify-end",children:i.jsx(he,{onClick:U,disabled:X||C,className:s.createButton||"p-2",size:"sm",variant:"ghost",title:X?"Creating...":"New Chat",children:i.jsx(q.MessageSquarePlus,{size:20})})}),i.jsx(Vc,{className:`flex-1 min-h-0 ${s.threadList||""}`,style:o?{maxHeight:o}:void 0,children:i.jsx("div",{className:"p-2 space-y-1 pb-4",children:C?i.jsx("div",{className:"text-center py-8 text-slate-400",children:"Loading…"}):x.length===0?i.jsxs("div",{className:"text-center py-8 text-slate-400",children:[i.jsx(q.MessageSquare,{className:"w-8 h-8 mx-auto mb-2 opacity-40 text-slate-500"}),i.jsx("p",{className:"text-sm text-slate-500",children:"No conversations yet"})]}):x.slice().sort(($,K)=>new Date(K.updatedAt||K.createdAt||"").getTime()-new Date($.updatedAt||$.createdAt||"").getTime()).map($=>i.jsxs("div",{onClick:()=>I($.threadId),className:`group relative p-3 rounded-lg cursor-pointer transition-colors border ${(a??m)===$.threadId?`${s.activeThread||"bg-slate-600 border-slate-500"} `:`${s.threadItem||"bg-slate-700 border-slate-600 hover:bg-slate-600 text-gray-900 dark:text-slate-100"}`} ${s.threadItem||""} text-gray-900 dark:text-slate-100`,children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx("div",{className:"flex-1 min-w-0",children:F===$.threadId?i.jsxs("div",{className:"flex items-center gap-2",onClick:K=>K.stopPropagation(),children:[i.jsx(dr,{value:z,onChange:K=>R(K.target.value),onKeyDown:K=>Z(K,$.threadId),className:"h-6 text-sm",autoFocus:!0}),i.jsx(he,{variant:"ghost",size:"sm",onClick:()=>D($.threadId),className:"h-6 w-6 p-0",children:i.jsx(q.Check,{size:12})}),i.jsx(he,{variant:"ghost",size:"sm",onClick:E,className:"h-6 w-6 p-0",children:i.jsx(q.X,{size:12})})]}):i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"font-medium text-sm truncate text-gray-900 dark:text-slate-100",children:re($)}),i.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500 dark:text-slate-400 mt-1",children:[i.jsx(q.Calendar,{size:10}),i.jsx("span",{children:G($.updatedAt||$.createdAt)})]})]})}),i.jsxs("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity ml-2",children:[n&&F!==$.threadId&&i.jsx(he,{variant:"ghost",size:"sm",onClick:K=>W($,K),className:"h-6 w-6 p-0",title:"Edit title",children:i.jsx(q.Edit3,{size:12})}),r&&i.jsx(he,{variant:"ghost",size:"sm",onClick:K=>_($.threadId,K),className:"h-6 w-6 p-0 text-red-400 hover:text-red-300 hover:bg-red-900/20",title:"Delete thread",children:i.jsx(q.Trash2,{size:12})})]})]}),a===$.threadId&&i.jsx("div",{className:"absolute left-0 top-1/2 -translate-y-1/2 w-1 h-8 bg-blue-400 rounded-r"})]},$.threadId))})})]})}const Rc=A.createContext(null);function Cb({children:e,basePath:t="/chat"}){const r=A.useMemo(()=>t?t==="/"?"":t.endsWith("/")?t.slice(0,-1):t:"/chat",[t]),n={basePath:r,buildThreadPath:o=>`${r}/${o}`,buildBasePath:()=>r};return i.jsx(Rc.Provider,{value:n,children:e})}function Eb(){const e=A.useContext(Rc);return e||{basePath:"/chat",buildThreadPath:t=>`/chat/${t}`,buildBasePath:()=>"/chat"}}const Gc={BASE_URL:"/",DEV:!1,MODE:"library",PROD:!0,SSR:!1};function ur(e){var o;const t=typeof{url:typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:_n&&_n.tagName.toUpperCase()==="SCRIPT"&&_n.src||new URL("index.umd.js",document.baseURI).href}<"u"&&Gc?Gc[e]:void 0,r=(o=globalThis==null?void 0:globalThis.process)==null?void 0:o.env,n=r?r[e]:void 0;return(t??n)||void 0}function Nb(){return ur("VITE_API_BASE_URL")||ur("NEXT_PUBLIC_API_BASE_URL")||void 0}function Tb(){return ur("VITE_API_KEY")||ur("NEXT_PUBLIC_API_KEY")||ur("VITE_AUTH_TOKEN")||void 0}function qc(){const e=Nb(),t=Tb(),r={};return e&&(r.baseUrl=e),t&&(r.apiKey=t),r}function Xc(){const e=qc(),t=Re.getAuthToken();return{apiBaseUrl:e.baseUrl||Re.baseUrl||"http://localhost:8000",apiKey:t||e.apiKey||"",model:"gpt-4",temperature:.7,maxTokens:4096,layoutSize:"desktop",showThreads:!0,autoScrollMessages:!0,truncateToolMessages:!0,toolMessagePreviewLength:200,darkMode:!1,enableSound:!1,messageHistory:100}}const Yc="chat-settings";function Ab(){try{const e=localStorage.getItem(Yc);return e?JSON.parse(e):{}}catch(e){return console.error("Failed to parse stored settings:",e),{}}}function Pb(e){try{localStorage.setItem(Yc,JSON.stringify(e)),e.apiKey&&Re.setAuthToken(e.apiKey)}catch(t){console.error("Failed to save settings:",t)}}function Ib(){const e=Xc(),t=Ab(),r=Re.getAuthToken();return{...e,...t,apiKey:r||t.apiKey||e.apiKey,apiBaseUrl:Re.baseUrl||t.apiBaseUrl||e.apiBaseUrl}}function _b(e){e.apiKey&&Re.setAuthToken(e.apiKey),Pb(e)}const Go=768;function kb(){const[e,t]=d.useState(void 0);return d.useEffect(()=>{const r=window.matchMedia(`(max-width: ${Go-1}px)`),n=()=>{t(window.innerWidth<Go)};return r.addEventListener("change",n),t(window.innerWidth<Go),()=>r.removeEventListener("change",n)},[]),!!e}var Ob="Separator",Jc="horizontal",Mb=["horizontal","vertical"],Zc=d.forwardRef((e,t)=>{const{decorative:r,orientation:n=Jc,...o}=e,s=Db(n)?n:Jc,c=r?{role:"none"}:{"aria-orientation":s==="vertical"?s:void 0,role:"separator"};return i.jsx(Q.div,{"data-orientation":s,...c,...o,ref:t})});Zc.displayName=Ob;function Db(e){return Mb.includes(e)}var Qc=Zc;const qo=d.forwardRef(({className:e,orientation:t="horizontal",decorative:r=!0,...n},o)=>i.jsx(Qc,{ref:o,decorative:r,orientation:t,className:P("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...n}));qo.displayName=Qc.displayName;var fn="Dialog",[el,iy]=Be(fn),[Lb,We]=el(fn),tl=e=>{const{__scopeDialog:t,children:r,open:n,defaultOpen:o,onOpenChange:s,modal:a=!0}=e,c=d.useRef(null),l=d.useRef(null),[f,u]=nt({prop:n,defaultProp:o??!1,onChange:s,caller:fn});return i.jsx(Lb,{scope:t,triggerRef:c,contentRef:l,contentId:Ue(),titleId:Ue(),descriptionId:Ue(),open:f,onOpenChange:u,onOpenToggle:d.useCallback(()=>u(p=>!p),[u]),modal:a,children:r})};tl.displayName=fn;var rl="DialogTrigger",nl=d.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=We(rl,r),s=ae(t,o.triggerRef);return i.jsx(Q.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":Jo(o.open),...n,ref:s,onClick:H(e.onClick,o.onOpenToggle)})});nl.displayName=rl;var Xo="DialogPortal",[Fb,ol]=el(Xo,{forceMount:void 0}),sl=e=>{const{__scopeDialog:t,forceMount:r,children:n,container:o}=e,s=We(Xo,t);return i.jsx(Fb,{scope:t,forceMount:r,children:d.Children.map(n,a=>i.jsx(Ie,{present:r||s.open,children:i.jsx(Rr,{asChild:!0,container:o,children:a})}))})};sl.displayName=Xo;var pn="DialogOverlay",al=d.forwardRef((e,t)=>{const r=ol(pn,e.__scopeDialog),{forceMount:n=r.forceMount,...o}=e,s=We(pn,e.__scopeDialog);return s.modal?i.jsx(Ie,{present:n||s.open,children:i.jsx(Bb,{...o,ref:t})}):null});al.displayName=pn;var $b=_e.createSlot("DialogOverlay.RemoveScroll"),Bb=d.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=We(pn,r);return i.jsx(en,{as:$b,allowPinchZoom:!0,shards:[o.contentRef],children:i.jsx(Q.div,{"data-state":Jo(o.open),...n,ref:t,style:{pointerEvents:"auto",...n.style}})})}),bt="DialogContent",il=d.forwardRef((e,t)=>{const r=ol(bt,e.__scopeDialog),{forceMount:n=r.forceMount,...o}=e,s=We(bt,e.__scopeDialog);return i.jsx(Ie,{present:n||s.open,children:s.modal?i.jsx(Ub,{...o,ref:t}):i.jsx(Hb,{...o,ref:t})})});il.displayName=bt;var Ub=d.forwardRef((e,t)=>{const r=We(bt,e.__scopeDialog),n=d.useRef(null),o=ae(t,r.contentRef,n);return d.useEffect(()=>{const s=n.current;if(s)return Po(s)},[]),i.jsx(cl,{...e,ref:o,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:H(e.onCloseAutoFocus,s=>{var a;s.preventDefault(),(a=r.triggerRef.current)==null||a.focus()}),onPointerDownOutside:H(e.onPointerDownOutside,s=>{const a=s.detail.originalEvent,c=a.button===0&&a.ctrlKey===!0;(a.button===2||c)&&s.preventDefault()}),onFocusOutside:H(e.onFocusOutside,s=>s.preventDefault())})}),Hb=d.forwardRef((e,t)=>{const r=We(bt,e.__scopeDialog),n=d.useRef(!1),o=d.useRef(!1);return i.jsx(cl,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var a,c;(a=e.onCloseAutoFocus)==null||a.call(e,s),s.defaultPrevented||(n.current||(c=r.triggerRef.current)==null||c.focus(),s.preventDefault()),n.current=!1,o.current=!1},onInteractOutside:s=>{var l,f;(l=e.onInteractOutside)==null||l.call(e,s),s.defaultPrevented||(n.current=!0,s.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const a=s.target;((f=r.triggerRef.current)==null?void 0:f.contains(a))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&o.current&&s.preventDefault()}})}),cl=d.forwardRef((e,t)=>{const{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:o,onCloseAutoFocus:s,...a}=e,c=We(bt,r),l=d.useRef(null),f=ae(t,l);return oo(),i.jsxs(i.Fragment,{children:[i.jsx(Lr,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:o,onUnmountAutoFocus:s,children:i.jsx(Qt,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":Jo(c.open),...a,ref:f,onDismiss:()=>c.onOpenChange(!1)})}),i.jsxs(i.Fragment,{children:[i.jsx(zb,{titleId:c.titleId}),i.jsx(jb,{contentRef:l,descriptionId:c.descriptionId})]})]})}),Yo="DialogTitle",ll=d.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=We(Yo,r);return i.jsx(Q.h2,{id:o.titleId,...n,ref:t})});ll.displayName=Yo;var dl="DialogDescription",ul=d.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=We(dl,r);return i.jsx(Q.p,{id:o.descriptionId,...n,ref:t})});ul.displayName=dl;var fl="DialogClose",pl=d.forwardRef((e,t)=>{const{__scopeDialog:r,...n}=e,o=We(fl,r);return i.jsx(Q.button,{type:"button",...n,ref:t,onClick:H(e.onClick,()=>o.onOpenChange(!1))})});pl.displayName=fl;function Jo(e){return e?"open":"closed"}var hl="DialogTitleWarning",[cy,gl]=Of(hl,{contentName:bt,titleName:Yo,docsSlug:"dialog"}),zb=({titleId:e})=>{const t=gl(hl),r=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
59
59
 
60
60
  If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
61
61
 
62
- For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return d.useEffect(()=>{e&&(document.getElementById(e)||console.error(r))},[r,e]),null},Wb="DialogDescriptionWarning",jb=({contentRef:e,descriptionId:t})=>{const n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${gl(Wb).contentName}}.`;return d.useEffect(()=>{var s;const o=(s=e.current)==null?void 0:s.getAttribute("aria-describedby");t&&o&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},Vb=tl,Rb=nl,Kb=sl,ml=al,bl=il,vl=ll,wl=ul,Gb=pl;const yl=Vb,qb=Rb,Xb=Kb,xl=d.forwardRef(({className:e,...t},r)=>i.jsx(ml,{className:P("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:r}));xl.displayName=ml.displayName;const Yb=Wt.cva("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),Zo=d.forwardRef(({side:e="right",className:t,children:r,...n},o)=>i.jsxs(Xb,{children:[i.jsx(xl,{}),i.jsxs(bl,{ref:o,className:P(Yb({side:e}),t),...n,children:[r,i.jsxs(Gb,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[i.jsx(q.X,{className:"h-4 w-4"}),i.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Zo.displayName=bl.displayName;const Sl=({className:e,...t})=>i.jsx("div",{className:P("flex flex-col space-y-2 text-center sm:text-left",e),...t});Sl.displayName="SheetHeader";const Cl=d.forwardRef(({className:e,...t},r)=>i.jsx(vl,{ref:r,className:P("text-lg font-semibold text-foreground",e),...t}));Cl.displayName=vl.displayName;const El=d.forwardRef(({className:e,...t},r)=>i.jsx(wl,{ref:r,className:P("text-sm text-muted-foreground",e),...t}));El.displayName=wl.displayName;function Nl({className:e,...t}){return i.jsx("div",{className:P("animate-pulse rounded-md bg-muted",e),...t})}var Tl=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Jb="VisuallyHidden",Al=d.forwardRef((e,t)=>i.jsx(Q.span,{...e,ref:t,style:{...Tl,...e.style}}));Al.displayName=Jb;var Zb=Al,[hn,ly]=Be("Tooltip",[Ot]),gn=Ot(),Pl="TooltipProvider",Qb=700,Qo="tooltip.open",[ev,es]=hn(Pl),Il=e=>{const{__scopeTooltip:t,delayDuration:r=Qb,skipDelayDuration:n=300,disableHoverableContent:o=!1,children:s}=e,a=d.useRef(!0),c=d.useRef(!1),l=d.useRef(0);return d.useEffect(()=>{const f=l.current;return()=>window.clearTimeout(f)},[]),i.jsx(ev,{scope:t,isOpenDelayedRef:a,delayDuration:r,onOpen:d.useCallback(()=>{window.clearTimeout(l.current),a.current=!1},[]),onClose:d.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>a.current=!0,n)},[n]),isPointerInTransitRef:c,onPointerInTransitChange:d.useCallback(f=>{c.current=f},[]),disableHoverableContent:o,children:s})};Il.displayName=Pl;var fr="Tooltip",[tv,mn]=hn(fr),_l=e=>{const{__scopeTooltip:t,children:r,open:n,defaultOpen:o,onOpenChange:s,disableHoverableContent:a,delayDuration:c}=e,l=es(fr,e.__scopeTooltip),f=gn(t),[u,p]=d.useState(null),g=Ue(),v=d.useRef(0),m=a??l.disableHoverableContent,h=c??l.delayDuration,b=d.useRef(!1),[w,x]=nt({prop:n,defaultProp:o??!1,onChange:N=>{N?(l.onOpen(),document.dispatchEvent(new CustomEvent(Qo))):l.onClose(),s==null||s(N)},caller:fr}),y=d.useMemo(()=>w?b.current?"delayed-open":"instant-open":"closed",[w]),C=d.useCallback(()=>{window.clearTimeout(v.current),v.current=0,b.current=!1,x(!0)},[x]),T=d.useCallback(()=>{window.clearTimeout(v.current),v.current=0,x(!1)},[x]),M=d.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>{b.current=!0,x(!0),v.current=0},h)},[h,x]);return d.useEffect(()=>()=>{v.current&&(window.clearTimeout(v.current),v.current=0)},[]),i.jsx(xo,{...f,children:i.jsx(tv,{scope:t,contentId:g,open:w,stateAttribute:y,trigger:u,onTriggerChange:p,onTriggerEnter:d.useCallback(()=>{l.isOpenDelayedRef.current?M():C()},[l.isOpenDelayedRef,M,C]),onTriggerLeave:d.useCallback(()=>{m?T():(window.clearTimeout(v.current),v.current=0)},[T,m]),onOpen:C,onClose:T,disableHoverableContent:m,children:r})})};_l.displayName=fr;var ts="TooltipTrigger",kl=d.forwardRef((e,t)=>{const{__scopeTooltip:r,...n}=e,o=mn(ts,r),s=es(ts,r),a=gn(r),c=d.useRef(null),l=ae(t,c,o.onTriggerChange),f=d.useRef(!1),u=d.useRef(!1),p=d.useCallback(()=>f.current=!1,[]);return d.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),i.jsx(So,{asChild:!0,...a,children:i.jsx(Q.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...n,ref:l,onPointerMove:H(e.onPointerMove,g=>{g.pointerType!=="touch"&&!u.current&&!s.isPointerInTransitRef.current&&(o.onTriggerEnter(),u.current=!0)}),onPointerLeave:H(e.onPointerLeave,()=>{o.onTriggerLeave(),u.current=!1}),onPointerDown:H(e.onPointerDown,()=>{o.open&&o.onClose(),f.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:H(e.onFocus,()=>{f.current||o.onOpen()}),onBlur:H(e.onBlur,o.onClose),onClick:H(e.onClick,o.onClose)})})});kl.displayName=ts;var rv="TooltipPortal",[dy,nv]=hn(rv,{forceMount:void 0}),Bt="TooltipContent",Ol=d.forwardRef((e,t)=>{const r=nv(Bt,e.__scopeTooltip),{forceMount:n=r.forceMount,side:o="top",...s}=e,a=mn(Bt,e.__scopeTooltip);return i.jsx(Ie,{present:n||a.open,children:a.disableHoverableContent?i.jsx(Ml,{side:o,...s,ref:t}):i.jsx(ov,{side:o,...s,ref:t})})}),ov=d.forwardRef((e,t)=>{const r=mn(Bt,e.__scopeTooltip),n=es(Bt,e.__scopeTooltip),o=d.useRef(null),s=ae(t,o),[a,c]=d.useState(null),{trigger:l,onClose:f}=r,u=o.current,{onPointerInTransitChange:p}=n,g=d.useCallback(()=>{c(null),p(!1)},[p]),v=d.useCallback((m,h)=>{const b=m.currentTarget,w={x:m.clientX,y:m.clientY},x=lv(w,b.getBoundingClientRect()),y=dv(w,x),C=uv(h.getBoundingClientRect()),T=pv([...y,...C]);c(T),p(!0)},[p]);return d.useEffect(()=>()=>g(),[g]),d.useEffect(()=>{if(l&&u){const m=b=>v(b,u),h=b=>v(b,l);return l.addEventListener("pointerleave",m),u.addEventListener("pointerleave",h),()=>{l.removeEventListener("pointerleave",m),u.removeEventListener("pointerleave",h)}}},[l,u,v,g]),d.useEffect(()=>{if(a){const m=h=>{const b=h.target,w={x:h.clientX,y:h.clientY},x=(l==null?void 0:l.contains(b))||(u==null?void 0:u.contains(b)),y=!fv(w,a);x?g():y&&(g(),f())};return document.addEventListener("pointermove",m),()=>document.removeEventListener("pointermove",m)}},[l,u,a,f,g]),i.jsx(Ml,{...e,ref:s})}),[sv,av]=hn(fr,{isInside:!1}),iv=_e.createSlottable("TooltipContent"),Ml=d.forwardRef((e,t)=>{const{__scopeTooltip:r,children:n,"aria-label":o,onEscapeKeyDown:s,onPointerDownOutside:a,...c}=e,l=mn(Bt,r),f=gn(r),{onClose:u}=l;return d.useEffect(()=>(document.addEventListener(Qo,u),()=>document.removeEventListener(Qo,u)),[u]),d.useEffect(()=>{if(l.trigger){const p=g=>{const v=g.target;v!=null&&v.contains(l.trigger)&&u()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[l.trigger,u]),i.jsx(Qt,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:p=>p.preventDefault(),onDismiss:u,children:i.jsxs(Co,{"data-state":l.stateAttribute,...f,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[i.jsx(iv,{children:n}),i.jsx(sv,{scope:r,isInside:!0,children:i.jsx(Zb,{id:l.contentId,role:"tooltip",children:o||n})})]})})});Ol.displayName=Bt;var Dl="TooltipArrow",cv=d.forwardRef((e,t)=>{const{__scopeTooltip:r,...n}=e,o=gn(r);return av(Dl,r).isInside?null:i.jsx(Eo,{...o,...n,ref:t})});cv.displayName=Dl;function lv(e,t){const r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(r,n,o,s)){case s:return"left";case o:return"right";case r:return"top";case n:return"bottom";default:throw new Error("unreachable")}}function dv(e,t,r=5){const n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return n}function uv(e){const{top:t,right:r,bottom:n,left:o}=e;return[{x:o,y:t},{x:r,y:t},{x:r,y:n},{x:o,y:n}]}function fv(e,t){const{x:r,y:n}=e;let o=!1;for(let s=0,a=t.length-1;s<t.length;a=s++){const c=t[s],l=t[a],f=c.x,u=c.y,p=l.x,g=l.y;u>n!=g>n&&r<(p-f)*(n-u)/(g-u)+f&&(o=!o)}return o}function pv(e){const t=e.slice();return t.sort((r,n)=>r.x<n.x?-1:r.x>n.x?1:r.y<n.y?-1:r.y>n.y?1:0),hv(t)}function hv(e){if(e.length<=1)return e.slice();const t=[];for(let n=0;n<e.length;n++){const o=e[n];for(;t.length>=2;){const s=t[t.length-1],a=t[t.length-2];if((s.x-a.x)*(o.y-a.y)>=(s.y-a.y)*(o.x-a.x))t.pop();else break}t.push(o)}t.pop();const r=[];for(let n=e.length-1;n>=0;n--){const o=e[n];for(;r.length>=2;){const s=r[r.length-1],a=r[r.length-2];if((s.x-a.x)*(o.y-a.y)>=(s.y-a.y)*(o.x-a.x))r.pop();else break}r.push(o)}return r.pop(),t.length===1&&r.length===1&&t[0].x===r[0].x&&t[0].y===r[0].y?t:t.concat(r)}var gv=Il,mv=_l,bv=kl,Ll=Ol;const vv=gv,wv=mv,yv=bv,Fl=d.forwardRef(({className:e,sideOffset:t=4,...r},n)=>i.jsx(Ll,{ref:n,sideOffset:t,className:P("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r}));Fl.displayName=Ll.displayName;const xv="sidebar:state",Sv=60*60*24*7,Cv="16rem",Ev="18rem",Nv="3rem",Tv="b",$l=d.createContext(null);function bn(){const e=d.useContext($l);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const Bl=d.forwardRef(({defaultOpen:e=!0,open:t,onOpenChange:r,className:n,style:o,children:s,...a},c)=>{const l=kb(),[f,u]=d.useState(!1),[p,g]=d.useState(e),v=t??p,m=d.useCallback(x=>{const y=typeof x=="function"?x(v):x;r?r(y):g(y),document.cookie=`${xv}=${y}; path=/; max-age=${Sv}`},[r,v]),h=d.useCallback(()=>l?u(x=>!x):m(x=>!x),[l,m,u]);d.useEffect(()=>{const x=y=>{y.key===Tv&&(y.metaKey||y.ctrlKey)&&(y.preventDefault(),h())};return window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)},[h]);const b=v?"expanded":"collapsed",w=d.useMemo(()=>({state:b,open:v,setOpen:m,isMobile:l,openMobile:f,setOpenMobile:u,toggleSidebar:h}),[b,v,m,l,f,u,h]);return i.jsx($l.Provider,{value:w,children:i.jsx(vv,{delayDuration:0,children:i.jsx("div",{style:{"--sidebar-width":Cv,"--sidebar-width-icon":Nv,...o},className:P("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar",n),ref:c,...a,children:s})})})});Bl.displayName="SidebarProvider";const Ul=d.forwardRef(({side:e="left",variant:t="sidebar",collapsible:r="offcanvas",className:n,children:o,...s},a)=>{const{isMobile:c,state:l,openMobile:f,setOpenMobile:u}=bn();return r==="none"?i.jsx("div",{className:P("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",n),ref:a,...s,children:o}):c?i.jsx(yl,{open:f,onOpenChange:u,...s,children:i.jsx(Zo,{"data-sidebar":"sidebar","data-mobile":"true",className:"w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":Ev},side:e,children:i.jsx("div",{className:"flex h-full w-full flex-col",children:o})})}):i.jsxs("div",{ref:a,className:"group peer hidden md:block text-sidebar-foreground","data-state":l,"data-collapsible":l==="collapsed"?r:"","data-variant":t,"data-side":e,children:[i.jsx("div",{className:P("duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",t==="floating"||t==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),i.jsx("div",{className:P("duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex",e==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",t==="floating"||t==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l",n),...s,children:i.jsx("div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow",children:o})})]})});Ul.displayName="Sidebar";const Hl=d.forwardRef(({className:e,onClick:t,...r},n)=>{const{toggleSidebar:o}=bn();return i.jsxs(he,{ref:n,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:P("h-7 w-7",e),onClick:s=>{t==null||t(s),o()},...r,children:[i.jsx(q.PanelLeft,{}),i.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});Hl.displayName="SidebarTrigger";const Av=d.forwardRef(({className:e,...t},r)=>{const{toggleSidebar:n}=bn();return i.jsx("button",{ref:r,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:n,title:"Toggle Sidebar",className:P("absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...t})});Av.displayName="SidebarRail";const zl=d.forwardRef(({className:e,...t},r)=>i.jsx("main",{ref:r,className:P("relative flex min-h-svh flex-1 flex-col bg-background","peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",e),...t}));zl.displayName="SidebarInset";const Pv=d.forwardRef(({className:e,...t},r)=>i.jsx(dr,{ref:r,"data-sidebar":"input",className:P("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",e),...t}));Pv.displayName="SidebarInput";const Wl=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"header",className:P("flex flex-col gap-2 p-2",e),...t}));Wl.displayName="SidebarHeader";const Iv=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"footer",className:P("flex flex-col gap-2 p-2",e),...t}));Iv.displayName="SidebarFooter";const _v=d.forwardRef(({className:e,...t},r)=>i.jsx(qo,{ref:r,"data-sidebar":"separator",className:P("mx-2 w-auto bg-sidebar-border",e),...t}));_v.displayName="SidebarSeparator";const jl=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"content",className:P("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...t}));jl.displayName="SidebarContent";const Vl=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"group",className:P("relative flex w-full min-w-0 flex-col p-2",e),...t}));Vl.displayName="SidebarGroup";const Rl=d.forwardRef(({className:e,asChild:t=!1,...r},n)=>{const o=t?_e.Slot:"div";return i.jsx(o,{ref:n,"data-sidebar":"group-label",className:P("duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...r})});Rl.displayName="SidebarGroupLabel";const kv=d.forwardRef(({className:e,asChild:t=!1,...r},n)=>{const o=t?_e.Slot:"button";return i.jsx(o,{ref:n,"data-sidebar":"group-action",className:P("absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",e),...r})});kv.displayName="SidebarGroupAction";const Kl=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"group-content",className:P("w-full text-sm",e),...t}));Kl.displayName="SidebarGroupContent";const Gl=d.forwardRef(({className:e,...t},r)=>i.jsx("ul",{ref:r,"data-sidebar":"menu",className:P("flex w-full min-w-0 flex-col gap-1",e),...t}));Gl.displayName="SidebarMenu";const ql=d.forwardRef(({className:e,...t},r)=>i.jsx("li",{ref:r,"data-sidebar":"menu-item",className:P("group/menu-item relative",e),...t}));ql.displayName="SidebarMenuItem";const Ov=Wt.cva("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),Xl=d.forwardRef(({asChild:e=!1,isActive:t=!1,variant:r="default",size:n="default",tooltip:o,className:s,...a},c)=>{const l=e?_e.Slot:"button",{isMobile:f,state:u}=bn(),p=i.jsx(l,{ref:c,"data-sidebar":"menu-button","data-size":n,"data-active":t,className:P(Ov({variant:r,size:n}),s),...a});return o?(typeof o=="string"&&(o={children:o}),i.jsxs(wv,{children:[i.jsx(yv,{asChild:!0,children:p}),i.jsx(Fl,{side:"right",align:"center",hidden:u!=="collapsed"||f,...o})]})):p});Xl.displayName="SidebarMenuButton";const Mv=d.forwardRef(({className:e,asChild:t=!1,showOnHover:r=!1,...n},o)=>{const s=t?_e.Slot:"button";return i.jsx(s,{ref:o,"data-sidebar":"menu-action",className:P("absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",r&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",e),...n})});Mv.displayName="SidebarMenuAction";const Dv=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"menu-badge",className:P("absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",e),...t}));Dv.displayName="SidebarMenuBadge";const Lv=d.forwardRef(({className:e,showIcon:t=!1,...r},n)=>{const o=d.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return i.jsxs("div",{ref:n,"data-sidebar":"menu-skeleton",className:P("rounded-md h-8 flex gap-2 px-2 items-center",e),...r,children:[t&&i.jsx(Nl,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),i.jsx(Nl,{className:"h-4 flex-1 max-w-[--skeleton-width]","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":o}})]})});Lv.displayName="SidebarMenuSkeleton";const Fv=d.forwardRef(({className:e,...t},r)=>i.jsx("ul",{ref:r,"data-sidebar":"menu-sub",className:P("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",e),...t}));Fv.displayName="SidebarMenuSub";const $v=d.forwardRef(({...e},t)=>i.jsx("li",{ref:t,...e}));$v.displayName="SidebarMenuSubItem";const Bv=d.forwardRef(({asChild:e=!1,size:t="md",isActive:r,className:n,...o},s)=>{const a=e?_e.Slot:"a";return i.jsx(a,{ref:s,"data-sidebar":"menu-sub-button","data-size":t,"data-active":r,className:P("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",t==="sm"&&"text-xs",t==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",n),...o})});Bv.displayName="SidebarMenuSubButton";function Uv({header:e,sidebarTitle:t="Threads",showThreads:r=!0,className:n="",sidebarClassName:o="",chatClassName:s="",...a}){return i.jsx(Xt,{...a,children:i.jsxs(Bl,{className:`w-full ${n}`,children:[i.jsxs(Ul,{className:`border-r ${o}`,children:[i.jsx(Wl,{children:i.jsx(Gl,{children:i.jsx(ql,{children:i.jsx(Xl,{size:"lg",children:i.jsx("span",{className:"font-semibold",children:t})})})})}),i.jsx(jl,{children:r&&i.jsxs(Vl,{children:[i.jsx(Rl,{children:"Conversations"}),i.jsx(Kl,{children:i.jsx("div",{className:"px-2 py-1",children:i.jsx(un,{showCreateButton:!0,showDeleteButton:!0,showEditTitle:!0,className:"h-[calc(100vh-12rem)]"})})})]})})]}),i.jsxs(zl,{children:[i.jsxs("header",{className:"h-14 border-b bg-background/60 backdrop-blur flex items-center gap-2 px-4",children:[i.jsx(Hl,{}),i.jsx("div",{className:"flex-1"}),e]}),i.jsx("main",{className:`flex-1 min-h-0 overflow-hidden ${s}`,children:i.jsx(lr,{})})]})]})})}var Hv="Label",Yl=d.forwardRef((e,t)=>i.jsx(Q.label,{...e,ref:t,onMouseDown:r=>{var o;r.target.closest("button, input, select, textarea")||((o=e.onMouseDown)==null||o.call(e,r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));Yl.displayName=Hv;var Jl=Yl;const zv=Wt.cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Fe=d.forwardRef(({className:e,...t},r)=>i.jsx(Jl,{ref:r,className:P(zv(),e),...t}));Fe.displayName=Jl.displayName;function Zl(e){const t=d.useRef({value:e,previous:e});return d.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var vn="Switch",[Wv,uy]=Be(vn),[jv,Vv]=Wv(vn),Ql=d.forwardRef((e,t)=>{const{__scopeSwitch:r,name:n,checked:o,defaultChecked:s,required:a,disabled:c,value:l="on",onCheckedChange:f,form:u,...p}=e,[g,v]=d.useState(null),m=ae(t,y=>v(y)),h=d.useRef(!1),b=g?u||!!g.closest("form"):!0,[w,x]=nt({prop:o,defaultProp:s??!1,onChange:f,caller:vn});return i.jsxs(jv,{scope:r,checked:w,disabled:c,children:[i.jsx(Q.button,{type:"button",role:"switch","aria-checked":w,"aria-required":a,"data-state":nd(w),"data-disabled":c?"":void 0,disabled:c,value:l,...p,ref:m,onClick:H(e.onClick,y=>{x(C=>!C),b&&(h.current=y.isPropagationStopped(),h.current||y.stopPropagation())})}),b&&i.jsx(rd,{control:g,bubbles:!h.current,name:n,value:l,checked:w,required:a,disabled:c,form:u,style:{transform:"translateX(-100%)"}})]})});Ql.displayName=vn;var ed="SwitchThumb",td=d.forwardRef((e,t)=>{const{__scopeSwitch:r,...n}=e,o=Vv(ed,r);return i.jsx(Q.span,{"data-state":nd(o.checked),"data-disabled":o.disabled?"":void 0,...n,ref:t})});td.displayName=ed;var Rv="SwitchBubbleInput",rd=d.forwardRef(({__scopeSwitch:e,control:t,checked:r,bubbles:n=!0,...o},s)=>{const a=d.useRef(null),c=ae(a,s),l=Zl(r),f=ai(t);return d.useEffect(()=>{const u=a.current;if(!u)return;const p=window.HTMLInputElement.prototype,v=Object.getOwnPropertyDescriptor(p,"checked").set;if(l!==r&&v){const m=new Event("click",{bubbles:n});v.call(u,r),u.dispatchEvent(m)}},[l,r,n]),i.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:r,...o,tabIndex:-1,ref:c,style:{...o.style,...f,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});rd.displayName=Rv;function nd(e){return e?"checked":"unchecked"}var od=Ql,Kv=td;const it=d.forwardRef(({className:e,...t},r)=>i.jsx(od,{className:P("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...t,ref:r,children:i.jsx(Kv,{className:P("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})}));it.displayName=od.displayName;var Gv=[" ","Enter","ArrowUp","ArrowDown"],qv=[" ","Enter"],vt="Select",[wn,yn,Xv]=to(vt),[Ut,fy]=Be(vt,[Xv,Ot]),xn=Ot(),[Yv,ct]=Ut(vt),[Jv,Zv]=Ut(vt),sd=e=>{const{__scopeSelect:t,children:r,open:n,defaultOpen:o,onOpenChange:s,value:a,defaultValue:c,onValueChange:l,dir:f,name:u,autoComplete:p,disabled:g,required:v,form:m}=e,h=xn(t),[b,w]=d.useState(null),[x,y]=d.useState(null),[C,T]=d.useState(!1),M=Dr(f),[N,F]=nt({prop:n,defaultProp:o??!1,onChange:s,caller:vt}),[B,z]=nt({prop:a,defaultProp:c,onChange:l,caller:vt}),K=d.useRef(null),X=b?m||!!b.closest("form"):!0,[V,I]=d.useState(new Set),U=Array.from(V).map(_=>_.props.value).join(";");return i.jsx(xo,{...h,children:i.jsxs(Yv,{required:v,scope:t,trigger:b,onTriggerChange:w,valueNode:x,onValueNodeChange:y,valueNodeHasChildren:C,onValueNodeHasChildrenChange:T,contentId:Ue(),value:B,onValueChange:z,open:N,onOpenChange:F,dir:M,triggerPointerDownPosRef:K,disabled:g,children:[i.jsx(wn.Provider,{scope:t,children:i.jsx(Jv,{scope:e.__scopeSelect,onNativeOptionAdd:d.useCallback(_=>{I(W=>new Set(W).add(_))},[]),onNativeOptionRemove:d.useCallback(_=>{I(W=>{const D=new Set(W);return D.delete(_),D})},[]),children:r})}),X?i.jsxs(Id,{"aria-hidden":!0,required:v,tabIndex:-1,name:u,autoComplete:p,value:B,onChange:_=>z(_.target.value),disabled:g,form:m,children:[B===void 0?i.jsx("option",{value:""}):null,Array.from(V)]},U):null]})})};sd.displayName=vt;var ad="SelectTrigger",id=d.forwardRef((e,t)=>{const{__scopeSelect:r,disabled:n=!1,...o}=e,s=xn(r),a=ct(ad,r),c=a.disabled||n,l=ae(t,a.onTriggerChange),f=yn(r),u=d.useRef("touch"),[p,g,v]=kd(h=>{const b=f().filter(y=>!y.disabled),w=b.find(y=>y.value===a.value),x=Od(b,h,w);x!==void 0&&a.onValueChange(x.value)}),m=h=>{c||(a.onOpenChange(!0),v()),h&&(a.triggerPointerDownPosRef.current={x:Math.round(h.pageX),y:Math.round(h.pageY)})};return i.jsx(So,{asChild:!0,...s,children:i.jsx(Q.button,{type:"button",role:"combobox","aria-controls":a.contentId,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":_d(a.value)?"":void 0,...o,ref:l,onClick:H(o.onClick,h=>{h.currentTarget.focus(),u.current!=="mouse"&&m(h)}),onPointerDown:H(o.onPointerDown,h=>{u.current=h.pointerType;const b=h.target;b.hasPointerCapture(h.pointerId)&&b.releasePointerCapture(h.pointerId),h.button===0&&h.ctrlKey===!1&&h.pointerType==="mouse"&&(m(h),h.preventDefault())}),onKeyDown:H(o.onKeyDown,h=>{const b=p.current!=="";!(h.ctrlKey||h.altKey||h.metaKey)&&h.key.length===1&&g(h.key),!(b&&h.key===" ")&&Gv.includes(h.key)&&(m(),h.preventDefault())})})})});id.displayName=ad;var cd="SelectValue",ld=d.forwardRef((e,t)=>{const{__scopeSelect:r,className:n,style:o,children:s,placeholder:a="",...c}=e,l=ct(cd,r),{onValueNodeHasChildrenChange:f}=l,u=s!==void 0,p=ae(t,l.onValueNodeChange);return Se(()=>{f(u)},[f,u]),i.jsx(Q.span,{...c,ref:p,style:{pointerEvents:"none"},children:_d(l.value)?i.jsx(i.Fragment,{children:a}):s})});ld.displayName=cd;var Qv="SelectIcon",dd=d.forwardRef((e,t)=>{const{__scopeSelect:r,children:n,...o}=e;return i.jsx(Q.span,{"aria-hidden":!0,...o,ref:t,children:n||"▼"})});dd.displayName=Qv;var ew="SelectPortal",ud=e=>i.jsx(Kr,{asChild:!0,...e});ud.displayName=ew;var wt="SelectContent",fd=d.forwardRef((e,t)=>{const r=ct(wt,e.__scopeSelect),[n,o]=d.useState();if(Se(()=>{o(new DocumentFragment)},[]),!r.open){const s=n;return s?hr.createPortal(i.jsx(pd,{scope:e.__scopeSelect,children:i.jsx(wn.Slot,{scope:e.__scopeSelect,children:i.jsx("div",{children:e.children})})}),s):null}return i.jsx(hd,{...e,ref:t})});fd.displayName=wt;var je=10,[pd,lt]=Ut(wt),tw="SelectContentImpl",rw=_e.createSlot("SelectContent.RemoveScroll"),hd=d.forwardRef((e,t)=>{const{__scopeSelect:r,position:n="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:s,onPointerDownOutside:a,side:c,sideOffset:l,align:f,alignOffset:u,arrowPadding:p,collisionBoundary:g,collisionPadding:v,sticky:m,hideWhenDetached:h,avoidCollisions:b,...w}=e,x=ct(wt,r),[y,C]=d.useState(null),[T,M]=d.useState(null),N=ae(t,j=>C(j)),[F,B]=d.useState(null),[z,K]=d.useState(null),X=yn(r),[V,I]=d.useState(!1),U=d.useRef(!1);d.useEffect(()=>{if(y)return Po(y)},[y]),oo();const _=d.useCallback(j=>{const[le,...ue]=X().map(ne=>ne.ref.current),[ce]=ue.slice(-1),de=document.activeElement;for(const ne of j)if(ne===de||(ne==null||ne.scrollIntoView({block:"nearest"}),ne===le&&T&&(T.scrollTop=0),ne===ce&&T&&(T.scrollTop=T.scrollHeight),ne==null||ne.focus(),document.activeElement!==de))return},[X,T]),W=d.useCallback(()=>_([F,y]),[_,F,y]);d.useEffect(()=>{V&&W()},[V,W]);const{onOpenChange:D,triggerPointerDownPosRef:E}=x;d.useEffect(()=>{if(y){let j={x:0,y:0};const le=ce=>{var de,ne;j={x:Math.abs(Math.round(ce.pageX)-(((de=E.current)==null?void 0:de.x)??0)),y:Math.abs(Math.round(ce.pageY)-(((ne=E.current)==null?void 0:ne.y)??0))}},ue=ce=>{j.x<=10&&j.y<=10?ce.preventDefault():y.contains(ce.target)||D(!1),document.removeEventListener("pointermove",le),E.current=null};return E.current!==null&&(document.addEventListener("pointermove",le),document.addEventListener("pointerup",ue,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",le),document.removeEventListener("pointerup",ue,{capture:!0})}}},[y,D,E]),d.useEffect(()=>{const j=()=>D(!1);return window.addEventListener("blur",j),window.addEventListener("resize",j),()=>{window.removeEventListener("blur",j),window.removeEventListener("resize",j)}},[D]);const[Z,G]=kd(j=>{const le=X().filter(de=>!de.disabled),ue=le.find(de=>de.ref.current===document.activeElement),ce=Od(le,j,ue);ce&&setTimeout(()=>ce.ref.current.focus())}),re=d.useCallback((j,le,ue)=>{const ce=!U.current&&!ue;(x.value!==void 0&&x.value===le||ce)&&(B(j),ce&&(U.current=!0))},[x.value]),$=d.useCallback(()=>y==null?void 0:y.focus(),[y]),R=d.useCallback((j,le,ue)=>{const ce=!U.current&&!ue;(x.value!==void 0&&x.value===le||ce)&&K(j)},[x.value]),ie=n==="popper"?rs:gd,ge=ie===rs?{side:c,sideOffset:l,align:f,alignOffset:u,arrowPadding:p,collisionBoundary:g,collisionPadding:v,sticky:m,hideWhenDetached:h,avoidCollisions:b}:{};return i.jsx(pd,{scope:r,content:y,viewport:T,onViewportChange:M,itemRefCallback:re,selectedItem:F,onItemLeave:$,itemTextRefCallback:R,focusSelectedItem:W,selectedItemText:z,position:n,isPositioned:V,searchRef:Z,children:i.jsx(en,{as:rw,allowPinchZoom:!0,children:i.jsx(Lr,{asChild:!0,trapped:x.open,onMountAutoFocus:j=>{j.preventDefault()},onUnmountAutoFocus:H(o,j=>{var le;(le=x.trigger)==null||le.focus({preventScroll:!0}),j.preventDefault()}),children:i.jsx(Qt,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:j=>j.preventDefault(),onDismiss:()=>x.onOpenChange(!1),children:i.jsx(ie,{role:"listbox",id:x.contentId,"data-state":x.open?"open":"closed",dir:x.dir,onContextMenu:j=>j.preventDefault(),...w,...ge,onPlaced:()=>I(!0),ref:N,style:{display:"flex",flexDirection:"column",outline:"none",...w.style},onKeyDown:H(w.onKeyDown,j=>{const le=j.ctrlKey||j.altKey||j.metaKey;if(j.key==="Tab"&&j.preventDefault(),!le&&j.key.length===1&&G(j.key),["ArrowUp","ArrowDown","Home","End"].includes(j.key)){let ce=X().filter(de=>!de.disabled).map(de=>de.ref.current);if(["ArrowUp","End"].includes(j.key)&&(ce=ce.slice().reverse()),["ArrowUp","ArrowDown"].includes(j.key)){const de=j.target,ne=ce.indexOf(de);ce=ce.slice(ne+1)}setTimeout(()=>_(ce)),j.preventDefault()}})})})})})})});hd.displayName=tw;var nw="SelectItemAlignedPosition",gd=d.forwardRef((e,t)=>{const{__scopeSelect:r,onPlaced:n,...o}=e,s=ct(wt,r),a=lt(wt,r),[c,l]=d.useState(null),[f,u]=d.useState(null),p=ae(t,N=>u(N)),g=yn(r),v=d.useRef(!1),m=d.useRef(!0),{viewport:h,selectedItem:b,selectedItemText:w,focusSelectedItem:x}=a,y=d.useCallback(()=>{if(s.trigger&&s.valueNode&&c&&f&&h&&b&&w){const N=s.trigger.getBoundingClientRect(),F=f.getBoundingClientRect(),B=s.valueNode.getBoundingClientRect(),z=w.getBoundingClientRect();if(s.dir!=="rtl"){const de=z.left-F.left,ne=B.left-de,J=N.left-ne,oe=N.width+J,k=Math.max(oe,F.width),L=window.innerWidth-je,se=Wo(ne,[je,Math.max(je,L-k)]);c.style.minWidth=oe+"px",c.style.left=se+"px"}else{const de=F.right-z.right,ne=window.innerWidth-B.right-de,J=window.innerWidth-N.right-ne,oe=N.width+J,k=Math.max(oe,F.width),L=window.innerWidth-je,se=Wo(ne,[je,Math.max(je,L-k)]);c.style.minWidth=oe+"px",c.style.right=se+"px"}const K=g(),X=window.innerHeight-je*2,V=h.scrollHeight,I=window.getComputedStyle(f),U=parseInt(I.borderTopWidth,10),_=parseInt(I.paddingTop,10),W=parseInt(I.borderBottomWidth,10),D=parseInt(I.paddingBottom,10),E=U+_+V+D+W,Z=Math.min(b.offsetHeight*5,E),G=window.getComputedStyle(h),re=parseInt(G.paddingTop,10),$=parseInt(G.paddingBottom,10),R=N.top+N.height/2-je,ie=X-R,ge=b.offsetHeight/2,j=b.offsetTop+ge,le=U+_+j,ue=E-le;if(le<=R){const de=K.length>0&&b===K[K.length-1].ref.current;c.style.bottom="0px";const ne=f.clientHeight-h.offsetTop-h.offsetHeight,J=Math.max(ie,ge+(de?$:0)+ne+W),oe=le+J;c.style.height=oe+"px"}else{const de=K.length>0&&b===K[0].ref.current;c.style.top="0px";const J=Math.max(R,U+h.offsetTop+(de?re:0)+ge)+ue;c.style.height=J+"px",h.scrollTop=le-R+h.offsetTop}c.style.margin=`${je}px 0`,c.style.minHeight=Z+"px",c.style.maxHeight=X+"px",n==null||n(),requestAnimationFrame(()=>v.current=!0)}},[g,s.trigger,s.valueNode,c,f,h,b,w,s.dir,n]);Se(()=>y(),[y]);const[C,T]=d.useState();Se(()=>{f&&T(window.getComputedStyle(f).zIndex)},[f]);const M=d.useCallback(N=>{N&&m.current===!0&&(y(),x==null||x(),m.current=!1)},[y,x]);return i.jsx(sw,{scope:r,contentWrapper:c,shouldExpandOnScrollRef:v,onScrollButtonChange:M,children:i.jsx("div",{ref:l,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:C},children:i.jsx(Q.div,{...o,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});gd.displayName=nw;var ow="SelectPopperPosition",rs=d.forwardRef((e,t)=>{const{__scopeSelect:r,align:n="start",collisionPadding:o=je,...s}=e,a=xn(r);return i.jsx(Co,{...a,...s,ref:t,align:n,collisionPadding:o,style:{boxSizing:"border-box",...s.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});rs.displayName=ow;var[sw,ns]=Ut(wt,{}),os="SelectViewport",md=d.forwardRef((e,t)=>{const{__scopeSelect:r,nonce:n,...o}=e,s=lt(os,r),a=ns(os,r),c=ae(t,s.onViewportChange),l=d.useRef(0);return i.jsxs(i.Fragment,{children:[i.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:n}),i.jsx(wn.Slot,{scope:r,children:i.jsx(Q.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:H(o.onScroll,f=>{const u=f.currentTarget,{contentWrapper:p,shouldExpandOnScrollRef:g}=a;if(g!=null&&g.current&&p){const v=Math.abs(l.current-u.scrollTop);if(v>0){const m=window.innerHeight-je*2,h=parseFloat(p.style.minHeight),b=parseFloat(p.style.height),w=Math.max(h,b);if(w<m){const x=w+v,y=Math.min(m,x),C=x-y;p.style.height=y+"px",p.style.bottom==="0px"&&(u.scrollTop=C>0?C:0,p.style.justifyContent="flex-end")}}}l.current=u.scrollTop})})})]})});md.displayName=os;var bd="SelectGroup",[aw,iw]=Ut(bd),cw=d.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e,o=Ue();return i.jsx(aw,{scope:r,id:o,children:i.jsx(Q.div,{role:"group","aria-labelledby":o,...n,ref:t})})});cw.displayName=bd;var vd="SelectLabel",wd=d.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e,o=iw(vd,r);return i.jsx(Q.div,{id:o.id,...n,ref:t})});wd.displayName=vd;var Sn="SelectItem",[lw,yd]=Ut(Sn),xd=d.forwardRef((e,t)=>{const{__scopeSelect:r,value:n,disabled:o=!1,textValue:s,...a}=e,c=ct(Sn,r),l=lt(Sn,r),f=c.value===n,[u,p]=d.useState(s??""),[g,v]=d.useState(!1),m=ae(t,x=>{var y;return(y=l.itemRefCallback)==null?void 0:y.call(l,x,n,o)}),h=Ue(),b=d.useRef("touch"),w=()=>{o||(c.onValueChange(n),c.onOpenChange(!1))};if(n==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return i.jsx(lw,{scope:r,value:n,disabled:o,textId:h,isSelected:f,onItemTextChange:d.useCallback(x=>{p(y=>y||((x==null?void 0:x.textContent)??"").trim())},[]),children:i.jsx(wn.ItemSlot,{scope:r,value:n,disabled:o,textValue:u,children:i.jsx(Q.div,{role:"option","aria-labelledby":h,"data-highlighted":g?"":void 0,"aria-selected":f&&g,"data-state":f?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...a,ref:m,onFocus:H(a.onFocus,()=>v(!0)),onBlur:H(a.onBlur,()=>v(!1)),onClick:H(a.onClick,()=>{b.current!=="mouse"&&w()}),onPointerUp:H(a.onPointerUp,()=>{b.current==="mouse"&&w()}),onPointerDown:H(a.onPointerDown,x=>{b.current=x.pointerType}),onPointerMove:H(a.onPointerMove,x=>{var y;b.current=x.pointerType,o?(y=l.onItemLeave)==null||y.call(l):b.current==="mouse"&&x.currentTarget.focus({preventScroll:!0})}),onPointerLeave:H(a.onPointerLeave,x=>{var y;x.currentTarget===document.activeElement&&((y=l.onItemLeave)==null||y.call(l))}),onKeyDown:H(a.onKeyDown,x=>{var C;((C=l.searchRef)==null?void 0:C.current)!==""&&x.key===" "||(qv.includes(x.key)&&w(),x.key===" "&&x.preventDefault())})})})})});xd.displayName=Sn;var pr="SelectItemText",Sd=d.forwardRef((e,t)=>{const{__scopeSelect:r,className:n,style:o,...s}=e,a=ct(pr,r),c=lt(pr,r),l=yd(pr,r),f=Zv(pr,r),[u,p]=d.useState(null),g=ae(t,w=>p(w),l.onItemTextChange,w=>{var x;return(x=c.itemTextRefCallback)==null?void 0:x.call(c,w,l.value,l.disabled)}),v=u==null?void 0:u.textContent,m=d.useMemo(()=>i.jsx("option",{value:l.value,disabled:l.disabled,children:v},l.value),[l.disabled,l.value,v]),{onNativeOptionAdd:h,onNativeOptionRemove:b}=f;return Se(()=>(h(m),()=>b(m)),[h,b,m]),i.jsxs(i.Fragment,{children:[i.jsx(Q.span,{id:l.textId,...s,ref:g}),l.isSelected&&a.valueNode&&!a.valueNodeHasChildren?hr.createPortal(s.children,a.valueNode):null]})});Sd.displayName=pr;var Cd="SelectItemIndicator",Ed=d.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e;return yd(Cd,r).isSelected?i.jsx(Q.span,{"aria-hidden":!0,...n,ref:t}):null});Ed.displayName=Cd;var ss="SelectScrollUpButton",Nd=d.forwardRef((e,t)=>{const r=lt(ss,e.__scopeSelect),n=ns(ss,e.__scopeSelect),[o,s]=d.useState(!1),a=ae(t,n.onScrollButtonChange);return Se(()=>{if(r.viewport&&r.isPositioned){let c=function(){const f=l.scrollTop>0;s(f)};const l=r.viewport;return c(),l.addEventListener("scroll",c),()=>l.removeEventListener("scroll",c)}},[r.viewport,r.isPositioned]),o?i.jsx(Ad,{...e,ref:a,onAutoScroll:()=>{const{viewport:c,selectedItem:l}=r;c&&l&&(c.scrollTop=c.scrollTop-l.offsetHeight)}}):null});Nd.displayName=ss;var as="SelectScrollDownButton",Td=d.forwardRef((e,t)=>{const r=lt(as,e.__scopeSelect),n=ns(as,e.__scopeSelect),[o,s]=d.useState(!1),a=ae(t,n.onScrollButtonChange);return Se(()=>{if(r.viewport&&r.isPositioned){let c=function(){const f=l.scrollHeight-l.clientHeight,u=Math.ceil(l.scrollTop)<f;s(u)};const l=r.viewport;return c(),l.addEventListener("scroll",c),()=>l.removeEventListener("scroll",c)}},[r.viewport,r.isPositioned]),o?i.jsx(Ad,{...e,ref:a,onAutoScroll:()=>{const{viewport:c,selectedItem:l}=r;c&&l&&(c.scrollTop=c.scrollTop+l.offsetHeight)}}):null});Td.displayName=as;var Ad=d.forwardRef((e,t)=>{const{__scopeSelect:r,onAutoScroll:n,...o}=e,s=lt("SelectScrollButton",r),a=d.useRef(null),c=yn(r),l=d.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return d.useEffect(()=>()=>l(),[l]),Se(()=>{var u;const f=c().find(p=>p.ref.current===document.activeElement);(u=f==null?void 0:f.ref.current)==null||u.scrollIntoView({block:"nearest"})},[c]),i.jsx(Q.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:H(o.onPointerDown,()=>{a.current===null&&(a.current=window.setInterval(n,50))}),onPointerMove:H(o.onPointerMove,()=>{var f;(f=s.onItemLeave)==null||f.call(s),a.current===null&&(a.current=window.setInterval(n,50))}),onPointerLeave:H(o.onPointerLeave,()=>{l()})})}),dw="SelectSeparator",Pd=d.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e;return i.jsx(Q.div,{"aria-hidden":!0,...n,ref:t})});Pd.displayName=dw;var is="SelectArrow",uw=d.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e,o=xn(r),s=ct(is,r),a=lt(is,r);return s.open&&a.position==="popper"?i.jsx(Eo,{...o,...n,ref:t}):null});uw.displayName=is;var fw="SelectBubbleInput",Id=d.forwardRef(({__scopeSelect:e,value:t,...r},n)=>{const o=d.useRef(null),s=ae(n,o),a=Zl(t);return d.useEffect(()=>{const c=o.current;if(!c)return;const l=window.HTMLSelectElement.prototype,u=Object.getOwnPropertyDescriptor(l,"value").set;if(a!==t&&u){const p=new Event("change",{bubbles:!0});u.call(c,t),c.dispatchEvent(p)}},[a,t]),i.jsx(Q.select,{...r,style:{...Tl,...r.style},ref:s,defaultValue:t})});Id.displayName=fw;function _d(e){return e===""||e===void 0}function kd(e){const t=Ce(e),r=d.useRef(""),n=d.useRef(0),o=d.useCallback(a=>{const c=r.current+a;t(c),function l(f){r.current=f,window.clearTimeout(n.current),f!==""&&(n.current=window.setTimeout(()=>l(""),1e3))}(c)},[t]),s=d.useCallback(()=>{r.current="",window.clearTimeout(n.current)},[]);return d.useEffect(()=>()=>window.clearTimeout(n.current),[]),[r,o,s]}function Od(e,t,r){const o=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,s=r?e.indexOf(r):-1;let a=pw(e,Math.max(s,0));o.length===1&&(a=a.filter(f=>f!==r));const l=a.find(f=>f.textValue.toLowerCase().startsWith(o.toLowerCase()));return l!==r?l:void 0}function pw(e,t){return e.map((r,n)=>e[(t+n)%e.length])}var hw=sd,Md=id,gw=ld,mw=dd,bw=ud,Dd=fd,vw=md,Ld=wd,Fd=xd,ww=Sd,yw=Ed,$d=Nd,Bd=Td,Ud=Pd;const Hd=hw,zd=gw,cs=d.forwardRef(({className:e,children:t,...r},n)=>i.jsxs(Md,{ref:n,className:P("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...r,children:[t,i.jsx(mw,{asChild:!0,children:i.jsx(q.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));cs.displayName=Md.displayName;const Wd=d.forwardRef(({className:e,...t},r)=>i.jsx($d,{ref:r,className:P("flex cursor-default items-center justify-center py-1",e),...t,children:i.jsx(q.ChevronUp,{className:"h-4 w-4"})}));Wd.displayName=$d.displayName;const jd=d.forwardRef(({className:e,...t},r)=>i.jsx(Bd,{ref:r,className:P("flex cursor-default items-center justify-center py-1",e),...t,children:i.jsx(q.ChevronDown,{className:"h-4 w-4"})}));jd.displayName=Bd.displayName;const ls=d.forwardRef(({className:e,children:t,position:r="popper",...n},o)=>i.jsx(bw,{children:i.jsxs(Dd,{ref:o,className:P("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...n,children:[i.jsx(Wd,{}),i.jsx(vw,{className:P("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),i.jsx(jd,{})]})}));ls.displayName=Dd.displayName;const xw=d.forwardRef(({className:e,...t},r)=>i.jsx(Ld,{ref:r,className:P("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...t}));xw.displayName=Ld.displayName;const yt=d.forwardRef(({className:e,children:t,...r},n)=>i.jsxs(Fd,{ref:n,className:P("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...r,children:[i.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:i.jsx(yw,{children:i.jsx(q.Check,{className:"h-4 w-4"})})}),i.jsx(ww,{children:t})]}));yt.displayName=Fd.displayName;const Sw=d.forwardRef(({className:e,...t},r)=>i.jsx(Ud,{ref:r,className:P("-mx-1 my-1 h-px bg-muted",e),...t}));Sw.displayName=Ud.displayName;const Cn=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,className:P("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));Cn.displayName="Card";const En=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,className:P("flex flex-col space-y-1.5 p-6",e),...t}));En.displayName="CardHeader";const Nn=d.forwardRef(({className:e,...t},r)=>i.jsx("h3",{ref:r,className:P("text-2xl font-semibold leading-none tracking-tight",e),...t}));Nn.displayName="CardTitle";const Cw=d.forwardRef(({className:e,...t},r)=>i.jsx("p",{ref:r,className:P("text-sm text-muted-foreground",e),...t}));Cw.displayName="CardDescription";const Tn=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,className:P("p-6 pt-0",e),...t}));Tn.displayName="CardContent";const Ew=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,className:P("flex items-center p-6 pt-0",e),...t}));Ew.displayName="CardFooter";const Nw={api:{baseUrl:"http://localhost:8000/api",authToken:"",enableAuth:!1},ui:{layout:"sidebar",theme:"light",showTimestamps:!0,showAgentNames:!0,compactMessages:!1},behavior:{autoSave:!0,enableStreaming:!0,showTypingIndicator:!0}};function Tw({settings:e,onSettingsChange:t,className:r=""}){const[n,o]=A.useState(!1),[s,a]=A.useState(!1),[c,l]=A.useState(e),[f,u]=A.useState(!1),{toast:p}=Sa();A.useEffect(()=>{const b=JSON.stringify(c)!==JSON.stringify(e);u(b)},[c,e]),A.useEffect(()=>{l(e)},[e]);const g=()=>{t(c),u(!1),p({title:"Settings saved",description:"Your chat configuration has been updated successfully."})},v=()=>{l(Nw),u(!0),p({title:"Settings reset",description:"Configuration has been reset to defaults."})},m=()=>{l(e),u(!1),o(!1)},h=async()=>{try{const w=await(await fetch(`${c.api.baseUrl}/health`)).json();p({title:"Connection successful",description:`API is ${w.status||"healthy"}`})}catch{p({title:"Connection failed",description:"Unable to connect to the API endpoint.",variant:"destructive"})}};return i.jsxs(yl,{open:n,onOpenChange:o,children:[i.jsx(qb,{asChild:!0,children:i.jsxs(he,{variant:"outline",size:"sm",className:r,children:[i.jsx(q.Settings,{className:"h-4 w-4 mr-2"}),"Settings",f&&i.jsx(ua,{variant:"destructive",className:"ml-2 h-4 w-4 p-0"})]})}),i.jsxs(Zo,{className:"w-[500px] sm:w-[600px] overflow-y-auto",children:[i.jsxs(Sl,{children:[i.jsx(Cl,{children:"Chat Settings"}),i.jsx(El,{children:"Configure your chat interface, API connection, and behavior preferences."})]}),i.jsxs("div",{className:"space-y-6 py-6",children:[i.jsxs(Cn,{children:[i.jsx(En,{className:"pb-3",children:i.jsxs(Nn,{className:"text-lg flex items-center gap-2",children:[i.jsx(q.Server,{className:"h-5 w-5"}),"API Configuration"]})}),i.jsxs(Tn,{className:"space-y-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Fe,{htmlFor:"api-url",children:"API Base URL"}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(dr,{id:"api-url",value:c.api.baseUrl,onChange:b=>l(w=>({...w,api:{...w.api,baseUrl:b.target.value}})),placeholder:"http://localhost:8000/api"}),i.jsx(he,{variant:"outline",onClick:h,children:"Test"})]})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Fe,{htmlFor:"enable-auth",children:"Enable Authentication"}),i.jsx(it,{id:"enable-auth",checked:c.api.enableAuth,onCheckedChange:b=>l(w=>({...w,api:{...w.api,enableAuth:b}}))})]}),c.api.enableAuth&&i.jsxs("div",{className:"space-y-2",children:[i.jsx(Fe,{htmlFor:"auth-token",children:"Authentication Token"}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(dr,{id:"auth-token",type:s?"text":"password",value:c.api.authToken,onChange:b=>l(w=>({...w,api:{...w.api,authToken:b.target.value}})),placeholder:"Enter your Bearer token"}),i.jsx(he,{variant:"outline",size:"icon",onClick:()=>a(!s),children:s?i.jsx(q.EyeOff,{className:"h-4 w-4"}):i.jsx(q.Eye,{className:"h-4 w-4"})})]})]})]})]}),i.jsxs(Cn,{children:[i.jsx(En,{className:"pb-3",children:i.jsxs(Nn,{className:"text-lg flex items-center gap-2",children:[i.jsx(q.Layout,{className:"h-5 w-5"}),"Interface Settings"]})}),i.jsxs(Tn,{className:"space-y-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Fe,{htmlFor:"layout",children:"Layout Style"}),i.jsxs(Hd,{value:c.ui.layout,onValueChange:b=>l(w=>({...w,ui:{...w.ui,layout:b}})),children:[i.jsx(cs,{children:i.jsx(zd,{})}),i.jsxs(ls,{children:[i.jsx(yt,{value:"sidebar",children:"Sidebar Layout"}),i.jsx(yt,{value:"fullscreen",children:"Fullscreen"}),i.jsx(yt,{value:"tabs",children:"Tabbed Interface"})]})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Fe,{htmlFor:"theme",children:"Theme"}),i.jsxs(Hd,{value:c.ui.theme,onValueChange:b=>l(w=>({...w,ui:{...w.ui,theme:b}})),children:[i.jsx(cs,{children:i.jsx(zd,{})}),i.jsxs(ls,{children:[i.jsx(yt,{value:"light",children:"Light"}),i.jsx(yt,{value:"dark",children:"Dark"}),i.jsx(yt,{value:"system",children:"System"})]})]})]}),i.jsx(qo,{}),i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Fe,{htmlFor:"show-timestamps",children:"Show Timestamps"}),i.jsx(it,{id:"show-timestamps",checked:c.ui.showTimestamps,onCheckedChange:b=>l(w=>({...w,ui:{...w.ui,showTimestamps:b}}))})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Fe,{htmlFor:"show-agent-names",children:"Show Agent Names"}),i.jsx(it,{id:"show-agent-names",checked:c.ui.showAgentNames,onCheckedChange:b=>l(w=>({...w,ui:{...w.ui,showAgentNames:b}}))})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Fe,{htmlFor:"compact-messages",children:"Compact Messages"}),i.jsx(it,{id:"compact-messages",checked:c.ui.compactMessages,onCheckedChange:b=>l(w=>({...w,ui:{...w.ui,compactMessages:b}}))})]})]})]})]}),i.jsxs(Cn,{children:[i.jsx(En,{className:"pb-3",children:i.jsxs(Nn,{className:"text-lg flex items-center gap-2",children:[i.jsx(q.MessageCircle,{className:"h-5 w-5"}),"Behavior Settings"]})}),i.jsxs(Tn,{className:"space-y-4",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx(Fe,{htmlFor:"auto-save",children:"Auto-save Conversations"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"Automatically save messages to threads"})]}),i.jsx(it,{id:"auto-save",checked:c.behavior.autoSave,onCheckedChange:b=>l(w=>({...w,behavior:{...w.behavior,autoSave:b}}))})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx(Fe,{htmlFor:"enable-streaming",children:"Enable Streaming"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"Stream responses in real-time"})]}),i.jsx(it,{id:"enable-streaming",checked:c.behavior.enableStreaming,onCheckedChange:b=>l(w=>({...w,behavior:{...w.behavior,enableStreaming:b}}))})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx(Fe,{htmlFor:"typing-indicator",children:"Typing Indicator"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"Show typing indicator during responses"})]}),i.jsx(it,{id:"typing-indicator",checked:c.behavior.showTypingIndicator,onCheckedChange:b=>l(w=>({...w,behavior:{...w.behavior,showTypingIndicator:b}}))})]})]})]})]}),i.jsxs("div",{className:"flex items-center justify-between pt-6 border-t",children:[i.jsxs(he,{variant:"outline",onClick:v,children:[i.jsx(q.RotateCcw,{className:"h-4 w-4 mr-2"}),"Reset"]}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(he,{variant:"outline",onClick:m,children:"Cancel"}),i.jsxs(he,{onClick:g,disabled:!f,children:[i.jsx(q.Save,{className:"h-4 w-4 mr-2"}),"Save Changes"]})]})]})]})]})}function Aw({layout:e="sidebar",layoutSize:t="desktop",showThreads:r=!0,className:n="",customStyles:o={},...s}){const a=f=>{const u="h-full";switch(f){case"phone":return`${u} max-w-none`;case"tablet":return`${u} max-w-4xl mx-auto`;case"half-screen":return`${u} max-w-2xl`;case"desktop":default:return`${u} max-w-7xl mx-auto`}},c=f=>({"--chat-sidebar-width":f==="phone"?"100%":f==="tablet"?"280px":f==="half-screen"?"240px":"320px","--chat-message-max-width":f==="phone"?"95%":f==="tablet"?"90%":f==="half-screen"?"85%":"80%","--chat-input-height":f==="phone"?"120px":"100px"}),l=A.useCallback(f=>{var u;(u=s.onThreadChange)==null||u.call(s,f)},[s.onThreadChange]);return e==="fullscreen"?i.jsx(Xt,{...s,onThreadChange:l,children:i.jsx("div",{className:`${a(t)} flex flex-col overflow-hidden ${n} ${o.container||""}`,style:c(t),children:i.jsx(lr,{className:"flex-1",onError:s.onError,enableFileUpload:!0})})}):e==="tabs"?i.jsx(Xt,{...s,onThreadChange:l,children:i.jsx("div",{className:`${a(t)} flex flex-col overflow-hidden ${n} ${o.container||""}`,style:c(t),children:i.jsxs("div",{className:"flex-1 flex min-h-0 overflow-hidden",children:[r&&i.jsx("div",{className:`w-80 border-r flex-shrink-0 overflow-hidden ${o.sidebar||""}`,children:i.jsx(un,{showCreateButton:!0,showDeleteButton:!0,showEditTitle:!0,className:"h-full"})}),i.jsx("div",{className:`flex-1 min-w-0 overflow-hidden ${o.chatArea||""}`,children:i.jsx(lr,{onError:s.onError,enableFileUpload:!0})})]})})}):i.jsx(Xt,{...s,onThreadChange:l,children:i.jsxs("div",{className:`${a(t)} flex overflow-hidden ${n} ${o.container||""}`,style:c(t),children:[r&&i.jsx("div",{className:`w-80 border-r bg-gray-50 flex-shrink-0 overflow-hidden ${o.sidebar||""}`,children:i.jsx(un,{showCreateButton:!0,showDeleteButton:!0,showEditTitle:!0,className:"h-full"})}),i.jsx("div",{className:`flex-1 min-w-0 overflow-hidden ${o.chatArea||""}`,children:i.jsx(lr,{onError:s.onError,enableFileUpload:!0})})]})})}ee.Api=Tr,ee.ApiClient=Tr,ee.ChatApi=Tr,ee.ChatInterface=lr,ee.ChatMainLayout=Uv,ee.ChatProvider=Xt,ee.ChatRoutingProvider=Cb,ee.ChatSettings=Tw,ee.MarkdownContent=Yt,ee.MessageComponent=Ca,ee.ThreadManager=un,ee.apiClient=Ke,ee.applySettings=_b,ee.chatApiClient=Ke,ee.default=Aw,ee.del=sa,ee.get=Me,ee.getChatToken=ra,ee.getCurrentSettings=Ib,ee.getDefaultApiConfig=qc,ee.getDefaultChatSettings=Xc,ee.onChatTokenChanged=na,ee.post=qt,ee.put=oa,ee.setChatToken=Vn,ee.useChat=Ar,ee.useChatRouting=Eb,ee.useChatStream=aa,ee.useMessagesReducer=ia,Object.defineProperties(ee,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
62
+ For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return d.useEffect(()=>{e&&(document.getElementById(e)||console.error(r))},[r,e]),null},Wb="DialogDescriptionWarning",jb=({contentRef:e,descriptionId:t})=>{const n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${gl(Wb).contentName}}.`;return d.useEffect(()=>{var s;const o=(s=e.current)==null?void 0:s.getAttribute("aria-describedby");t&&o&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},Vb=tl,Kb=nl,Rb=sl,ml=al,bl=il,vl=ll,wl=ul,Gb=pl;const yl=Vb,qb=Kb,Xb=Rb,xl=d.forwardRef(({className:e,...t},r)=>i.jsx(ml,{className:P("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:r}));xl.displayName=ml.displayName;const Yb=Wt.cva("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),Zo=d.forwardRef(({side:e="right",className:t,children:r,...n},o)=>i.jsxs(Xb,{children:[i.jsx(xl,{}),i.jsxs(bl,{ref:o,className:P(Yb({side:e}),t),...n,children:[r,i.jsxs(Gb,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[i.jsx(q.X,{className:"h-4 w-4"}),i.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Zo.displayName=bl.displayName;const Sl=({className:e,...t})=>i.jsx("div",{className:P("flex flex-col space-y-2 text-center sm:text-left",e),...t});Sl.displayName="SheetHeader";const Cl=d.forwardRef(({className:e,...t},r)=>i.jsx(vl,{ref:r,className:P("text-lg font-semibold text-foreground",e),...t}));Cl.displayName=vl.displayName;const El=d.forwardRef(({className:e,...t},r)=>i.jsx(wl,{ref:r,className:P("text-sm text-muted-foreground",e),...t}));El.displayName=wl.displayName;function Nl({className:e,...t}){return i.jsx("div",{className:P("animate-pulse rounded-md bg-muted",e),...t})}var Tl=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Jb="VisuallyHidden",Al=d.forwardRef((e,t)=>i.jsx(Q.span,{...e,ref:t,style:{...Tl,...e.style}}));Al.displayName=Jb;var Zb=Al,[hn,ly]=Be("Tooltip",[Ot]),gn=Ot(),Pl="TooltipProvider",Qb=700,Qo="tooltip.open",[ev,es]=hn(Pl),Il=e=>{const{__scopeTooltip:t,delayDuration:r=Qb,skipDelayDuration:n=300,disableHoverableContent:o=!1,children:s}=e,a=d.useRef(!0),c=d.useRef(!1),l=d.useRef(0);return d.useEffect(()=>{const f=l.current;return()=>window.clearTimeout(f)},[]),i.jsx(ev,{scope:t,isOpenDelayedRef:a,delayDuration:r,onOpen:d.useCallback(()=>{window.clearTimeout(l.current),a.current=!1},[]),onClose:d.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>a.current=!0,n)},[n]),isPointerInTransitRef:c,onPointerInTransitChange:d.useCallback(f=>{c.current=f},[]),disableHoverableContent:o,children:s})};Il.displayName=Pl;var fr="Tooltip",[tv,mn]=hn(fr),_l=e=>{const{__scopeTooltip:t,children:r,open:n,defaultOpen:o,onOpenChange:s,disableHoverableContent:a,delayDuration:c}=e,l=es(fr,e.__scopeTooltip),f=gn(t),[u,p]=d.useState(null),g=Ue(),v=d.useRef(0),m=a??l.disableHoverableContent,h=c??l.delayDuration,b=d.useRef(!1),[w,x]=nt({prop:n,defaultProp:o??!1,onChange:N=>{N?(l.onOpen(),document.dispatchEvent(new CustomEvent(Qo))):l.onClose(),s==null||s(N)},caller:fr}),y=d.useMemo(()=>w?b.current?"delayed-open":"instant-open":"closed",[w]),C=d.useCallback(()=>{window.clearTimeout(v.current),v.current=0,b.current=!1,x(!0)},[x]),T=d.useCallback(()=>{window.clearTimeout(v.current),v.current=0,x(!1)},[x]),M=d.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>{b.current=!0,x(!0),v.current=0},h)},[h,x]);return d.useEffect(()=>()=>{v.current&&(window.clearTimeout(v.current),v.current=0)},[]),i.jsx(xo,{...f,children:i.jsx(tv,{scope:t,contentId:g,open:w,stateAttribute:y,trigger:u,onTriggerChange:p,onTriggerEnter:d.useCallback(()=>{l.isOpenDelayedRef.current?M():C()},[l.isOpenDelayedRef,M,C]),onTriggerLeave:d.useCallback(()=>{m?T():(window.clearTimeout(v.current),v.current=0)},[T,m]),onOpen:C,onClose:T,disableHoverableContent:m,children:r})})};_l.displayName=fr;var ts="TooltipTrigger",kl=d.forwardRef((e,t)=>{const{__scopeTooltip:r,...n}=e,o=mn(ts,r),s=es(ts,r),a=gn(r),c=d.useRef(null),l=ae(t,c,o.onTriggerChange),f=d.useRef(!1),u=d.useRef(!1),p=d.useCallback(()=>f.current=!1,[]);return d.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),i.jsx(So,{asChild:!0,...a,children:i.jsx(Q.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...n,ref:l,onPointerMove:H(e.onPointerMove,g=>{g.pointerType!=="touch"&&!u.current&&!s.isPointerInTransitRef.current&&(o.onTriggerEnter(),u.current=!0)}),onPointerLeave:H(e.onPointerLeave,()=>{o.onTriggerLeave(),u.current=!1}),onPointerDown:H(e.onPointerDown,()=>{o.open&&o.onClose(),f.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:H(e.onFocus,()=>{f.current||o.onOpen()}),onBlur:H(e.onBlur,o.onClose),onClick:H(e.onClick,o.onClose)})})});kl.displayName=ts;var rv="TooltipPortal",[dy,nv]=hn(rv,{forceMount:void 0}),Bt="TooltipContent",Ol=d.forwardRef((e,t)=>{const r=nv(Bt,e.__scopeTooltip),{forceMount:n=r.forceMount,side:o="top",...s}=e,a=mn(Bt,e.__scopeTooltip);return i.jsx(Ie,{present:n||a.open,children:a.disableHoverableContent?i.jsx(Ml,{side:o,...s,ref:t}):i.jsx(ov,{side:o,...s,ref:t})})}),ov=d.forwardRef((e,t)=>{const r=mn(Bt,e.__scopeTooltip),n=es(Bt,e.__scopeTooltip),o=d.useRef(null),s=ae(t,o),[a,c]=d.useState(null),{trigger:l,onClose:f}=r,u=o.current,{onPointerInTransitChange:p}=n,g=d.useCallback(()=>{c(null),p(!1)},[p]),v=d.useCallback((m,h)=>{const b=m.currentTarget,w={x:m.clientX,y:m.clientY},x=lv(w,b.getBoundingClientRect()),y=dv(w,x),C=uv(h.getBoundingClientRect()),T=pv([...y,...C]);c(T),p(!0)},[p]);return d.useEffect(()=>()=>g(),[g]),d.useEffect(()=>{if(l&&u){const m=b=>v(b,u),h=b=>v(b,l);return l.addEventListener("pointerleave",m),u.addEventListener("pointerleave",h),()=>{l.removeEventListener("pointerleave",m),u.removeEventListener("pointerleave",h)}}},[l,u,v,g]),d.useEffect(()=>{if(a){const m=h=>{const b=h.target,w={x:h.clientX,y:h.clientY},x=(l==null?void 0:l.contains(b))||(u==null?void 0:u.contains(b)),y=!fv(w,a);x?g():y&&(g(),f())};return document.addEventListener("pointermove",m),()=>document.removeEventListener("pointermove",m)}},[l,u,a,f,g]),i.jsx(Ml,{...e,ref:s})}),[sv,av]=hn(fr,{isInside:!1}),iv=_e.createSlottable("TooltipContent"),Ml=d.forwardRef((e,t)=>{const{__scopeTooltip:r,children:n,"aria-label":o,onEscapeKeyDown:s,onPointerDownOutside:a,...c}=e,l=mn(Bt,r),f=gn(r),{onClose:u}=l;return d.useEffect(()=>(document.addEventListener(Qo,u),()=>document.removeEventListener(Qo,u)),[u]),d.useEffect(()=>{if(l.trigger){const p=g=>{const v=g.target;v!=null&&v.contains(l.trigger)&&u()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[l.trigger,u]),i.jsx(Qt,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:p=>p.preventDefault(),onDismiss:u,children:i.jsxs(Co,{"data-state":l.stateAttribute,...f,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[i.jsx(iv,{children:n}),i.jsx(sv,{scope:r,isInside:!0,children:i.jsx(Zb,{id:l.contentId,role:"tooltip",children:o||n})})]})})});Ol.displayName=Bt;var Dl="TooltipArrow",cv=d.forwardRef((e,t)=>{const{__scopeTooltip:r,...n}=e,o=gn(r);return av(Dl,r).isInside?null:i.jsx(Eo,{...o,...n,ref:t})});cv.displayName=Dl;function lv(e,t){const r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(r,n,o,s)){case s:return"left";case o:return"right";case r:return"top";case n:return"bottom";default:throw new Error("unreachable")}}function dv(e,t,r=5){const n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return n}function uv(e){const{top:t,right:r,bottom:n,left:o}=e;return[{x:o,y:t},{x:r,y:t},{x:r,y:n},{x:o,y:n}]}function fv(e,t){const{x:r,y:n}=e;let o=!1;for(let s=0,a=t.length-1;s<t.length;a=s++){const c=t[s],l=t[a],f=c.x,u=c.y,p=l.x,g=l.y;u>n!=g>n&&r<(p-f)*(n-u)/(g-u)+f&&(o=!o)}return o}function pv(e){const t=e.slice();return t.sort((r,n)=>r.x<n.x?-1:r.x>n.x?1:r.y<n.y?-1:r.y>n.y?1:0),hv(t)}function hv(e){if(e.length<=1)return e.slice();const t=[];for(let n=0;n<e.length;n++){const o=e[n];for(;t.length>=2;){const s=t[t.length-1],a=t[t.length-2];if((s.x-a.x)*(o.y-a.y)>=(s.y-a.y)*(o.x-a.x))t.pop();else break}t.push(o)}t.pop();const r=[];for(let n=e.length-1;n>=0;n--){const o=e[n];for(;r.length>=2;){const s=r[r.length-1],a=r[r.length-2];if((s.x-a.x)*(o.y-a.y)>=(s.y-a.y)*(o.x-a.x))r.pop();else break}r.push(o)}return r.pop(),t.length===1&&r.length===1&&t[0].x===r[0].x&&t[0].y===r[0].y?t:t.concat(r)}var gv=Il,mv=_l,bv=kl,Ll=Ol;const vv=gv,wv=mv,yv=bv,Fl=d.forwardRef(({className:e,sideOffset:t=4,...r},n)=>i.jsx(Ll,{ref:n,sideOffset:t,className:P("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r}));Fl.displayName=Ll.displayName;const xv="sidebar:state",Sv=60*60*24*7,Cv="16rem",Ev="18rem",Nv="3rem",Tv="b",$l=d.createContext(null);function bn(){const e=d.useContext($l);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const Bl=d.forwardRef(({defaultOpen:e=!0,open:t,onOpenChange:r,className:n,style:o,children:s,...a},c)=>{const l=kb(),[f,u]=d.useState(!1),[p,g]=d.useState(e),v=t??p,m=d.useCallback(x=>{const y=typeof x=="function"?x(v):x;r?r(y):g(y),document.cookie=`${xv}=${y}; path=/; max-age=${Sv}`},[r,v]),h=d.useCallback(()=>l?u(x=>!x):m(x=>!x),[l,m,u]);d.useEffect(()=>{const x=y=>{y.key===Tv&&(y.metaKey||y.ctrlKey)&&(y.preventDefault(),h())};return window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)},[h]);const b=v?"expanded":"collapsed",w=d.useMemo(()=>({state:b,open:v,setOpen:m,isMobile:l,openMobile:f,setOpenMobile:u,toggleSidebar:h}),[b,v,m,l,f,u,h]);return i.jsx($l.Provider,{value:w,children:i.jsx(vv,{delayDuration:0,children:i.jsx("div",{style:{"--sidebar-width":Cv,"--sidebar-width-icon":Nv,...o},className:P("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar",n),ref:c,...a,children:s})})})});Bl.displayName="SidebarProvider";const Ul=d.forwardRef(({side:e="left",variant:t="sidebar",collapsible:r="offcanvas",className:n,children:o,...s},a)=>{const{isMobile:c,state:l,openMobile:f,setOpenMobile:u}=bn();return r==="none"?i.jsx("div",{className:P("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",n),ref:a,...s,children:o}):c?i.jsx(yl,{open:f,onOpenChange:u,...s,children:i.jsx(Zo,{"data-sidebar":"sidebar","data-mobile":"true",className:"w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":Ev},side:e,children:i.jsx("div",{className:"flex h-full w-full flex-col",children:o})})}):i.jsxs("div",{ref:a,className:"group peer hidden md:block text-sidebar-foreground","data-state":l,"data-collapsible":l==="collapsed"?r:"","data-variant":t,"data-side":e,children:[i.jsx("div",{className:P("duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",t==="floating"||t==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),i.jsx("div",{className:P("duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex",e==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",t==="floating"||t==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l",n),...s,children:i.jsx("div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow",children:o})})]})});Ul.displayName="Sidebar";const Hl=d.forwardRef(({className:e,onClick:t,...r},n)=>{const{toggleSidebar:o}=bn();return i.jsxs(he,{ref:n,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:P("h-7 w-7",e),onClick:s=>{t==null||t(s),o()},...r,children:[i.jsx(q.PanelLeft,{}),i.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});Hl.displayName="SidebarTrigger";const Av=d.forwardRef(({className:e,...t},r)=>{const{toggleSidebar:n}=bn();return i.jsx("button",{ref:r,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:n,title:"Toggle Sidebar",className:P("absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...t})});Av.displayName="SidebarRail";const zl=d.forwardRef(({className:e,...t},r)=>i.jsx("main",{ref:r,className:P("relative flex min-h-svh flex-1 flex-col bg-background","peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",e),...t}));zl.displayName="SidebarInset";const Pv=d.forwardRef(({className:e,...t},r)=>i.jsx(dr,{ref:r,"data-sidebar":"input",className:P("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",e),...t}));Pv.displayName="SidebarInput";const Wl=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"header",className:P("flex flex-col gap-2 p-2",e),...t}));Wl.displayName="SidebarHeader";const Iv=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"footer",className:P("flex flex-col gap-2 p-2",e),...t}));Iv.displayName="SidebarFooter";const _v=d.forwardRef(({className:e,...t},r)=>i.jsx(qo,{ref:r,"data-sidebar":"separator",className:P("mx-2 w-auto bg-sidebar-border",e),...t}));_v.displayName="SidebarSeparator";const jl=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"content",className:P("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...t}));jl.displayName="SidebarContent";const Vl=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"group",className:P("relative flex w-full min-w-0 flex-col p-2",e),...t}));Vl.displayName="SidebarGroup";const Kl=d.forwardRef(({className:e,asChild:t=!1,...r},n)=>{const o=t?_e.Slot:"div";return i.jsx(o,{ref:n,"data-sidebar":"group-label",className:P("duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...r})});Kl.displayName="SidebarGroupLabel";const kv=d.forwardRef(({className:e,asChild:t=!1,...r},n)=>{const o=t?_e.Slot:"button";return i.jsx(o,{ref:n,"data-sidebar":"group-action",className:P("absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",e),...r})});kv.displayName="SidebarGroupAction";const Rl=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"group-content",className:P("w-full text-sm",e),...t}));Rl.displayName="SidebarGroupContent";const Gl=d.forwardRef(({className:e,...t},r)=>i.jsx("ul",{ref:r,"data-sidebar":"menu",className:P("flex w-full min-w-0 flex-col gap-1",e),...t}));Gl.displayName="SidebarMenu";const ql=d.forwardRef(({className:e,...t},r)=>i.jsx("li",{ref:r,"data-sidebar":"menu-item",className:P("group/menu-item relative",e),...t}));ql.displayName="SidebarMenuItem";const Ov=Wt.cva("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),Xl=d.forwardRef(({asChild:e=!1,isActive:t=!1,variant:r="default",size:n="default",tooltip:o,className:s,...a},c)=>{const l=e?_e.Slot:"button",{isMobile:f,state:u}=bn(),p=i.jsx(l,{ref:c,"data-sidebar":"menu-button","data-size":n,"data-active":t,className:P(Ov({variant:r,size:n}),s),...a});return o?(typeof o=="string"&&(o={children:o}),i.jsxs(wv,{children:[i.jsx(yv,{asChild:!0,children:p}),i.jsx(Fl,{side:"right",align:"center",hidden:u!=="collapsed"||f,...o})]})):p});Xl.displayName="SidebarMenuButton";const Mv=d.forwardRef(({className:e,asChild:t=!1,showOnHover:r=!1,...n},o)=>{const s=t?_e.Slot:"button";return i.jsx(s,{ref:o,"data-sidebar":"menu-action",className:P("absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",r&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",e),...n})});Mv.displayName="SidebarMenuAction";const Dv=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,"data-sidebar":"menu-badge",className:P("absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",e),...t}));Dv.displayName="SidebarMenuBadge";const Lv=d.forwardRef(({className:e,showIcon:t=!1,...r},n)=>{const o=d.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return i.jsxs("div",{ref:n,"data-sidebar":"menu-skeleton",className:P("rounded-md h-8 flex gap-2 px-2 items-center",e),...r,children:[t&&i.jsx(Nl,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),i.jsx(Nl,{className:"h-4 flex-1 max-w-[--skeleton-width]","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":o}})]})});Lv.displayName="SidebarMenuSkeleton";const Fv=d.forwardRef(({className:e,...t},r)=>i.jsx("ul",{ref:r,"data-sidebar":"menu-sub",className:P("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",e),...t}));Fv.displayName="SidebarMenuSub";const $v=d.forwardRef(({...e},t)=>i.jsx("li",{ref:t,...e}));$v.displayName="SidebarMenuSubItem";const Bv=d.forwardRef(({asChild:e=!1,size:t="md",isActive:r,className:n,...o},s)=>{const a=e?_e.Slot:"a";return i.jsx(a,{ref:s,"data-sidebar":"menu-sub-button","data-size":t,"data-active":r,className:P("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",t==="sm"&&"text-xs",t==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",n),...o})});Bv.displayName="SidebarMenuSubButton";function Uv({header:e,sidebarTitle:t="Threads",showThreads:r=!0,className:n="",sidebarClassName:o="",chatClassName:s="",...a}){return i.jsx(Xt,{...a,children:i.jsxs(Bl,{className:`w-full ${n}`,children:[i.jsxs(Ul,{className:`border-r ${o}`,children:[i.jsx(Wl,{children:i.jsx(Gl,{children:i.jsx(ql,{children:i.jsx(Xl,{size:"lg",children:i.jsx("span",{className:"font-semibold",children:t})})})})}),i.jsx(jl,{children:r&&i.jsxs(Vl,{children:[i.jsx(Kl,{children:"Conversations"}),i.jsx(Rl,{children:i.jsx("div",{className:"px-2 py-1",children:i.jsx(un,{showCreateButton:!0,showDeleteButton:!0,showEditTitle:!0,className:"h-[calc(100vh-12rem)]"})})})]})})]}),i.jsxs(zl,{children:[i.jsxs("header",{className:"h-14 border-b bg-background/60 backdrop-blur flex items-center gap-2 px-4",children:[i.jsx(Hl,{}),i.jsx("div",{className:"flex-1"}),e]}),i.jsx("main",{className:`flex-1 min-h-0 overflow-hidden ${s}`,children:i.jsx(lr,{})})]})]})})}var Hv="Label",Yl=d.forwardRef((e,t)=>i.jsx(Q.label,{...e,ref:t,onMouseDown:r=>{var o;r.target.closest("button, input, select, textarea")||((o=e.onMouseDown)==null||o.call(e,r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));Yl.displayName=Hv;var Jl=Yl;const zv=Wt.cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Fe=d.forwardRef(({className:e,...t},r)=>i.jsx(Jl,{ref:r,className:P(zv(),e),...t}));Fe.displayName=Jl.displayName;function Zl(e){const t=d.useRef({value:e,previous:e});return d.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var vn="Switch",[Wv,uy]=Be(vn),[jv,Vv]=Wv(vn),Ql=d.forwardRef((e,t)=>{const{__scopeSwitch:r,name:n,checked:o,defaultChecked:s,required:a,disabled:c,value:l="on",onCheckedChange:f,form:u,...p}=e,[g,v]=d.useState(null),m=ae(t,y=>v(y)),h=d.useRef(!1),b=g?u||!!g.closest("form"):!0,[w,x]=nt({prop:o,defaultProp:s??!1,onChange:f,caller:vn});return i.jsxs(jv,{scope:r,checked:w,disabled:c,children:[i.jsx(Q.button,{type:"button",role:"switch","aria-checked":w,"aria-required":a,"data-state":nd(w),"data-disabled":c?"":void 0,disabled:c,value:l,...p,ref:m,onClick:H(e.onClick,y=>{x(C=>!C),b&&(h.current=y.isPropagationStopped(),h.current||y.stopPropagation())})}),b&&i.jsx(rd,{control:g,bubbles:!h.current,name:n,value:l,checked:w,required:a,disabled:c,form:u,style:{transform:"translateX(-100%)"}})]})});Ql.displayName=vn;var ed="SwitchThumb",td=d.forwardRef((e,t)=>{const{__scopeSwitch:r,...n}=e,o=Vv(ed,r);return i.jsx(Q.span,{"data-state":nd(o.checked),"data-disabled":o.disabled?"":void 0,...n,ref:t})});td.displayName=ed;var Kv="SwitchBubbleInput",rd=d.forwardRef(({__scopeSwitch:e,control:t,checked:r,bubbles:n=!0,...o},s)=>{const a=d.useRef(null),c=ae(a,s),l=Zl(r),f=ai(t);return d.useEffect(()=>{const u=a.current;if(!u)return;const p=window.HTMLInputElement.prototype,v=Object.getOwnPropertyDescriptor(p,"checked").set;if(l!==r&&v){const m=new Event("click",{bubbles:n});v.call(u,r),u.dispatchEvent(m)}},[l,r,n]),i.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:r,...o,tabIndex:-1,ref:c,style:{...o.style,...f,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});rd.displayName=Kv;function nd(e){return e?"checked":"unchecked"}var od=Ql,Rv=td;const it=d.forwardRef(({className:e,...t},r)=>i.jsx(od,{className:P("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...t,ref:r,children:i.jsx(Rv,{className:P("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})}));it.displayName=od.displayName;var Gv=[" ","Enter","ArrowUp","ArrowDown"],qv=[" ","Enter"],vt="Select",[wn,yn,Xv]=to(vt),[Ut,fy]=Be(vt,[Xv,Ot]),xn=Ot(),[Yv,ct]=Ut(vt),[Jv,Zv]=Ut(vt),sd=e=>{const{__scopeSelect:t,children:r,open:n,defaultOpen:o,onOpenChange:s,value:a,defaultValue:c,onValueChange:l,dir:f,name:u,autoComplete:p,disabled:g,required:v,form:m}=e,h=xn(t),[b,w]=d.useState(null),[x,y]=d.useState(null),[C,T]=d.useState(!1),M=Dr(f),[N,F]=nt({prop:n,defaultProp:o??!1,onChange:s,caller:vt}),[B,z]=nt({prop:a,defaultProp:c,onChange:l,caller:vt}),R=d.useRef(null),X=b?m||!!b.closest("form"):!0,[V,I]=d.useState(new Set),U=Array.from(V).map(_=>_.props.value).join(";");return i.jsx(xo,{...h,children:i.jsxs(Yv,{required:v,scope:t,trigger:b,onTriggerChange:w,valueNode:x,onValueNodeChange:y,valueNodeHasChildren:C,onValueNodeHasChildrenChange:T,contentId:Ue(),value:B,onValueChange:z,open:N,onOpenChange:F,dir:M,triggerPointerDownPosRef:R,disabled:g,children:[i.jsx(wn.Provider,{scope:t,children:i.jsx(Jv,{scope:e.__scopeSelect,onNativeOptionAdd:d.useCallback(_=>{I(W=>new Set(W).add(_))},[]),onNativeOptionRemove:d.useCallback(_=>{I(W=>{const D=new Set(W);return D.delete(_),D})},[]),children:r})}),X?i.jsxs(Id,{"aria-hidden":!0,required:v,tabIndex:-1,name:u,autoComplete:p,value:B,onChange:_=>z(_.target.value),disabled:g,form:m,children:[B===void 0?i.jsx("option",{value:""}):null,Array.from(V)]},U):null]})})};sd.displayName=vt;var ad="SelectTrigger",id=d.forwardRef((e,t)=>{const{__scopeSelect:r,disabled:n=!1,...o}=e,s=xn(r),a=ct(ad,r),c=a.disabled||n,l=ae(t,a.onTriggerChange),f=yn(r),u=d.useRef("touch"),[p,g,v]=kd(h=>{const b=f().filter(y=>!y.disabled),w=b.find(y=>y.value===a.value),x=Od(b,h,w);x!==void 0&&a.onValueChange(x.value)}),m=h=>{c||(a.onOpenChange(!0),v()),h&&(a.triggerPointerDownPosRef.current={x:Math.round(h.pageX),y:Math.round(h.pageY)})};return i.jsx(So,{asChild:!0,...s,children:i.jsx(Q.button,{type:"button",role:"combobox","aria-controls":a.contentId,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":_d(a.value)?"":void 0,...o,ref:l,onClick:H(o.onClick,h=>{h.currentTarget.focus(),u.current!=="mouse"&&m(h)}),onPointerDown:H(o.onPointerDown,h=>{u.current=h.pointerType;const b=h.target;b.hasPointerCapture(h.pointerId)&&b.releasePointerCapture(h.pointerId),h.button===0&&h.ctrlKey===!1&&h.pointerType==="mouse"&&(m(h),h.preventDefault())}),onKeyDown:H(o.onKeyDown,h=>{const b=p.current!=="";!(h.ctrlKey||h.altKey||h.metaKey)&&h.key.length===1&&g(h.key),!(b&&h.key===" ")&&Gv.includes(h.key)&&(m(),h.preventDefault())})})})});id.displayName=ad;var cd="SelectValue",ld=d.forwardRef((e,t)=>{const{__scopeSelect:r,className:n,style:o,children:s,placeholder:a="",...c}=e,l=ct(cd,r),{onValueNodeHasChildrenChange:f}=l,u=s!==void 0,p=ae(t,l.onValueNodeChange);return Se(()=>{f(u)},[f,u]),i.jsx(Q.span,{...c,ref:p,style:{pointerEvents:"none"},children:_d(l.value)?i.jsx(i.Fragment,{children:a}):s})});ld.displayName=cd;var Qv="SelectIcon",dd=d.forwardRef((e,t)=>{const{__scopeSelect:r,children:n,...o}=e;return i.jsx(Q.span,{"aria-hidden":!0,...o,ref:t,children:n||"▼"})});dd.displayName=Qv;var ew="SelectPortal",ud=e=>i.jsx(Rr,{asChild:!0,...e});ud.displayName=ew;var wt="SelectContent",fd=d.forwardRef((e,t)=>{const r=ct(wt,e.__scopeSelect),[n,o]=d.useState();if(Se(()=>{o(new DocumentFragment)},[]),!r.open){const s=n;return s?hr.createPortal(i.jsx(pd,{scope:e.__scopeSelect,children:i.jsx(wn.Slot,{scope:e.__scopeSelect,children:i.jsx("div",{children:e.children})})}),s):null}return i.jsx(hd,{...e,ref:t})});fd.displayName=wt;var je=10,[pd,lt]=Ut(wt),tw="SelectContentImpl",rw=_e.createSlot("SelectContent.RemoveScroll"),hd=d.forwardRef((e,t)=>{const{__scopeSelect:r,position:n="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:s,onPointerDownOutside:a,side:c,sideOffset:l,align:f,alignOffset:u,arrowPadding:p,collisionBoundary:g,collisionPadding:v,sticky:m,hideWhenDetached:h,avoidCollisions:b,...w}=e,x=ct(wt,r),[y,C]=d.useState(null),[T,M]=d.useState(null),N=ae(t,j=>C(j)),[F,B]=d.useState(null),[z,R]=d.useState(null),X=yn(r),[V,I]=d.useState(!1),U=d.useRef(!1);d.useEffect(()=>{if(y)return Po(y)},[y]),oo();const _=d.useCallback(j=>{const[le,...ue]=X().map(ne=>ne.ref.current),[ce]=ue.slice(-1),de=document.activeElement;for(const ne of j)if(ne===de||(ne==null||ne.scrollIntoView({block:"nearest"}),ne===le&&T&&(T.scrollTop=0),ne===ce&&T&&(T.scrollTop=T.scrollHeight),ne==null||ne.focus(),document.activeElement!==de))return},[X,T]),W=d.useCallback(()=>_([F,y]),[_,F,y]);d.useEffect(()=>{V&&W()},[V,W]);const{onOpenChange:D,triggerPointerDownPosRef:E}=x;d.useEffect(()=>{if(y){let j={x:0,y:0};const le=ce=>{var de,ne;j={x:Math.abs(Math.round(ce.pageX)-(((de=E.current)==null?void 0:de.x)??0)),y:Math.abs(Math.round(ce.pageY)-(((ne=E.current)==null?void 0:ne.y)??0))}},ue=ce=>{j.x<=10&&j.y<=10?ce.preventDefault():y.contains(ce.target)||D(!1),document.removeEventListener("pointermove",le),E.current=null};return E.current!==null&&(document.addEventListener("pointermove",le),document.addEventListener("pointerup",ue,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",le),document.removeEventListener("pointerup",ue,{capture:!0})}}},[y,D,E]),d.useEffect(()=>{const j=()=>D(!1);return window.addEventListener("blur",j),window.addEventListener("resize",j),()=>{window.removeEventListener("blur",j),window.removeEventListener("resize",j)}},[D]);const[Z,G]=kd(j=>{const le=X().filter(de=>!de.disabled),ue=le.find(de=>de.ref.current===document.activeElement),ce=Od(le,j,ue);ce&&setTimeout(()=>ce.ref.current.focus())}),re=d.useCallback((j,le,ue)=>{const ce=!U.current&&!ue;(x.value!==void 0&&x.value===le||ce)&&(B(j),ce&&(U.current=!0))},[x.value]),$=d.useCallback(()=>y==null?void 0:y.focus(),[y]),K=d.useCallback((j,le,ue)=>{const ce=!U.current&&!ue;(x.value!==void 0&&x.value===le||ce)&&R(j)},[x.value]),ie=n==="popper"?rs:gd,ge=ie===rs?{side:c,sideOffset:l,align:f,alignOffset:u,arrowPadding:p,collisionBoundary:g,collisionPadding:v,sticky:m,hideWhenDetached:h,avoidCollisions:b}:{};return i.jsx(pd,{scope:r,content:y,viewport:T,onViewportChange:M,itemRefCallback:re,selectedItem:F,onItemLeave:$,itemTextRefCallback:K,focusSelectedItem:W,selectedItemText:z,position:n,isPositioned:V,searchRef:Z,children:i.jsx(en,{as:rw,allowPinchZoom:!0,children:i.jsx(Lr,{asChild:!0,trapped:x.open,onMountAutoFocus:j=>{j.preventDefault()},onUnmountAutoFocus:H(o,j=>{var le;(le=x.trigger)==null||le.focus({preventScroll:!0}),j.preventDefault()}),children:i.jsx(Qt,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:j=>j.preventDefault(),onDismiss:()=>x.onOpenChange(!1),children:i.jsx(ie,{role:"listbox",id:x.contentId,"data-state":x.open?"open":"closed",dir:x.dir,onContextMenu:j=>j.preventDefault(),...w,...ge,onPlaced:()=>I(!0),ref:N,style:{display:"flex",flexDirection:"column",outline:"none",...w.style},onKeyDown:H(w.onKeyDown,j=>{const le=j.ctrlKey||j.altKey||j.metaKey;if(j.key==="Tab"&&j.preventDefault(),!le&&j.key.length===1&&G(j.key),["ArrowUp","ArrowDown","Home","End"].includes(j.key)){let ce=X().filter(de=>!de.disabled).map(de=>de.ref.current);if(["ArrowUp","End"].includes(j.key)&&(ce=ce.slice().reverse()),["ArrowUp","ArrowDown"].includes(j.key)){const de=j.target,ne=ce.indexOf(de);ce=ce.slice(ne+1)}setTimeout(()=>_(ce)),j.preventDefault()}})})})})})})});hd.displayName=tw;var nw="SelectItemAlignedPosition",gd=d.forwardRef((e,t)=>{const{__scopeSelect:r,onPlaced:n,...o}=e,s=ct(wt,r),a=lt(wt,r),[c,l]=d.useState(null),[f,u]=d.useState(null),p=ae(t,N=>u(N)),g=yn(r),v=d.useRef(!1),m=d.useRef(!0),{viewport:h,selectedItem:b,selectedItemText:w,focusSelectedItem:x}=a,y=d.useCallback(()=>{if(s.trigger&&s.valueNode&&c&&f&&h&&b&&w){const N=s.trigger.getBoundingClientRect(),F=f.getBoundingClientRect(),B=s.valueNode.getBoundingClientRect(),z=w.getBoundingClientRect();if(s.dir!=="rtl"){const de=z.left-F.left,ne=B.left-de,J=N.left-ne,oe=N.width+J,k=Math.max(oe,F.width),L=window.innerWidth-je,se=Wo(ne,[je,Math.max(je,L-k)]);c.style.minWidth=oe+"px",c.style.left=se+"px"}else{const de=F.right-z.right,ne=window.innerWidth-B.right-de,J=window.innerWidth-N.right-ne,oe=N.width+J,k=Math.max(oe,F.width),L=window.innerWidth-je,se=Wo(ne,[je,Math.max(je,L-k)]);c.style.minWidth=oe+"px",c.style.right=se+"px"}const R=g(),X=window.innerHeight-je*2,V=h.scrollHeight,I=window.getComputedStyle(f),U=parseInt(I.borderTopWidth,10),_=parseInt(I.paddingTop,10),W=parseInt(I.borderBottomWidth,10),D=parseInt(I.paddingBottom,10),E=U+_+V+D+W,Z=Math.min(b.offsetHeight*5,E),G=window.getComputedStyle(h),re=parseInt(G.paddingTop,10),$=parseInt(G.paddingBottom,10),K=N.top+N.height/2-je,ie=X-K,ge=b.offsetHeight/2,j=b.offsetTop+ge,le=U+_+j,ue=E-le;if(le<=K){const de=R.length>0&&b===R[R.length-1].ref.current;c.style.bottom="0px";const ne=f.clientHeight-h.offsetTop-h.offsetHeight,J=Math.max(ie,ge+(de?$:0)+ne+W),oe=le+J;c.style.height=oe+"px"}else{const de=R.length>0&&b===R[0].ref.current;c.style.top="0px";const J=Math.max(K,U+h.offsetTop+(de?re:0)+ge)+ue;c.style.height=J+"px",h.scrollTop=le-K+h.offsetTop}c.style.margin=`${je}px 0`,c.style.minHeight=Z+"px",c.style.maxHeight=X+"px",n==null||n(),requestAnimationFrame(()=>v.current=!0)}},[g,s.trigger,s.valueNode,c,f,h,b,w,s.dir,n]);Se(()=>y(),[y]);const[C,T]=d.useState();Se(()=>{f&&T(window.getComputedStyle(f).zIndex)},[f]);const M=d.useCallback(N=>{N&&m.current===!0&&(y(),x==null||x(),m.current=!1)},[y,x]);return i.jsx(sw,{scope:r,contentWrapper:c,shouldExpandOnScrollRef:v,onScrollButtonChange:M,children:i.jsx("div",{ref:l,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:C},children:i.jsx(Q.div,{...o,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});gd.displayName=nw;var ow="SelectPopperPosition",rs=d.forwardRef((e,t)=>{const{__scopeSelect:r,align:n="start",collisionPadding:o=je,...s}=e,a=xn(r);return i.jsx(Co,{...a,...s,ref:t,align:n,collisionPadding:o,style:{boxSizing:"border-box",...s.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});rs.displayName=ow;var[sw,ns]=Ut(wt,{}),os="SelectViewport",md=d.forwardRef((e,t)=>{const{__scopeSelect:r,nonce:n,...o}=e,s=lt(os,r),a=ns(os,r),c=ae(t,s.onViewportChange),l=d.useRef(0);return i.jsxs(i.Fragment,{children:[i.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:n}),i.jsx(wn.Slot,{scope:r,children:i.jsx(Q.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:H(o.onScroll,f=>{const u=f.currentTarget,{contentWrapper:p,shouldExpandOnScrollRef:g}=a;if(g!=null&&g.current&&p){const v=Math.abs(l.current-u.scrollTop);if(v>0){const m=window.innerHeight-je*2,h=parseFloat(p.style.minHeight),b=parseFloat(p.style.height),w=Math.max(h,b);if(w<m){const x=w+v,y=Math.min(m,x),C=x-y;p.style.height=y+"px",p.style.bottom==="0px"&&(u.scrollTop=C>0?C:0,p.style.justifyContent="flex-end")}}}l.current=u.scrollTop})})})]})});md.displayName=os;var bd="SelectGroup",[aw,iw]=Ut(bd),cw=d.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e,o=Ue();return i.jsx(aw,{scope:r,id:o,children:i.jsx(Q.div,{role:"group","aria-labelledby":o,...n,ref:t})})});cw.displayName=bd;var vd="SelectLabel",wd=d.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e,o=iw(vd,r);return i.jsx(Q.div,{id:o.id,...n,ref:t})});wd.displayName=vd;var Sn="SelectItem",[lw,yd]=Ut(Sn),xd=d.forwardRef((e,t)=>{const{__scopeSelect:r,value:n,disabled:o=!1,textValue:s,...a}=e,c=ct(Sn,r),l=lt(Sn,r),f=c.value===n,[u,p]=d.useState(s??""),[g,v]=d.useState(!1),m=ae(t,x=>{var y;return(y=l.itemRefCallback)==null?void 0:y.call(l,x,n,o)}),h=Ue(),b=d.useRef("touch"),w=()=>{o||(c.onValueChange(n),c.onOpenChange(!1))};if(n==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return i.jsx(lw,{scope:r,value:n,disabled:o,textId:h,isSelected:f,onItemTextChange:d.useCallback(x=>{p(y=>y||((x==null?void 0:x.textContent)??"").trim())},[]),children:i.jsx(wn.ItemSlot,{scope:r,value:n,disabled:o,textValue:u,children:i.jsx(Q.div,{role:"option","aria-labelledby":h,"data-highlighted":g?"":void 0,"aria-selected":f&&g,"data-state":f?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...a,ref:m,onFocus:H(a.onFocus,()=>v(!0)),onBlur:H(a.onBlur,()=>v(!1)),onClick:H(a.onClick,()=>{b.current!=="mouse"&&w()}),onPointerUp:H(a.onPointerUp,()=>{b.current==="mouse"&&w()}),onPointerDown:H(a.onPointerDown,x=>{b.current=x.pointerType}),onPointerMove:H(a.onPointerMove,x=>{var y;b.current=x.pointerType,o?(y=l.onItemLeave)==null||y.call(l):b.current==="mouse"&&x.currentTarget.focus({preventScroll:!0})}),onPointerLeave:H(a.onPointerLeave,x=>{var y;x.currentTarget===document.activeElement&&((y=l.onItemLeave)==null||y.call(l))}),onKeyDown:H(a.onKeyDown,x=>{var C;((C=l.searchRef)==null?void 0:C.current)!==""&&x.key===" "||(qv.includes(x.key)&&w(),x.key===" "&&x.preventDefault())})})})})});xd.displayName=Sn;var pr="SelectItemText",Sd=d.forwardRef((e,t)=>{const{__scopeSelect:r,className:n,style:o,...s}=e,a=ct(pr,r),c=lt(pr,r),l=yd(pr,r),f=Zv(pr,r),[u,p]=d.useState(null),g=ae(t,w=>p(w),l.onItemTextChange,w=>{var x;return(x=c.itemTextRefCallback)==null?void 0:x.call(c,w,l.value,l.disabled)}),v=u==null?void 0:u.textContent,m=d.useMemo(()=>i.jsx("option",{value:l.value,disabled:l.disabled,children:v},l.value),[l.disabled,l.value,v]),{onNativeOptionAdd:h,onNativeOptionRemove:b}=f;return Se(()=>(h(m),()=>b(m)),[h,b,m]),i.jsxs(i.Fragment,{children:[i.jsx(Q.span,{id:l.textId,...s,ref:g}),l.isSelected&&a.valueNode&&!a.valueNodeHasChildren?hr.createPortal(s.children,a.valueNode):null]})});Sd.displayName=pr;var Cd="SelectItemIndicator",Ed=d.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e;return yd(Cd,r).isSelected?i.jsx(Q.span,{"aria-hidden":!0,...n,ref:t}):null});Ed.displayName=Cd;var ss="SelectScrollUpButton",Nd=d.forwardRef((e,t)=>{const r=lt(ss,e.__scopeSelect),n=ns(ss,e.__scopeSelect),[o,s]=d.useState(!1),a=ae(t,n.onScrollButtonChange);return Se(()=>{if(r.viewport&&r.isPositioned){let c=function(){const f=l.scrollTop>0;s(f)};const l=r.viewport;return c(),l.addEventListener("scroll",c),()=>l.removeEventListener("scroll",c)}},[r.viewport,r.isPositioned]),o?i.jsx(Ad,{...e,ref:a,onAutoScroll:()=>{const{viewport:c,selectedItem:l}=r;c&&l&&(c.scrollTop=c.scrollTop-l.offsetHeight)}}):null});Nd.displayName=ss;var as="SelectScrollDownButton",Td=d.forwardRef((e,t)=>{const r=lt(as,e.__scopeSelect),n=ns(as,e.__scopeSelect),[o,s]=d.useState(!1),a=ae(t,n.onScrollButtonChange);return Se(()=>{if(r.viewport&&r.isPositioned){let c=function(){const f=l.scrollHeight-l.clientHeight,u=Math.ceil(l.scrollTop)<f;s(u)};const l=r.viewport;return c(),l.addEventListener("scroll",c),()=>l.removeEventListener("scroll",c)}},[r.viewport,r.isPositioned]),o?i.jsx(Ad,{...e,ref:a,onAutoScroll:()=>{const{viewport:c,selectedItem:l}=r;c&&l&&(c.scrollTop=c.scrollTop+l.offsetHeight)}}):null});Td.displayName=as;var Ad=d.forwardRef((e,t)=>{const{__scopeSelect:r,onAutoScroll:n,...o}=e,s=lt("SelectScrollButton",r),a=d.useRef(null),c=yn(r),l=d.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return d.useEffect(()=>()=>l(),[l]),Se(()=>{var u;const f=c().find(p=>p.ref.current===document.activeElement);(u=f==null?void 0:f.ref.current)==null||u.scrollIntoView({block:"nearest"})},[c]),i.jsx(Q.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:H(o.onPointerDown,()=>{a.current===null&&(a.current=window.setInterval(n,50))}),onPointerMove:H(o.onPointerMove,()=>{var f;(f=s.onItemLeave)==null||f.call(s),a.current===null&&(a.current=window.setInterval(n,50))}),onPointerLeave:H(o.onPointerLeave,()=>{l()})})}),dw="SelectSeparator",Pd=d.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e;return i.jsx(Q.div,{"aria-hidden":!0,...n,ref:t})});Pd.displayName=dw;var is="SelectArrow",uw=d.forwardRef((e,t)=>{const{__scopeSelect:r,...n}=e,o=xn(r),s=ct(is,r),a=lt(is,r);return s.open&&a.position==="popper"?i.jsx(Eo,{...o,...n,ref:t}):null});uw.displayName=is;var fw="SelectBubbleInput",Id=d.forwardRef(({__scopeSelect:e,value:t,...r},n)=>{const o=d.useRef(null),s=ae(n,o),a=Zl(t);return d.useEffect(()=>{const c=o.current;if(!c)return;const l=window.HTMLSelectElement.prototype,u=Object.getOwnPropertyDescriptor(l,"value").set;if(a!==t&&u){const p=new Event("change",{bubbles:!0});u.call(c,t),c.dispatchEvent(p)}},[a,t]),i.jsx(Q.select,{...r,style:{...Tl,...r.style},ref:s,defaultValue:t})});Id.displayName=fw;function _d(e){return e===""||e===void 0}function kd(e){const t=Ce(e),r=d.useRef(""),n=d.useRef(0),o=d.useCallback(a=>{const c=r.current+a;t(c),function l(f){r.current=f,window.clearTimeout(n.current),f!==""&&(n.current=window.setTimeout(()=>l(""),1e3))}(c)},[t]),s=d.useCallback(()=>{r.current="",window.clearTimeout(n.current)},[]);return d.useEffect(()=>()=>window.clearTimeout(n.current),[]),[r,o,s]}function Od(e,t,r){const o=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,s=r?e.indexOf(r):-1;let a=pw(e,Math.max(s,0));o.length===1&&(a=a.filter(f=>f!==r));const l=a.find(f=>f.textValue.toLowerCase().startsWith(o.toLowerCase()));return l!==r?l:void 0}function pw(e,t){return e.map((r,n)=>e[(t+n)%e.length])}var hw=sd,Md=id,gw=ld,mw=dd,bw=ud,Dd=fd,vw=md,Ld=wd,Fd=xd,ww=Sd,yw=Ed,$d=Nd,Bd=Td,Ud=Pd;const Hd=hw,zd=gw,cs=d.forwardRef(({className:e,children:t,...r},n)=>i.jsxs(Md,{ref:n,className:P("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...r,children:[t,i.jsx(mw,{asChild:!0,children:i.jsx(q.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));cs.displayName=Md.displayName;const Wd=d.forwardRef(({className:e,...t},r)=>i.jsx($d,{ref:r,className:P("flex cursor-default items-center justify-center py-1",e),...t,children:i.jsx(q.ChevronUp,{className:"h-4 w-4"})}));Wd.displayName=$d.displayName;const jd=d.forwardRef(({className:e,...t},r)=>i.jsx(Bd,{ref:r,className:P("flex cursor-default items-center justify-center py-1",e),...t,children:i.jsx(q.ChevronDown,{className:"h-4 w-4"})}));jd.displayName=Bd.displayName;const ls=d.forwardRef(({className:e,children:t,position:r="popper",...n},o)=>i.jsx(bw,{children:i.jsxs(Dd,{ref:o,className:P("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...n,children:[i.jsx(Wd,{}),i.jsx(vw,{className:P("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),i.jsx(jd,{})]})}));ls.displayName=Dd.displayName;const xw=d.forwardRef(({className:e,...t},r)=>i.jsx(Ld,{ref:r,className:P("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...t}));xw.displayName=Ld.displayName;const yt=d.forwardRef(({className:e,children:t,...r},n)=>i.jsxs(Fd,{ref:n,className:P("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...r,children:[i.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:i.jsx(yw,{children:i.jsx(q.Check,{className:"h-4 w-4"})})}),i.jsx(ww,{children:t})]}));yt.displayName=Fd.displayName;const Sw=d.forwardRef(({className:e,...t},r)=>i.jsx(Ud,{ref:r,className:P("-mx-1 my-1 h-px bg-muted",e),...t}));Sw.displayName=Ud.displayName;const Cn=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,className:P("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));Cn.displayName="Card";const En=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,className:P("flex flex-col space-y-1.5 p-6",e),...t}));En.displayName="CardHeader";const Nn=d.forwardRef(({className:e,...t},r)=>i.jsx("h3",{ref:r,className:P("text-2xl font-semibold leading-none tracking-tight",e),...t}));Nn.displayName="CardTitle";const Cw=d.forwardRef(({className:e,...t},r)=>i.jsx("p",{ref:r,className:P("text-sm text-muted-foreground",e),...t}));Cw.displayName="CardDescription";const Tn=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,className:P("p-6 pt-0",e),...t}));Tn.displayName="CardContent";const Ew=d.forwardRef(({className:e,...t},r)=>i.jsx("div",{ref:r,className:P("flex items-center p-6 pt-0",e),...t}));Ew.displayName="CardFooter";const Nw={api:{baseUrl:"http://localhost:8000/api",authToken:"",enableAuth:!1},ui:{layout:"sidebar",theme:"light",showTimestamps:!0,showAgentNames:!0,compactMessages:!1},behavior:{autoSave:!0,enableStreaming:!0,showTypingIndicator:!0}};function Tw({settings:e,onSettingsChange:t,className:r=""}){const[n,o]=A.useState(!1),[s,a]=A.useState(!1),[c,l]=A.useState(e),[f,u]=A.useState(!1),{toast:p}=Sa();A.useEffect(()=>{const b=JSON.stringify(c)!==JSON.stringify(e);u(b)},[c,e]),A.useEffect(()=>{l(e)},[e]);const g=()=>{t(c),u(!1),p({title:"Settings saved",description:"Your chat configuration has been updated successfully."})},v=()=>{l(Nw),u(!0),p({title:"Settings reset",description:"Configuration has been reset to defaults."})},m=()=>{l(e),u(!1),o(!1)},h=async()=>{try{const w=await(await fetch(`${c.api.baseUrl}/health`)).json();p({title:"Connection successful",description:`API is ${w.status||"healthy"}`})}catch{p({title:"Connection failed",description:"Unable to connect to the API endpoint.",variant:"destructive"})}};return i.jsxs(yl,{open:n,onOpenChange:o,children:[i.jsx(qb,{asChild:!0,children:i.jsxs(he,{variant:"outline",size:"sm",className:r,children:[i.jsx(q.Settings,{className:"h-4 w-4 mr-2"}),"Settings",f&&i.jsx(ua,{variant:"destructive",className:"ml-2 h-4 w-4 p-0"})]})}),i.jsxs(Zo,{className:"w-[500px] sm:w-[600px] overflow-y-auto",children:[i.jsxs(Sl,{children:[i.jsx(Cl,{children:"Chat Settings"}),i.jsx(El,{children:"Configure your chat interface, API connection, and behavior preferences."})]}),i.jsxs("div",{className:"space-y-6 py-6",children:[i.jsxs(Cn,{children:[i.jsx(En,{className:"pb-3",children:i.jsxs(Nn,{className:"text-lg flex items-center gap-2",children:[i.jsx(q.Server,{className:"h-5 w-5"}),"API Configuration"]})}),i.jsxs(Tn,{className:"space-y-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Fe,{htmlFor:"api-url",children:"API Base URL"}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(dr,{id:"api-url",value:c.api.baseUrl,onChange:b=>l(w=>({...w,api:{...w.api,baseUrl:b.target.value}})),placeholder:"http://localhost:8000/api"}),i.jsx(he,{variant:"outline",onClick:h,children:"Test"})]})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Fe,{htmlFor:"enable-auth",children:"Enable Authentication"}),i.jsx(it,{id:"enable-auth",checked:c.api.enableAuth,onCheckedChange:b=>l(w=>({...w,api:{...w.api,enableAuth:b}}))})]}),c.api.enableAuth&&i.jsxs("div",{className:"space-y-2",children:[i.jsx(Fe,{htmlFor:"auth-token",children:"Authentication Token"}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(dr,{id:"auth-token",type:s?"text":"password",value:c.api.authToken,onChange:b=>l(w=>({...w,api:{...w.api,authToken:b.target.value}})),placeholder:"Enter your Bearer token"}),i.jsx(he,{variant:"outline",size:"icon",onClick:()=>a(!s),children:s?i.jsx(q.EyeOff,{className:"h-4 w-4"}):i.jsx(q.Eye,{className:"h-4 w-4"})})]})]})]})]}),i.jsxs(Cn,{children:[i.jsx(En,{className:"pb-3",children:i.jsxs(Nn,{className:"text-lg flex items-center gap-2",children:[i.jsx(q.Layout,{className:"h-5 w-5"}),"Interface Settings"]})}),i.jsxs(Tn,{className:"space-y-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Fe,{htmlFor:"layout",children:"Layout Style"}),i.jsxs(Hd,{value:c.ui.layout,onValueChange:b=>l(w=>({...w,ui:{...w.ui,layout:b}})),children:[i.jsx(cs,{children:i.jsx(zd,{})}),i.jsxs(ls,{children:[i.jsx(yt,{value:"sidebar",children:"Sidebar Layout"}),i.jsx(yt,{value:"fullscreen",children:"Fullscreen"}),i.jsx(yt,{value:"tabs",children:"Tabbed Interface"})]})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Fe,{htmlFor:"theme",children:"Theme"}),i.jsxs(Hd,{value:c.ui.theme,onValueChange:b=>l(w=>({...w,ui:{...w.ui,theme:b}})),children:[i.jsx(cs,{children:i.jsx(zd,{})}),i.jsxs(ls,{children:[i.jsx(yt,{value:"light",children:"Light"}),i.jsx(yt,{value:"dark",children:"Dark"}),i.jsx(yt,{value:"system",children:"System"})]})]})]}),i.jsx(qo,{}),i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Fe,{htmlFor:"show-timestamps",children:"Show Timestamps"}),i.jsx(it,{id:"show-timestamps",checked:c.ui.showTimestamps,onCheckedChange:b=>l(w=>({...w,ui:{...w.ui,showTimestamps:b}}))})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Fe,{htmlFor:"show-agent-names",children:"Show Agent Names"}),i.jsx(it,{id:"show-agent-names",checked:c.ui.showAgentNames,onCheckedChange:b=>l(w=>({...w,ui:{...w.ui,showAgentNames:b}}))})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Fe,{htmlFor:"compact-messages",children:"Compact Messages"}),i.jsx(it,{id:"compact-messages",checked:c.ui.compactMessages,onCheckedChange:b=>l(w=>({...w,ui:{...w.ui,compactMessages:b}}))})]})]})]})]}),i.jsxs(Cn,{children:[i.jsx(En,{className:"pb-3",children:i.jsxs(Nn,{className:"text-lg flex items-center gap-2",children:[i.jsx(q.MessageCircle,{className:"h-5 w-5"}),"Behavior Settings"]})}),i.jsxs(Tn,{className:"space-y-4",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx(Fe,{htmlFor:"auto-save",children:"Auto-save Conversations"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"Automatically save messages to threads"})]}),i.jsx(it,{id:"auto-save",checked:c.behavior.autoSave,onCheckedChange:b=>l(w=>({...w,behavior:{...w.behavior,autoSave:b}}))})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx(Fe,{htmlFor:"enable-streaming",children:"Enable Streaming"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"Stream responses in real-time"})]}),i.jsx(it,{id:"enable-streaming",checked:c.behavior.enableStreaming,onCheckedChange:b=>l(w=>({...w,behavior:{...w.behavior,enableStreaming:b}}))})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx(Fe,{htmlFor:"typing-indicator",children:"Typing Indicator"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"Show typing indicator during responses"})]}),i.jsx(it,{id:"typing-indicator",checked:c.behavior.showTypingIndicator,onCheckedChange:b=>l(w=>({...w,behavior:{...w.behavior,showTypingIndicator:b}}))})]})]})]})]}),i.jsxs("div",{className:"flex items-center justify-between pt-6 border-t",children:[i.jsxs(he,{variant:"outline",onClick:v,children:[i.jsx(q.RotateCcw,{className:"h-4 w-4 mr-2"}),"Reset"]}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(he,{variant:"outline",onClick:m,children:"Cancel"}),i.jsxs(he,{onClick:g,disabled:!f,children:[i.jsx(q.Save,{className:"h-4 w-4 mr-2"}),"Save Changes"]})]})]})]})]})}function Aw({layout:e="sidebar",layoutSize:t="desktop",showThreads:r=!0,className:n="",customStyles:o={},...s}){const a=f=>{const u="h-full";switch(f){case"phone":return`${u} max-w-none`;case"tablet":return`${u} max-w-4xl mx-auto`;case"half-screen":return`${u} max-w-2xl`;case"desktop":default:return`${u} max-w-7xl mx-auto`}},c=f=>({"--chat-sidebar-width":f==="phone"?"100%":f==="tablet"?"280px":f==="half-screen"?"240px":"320px","--chat-message-max-width":f==="phone"?"95%":f==="tablet"?"90%":f==="half-screen"?"85%":"80%","--chat-input-height":f==="phone"?"120px":"100px"}),l=A.useCallback(f=>{var u;(u=s.onThreadChange)==null||u.call(s,f)},[s.onThreadChange]);return e==="fullscreen"?i.jsx(Xt,{...s,onThreadChange:l,children:i.jsx("div",{className:`${a(t)} flex flex-col overflow-hidden ${n} ${o.container||""}`,style:c(t),children:i.jsx(lr,{className:"flex-1",onError:s.onError,enableFileUpload:!0})})}):e==="tabs"?i.jsx(Xt,{...s,onThreadChange:l,children:i.jsx("div",{className:`${a(t)} flex flex-col overflow-hidden ${n} ${o.container||""}`,style:c(t),children:i.jsxs("div",{className:"flex-1 flex min-h-0 overflow-hidden",children:[r&&i.jsx("div",{className:`w-80 border-r flex-shrink-0 overflow-hidden ${o.sidebar||""}`,children:i.jsx(un,{showCreateButton:!0,showDeleteButton:!0,showEditTitle:!0,className:"h-full"})}),i.jsx("div",{className:`flex-1 min-w-0 overflow-hidden ${o.chatArea||""}`,children:i.jsx(lr,{onError:s.onError,enableFileUpload:!0})})]})})}):i.jsx(Xt,{...s,onThreadChange:l,children:i.jsxs("div",{className:`${a(t)} flex overflow-hidden ${n} ${o.container||""}`,style:c(t),children:[r&&i.jsx("div",{className:`w-80 border-r bg-gray-50 flex-shrink-0 overflow-hidden ${o.sidebar||""}`,children:i.jsx(un,{showCreateButton:!0,showDeleteButton:!0,showEditTitle:!0,className:"h-full"})}),i.jsx("div",{className:`flex-1 min-w-0 overflow-hidden ${o.chatArea||""}`,children:i.jsx(lr,{onError:s.onError,enableFileUpload:!0})})]})})}ee.Api=Tr,ee.ApiClient=Tr,ee.ChatApi=Tr,ee.ChatInterface=lr,ee.ChatMainLayout=Uv,ee.ChatProvider=Xt,ee.ChatRoutingProvider=Cb,ee.ChatSettings=Tw,ee.MarkdownContent=Yt,ee.MessageComponent=Ca,ee.ThreadManager=un,ee.apiClient=Re,ee.applySettings=_b,ee.chatApiClient=Re,ee.default=Aw,ee.del=sa,ee.get=Me,ee.getChatToken=ra,ee.getCurrentSettings=Ib,ee.getDefaultApiConfig=qc,ee.getDefaultChatSettings=Xc,ee.onChatTokenChanged=na,ee.post=qt,ee.put=oa,ee.setChatToken=Vn,ee.useChat=Ar,ee.useChatRouting=Eb,ee.useChatStream=aa,ee.useMessagesReducer=ia,Object.defineProperties(ee,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});